|Publication number||US7103807 B2|
|Application number||US 10/287,974|
|Publication date||Sep 5, 2006|
|Filing date||Nov 5, 2002|
|Priority date||May 5, 2000|
|Also published as||US20030051195, WO2001086380A2, WO2001086380A3|
|Publication number||10287974, 287974, US 7103807 B2, US 7103807B2, US-B2-7103807, US7103807 B2, US7103807B2|
|Inventors||Patrick A. Bosa, Joseph Greenwald, Christopher Buia, Thomas S. Pantelis, Scott Ball|
|Original Assignee||Computer Associates Think, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (67), Non-Patent Citations (1), Referenced by (52), Classifications (18), Legal Events (5)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application claims priority from PCT Application PCT/US01/14815 filed May 7, 2001, which claims priority from U.S. Provisional Application 60/202,297, entitled “A Method of Improving the Status Suppression of a Network Management System by Considering The Logical Layers That Partition Networks into Groups as Well as the Network Elements that Connect these Partitions Together,” filed on May 5, 2000, and claims priority from U.S. Provisional Application 60/202,296, entitled “Construction of a Very Rich, Multi-layer Topological Model of a Computer Network for Purposes of Fault Diagnosis,” filed on May 5, 2000, and claims priority from U.S. Provisional Application 60/202,299, entitled “A Method for Diagnosing Faults in Large Multilayered Environments Guided by Path And Dependency Analysis of the Modeled System,” filed on May 5, 2000, all of which are incorporated by reference in their entireties. This application also claims priority from co-pending PCT Applications PCT/US01/14767, PCT/US01/14618, PCT/US01/14557, and PCT/US01/14766 all of filed May 5, 2001 which are incorporated by reference for all purposes.
The invention relates to a system and a method for detecting and suppressing faults on network elements located in various logical groups.
The construction of computer networks started on a large scale in the 1970's. Computer networks link personal computers, workstations, servers, storage devices, printers and other devices. Historically, wide area computer networks (WANs) have enabled communications across large geographic areas, and local area networks (LANs) communications at individual locations. Both WANs and LANs have enabled sharing of network applications such as electronic mail, file transfer, host access and shared databases. Furthermore, WANs and LANs have enabled efficient transfer of information, and sharing of resources, which in turn increased user productivity. Clearly, communications networks have become vitally important for businesses and individuals.
Communications networks usually transmit digital data in frames or packets created according to predefined protocols that define their format. Data frames include headers (located at the beginning and containing addresses), footers (located at the end of the frames), and data fields that include the transmitted data bits (payload). Data frames may have a fixed or variable length according to the used protocol or network type.
A communications network transmits data from one end station (i.e., a computer, workstation, server etc.) to another using a hierarchy of protocol layers (i.e., layers that are hierarchically stacked). In the communication process, each layer in the source communicates with the corresponding layer in the destination in accordance with a protocol defining the rules of communication. This is actually achieved by transferring information down from one layer to another across the layer stack, transmitting across a communication medium, and then transferring information back up the successive protocol layers on the other end. To facilitate better understanding, however, one can visualize a protocol layer communicating with its counterparts at the same layer level.
The open system interconnection (OSI) model has seven layers that define the rules for transferring information between the stations. A physical layer (Layer 1) is responsible for the transmission of bit streams across a particular physical transmission medium. This layer involves a connection between two endpoints allowing electrical signals to be exchanged between them.
A data link layer (Layer 2) is responsible for moving information across a particular link by packaging raw bits into logically structured packets or frames. Layer 2 ensures good transmission and correct delivery by checking errors, re-transmitting as necessary, and attaching appropriate addresses to the data sent across a physical medium. If a destination computer does not send an acknowledgment of frame receipt, Layer 2 resends the frame. The contention access methods (e.g., CSMA/CD, and Token Passing) are regarded as Layer 2 activities. Layer 2 may be further divided into two sub-layers: Logical Link Control (LLC) and Media Access Control (MAC). The MAC sublayer defines procedures the stations must follow to share the link and controls access to the transmission link in an orderly manner. The MAC sublayer defines a hardware or data link address called a MAC address. The MAC address is unique for each station so that multiple stations can share the same medium and still uniquely identify each other. The LLC sublayer manages communications between devices over a single link of the communications network.
A network layer (Layer 3) is set up to route data from one network user to another. Layer 3 is responsible for establishing, maintaining, and terminating the network connection between two users and for transferring data along that connection. Layer 3 addresses, messages, and determines the route along the network from the source to the destination computer. Layer 3 manages traffic, such as switching, routing, and controlling the congestion of data transmissions.
A transport layer (Layer 4) is responsible for providing data transfer between two users at an agreed level of quality. When a connection is established, this layer is responsible for selecting a particular quality of service (QoS), for monitoring transmissions to ensure the selected QoS, and for notifying the users if the QoS deteriorates. Layer 4 also provides for error recognition and recovery, repackaging of long messages into smaller frames of information, and acknowledgments of receipt.
A session layer (Layer 5) focuses on providing services used to organize communication and synchronize the dialog that takes place between users and to manage the data exchange. The primary concern of Layer 5 is controlling when users can send and receive concurrently or alternately. A presentation layer (Layer 6) is responsible for the presentation of information in a way that is meaningful to network users. This may include character code transmission, data conversion, or data compression and expansion.
Layer 6 translates data from both Layer 5 and from Layer 7 into an intermediate format and provides data encryption and compression services. Layer 7 is an application layer that provides means for application processes to access the system interconnection facilities in order to exchange information. This includes services used to establish and terminate the connections between users and to monitor and manage the systems being interconnected, as well as the various resources they employ.
As data is passed down through the layers, each layer may or may not add protocol information to the data, for example, by encapsulating frames with a header or removing the header, depending on the direction in the protocol stack. The individual protocols define the format of the headers.
MAC address includes a source address and a destination address, which have a predefined relationship to a network station. Higher network layers provide a network address that has a logical relationship established by a network administrator according to a predetermined network addressing arrangement. The assigned network address conveys information that can be used by a router when routing frames through the internetwork. If the network address is hierarchical, a router may use a portion of the address to route the packet to a higher-level partition or domain in the internetwork. Some protocols are hierarchical others are not so hierarchical routing may or may not be available.
The global network may be subdivided into IP networks, which in turn may be subdivided into subnets. An IP address includes a network number (assigned by IANA), a subnet number (assigned by a network administrator), and a host that identifies an end station. The host number may be assigned by a network administrator, or may be assigned dynamically. This is a form of hierarchical addressing that is used by IP routing algorithms to perform hierarchical or prefix routing operations. Routing algorithms maintain information of all higher-level routing environments in routing tables for domains by recording their shortest unique address prefixes.
A station may support more than one network layer protocol. Such station has multiple network addresses and multiple protocol stacks that present the same MAC address on a port for the different protocols. Thus, a multi-protocol stack station connected to both an IP and an IPX network includes an IP network address and an IPX network address.
A communications network may include a number of network entities (or nodes), a number of interconnecting links and communication devices. A network node is, for example, a personal computer, a network printer, file server or the like. An interconnecting link is, for example, an Ethernet, Token-Ring or other type network link. Communication devices include routers, switches, bridges or their equivalents. As computer networks have grown in size, network management systems that facilitate the management of network entities, communication links and communication devices have become necessary tools for a network administrator.
A bridge or a switch is a Layer 2 entity that is typically a computer with a plurality of ports for establishing connections to other entities. The bridging function includes receiving data from a port and transferring that data to other ports for receipt by other entities. A bridge moves data frames from one port to another using the end-station MAC address information contained in the switched frames. Switches interconnect the communication media to form small domains of stations, such as a subnetwork. Subnetworks or subnets provide an organizational overlay to an internetwork that facilitates transmission of data between the end stations, particularly for broadcast transmissions. The subnet functions to limit the proliferation of broadcast frames to stations within a broadcast domain.
A router is an intermediate station that interconnects domains or subnets by providing path from a node on a first network to a node on a second network. There are single protocol or multi-protocol routers, central or peripheral routers, and LAN or WAN routers. A peripheral router connects a network to a larger internetwork, and thus may be limited to a single protocol. A central router may be connected to a different board in a server or a hub and thus usually has a multi-protocol capability.
A router provides the path by first determining a route and then providing an initial connection for the path. A router executes network routing software that depends on the used protocol. A router can work with different data-link layer protocols and thus can connect networks using different architectures, for example, Ethernet to Token Ring to FDDI. Furthermore, there are routers of several levels, wherein, for example, a subnetwork router can communicate with a network router. Organizing a communications network into levels simplifies the routing tasks since a router needs to find only the level it must deal with. The use of different network levels is shown in
In general, a global communications network connects devices separated by hundreds of kilometers. A LAN covers a limited area of maximum several kilometers in radius connecting devices in the same building or in a group of buildings. LANs usually include bridges or switches connecting several end-stations and a server. In a LAN, a bridge or a switch broadcasts traffic to all stations. Until a few years ago, a LAN was user-owned (did not run over leased lines) with gateways to public or other private networks. When a user moved or changed to an end-station at another location on the network, a network administrator had to rewire and reconfigure the user's station. This has changed with the introduction of virtual LANs.
A virtual LAN (VLAN) is a logical Layer 2 broadcast domain, which enables a logical segmentation of the network without changing the physical connections. A VLAN enabled switch segments the connected stations into logically defined groups. Broadcast traffic from a server or an end-stations in a particular VLAN is replicated only on those ports connected to end-stations belonging to that VLAN. The broadcast traffic is blocked from ports with no end-points belonging to that VLAN, creating a similar type of broadcast containment that routers provide. VLANs may also be defined between different domains connected by a router. In this case, the router passes network traffic from one domain to the other (as done without defining a VLAN), and passes network traffic from one VLAN to the other. The router also passes network traffic between VLANs that are in the same domain because VLANs do not normally share user information. The router is configured as a member of all VLANS.
For example, an owner of a building (or campus) has completely wired the building (or campus) for networking. If the owner subleases parts of the wired building (or campus) to different tenants, the traffic from one tenant should not interfere with the traffic from another tenant. To accomplish this separation, each tenant is placed in its own VLAN, thereby completely separating network traffic. Thus, VLANs offer a significantly less expensive solution to private networks of this type. A VLAN uses a single physical network that can be partitioned into logically separate segments rather than having each tenant wire and support their own network. Routers, bridges and switches still provide the physical segmentation of the network.
There are several VLAN implementations and several methods used to determine VLAN membership. These methods include defining the membership by port, by MAC address, by protocol, by IP multicast address, by policy, or a combination of these methods. For port-based VLANs, IEEE 802.1Q defines an industry standard implementation. A large number of physical ports of a switch may be associated with a number of groups within the switch using a VLAN arrangement. This arrangement associates a port with a particular VLAN designation.
The VLAN designation is assigned (e.g., programmed) to each internal port and is stored in a memory portion of the switch. Every time a message is received by a switch on an internal port, the VLAN designation of that port is associated with the message.
Several switches can be interconnected to extend the VLAN port associations in the internetwork. This VLAN arrangement allows exchange of messages between all ports and entities of the network having the same VLAN designation by associating a VLAN designation with each message. This way the entities with the same VLAN designation operate as if they are all part of the same LAN. Each VLAN may be further associated with a subnet or broadcast domain so as to constrain broadcasting of frame messages to a defined subset of stations.
Virtual Private Networks (VPNs) have been designed to interconnect end-stations that are geographically dispersed. For example, owners of large communications networks can provide centralized management services to small and medium sized businesses. The provider can configure VPNs that interconnect various customer sites in geographically separate locations. These VPNs offer privacy and cost efficiency through sharing of network infrastructure. Various VPNs have been proposed with various degrees of security, privacy, scalability, ease of deployment and manageability.
A global communications network may use a different levels different routing and connection management protocols such as International Standards Organization (ISO) Open Systems Interface (OSI) Intermediate Systems to Intermediate Systems (IS—IS), and Internet Open Shortest Path First (OSPF) protocols are used for connectionless routing of data frames. Asynchronous Transfer Mode (ATM) Forum Private Network-Network-Interface (PNNI) protocol is used for connection oriented multi-media services. The routing protocols identify a network node using a global address of a Route Server Element (RSE). The RSEs generate routing that identifies optimal routes for communication throughout the network. The RSE is responsible for administration of the algorithms that enable a node to keep its view of the network topology and performance metric current, referred to as Routing Information Exchange (RIE). Thus an RSE usually acts as a central element for the routing of traffic through the node.
In general, the use of WANs, LANs, VPNs, and VLANs has increased the number and complexity of communications networks. These networks continuously evolve and change due to growth and introduction of new interconnections, topologies, protocols, or applications. Furthermore, most networks have redundant communication paths to prevent portions of the network from being isolated due to link failures. Also, multiple paths can be used simultaneously to load-balance data between the paths. However, redundant paths can also introduce problems such as formation of loops. Furthermore, network performance can degrade due to improper network configurations, inefficient or incorrect routing, redundant network traffic or other problems. Network hardware and software systems may also contain design flaws that affect network performance or limit access by users to certain of the resources on the network. These factors make network management complex and difficult.
A network management process controls and optimizes the efficiency and productivity of a communications network. A network management station manages the network entities (e.g., routers bridges switches, servers, storage devices, computers, printers) using a network management protocol such as a Simple Network Management Protocol (SNMP), Internet Control Message Protocol (ICMP), or another network management protocol known in the art. Using a network management protocol, the network management station can deliver information or receive information by actively polling the network entities or by receiving unsolicited information from the network entities. Using SNMP, a network management station can executes a set, get, or get-next functions to set and retrieve information from a network entity. This information may be stored within the polled network entity as Management Information Base (MIB). The network management station can receive unsolicited information from a network entity in the form of an SNMP trap. Network entities may send SNMP traps to the network management station when a problem in the network or network entity occurs.
A network management station may be implemented using any general purpose computer system, which is programmable using a high-level computer programming language or using specially programmed, special purpose hardware. The hardware includes a processor executing an operating system providing a platform for computer programs that run scheduling, debugging, input-output control, accounting compilation, storage assignment, data management, memory management, and communication control and other services. The application programs are written in high level programming languages.
A network management station can include a network manager unit, a network communication interface, a data acquisition unit, a data correlation unit, and a graphical user interface. The data correlation unit interprets data received through the data acquisition unit and presents the interpreted data to a user on the graphical user interface. The network communication interface may include transport protocols and LAN drivers used to communicate information to the communications network. The transport protocols may be IPX, TCP/IP or other well-known transport protocols. The LAN drivers may include software required to transmit data on a communications network through the network interface. The LAN drivers are generally provided by the manufacturer of the network interface for a general purpose computer for the purpose of communicating through the network interface. The network manager unit may be an SNMP network manager/agent implementing SNMP functions, or another type of network manager unit performing associated management functions. The network manager unit utilizes the network communication interface to transfer requests to network entities over a communications network.
A network management station may use a network management agent residing on a network entity. The network management agent may be a software process running on a processor or may be special purpose hardware. The network management agent may be an SNMP agent (or an ICMP agent), which may include a data collection unit, a network manager unit, and a network communication interface for communication as described above. For example, this communication may use network management functions such as SNMP functions. Alternatively, a network management agent, residing on a network entity, may include a data correlation unit, a data collection unit, a network manager unit and a network communication interface for communication.
In the network management station, the data correlation unit interprets data received through data acquisition unit. The data correlation unit may include an interface processor, a state processor, a hierarchical database, and one or more sets of object rules. The interface processor communicates with graphic libraries residing in the graphical user interface to present interpreted data to a user. The interface processor performs graphic functions associated with objects related to a network map or model. The graphic functions generate visual notifications to a user. The state processor performs correlation functions of the data correlation unit by requesting and receiving network management information from the data acquisition unit. The data acquisition unit stores data and requests information from the network manager.
In the network agent, the data correlation unit interprets data received by data collection unit. The state processor performs correlation functions of the data correlation unit by requesting and receiving network management information from the data collection unit. The data collection unit stores data and requests information from the network manager. In the network agent, the data collection unit can collect data from the network entity directly through its own network manager. The data collection and acquisition units can invoke network management commands within network manager libraries, which send and retrieve information from a network entity. These commands may be SNMP functions mentioned above, or ICMP functions. The state processor interprets data received from the network manager libraries in accordance with object rules. The object rules define how the state processor combines or parameterizes different properties of a network entity. The state processor can produce parameterized properties from the object rules.
The present invention is a system, a method and a product (that can be stored in a computer-readable storage medium) for detecting and suppressing faults on network elements located in various logical groups, wherein the logical groups include VLANs, VPNs, LAN Emulation over ATM, and other types of logical groups. The present system and method may also be used with one or more elements of a network management system described below.
According to one aspect, a system for fault status suppression in a communication network includes means for receiving fault data from a detector identifying fault status of a network element; means for mapping logical group of the detector and said network element; and means for suppressing a fault on the network element when the detector and the network element are in different logical groups and there is a fault on a device providing communication between the logical groups.
There are three main phases of the invention: the initial logical group mapping; logical group maintenance; and fault isolation between logical groups.
The advantage of the present system and method is that fault suppression in logically partitioned networks (such as VLANs, VPNs, LAN Emulation over ATM, etc.) in which a bounding network transit entity (such as a router, LAN Emulation server, or any other facility used to transfer traffic from one logical group to another) is at fault is now possible.
The present system and method improves upon a previous method of fault isolation by considering the forwarding and filtering behavior of the network elements when certain protocols partition the network into logical groups. Prior to detecting faults in the network, an NMS or some external process with an interface to the NMS will map out all the logical groups and the transit network elements that bound and connect the groups together. During this process, the NMS detects the membership, if any, of each managed element, including the computer on which a detector (e.g., a polling sub-system) of the NMS is running. During operation, when the NMS detects a fault in a managed element, the fault status of the element is suppressed if all of the following are true:
(a) the managed element in question is in a different logical group than the NMS polling subsystem;
(b) fault status is set on any network transit entity that is used in transferring traffic from the logical group containing the NMS polling subsystem and the logical group containing the managed element in question.
If the fault status of all routers located in the path to the managed element in question is clear, examination of the fault status of adjacent network elements proceeds as known in prior art, for example, U.S. Pat. No. 5,436,909, which is incorporated by reference.
In summary, a network management system periodically polls network elements. An element that does not respond to the manager's query is considered unreachable. The fault status of any unreachable element is suppressed when it can be inferred that the failure of another element is the cause of the element being unreachable. Prior art made this inference by examining the status of physically adjacent network elements, only. In a network involving logical groups (such as a VPN or VLAN environment), transit network entities (e.g., routers) may be responsible for unreachable status of another element even if the two elements are physically adjacent. By determining the logical topology of the network, the present system and method will identify a transit network entity (e.g., a router) that effects communication between the NMS and elements in any logical group. A fault suppressor suppresses the fault status of an unreachable element if such a transit network entity is also unreachable.
The present method and system enable identification of the logical groups in which managed elements in a computer network reside by examining the connectivity of network elements in relation to ports of the network elements. This is performed by a means of identifying the data-relay class of each network element.
The network management system 10 includes a commercially available processor (for example, Pentium microprocessor manufactured by Intel Corporation) executing an operating system providing an operating environment for a network management program. The processor and the operating, system provide a computer platform for which application programs are written in higher level programming languages. The computer (or application host) interfaces with permanent data storage, such as a magnetic or optical disk drive, a disk array, non-volatile RAM disk, or a storage area network, which maintain data files such as user configurations and policies. In general, the network management program may be configured as a generic software application residing in any commercially available computing platform.
Preferably, fault diagnosis engine 12, a fault status suppressor 15, topology mapper 14, and help desk system 18 are software applications written in JAVA and running on any computer with a Java Runtime Environment (JRE). For example, a Dell laptop computer with an Intel Pentium processor running the Windows 2000 operating system, or a Sun Ultra 60 computer running Solaris v. 2.7. Alternately, fault diagnosis engine 12, topology mapper 14, and help desk system 18 are developed in any object oriented or structured programming language, and compiled for execution on any one of many computer platforms, or could be implemented on a neural network computing device.
The computer has a network adaptor that provides communication (preferably, but not necessarily, IP) to the users on the network. The fault diagnosis engine application may share a host with help desk system, and/or the topology mapper, or each can run on a separate host, in which case they communicate using a network adaptor. Topology mapper 14 determines the network topology and creates a model. The permanent data storage holds data files that describe the current network topology, and configuration files that control the performance of topology mapper 14. A user is an end station, interfaced to access the network or services, used by a person who is using the network, or is using services provided by the network.
Internet service providers and telecommunications companies like AT&T, MCI, and Sprint provide and maintain autonomous systems 22,30,34,38, communicating by network routers 28,32 and 36. Routers 28,32 and 36 are organized into logical administrative groupings. The most common protocol used at this level is BGP (Border Gateway Protocol). Routers 28,32 and 36 use an External BGP protocol to organize router information, and are located at borders of the Autonomous Systems.
At the AS level 30, network routers 44 and 47 are again administratively organized into logical groupings called confederations. Routers 44 and 47 use an Internal BGP protocol to organize route information and form the borders of the confederations 40,42, and 48. If all the routers are using the same interior gateway protocol and are centrally located and administered, the AS 30 may not have distinct confederations 40,42 and 48, but function as both a confederation and an AS.
At the confederation level 40, one of many specific interior gateway routing protocols is used to determine routing information for data packets. The use of a given interior gateway routing protocol is confined to a single routing domain 50. The routing protocols include OSPF, RIP, and IS—IS. At routing domain level 50, border routers 56 and 58 are called Inter-Domain Routers since they have the ability to transmit data between distinct routing domains even if the domains use different interior gateway routing protocols. Within a particular interior gateway protocol, border routers may be treated as if they were AS border routers.
Within routing domain 50, a single interior gateway routing protocol is used. If the domain is large enough and the selected protocol supports sub-domains, routing domain 50 may be further broken up into sub-domains 60,62 and 64. OSPF may be used as the interior gateway protocol inside routing domain 50. OSPF allows network administrators to organize a network into yet-smaller administrative groupings, i.e., sub-domains 60, 62 and 64, called Areas. Border routers 63 and 65 at this level are called Area Border Routers, and use the OSPF protocol to determine how to transmit data between OSPF Areas 60, 62 and 64.
Inside an OSPF Area, interior routers use the OSPF protocol to determine the data paths. This is the final logical grouping which uses routers as its data transport mechanism. IP-based subnets 70, 72 and74 are typically defined as the sub-regions inside an OSPF Area. IP subnets 70, 72 and 74 define a common IP addressing space for devices inside the subnet.
At the subnet level 70, data is transmitted from router to router via Layer-2 bridges and switches. Typically, the subnet topology is highly redundant, with numerous physical connections between the bridges and switches. Layer-2 protocol (usually Spanning Tree) is used to determine the single path data will travel between bridges. Only one path will exist between any two devices inside a Subnet in which Spanning Tree is used.
Topology mapper 14 runs topology mapper algorithms for discovering and modeling a single aspect (or set of layers) of the generic model. As the characteristics or capabilities of each network device become known to mapper 14, an appropriate algorithm is executed. A BGP algorithm described in connection with
Alternatively, fault status suppressor 15 creates configuration map 100 based on algorithm 160 shown in
There are three main phases of the invention (1) the initial logical group mapping; (2) logical group maintenance; and (3) fault isolation between logical groups As stated explicitly above, the advantage of this invention is that fault suppression in logically partitioned networks (such as VLANs, VPNs, LAN Emulation over ATM, etc.) in which a bounding network transit entity (such as a router, LAN Emulation server, or any other facility used to transfer traffic from one logical group to another) is at fault is now possible.
If a repeater is found to be connected to a logical group port, all other elements connected to that repeater are considered part of the logical group. If a network transit entity is found to be connected to a logical group port, and that port is configured to forward data from multiple logical groups, that network transit entity is designated a bounding network transit entity for each logical group for which the connected port is forwarding data. The following diagram illustrates this algorithm.
In the preferred implementation, the NMS would have models that represent network elements and the interfaces (also referred to as ports) used by these elements to connect to other elements, and associations would exists between port models and the elements to which they connect. Models would be created for each logical group. Associations would be made between the logical group member models and the ports that forward traffic for those logical groups.
This is important because elements that participate in the logical grouping protocol (e.g. 802.1Q) can assign group memberships to individual ports. For this reason, the port membership of each VLAN switch must be periodically checked.
Whereas elements that do not participate in the logical grouping protocol derive their logical group membership from the ports of participating elements that they are connected to, either directly or indirectly, via a repeater. So, all ports of a particular non-participating element have the same group membership, and that group membership doesn't change until a port of this element is either connected to, or disconnected from another element.
Still referring the
In general, as shown in
Once the logical grouping of the non-participating element is established, it is propagated to all connected non-participating, non-bordering elements. This is done by changing the group membership of the ports of this non-participating element, and allowing the “port membership change” algorithm (190) run.
In addition to connectivity changes detected by the NMS, port configuration changes on individual network elements will cause changes to element's logical group designations. If a port is moved from logical group “A” to logical group “B”, the designation of all elements connected to the port must be updated to group “B”. As described above, the redundant connectivity in modern networks makes this no simple task either. For example, a repeater is connected to port of two participating elements; one port is a member of group “A” and “B”, the other port is only a member of “B”. Therefore, the repeater is a member of group “A” and “B”. Now, if the group membership of the second port changes from “B” to “A”, the membership of the repeater should not change.
To handle changes in port membership effectively, the algorithm first temporarily removes all connections to this port, causing the “remove connection” algorithm (described in text above) to run. Then, the algorithm updates the port group membership. Finally, the algorithm adds the connection back, causing the “new connection” algorithm (steps 196 through 204) to run.
When the NMS fails to communicate with a managed element either during a regular “ping” (are you alive) interval, or while performing some other function involving communication with the element, the new method of fault suppression is attempted. This method, as shown in the diagram below, first determines the logical group membership of the unreachable element in relation to the logical group membership of the communication subsystem of the NMS. If the two elements are in different logical groups, the NMS will try to contact all the bounding network transit entities between the two logical groups. If any bounding network transit entity cannot be contacted, the fault status of the unreachable element will be suppressed. Otherwise, if all bounding network transit entities can be contacted by the NMS, the fault isolation algorithm invented by Dev, et al. al. will be invoked.
An NMS using steps 250 through 255 will suppress the fault status of NE1 (as well as those elements outside of VLAN B within Domain 1). Failure of polling system 120 to contact NE2 will not cause the evaluation of the fault status of R1, because, since NE2 and polling system 120 are both in VLAN B, R1 is not needed for the transmission of data between the two network elements. Therefore, a simple evaluation of the adjacent network elements is sufficient for fault isolation.
If polling system 120 fails to contact NE3, evaluation of the adjacent network elements is also sufficient. Router 102 is necessary for the transmission of data between polling system 120 and NE3, but, because NE3 is in a different domain, the fault status of R1 will eventually be considered by the algorithm if this element is at fault. The algorithm will continue to evaluate the adjacent network elements until a reachable element is found. If router 102 is not functioning, none of the elements in VLAN Domain 2 will be reachable from the polling system. Because router 102 is adjacent to switch 132, the algorithm will evaluate the status of router 102 while determining the status of switch 132.
As shown above, routed networks are generally hierarchical in nature. A packet transmitted from an element in one segment destined for another segment must go up through repeaters, bridges, and possibly several layers of routers, before going back down through more bridges and repeaters before reaching its destination. The routers in the network are the boundaries of each logical group (subnet, VLANS, VPN, etc.). A further improved fault isolation process checking the status of each router in the path from the NMS to an unreachable device first, can isolate the fault to a particular logical group. Any router in the path that is unreachable, and yet has a reachable adjacent router would be the subject for the linear search known in prior art. This improved algorithm can substantially decrease the number of elements that must be polled during the fault isolation process. This translates into a faster determination of the faulty element. However, the algorithm requires the NMS to have a knowledge of which routers are required for data transmission between the polling system and any managed network element. This knowledge can be provided by topology mapper 14 described in co-pending PCT application PCT/US01/14767, entitled: System and Methods for Constructing Multi-Layer Topological Models of Computer Networks, filed on May 7, 2001, which is incorporated by reference.
The present invention may also be used together with fault diagnosis system 12 described in detail in the co-pending PCT application PCT/US01/14618 entitled “Systems and Methods for Diagnosing Faults in Computer Networks” filed on May 7, 2001, which is incorporated by reference.
Numerous other embodiments not described in detail here can apply the principles described to particular applications and are within the scope of the claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4827411||Jun 15, 1987||May 2, 1989||International Business Machines Corporation||Method of maintaining a topology database|
|US5127005||Sep 19, 1990||Jun 30, 1992||Ricoh Company, Ltd.||Fault diagnosis expert system|
|US5159685||Dec 6, 1989||Oct 27, 1992||Racal Data Communications Inc.||Expert system for communications network|
|US5261044||Nov 7, 1991||Nov 9, 1993||Cabletron Systems, Inc.||Network management system using multifunction icons for information display|
|US5297138||Apr 30, 1991||Mar 22, 1994||Hewlett-Packard Company||Determining physical topology across repeaters and bridges in a computer network|
|US5367667||Sep 25, 1992||Nov 22, 1994||Compaq Computer Corporation||System for performing remote computer system diagnostic tests|
|US5377196||Dec 30, 1993||Dec 27, 1994||Hewlett-Packard Company||System and method of proactively and reactively diagnosing a data communication network|
|US5436909||Nov 7, 1991||Jul 25, 1995||Cabletron Systems, Inc.||Network management system using status suppression to isolate network faults|
|US5521910||Oct 5, 1994||May 28, 1996||Cabletron Systems, Inc.||Method for determining a best path between two nodes|
|US5559955||Dec 13, 1994||Sep 24, 1996||Cabletron Systems, Inc.||Method and apparatus for monitoring the status of non-pollable device in a computer network|
|US5590120||Oct 31, 1995||Dec 31, 1996||Cabletron Systems, Inc.||Port-link configuration tracking method and apparatus|
|US5608874||Apr 8, 1995||Mar 4, 1997||Autoentry Online, Inc.||System and method for automatic data file format translation and transmission having advanced features|
|US5627819||Jan 9, 1995||May 6, 1997||Cabletron Systems, Inc.||Use of multipoint connection services to establish call-tapping points in a switched network|
|US5649103||Jul 13, 1995||Jul 15, 1997||Cabletron Systems, Inc.||Method and apparatus for managing multiple server requests and collating reponses|
|US5666481||Feb 26, 1993||Sep 9, 1997||Cabletron Systems, Inc.||Method and apparatus for resolving faults in communications networks|
|US5675741||Oct 25, 1994||Oct 7, 1997||Cabletron Systems, Inc.||Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network|
|US5687290||Oct 15, 1996||Nov 11, 1997||Cabletron Systems, Inc.||Method and apparatus for monitoring and controlling communications networks|
|US5691917||May 5, 1995||Nov 25, 1997||Hewlett-Packard Company||Event-processing system and method of constructing such a system|
|US5696486||Nov 16, 1995||Dec 9, 1997||Cabletron Systems, Inc.||Method and apparatus for policy-based alarm notification in a distributed network management environment|
|US5706436||Feb 1, 1995||Jan 6, 1998||Cabletron Systems, Inc.||Apparatus and method for evaluation network traffic performance|
|US5727157||Dec 19, 1996||Mar 10, 1998||Cabletron Systems, Inc.||Apparatus and method for determining a computer network topology|
|US5729685||Sep 13, 1996||Mar 17, 1998||Bay Networks, Inc.||Apparatus for determining the topology of an ATM network or the like Via communication of topology information between a central manager and switches in the network over a virtual service path|
|US5734642||Dec 22, 1995||Mar 31, 1998||Cabletron Systems, Inc.||Method and apparatus for network synchronization|
|US5734824||Dec 3, 1996||Mar 31, 1998||Bay Networks, Inc.||Apparatus and method for discovering a topology for local area networks connected via transparent bridges|
|US5748781||Jan 4, 1995||May 5, 1998||Cabletron Systems, Inc.||Method and apparatus for digital data compression|
|US5751965||Mar 21, 1996||May 12, 1998||Cabletron System, Inc.||Network connection status monitor and display|
|US5751967 *||Jul 15, 1996||May 12, 1998||Bay Networks Group, Inc.||Method and apparatus for automatically configuring a network device to support a virtual network|
|US5768501||May 28, 1996||Jun 16, 1998||Cabletron Systems||Method and apparatus for inter-domain alarm correlation|
|US5777549||Mar 29, 1995||Jul 7, 1998||Cabletron Systems, Inc.||Method and apparatus for policy-based alarm notification in a distributed network management environment|
|US5787234||Jun 10, 1997||Jul 28, 1998||Molloy; Bruce G.||System and method for representing and retrieving knowledge in an adaptive cognitive network|
|US5793362||Dec 4, 1995||Aug 11, 1998||Cabletron Systems, Inc.||Configurations tracking system using transition manager to evaluate votes to determine possible connections between ports in a communications network in accordance with transition tables|
|US5832503||Feb 24, 1995||Nov 3, 1998||Cabletron Systems, Inc.||Method and apparatus for configuration management in communications networks|
|US5850397||Apr 10, 1996||Dec 15, 1998||Bay Networks, Inc.||Method for determining the topology of a mixed-media network|
|US5864662||Jun 28, 1996||Jan 26, 1999||Mci Communication Corporation||System and method for reported root cause analysis|
|US5889953||Mar 29, 1996||Mar 30, 1999||Cabletron Systems, Inc.||Policy management and conflict resolution in computer networks|
|US5907696||Jul 3, 1996||May 25, 1999||Cabletron Systems, Inc.||Network device simulator|
|US5987442||Oct 24, 1997||Nov 16, 1999||Cabeltron Systems, Inc.||Method and apparatus for learning network behavior trends and predicting future behavior of communications networks|
|US6003090||Apr 23, 1997||Dec 14, 1999||Cabletron Systems, Inc.||System for determining network connection availability between source and destination devices for specified time period|
|US6014697||Dec 18, 1996||Jan 11, 2000||Cabletron Systems, Inc.||Method and apparatus for automatically populating a network simulator tool|
|US6026442||Nov 24, 1997||Feb 15, 2000||Cabletron Systems, Inc.||Method and apparatus for surveillance in communications networks|
|US6026500||May 13, 1997||Feb 15, 2000||Electronic Data Systems Corporation||Method and system for managing computer systems|
|US6041383||Jul 22, 1996||Mar 21, 2000||Cabletron Systems, Inc.||Establishing control of lock token for shared objects upon approval messages from all other processes|
|US6064304||May 10, 1999||May 16, 2000||Cabletron Systems, Inc.||Method and apparatus for policy-based alarm notification in a distributed network management environment|
|US6069895||Aug 29, 1997||May 30, 2000||Nortel Networks Corporation||Distributed route server|
|US6079020||Jan 27, 1998||Jun 20, 2000||Vpnet Technologies, Inc.||Method and apparatus for managing a virtual private network|
|US6084858||Jan 29, 1997||Jul 4, 2000||Cabletron Systems, Inc.||Distribution of communication load over multiple paths based upon link utilization|
|US6101180||Nov 12, 1997||Aug 8, 2000||Starguide Digital Networks, Inc.||High bandwidth broadcast system having localized multicast access to broadcast content|
|US6101500||Jan 7, 1998||Aug 8, 2000||Novell, Inc.||System and method for managing objects in a hierarchical data structure|
|US6112251||Jan 13, 1998||Aug 29, 2000||Cabletron Systems, Inc.||Virtual local network for sending multicast transmissions to trunk stations|
|US6115362||Mar 28, 1997||Sep 5, 2000||Cabletron Systems, Inc.||Method and apparatus for determining frame relay connections|
|US6131112||May 17, 1996||Oct 10, 2000||Cabletron Systems, Inc.||Method and apparatus for integrated network and systems management|
|US6141720||Jun 12, 1997||Oct 31, 2000||Cabletron Systems, Inc.||Method and apparatus for coordination of a shared object in a distributed system|
|US6147995||Aug 31, 1999||Nov 14, 2000||Cabletron Systems, Inc.||Method for establishing restricted broadcast groups in a switched network|
|US6158011||Feb 26, 1999||Dec 5, 2000||V-One Corporation||Multi-access virtual private network|
|US6173399||Jun 12, 1997||Jan 9, 2001||Vpnet Technologies, Inc.||Apparatus for implementing virtual private networks|
|US6185619||Nov 7, 1997||Feb 6, 2001||Genuity Inc.||Method and apparatus for balancing the process load on network servers according to network and serve based policies|
|US6195349||Jan 28, 1998||Feb 27, 2001||3Com Corporation||Scalable logical LAN|
|US6199172||Feb 6, 1996||Mar 6, 2001||Cabletron Systems, Inc.||Method and apparatus for testing the responsiveness of a network device|
|US6205488||Nov 13, 1998||Mar 20, 2001||Nortel Networks Limited||Internet protocol virtual private network realization using multi-protocol label switching tunnels|
|US6216168||Mar 17, 1997||Apr 10, 2001||Cabletron Systems, Inc.||Perspective-based shared scope address resolution method and apparatus|
|US6230194||Jul 14, 1997||May 8, 2001||Freegate Corporation||Upgrading a secure network interface|
|US6233623||Jan 11, 1996||May 15, 2001||Cabletron Systems, Inc.||Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state|
|US6324590||Mar 31, 2000||Nov 27, 2001||Cabletron Systems, Inc.||Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state|
|US6349306||Oct 30, 1998||Feb 19, 2002||Aprisma Management Technologies, Inc.||Method and apparatus for configuration management in communications networks|
|US6392667||Jun 9, 1997||May 21, 2002||Aprisma Management Technologies, Inc.||Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective|
|US20020133756 *||Feb 7, 2002||Sep 19, 2002||Maple Optical Systems, Inc.||System and method for providing multiple levels of fault protection in a data communication network|
|US20030069972 *||Feb 25, 2002||Apr 10, 2003||Yutaka Yoshimura||Computer resource allocating method|
|1||International Search Report issued in PCT/US01/14815 dated Dec. 19, 2001.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7237138||May 7, 2001||Jun 26, 2007||Computer Associates Think, Inc.||Systems and methods for diagnosing faults in computer networks|
|US7281170||Oct 29, 2002||Oct 9, 2007||Computer Associates Think, Inc.||Help desk systems and methods for use with communications networks|
|US7310666 *||Jun 29, 2001||Dec 18, 2007||International Business Machines Corporation||Method and system for restricting and enhancing topology displays for multi-customer logical networks within a network management system|
|US7315963 *||Aug 10, 2004||Jan 1, 2008||International Business Machines Corporation||System and method for detecting errors in a network|
|US7373403 *||Aug 22, 2002||May 13, 2008||Agilent Technologies, Inc.||Method and apparatus for displaying measurement data from heterogeneous measurement sources|
|US7500143||May 7, 2001||Mar 3, 2009||Computer Associates Think, Inc.||Systems and methods for managing and analyzing faults in computer networks|
|US7512841 *||Oct 22, 2004||Mar 31, 2009||Hewlett-Packard Development Company, L.P.||Method and system for network fault analysis|
|US7529974||Nov 30, 2006||May 5, 2009||Microsoft Corporation||Grouping failures to infer common causes|
|US7533288 *||Oct 13, 2006||May 12, 2009||Keisuke Hatasaki||Method of achieving high reliability of network boot computer system|
|US7562132 *||Oct 4, 2007||Jul 14, 2009||International Business Machines Corporation||Method and system for restricting and enhancing topology displays for multi-customer logical networks within a network management system|
|US7725774||Aug 3, 2007||May 25, 2010||International Business Machines Corporation||Methods, systems, and media to correlate errors associated with a cluster|
|US7752024||Oct 29, 2002||Jul 6, 2010||Computer Associates Think, Inc.||Systems and methods for constructing multi-layer topological models of computer networks|
|US7840835||Apr 30, 2009||Nov 23, 2010||Hitachi, Ltd.||Method of achieving high reliability of network boot computer system|
|US7852880||Dec 13, 2006||Dec 14, 2010||Fujitsu Limited||Provision of TDM service over GPON using VT encapsulation|
|US7903556 *||Nov 3, 2005||Mar 8, 2011||Hewlett-Packard Development Company, L.P.||Method of controlling data transfers between nodes in a computer system|
|US7966515||Nov 8, 2010||Jun 21, 2011||Hitachi, Ltd.||Method of achieving high reliability of network boot computer system|
|US7990853||Dec 12, 2006||Aug 2, 2011||Fujitsu Limited||Link aggregation with internal load balancing|
|US8136012 *||Mar 23, 2007||Mar 13, 2012||Infovista Sa||Method and system for updating topology changes of a computer network|
|US8184625||Dec 13, 2006||May 22, 2012||Fujitsu Limited||GPON management system|
|US8200803||Jun 28, 2011||Jun 12, 2012||International Business Machines Corporation||Method and system for a network management framework with redundant failover methodology|
|US8289858||Dec 12, 2006||Oct 16, 2012||Fujitsu Limited||ONU delay and jitter measurement|
|US8407514||May 24, 2011||Mar 26, 2013||Hitachi, Ltd.||Method of achieving high reliability of network boot computer system|
|US8423827||Dec 28, 2009||Apr 16, 2013||International Business Machines Corporation||Topology based correlation of threshold crossing alarms|
|US8572435||Aug 5, 2009||Oct 29, 2013||International Business Machines Corporation||System and method for correlating carrier ethernet connectivity fault management events|
|US8750106 *||Jan 28, 2011||Jun 10, 2014||Nec Corporation||Interface control system and interface control method|
|US9083560||Apr 1, 2010||Jul 14, 2015||Microsoft Technologies Licensing, Llc.||Interactive visualization to enhance automated fault diagnosis in networks|
|US9344323 *||Jan 23, 2014||May 17, 2016||Ciena Corporation||G.8032 ethernet multiple fault recovery mechanisms|
|US20030009547 *||Jun 29, 2001||Jan 9, 2003||International Business Machines Corporation||Method and system for restricting and enhancing topology displays for multi-customer logical networks within a network management system|
|US20030046390 *||Oct 29, 2002||Mar 6, 2003||Scott Ball||Systems and methods for construction multi-layer topological models of computer networks|
|US20030056140 *||Oct 29, 2002||Mar 20, 2003||Taylor David K.||Help desk systems and methods for use with communications networks|
|US20030149919 *||May 7, 2001||Aug 7, 2003||Joseph Greenwald||Systems and methods for diagnosing faults in computer networks|
|US20040037230 *||Aug 22, 2002||Feb 26, 2004||Kroboth Robert H.||Method and apparatus for displaying measurement data from heterogeneous measurement sources|
|US20040078683 *||May 7, 2001||Apr 22, 2004||Buia Christhoper A.||Systems and methods for managing and analyzing faults in computer networks|
|US20060036906 *||Aug 10, 2004||Feb 16, 2006||International Business Machines Corporation||System and method for detecting errors in a network|
|US20060107086 *||Oct 22, 2004||May 18, 2006||Walker Anthony P M||Method and system for network fault analysis|
|US20070097953 *||Nov 3, 2005||May 3, 2007||Lesartre Gregg B||Method for controlling data transfers through a computer system|
|US20070133424 *||Dec 12, 2006||Jun 14, 2007||Fujitsu Network Communications, Inc.||ONU delay and jitter measurment|
|US20070133618 *||Dec 12, 2006||Jun 14, 2007||Fujitsu Network Communications, Inc.||Link aggregation with internal load balancing|
|US20070171600 *||Dec 13, 2006||Jul 26, 2007||Albert Pedoeem||Electronics enclosure with solar shield|
|US20070201486||Dec 13, 2006||Aug 30, 2007||David Solomon||GPON management system|
|US20070211763 *||Dec 13, 2006||Sep 13, 2007||David Solomon||Provision of TDM service over GPON using VT encapsulation|
|US20070260912 *||Oct 13, 2006||Nov 8, 2007||Hitachi, Ltd.||Method of achieving high reliability of network boot computer system|
|US20080019499 *||Oct 4, 2007||Jan 24, 2008||Jason Benfield|
|US20080133288 *||Nov 30, 2006||Jun 5, 2008||Microsoft Corporation||Grouping Failures to Infer Common Causes|
|US20080320338 *||Aug 3, 2007||Dec 25, 2008||Calvin Dean Ward||Methods, systems, and media to correlate errors associated with a cluster|
|US20090177953 *||Mar 23, 2007||Jul 9, 2009||Cau Stephane||Method and system for updating topology changes of a computer network|
|US20090217082 *||Apr 30, 2009||Aug 27, 2009||Hitachi, Ltd.||Method of Achieving High Reliablility of Network Boot Computer System|
|US20110035628 *||Aug 5, 2009||Feb 10, 2011||Martin Daniel J||System And Method For Correlating Carrier Ethernet Connectivity Fault Management Events|
|US20110060941 *||Nov 8, 2010||Mar 10, 2011||Hitachi, Ltd.||Method of Achieving High Reliability of Network Boot Computer System|
|US20110188373 *||Jan 28, 2011||Aug 4, 2011||Shuichi Saito||Interface control system and interface control method|
|US20110225449 *||May 24, 2011||Sep 15, 2011||Hitachi, Ltd.||Method of Achieving High Reliability of Network Boot Computer System|
|WO2010083397A1 *||Jan 15, 2010||Jul 22, 2010||Vss Monitoring, Inc.||Intelligent fast switch-over network tap system and methods|
|International Classification||H04L12/437, G06F, H04L12/56, H04L12/24, H04L29/14, G06F11/00|
|Cooperative Classification||H04L69/40, H04L41/0618, H04L45/28, H04L45/04, H04L45/22, H04L41/0893|
|European Classification||H04L29/14, H04L45/22, H04L45/28, H04L41/06A3, H04L45/04|
|Oct 6, 2004||AS||Assignment|
Owner name: APRISMA MANAGEMENT TECHNOLOGIES, INC., NEW HAMPSHI
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOSA, PATRICK A.;GREENWALD, JOSEPH;BUIA, CHRISTOPHER A.;AND OTHERS;REEL/FRAME:015224/0567;SIGNING DATES FROM 20040621 TO 20040929
|Mar 19, 2007||AS||Assignment|
Owner name: CONCORD COMMUNICATIONS, INC., MASSACHUSETTS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:APRISMA MANAGEMENT TECHNOLOGIES, INC.;REEL/FRAME:019028/0320
Effective date: 20070208
Owner name: CONCORD COMMUNICATIONS, INC.,MASSACHUSETTS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:APRISMA MANAGEMENT TECHNOLOGIES, INC.;REEL/FRAME:019028/0320
Effective date: 20070208
|Mar 22, 2007||AS||Assignment|
Owner name: COMPUTER ASSOCIATES THINK, INC., NEW YORK
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONCORD COMMUNICATIONS, INC.;REEL/FRAME:019047/0414
Effective date: 20070208
Owner name: COMPUTER ASSOCIATES THINK, INC.,NEW YORK
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CONCORD COMMUNICATIONS, INC.;REEL/FRAME:019047/0414
Effective date: 20070208
|Jan 29, 2010||FPAY||Fee payment|
Year of fee payment: 4
|Feb 6, 2014||FPAY||Fee payment|
Year of fee payment: 8