US20030055929A1 - Decentralized management architecture for a modular communication system - Google Patents

Decentralized management architecture for a modular communication system Download PDF

Info

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
Application number
US09/343,299
Other versions
US6981034B2 (en
Inventor
Da-Hai Ding
Luc A. Pariseau
Brenda A. Thompson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US09/343,299 priority Critical patent/US6981034B2/en
Assigned to NORTEL NETWORKS CORPORATION reassignment NORTEL NETWORKS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PARISEAU, LUC A., THOMPSON, BRENDA A., DING, DA-HAI
Assigned to NORTEL NETWORKS LIMITED reassignment NORTEL NETWORKS LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NORTEL NETWORKS CORPORATION
Assigned to NORTEL NETWORKS LIMITED reassignment NORTEL NETWORKS LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NORTEL NETWORKS CORPORATION
Publication of US20030055929A1 publication Critical patent/US20030055929A1/en
Publication of US6981034B2 publication Critical patent/US6981034B2/en
Application granted granted Critical
Assigned to CITIBANK, N.A., AS ADMINISTRATIVE AGENT reassignment CITIBANK, N.A., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: AVAYA INC.
Assigned to CITICORP USA, INC., AS ADMINISTRATIVE AGENT reassignment CITICORP USA, INC., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: AVAYA INC.
Assigned to AVAYA INC. reassignment AVAYA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NORTEL NETWORKS LIMITED
Assigned to BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE reassignment BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE SECURITY AGREEMENT Assignors: AVAYA INC., A DELAWARE CORPORATION
Assigned to BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE reassignment BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE SECURITY AGREEMENT Assignors: AVAYA, INC.
Assigned to CITIBANK, N.A., AS ADMINISTRATIVE AGENT reassignment CITIBANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS INC., OCTEL COMMUNICATIONS CORPORATION, VPNET TECHNOLOGIES, INC.
Assigned to AVAYA INC. reassignment AVAYA INC. BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Assignors: THE BANK OF NEW YORK MELLON TRUST, NA
Assigned to AVAYA INC. reassignment AVAYA INC. BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Assignors: CITIBANK, N.A.
Assigned to VPNET TECHNOLOGIES, INC., AVAYA INC., OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION), AVAYA INTEGRATED CABINET SOLUTIONS INC. reassignment VPNET TECHNOLOGIES, INC. BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Assignors: CITIBANK, N.A.
Assigned to AVAYA INC. reassignment AVAYA INC. BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Assignors: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Assigned to GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT reassignment GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, OCTEL COMMUNICATIONS LLC, VPNET TECHNOLOGIES, INC., ZANG, INC.
Assigned to SIERRA HOLDINGS CORP., AVAYA, INC. reassignment SIERRA HOLDINGS CORP. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CITICORP USA, INC.
Assigned to CITIBANK, N.A., AS COLLATERAL AGENT reassignment CITIBANK, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AVAYA INC., AVAYA INTEGRATED CABINET SOLUTIONS LLC, OCTEL COMMUNICATIONS LLC, VPNET TECHNOLOGIES, INC., ZANG, INC.
Adjusted expiration legal-status Critical
Assigned to AVAYA MANAGEMENT L.P., AVAYA INC., AVAYA HOLDINGS CORP., AVAYA INTEGRATED CABINET SOLUTIONS LLC reassignment AVAYA MANAGEMENT L.P. RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Assignors: CITIBANK, N.A., AS COLLATERAL AGENT
Assigned to HYPERQUALITY II, LLC, AVAYA INTEGRATED CABINET SOLUTIONS LLC, AVAYA INC., VPNET TECHNOLOGIES, INC., AVAYA MANAGEMENT L.P., HYPERQUALITY, INC., INTELLISIST, INC., CAAS TECHNOLOGIES, LLC, ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.), OCTEL COMMUNICATIONS LLC reassignment HYPERQUALITY II, LLC RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Assignors: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised 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

