Apparatus and method for unilateral topology discovery in network management
OwnerKim K. Banker, Christopher Alan Del Signore +1inventors
InventorsKim K. Banker, Christopher Alan Del Signore, Gavin Bowlby
Life of this patent
Estimating the term…
Abstract
A system for reducing the cost of network managment by using a proxy agent and subchannel communications so fewer SNMP licenses and fewer protocol stacks are needed. Subchannel communication is achieved in a plurality of different embodiments. Embodiments having single subchannel transceivers, multiple transceivers, single multiplexer and multiple multiplexers are disclosed. An NMS process using routing table CRC to automatically detect when the NMS topology information is incorrect and automated topology discovery is disclosed. A process for automated discovery of redundant cables during automated topology discovery is disclosed.
Claims19
An apparatus comprising:
- a data network comprised of one or more hubs coupled to one or more nodes by a data transmission media, said data network functioning to transmit payload data between said one or more nodes and said one or more hubs, said one or more hubs and nodes containing network objects to be managed;
- a computer programmed to carry out a network management process which functions to receive requests for network management type data to be obtained from one or more of said network objects and requests to write management type data to one or more of said network objects, said requests being received via any type of user interface from a network manager, said computer, under control of said network management process, functioning to convert said requests into management packets which identify each network object from which data is to be obtained and identify each network object to which data is to be written and gives the data to be written therein, said management packet further including data identifying the hub or slave which contains the network object to be operated upon;
- a master hub coupled to said media of said data network and to said network management process via any interprocess data transport mechanism, said master hub having a computer programmed to carry out a protocol conversion process functioning to convert management packets received from said management process into subchannel packets suitable for transmission to the identified network object using any out-of-band subchannel communication protocol so as to carry out the desired operation, said master hub further comprising a subchannel transceiver coupled to receive said subchannel packets from said protocol conversion process and to send reply data from network objects thereto;
- and
- in each of said one or more hubs and one or more nodes of said network, one or more subchannel transceivers and a programmable computer programmed to carry out said subchannel communication protocol, said subchannel transceiver in every hub and node coupled by said media of said data network to said subchannel transceiver in said master hub, said subchannel transceivers in said master hub and in said one or more hubs and nodes functioning to carry out said subchannel communication protocol so as to transmit said subchannel packets from said protocol conversion process to the network objects identified in said subchannel packets using said media of said data network used to transmit non-management data, and, specifically, using a subchannel portion of the Fourier spectrum of said payload data.
A process of managing objects in a data transmission network which functions to use data transmission media of to carry payload data between a master hub and slave hubs or nodes on said network, comprising:
- displaying the network objects available for management to a network manager;
- receiving requests for data from network objects specified by said network manager and commands to write data to network objects specified by said network manager and converting said requests and commands into management packets that identify the desired operation to be performed on one or more specified network objects;
- using any data transport mechanism to transfer said management packets to a protocol conversion process executing in a master hub or on a computer coupled to said master hub;
- in said protocol conversion process, using the data in said management object specifying the desired operation to be performed on a specified object in a specified slave hub or node or in said master hub as a search key to search a mapping table to look up a function call stored in said mapping table, said function call linked to a computer program capable of carrying out the specified operation on the specified network object in the specified master hub or the specified slave hub or node using whatever out-of-band subchannel communication protocol is in use, and using said function call to invoke said linked computer program;
- executing the invoked computer program to carry out any necessary operations to get data from the specified object or write data to the specified object using any subchannel protocol, including, if necessary, using information in each said management packet to build a corresponding subchannel packet having a structure suitable to whatever subchannel communication protocol is in use, and transmitting out-of-band each said subchannel packet to the designated slave hub or node having the designated network object therein over said transmission media of said network using a subchannel portion of the Fourier spectrum of said payload data signals using any subchannel communication protocol to communicate data to said network object or retrieve data therefrom.
A process comprising:
- receiving a management command identifying an object in a network to perform a management task with;
- using the object identification as a search key to search a mapping table to look up a function call of an application programmatic interface to a library of computer programs each of which is capable of doing all processing necessary to carry out the management task of said management command on the network object identified in said management command;
- making the function call found in said search so as to invoke into execution the computer program associates with said function call;
- executing said program and performing all necessary operations to carry out the management task such as getting data from the specified network object or writing data into said object identified in said mangement request.
An apparatus comprising:
- a microprocessor programmed with a proxy agent program which controls said computer to receive one or more management commands, each said command giving an object ID for an object in a network from which data is to be read or to which data is to be written as a management function or part thereof, and for controlling said microprocessor to use said object ID as a search key to search a mapping table to look up a function call of an application programmatic interface to a library of computer programs each of which is invoked by one of said function calls is capable of doing all processing necessary to carry out the management task requested in said management command on a network object identified in a management command, said search resulting in identification of the appropriate program in said library which is capable of carrying out the desired management operation on the network object identified in said management command, said proxy agent program controlling said microprocessor to make said function call to invoke the program associated therewith into execution;
- one or more computer programs in said library each said program for controlling said microprocessor to carry out the management function identified in a management command on a network object identified in said management command.
A process comprising:
- receiving a management command at a proxy agent computer, said management command transmitted to said proxy agent via any data transport mechanism and identifying an object in a network comprised of a plurality of nodes to perform a management task with, and identifying the management task to be performed;
- using a computer and a routing table storing data defining the current heirarchical topology of said network to construct a subchannel packet having at least information codifying the desired management task to be performed and at least a destination address or object ID identifying the network object upon which said management task is to be performed and including routing instructions which can be used to route said subchannel packet through said heirarchical network to the appropriate network object to be managed;
- using a plurality of subchannel transceivers and a subchannel communication protocol in said nodes to create a wormhole through said heirarchical network topology for each subchannel packet to transmit each said subchannel packet to the network object to be managed and to receive back any data collected from said network object using the same media upon which DC balanced high speed data is transmitted on said network and a subchannel portion of the Fourier spectrum of said DC balanced high speed data.
An apparatus comprising:
- a data network comprised of one or more hubs coupled to one or more nodes by a data transmission media, said data network functioning to transmit payload data between said one or more nodes and said one or more hubs, said one or more hubs and nodes containing network objects to be managed;
- a computer programmed to carry out a network management process which functions to receive requests for network management type data to be obtained from one or more of said network objects and requests to write management type data to one or more of said network objects, said requests being received via any type of user interface from a network manager, said computer, under control of said network management process, functioning to convert said requests into management packets which identify each network object from which data is to be obtained and identify each network object to which data is to be written and gives the data to be written therein, said management packet further including data identifying the hub or slave which contains the network object to be operated upon;
- a master hub coupled to said media of said data network and to said network management process via any interprocess data transport mechanism, said master hub having a computer programmed to carry out a protocol conversion process functioning to convert management packets received from said management process into subchannel packets suitable for transmission to the identified network object using any out-of-band subchannel communication protocol so as to carry out the desired operation;
- and
- in each of said one or more hubs including said master hub and one or more nodes of said network, one or more subchannel transceivers, each said subchannel transceiver having a transmitter having an output coupled to a transmit multiplexer and a receiver coupled to a receive multiplexer, each of said one or more hubs, master hub and one or more nodes further comprising a programmable computer programmed to control said subchannel transceivers and said transmit multiplexers and said receive multiplexers so as to carry out said subchannel communication protocol, said subchannel transceiver in every hub and node coupled by said media of said data network to said subchannel transceiver in said master hub, said subchannel transceivers and said transmit multiplexer and receiver multiplexer in said master hub and in said one or more hubs and nodes cooperating to carry out said subchannel communication protocol so as to transmit said subchannel packets from said protocol conversion process to the network objects identified in said subchannel packets using said media of said data network;used to transmit non-management data, and, specifically, using a subchannel portion of the Fourier spectrum of said payload data.
A process for automatic topology discovery in a heirarchical network comprised of a master node and one or more slave nodes organized as a plurality of levels, said master node having one or more downlink ports coupled to one or more slave nodes, each of said slave nodes having one uplink port coupled to a parent node which may be a slave node or said master node and one or more downlink ports which may or may not be coupled to a child slave node, comprising:
- from time to time, performing the step of repetitively transmitting from said master node hello messages which include data giving the identification number of said master node from said one or more downlink ports of said master node;
- in each slave node which received a hello packet, recording the port number on which the hello packet arrived as the uplink port for that slave node and transmitting a confirmation message out its uplink port giving the identification number of the child slave-node which sent said confirmation message and the uplink port number of the child slave node sending said confirmation message and beginning repetively transmitting hello packets or messages out each other port other than its uplink port, each hello packet or message giving the identification number of the slave node which transmitted it;
- in each slave node which has discovered its uplink port, monitoring said uplink port for messages from the slave's parent node;
- in each slave node which has received a confirmation message from a child slave node, recording the identification number of said child slave node and its uplink port number;
- polling each slave node to determine if it has received a confirmation message indicating that it has discovered a child slave node, and, if so, requesting said slave node to transmit at least the identification of said child slave node and, preferably, that child slave node's uplink port number;
- each slave node which has received a confirmation message stores the downlink port number upon which the confirmation message was received and either replies to a polling query packet received from the master node by sending a message out its uplink port containing its ID number and its uplink port number and the downlink port number or port numbers connected to child slave node to the master node or transmitting a message to the master node in response to the query packet providing its uplink port number and its identification number and storing the downlink port number or numbers connected to child slave nodes in memory locations that the master node can read;
- determining the down link port numbers of each slave node coupled to child slave nodes, and generating polling query packets in said master node for each newly discovered child slave node using said downlink port numbers of the slave nodes in the heirarchy to build routing instructions in each query packet and sending said query packet to each newly discovered child slave node whereupon the child slave node replies with its own confirmation messages and carries out its own topology discovery process to discover any child slave nodes it is connected to and repeating the steps of querying each newly discovered child slave node until no new child slave nodes are discovered such that the entire topology of said network is discovered, and building a routing table from the information sent to said master node during said topology discovery process.
Dependencies are inferred from the claim text.