Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

NEXT includes the following features:

  • Real-time monitoring of the wireless links.
  • Automatic network nodes discovery.
  • Event creation.

NOTE

The NEXT system is intended only for monitoring Infinet Wireless devices. Devices from other manufacturers are not supported.

Architecture

The NEXT monitoring system consists of several subsystems, each performing a specific function:

  • Polling subsystem - periodically polls the network nodes to obtain their parameters's values.
  • "SNMP Trap" processing subsystem - provides "SNMP Trap" reception, preliminary processing and transmission to the polling subsystem.
  • Event creation subsystem - monitors the change in the parameter values provided by the polling subsystem, and creates the events according to a certain set of rules.
  • Device discovery subsystem - performs automatic detection and addition of the network nodes.
  • Web GUI - graphical interface that allows the NEXT operating engineer to manage the monitoring system.
  • Storage subsystem - the database.

Polling subsystem 

The main NEXT subsystem periodically polling the network nodes and obtaining their parameters's values.

The subsystem is working constantly. It distributes all the necessary polling in order to perform the entire network polling during a 5 minutes interval, so NEXT prevents peak loads on the wireless network:

  • The time required for sequential polling of all the network nodes is determined based on the number of network nodes. If there are too many devices, a situation may occur when the time available to poll each node is less than the minimum required time. In this case, the network nodes will be grouped, and the survey will be conducted in parallel for all the network nodes of each group.
  • Checks if the network nodes are ready for the survey. The nodes that have the polling completed in a previous cycle will be polled first. The nodes with incomplete polling in the previous cycle will be polled last.
  • If there are network nodes for which the polling began in the previous cycle and did not complete during the current 5 minutes period, then these nodes will be queued for polling in the next cycle.
  • All the data received from the nodes during the polling are placed in the storage subsystem.

"SNMP Trap" processing subsystem 

Network node parameter values can also be obtained using the SNMP Trap notification mechanism. Usually, a node using this mechanism to notify NEXT about a change in parameter values that are critical for the operability of the device and/or wireless link, for example, connectivity loss between devices, etc.

While the polling subsystem is an active part in accessing network nodes, the SNMP Trap processing subsystem is a passive. It is always ready to receive Traps from network nodes. After receiving the notification, the subsystem proceeds to their unscheduled processing, it allows timely respond to changes, without waiting for the completion of the polling cycle.

Event subsystem 

The subsystem task is to create an event based on rules set by a NEXT administrator.

The event subsystem work starts after the information about changes in the network nodes parameters obtained through the polling subsystem or the "SNMP Trap" processing subsystem is placed in the storage subsystem. This subsystem verifies matching the conditions of the event formation rule to the relevant parameters. If the condition specified in any rule is met, an event is generated, and can be viewed in the web interface of the monitoring system.

Discovery subsystem 

The subsystem performs the automatic search and addition of network nodes. After a device was added manually, the discovery subsystem performs the following functions:

  • Detects a neighboring device of the added in the same MINT area with which connection is established, but has not yet been added to NEXT.
  • Generates a polling task for a neighboring network node using SNMP authentication data specified by the NEXT engineer for the added device.
  • The polling subsystem performs an unscheduled poll of a device neighboring to an already added. If the specified authentication data is suitable, then the neighboring device will be added automatically. If the data does not match, a new request will be generated to the polling subsystem with the authentication data that was specified for other devices previously added to NEXT. Requests will be repeated until any authentication data matches or runs out.
  • After adding the detected network node, a search for neighboring nodes will be also carried out. This process ends when the neighbors of all nodes previously added to the NEXT have been discovered and polled. The network nodes without authentication data matched will not be added, and attempts to add them will continue in the future.

An important subsystem feature is the search only within one MINT area. If there is several MINT areas on a wireless network, then at least one node from each area must be added to detect network nodes.

Notification subsystem

The subsystem is designed to send notifications to the monitoring system users.

Web GUI 

For the NEXT monitoring system management, a graphical web interface is used. Web GUI interacts with all subsystems.

Web GUI works properly with the following web browsers:

  • Chrome 81 and older, and its derivatives browsers;
  • Firefox 75 and older, and its derivatives browsers.

Recommended minimum screen resolution 1600×900.

Storage subsystem 

The subsystem provides data storage and quick access to them by the web GUI to NEXT engineers.

import asyncioimport pathlibimport sslimport websockets
async def hello(websocket, path):    name = await websocket.recv()    print(f"< {name}")
    greeting = f"Hello {name}!"
    await websocket.send(greeting)    print(f"> {greeting}")
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)path_cert = pathlib.Path(__file__).with_name("cert.pem")path_key = pathlib.Path(__file__).with_name("key.key")ssl_context.load_cert_chain(path_cert, keyfile = path_key)
start_server = websockets.serve(    hello, "localhost", 8765, ssl=ssl_context)
asyncio.get_event_loop().run_until_complete(start_server)asyncio.get_event_loop().run_forever()

  • No labels