US20030055929A1 - Decentralized management architecture for a modular communication system - Google Patents
Decentralized management architecture for a modular communication system Download PDFInfo
- Publication number
- US20030055929A1 US20030055929A1 US09/343,299 US34329999A US2003055929A1 US 20030055929 A1 US20030055929 A1 US 20030055929A1 US 34329999 A US34329999 A US 34329999A US 2003055929 A1 US2003055929 A1 US 2003055929A1
- Authority
- US
- United States
- Prior art keywords
- module
- request
- protocol
- message
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
Definitions
- the present invention relates generally to communication systems, and more particularly to network management in a distributed communication environment.
- the communication network typically includes a plurality of communication links that are interconnected through a number of intermediate devices, such as bridges, routers, or switches. Information sent by a source device to a destination device traverses one or more communication links.
- the various communication devices in the communication network utilize various communication protocols in order to transport the information from the source device to the destination device.
- the communication protocols are typically implemented in layers, which together form a protocol stack. Each protocol layer provides a specific set of services to the protocol layer immediately above it in the protocol stack. Although there are different protocol layering schemes in use today, the different protocol layering schemes have certain common attributes. Specifically, protocols at the lowest layer in the protocol stack, which are typically referred to as the “layer 1” or “physical layer” protocols, define the physical and electrical characteristics for transporting the information from one communication device to another communication device across a single communication link.
- Protocols at the next layer in the protocol stack which are typically referred to as the “layer 2” or “Medium Access Control (MAC) layer” protocols, define the protocol message formats for transporting the information across the single communication link by the physical layer protocols.
- Protocols at the next layer in the protocol stack which are typically referred to as the “layer 3” or “network layer” protocols, define the protocol message formats for transporting the information end-to-end from the source device to the destination device across multiple communication links. Higher layer protocols ultimately utilize the services provided by the network protocols for transferring information across the communication network.
- the communication device is assigned various addresses that are used by the different protocol layers in the protocol stack. Specifically, each communication device that participates in a MAC layer protocol is assigned a MAC layer address that is used to identify the particular communication device to other communication devices participating in the MAC layer protocol. Furthermore, each communication device that participates in a network layer protocol is assigned a network layer address that is used to identify the particular communication device to other communication devices participating in the network layer protocol. Other addresses may be used at the higher layers of the protocol stack, for example, for directing the information to a particular application within the destination device.
- the source device first encapsulates the message into a network layer protocol message (referred to as a “packet” or “datagram” in various network layer protocols).
- the network layer protocol message typically includes a source network layer address equal to the network layer address of the source device and a destination network layer address equal to the network layer address of the destination device.
- the source device then encapsulates the network layer protocol message into a MAC layer protocol message (referred to as a “frame” in various MAC layer protocols).
- the MAC layer protocol message typically includes a source MAC layer address equal to the MAC layer address of the source device and a destination MAC layer address equal to the MAC layer address the destination device.
- the source device then sends the MAC layer protocol message over the communication link according to a particular physical layer protocol.
- an intermediate device receives the MAC layer protocol message from the source device over one communication link and forwards the MAC layer protocol message to the destination device on another communication link based upon the destination MAC layer address.
- Such an intermediate device is often referred to as a “MAC layer switch.”
- each intermediate device In order to forward protocol messages across multiple communication links, each intermediate device typically maintains an address database including a number of address entries, where each address entry includes filtering and forwarding information associated with a particular address.
- a typical address entry maps an address to a corresponding network interface.
- Such address entries are typically used for forwarding protocol messages by the intermediate device, specifically based upon a destination address in each protocol message. For example, upon receiving a protocol message over a particular incoming network interface and including a particular destination address, the intermediate device finds an address entry for the destination address, and processes the protocol message based upon the filtering and forwarding information in the address entry. The intermediate device may, for example, “drop” the protocol message or forward the protocol message onto an outgoing network interface designated in the address entry.
- intermediate devices are utilized in a wide range of applications, some intermediate devices utilize a modular design that enables a number of modules to be interconnected in a stack configuration such that the number of interconnected modules interoperate in a cooperating mode of operation to form a single virtual device.
- Each module is capable of operating independently as a stand-alone device or in a stand-alone mode of operation, and therefore each module is a complete system unto itself.
- Each module typically supports a number of directly connected communication devices through a number of network interfaces.
- the modular design approach enables the intermediate device to be scalable, such that modules can be added and removed to fit the requirements of a particular application.
- each module When a number of modules are interconnected in a cooperating mode of operation, it is desirable for the number of interconnected modules to operate and be managed as an integrated unit rather than individually as separate modules. Because each module is capable of operating independently, each module includes all of the components that are necessary for the module to operate autonomously. Thus, each module typically includes a number of interface ports for communicating with the directly connected communication devices, as well as sufficient processing and memory resources for supporting the directly connected communication devices. Each module typically also includes a full protocol stack and network management software that enable the module to be configured and controlled through, for example, a console user interface, a Simple Network Management protocol (SNMP) interface, or world wide web interface.
- SNMP Simple Network Management protocol
- a centralized management approach In order to operate and manage the interconnected modules as an integrated unit, a centralized management approach is often employed. Specifically, a centralized manager coordinates the operation and management of the various interconnected modules.
- the centralized manager may be, for example, a docking station, a dedicated management module, or even one of the cooperating modules (which is often referred to as a “base module” for the stack).
- Such a centralized management approach has a number of disadvantages.
- a dedicated management module or docking station increases the cost of the stack, and represents a single point of failure for the stack. Adding one or more redundant dedicated management modules to the stack only increases the cost of the stack even further.
- a base module represents a single point of failure for the stack.
- the base module is responsible for all management operations and databases for the entire stack, the base module requires additional memory resources (and possibly other resources) to coordinate management and control for the number of interconnected modules in the stack, which increases the cost of the base module. Adding one or more redundant base modules to the stack only increases the cost of the stack even further.
- the centralized management approach requires the centralized manager to collect information from all of the modules, and therefore requires a substantial amount of communication between the centralized manager and the (other) interconnected modules in the stack.
- a distributed management model enables a plurality of interconnected modules to be managed and controlled as an integrated unit without requiring any one of the interconnected modules to operate as a fully centralized manager.
- One of the interconnected modules is configured to operate as a base module, which coordinates certain network management operations among the interconnected modules.
- Each of the interconnected modules is capable of sending and receiving management and control information.
- Each of the interconnected modules maintains essentially the same set of parameters whether operating as the base module, as a cooperating module, or in a stand-alone mode.
- network management parameters that are specific to a particular module are maintained in a “segmented” management database, while network management parameters that are system-wide aggregates are maintained in a “shadowed” management database.
- Management and control operations that do not require synchronization or mutual exclusion among the various interconnected modules are typically handled by the module that receives a management/control request.
- Management and control operations that require synchronization or mutual exclusion among the various interconnected modules are handled by the base module.
- the distributed management approach of the present invention has a number of advantages over a centralized management approach.
- Each module is capable of acting as a base module, and therefore the base module does not represent a single point of failure for the stack.
- each module maintains essentially the same parameters whether operating as the base module, a cooperating module, or in a stand-alone mode, and therefore no additional memory resources are required for a module to operate as the base module.
- the module-specific parameters are not maintained across all of the interconnected modules, the amount of inter-module communication is substantially reduced.
- FIG. 1 is a block diagram showing an exemplary stack configuration including a number of interconnected Ethernet switching modules in accordance with a preferred embodiment of the present invention
- FIG. 2 is a block diagram showing some of the relevant logic blocks of the management/control logic in accordance with a preferred embodiment of the present invention
- FIG. 3 is a logic flow diagram showing exemplary logic for processing an IP datagram that is received from the network in accordance with a preferred embodiment of the present invention
- FIG. 4A is a logic flow diagram showing exemplary logic for maintaining an aggregated network management object based upon module-specific information in accordance with a preferred embodiment of the present invention
- FIG. 4B is a logic flow diagram showing exemplary logic for maintaining an aggregated network management object based upon information received from a cooperating Ethernet switching module in accordance with a preferred embodiment of the present invention
- FIG. 5 is a logic flow diagram showing exemplary logic for processing a “get” request in accordance with a preferred embodiment of the present invention
- FIG. 6 is a logic flow diagram showing exemplary logic for generating “trap” messages in accordance with a preferred embodiment of the present invention
- FIG. 7A is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol response message received from the network, in accordance with a preferred embodiment of the present invention
- FIG. 7B is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol request message received from the network, in accordance with a preferred embodiment of the present invention
- FIG. 7C is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol message received from a cooperating Ethernet switching module, in accordance with a preferred embodiment of the present invention.
- FIG. 8 is a logic flow diagram showing exemplary logic for reconfiguring the stack following a failure of the designated base module in accordance with a preferred embodiment of the present invention.
- each of the cooperating modules runs a full TCP/IP protocol stack and uses a common IP address, so that each of the cooperating modules is capable of sending and receiving management and control information on behalf of the stack.
- Each of the cooperating modules maintains a segmented management database containing network management parameters that are specific to the particular module (module-specific parameters), and also maintains a shadowed management database containing network management parameters that are common to all cooperating modules in the stack (stack-wide parameters).
- Management and control operations that do not require synchronization or mutual exclusion among the various cooperating modules are typically handled by the module that receives a management/control request, although management and control operations that require synchronization or mutual exclusion among the various cooperating modules are handled by a base module in the stack.
- the management techniques of the present invention are used to coordinate management and control in a modular Ethernet switching system including a number of interconnected Ethernet switching modules.
- each Ethernet switching module is a particular device that is known as the BayStackTM 450 stackable Ethernet switch.
- the preferred Ethernet switching module can be configured to operate as an independent stand-alone device, or alternatively up to eight (8) Ethernet switching modules can be interconnected in a stack configuration, preferably by interconnecting the up to eight (8) Ethernet switching modules through a dual ring bus having a bandwidth of 2.5 gigabits per second.
- a particular Ethernet switching module can be configured to operate in either a stand-alone mode, in which the particular Ethernet switching module performs Ethernet switching independently of the other Ethernet switching modules in the stack, or a cooperating mode, in which the particular Ethernet switching module performs Ethernet switching in conjunction with other cooperating Ethernet switching modules.
- a particular Ethernet switching module in the stack can be dynamically reconfigured between the stand-alone mode and the cooperating mode without performing a system reset or power cycle of the particular Ethernet switching module, and Ethernet switching modules can be dynamically added to the stack and removed from the stack without performing a system reset or power cycle of the other Ethernet switching modules in the stack.
- FIG. 1 shows an exemplary stack configuration 100 including a number Ethernet switching modules 1 through N that are interconnected through a dual ring bus 140 .
- each Ethernet switching module ( 110 , 120 , 130 ) supports a number of physical Ethernet ports ( 113 , 114 , 123 , 124 , 133 , 134 ).
- Each physical Ethernet port is attached to an Ethernet Local Area Network (LAN) on which there are a number of directly connected communication devices (not shown in FIG. 1).
- LAN Ethernet Local Area Network
- each directly connected communication device is associated with a particular physical Ethernet port on a particular Ethernet switching module.
- Each Ethernet switching module ( 110 , 120 , 130 ) also maintains an address database ( 111 , 121 , 131 ).
- the address database is an address table supporting up to 32K address entries. The address entries are indexed using a hashing function.
- the address database for a cooperating Ethernet switching module typically includes both locally owned address entries and remotely owned address entries.
- Each Ethernet switching module ( 110 , 120 , 130 ) also includes switching logic ( 112 , 122 , 132 ) for processing Ethernet frames that are received over its associated physical Ethernet ports ( 113 , 114 , 123 , 124 , 133 , 134 ) or from a cooperating Ethernet switching module.
- the switching logic ( 112 , 122 , 132 ) performs filtering and forwarding of Ethernet frames based upon, among other things, the destination address in each Ethernet frame and the address entries in the address database ( 111 , 121 , 131 ).
- the switching logic ( 112 , 122 , 132 ) When the switching logic ( 112 , 122 , 132 ) receives an Ethernet frame over one of its associated Ethernet ports ( 113 , 114 , 123 , 124 , 133 , 134 ), the switching logic ( 112 , 122 , 132 ) searches for an address entry in the address database ( 111 , 121 , 131 ) that maps the destination address in the Ethernet frame to one of the associated Ethernet ports or to one of the cooperating Ethernet switching modules. If the destination address is on the same Ethernet port ( 113 , 114 , 123 , 124 , 133 , 134 ) over which the Ethernet frame was received, then the switching logic ( 112 , 122 , 132 ) “drops” the Ethernet frame.
- the switching logic ( 112 , 122 , 132 ) forwards the Ethernet frame to that Ethernet port ( 113 , 114 , 123 , 124 , 133 , 134 ). If the destination address is on one of the cooperating Ethernet switching modules ( 110 , 120 , 130 ), then the switching logic ( 112 , 122 , 132 ) forwards the Ethernet frame to that cooperating Ethernet switching module ( 110 , 120 , 130 ).
- the switching logic ( 112 , 122 , 132 ) If the switching logic ( 112 , 122 , 132 ) does not find an address entry in the address database ( 111 , 121 , 131 ) for the destination address, then the switching logic ( 112 , 122 , 132 ) forwards the Ethernet frame to all associated Ethernet ports ( 113 , 114 , 123 , 124 , 133 , 134 ) except for the Ethernet port over which the Ethernet frame was received and to all cooperating Ethernet switching modules ( 110 , 120 , 130 ).
- each Ethernet switching module ( 110 , 120 , 130 ) can be configured to operate as an independent stand-alone device or in a stand-alone mode within the stack
- each Ethernet switching module ( 110 , 120 , 130 ) includes management/control logic ( 115 , 125 , 135 ) that enables the Ethernet switching module ( 110 , 120 , 130 ) to be individually managed and controlled, for example, through a console user interface, a Simple Network Management protocol (SNMP) session, or a world wide web session.
- the preferred management/control logic ( 115 , 125 , 135 ) includes, among other things, a Transmission Control Protocol/Internet Protocol (TCP/IP) stack, an SNMP agent, and a web engine.
- TCP/IP Transmission Control Protocol/Internet Protocol
- each Ethernet switching module ( 110 , 120 , 130 ) is assigned MAC and IP addresses, allowing each Ethernet switching module ( 110 , 120 , 130 ) to send and receive management and control information independently of the other Ethernet switching modules ( 110 , 120 , 130 ).
- the management/control logic ( 115 , 125 , 135 ) maintains a number of management databases ( 116 , 126 , 136 ) for storing configuration and operational information.
- the management/control logic ( 116 , 126 , 136 ) maintains a management database containing network management objects and parameters that are related to a particular port or interface, and maintains another management database containing network management objects and parameters that are system-wide in scope.
- the management database containing network management objects and parameters that are system-wide in scope is referred to as the “shadowed” management database, and the management database containing network management objects and parameters that are related to a particular port or interface is referred to as the “segmented” management database.
- the management databases ( 116 , 126 , 136 ) are described in more detail below.
- the management/control logic ( 115 , 125 , 135 ) interfaces with the other components of the Ethernet switching module ( 110 , 120 , 130 ) in order to manage and control the operations of the Ethernet switching module ( 110 , 120 , 130 ). Specifically, the management/control logic ( 115 , 125 , 135 ) interfaces to the address database ( 111 , 121 , 131 ), the switching logic ( 112 , 122 , 132 ), the physical Ethernet ports ( 113 , 114 , 123 , 124 , 133 , 134 ), and other components of the Ethernet switching module (not shown in FIG.
- the management/control logic ( 115 , 125 , 135 ) provides an Inter-Module Communication (IMC) service.
- IMC Inter-Module Communication
- the IMC service supports both reliable (acknowledged) and unreliable transfers over the dual-ring bus 140 .
- IMC information can be directed to a particular Ethernet switching module (i.e., unicast) or to all Ethernet switching modules (i.e., broadcast).
- a distributed management model is utilized to enable the cooperating Ethernet switching modules ( 110 , 120 , 130 ) to be managed and controlled as an integrated unit without requiring any one of the cooperating Ethernet switching modules to operate as a fully centralized manager for the stack.
- each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack and uses a common IP address, so that each of the cooperating Ethernet switching modules is capable of sending and receiving management and control information on behalf of the stack.
- Each of the cooperating Ethernet switching modules maintains a segmented management database containing network management parameters that are specific to the particular Ethernet switching module (module-specific parameters), and also maintains a shadowed management database containing network management parameters that are common to all cooperating Ethernet switching modules in the stack (stack-wide parameters).
- Management and control operations that do not require synchronization or mutual exclusion among the various cooperating Ethernet switching modules are typically handled by the Ethernet switching module that receives a management/control request, although management and control operations that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules are handled by a base module in the stack.
- one of the cooperating Ethernet switching modules operates as the base module for the stack.
- a particular Ethernet switching module is configured as the base module through a user controlled toggle switch on the Ethernet switching module. If that Ethernet switching module fails, then another Ethernet switching module (preferably the next upstream Ethernet switching module in the stack) automatically reconfigures itself to become the base module for the stack.
- the base module is responsible for coordinating management and control for the stack. Specifically, the base module manages the stack configuration by ensuring that the stack is initialized in an orderly manner, handling stack configuration changes such as module insertion and removal, and verifying stack integrity. The base module also coordinates certain stack management functions that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules in the stack.
- each of the cooperating Ethernet switching modules in the stack runs a full TCP/IP protocol stack.
- each of the cooperating Ethernet switching modules uses the MAC and IP addresses of the base module.
- Each Ethernet switching module is allocated a block of thirty-two (32) MAC addresses.
- One of the thirty-two (32) MAC addresses is reserved for use when the module operates as the base module, while the remaining MAC addresses are used for stand-alone operation.
- the common IP address enables each of the cooperating Ethernet switching modules to operate as a management interface for the stack.
- each of the cooperating Ethernet switching modules maintains a segmented management database containing module-specific parameters and a shadowed management database containing stack-wide parameters.
- the preferred Ethernet switching module supports various standard and private Management Information Base (MIB) objects and parameters.
- MIB objects include those MIB objects defined in ETF RFCs 1213, 1493, 1757, and 1643.
- Private MIB objects include those MIB objects defined in the BayS5ChasMIB, BayS5AgentMIB, and Rapid City VLAN MIB.
- Certain MIB objects and parameters are related to a particular port or interface, and are maintained in the segmented management database by the Ethernet switching module that supports the particular port or interface.
- MIB objects and parameters have stack-wide significance, and are maintained in the shadowed management database by each of the cooperating Ethernet switching modules.
- network management information maintained by a cooperating Ethernet switching module is equivalent to the network management information that the Ethernet switching module would maintain when operating as a stand-alone device or in a stand-alone mode of operation, and therefore no additional memory resources are required for the Ethernet switching module to operate in the cooperating mode using the distributed management model of the present invention.
- management and control operations require special handling. Briefly, certain management and control operations can be handled by the receiving Ethernet switching module alone. Other management and control operations can be handled by the receiving Ethernet switching module, but require some amount of inter-module communication or coordination. Still other management and control operations (such as those that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules) are handled by the base module, and therefore the receiving Ethernet switching module redirects such management and control operations to the base module. Specific cases are described in detail below.
- a first case involves the management of stack-wide parameters. Because each of the cooperating Ethernet switching modules maintains a shadowed management database containing the stack-wide parameters, it is necessary for the various shadowed management databases to be synchronized such that they contain consistent information. Certain network management parameters (such as the sysDesc MIB object) do not change, and are simply replicated in each of the shadowed management databases. Other network management parameters (such as certain MIB objects in the MIB II IP table) are calculated based upon information from each of the cooperating Ethernet switching modules. In order for such aggregated stack-wide parameters to be calculated and synchronized across the various cooperating Ethernet switching modules, each of the cooperating Ethernet switching modules periodically distributes its portion of information to each of the other cooperating Ethernet switching modules. Each of the cooperating Ethernet switching modules then independently calculates the aggregated network management parameters based upon the information from each of the cooperating Ethernet switching modules.
- a second case involves the processing of a “get” request (i.e., a request to read a network management parameter) that is received by a particular Ethernet switching module from the console user interface or from an SNMP or web session. Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, the “get” request can be received by any of the cooperating Ethernet switching modules. If the requested network management object is either a stack-wide parameter or a module-specific parameter that is maintained by the receiving Ethernet switching module, then the receiving Ethernet switching module retrieves the requested network management object from its locally maintained shadowed management database or segmented management database, respectively. Otherwise, the receiving Ethernet switching module retrieves the requested network management object from the appropriate cooperating Ethernet switching module.
- a “get” request i.e., a request to read a network management parameter
- a Remote Procedure Call (RPC) service is used by the receiving Ethernet switching module to retrieve the requested network management object from the cooperating Ethernet switching module.
- the RPC service utilizes acknowledged IMC services for reliability.
- the receiving Ethernet switching module makes an RPC service call in order to retrieve one or more network management objects from the cooperating Ethernet switching module.
- the RPC service uses IMC services to send a request to the cooperating Ethernet switching module, and suspends the calling application in the receiving Ethernet switching module (by making the appropriate operating system call) until the response is received from the cooperating Ethernet switching module.
- the receiving Ethernet switching module may retrieve multiple network management objects during each RPC service call, in which case the receiving Ethernet switching module caches the multiple network management objects. This allows the receiving Ethernet switching module to handle subsequent “get-next” requests (i.e., a request for a next network management object in a series network management objects) without requiring the receiving Ethernet switching module to make additional RPC service calls to retrieve those network management objects from the cooperating Ethernet switching module.
- a special case of “get” request processing involves the reporting of address-to-port-number mappings for the stack.
- each of the cooperating Ethernet switching modules maintains an address database ( 111 , 121 , 131 ).
- the related patent application entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS MANAGEMENT IN A DISTRIBUTED COMMUNICATION ENVIRONMENT which was incorporated by reference above, describes a technique for synchronizing the address databases ( 111 , 121 , 131 ).
- each address database includes a number of locally-owned address entries that map locally-owned addresses to their corresponding Ethernet ports and a number of remotely-owned address entries that map remotely-owned addresses to their corresponding Ethernet switching module.
- the Ethernet switching module retrieves and sorts address-to-port-number mappings from each of the cooperating Ethernet switching modules (including the reporting Ethernet switching module itself), preferably using address reporting techniques described in the related patent application entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS REPORTING IN A DISTRIBUTED COMMUNICATION ENVIRONMENT, which was incorporated by reference above.
- a third case involves the sending of “trap” messages (i.e., messages intended to alert the network manager regarding particular network management events). Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, each of the cooperating Ethernet switching modules is capable of generating “trap” messages. However, in order to coordinate the generation of “trap” messages across the various cooperating Ethernet switching modules and prevent the network manager from receiving multiple “trap” messages for the same network management event (or even conflicting “trap” messages regarding the same network management event), all trap processing is performed by the base module. Specifically, the base module monitors a predetermined set of network management parameters and compares the predetermined set of network management parameters to a predetermined set of trap criteria. When the base module determines that a “trappable” network management event has occurred, the base module generates the “trap” message on behalf of all of the cooperating Ethernet switching modules in the stack.
- a fourth case involves the processing of a “set” request (i.e., a request to write a network management parameter) that is received by a particular Ethernet switching module from the console user interface or from an SNMP or web session. Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, the “set” request can be received by any of the cooperating Ethernet switching modules. Because “set” requests often require synchronization or mutual exclusion among the various cooperating Ethernet switching modules, a preferred embodiment of the present invention funnels all “set” requests through the base module. Therefore, if the receiving Ethernet switching module is not the base module, then the receiving Ethernet switching module forwards the “set” request to the base module.
- a “set” request i.e., a request to write a network management parameter
- each module includes a Global Data Synchronization (GDS) application.
- GDS Global Data Synchronization
- the GDS application uses the local management databases together with a predetermined set of rules in order to determine whether or not the particular “set” operation dictated by the “set” request can be executed.
- the GDS application screens for any conflicts that would result from executing the “set” operation, such as an inconsistency among multiple interrelated parameters or a conflict with prior network management configuration.
- the receiving Ethernet switching module forwards the “set” request to either the local GDS application or to the GDS application in the base module based upon the source of the “set” request. If the “set” request was received from the console user interface, then the receiving Ethernet switching module forwards the “set” request to the local GDS application, which verifies the “set” request and forwards the “set” request to the base module if the “set” operation can be executed. Otherwise, the receiving Ethernet switching module forwards the “set” request to the GDS application in the base module. When the “set” operation is completed, then the cooperating Ethernet switching modules are notified of any required database updates and/or configuration changes via an acknowledged broadcast IMC message. Each of the cooperating Ethernet switching modules (including the base module) updates its management databases accordingly. Any “set” operation that involves configuration of or interaction with a particular hardware element is carried out by the Ethernet switching module that supports the particular hardware element.
- a fifth case involves the use of Address Resolution Protocol (ARP).
- ARP is a well-known protocol that is used to obtain the MAC address for a device based upon the IP address of the device.
- Each of the cooperating Ethernet switching modules maintains an ARP cache (not shown in the figures) that maps a set of IP addresses to their corresponding MAC addresses.
- a particular Ethernet switching module broadcasts an ARP request over all Ethernet ports in the stack.
- the ARP request includes, among other things, the MAC and IP addresses of the stack as well as the IP address of the destination device.
- the ARP response which includes the MAC address of the destination device, may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules.
- the receiving Ethernet switching module distributes the received ARP response to all of the cooperating Ethernet switching modules in the stack. This ensures that the ARP response is received by the Ethernet switching module that initiated the ARP request.
- Each of the cooperating Ethernet switching modules updates its ARP cache based upon the MAC-IP address binding in the ARP response.
- the base module also broadcasts an ARP request when the base module configures the stack, for example, during initial stack configuration or when the stack is reconfigured following a failure of the designated base module (referred to hereinafter as a “fail-over” and described in detail below).
- the base module configures the stack, the base module broadcasts an ARP request including, among other things, the MAC address and IP address for the stack. Even though such an ARP request is not used to obtain a MAC address, it does cause all receiving devices to update their respective ARP caches with the new MAC-IP address binding.
- a sixth case involves responding to an ARP request.
- An ARP request may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules.
- the received ARP request includes the MAC and IP addresses of the device that initiated the ARP request as well as the IP address of the stack.
- the receiving Ethernet switching module sends an ARP response including the MAC address of the stack, and also distributes the received ARP request to all of the cooperating Ethernet switching modules in the stack.
- Each of the cooperating Ethernet switching modules updates its ARP cache based upon the MAC-IP address binding in the ARP request.
- a seventh case involves the processing of Bootstrap protocol (BOOTP) response messages.
- BOOTP is a well-known protocol that is used by a device to obtain certain initializing information, such as an IP address.
- the base module may be configured to always use BOOTP to obtain its IP address, to use BOOTP to obtain its IP address only when no IP address is configured, or to never use BOOTP to obtain its IP address.
- the base module broadcasts a BOOTP request over all Ethernet ports in the stack.
- the BOOTP response may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules.
- the receiving Ethernet switching module redirects the received BOOTP response to the base module. This ensures that the BOOTP response is received by the base module.
- TFTP Trivial File Transfer protocol
- TFTP is a well-known protocol that is used for transferring files, and in a preferred embodiment of the present invention, is used to perform software upgrades (i.e., software downline load).
- a particular module (which may or may not be the base module) establishes a TFTP connection to a host computer (i.e., a load host) and retrieves an executable software image from the load host.
- the module distributed the executable software image to the other cooperating Ethernet switching modules over the dual-ring bus.
- a ninth case involves the processing of TELNET messages.
- TELNET is a well-known remote terminal protocol that can be used to set up a remote control terminal port (CTP) session for managing and controlling the stack.
- CTP remote control terminal port
- each of the cooperating Ethernet switching modules supports a full TCP/IP protocol stack, TELNET requests can be received by any of the cooperating Ethernet switching modules.
- the receiving Ethernet switching module redirects all TELNET messages to the base module so that the base module can coordinate all TELNET sessions.
- a tenth case involves the processing of web messages.
- Web messages can be received by any of the cooperating Ethernet switching modules.
- the receiving Ethernet switching module redirects all web messages to the base module so that the base module can coordinate all web sessions.
- An eleventh case involves “fail-over” to an alternate base module when the designated base module fails.
- the designated base module fails, the next upstream Ethernet switching modules takes over as the base module for the stack.
- the MAC address of the stack changes to a MAC address associated with the new base module. Therefore, when the new base module reconfigures the stack, the new base module broadcasts an ARP request including the stack IP address and the new MAC address.
- each of the cooperating Ethernet switching modules includes IP Service logic that processes messages at the IP layer of the TCP/IP protocol stack and directs each message to either a local handler in the receiving Ethernet switching module or to the base module based upon the message type. More specifically, the IP Service logic processes each IP datagram that is received by the cooperating Ethernet switching module. The IP Service logic determines the message type for the IP datagram by determining whether the IP datagram contains a User Datagram Protocol (UDP) user datagram or Transmission Control Protocol (TCP) segment, and then determining the UDP or TCP port number that identifies the particular application for the message. The IP Service logic then forwards the message based upon the message type.
- UDP User Datagram Protocol
- TCP Transmission Control Protocol
- the IP Service logic redirects BOOTP replies, TFTP responses, SNMP “set” requests, TELNET messages, and web messages to the base module, and forwards all other messages to the appropriate local handler for the message type.
- FIG. 2 is a block diagram showing some of the relevant logic blocks of the management/control logic ( 115 , 125 , 135 ).
- the management/control logic ( 115 , 125 , 135 ) includes, among other things, IMC Service Logic 202 , RPC Service Logic 204 , GDS Logic 206 , Local Handlers 208 , IP Service Logic 210 , and IP Logic 212 .
- the IMC Service Logic 202 enables the management/control logic ( 115 , 125 , 135 ) to exchange network management information with the other cooperating Ethernet switching modules over the dual ring bus 140 .
- the IP Logic 212 enables the management/control logic ( 115 , 125 , 135 ) to exchange network management information with other IP devices in the network via the switching logic ( 112 , 122 , 132 ).
- the Local Handlers 208 includes logic for generating, maintaining, and processing network management information.
- the Local Handlers 208 includes, among other things, the UDP logic, TCP logic, SNMP logic, BOOTP logic, TFTP logic, ARP logic, TELNET logic, web logic, console user interface logic, and management database interface logic for managing network management objects and parameters in the management databases ( 116 , 126 , 136 ).
- the Local Handlers 208 are operably coupled to the IP Logic 212 for sending and receiving IP datagrams over the network.
- the Local Handlers 208 are operably coupled to the IMC Service Logic 202 for sending and receiving IMC messages over the dual ring bus 140 .
- the Local Handlers 208 are operably coupled to the RPC Service Logic 204 for making and receiving remote procedure calls over the dual ring bus 140 .
- the GDS Logic 206 processes “set” requests for the Local Handlers 208 or for another cooperating Ethernet switching module.
- Each IP datagram received by the IP Logic 212 is processed by the IP Service logic 210 .
- the IP Service logic 210 forwards the IP datagram to either the Local Handlers 208 via the interface 214 or the base module via the interface 216 using IMC services provided by the IMC Service Logic 202 .
- FIG. 3 is a logic flow diagram showing exemplary IP Service Logic 210 for processing an IP datagram that is received from the network. Beginning in step 302 , and upon receiving an IP datagram from the network in step 304 , the IP Service Logic 210 determines whether the Ethernet switching module is operating as the base module, in step 306 .
- the IP Service Logic 210 forwards the IP datagram to the Local Handlers 208 , in step 312 , and terminates in step 399 . If the Ethernet switching module is not operating as the base module (NO in step 306 ), then the IP Service Logic 210 determines the message type for the IP datagram, in step 308 , and determines whether or not to redirect the IP datagram to the base module based upon the message type, in step 310 .
- the IP Service Logic 210 determines that the IP datagram is one of the messages that requires redirection to the base module (YES in step 310 ), then the IP Service Logic 210 forwards the IP datagram to the base module, in step 314 , and terminates in step 399 . If the IP Service Logic 210 determines that the IP datagram is not one of the messages that requires redirection to the base module (NO in step 310 ), then the IP Service Logic 210 forwards the IP datagram to the Local Handlers 208 , in step 312 , and terminates in step 399 .
- FIGS. 4A and 4B are logic flow diagrams showing exemplary management/control logic ( 115 , 125 , 135 ) for maintaining network management objects and parameters that are aggregated across the cooperating Ethernet switching modules. As shown in FIG.
- the management/control logic maintains module-specific information relating to an aggregated network management object, in step 412 , updates the aggregated network management object based upon the module-specific information, in step 414 , and sends the module-specific information relating to an aggregated network management object to the other cooperating Ethernet switching modules, in step 416 .
- the management/control logic receives from a cooperating Ethernet switching module the module-specific information relating to an aggregated network management object, in step 422 , and updates the aggregated network management object based upon the module-specific information received from the cooperating Ethernet switching module, in step 424 .
- FIG. 5 is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) for processing a “get” request.
- the management/control logic determines whether the requested network management object or parameter is maintained by the receiving Ethernet switching module or by one of the other cooperating Ethernet switching modules, in step 506 . If the request network management object or parameter is maintained by the receiving Ethernet switching module (LOCAL in step 508 ), then the management/control logic ( 115 , 125 , 135 ) retrieves the requested network management object or parameter from the local management database, in step 510 .
- the management/control logic retrieves the requested network management object or parameter from the cooperating Ethernet switching module, in step 512 , specifically using the RPC service. After retrieving the requested network management object or parameter, the management/control logic ( 115 , 125 , 135 ) sends a “get” response message, in step 516 , and terminates in step 599 .
- FIG. 6 is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) logic for generating “trap” messages.
- the logic begins in step 602 . If the Ethernet switching module is operating as the base module (YES in step 604 ), then the management/control logic ( 115 , 125 , 135 ) monitors the network management objects and parameters for a network management trap event, in step 606 .
- the management/control logic Upon detecting a network management trap event (YES in step 608 ), the management/control logic ( 115 , 125 , 135 ) sends a “trap” message, in step 610 , and returns to step 606 to continue monitoring for network management trap events.
- FIG. 7A is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) logic for processing an ARP response message.
- the management/control logic ( 115 , 125 , 135 ) updates its ARP cache based upon the MAC-IP binding in the ARP response message, in step 714 , and distributes the ARP response message to the cooperating Ethernet switching modules, in step 716 .
- the logic terminates in step 718 .
- FIG. 7B is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) for processing an ARP request message.
- the management/control logic 115 , 125 , 135
- sends an ARP response message including the MAC address of the stack in step 724 .
- the management/control logic 115 , 125 , 135
- updates its ARP cache based upon the MAC-IP binding in the ARP request message, in step 726 , and distributes the ARP response message to the cooperating Ethernet switching modules, in step 728 .
- the logic terminates in step 730 .
- FIG. 7C is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) for processing an ARP message from another cooperating Ethernet switching module.
- the management/control logic begins in step 740 , and upon receiving the ARP message from the cooperating Ethernet switching module, in step 742 , updates the ARP cache based upon the MAC-IP binding in the ARP message, in step 744 .
- the logic terminates in step 746 .
- the base module is responsible for broadcasting an ARP request including the MAC address and IP address of the stack following configuration or reconfiguration of the stack. Specifically, when the designated base module fails, the next upstream Ethernet switching modules takes over as the base module for the stack. When this occurs, it is preferable to continue using the same IP address, since various devices in the network are configured to use that IP address for communicating with the stack. However, the MAC address of the stack changes to a MAC address associated with the new base module. Therefore, when the new base module reconfigures the stack, the new base module broadcasts an ARP request including the stack IP address and the new MAC address.
- FIG. 8 is a logic flow diagram showing exemplary management/control logic ( 115 , 125 , 135 ) for generating an ARP request as part of a “fail-over” procedure.
- the management/control logic ( 115 , 125 , 135 ) in the next upstream module reconfigures the stack, in step 806 , and broadcasts an ARP request including the stack IP address and the new MAC address for the stack, in step 808 .
- the logic terminates in step 899 .
- the management/control logic ( 115 , 125 , 135 ) is implemented as a set of computer program instructions that are stored in a computer readable medium and executed by an embedded microprocessor system within the Ethernet switching module ( 110 , 120 , 130 ).
- Preferred embodiments of the invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”). Alternative embodiments of the invention may be implemented using discrete components, integrated circuitry, programmable logic used in conjunction with a programmable logic device such as a Field Programmable Gate Array (FPGA) or microprocessor, or any other means including any combination thereof.
- FPGA Field Programmable Gate Array
- Alternative embodiments of the invention may be implemented as a computer program product for use with a computer system.
- Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable media (e.g., a diskette, CD-ROM, ROM, or fixed disk), or fixed in a computer data signal embodied in a carrier wave that is transmittable to a computer system via a modem or other interface device, such as a communications adapter connected to a network over a medium.
- the medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques).
- the series of computer instructions embodies all or part of the functionality previously described herein with respect to the system.
- Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems.
- such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies.
- It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web).
- the present invention may be embodied as a decentralized management method for operating and managing a plurality of interconnected modules as an integrated unit.
- the decentralized management method involves maintaining, by each module, a number of module-specific parameters in a database; maintaining, by each module, a number of stack-wide parameters in a database; and maintaining, by each module, a management interface for managing the plurality of interconnected modules.
- each module maintains a portion of information relating to a stack-wide parameter, distributes to the other cooperating modules the portion of information relating to the stack-wide parameter, and calculates the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- a receiving module Upon receiving a request to read a parameter, a receiving module determines whether the requested parameter is maintained by the receiving module or a cooperating module, retrieves the requested parameter from the database if the requested parameter is maintained by the receiving module, retrieves the requested parameter from a cooperating module if the requested parameter is maintained by the cooperating module (preferably using a remote procedure call), and sends a response including the requested parameter.
- the request to read the parameter may be an SNMP get or get-next request.
- a receiving module Upon receiving an Address Resolution Protocol message, a receiving module sends the Address Resolution Protocol message to the other cooperating modules, and each module updates an Address Resolution Protocol cache based upon a Medium Access Control address and Internet Protocol address included in the Address Resolution Protocol message.
- One of the modules may be designated as a base module for the plurality of interconnected modules.
- the base module monitors a predetermined set of parameters, compares the predetermined set of parameters to a predetermined set of trap criteria, and generates a trap message upon determining that the predetermined set of parameters meets a trap criterion.
- a receiving module (other than the base module) forwards the request to the base module.
- the request may be a request to write a parameter (such as an SNMP set request), a BOOTP response message, a TELNET message, or a web message.
- the receiving module distributes the TFTP response message to the other cooperating modules.
- the base module configures or reconfigures the stack
- the base module broadcasts an ARP request including the stack IP address and the (new) stack MAC address.
- the present invention may also be embodied as a module for operating in a communication system having a plurality of interconnected modules including a base module and at least one non-base module.
- the module may be either a base module or a non-base module.
- the module includes at least one management database and management/control logic, where the management/control logic includes database interface logic for maintaining a number of module-specific objects and parameters and a number of stack-wide objects and parameters in the at least one management database, management interface logic for enabling the management/control logic to communicate with a network manager, inter-module communication logic for enabling the management/control logic to communicate with the plurality of interconnected modules, local handlers for processing network management information received from the network manager via the management interface logic and from the other interconnected modules via the inter-module communication logic and sending network management information to the other interconnected modules, and service logic for receiving a protocol message from the management interface logic and directing the protocol message to the local handlers, if the module is the base module or the protocol message is not one of a number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules, and to the base module via the inter-module communication logic, if the module is a non-base module and the protocol message is one of the number of protocol messages requiring synchronization or mutual
- the service logic forwards the protocol message to the local handlers, which determine whether the requested parameter is maintained by the module or by a cooperating module, retrieve the requested parameter from the at least one management database via the database interface logic if the requested parameters is maintained by the module, retrieve the requested parameter from the cooperating module via the inter-module communication logic if the requested parameter is maintained by the cooperating module, and send a response including the requested parameter.
- a parameter such as an SNMP get or get-next request
- the service logic forwards the protocol message to the base module via the inter-module communication logic. If the protocol message is an Address Resolution Protocol message or a TFTP response message, then the service logic forwards the Address Resolution Protocol message or TFTP response message to the local handlers, which in turn distribute the the Address Resolution Protocol message or TFTP response message to the plurality of interconnected modules via the inter-module communication logic.
- the local handlers monitor a predetermined set of parameters, compare the predetermined set of parameters to a predetermined set of trap criteria, and generate a trap message upon determining that the predetermined set of parameters meets a trap criterion.
- the local handlers maintain a portion of information relating to a stack-wide parameter, distribute the portion of information to the other cooperating modules via the inter-module communication logic, receive from the other cooperating modules via the inter-module communication logic portions of information relating to the stack-wide parameter, and calculate the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- the present invention may further be embodied as a computer program product comprising a computer readable medium having embodied therein a computer program for managing a module operating among a plurality of interconnected modules including a base module and at least one non-base module.
- the computer program comprises database interface logic programmed to maintain a number of module-specific objects and parameters and a number of stack-wide objects and parameters in a management database, management interface logic programmed to communicate with a network manager, inter-module communication logic programmed to communicate with the plurality of interconnected modules, local handlers programmed to process network management information received from the network manager via the management interface logic and from the other interconnected modules via the inter-module communication logic and to send network management information to the other interconnected modules, and service logic programmed to receive a protocol message from the management interface logic and to direct the protocol message to the local handlers, if the module is the base module or the protocol message is not one of a number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules, and to the base module via the inter-module communication logic, if the module is a non-base module and the protocol message is one of the number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules.
- the service logic forwards the protocol message to the local handlers, which determine whether the requested parameter is maintained by the module or by a cooperating module, retrieve the requested parameter from the at least one management database via the database interface logic if the requested parameters is maintained by the module, retrieve the requested parameter from the cooperating module via the inter-module communication logic if the requested parameter is maintained by the cooperating module, and send a response including the requested parameter.
- a parameter such as an SNMP get or get-next request
- the service logic forwards the protocol message to the base module via the inter-module communication logic. If the protocol message is an Address Resolution Protocol message or a TFTP response message, then the service logic forwards the Address Resolution Protocol message or TFTP response message to the local handlers, which in turn distribute the the Address Resolution Protocol message or TFTP response message to the plurality of interconnected modules via the inter-module communication logic.
- the local handlers monitor a predetermined set of parameters, compare the predetermined set of parameters to a predetermined set of trap criteria, and generate a trap message upon determining that the predetermined set of parameters meets a trap criterion.
- the local handlers maintain a portion of information relating to a stack-wide parameter, distribute the portion of information to the other cooperating modules via the inter-module communication logic, receive from the other cooperating modules via the inter-module communication logic portions of information relating to the stack-wide parameter, and calculate the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- the present invention may additionally be embodied as a communication system having a plurality of interconnected modules, wherein each module maintains a number of module-specific parameters, a number of stack-wide parameters, and a management interface for managing the plurality of interconnected modules.
- each module maintains a portion of information relating to a stack-wide parameter, distributes to the other cooperating modules the portion of information relating to the stack-wide parameter, and calculates the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- a receiving module Upon receiving a request to read a parameter, a receiving module determines whether the requested parameter is maintained by the receiving module or a cooperating module, retrieves the requested parameter from the database if the requested parameter is maintained by the receiving module, retrieves the requested parameter from a cooperating module if the requested parameter is maintained by the cooperating module (preferably using a remote procedure call), and sends a response including the requested parameter.
- the request to read the parameter may be an SNMP get or get-next request.
- a receiving module Upon receiving an Address Resolution Protocol message, a receiving module sends the Address Resolution Protocol message to the other cooperating modules, and each module updates an Address Resolution Protocol cache based upon a Medium Access Control address and Internet Protocol address included in the Address Resolution Protocol message.
- One of the modules may be designated as a base module for the plurality of interconnected modules.
- the base module monitors a predetermined set of parameters, compares the predetermined set of parameters to a predetermined set of trap criteria, and generates a trap message upon determining that the predetermined set of parameters meets a trap criterion.
- a receiving module (other than the base module) forwards the request to the base module.
- the request may be a request to write a parameter (such as an SNMP set request), a BOOTP response message, a TELNET message, or a web message.
- the receiving module distributes the TFTP response message to the other cooperating modules.
- the base module configures or reconfigures the stack
- the base module broadcasts an ARP request including the stack IP address and the (new) stack MAC address.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- The following commonly-owned United States patent applications may be related to the subject patent application, and are hereby incorporated by reference in their entireties:
- Application No. XX/XXX,XXX entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS MANAGEMENT IN A DISTRIBUTED COMMUNICATION ENVIRONMENT, filed in the names of Sandeep P. Golikeri, Da-Hai Ding, Nicholas Ilyadis, Timothy Cunningham, and Manish Patel on even date herewith (Attorney Docket No. 2204/126); and
- Application No. XX/XXX,XXX entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS REPORTING IN A DISTRIBUTED COMMUNICATION ENVIRONMENT, filed in the names of Sandeep P. Golikeri, Da-Hai Ding, and Nicholas Ilyadis on even date herewith (Attorney Docket No. 2204/151).
- The present invention relates generally to communication systems, and more particularly to network management in a distributed communication environment.
- In today's information age, it is typical for computers and computer peripherals to be internetworked over a communication network. The communication network typically includes a plurality of communication links that are interconnected through a number of intermediate devices, such as bridges, routers, or switches. Information sent by a source device to a destination device traverses one or more communication links.
- The various communication devices in the communication network, including the computers, computer peripherals, and intermediate devices, utilize various communication protocols in order to transport the information from the source device to the destination device. The communication protocols are typically implemented in layers, which together form a protocol stack. Each protocol layer provides a specific set of services to the protocol layer immediately above it in the protocol stack. Although there are different protocol layering schemes in use today, the different protocol layering schemes have certain common attributes. Specifically, protocols at the lowest layer in the protocol stack, which are typically referred to as the “
layer 1” or “physical layer” protocols, define the physical and electrical characteristics for transporting the information from one communication device to another communication device across a single communication link. Protocols at the next layer in the protocol stack, which are typically referred to as the “layer 2” or “Medium Access Control (MAC) layer” protocols, define the protocol message formats for transporting the information across the single communication link by the physical layer protocols. Protocols at the next layer in the protocol stack, which are typically referred to as the “layer 3” or “network layer” protocols, define the protocol message formats for transporting the information end-to-end from the source device to the destination device across multiple communication links. Higher layer protocols ultimately utilize the services provided by the network protocols for transferring information across the communication network. - In order for a communication device to utilize the services of the communication network, the communication device is assigned various addresses that are used by the different protocol layers in the protocol stack. Specifically, each communication device that participates in a MAC layer protocol is assigned a MAC layer address that is used to identify the particular communication device to other communication devices participating in the MAC layer protocol. Furthermore, each communication device that participates in a network layer protocol is assigned a network layer address that is used to identify the particular communication device to other communication devices participating in the network layer protocol. Other addresses may be used at the higher layers of the protocol stack, for example, for directing the information to a particular application within the destination device.
- Therefore, in order for the source device to send a message to the destination device, the source device first encapsulates the message into a network layer protocol message (referred to as a “packet” or “datagram” in various network layer protocols). The network layer protocol message typically includes a source network layer address equal to the network layer address of the source device and a destination network layer address equal to the network layer address of the destination device. The source device then encapsulates the network layer protocol message into a MAC layer protocol message (referred to as a “frame” in various MAC layer protocols). The MAC layer protocol message typically includes a source MAC layer address equal to the MAC layer address of the source device and a destination MAC layer address equal to the MAC layer address the destination device. The source device then sends the MAC layer protocol message over the communication link according to a particular physical layer protocol.
- In certain situations, the source device and the destination device may be on different communication links. Therefore, an intermediate device receives the MAC layer protocol message from the source device over one communication link and forwards the MAC layer protocol message to the destination device on another communication link based upon the destination MAC layer address. Such an intermediate device is often referred to as a “MAC layer switch.”
- In order to forward protocol messages across multiple communication links, each intermediate device typically maintains an address database including a number of address entries, where each address entry includes filtering and forwarding information associated with a particular address. A typical address entry maps an address to a corresponding network interface. Such address entries are typically used for forwarding protocol messages by the intermediate device, specifically based upon a destination address in each protocol message. For example, upon receiving a protocol message over a particular incoming network interface and including a particular destination address, the intermediate device finds an address entry for the destination address, and processes the protocol message based upon the filtering and forwarding information in the address entry. The intermediate device may, for example, “drop” the protocol message or forward the protocol message onto an outgoing network interface designated in the address entry.
- Because intermediate devices are utilized in a wide range of applications, some intermediate devices utilize a modular design that enables a number of modules to be interconnected in a stack configuration such that the number of interconnected modules interoperate in a cooperating mode of operation to form a single virtual device. Each module is capable of operating independently as a stand-alone device or in a stand-alone mode of operation, and therefore each module is a complete system unto itself. Each module typically supports a number of directly connected communication devices through a number of network interfaces. The modular design approach enables the intermediate device to be scalable, such that modules can be added and removed to fit the requirements of a particular application.
- When a number of modules are interconnected in a cooperating mode of operation, it is desirable for the number of interconnected modules to operate and be managed as an integrated unit rather than individually as separate modules. Because each module is capable of operating independently, each module includes all of the components that are necessary for the module to operate autonomously. Thus, each module typically includes a number of interface ports for communicating with the directly connected communication devices, as well as sufficient processing and memory resources for supporting the directly connected communication devices. Each module typically also includes a full protocol stack and network management software that enable the module to be configured and controlled through, for example, a console user interface, a Simple Network Management protocol (SNMP) interface, or world wide web interface.
- In order to operate and manage the interconnected modules as an integrated unit, a centralized management approach is often employed. Specifically, a centralized manager coordinates the operation and management of the various interconnected modules. The centralized manager may be, for example, a docking station, a dedicated management module, or even one of the cooperating modules (which is often referred to as a “base module” for the stack).
- Such a centralized management approach has a number of disadvantages. A dedicated management module or docking station increases the cost of the stack, and represents a single point of failure for the stack. Adding one or more redundant dedicated management modules to the stack only increases the cost of the stack even further. Similarly, a base module represents a single point of failure for the stack. Also, because the base module is responsible for all management operations and databases for the entire stack, the base module requires additional memory resources (and possibly other resources) to coordinate management and control for the number of interconnected modules in the stack, which increases the cost of the base module. Adding one or more redundant base modules to the stack only increases the cost of the stack even further. Furthermore, the centralized management approach requires the centralized manager to collect information from all of the modules, and therefore requires a substantial amount of communication between the centralized manager and the (other) interconnected modules in the stack.
- Thus, a need remains for an efficient management architecture for operating and managing a number of interconnected modules as an integrated unit.
- In accordance with one aspect of the invention, a distributed management model enables a plurality of interconnected modules to be managed and controlled as an integrated unit without requiring any one of the interconnected modules to operate as a fully centralized manager. One of the interconnected modules is configured to operate as a base module, which coordinates certain network management operations among the interconnected modules. Each of the interconnected modules is capable of sending and receiving management and control information. Each of the interconnected modules maintains essentially the same set of parameters whether operating as the base module, as a cooperating module, or in a stand-alone mode. For convenience, network management parameters that are specific to a particular module are maintained in a “segmented” management database, while network management parameters that are system-wide aggregates are maintained in a “shadowed” management database. Management and control operations that do not require synchronization or mutual exclusion among the various interconnected modules are typically handled by the module that receives a management/control request. Management and control operations that require synchronization or mutual exclusion among the various interconnected modules are handled by the base module.
- The distributed management approach of the present invention has a number of advantages over a centralized management approach. Each module is capable of acting as a base module, and therefore the base module does not represent a single point of failure for the stack. Also, each module maintains essentially the same parameters whether operating as the base module, a cooperating module, or in a stand-alone mode, and therefore no additional memory resources are required for a module to operate as the base module. Furthermore, because the module-specific parameters are not maintained across all of the interconnected modules, the amount of inter-module communication is substantially reduced. These and other advantages will become apparent below.
- The foregoing and other objects and advantages of the invention will be appreciated more fully from the following further description thereof with reference to the accompanying drawings wherein:
- FIG. 1 is a block diagram showing an exemplary stack configuration including a number of interconnected Ethernet switching modules in accordance with a preferred embodiment of the present invention;
- FIG. 2 is a block diagram showing some of the relevant logic blocks of the management/control logic in accordance with a preferred embodiment of the present invention;
- FIG. 3 is a logic flow diagram showing exemplary logic for processing an IP datagram that is received from the network in accordance with a preferred embodiment of the present invention;
- FIG. 4A is a logic flow diagram showing exemplary logic for maintaining an aggregated network management object based upon module-specific information in accordance with a preferred embodiment of the present invention;
- FIG. 4B is a logic flow diagram showing exemplary logic for maintaining an aggregated network management object based upon information received from a cooperating Ethernet switching module in accordance with a preferred embodiment of the present invention;
- FIG. 5 is a logic flow diagram showing exemplary logic for processing a “get” request in accordance with a preferred embodiment of the present invention;
- FIG. 6 is a logic flow diagram showing exemplary logic for generating “trap” messages in accordance with a preferred embodiment of the present invention;
- FIG. 7A is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol response message received from the network, in accordance with a preferred embodiment of the present invention;
- FIG. 7B is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol request message received from the network, in accordance with a preferred embodiment of the present invention;
- FIG. 7C is a logic flow diagram showing exemplary logic for processing an Address Resolution Protocol message received from a cooperating Ethernet switching module, in accordance with a preferred embodiment of the present invention; and
- FIG. 8 is a logic flow diagram showing exemplary logic for reconfiguring the stack following a failure of the designated base module in accordance with a preferred embodiment of the present invention.
- The management techniques of the present invention enable the stack to be managed and controlled as an integrated unit without requiring any one of the cooperating modules to operate as a fully centralized manager for the stack. Specifically, each of the cooperating modules runs a full TCP/IP protocol stack and uses a common IP address, so that each of the cooperating modules is capable of sending and receiving management and control information on behalf of the stack. Each of the cooperating modules maintains a segmented management database containing network management parameters that are specific to the particular module (module-specific parameters), and also maintains a shadowed management database containing network management parameters that are common to all cooperating modules in the stack (stack-wide parameters). Management and control operations that do not require synchronization or mutual exclusion among the various cooperating modules are typically handled by the module that receives a management/control request, although management and control operations that require synchronization or mutual exclusion among the various cooperating modules are handled by a base module in the stack.
- In a preferred embodiment of the present invention, the management techniques of the present invention are used to coordinate management and control in a modular Ethernet switching system including a number of interconnected Ethernet switching modules.
- In a preferred embodiment of the present invention, each Ethernet switching module is a particular device that is known as the BayStack™ 450 stackable Ethernet switch. The preferred Ethernet switching module can be configured to operate as an independent stand-alone device, or alternatively up to eight (8) Ethernet switching modules can be interconnected in a stack configuration, preferably by interconnecting the up to eight (8) Ethernet switching modules through a dual ring bus having a bandwidth of 2.5 gigabits per second. Within the stack configuration, a particular Ethernet switching module can be configured to operate in either a stand-alone mode, in which the particular Ethernet switching module performs Ethernet switching independently of the other Ethernet switching modules in the stack, or a cooperating mode, in which the particular Ethernet switching module performs Ethernet switching in conjunction with other cooperating Ethernet switching modules. Furthermore, a particular Ethernet switching module in the stack can be dynamically reconfigured between the stand-alone mode and the cooperating mode without performing a system reset or power cycle of the particular Ethernet switching module, and Ethernet switching modules can be dynamically added to the stack and removed from the stack without performing a system reset or power cycle of the other Ethernet switching modules in the stack.
- FIG. 1 shows an exemplary stack configuration100 including a number
Ethernet switching modules 1 through N that are interconnected through a dual ring bus 140. As shown in FIG. 1, each Ethernet switching module (110, 120, 130) supports a number of physical Ethernet ports (113, 114, 123, 124, 133, 134). Each physical Ethernet port is attached to an Ethernet Local Area Network (LAN) on which there are a number of directly connected communication devices (not shown in FIG. 1). Thus, each directly connected communication device is associated with a particular physical Ethernet port on a particular Ethernet switching module. - Each Ethernet switching module (110, 120, 130) also maintains an address database (111, 121, 131). In a preferred Ethernet switching module, the address database is an address table supporting up to 32K address entries. The address entries are indexed using a hashing function. The address database for a cooperating Ethernet switching module typically includes both locally owned address entries and remotely owned address entries.
- Each Ethernet switching module (110, 120, 130) also includes switching logic (112, 122, 132) for processing Ethernet frames that are received over its associated physical Ethernet ports (113, 114, 123, 124, 133, 134) or from a cooperating Ethernet switching module. Specifically, the switching logic (112, 122, 132) performs filtering and forwarding of Ethernet frames based upon, among other things, the destination address in each Ethernet frame and the address entries in the address database (111, 121, 131). When the switching logic (112, 122, 132) receives an Ethernet frame over one of its associated Ethernet ports (113, 114, 123, 124, 133, 134), the switching logic (112, 122, 132) searches for an address entry in the address database (111, 121, 131) that maps the destination address in the Ethernet frame to one of the associated Ethernet ports or to one of the cooperating Ethernet switching modules. If the destination address is on the same Ethernet port (113, 114, 123, 124, 133, 134) over which the Ethernet frame was received, then the switching logic (112, 122, 132) “drops” the Ethernet frame. If the destination address is on a different one of the associated Ethernet ports (113, 114, 123, 124, 133, 134), then the switching logic (112, 122, 132) forwards the Ethernet frame to that Ethernet port (113, 114, 123, 124, 133, 134). If the destination address is on one of the cooperating Ethernet switching modules (110, 120, 130), then the switching logic (112, 122, 132) forwards the Ethernet frame to that cooperating Ethernet switching module (110, 120, 130). If the switching logic (112, 122, 132) does not find an address entry in the address database (111, 121, 131) for the destination address, then the switching logic (112, 122, 132) forwards the Ethernet frame to all associated Ethernet ports (113, 114, 123, 124, 133, 134) except for the Ethernet port over which the Ethernet frame was received and to all cooperating Ethernet switching modules (110, 120, 130).
- Because each Ethernet switching module (110, 120, 130) can be configured to operate as an independent stand-alone device or in a stand-alone mode within the stack, each Ethernet switching module (110, 120, 130) includes management/control logic (115, 125, 135) that enables the Ethernet switching module (110, 120, 130) to be individually managed and controlled, for example, through a console user interface, a Simple Network Management protocol (SNMP) session, or a world wide web session. Therefore, the preferred management/control logic (115, 125, 135) includes, among other things, a Transmission Control Protocol/Internet Protocol (TCP/IP) stack, an SNMP agent, and a web engine. Furthermore, each Ethernet switching module (110, 120, 130) is assigned MAC and IP addresses, allowing each Ethernet switching module (110, 120, 130) to send and receive management and control information independently of the other Ethernet switching modules (110, 120, 130).
- The management/control logic (115, 125, 135) maintains a number of management databases (116, 126, 136) for storing configuration and operational information. The management/control logic (116, 126, 136) maintains a management database containing network management objects and parameters that are related to a particular port or interface, and maintains another management database containing network management objects and parameters that are system-wide in scope. When the Ethernet switching module (110, 120, 130) is operating in a cooperating mode within the stack, the management database containing network management objects and parameters that are system-wide in scope is referred to as the “shadowed” management database, and the management database containing network management objects and parameters that are related to a particular port or interface is referred to as the “segmented” management database. The management databases (116, 126, 136) are described in more detail below.
- The management/control logic (115, 125, 135) interfaces with the other components of the Ethernet switching module (110, 120, 130) in order to manage and control the operations of the Ethernet switching module (110, 120, 130). Specifically, the management/control logic (115, 125, 135) interfaces to the address database (111, 121, 131), the switching logic (112, 122, 132), the physical Ethernet ports (113, 114, 123, 124, 133, 134), and other components of the Ethernet switching module (not shown in FIG. 1) in order to configure, monitor, and report the operational status of the Ethernet switching module (110, 120, 130) and of the individual components of the Ethernet switching module (110, 120, 130). For convenience, the various interconnections between the management/control logic (115, 125, 135) and the various other components are omitted from FIG. 1.
- When operating in a stack configuration, it is often necessary for the cooperating Ethernet switching modules (110, 120, 130) to transfer information (including management information, control information, and data) over the dual-ring bus 140. Therefore, the management/control logic (115, 125, 135) provides an Inter-Module Communication (IMC) service. The IMC service supports both reliable (acknowledged) and unreliable transfers over the dual-ring bus 140. IMC information can be directed to a particular Ethernet switching module (i.e., unicast) or to all Ethernet switching modules (i.e., broadcast).
- In a preferred embodiment of the present invention, a distributed management model is utilized to enable the cooperating Ethernet switching modules (110, 120, 130) to be managed and controlled as an integrated unit without requiring any one of the cooperating Ethernet switching modules to operate as a fully centralized manager for the stack. In accordance with the distributed management model of the present invention, each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack and uses a common IP address, so that each of the cooperating Ethernet switching modules is capable of sending and receiving management and control information on behalf of the stack. Each of the cooperating Ethernet switching modules maintains a segmented management database containing network management parameters that are specific to the particular Ethernet switching module (module-specific parameters), and also maintains a shadowed management database containing network management parameters that are common to all cooperating Ethernet switching modules in the stack (stack-wide parameters). Management and control operations that do not require synchronization or mutual exclusion among the various cooperating Ethernet switching modules are typically handled by the Ethernet switching module that receives a management/control request, although management and control operations that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules are handled by a base module in the stack.
- In order to coordinate management and control operations across the various cooperating Ethernet switching modules in the stack, one of the cooperating Ethernet switching modules operates as the base module for the stack. In a preferred embodiment of the present invention, a particular Ethernet switching module is configured as the base module through a user controlled toggle switch on the Ethernet switching module. If that Ethernet switching module fails, then another Ethernet switching module (preferably the next upstream Ethernet switching module in the stack) automatically reconfigures itself to become the base module for the stack.
- The base module is responsible for coordinating management and control for the stack. Specifically, the base module manages the stack configuration by ensuring that the stack is initialized in an orderly manner, handling stack configuration changes such as module insertion and removal, and verifying stack integrity. The base module also coordinates certain stack management functions that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules in the stack.
- As discussed above, each of the cooperating Ethernet switching modules in the stack runs a full TCP/IP protocol stack. In order for the stack to be managed and controlled as an integrated unit, each of the cooperating Ethernet switching modules uses the MAC and IP addresses of the base module. Each Ethernet switching module is allocated a block of thirty-two (32) MAC addresses. One of the thirty-two (32) MAC addresses is reserved for use when the module operates as the base module, while the remaining MAC addresses are used for stand-alone operation. The common IP address enables each of the cooperating Ethernet switching modules to operate as a management interface for the stack.
- Also as discussed above, each of the cooperating Ethernet switching modules maintains a segmented management database containing module-specific parameters and a shadowed management database containing stack-wide parameters. The preferred Ethernet switching module supports various standard and private Management Information Base (MIB) objects and parameters. Standard MIB objects include those MIB objects defined in ETF RFCs 1213, 1493, 1757, and 1643. Private MIB objects include those MIB objects defined in the BayS5ChasMIB, BayS5AgentMIB, and Rapid City VLAN MIB. Certain MIB objects and parameters are related to a particular port or interface, and are maintained in the segmented management database by the Ethernet switching module that supports the particular port or interface. Other MIB objects and parameters have stack-wide significance, and are maintained in the shadowed management database by each of the cooperating Ethernet switching modules. It should be noted that the network management information maintained by a cooperating Ethernet switching module is equivalent to the network management information that the Ethernet switching module would maintain when operating as a stand-alone device or in a stand-alone mode of operation, and therefore no additional memory resources are required for the Ethernet switching module to operate in the cooperating mode using the distributed management model of the present invention.
- In order for the various cooperating Ethernet switching modules to be managed and controlled as an integrated unit under the distributed management model of the present invention, certain management and control operations require special handling. Briefly, certain management and control operations can be handled by the receiving Ethernet switching module alone. Other management and control operations can be handled by the receiving Ethernet switching module, but require some amount of inter-module communication or coordination. Still other management and control operations (such as those that require synchronization or mutual exclusion among the various cooperating Ethernet switching modules) are handled by the base module, and therefore the receiving Ethernet switching module redirects such management and control operations to the base module. Specific cases are described in detail below.
- A first case involves the management of stack-wide parameters. Because each of the cooperating Ethernet switching modules maintains a shadowed management database containing the stack-wide parameters, it is necessary for the various shadowed management databases to be synchronized such that they contain consistent information. Certain network management parameters (such as the sysDesc MIB object) do not change, and are simply replicated in each of the shadowed management databases. Other network management parameters (such as certain MIB objects in the MIB II IP table) are calculated based upon information from each of the cooperating Ethernet switching modules. In order for such aggregated stack-wide parameters to be calculated and synchronized across the various cooperating Ethernet switching modules, each of the cooperating Ethernet switching modules periodically distributes its portion of information to each of the other cooperating Ethernet switching modules. Each of the cooperating Ethernet switching modules then independently calculates the aggregated network management parameters based upon the information from each of the cooperating Ethernet switching modules.
- A second case involves the processing of a “get” request (i.e., a request to read a network management parameter) that is received by a particular Ethernet switching module from the console user interface or from an SNMP or web session. Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, the “get” request can be received by any of the cooperating Ethernet switching modules. If the requested network management object is either a stack-wide parameter or a module-specific parameter that is maintained by the receiving Ethernet switching module, then the receiving Ethernet switching module retrieves the requested network management object from its locally maintained shadowed management database or segmented management database, respectively. Otherwise, the receiving Ethernet switching module retrieves the requested network management object from the appropriate cooperating Ethernet switching module. In a preferred embodiment of the present invention, a Remote Procedure Call (RPC) service is used by the receiving Ethernet switching module to retrieve the requested network management object from the cooperating Ethernet switching module. The RPC service utilizes acknowledged IMC services for reliability. The receiving Ethernet switching module makes an RPC service call in order to retrieve one or more network management objects from the cooperating Ethernet switching module. The RPC service uses IMC services to send a request to the cooperating Ethernet switching module, and suspends the calling application in the receiving Ethernet switching module (by making the appropriate operating system call) until the response is received from the cooperating Ethernet switching module. In order to reduce the amount of RPC traffic over the dual-ring bus140, the receiving Ethernet switching module may retrieve multiple network management objects during each RPC service call, in which case the receiving Ethernet switching module caches the multiple network management objects. This allows the receiving Ethernet switching module to handle subsequent “get-next” requests (i.e., a request for a next network management object in a series network management objects) without requiring the receiving Ethernet switching module to make additional RPC service calls to retrieve those network management objects from the cooperating Ethernet switching module.
- A special case of “get” request processing involves the reporting of address-to-port-number mappings for the stack. As described above, each of the cooperating Ethernet switching modules maintains an address database (111, 121, 131). The related patent application entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS MANAGEMENT IN A DISTRIBUTED COMMUNICATION ENVIRONMENT, which was incorporated by reference above, describes a technique for synchronizing the address databases (111, 121, 131). However, even though the address databases (111, 121, 131) are synchronized to include the same set of addresses, the actual address entries in each of the address databases (111, 121, 131) are different, since each address database includes a number of locally-owned address entries that map locally-owned addresses to their corresponding Ethernet ports and a number of remotely-owned address entries that map remotely-owned addresses to their corresponding Ethernet switching module. Therefore, in order for a particular Ethernet switching module to report a lexicographically ordered list of address-to-port-number mappings, the Ethernet switching module retrieves and sorts address-to-port-number mappings from each of the cooperating Ethernet switching modules (including the reporting Ethernet switching module itself), preferably using address reporting techniques described in the related patent application entitled SYSTEM, DEVICE, AND METHOD FOR ADDRESS REPORTING IN A DISTRIBUTED COMMUNICATION ENVIRONMENT, which was incorporated by reference above.
- A third case involves the sending of “trap” messages (i.e., messages intended to alert the network manager regarding particular network management events). Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, each of the cooperating Ethernet switching modules is capable of generating “trap” messages. However, in order to coordinate the generation of “trap” messages across the various cooperating Ethernet switching modules and prevent the network manager from receiving multiple “trap” messages for the same network management event (or even conflicting “trap” messages regarding the same network management event), all trap processing is performed by the base module. Specifically, the base module monitors a predetermined set of network management parameters and compares the predetermined set of network management parameters to a predetermined set of trap criteria. When the base module determines that a “trappable” network management event has occurred, the base module generates the “trap” message on behalf of all of the cooperating Ethernet switching modules in the stack.
- A fourth case involves the processing of a “set” request (i.e., a request to write a network management parameter) that is received by a particular Ethernet switching module from the console user interface or from an SNMP or web session. Since each of the cooperating Ethernet switching modules runs a full TCP/IP protocol stack, the “set” request can be received by any of the cooperating Ethernet switching modules. Because “set” requests often require synchronization or mutual exclusion among the various cooperating Ethernet switching modules, a preferred embodiment of the present invention funnels all “set” requests through the base module. Therefore, if the receiving Ethernet switching module is not the base module, then the receiving Ethernet switching module forwards the “set” request to the base module.
- In order to ensure that the “set” request is consistent with the current operating state of the stack, each module includes a Global Data Synchronization (GDS) application. The GDS application uses the local management databases together with a predetermined set of rules in order to determine whether or not the particular “set” operation dictated by the “set” request can be executed. Specifically, the GDS application screens for any conflicts that would result from executing the “set” operation, such as an inconsistency among multiple interrelated parameters or a conflict with prior network management configuration.
- In a preferred embodiment of the present invention, the receiving Ethernet switching module forwards the “set” request to either the local GDS application or to the GDS application in the base module based upon the source of the “set” request. If the “set” request was received from the console user interface, then the receiving Ethernet switching module forwards the “set” request to the local GDS application, which verifies the “set” request and forwards the “set” request to the base module if the “set” operation can be executed. Otherwise, the receiving Ethernet switching module forwards the “set” request to the GDS application in the base module. When the “set” operation is completed, then the cooperating Ethernet switching modules are notified of any required database updates and/or configuration changes via an acknowledged broadcast IMC message. Each of the cooperating Ethernet switching modules (including the base module) updates its management databases accordingly. Any “set” operation that involves configuration of or interaction with a particular hardware element is carried out by the Ethernet switching module that supports the particular hardware element.
- A fifth case involves the use of Address Resolution Protocol (ARP). ARP is a well-known protocol that is used to obtain the MAC address for a device based upon the IP address of the device. Each of the cooperating Ethernet switching modules maintains an ARP cache (not shown in the figures) that maps a set of IP addresses to their corresponding MAC addresses.
- In order to obtain the MAC address for a particular IP device (assuming the MAC address is not in the ARP cache), a particular Ethernet switching module broadcasts an ARP request over all Ethernet ports in the stack. The ARP request includes, among other things, the MAC and IP addresses of the stack as well as the IP address of the destination device. The ARP response, which includes the MAC address of the destination device, may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules. The receiving Ethernet switching module distributes the received ARP response to all of the cooperating Ethernet switching modules in the stack. This ensures that the ARP response is received by the Ethernet switching module that initiated the ARP request. Each of the cooperating Ethernet switching modules updates its ARP cache based upon the MAC-IP address binding in the ARP response.
- The base module also broadcasts an ARP request when the base module configures the stack, for example, during initial stack configuration or when the stack is reconfigured following a failure of the designated base module (referred to hereinafter as a “fail-over” and described in detail below). When the base module configures the stack, the base module broadcasts an ARP request including, among other things, the MAC address and IP address for the stack. Even though such an ARP request is not used to obtain a MAC address, it does cause all receiving devices to update their respective ARP caches with the new MAC-IP address binding.
- A sixth case involves responding to an ARP request. An ARP request may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules. The received ARP request includes the MAC and IP addresses of the device that initiated the ARP request as well as the IP address of the stack. The receiving Ethernet switching module sends an ARP response including the MAC address of the stack, and also distributes the received ARP request to all of the cooperating Ethernet switching modules in the stack. Each of the cooperating Ethernet switching modules updates its ARP cache based upon the MAC-IP address binding in the ARP request.
- A seventh case involves the processing of Bootstrap protocol (BOOTP) response messages. BOOTP is a well-known protocol that is used by a device to obtain certain initializing information, such as an IP address. In a preferred embodiment of the present invention, the base module may be configured to always use BOOTP to obtain its IP address, to use BOOTP to obtain its IP address only when no IP address is configured, or to never use BOOTP to obtain its IP address. When BOOTP is used, the base module broadcasts a BOOTP request over all Ethernet ports in the stack. The BOOTP response may be received over any Ethernet port, and therefore may be received by any of the cooperating Ethernet switching modules. The receiving Ethernet switching module redirects the received BOOTP response to the base module. This ensures that the BOOTP response is received by the base module.
- An eighth case involves the processing of Trivial File Transfer protocol (TFTP) response messages for software downline load. TFTP is a well-known protocol that is used for transferring files, and in a preferred embodiment of the present invention, is used to perform software upgrades (i.e., software downline load). Specifically, a particular module (which may or may not be the base module) establishes a TFTP connection to a host computer (i.e., a load host) and retrieves an executable software image from the load host. The module distributed the executable software image to the other cooperating Ethernet switching modules over the dual-ring bus.
- A ninth case involves the processing of TELNET messages. TELNET is a well-known remote terminal protocol that can be used to set up a remote control terminal port (CTP) session for managing and controlling the stack. Because each of the cooperating Ethernet switching modules supports a full TCP/IP protocol stack, TELNET requests can be received by any of the cooperating Ethernet switching modules. The receiving Ethernet switching module redirects all TELNET messages to the base module so that the base module can coordinate all TELNET sessions.
- A tenth case involves the processing of web messages. Web messages can be received by any of the cooperating Ethernet switching modules. The receiving Ethernet switching module redirects all web messages to the base module so that the base module can coordinate all web sessions.
- An eleventh case involves “fail-over” to an alternate base module when the designated base module fails. In a preferred embodiment of the present invention, when the designated base module fails, the next upstream Ethernet switching modules takes over as the base module for the stack. When this occurs, it is preferable to continue using the same IP address, since various devices in the network are configured to use that IP address for communicating with the stack. However, the MAC address of the stack changes to a MAC address associated with the new base module. Therefore, when the new base module reconfigures the stack, the new base module broadcasts an ARP request including the stack IP address and the new MAC address.
- In order to redirect certain messages to the base module for processing, each of the cooperating Ethernet switching modules includes IP Service logic that processes messages at the IP layer of the TCP/IP protocol stack and directs each message to either a local handler in the receiving Ethernet switching module or to the base module based upon the message type. More specifically, the IP Service logic processes each IP datagram that is received by the cooperating Ethernet switching module. The IP Service logic determines the message type for the IP datagram by determining whether the IP datagram contains a User Datagram Protocol (UDP) user datagram or Transmission Control Protocol (TCP) segment, and then determining the UDP or TCP port number that identifies the particular application for the message. The IP Service logic then forwards the message based upon the message type. In a preferred embodiment of the present invention, the IP Service logic redirects BOOTP replies, TFTP responses, SNMP “set” requests, TELNET messages, and web messages to the base module, and forwards all other messages to the appropriate local handler for the message type.
- FIG. 2 is a block diagram showing some of the relevant logic blocks of the management/control logic (115, 125, 135). The management/control logic (115, 125, 135) includes, among other things,
IMC Service Logic 202,RPC Service Logic 204,GDS Logic 206,Local Handlers 208,IP Service Logic 210, andIP Logic 212. TheIMC Service Logic 202 enables the management/control logic (115, 125, 135) to exchange network management information with the other cooperating Ethernet switching modules over the dual ring bus 140. TheIP Logic 212 enables the management/control logic (115, 125, 135) to exchange network management information with other IP devices in the network via the switching logic (112, 122, 132). TheLocal Handlers 208 includes logic for generating, maintaining, and processing network management information. TheLocal Handlers 208 includes, among other things, the UDP logic, TCP logic, SNMP logic, BOOTP logic, TFTP logic, ARP logic, TELNET logic, web logic, console user interface logic, and management database interface logic for managing network management objects and parameters in the management databases (116, 126, 136). TheLocal Handlers 208 are operably coupled to theIP Logic 212 for sending and receiving IP datagrams over the network. TheLocal Handlers 208 are operably coupled to theIMC Service Logic 202 for sending and receiving IMC messages over the dual ring bus 140. TheLocal Handlers 208 are operably coupled to theRPC Service Logic 204 for making and receiving remote procedure calls over the dual ring bus 140. TheGDS Logic 206 processes “set” requests for theLocal Handlers 208 or for another cooperating Ethernet switching module. - Each IP datagram received by the
IP Logic 212 is processed by theIP Service logic 210. TheIP Service logic 210 forwards the IP datagram to either theLocal Handlers 208 via theinterface 214 or the base module via theinterface 216 using IMC services provided by theIMC Service Logic 202. FIG. 3 is a logic flow diagram showing exemplaryIP Service Logic 210 for processing an IP datagram that is received from the network. Beginning instep 302, and upon receiving an IP datagram from the network instep 304, theIP Service Logic 210 determines whether the Ethernet switching module is operating as the base module, instep 306. If the Ethernet switching module is operating as the base module (YES in step 306), then theIP Service Logic 210 forwards the IP datagram to theLocal Handlers 208, instep 312, and terminates instep 399. If the Ethernet switching module is not operating as the base module (NO in step 306), then theIP Service Logic 210 determines the message type for the IP datagram, instep 308, and determines whether or not to redirect the IP datagram to the base module based upon the message type, instep 310. If theIP Service Logic 210 determines that the IP datagram is one of the messages that requires redirection to the base module (YES in step 310), then theIP Service Logic 210 forwards the IP datagram to the base module, instep 314, and terminates instep 399. If theIP Service Logic 210 determines that the IP datagram is not one of the messages that requires redirection to the base module (NO in step 310), then theIP Service Logic 210 forwards the IP datagram to theLocal Handlers 208, instep 312, and terminates instep 399. - As described above, certain network management objects and parameters are aggregates of information from each of the cooperating Ethernet switching modules. Therefore, each of the cooperating Ethernet switching modules periodically distributes its portion of information to each of the other cooperating Ethernet switching modules, and each of the cooperating Ethernet switching modules independently calculates the aggregated network management parameters based upon the information from each of the cooperating Ethernet switching modules. FIGS. 4A and 4B are logic flow diagrams showing exemplary management/control logic (115, 125, 135) for maintaining network management objects and parameters that are aggregated across the cooperating Ethernet switching modules. As shown in FIG. 4A, the management/control logic (115, 125, 135) maintains module-specific information relating to an aggregated network management object, in
step 412, updates the aggregated network management object based upon the module-specific information, instep 414, and sends the module-specific information relating to an aggregated network management object to the other cooperating Ethernet switching modules, instep 416. As shown in FIG. 4B, the management/control logic (115, 125, 135) receives from a cooperating Ethernet switching module the module-specific information relating to an aggregated network management object, instep 422, and updates the aggregated network management object based upon the module-specific information received from the cooperating Ethernet switching module, instep 424. - Also as described above, certain “get” requests require special processing by the management/control logic (115, 125, 135). Specifically, because network management information that is specific to a particular port or interface is maintained by the module that supports the particular port or interface, the management/control logic (115, 125, 135) may need to retrieve network management information from another cooperating Ethernet switching module in order to process and respond to a “get” request. FIG. 5 is a logic flow diagram showing exemplary management/control logic (115, 125, 135) for processing a “get” request. Beginning in
step 502, and upon receiving a “get” request, the management/control logic (115, 125, 135) determines whether the requested network management object or parameter is maintained by the receiving Ethernet switching module or by one of the other cooperating Ethernet switching modules, instep 506. If the request network management object or parameter is maintained by the receiving Ethernet switching module (LOCAL in step 508), then the management/control logic (115, 125, 135) retrieves the requested network management object or parameter from the local management database, instep 510. If the requested network management object or parameter is maintained by one of the other cooperating Ethernet switching modules (REMOTE in step 508), then the management/control logic (115, 125, 135) retrieves the requested network management object or parameter from the cooperating Ethernet switching module, instep 512, specifically using the RPC service. After retrieving the requested network management object or parameter, the management/control logic (115, 125, 135) sends a “get” response message, instep 516, and terminates instep 599. - Also as described above, the base module is responsible for generating “trap” messages on behalf of the stack. FIG. 6 is a logic flow diagram showing exemplary management/control logic (115, 125, 135) logic for generating “trap” messages. The logic begins in
step 602. If the Ethernet switching module is operating as the base module (YES in step 604), then the management/control logic (115, 125, 135) monitors the network management objects and parameters for a network management trap event, instep 606. Upon detecting a network management trap event (YES in step 608), the management/control logic (115, 125, 135) sends a “trap” message, instep 610, and returns to step 606 to continue monitoring for network management trap events. - Also as described above, ARP processing requires special handling. Specifically, each ARP request or response received by a particular Ethernet switching module is distributed to the other cooperating Ethernet switching modules so that the ARP message is seen by any Ethernet switching module that needs to see it, and also so that each of the cooperating Ethernet switching modules can update its ARP cache with the MAC-IP binding from the ARP message. FIG. 7A is a logic flow diagram showing exemplary management/control logic (115, 125, 135) logic for processing an ARP response message. Beginning in
step 710, and upon receiving an ARP response message, instep 712, the management/control logic (115, 125, 135) updates its ARP cache based upon the MAC-IP binding in the ARP response message, instep 714, and distributes the ARP response message to the cooperating Ethernet switching modules, instep 716. The logic terminates instep 718. - FIG. 7B is a logic flow diagram showing exemplary management/control logic (115, 125, 135) for processing an ARP request message. Beginning in
step 720, and upon receiving an ARP request message, instep 722, the management/control logic (115, 125, 135) sends an ARP response message including the MAC address of the stack, instep 724. The management/control logic (115, 125, 135) then updates its ARP cache based upon the MAC-IP binding in the ARP request message, instep 726, and distributes the ARP response message to the cooperating Ethernet switching modules, instep 728. The logic terminates instep 730. - FIG. 7C is a logic flow diagram showing exemplary management/control logic (115, 125, 135) for processing an ARP message from another cooperating Ethernet switching module. The management/control logic (115, 125, 135) begins in
step 740, and upon receiving the ARP message from the cooperating Ethernet switching module, instep 742, updates the ARP cache based upon the MAC-IP binding in the ARP message, instep 744. The logic terminates instep 746. - Also as described above, the base module is responsible for broadcasting an ARP request including the MAC address and IP address of the stack following configuration or reconfiguration of the stack. Specifically, when the designated base module fails, the next upstream Ethernet switching modules takes over as the base module for the stack. When this occurs, it is preferable to continue using the same IP address, since various devices in the network are configured to use that IP address for communicating with the stack. However, the MAC address of the stack changes to a MAC address associated with the new base module. Therefore, when the new base module reconfigures the stack, the new base module broadcasts an ARP request including the stack IP address and the new MAC address.
- FIG. 8 is a logic flow diagram showing exemplary management/control logic (115, 125, 135) for generating an ARP request as part of a “fail-over” procedure. Beginning in
step 802, and upon detecting a failure of the base unit instep 804, the management/control logic (115, 125, 135) in the next upstream module reconfigures the stack, in step 806, and broadcasts an ARP request including the stack IP address and the new MAC address for the stack, instep 808. The logic terminates instep 899. - In a preferred embodiment of the present invention, predominantly all of the management/control logic (115, 125, 135) is implemented as a set of computer program instructions that are stored in a computer readable medium and executed by an embedded microprocessor system within the Ethernet switching module (110, 120, 130). Preferred embodiments of the invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”). Alternative embodiments of the invention may be implemented using discrete components, integrated circuitry, programmable logic used in conjunction with a programmable logic device such as a Field Programmable Gate Array (FPGA) or microprocessor, or any other means including any combination thereof.
- Alternative embodiments of the invention may be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable media (e.g., a diskette, CD-ROM, ROM, or fixed disk), or fixed in a computer data signal embodied in a carrier wave that is transmittable to a computer system via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions embodies all or part of the functionality previously described herein with respect to the system. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web).
- Thus, the present invention may be embodied as a decentralized management method for operating and managing a plurality of interconnected modules as an integrated unit. The decentralized management method involves maintaining, by each module, a number of module-specific parameters in a database; maintaining, by each module, a number of stack-wide parameters in a database; and maintaining, by each module, a management interface for managing the plurality of interconnected modules. In order to maintain the number of stack-wide parameters, each module maintains a portion of information relating to a stack-wide parameter, distributes to the other cooperating modules the portion of information relating to the stack-wide parameter, and calculates the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules. Upon receiving a request to read a parameter, a receiving module determines whether the requested parameter is maintained by the receiving module or a cooperating module, retrieves the requested parameter from the database if the requested parameter is maintained by the receiving module, retrieves the requested parameter from a cooperating module if the requested parameter is maintained by the cooperating module (preferably using a remote procedure call), and sends a response including the requested parameter. The request to read the parameter may be an SNMP get or get-next request. Upon receiving an Address Resolution Protocol message, a receiving module sends the Address Resolution Protocol message to the other cooperating modules, and each module updates an Address Resolution Protocol cache based upon a Medium Access Control address and Internet Protocol address included in the Address Resolution Protocol message. One of the modules may be designated as a base module for the plurality of interconnected modules. Among other things, the base module monitors a predetermined set of parameters, compares the predetermined set of parameters to a predetermined set of trap criteria, and generates a trap message upon determining that the predetermined set of parameters meets a trap criterion. Also, upon receiving a request requiring synchronization or mutual exclusion among the plurality of interconnected modules, a receiving module (other than the base module) forwards the request to the base module. The request may be a request to write a parameter (such as an SNMP set request), a BOOTP response message, a TELNET message, or a web message. Furthermore, upon receiving a TFTP response message during a software upgrade procedure, the receiving module distributes the TFTP response message to the other cooperating modules. When the base module configures or reconfigures the stack, the base module broadcasts an ARP request including the stack IP address and the (new) stack MAC address.
- The present invention may also be embodied as a module for operating in a communication system having a plurality of interconnected modules including a base module and at least one non-base module. The module may be either a base module or a non-base module. The module includes at least one management database and management/control logic, where the management/control logic includes database interface logic for maintaining a number of module-specific objects and parameters and a number of stack-wide objects and parameters in the at least one management database, management interface logic for enabling the management/control logic to communicate with a network manager, inter-module communication logic for enabling the management/control logic to communicate with the plurality of interconnected modules, local handlers for processing network management information received from the network manager via the management interface logic and from the other interconnected modules via the inter-module communication logic and sending network management information to the other interconnected modules, and service logic for receiving a protocol message from the management interface logic and directing the protocol message to the local handlers, if the module is the base module or the protocol message is not one of a number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules, and to the base module via the inter-module communication logic, if the module is a non-base module and the protocol message is one of the number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules. If the protocol message is a request to read a parameter (such as an SNMP get or get-next request), then the service logic forwards the protocol message to the local handlers, which determine whether the requested parameter is maintained by the module or by a cooperating module, retrieve the requested parameter from the at least one management database via the database interface logic if the requested parameters is maintained by the module, retrieve the requested parameter from the cooperating module via the inter-module communication logic if the requested parameter is maintained by the cooperating module, and send a response including the requested parameter. If the module is a non-base module and the protocol message is a request requiring synchronization or mutual exclusion among the plurality of interconnected modules (such as a request to write a parameter, a BOOTP response message, a TELNET message, or a web message), then the service logic forwards the protocol message to the base module via the inter-module communication logic. If the protocol message is an Address Resolution Protocol message or a TFTP response message, then the service logic forwards the Address Resolution Protocol message or TFTP response message to the local handlers, which in turn distribute the the Address Resolution Protocol message or TFTP response message to the plurality of interconnected modules via the inter-module communication logic. If the module is the base module, then the local handlers monitor a predetermined set of parameters, compare the predetermined set of parameters to a predetermined set of trap criteria, and generate a trap message upon determining that the predetermined set of parameters meets a trap criterion. In each module, the local handlers maintain a portion of information relating to a stack-wide parameter, distribute the portion of information to the other cooperating modules via the inter-module communication logic, receive from the other cooperating modules via the inter-module communication logic portions of information relating to the stack-wide parameter, and calculate the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- The present invention may further be embodied as a computer program product comprising a computer readable medium having embodied therein a computer program for managing a module operating among a plurality of interconnected modules including a base module and at least one non-base module. The computer program comprises database interface logic programmed to maintain a number of module-specific objects and parameters and a number of stack-wide objects and parameters in a management database, management interface logic programmed to communicate with a network manager, inter-module communication logic programmed to communicate with the plurality of interconnected modules, local handlers programmed to process network management information received from the network manager via the management interface logic and from the other interconnected modules via the inter-module communication logic and to send network management information to the other interconnected modules, and service logic programmed to receive a protocol message from the management interface logic and to direct the protocol message to the local handlers, if the module is the base module or the protocol message is not one of a number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules, and to the base module via the inter-module communication logic, if the module is a non-base module and the protocol message is one of the number of protocol messages requiring synchronization or mutual exclusion among the various interconnected modules. If the protocol message is a request to read a parameter (such as an SNMP get or get-next request), then the service logic forwards the protocol message to the local handlers, which determine whether the requested parameter is maintained by the module or by a cooperating module, retrieve the requested parameter from the at least one management database via the database interface logic if the requested parameters is maintained by the module, retrieve the requested parameter from the cooperating module via the inter-module communication logic if the requested parameter is maintained by the cooperating module, and send a response including the requested parameter. If the module is a non-base module and the protocol message is a request requiring synchronization or mutual exclusion among the plurality of interconnected modules (such as a request to write a parameter, a BOOTP response message, a TELNET message, or a web message), then the service logic forwards the protocol message to the base module via the inter-module communication logic. If the protocol message is an Address Resolution Protocol message or a TFTP response message, then the service logic forwards the Address Resolution Protocol message or TFTP response message to the local handlers, which in turn distribute the the Address Resolution Protocol message or TFTP response message to the plurality of interconnected modules via the inter-module communication logic. If the module is the base module, then the local handlers monitor a predetermined set of parameters, compare the predetermined set of parameters to a predetermined set of trap criteria, and generate a trap message upon determining that the predetermined set of parameters meets a trap criterion. In each module, the local handlers maintain a portion of information relating to a stack-wide parameter, distribute the portion of information to the other cooperating modules via the inter-module communication logic, receive from the other cooperating modules via the inter-module communication logic portions of information relating to the stack-wide parameter, and calculate the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules.
- The present invention may additionally be embodied as a communication system having a plurality of interconnected modules, wherein each module maintains a number of module-specific parameters, a number of stack-wide parameters, and a management interface for managing the plurality of interconnected modules. In order to maintain the number of stack-wide parameters, each module maintains a portion of information relating to a stack-wide parameter, distributes to the other cooperating modules the portion of information relating to the stack-wide parameter, and calculates the stack-wide parameter based upon the portion of information maintained by the module and the portions of information received from each of the other cooperating modules. Upon receiving a request to read a parameter, a receiving module determines whether the requested parameter is maintained by the receiving module or a cooperating module, retrieves the requested parameter from the database if the requested parameter is maintained by the receiving module, retrieves the requested parameter from a cooperating module if the requested parameter is maintained by the cooperating module (preferably using a remote procedure call), and sends a response including the requested parameter. The request to read the parameter may be an SNMP get or get-next request. Upon receiving an Address Resolution Protocol message, a receiving module sends the Address Resolution Protocol message to the other cooperating modules, and each module updates an Address Resolution Protocol cache based upon a Medium Access Control address and Internet Protocol address included in the Address Resolution Protocol message. One of the modules may be designated as a base module for the plurality of interconnected modules. Among other things, the base module monitors a predetermined set of parameters, compares the predetermined set of parameters to a predetermined set of trap criteria, and generates a trap message upon determining that the predetermined set of parameters meets a trap criterion. Also, upon receiving a request requiring synchronization or mutual exclusion among the plurality of interconnected modules, a receiving module (other than the base module) forwards the request to the base module. The request may be a request to write a parameter (such as an SNMP set request), a BOOTP response message, a TELNET message, or a web message. Furthermore, upon receiving a TFTP response message during a software upgrade procedure, the receiving module distributes the TFTP response message to the other cooperating modules. When the base module configures or reconfigures the stack, the base module broadcasts an ARP request including the stack IP address and the (new) stack MAC address.
- The present invention may be embodied in other specific forms without departing from the essence or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive.
Claims (76)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/343,299 US6981034B2 (en) | 1999-06-30 | 1999-06-30 | Decentralized management architecture for a modular communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/343,299 US6981034B2 (en) | 1999-06-30 | 1999-06-30 | Decentralized management architecture for a modular communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030055929A1 true US20030055929A1 (en) | 2003-03-20 |
US6981034B2 US6981034B2 (en) | 2005-12-27 |
Family
ID=23345521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/343,299 Expired - Fee Related US6981034B2 (en) | 1999-06-30 | 1999-06-30 | Decentralized management architecture for a modular communication system |
Country Status (1)
Country | Link |
---|---|
US (1) | US6981034B2 (en) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054093A1 (en) * | 2000-06-05 | 2001-12-20 | Sawao Iwatani | Storage area network management system, method, and computer-readable medium |
US20030154285A1 (en) * | 2002-02-13 | 2003-08-14 | International Business Machines Corporation | Method and system for assigning network addreses |
US20030208632A1 (en) * | 2002-05-06 | 2003-11-06 | Todd Rimmer | Dynamic configuration of network data flow using a shared I/O subsystem |
US20030208631A1 (en) * | 2002-05-06 | 2003-11-06 | Todd Matters | System and method for dynamic link aggregation in a shared I/O subsystem |
US20040006611A1 (en) * | 2002-06-20 | 2004-01-08 | Samsung Electronics Co., Ltd. | Remote management system and method |
US20040006619A1 (en) * | 2002-07-02 | 2004-01-08 | Fujitsu Network Communications, Inc. | Structure for event reporting in SNMP systems |
US20040136389A1 (en) * | 2001-04-26 | 2004-07-15 | Hunneyball Timothy John | Telecommunications networks |
US6779002B1 (en) * | 2000-06-13 | 2004-08-17 | Sprint Communications Company L.P. | Computer software framework and method for synchronizing data across multiple databases |
US20060069771A1 (en) * | 2004-09-29 | 2006-03-30 | International Business Machines Corporation | Method, system and program product for decentralized monitoring of server states within a cell of nodes |
EP1677468A1 (en) * | 2004-12-30 | 2006-07-05 | Alcatel | Retention of a stack address during primary master failover |
US20060190992A1 (en) * | 2005-02-24 | 2006-08-24 | Microsoft Corporation | Facilitating Bi-directional communications between clients in heterogeneous network environments |
US20070150572A1 (en) * | 2005-10-20 | 2007-06-28 | Cox Barry N | Non-centralized network device management using console communications system and method |
US20070259700A1 (en) * | 2003-07-24 | 2007-11-08 | Meier Robert C | Uniform power save method for wireless stations |
US20070271365A1 (en) * | 2006-05-16 | 2007-11-22 | Bea Systems, Inc. | Database-Less Leasing |
US20070288481A1 (en) * | 2006-05-16 | 2007-12-13 | Bea Systems, Inc. | Ejb cluster timer |
US20080010490A1 (en) * | 2006-05-16 | 2008-01-10 | Bea Systems, Inc. | Job Scheduler |
US7447778B2 (en) | 2002-05-06 | 2008-11-04 | Qlogic, Corporation | System and method for a shared I/O subsystem |
US20110055367A1 (en) * | 2009-08-28 | 2011-03-03 | Dollar James E | Serial port forwarding over secure shell for secure remote management of networked devices |
US20110055899A1 (en) * | 2009-08-28 | 2011-03-03 | Uplogix, Inc. | Secure remote management of network devices with local processing and secure shell for remote distribution of information |
US8284782B1 (en) * | 2005-11-15 | 2012-10-09 | Nvidia Corporation | System and method for avoiding ARP cache pollution |
US20130070773A1 (en) * | 2011-09-21 | 2013-03-21 | Lsis Co., Ltd. | Network system and method for determining network path |
US20130254359A1 (en) * | 2012-03-23 | 2013-09-26 | Cisco Technology, Inc. | Address resolution suppression for data center interconnect |
US10965615B2 (en) * | 2012-03-30 | 2021-03-30 | Nokia Solutions And Networks Oy | Centralized IP address management for distributed gateways |
US11418478B2 (en) * | 2018-12-20 | 2022-08-16 | Arris Enterprises Llc | Systems and methods for improving ARP/ND performance on host communication devices |
US20230071386A1 (en) * | 2018-09-07 | 2023-03-09 | The Board Of Trustees Of The University Of Illinois | Application-transparent near-memory processing architecture with memory channel network |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6597700B2 (en) * | 1999-06-30 | 2003-07-22 | Nortel Networks Limited | System, device, and method for address management in a distributed communication environment |
US6618750B1 (en) * | 1999-11-02 | 2003-09-09 | Apple Computer, Inc. | Method and apparatus for determining communication paths |
US6477150B1 (en) * | 2000-03-03 | 2002-11-05 | Qualcomm, Inc. | System and method for providing group communication services in an existing communication system |
US7120683B2 (en) * | 2000-04-03 | 2006-10-10 | Zarlink Semiconductor V.N. Inc. | Single switch image for a stack of switches |
ITMI20010900A1 (en) * | 2001-04-30 | 2002-10-30 | Marconi Comm Spa | TELECOMMUNICATIONS NETWORK WITH AUTOMATIC TOPOLOGY DETECTION AND METHOD FOR THIS DETECTION |
US7356608B2 (en) * | 2002-05-06 | 2008-04-08 | Qlogic, Corporation | System and method for implementing LAN within shared I/O subsystem |
US8411594B2 (en) | 2002-09-20 | 2013-04-02 | Qualcomm Incorporated | Communication manager for providing multimedia in a group communication network |
US7574431B2 (en) * | 2003-05-21 | 2009-08-11 | Digi International Inc. | Remote data collection and control using a custom SNMP MIB |
US7480258B1 (en) * | 2003-07-03 | 2009-01-20 | Cisco Technology, Inc. | Cross stack rapid transition protocol |
GB2407178B (en) * | 2003-10-17 | 2006-07-12 | Toshiba Res Europ Ltd | Reconfigurable signal processing module |
US7751417B2 (en) * | 2004-11-15 | 2010-07-06 | Sap, Ag | Accelerated system and methods for synchronizing, managing and publishing business information |
US7738497B2 (en) | 2004-11-15 | 2010-06-15 | Sap, Ag | System and method for dynamically modifying synchronized business information server interfaces |
US8250131B1 (en) * | 2004-12-08 | 2012-08-21 | Cadence Design Systems, Inc. | Method and apparatus for managing a distributed computing environment |
US7920576B2 (en) * | 2005-05-31 | 2011-04-05 | Nec Corporation | Packet ring network system, packet forwarding method and node |
US8284783B1 (en) | 2005-11-15 | 2012-10-09 | Nvidia Corporation | System and method for avoiding neighbor cache pollution |
US8438239B2 (en) * | 2006-05-11 | 2013-05-07 | Vocollect, Inc. | Apparatus and method for sharing data among multiple terminal devices |
JP2008108123A (en) * | 2006-10-26 | 2008-05-08 | Matsushita Electric Ind Co Ltd | Module execution device, and modularization program |
US8903991B1 (en) * | 2011-12-22 | 2014-12-02 | Emc Corporation | Clustered computer system using ARP protocol to identify connectivity issues |
JP6107026B2 (en) * | 2012-09-27 | 2017-04-05 | ブラザー工業株式会社 | INFORMATION DISPLAY DEVICE, INFORMATION PROVIDING DEVICE, INFORMATION DISPLAY PROGRAM, INFORMATION PROVIDING PROGRAM, AND COMMUNICATION SYSTEM |
US8901888B1 (en) | 2013-07-16 | 2014-12-02 | Christopher V. Beckman | Batteries for optimizing output and charge balance with adjustable, exportable and addressable characteristics |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4296475A (en) * | 1978-12-19 | 1981-10-20 | U.S. Philips Corporation | Word-organized, content-addressable memory |
US4597078A (en) * | 1983-10-19 | 1986-06-24 | Digital Equipment Corporation | Bridge circuit for interconnecting networks |
US4725834A (en) * | 1984-02-27 | 1988-02-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reliable broadcast protocol for a token passing bus network |
US4827411A (en) * | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
US4897841A (en) * | 1989-01-11 | 1990-01-30 | Hughes Lan Systems, Inc. | System and method for bridging local area networks using concurrent broadband channels |
US5086428A (en) * | 1989-06-09 | 1992-02-04 | Digital Equipment Corporation | Reliable broadcast of information in a wide area network |
US5222064A (en) * | 1990-05-15 | 1993-06-22 | Mitsubishi Denki Kabushiki Kaisha | Bridge apparatus |
US5261052A (en) * | 1989-03-27 | 1993-11-09 | Hitachi, Ltd. | Designated mail delivery system |
US5301273A (en) * | 1990-06-18 | 1994-04-05 | Kabushiki Kaisha Toshiba | Method and apparatus for managing address information utilized in message transmission and reception |
US5343471A (en) * | 1992-05-11 | 1994-08-30 | Hughes Aircraft Company | Address filter for a transparent bridge interconnecting local area networks |
US5884036A (en) * | 1996-11-08 | 1999-03-16 | Haley; Andrew Paul | Method for determining the topology of an ATM network having decreased looping of topology information cells |
US6094659A (en) * | 1997-09-26 | 2000-07-25 | 3Com Corporation | Web server for use in a LAN modem |
US6098108A (en) * | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
US6115713A (en) * | 1990-01-30 | 2000-09-05 | Johnson Controls Technology Company | Networked facilities management system |
US6131096A (en) * | 1998-10-05 | 2000-10-10 | Visto Corporation | System and method for updating a remote database in a network |
US6169794B1 (en) * | 1997-12-05 | 2001-01-02 | Fujitsu Limited | Method and apparatus for synchronizing databases within intelligent network |
US6172981B1 (en) * | 1997-10-30 | 2001-01-09 | International Business Machines Corporation | Method and system for distributing network routing functions to local area network stations |
US6212529B1 (en) * | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US6250548B1 (en) * | 1997-10-16 | 2001-06-26 | Mcclure Neil | Electronic voting system |
US6307931B1 (en) * | 1998-06-19 | 2001-10-23 | Avaya Technology Corp. | System and method for allowing communication between networks having incompatible addressing formats |
US6324693B1 (en) * | 1997-03-12 | 2001-11-27 | Siebel Systems, Inc. | Method of synchronizing independently distributed software and database schema |
US6331983B1 (en) * | 1997-05-06 | 2001-12-18 | Enterasys Networks, Inc. | Multicast switching |
US6578086B1 (en) * | 1999-09-27 | 2003-06-10 | Nortel Networks Limited | Dynamically managing the topology of a data network |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220511A (en) | 1991-01-22 | 1993-06-15 | White Conveyors, Inc. | Computer control system and method for sorting articles on a conveyor |
JP3202074B2 (en) | 1992-10-21 | 2001-08-27 | 富士通株式会社 | Parallel sort method |
US5522042A (en) * | 1994-01-28 | 1996-05-28 | Cabletron Systems, Inc. | Distributed chassis agent for distributed network management |
US5689550A (en) | 1994-08-08 | 1997-11-18 | Voice-Tel Enterprises, Inc. | Interface enabling voice messaging systems to interact with communications networks |
US5678006A (en) | 1995-04-27 | 1997-10-14 | Cisco Systems, Inc. | Network switch having network management agent functions distributed among multiple trunk and service modules |
DE19547108A1 (en) * | 1995-12-16 | 1997-06-19 | Sel Alcatel Ag | Method for integrating additional function modules into a control device of a switching system and switching system |
US5805820A (en) | 1996-07-15 | 1998-09-08 | At&T Corp. | Method and apparatus for restricting access to private information in domain name systems by redirecting query requests |
US5832500A (en) | 1996-08-09 | 1998-11-03 | Digital Equipment Corporation | Method for searching an index |
US6260073B1 (en) * | 1996-12-30 | 2001-07-10 | Compaq Computer Corporation | Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports |
US5909564A (en) | 1997-03-27 | 1999-06-01 | Pmc-Sierra Ltd. | Multi-port ethernet frame switch |
JPH10320367A (en) | 1997-05-19 | 1998-12-04 | Fujitsu Ltd | Method for communication between objects movable on network and system therefor |
US6119188A (en) * | 1997-05-27 | 2000-09-12 | Fusion Micromedia Corp. | Priority allocation in a bus interconnected discrete and/or integrated digital multi-module system |
US6023148A (en) * | 1997-06-30 | 2000-02-08 | Emc Corporation | Power management system with redundant, independently replacement battery chargers |
AU9489198A (en) | 1997-09-16 | 1999-04-05 | Transnexus, Llc | Gatekeeper for internet clearinghouse communications system |
US6128296A (en) | 1997-10-03 | 2000-10-03 | Cisco Technology, Inc. | Method and apparatus for distributed packet switching using distributed address tables |
US6549519B1 (en) | 1998-01-23 | 2003-04-15 | Alcatel Internetworking (Pe), Inc. | Network switching device with pipelined search engines |
KR19990069299A (en) | 1998-02-06 | 1999-09-06 | 윤종용 | How to search the web to find information in specific locations |
US6467006B1 (en) | 1999-07-09 | 2002-10-15 | Pmc-Sierra, Inc. | Topology-independent priority arbitration for stackable frame switches |
US7424012B2 (en) | 2000-11-14 | 2008-09-09 | Broadcom Corporation | Linked network switch configuration |
-
1999
- 1999-06-30 US US09/343,299 patent/US6981034B2/en not_active Expired - Fee Related
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4296475A (en) * | 1978-12-19 | 1981-10-20 | U.S. Philips Corporation | Word-organized, content-addressable memory |
US4597078A (en) * | 1983-10-19 | 1986-06-24 | Digital Equipment Corporation | Bridge circuit for interconnecting networks |
US4725834A (en) * | 1984-02-27 | 1988-02-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reliable broadcast protocol for a token passing bus network |
US4827411A (en) * | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
US4897841A (en) * | 1989-01-11 | 1990-01-30 | Hughes Lan Systems, Inc. | System and method for bridging local area networks using concurrent broadband channels |
US5261052A (en) * | 1989-03-27 | 1993-11-09 | Hitachi, Ltd. | Designated mail delivery system |
US5086428A (en) * | 1989-06-09 | 1992-02-04 | Digital Equipment Corporation | Reliable broadcast of information in a wide area network |
US6115713A (en) * | 1990-01-30 | 2000-09-05 | Johnson Controls Technology Company | Networked facilities management system |
US5222064A (en) * | 1990-05-15 | 1993-06-22 | Mitsubishi Denki Kabushiki Kaisha | Bridge apparatus |
US5301273A (en) * | 1990-06-18 | 1994-04-05 | Kabushiki Kaisha Toshiba | Method and apparatus for managing address information utilized in message transmission and reception |
US5343471A (en) * | 1992-05-11 | 1994-08-30 | Hughes Aircraft Company | Address filter for a transparent bridge interconnecting local area networks |
US5884036A (en) * | 1996-11-08 | 1999-03-16 | Haley; Andrew Paul | Method for determining the topology of an ATM network having decreased looping of topology information cells |
US6212529B1 (en) * | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US6324693B1 (en) * | 1997-03-12 | 2001-11-27 | Siebel Systems, Inc. | Method of synchronizing independently distributed software and database schema |
US6331983B1 (en) * | 1997-05-06 | 2001-12-18 | Enterasys Networks, Inc. | Multicast switching |
US6098108A (en) * | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
US6094659A (en) * | 1997-09-26 | 2000-07-25 | 3Com Corporation | Web server for use in a LAN modem |
US6250548B1 (en) * | 1997-10-16 | 2001-06-26 | Mcclure Neil | Electronic voting system |
US6172981B1 (en) * | 1997-10-30 | 2001-01-09 | International Business Machines Corporation | Method and system for distributing network routing functions to local area network stations |
US6169794B1 (en) * | 1997-12-05 | 2001-01-02 | Fujitsu Limited | Method and apparatus for synchronizing databases within intelligent network |
US6307931B1 (en) * | 1998-06-19 | 2001-10-23 | Avaya Technology Corp. | System and method for allowing communication between networks having incompatible addressing formats |
US6131096A (en) * | 1998-10-05 | 2000-10-10 | Visto Corporation | System and method for updating a remote database in a network |
US6578086B1 (en) * | 1999-09-27 | 2003-06-10 | Nortel Networks Limited | Dynamically managing the topology of a data network |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103653B2 (en) * | 2000-06-05 | 2006-09-05 | Fujitsu Limited | Storage area network management system, method, and computer-readable medium |
US20010054093A1 (en) * | 2000-06-05 | 2001-12-20 | Sawao Iwatani | Storage area network management system, method, and computer-readable medium |
US6779002B1 (en) * | 2000-06-13 | 2004-08-17 | Sprint Communications Company L.P. | Computer software framework and method for synchronizing data across multiple databases |
US20040136389A1 (en) * | 2001-04-26 | 2004-07-15 | Hunneyball Timothy John | Telecommunications networks |
US20030154285A1 (en) * | 2002-02-13 | 2003-08-14 | International Business Machines Corporation | Method and system for assigning network addreses |
US20030208631A1 (en) * | 2002-05-06 | 2003-11-06 | Todd Matters | System and method for dynamic link aggregation in a shared I/O subsystem |
US7404012B2 (en) * | 2002-05-06 | 2008-07-22 | Qlogic, Corporation | System and method for dynamic link aggregation in a shared I/O subsystem |
US7328284B2 (en) * | 2002-05-06 | 2008-02-05 | Qlogic, Corporation | Dynamic configuration of network data flow using a shared I/O subsystem |
US7844715B2 (en) * | 2002-05-06 | 2010-11-30 | Qlogic, Corporation | System and method for a shared I/O subsystem |
US20030208632A1 (en) * | 2002-05-06 | 2003-11-06 | Todd Rimmer | Dynamic configuration of network data flow using a shared I/O subsystem |
US7447778B2 (en) | 2002-05-06 | 2008-11-04 | Qlogic, Corporation | System and method for a shared I/O subsystem |
US20090106430A1 (en) * | 2002-05-06 | 2009-04-23 | Todd Matters | System and method for a shared i/o subsystem |
US20040006611A1 (en) * | 2002-06-20 | 2004-01-08 | Samsung Electronics Co., Ltd. | Remote management system and method |
US20040006619A1 (en) * | 2002-07-02 | 2004-01-08 | Fujitsu Network Communications, Inc. | Structure for event reporting in SNMP systems |
US8600456B2 (en) * | 2003-07-24 | 2013-12-03 | Cisco Technology, Inc. | Uniform power save method for wireless stations |
US20070259700A1 (en) * | 2003-07-24 | 2007-11-08 | Meier Robert C | Uniform power save method for wireless stations |
US20060069771A1 (en) * | 2004-09-29 | 2006-03-30 | International Business Machines Corporation | Method, system and program product for decentralized monitoring of server states within a cell of nodes |
EP1677468A1 (en) * | 2004-12-30 | 2006-07-05 | Alcatel | Retention of a stack address during primary master failover |
US20060190992A1 (en) * | 2005-02-24 | 2006-08-24 | Microsoft Corporation | Facilitating Bi-directional communications between clients in heterogeneous network environments |
US7512677B2 (en) * | 2005-10-20 | 2009-03-31 | Uplogix, Inc. | Non-centralized network device management using console communications system and method |
US20070150572A1 (en) * | 2005-10-20 | 2007-06-28 | Cox Barry N | Non-centralized network device management using console communications system and method |
US20090193118A1 (en) * | 2005-10-20 | 2009-07-30 | Uplogix, Inc | Non-centralized network device management using console communications apparatus |
US8108504B2 (en) | 2005-10-20 | 2012-01-31 | Uplogix, Inc. | Non-centralized network device management using console communications apparatus |
US8284782B1 (en) * | 2005-11-15 | 2012-10-09 | Nvidia Corporation | System and method for avoiding ARP cache pollution |
US20070288481A1 (en) * | 2006-05-16 | 2007-12-13 | Bea Systems, Inc. | Ejb cluster timer |
US7661015B2 (en) | 2006-05-16 | 2010-02-09 | Bea Systems, Inc. | Job scheduler |
US20070271365A1 (en) * | 2006-05-16 | 2007-11-22 | Bea Systems, Inc. | Database-Less Leasing |
US8122108B2 (en) * | 2006-05-16 | 2012-02-21 | Oracle International Corporation | Database-less leasing |
US20080010490A1 (en) * | 2006-05-16 | 2008-01-10 | Bea Systems, Inc. | Job Scheduler |
US9384103B2 (en) | 2006-05-16 | 2016-07-05 | Oracle International Corporation | EJB cluster timer |
US20110055367A1 (en) * | 2009-08-28 | 2011-03-03 | Dollar James E | Serial port forwarding over secure shell for secure remote management of networked devices |
US20110055899A1 (en) * | 2009-08-28 | 2011-03-03 | Uplogix, Inc. | Secure remote management of network devices with local processing and secure shell for remote distribution of information |
US20130070773A1 (en) * | 2011-09-21 | 2013-03-21 | Lsis Co., Ltd. | Network system and method for determining network path |
US8774058B2 (en) * | 2011-09-21 | 2014-07-08 | Lsis Co., Ltd. | Network system and method for determining network path |
US20130254359A1 (en) * | 2012-03-23 | 2013-09-26 | Cisco Technology, Inc. | Address resolution suppression for data center interconnect |
US9548959B2 (en) * | 2012-03-23 | 2017-01-17 | Cisco Technology, Inc. | Address resolution suppression for data center interconnect |
US10965615B2 (en) * | 2012-03-30 | 2021-03-30 | Nokia Solutions And Networks Oy | Centralized IP address management for distributed gateways |
US20230071386A1 (en) * | 2018-09-07 | 2023-03-09 | The Board Of Trustees Of The University Of Illinois | Application-transparent near-memory processing architecture with memory channel network |
US11418478B2 (en) * | 2018-12-20 | 2022-08-16 | Arris Enterprises Llc | Systems and methods for improving ARP/ND performance on host communication devices |
US20240163243A1 (en) * | 2018-12-20 | 2024-05-16 | Arris Enterprises Llc | Systems and methods for improving arp/nd performance on host communication devices |
Also Published As
Publication number | Publication date |
---|---|
US6981034B2 (en) | 2005-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6981034B2 (en) | Decentralized management architecture for a modular communication system | |
US6597700B2 (en) | System, device, and method for address management in a distributed communication environment | |
US7974192B2 (en) | Multicast switching in a distributed communication system | |
US6298061B1 (en) | Port aggregation protocol | |
US6415314B1 (en) | Distributed chassis agent for network management | |
US8189579B1 (en) | Distributed solution for managing periodic communications in a multi-chassis routing system | |
US20040165525A1 (en) | System and method for network redundancy | |
JP2002533998A (en) | Internet Protocol Handler for Telecommunications Platform with Processor Cluster | |
US20040049573A1 (en) | System and method for managing clusters containing multiple nodes | |
US20110134923A1 (en) | Intelligent Adjunct Network Device | |
US8230115B2 (en) | Cable redundancy with a networked system | |
WO2005039129A1 (en) | Redundant routing capabilities for a network node cluster | |
US6119159A (en) | Distributed service subsystem protocol for distributed network management | |
US20130201875A1 (en) | Distributed fabric management protocol | |
EP1111850A2 (en) | Control and distribution protocol for a portable router framework | |
US11533604B2 (en) | Method and system for controlling ID identifier network mobility based on programmable switch | |
EP1712067B1 (en) | A method, apparatus and system of organizing servers | |
US6888802B1 (en) | System, device, and method for address reporting in a distributed communication environment | |
US9385921B1 (en) | Provisioning network services | |
JPH03235443A (en) | Trouble management system in communication network | |
CN118449833A (en) | Intelligent factory micro-service system management method and device and electronic equipment | |
JPH10303903A (en) | Virtual lan configuration managing method and virtual lan line concentration device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NORTEL NETWORKS CORPORATION, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DING, DA-HAI;PARISEAU, LUC A.;THOMPSON, BRENDA A.;REEL/FRAME:010186/0568;SIGNING DATES FROM 19990730 TO 19990803 |
|
AS | Assignment |
Owner name: NORTEL NETWORKS LIMITED, CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:011195/0706 Effective date: 20000830 Owner name: NORTEL NETWORKS LIMITED,CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:011195/0706 Effective date: 20000830 |
|
AS | Assignment |
Owner name: NORTEL NETWORKS LIMITED, CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:012211/0581 Effective date: 20000501 Owner name: NORTEL NETWORKS LIMITED,CANADA Free format text: CHANGE OF NAME;ASSIGNOR:NORTEL NETWORKS CORPORATION;REEL/FRAME:012211/0581 Effective date: 20000501 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT,NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC.;REEL/FRAME:023892/0500 Effective date: 20100129 Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC.;REEL/FRAME:023892/0500 Effective date: 20100129 |
|
AS | Assignment |
Owner name: CITICORP USA, INC., AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC.;REEL/FRAME:023905/0001 Effective date: 20100129 Owner name: CITICORP USA, INC., AS ADMINISTRATIVE AGENT,NEW YO Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC.;REEL/FRAME:023905/0001 Effective date: 20100129 Owner name: CITICORP USA, INC., AS ADMINISTRATIVE AGENT, NEW Y Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC.;REEL/FRAME:023905/0001 Effective date: 20100129 |
|
AS | Assignment |
Owner name: AVAYA INC.,NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NORTEL NETWORKS LIMITED;REEL/FRAME:023998/0878 Effective date: 20091218 Owner name: AVAYA INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NORTEL NETWORKS LIMITED;REEL/FRAME:023998/0878 Effective date: 20091218 |
|
AS | Assignment |
Owner name: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE, PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC., A DELAWARE CORPORATION;REEL/FRAME:025863/0535 Effective date: 20110211 Owner name: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLAT Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA INC., A DELAWARE CORPORATION;REEL/FRAME:025863/0535 Effective date: 20110211 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, PENNSYLVANIA Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 Owner name: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE, Free format text: SECURITY AGREEMENT;ASSIGNOR:AVAYA, INC.;REEL/FRAME:030083/0639 Effective date: 20130307 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS INC.;OCTEL COMMUNICATIONS CORPORATION;AND OTHERS;REEL/FRAME:041576/0001 Effective date: 20170124 |
|
REMI | Maintenance fee reminder mailed | ||
AS | Assignment |
Owner name: OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION), CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST, NA;REEL/FRAME:044892/0001 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044891/0564 Effective date: 20171128 Owner name: OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS INC., CALIFORNI Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: VPNET TECHNOLOGIES, INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:044893/0531 Effective date: 20171128 Owner name: AVAYA INC., CALIFORNIA Free format text: BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:045012/0666 Effective date: 20171128 |
|
AS | Assignment |
Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date: 20171215 Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW Y Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045034/0001 Effective date: 20171215 |
|
AS | Assignment |
Owner name: SIERRA HOLDINGS CORP., NEW JERSEY Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045045/0564 Effective date: 20171215 Owner name: AVAYA, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITICORP USA, INC.;REEL/FRAME:045045/0564 Effective date: 20171215 |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.) |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:AVAYA INC.;AVAYA INTEGRATED CABINET SOLUTIONS LLC;OCTEL COMMUNICATIONS LLC;AND OTHERS;REEL/FRAME:045124/0026 Effective date: 20171215 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20171227 |
|
AS | Assignment |
Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 Owner name: AVAYA HOLDINGS CORP., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:063457/0001 Effective date: 20230403 |
|
AS | Assignment |
Owner name: AVAYA MANAGEMENT L.P., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: CAAS TECHNOLOGIES, LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: HYPERQUALITY II, LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: HYPERQUALITY, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.), NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: VPNET TECHNOLOGIES, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: OCTEL COMMUNICATIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: AVAYA INTEGRATED CABINET SOLUTIONS LLC, NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: INTELLISIST, INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 Owner name: AVAYA INC., NEW JERSEY Free format text: RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001);ASSIGNOR:GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT;REEL/FRAME:063779/0622 Effective date: 20230501 |