A decentralized 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 a segmented management database containing network management parameters that are specific to the particular module, and also maintains a shadowed management database containing network management parameters that are common to all of the interconnected modules in the stack. 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.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • 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: [0001]
  • 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 [0002]
  • 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).[0003]
  • FIELD OF THE INVENTION
  • The present invention relates generally to communication systems, and more particularly to network management in a distributed communication environment. [0004]
  • BACKGROUND OF THE INVENTION
  • 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. [0005]
  • 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 “[0006] 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. [0007]
  • 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. [0008]
  • 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.”[0009]
  • 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. [0010]
  • 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. [0011]
  • 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. [0012]
  • 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). [0013]
  • 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. [0014]
  • Thus, a need remains for an efficient management architecture for operating and managing a number of interconnected modules as an integrated unit. [0015]
  • SUMMARY OF THE INVENTION
  • 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. [0016]
  • 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.[0017]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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: [0018]
  • 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; [0019]
  • 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; [0020]
  • 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; [0021]
  • 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; [0022]
  • 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; [0023]
  • 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; [0024]
  • FIG. 6 is a logic flow diagram showing exemplary logic for generating “trap” messages in accordance with a preferred embodiment of the present invention; [0025]
  • 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; [0026]
  • 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; [0027]
  • 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 [0028]
  • 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.[0029]
  • DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
  • 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. [0030]
  • 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. [0031]
  • 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. [0032]
  • FIG. 1 shows an exemplary stack configuration [0033] 100 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 ([0034] 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 ([0035] 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 ([0036] 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 ([0037] 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 ([0038] 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 ([0039] 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 ([0040] 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. [0041]
  • 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. [0042]
  • 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. [0043]
  • 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. [0044]
  • 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. [0045]
  • 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. [0046]
  • 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 bus [0047] 140, 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 ([0048] 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. [0049]
  • 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. [0050]
  • 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. [0051]
  • 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. [0052]
  • 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. [0053]
  • 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. [0054]
  • 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. [0055]
  • 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. [0056]
  • 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. [0057]
  • 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. [0058]
  • 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. [0059]
  • 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. [0060]
  • 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. [0061]
  • 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. [0062]
  • FIG. 2 is a block diagram showing some of the relevant logic blocks of the management/control logic ([0063] 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 [0064] 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. If the Ethernet switching module is operating as the base module (YES in step 306), then 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. If 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.
  • 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 ([0065] 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, 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. 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, 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.
  • Also as described above, certain “get” requests require special processing by the management/control logic ([0066] 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, 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. 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, 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.
  • 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 ([0067] 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. 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.
  • 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 ([0068] 115, 125, 135) logic for processing an ARP response message. Beginning in step 710, and upon receiving an ARP response message, in step 712, 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 ([0069] 115, 125, 135) for processing an ARP request message. Beginning in step 720, and upon receiving an ARP request message, in step 722, 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) then 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 ([0070] 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, 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.
  • 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. [0071]
  • FIG. 8 is a logic flow diagram showing exemplary management/control logic ([0072] 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 in step 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, in step 808. The logic terminates in step 899.
  • In a preferred embodiment of the present invention, predominantly all of the management/control logic ([0073] 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). [0074]
  • 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. [0075]
  • 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. [0076]
  • 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. [0077]
  • 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. [0078]
  • 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. [0079]

Claims (76)

We claim:
1. A decentralized management method for managing a plurality of interconnected modules, the decentralized management method comprising:
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.
2. The decentralized management method of claim 1, wherein maintaining the number of stack-wide parameters comprises:
maintaining, by each module, a portion of information relating to a stack-wide parameter;
distributing, by each module to the other cooperating modules, the portion of information relating to the stack-wide parameter; and
calculating, by each module, 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.
3. The decentralized management method of claim 1, further comprising:
receiving a request to read a parameter by a receiving module;
determining whether the requested parameter is maintained by the receiving module or a cooperating module;
retrieving the requested parameter from the database, if the requested parameter is maintained by the receiving module;
retrieving the requested parameter from a cooperating module, if the requested parameter is maintained by the cooperating module; and
sending a response by the receiving module, the response including the requested parameter.
4. The decentralized management method of claim 3, wherein retrieving the requested parameter from a cooperating module comprises utilizing a remote procedure call to retrieve the requested parameter from the cooperating module.
5. The decentralized management method of claim 3, wherein the request to read the parameter is a Simple Network Management Protocol get request.
6. The decentralized management method of claim 3, wherein the request to read the parameter is a Simple Network Management Protocol get-next request.
7. The decentralized management method of claim 1, further comprising:
receiving an Address Resolution Protocol message by a receiving module; and
distributing the Address Resolution Protocol message to the other cooperating modules.
8. The decentralized management method of claim 7, further comprising:
updating, by each of the modules, an Address Resolution Protocol cache based upon a Medium Access Control address and Internet Protocol address included in the Address Resolution Protocol message.
9. The decentralized management method of claim 1, further comprising:
designating one module as a base module for the plurality of interconnected modules.
10. The decentralized management method of claim 9, further comprising:
monitoring, by the base module, a predetermined set of parameters;
comparing, by the base module, the predetermined set of parameters to a predetermined set of trap criteria; and
generating, by the base module, a trap message upon determining that the predetermined set of parameters meets a trap criterion.
11. The decentralized management method of claim 9, further comprising:
receiving, by a receiving module other than the base module, a request requiring synchronization or mutual exclusion among the plurality of interconnected modules; and
forwarding the request by the receiving module to the base module.
12. The decentralized management method of claim 11, wherein the request is a request to write a parameter.
13. The decentralized management method of claim 12, wherein the request to write the parameter is a Simple Network Management Protocol set request.
14. The decentralized management method of claim 11, wherein the request is a Bootstrap Protocol response message.
15. The decentralized management method of claim 11, wherein the request is a TELNET message.
16. The decentralized management method of claim 11, wherein the request is a web message.
17. The decentralized management method of claim 1, further comprising:
receiving a Trivial File Transfer Protocol response message by a receiving module; and
distributing the Trivial File Transfer Protocol response message to the other cooperating modules.
18. The decentralized management method of claim 9, further comprising:
configuring the plurality of interconnected modules to operate as an integrated unit; and
broadcasting an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address, wherein the Medium Access Control address is one of a number of Medium Access Control addresses associated with the base module.
19. The decentralized management method of claim 9, further comprising:
detecting, by at least one of the interconnected modules, that the base module failed;
designating a new base module from among a number of remaining interconnected modules;
reconfiguring, by the new base module, the number of remaining interconnected modules to operate as an integrated unit; and
broadcasting an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address, wherein the Medium Access Control address is one of a number of Medium Access Control addresses associated with the new base module.
20. 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 comprising:
at least one management database; and
management/control logic, wherein the management/control logic comprises:
database interface logic operably coupled to the at least one management database for maintaining a number of module-specific objects and parameters and a number of stack-wide objects and parameters;
management interface logic operably coupled to enable the management/control logic to communicate with a network manager;
inter-module communication logic operably coupled to enable the management/control logic to communicate with the plurality of interconnected modules;
local handlers operably coupled 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 operably coupled 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.
21. The module of claim 20, wherein:
the protocol message is a request to read a parameter; and
the service logic is operably coupled to forward the protocol message to the local handlers.
22. The module of claim 21, wherein the request to read the parameter is a Simple Network Management Protocol get request.
23. The module of claim 21, wherein the request to read the parameter is a Simple Network Management Protocol get-next request.
24. The module of claim 21, wherein the local handlers are operably coupled to 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.
25. The module of claim 20, wherein:
the module is a non-base module;
the protocol message is a request requiring synchronization or mutual exclusion among the plurality of interconnected modules; and
the service logic is operably coupled to forward the protocol message to the base module via the inter-module communication logic.
26. The module of claim 25, wherein the request is a request to write a parameter.
27. The module of claim 26, wherein the request to write the parameter is a Simple Network Management Protocol set request.
28. The module of claim 25, wherein the request is a Bootstrap Protocol response message.
29. The module of claim 25, wherein the request is a TELNET message.
30. The module of claim 25, wherein the request is a web message.
31. The module of claim 20, wherein:
the protocol message is an Address Resolution Protocol message; and
the service logic is operably coupled to forward the Address Resolution Protocol message to the local handlers.
32. The module of claim 31, wherein the local handlers are operably coupled to distribute the Address Resolution Protocol message to the plurality of interconnected modules via the inter-module communication logic.
33. The module of claim 20, wherein:
the module is the base module;
the local handlers are operably coupled to 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.
34. The module of claim 20, wherein the local handlers are operably coupled to 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.
35. The module of claim 20, wherein:
the protocol message is Trivial File Transfer Protocol response message; and
the service logic is operably coupled to forward the Trivial File Transfer Protocol response message to the local handlers.
36. The module of claim 35, wherein the local handlers are operably coupled to distribute the Trivial File Transfer Protocol response message to the plurality of interconnected modules via the inter-module communication logic.
37. The module of claim 20, wherein:
the module is the base module; and
the local handlers are operably coupled to configure the plurality of interconnected modules to operate as an integrated unit and broadcast an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address that is associated with the module.
38. The module of claim 20, wherein:
the module is a non-base module; and
the local handlers are operably coupled to detect a failure of the base module, reconfigure a number of remaining interconnected modules to operate as an integrated unit, and broadcast an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address that is associated with the module.
39. 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 comprising:
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.
40. The computer program product of claim 39, wherein:
the protocol message is a request to read a parameter; and
the service logic is programmed to forward the protocol message to the local handlers.
41. The computer program product of claim 40, wherein the request to read the parameter is a Simple Network Management Protocol get request.
42. The computer program product of claim 40, wherein the request to read the parameter is a Simple Network Management Protocol get-next request.
43. The computer program product of claim 40, wherein the local handlers are programmed to 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.
44. The computer program product of claim 39, wherein:
the module is a non-base module;
the protocol message is a request requiring synchronization or mutual exclusion among the plurality of interconnected modules; and
the service logic is programmed to forward the protocol message to the base module via the inter-module communication logic.
45. The computer program product of claim 44, wherein the request is a request to write a parameter.
46. The computer program product of claim 45, wherein the request to write the parameter is a Simple Network Management Protocol set request.
47. The computer program product of claim 44, wherein the request is a Bootstrap Protocol response message.
48. The computer program product of claim 44, wherein the request is a TELNET message.
49. The computer program product of claim 44, wherein the request is a web message.
50. The computer program product of claim 39, wherein:
the protocol message is an Address Resolution Protocol message; and
the service logic is programmed to forward the Address Resolution Protocol message to the local handlers.
51. The computer program product of claim 50, wherein the local handlers are programmed to distribute the Address Resolution Protocol message to the plurality of interconnected modules via the inter-module communication logic.
52. The computer program product of claim 39, wherein:
the module is the base module;
the local handlers are programmed to 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.
53. The computer program product of claim 39, wherein the local handlers are programmed to 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.
54. The computer program product of claim 39, wherein:
the protocol message is Trivial File Transfer Protocol response message; and
the service logic is programmed to forward the Trivial File Transfer Protocol response message to the local handlers.
55. The computer program product of claim 54, wherein the local handlers are programmed to distribute the Trivial File Transfer Protocol response message to the plurality of interconnected modules via the inter-module communication logic.
56. The computer program product of claim 39, wherein:
the module is the base module; and
the local handlers are programmed to configure the plurality of interconnected modules to operate as an integrated unit and broadcast an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address that is associated with the module.
57. The computer program product of claim 39, wherein:
the module is a non-base module; and
the local handlers are programmed to detect a failure of the base module, reconfigure a number of remaining interconnected modules to operate as an integrated unit, and broadcast an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address that is associated with the module.
58. A communication system comprising 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.
59. The communication system of claim 58, wherein:
each module maintains a portion of information relating to a stack-wide parameter;
each module distributes to the other cooperating modules the portion of information relating to the stack-wide parameter; and
each module 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.
60. The communication system of claim 58, wherein:
a receiving module receives a request to read a parameter;
the receiving module determines whether the requested parameter is maintained by the receiving module or by a cooperating module;
the receiving module retrieves the requested parameter from the database, if the requested parameter is maintained by the receiving module;
the receiving module retrieves the requested parameter from a cooperating module, if the requested parameter is maintained by the cooperating module; and
the receiving module sends a response including the requested parameter.
61. The communication system of claim 60, wherein the receiving module utilizes a remote procedure call to retrieve the requested parameter from the cooperating module.
62. The communication system of claim 60, wherein the request to read the parameter is a Simple Network Management Protocol get request.
63. The communication system of claim 60, wherein the request to read the parameter is a Simple Network Management Protocol get-next request.
64. The communication system of claim 58, wherein:
a receiving module receives an Address Resolution Protocol message; and
the receiving module distributes the Address Resolution Protocol message to the other cooperating modules.
65. The communication system of claim 64, wherein 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.
66. The communication system of claim 58, wherein one of the modules is designated as a base module for the plurality of interconnected modules.
67. The communication system of claim 66, wherein 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.
68. The communication system of claim 66, wherein:
a receiving module, other than the base module, receives a request requiring synchronization or mutual exclusion among the plurality of interconnected modules; and
the receiving module forwards the request to the base module.
69. The communication system of claim 68, wherein the request is a request to write a parameter.
70. The communication system of claim 69, wherein the request to write the parameter is a Simple Network Management Protocol set request.
71. The communication system of claim 68, wherein the request is a Bootstrap Protocol response message.
72. The communication system of claim 68, wherein the request is a TELNET message.
73. The communication system of claim 68, wherein the request is a web message.
74. The communication system of claim 58, wherein:
a receiving module receives a Trivial File Transfer Protocol response message; and
the receiving module distributes the Trivial File Transfer Protocol response message to the other cooperating modules.
75. The communication system of claim 66, wherein the base module configures the plurality of interconnected modules to operate as an integrated unit and broadcasts an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address, wherein the Medium Access Control address is one of a number of Medium Access Control addresses associated with the base module.
76. The communication system of claim 66, wherein a non-base module detects that the base module failed, reconfigures the number of remaining interconnected modules to operate as an integrated unit, and broadcasts an Address Resolution Protocol request message including an Internet Protocol address and a Medium Access Control address, wherein the Medium Access Control address is one of a number of Medium Access Control addresses associated with said non-base module.
US09/343,299 1999-06-30 1999-06-30 Decentralized management architecture for a modular communication system Expired - Fee Related US6981034B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (23)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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