Apparatus and method for unilateral topology discovery in network management
First Claim
Patent Images
1. 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.
6 Assignments
0 Petitions
Accused Products
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.
239 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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.
-
-
7. 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. - View Dependent Claims (8, 9)
constructing a subchannel packet with routing instructions therein to aid one or more transceivers in an out-of-band subchannel to guide said subchannel packet to the object specified in said management command (hereafter the target object); and
transmitting said subchannel packet to said target object using said transceivers in said subchannel using any subchannel communication protocol and a portion of the Fourier spectrum of the high speed data transfer on said network other than management data and commands which does not contain substantial Fourier components from said high speed data.
-
-
9. The process of claim 8 wherein said network is comprised of a heirarchy of levels of nodes starting from a headend node having downlink ports which may be coupled to one or more child nodes and each child node on each level of said heirarchy having an uplink port coupled to a single parent node and a plurality of downlink ports each of which may be coupled to a child node, and wherein said step of transmitting comprises:
-
at each child node, continuously monitoring its uplink port for subchannel packets;
when a subchannel packet arrives, using the routing instructions therein to transmit the packet out the appropriate downlink port to get it to the target object;
continuously monitoring said downlink port the subchannel packet was transmitted on to listen for any reply packet; and
when a reply packet is received, transmitting it out said uplink port.
-
-
10. 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. - View Dependent Claims (11, 12, 13, 14)
wherein at least some of said computer programs control said computer to build subchannel packets for at least some of said management commands, each subchannel packet including at least routing instructions and information identifying the desired management function, construction of said subchannel packet done by using the object ID in said management command to search a routing table and retrieve routing instructions which indicate how said subchannel packet should be routed through the current topology of said network to get the subchannel packet to the network object identified in said management command, and wherein said microprocessor is part of a hub or switch which is coupled to a plurality of nodes in said network, said nodes arranged in a heirarchy, each said hub, switch and node including at least one subchannel transceiver for receiving said subchannel packets and using said routing instructions to guide each subchannel packet to the correct node having the network object to which data is to be written or from which data is to be read from. -
12. The apparatus of claim 10
wherein at least some of said computer programs control said microprocessor to build subchannel packets for at least some of said management commands, each subchannel packet including at least information codifying the desired management function and the network object on which the management function is to be performed, and wherein said microprocessor is part of a hub or switch which is coupled to a plurality of nodes in said network each said hub, switch and node including a subchannel transceiver for every port coupled to another node in said network, each subchannel transceiver for receiving said subchannel packets and transmitting subchannel packets out an output port such that the subchannel packet ultimately reaches the network object to which data is to be written or from which data is to be read from. -
13. The apparatus of claim 12 wherein said at least some of said computer programs control said microprocessor to build each subchannel packet with a master hub or switch identification as a source address and an identification of the node having the target network object as a destination address.
-
14. The apparatus of claim 12 wherein each node includes a computer programmed to build reply packets for broadcast back to said master hub or switch, said reply packets including data read from said target network object and an identification of said master hub or switch as a destination address and an identification of said node containing said target network object as a source address, and wherein said computer is programmed to input said reply packet to a subchannel transmitter coupled at least to a port coupled to another node and broadcast said reply packet, where said master hub or switch are included within the definition of another node.
-
-
15. 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.
-
-
16. 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.
-
-
17. 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. - View Dependent Claims (18, 19)
-
Specification