A method and system are described herein for obtaining IGP network information useful in determining network routing topologies. The method involves querying a router for its router identifier and all its area identifiers, counting the router's number of area identifiers to determine whether the router is an ABR or an ASBR, and querying the router's link state database for the lowest area identifier on the router. The method further involves importing all Type 1 and Type 2 LSAs for that area into the database of a network discovery software engine, importing from the router's link state database only those networks outside the router's autonomous system that are also directly connected to an ASBR, then moving to the next highest area identifier in the router's database to repeat importing Type 1 and Type 2 LSAs for that area into the database. Next, the method involves importing from the router's link state database only those networks outside the router's autonomous system that are also directly connected to an ASBR. This process is repeated until there are no more areas on the router that have not been processed. Then, starting with the lowest area-identifier discovered, all networks in the area making LSAs other than Type 1 or Type 2 are swept. The entire process is repeated for every router discovered.

Patent
   7423979
Priority
May 18 2001
Filed
Sep 26 2003
Issued
Sep 09 2008
Expiry
Mar 24 2024

TERM.DISCL.
Extension
1041 days
Assg.orig
Entity
Large
27
165
EXPIRED
1. A method for determining a topology of a network, the method comprising:
communicating with a first router in the network;
querying a first link state database of the first router for first Type 1 and Type 2 link state advertisements in a first area;
importing the Type 1 and Type 2 link state advertisement into a network topology information database; and
sweeping all networks in the first area announced by the first router and which make Type 3, Type 4, Type 5 or Type 7 announcements.
10. A method for determining a topology of a network, the method comprising:
communicating with a first router in the network;
querying a first link state database of the first router for first Type 1 and Type 2 link state advertisements in a first area;
importing the first Type 1 and Type 2 link state advertisements into a network topology information database;
querying the first router for a first area identifier;
determining whether the first router is an autonomous system boundary router based on the first area identifier; and
when the first router is an autonomous system boundary router, querying the first router for networks directly connected to the first router and ignoring all other Type 5 announcements in the first link state database.
13. A method for determining a topology of a network, the method comprising:
communicating with a first router in the network;
querying a first link state database of the first router for first Type 1 and Type 2 link state advertisements in a first area;
importing the first Type 1 and Type 2 link state advertisements into a first network topology information database;
querying the first router for a first area identifier;
determining whether the first router is an area border router based on the first area identifier; and
when the first router is an area border router, querying the first router for other areas bordered by the first router, and
importing topologies of the networks in the other areas into the network topology information database.
2. The method as recited in claim 1, further comprising:
querying the first router for a router identifier; and
determining a number of areas connected to the first router.
3. The method as recited in claim 1, further comprising importing into the network topology information database additional topology information for all networks directly connected to the first router.
4. The method as recited in claim 1, further comprising:
querying the first link state database for each respective area connected to the first router to determine respective Type 1 and Type 2 link advertisements for the respective areas; and
importing into the network topology information database, the respective Type 1 and Type 2 link state advertisements.
5. The method as recited in claim 1, wherein when the sweeping locates a second router, the method further comprises:
communicating with the second router;
querying a second link state database of the second router for second Type 1 and Type 2 link state advertisements in a second area; and
importing the second Type 1 and Type 2 link state advertisements into the network topology information database.
6. The method as recited in claim 1, further comprising sweeping all networks in the first area announced by the first router and which do not make Type 3, Type 4, Type 5 or Type 7 announcements.
7. The method as recited in claim 6, wherein when the sweeping locates a second router, the method further comprises:
communicating with the second router;
querying a second link state database of the second router for second Type 1 and Type 2 link state advertisements in a second area; and
importing the second Type 1 and Type 2 link state advertisements into the network topology information database.
8. The method as recited in claim 5, further comprising sweeping all networks in the second area announced by the second router and which do not make Type 3, Type 4, Type 5 or Type 7 announcements.
9. The method as recited in claim 8, wherein when the sweeping locates a third router, the method further comprises:
communicating with the third router;
querying a third link state database of the third router for third Type 1 and Type 2 link state advertisements in a third area; and
importing the third Type 1 and Type 2 link state advertisements into the network typology information database.
11. The method as recited in claim 10, further comprising:
parsing the first link state database for a second router in the first area having a second link state database and providing Type 3, Type 4 or Type 5 announcements in the first area;
communicating with the second router;
when the second router is in a second area,
querying the second link state database of the second router for second Type 1 and Type 2 link state advertisements in the second area, and
importing the second Type 1 and Type 2 link state advertisements into the network topology information database;
querying the second router for a second area identifier;
determining whether the second router is an autonomous system boundary router based on the second area identifier; and
when the second router is an autonomous system boundary router, querying the second router for networks directly connected to the second router and ignoring all other Type 5 announcements in the second link state database.
12. The method as recited in claim 10, further comprising:
parsing the first link state database for a second router in the first area having a second link state database and providing Type 3, Type 4 or Type 5 announcements in the first area;
communicating with the second router;
when the second router is in a second area,
querying the second link state database of the second router for second Type 1 and Type 2 link state advertisements in the second area, and
importing the second Type 1 and Type 2 link state advertisements into the network topology information database;
querying the second router for a second area identifier;
determining whether the second router is an area border router based on the second area identifier; and
when the second router is an area border router, querying the second router for other areas bordered by the second router, and
importing topologies of the networks in the other areas into the network topology information database.
14. The method as recited in claim 13, further comprising:
parsing the first link state database for a second router in the first area having a second link state database and providing Type 3, Type 4 or Type 5 announcements in the first area;
communicating with the second router;
when the second router is in a second area,
querying the second link state database of the second router for second Type 1 and Type 2 link state advertisements in the second area, and
importing the second Type 1 and Type 2 link state advertisements into the second network topology information database;
querying the second router for a second area identifier;
determining whether the second router is an area border router based on the second area identifier;
determining whether the second router is an autonomous system boundary router based on the second area identifier;
when the second router is an autonomous system boundary router, querying the second router for networks directly connected to the first router and ignoring all other Type 5 announcements in the second link state database.
15. The method as recited in claim 13, further comprising:
parsing the first link state database for a second router in the first area having a second link state database and providing Type 3, Type 4 or Type 5 announcements in the first area;
communicating with the second router;
when the second router is in a second area,
querying the second link state database of the second router for second Type 1 and Type 2 link state advertisements in the second area, and
importing the second Type 1 and Type 2 link state advertisements into the network topology information database;
querying the second router for a second area identifier;
determining whether the second router is an autonomous system boundary router based on the second area identifier; and
when the second router is an autonomous system boundary router, querying the second router for networks directly connected to the second router and ignoring all other Type 5 announcements in the second link state database.

This application is a Continuation of U.S. application Ser. No. 09/861,167, filed May 18, 2001, now U.S. Pat. No. 6,744,739.

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.

This invention relates to computer networks: More particularly, the invention relates to methods and systems for determining a routing topology of a computer network by obtaining and utilizing Interior Gateway Protocol (IGP) routing information or Exterior Gateway Protocol (EGP) routing information.

Computer networks are growing in complexity and criticality. For example, a large corporation may support a computer network with tens of thousands of individual computers and thousands of network routers, hubs, repeaters or other network connectivity hardware. These networks are in many cases vital to an organization's functioning, and in some cases are mission- or life-critical.

Because of increasing network size and complexity, service provider networks (such as Internet service providers or application service providers) in particular are quickly growing beyond the ability of current methods to manage them. For example, the typical level of modification and reconfiguration in a complex service provider network is at best difficult and time-consuming to understand or document.

Although several commercially and freely available software packages attempt to address network complexity problems, and some theoretical work has been done in this field, effective solutions to comprehensive network management problems in complex networks remain elusive or non-existent.

Increasingly, the problem in a large, complex network is not a change in the actual physical topology. There are known methods for solving the problem of single points of failure and link layer failures. For example, protection switching on the SONET layer of a network, as known to one skilled in the art, can address physical topology management issues such as single-points of failure or link layer failures among other things. The automatic protection switching (APS) feature is supported, for example, on Cisco 7500 series routers and Cisco 12000 series routers, which allow switchover of packet-over-SONET (POS) circuits in the event of circuit failure, and is often required when connecting SONET equipment to Telco equipment. Here, APS refers to the mechanism of using a “protect” POS interface in the SONET network as the backup for a “working” POS interface. When the working interface fails, the protect interface quickly assumes its traffic load.

The problem in many service provider networks is the topology change produced by the routing protocols. Routing protocols and routing policies are how service providers control traffic and manage traffic across their network and with other service provider networks. For example, a large service provider network may have a relatively stable configuration of computing nodes and interconnection hardware, which can dynamically load balance a variety of incoming network traffic primarily through packet traffic rerouting. Thus, when one node on the service provider network is overwhelmed by traffic, software methods can be used to reconfigure routers and compute nodes so that incoming traffic is redistributed and congestion is decreased or eliminated.

The existing efforts in this area are concerned with discovering physical networks and physical topologies, not routing topologies. However, physical topologies alone do not necessarily provide a complete and accurate representation of the topology of information flow in a network or networks, which is affected not only by the topology but also by routing considerations. For example, even though a router may be directly connected to a particular network or networks, traffic bound for that network or those networks may never cross that router. The actual flow of packets through the network or networks is controlled by the routing protocols via techniques known to those skilled in the art of network management, such as, for example, route summarization (where an internetwork is divided into logical areas, with each area's border router advertising only a single summary route to other areas in order to reduce routing table size), route filters (where an additional metric rates relative reliability of individual networks as a source from which to determine optimal routes), and related routing polices.

As a further example, physical topology alone does not take into account information flow within a network as affected by multiple routers being directly connected to a particular network. How the traffic bound for that network is distributed, if at all, across those routers is a result of specific settings in the routing protocols. Thus, by changing settings in the routing protocols, traffic distribution, and thus routing topology, is fundamentally altered.

In terms of the ISO/OSI network model, (described in Douglas Comer's two volume work entitled “Internetworking with TCP/IP,” which is hereby incorporated by reference), previous work is focussed on understanding layer 2 and layer 3 topologies. The previous work does not analyze or take into account actual traffic flow.

While several commercial products for determining network topology are available, these products have serious drawbacks relating to their inability to take into account routing topology. For example, HP's Openview does not consider subnet masks. Other commercial products such as Riversoft's Openriver do not take into account routing protocols at all.

As recognized by the inventors, IGP information, such as may be obtained by IGP link state databases, may be particularly useful in determining routing topologies. However, the existing methods do not utilize IGP information in routing topology determination. Thus, there is a need in the art for a method of determining routing topology of a computer network, particularly in the context of complex networks, and for obtaining IGP information useful in determining routing topology of a computer network.

It is an object of the present invention to solve the problems described above associated with existing methods of determining network topologies.

It is still another object of the invention to provide a method for determining routing topologies in networks, including complex networks.

It is still another object of the invention to provide a method for determining routing topologies in networks, including complex networks, that takes into account actual packet routing traffic flows and routing topologies.

In one embodiment, the invention provides a method and system for determining routing topology in a computer network, and comprises obtaining IGP information, obtaining EGP information, and utilizing the IGP and EGP information to determine network topologies.

In another embodiment, the invention provides a method and system for determining routing topology in a computer network, and comprises obtaining IGP information to determine the effects of routing protocols on network topology; obtaining EGP information by obtaining Border Gateway Protocol (BGP) information utilizing an EGP peer; and utilizing the IGP and EGP information to create topological network views.

In still another embodiment, the invention provides a method and system for obtaining IGP information by querying IGP link state databases.

In still another embodiment, the invention comprises a method for obtaining IGP network information useful in determining network routing topologies, comprising querying a router for its router identifier and all its area identifiers, counting the router's number of area identifiers to determine whether the router is an ABR or an ASBR, querying the router's link state database for the lowest area identifier on the router, importing all the Type 1 and Type 2 LSAs for that area into the database of the network discovery software engine, importing from the router's link state database only those networks outside the router's autonomous system that are also directly connected to an ASBR, then moving to the next highest area identifier in the router's database to repeat importing Type 1 and Type 2 LSAs for that area into the database of the network discovery software engine and importing from the router's link state database only those networks outside the router's autonomous system that are also directly connected to an ASBR repeating this process until there are no more areas on the router that have not been processed, then starting with the lowest area identifier discovered, sweeping all networks in the area making LSAs other than Type 1 or Type 2, and repeating the entire process for every router discovered.

In still another embodiment, a method in accordance with the invention comprises obtaining EGP information, useful in determining network routing topologies, by obtaining BGP information utilizing an EGP peer, by using a software based routing engine on a host that the network discovery software is installed on, configuring the routing software to enable the specific EGP and to announce only the host route to the software-based router, establishing a peer relationship with an EGP speaking router in the network, loading the EGP database from the EGP router, and importing the EGP database into the network discovery software for processing.

In still another embodiment, a method in accordance with the invention comprises obtaining and utilizing the IGP and EGP information, useful in creating topological network views, by instantiating the routing protocol created topology using routing and software methods described in U.S. Pat. No. 6,108,702 titled “Method and Apparatus for Determining Accurate Topology Features of a Network,” issued Aug. 22, 2000 and incorporated herein by reference in its entirety, drawing a map of the network starting with IGP areas and allowing the user to select the BGP topology or the EGP topology including confederations, communities, and route reflectors.

In still another embodiment, the invention provides a method and system for determining routing topology in a computer network, and comprises obtaining IGP information to determine the effects of routing protocols on network topology using techniques described herein; obtaining EGP information by obtaining BGP information utilizing an EGP peer by using a software based routing engine on a host that the network discovery software is installed on, configuring the routing software to enable specific the EGP and to announce only the host route to the software-based router, establishing a peer relationship with an EGP speaking router in the network, loading the EGP database from the EGP router, and importing the EGP database into the network discovery software for processing; and utilizing the IGP and EGP information to create topological network views by instantiating the routing protocol created topology using routing and software methods described, for example, in the above referenced U.S. Pat. No. 6,108,702. The method further involves drawing a map of the network starting with IGP areas and allowing the user to select the BGP topology or the EGP topology including confederations, communities, and route reflectors.

The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding parts, and in which:

FIG. 1 is a diagram depicting an autonomous computer network;

FIG. 1a is a flow chart depicting a method for determining routing topology in a computer network according to one embodiment of the invention;

FIGS. 2A-2B contain a flow chart depicting a method for obtaining IGP network information useful in determining network routing topologies, according to one embodiment of the invention;

FIG. 3 is a diagram graphically illustrating step 202 of the method of FIGS. 2A-2B;

FIG. 4 is a diagram graphically illustrating steps 204-214 of the method of FIGS. 2A-2B, in the case where there is only one area identifier;

FIG. 5 is a diagram graphically illustrating steps 206-214 of the method of FIGS. 2A-2B, in the case where there is more than one area identifier;

FIG. 6 is a diagram graphically illustrating steps 216-220 of the method of FIGS. 2A-2B;

FIG. 7 is a diagram graphically illustrating step 222 of the method of FIGS. 2A-2B;

FIG. 8 is a diagram graphically illustrating step 224 of the method of FIGS. 2A-2B;

FIG. 9 is a diagram graphically illustrating step 226 of the method of FIGS. 2A-2B;

FIG. 10 is a flow chart depicting another embodiment of a method for obtaining IGP network information useful in determining network routing topologies;

FIG. 11 is a flow chart depicting a method for obtaining EGP information useful in determining network routing topologies, according to one embodiment of the invention; and

FIG. 12 is a flow chart depicting a method for utilizing IGP and EGP information to create a network topology view, according to one embodiment of the invention.

The present invention will now be described in detail with reference to the accompanying drawings in FIGS. 1-12.

FIG. 1 illustrates an exemplary computer network 50 analyzed using the method and system of the present invention. The term “computer network” as used herein refers generally to individual computer networks and combinations thereof. The exemplary network 50 includes two autonomous systems 52, 54. An autonomous system boundary router (ASBR) 58 of autonomous system 52 is connected to an ASBR 59 of the second autonomous system 54.

Every autonomous system contains at least one Area 0 or backbone 56 containing an ASBR 58. In addition to an ASBR 58, Area 0 56 may contain internal area routers 62 connected to other internal area routers 62 and/or additional network devices such as a printer 64, a network server 66, or some other networkable device 68 as known in the art. Area 0 56 may also contain an area border router (ABR) 70 connected to other areas 74 or stub areas 80 within the autonomous system 52.

In the preferred embodiment, all ASBRs 58, internal area routers 62, and ABRs 70 of the autonomous system 52 communicate using the Open Shortest Path First (OSPF) protocol as an Interior Gateway Protocol (IGP). OSPF protocol, an IGP used to distribute routing information within a single autonomous system, uses flooding between routers to exchange link state advertisements (LSAs) describing the status of each router's network interface. These LSAs associated with the IGP are contained in each router's Management Information Base (MIB) and provide an accurate view of all the routers and networks in a particular area. The ASBR 58 of the first system 52 communicates with the ASBR 59 of the second system 54 using a non-OSPF protocol 60 as known in the art.

There are several types of LSAs used by routers. Type 1 LSAs 72 are Router Link advertisements which are flooded in the area a router belongs to and describe the states of a router's link to the area. Type 2 LSAs 72 are Network Link advertisements which are flooded in the area a router belongs to describing the set of other routers attached to a particular network.

OSPF uses areas to limit the flooding of the entire autonomous system and reduce network congestion. ABRs 70 receive Type 1 and 2 LSAs 72, but do not flood them on to additional areas 74 within the autonomous system 52. Instead, Type 3 LSAs 74 are Summary Link advertisements generated by Area Border Routers and describe intra-area routes. In addition, Type 4 LSAs 74 are Summary Link advertisements generated by Area Border Routers and describe routes to the Autonomous System Boundary Router(s). Type 5 LSAs 76 are originated by the Autonomous System Boundary Router(s) which are flooded throughout all areas of a particular autonomous system (except stub areas) and describe routes to routers outside the autonomous system. An autonomous system 52 may contain a stub area 80 which does not receive all type 5 LSAs 76. Instead, Type 7 LSAs 78 summarize and filter selected type 5 LSAs which are directed to stub areas. This further reduces network congestion in the stub area 80.

FIG. 1a depicts a flow chart showing a method of using routing protocol data according to one embodiment of the invention. At step 102, IGP information is obtained about a computer network. In one embodiment, IGP information is utilized to determine the effects of routing protocols on network topology. In other embodiments the IGP information collected as described herein may be used for other purposes, such as to track the flow of viruses or other security threats in a network. At step 104, EGP information is obtained about the computer network. In one embodiment, the EGP information is obtained by obtaining Border Gateway Protocol (BGP) information utilizing an EGP peer. At step 106, the IGP information and the EGP information are utilized to determine network topology. The network topology so determined has the advantage of having taken into account not only the physical topology, but also the routing topology, of the computer network.

In one embodiment of the invention, step 102 as depicted in FIG. 1a comprises the following. First, a network management protocol is utilized to query routing tables for internal routing protocols, and then to determine the effect of these internal routing protocols on the network topology. The resultant network topology may be computed through a variety of hardware or software implemented methods. For example, in one embodiment, the first component of the invention uses the Simple Network Management Protocol (SNMP) to query the Management Information Base (MIB) of routers within a given network for IGPs and then determines the effect of these routing protocols on the network topology through a software program and an associated database.

Every router in a particular area will store at least that same database. In other words, some information regarding the IGP within the MIBs of routers in a particular area is redundant and contained in each area router. Whether a particular router's MIB contains such redundant information can be determined quickly by querying the type of LSA contained with that router's MIB. The same type 1 and type 2 LSAs, for example, are contained within the MIB of every router in a particular area of an autonomous system.

Accordingly, network discovery can be accomplished much more efficiently utilizing this information, since further analysis of the redundant information is not required for each router. Much of the IGP routing topology for a particular area can be accurately represented from the information obtained from just one router. Further analysis is only required on the remaining non-redundant information contained in the MIBs of the routers of a particular area. Similarly, storage of the MIB data in a topology database as described below results in the need to query only updates to the MIBs since a previous analysis, thus further streamlining the routing protocol discovery process.

In one embodiment, step 104 as depicted in FIG. 1a comprises the following. First, an EGP router peer is established, running an exterior gateway protocol, such as, for example, BGP4. Typically, this would involve a router being queried for its BGP tables, and the router having to format up to ninety thousand entries or more and format in an SNMP readable fashion, packetize them and send them to the computer issuing the SNMP query. This places a great load on the router. The methodology employed at step 104, however, circumvents this problem by running an EGP on a host, configuring the host to peer with an EGP, and then having a software daemon query local tables and add them to its network database.

In one embodiment, step 106 comprises combining the information obtained from the first two components to allow the creation of an IGP and EGP topology view of the network. This component leverages the collected IGP and EGP information by using the information to determine data points to create a visual representation of the routing topology of the network. Thus, in one embodiment, the present invention utilizes both information contained in router configuration databases as well as in EGP information obtained by utilizing a special peer router running a BGP, to create a protocol-based network topology, which topology may then be presented in a variety of tabular or visual formats.

Because the system is computationally efficient, and minimizes the need to redundantly collect data, real-time information can be produced to better understand dynamically changing networks. Furthermore, by better understanding network topologies and traffic patterns, more effective network configurations can be produced and network traffic or routing problems can be better understood. Still further, these techniques can be used to understand, detect and, in some cases, eliminate certain security threats such as worms or other viruses which propagate on a network. Thus, the present invention significantly contributes to network performance understanding and optimization.

In one embodiment, step 102 of FIG. 1a comprises the following method 200, as depicted in FIGS. 2A-2B. The method 200 starts at step 202. At step 204, the router is queried for its router identifier. This is done to identify all of the networks that the router announces as being tied to the identifier, and also to know whether all of the IGP-speaking routers in the area or autonomous system have been discovered.

At step 206, the router is queried for its area identifier. A router can belong to more than one area. The area(s) that a router are in give it its context for any advertisements that it makes about what network it is connected or “knows” about. Thus, the method “moves” from area to area, but prevents “leakage” in of unwanted networks.

Step 208 queries whether there is more than one area identifier on the router. If so, then it belongs to more than one area inside the autonomous system, and the router is an Area Border Router (ABR).

Step 210 queries whether the router is defined as an Autonomous System Boundary Router (ASBR). A router can border only one area and still be connected to networks that are outside its area, which makes the router an ASBR.

Step 212 queries the link state database for the numerically lowest area identifier on the router. This step starts the sweeping of the networks in each area. The order is arbitrary, but may start with the router 0.0.0.0.

At step 214, all Type 1 and Type 2 LSAs for an area are imported into the routing topology information database. The router identifiers of all the routers in the area are announced as type 1 advertisements and the networks in the area are announced as type 2 advertisements. There are several reasons for looking at only an announcement from inside the system. First, networks announced by the routers outside the area may be summarized, so that instead of announcing each of a thousand networks, an area border router can be configured to announce those networks as though they were a single, much larger network. Second, networks outside the autonomous system can also be announced, and the method 200 only sweeps those networks outside the autonomous system that are directly connected to one of the routers inside the autonomous system.

At step 216, if the router is directly connected to networks that are outside the autonomous system, the method 200 imports those networks into the routing topology database. Thus, only autonomous networks that are directly connected to an autonomous system boundary router are imported, preventing “leakage” in of unwanted networks.

At step 218, after going to the next highest area identifier, the method 200 queries whether there are any remaining areas on the router that have not been processed. If so, the method returns to step 214 to process the remaining area(s). If not, the method 200 proceeds to step 220.

At step 220, starting with the lowest area identifier, the method 200 sweeps all the networks in the area that are announced by routers that are also making Type 3, 4, 5, or 7 advertisements. Thus, the method 200 sweeps for networks announced by routers that are connected to other areas and the autonomous system.

At step 222, the method 200 queries whether there is another such router (as from step 220). If so, the method 200 returns to step 204 to begin processing the next router. If there are no other such routers, the method proceeds to step 224.

At step 224, starting with the lowest area identifier, the method 200 sweeps all the networks in the area that are announced by routers that are not making Type 3, 4, 5, or 7 advertisements.

At step 226, the method queries whether there is another such router. If there is, the method returns to step 204 to begin processing the next router. If there is no other such router, then the method ends at step 228.

FIGS. 3 through 9 are diagrams that graphically illustrate steps in the method 200 of FIGS. 2A-2B. FIG. 3 is a diagram graphically illustrating one embodiment of step 202 of the method of FIG. 2A, and shows a Topology Discovery Server computer 306 and a router 302. The Topology Discovery Server computer 306 comprises a Central Processing Unit (CPU) 310, Random Access Memory (RAM) 312, a Network Topology Information Database 314, and a Network Topology Discovery Program 316 stored on a computer readable medium and executed in the CPU 310. The Network Topology Discovery Program 316 is used to execute steps 204-226 of FIGS. 2A-2B to obtain information that is then stored in Network Topology Information Database 314. The computer 306 may additionally comprise a monitor 307, keyboard, pointing device, and other typical input/output components and peripheral devices associated with computers. The router 302 directs data traffic 308 between one or more computer networks 310a-c (three are shown), and/or between computers or other components within the networks 310a-c, and is in communication with the Topology Discovery Server computer 30 through logical connection 304. As shown in FIG. 3, the Topology Discovery Server computer 306 queries the router 302 for its router identifier, for example, 0.0.0.1.

FIG. 4 is a diagram graphically illustrating steps 204-214 of the method of FIGS. 2A-2B, in the case where there is only one area identifier. FIG. 4 shows, in addition to the Topology Discovery Server computer 306, the area (Area i) associated with the router 402 by the router's area identifier, e.g., “Area 1.” Return information 404, i.e., information obtained from: the router 402, is communicated to the Topology Discovery Server computer 30 in accordance with the Network Topology Discovery Program 316, which return information is then stored in the in Network Topology Information Database 314.

The diagram in FIG. 5 illustrates the scenario in which the method determines in step 208 that there is more than one area identifier, i.e., Areas 0 and 1. The router 502 is then identified in step 210 as an ASBR to Area 1. Through steps 212 and 214, the Network Topology Discovery Program 316 on server 306 queries the link state database for the numerically lowest area, i.e., Area 0, and imports the Type 1 and Type 2 LSAs for that area into the Network Topology Information Database 314. As explained above, in some embodiments only updated information is retrieved if this query has previously been performed.

FIG. 6 shows similar processing being performed, per step 218, on the area with the next highest area identifier, i.e., Area 1. In addition, the diagram in FIG. 6 shows, per step 220, a sweep being performed on the networks in the area that are announced by routers making Type 3, 4, 5, or 7 announcements. The resulting information is returned via return path 404 from router 302. As a result, router 704 is found as shown in FIG. 7. The process of querying routers, per steps 204-218, is then performed for this newly found router 704.

The diagram in FIG. 8 shows, per step 224, a sweep being performed on the networks in the area announced by routers that are not also making Type 3, 4, 5, or 7 announcements. Two such routers 804 are swept and, as shown in FIG. 9, one such router 902 is found. The process starting with step 202 is then performed for this router.

FIG. 10 is a flow chart depicting another embodiment of a method 1000 for obtaining IGP information useful in determining network topologies. The method 1000, carried out by the Network Topology Discovery Program 316, starts at step 1002. Step 1004 queries the link state database on a first router in a particular area is using signaling network management protocol (SNMP), and imports all Type 1 and Type 2 LSAs are imported into a routing topology information database. Type 1 and Type 2 LSAs are contained in each router of a particular area and are examples of redundant information.

Step 1006 queries the router for its Router Identifier using SNMP and import this information into the Database of the network discovery software. This information is used to correlate the IGP information obtained in steps 1004-1020 with a particular router and assists in IGP Topology Discovery.

Step 1008 queries the router for its Area Identifier using SNMP and import this information into the Database of the network discovery software. This Area Identifier will be used in step 1010 to determine whether the router is an Area Boundary Router (ABR) or an Autonomous System Boundary Router (ASBR).

Step 1012, if the router is an ABR, queries the router for which areas it borders and imports this information into the Network Topology Information Database 314.

Step 1014, if the router is an ASBR, queries the router for the networks it is directly connected to that are outside the autonomous system, imports this information into the Network Topology Information Database 314 of the network discovery software, and ignores all other similar and related Type 5 LSAs contained in the link state database. Type 5 LSAs are used by the IGP to identify other autonomous systems.

Step 1016, if the router is an ABR and it is bordering a stub area, imports the stub area network information into the Network Topology Information Database 314. A stub area is an area that is connected to exactly one other area.

At step 1018, if the router is an ABR and it is bordering a non-stubby or less stubby area, imports this additional network information into the Database of the network discovery software. A non-stubby or less stubby area is a virtual link to another area.

Step 1020 parses the link state database for all routers providing Type 3, Type 4, or Type 5 LSAs that are in the area, and ignores all additional Type 1 and Type 2 LSAs, since this redundant information was obtained from the first router in the area that was queried and is contained in all area routers.

Step 1022 goes to those routers and repeats this algorithm beginning at step 1008 for the existing area and step 1006 for any other area the router is in. Finally, the method 1000 ends at step 1024.

FIG. 11 is a flow chart depicting a method 120 for obtaining EGP information useful in determining network routing topologies, according to one embodiment of the invention. At step 124, using a software based routing engine, as known in the art, on a host that the Network Topology Discovery Program 316 is installed on, the routing engine is configured to enable the specific EGP and to announce only a host route to a software based router.

At step 126, a peer relationship is established with an EGP-speaking router in the network, to acquire EGP information and establish an EGP database. At step 128, the EGP database is loaded from the EGP router. At step 130, the EGP database is imported into the network discovery Network Topology Information Database 314, and then the method ends at step 132. The EGP information can then be utilized, for example, in addition to stored IGP information, to create views of the network topology, one method of which is described below with reference to FIG. 12.

FIG. 12 is a flow chart depicting a method 140 for utilizing IGP and EGP information to create a network topology view, according to one embodiment of the invention. The method starts at 142, and, at step 144, a routing topology is created from the IGP and EGP information. One method of creating the routing topology is to use sorting and filtering algorithms to instantiate the routing protocol, as disclosed in above referenced U.S. Pat. No. 6,108,702. At step 146, a map is drawn of the network starting with IGP areas. A user is allowed to select the BGP topology to be displayed on the map. If shown, EGP topology includes confederations, communities, and route reflectors, step 148. The method ends at 150.

While the invention has been described and illustrated in connection with preferred embodiments, many variations and modifications as will be evident to those skilled in this art may be made without departing from the spirit and scope of the invention, and the invention is thus not to be limited to the precise details of methodology or construction set forth above as such variations and modification are intended to be included within the scope of the invention.

Martin, Daniel J.

Patent Priority Assignee Title
10230603, May 21 2012 Cisco Technology, Inc Cross-layer troubleshooting of application delivery
10567249, Mar 18 2019 Cisco Technology, Inc Network path visualization using node grouping and pagination
10659325, Jun 15 2016 Cisco Technology, Inc Monitoring enterprise networks with endpoint agents
10671520, Jun 15 2016 Cisco Technology, Inc Scheduled tests for endpoint agents
10841187, Jun 15 2016 Cisco Technology, Inc Monitoring enterprise networks with endpoint agents
10848402, Oct 24 2018 Cisco Technology, Inc Application aware device monitoring correlation and visualization
10986009, May 21 2012 Cisco Technology, Inc Cross-layer troubleshooting of application delivery
11032124, Oct 24 2018 Cisco Technology, Inc Application aware device monitoring
11042474, Jun 15 2016 Cisco Technology, Inc Scheduled tests for endpoint agents
11252059, Mar 18 2019 Cisco Technology, Inc Network path visualization using node grouping and pagination
11509552, Oct 24 2018 Cisco Technology, Inc Application aware device monitoring correlation and visualization
11582119, Jun 15 2016 Cisco Technology, Inc. Monitoring enterprise networks with endpoint agents
11755467, Jun 15 2016 Cisco Technology, Inc. Scheduled tests for endpoint agents
7684347, Dec 23 2004 CA, INC Method and apparatus for network packet capture distributed storage system
7855974, Dec 23 2004 CA, INC ; NORTONLIFELOCK INC Method and apparatus for network packet capture distributed storage system
8438302, Aug 22 2002 KYNDRYL, INC Splitting and sharing routing information among several routers acting as a single border router
8521732, May 23 2008 CA, INC Presentation of an extracted artifact based on an indexing technique
8625642, May 23 2008 CA, INC Method and apparatus of network artifact indentification and extraction
8666985, Mar 16 2011 CA, INC Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
8849991, Dec 15 2010 CA, INC System and method for hypertext transfer protocol layered reconstruction
9160654, Aug 22 2002 KYNDRYL, INC Splitting and sharing routing information among several routers acting as a single border router
9210046, Mar 14 2011 Hewlett Packard Enterprise Development LP Zone-based network traffic analysis
9411787, Mar 15 2013 Cisco Technology, Inc Cross-layer troubleshooting of application delivery
9455890, May 21 2012 Cisco Technology, Inc Deep path analysis of application delivery over a network
9497113, Aug 22 2002 KYNDRYL, INC Splitting and sharing routing information among several routers acting as a single border router
9729414, May 21 2012 Cisco Technology, Inc Monitoring service availability using distributed BGP routing feeds
9985858, May 21 2012 Cisco Technology, Inc Deep path analysis of application delivery over a network
Patent Priority Assignee Title
3855456,
3906454,
4135662, Jun 15 1977 Pitney-Bowes, Inc. Operator prompting system
4410950, Dec 17 1979 Hitachi, Ltd. Method of and apparatus for monitoring performance of steam power plant
4438494, Aug 25 1981 INTEL CORPORATION, A CORP OF CA Apparatus of fault-handling in a multiprocessing system
4503534, Jun 30 1982 INTEL CORPORATION, A CA CORP Apparatus for redundant operation of modules in a multiprocessing system
4503535, Jun 30 1982 INTEL CORPORATION, CA A CORP OF CA Apparatus for recovery from failures in a multiprocessing system
4517468, Apr 30 1984 Siemens Westinghouse Power Corporation Diagnostic system and method
4545013, Jan 29 1979 INFINET, INC , Enhanced communications network testing and control system
4568909, Dec 19 1983 United Technologies Corporation Remote elevator monitoring system
4585975, Apr 21 1983 Tektronix, Inc. High speed Boolean logic trigger oscilloscope vertical amplifier with edge sensitivity and nested trigger
4591983, Jul 09 1984 Teknowledge, Inc. Hierarchical knowledge system
4622545, Sep 30 1982 Apple Computer, Inc. Method and apparatus for image compression and manipulation
4648044, Jun 06 1984 Teknowledge, Inc. Basic expert system tool
4727545, Sep 02 1986 DIGITAL EQUIPMENT CORPORATION, 146 MAIN STREET, MAYNARD, MA , 01754, A CORP OF MA Method and apparatus for isolating faults in a digital logic circuit
4817092, Oct 05 1987 Rolm Systems Threshold alarms for processing errors in a multiplex communications system
4823345, Jun 15 1987 International Business Machines Corp.; INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NEW YORK 10504, A CORP, OF NY Method and apparatus for communication network alert record identification
4866712, Feb 19 1988 Telcordia Technologies, Inc Methods and apparatus for fault recovery
4881230, Oct 05 1987 Rolm Systems Expert system for processing errors in a multiplex communications system
4914657, Apr 15 1987 ALLIED CORPORATION, COLUMBIA ROAD AND PARK AVENUE, MORRIS TOWNSHIP, MORRIS COUNTY, NEW JERSEY, A CORP OF NY Operations controller for a fault tolerant multiple node processing system
4932026, Dec 19 1986 GLOBAL 360, INC Apparatus for distributing data processing across a plurality of loci of control
4935876, Jun 26 1987 Hitachi, Ltd. Knowledge base management method and system
5107497, Jul 28 1989 AT&T Bell Laboratories Technique for producing an expert system for system fault diagnosis
5109486, Jan 06 1989 Motorola Inc Distributed computer system with network and resource status monitoring
5123017, Sep 29 1989 The United States of America as represented by the Administrator of the Remote maintenance monitoring system
5125091, Jun 08 1989 HAZOX CORPORATION, A CORP OF DE Object oriented control of real-time processing
5133075, Dec 19 1988 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
5159685, Dec 06 1989 NEXTIRAONE, LLC Expert system for communications network
5179556, Aug 02 1991 WASHINGTON UNIVERSITY A CORP OF MO Bandwidth management and congestion control scheme for multicast ATM networks
5204955, Dec 18 1989 Hitachi, Ltd. Network management method and system
5214653, Oct 22 1990 Harris Corporation Fault finder expert system
5247517, Oct 20 1989 Novell, Inc. Method and apparatus for analyzing networks
5261044, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network management system using multifunction icons for information display
5293629, Nov 30 1990 ABRAXAS SOFTWARE, 7033 SW MACADAM, PORTLAND OR Method of analyzing computer source code
5295244, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network management system using interconnected hierarchies to represent different network dimensions in multiple display views
5309448, Jan 03 1992 INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK Methods and systems for alarm correlation and fault localization in communication networks
5321837, Oct 11 1991 International Business Machines Corporation; INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK Event handling mechanism having a process and an action association process
5375070, Mar 01 1993 IBM Corporation Information collection architecture and method for a data communications network
5432934, Jul 26 1993 Gensym Corporation Access restrictions as a means of configuring a user interface and making an application secure
5436909, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network management system using status suppression to isolate network faults
5483637, Jun 27 1994 International Business Machines Corporation Expert based system and method for managing error events in a local area network
5485455, Jan 28 1994 ENTERASYS NETWORKS, INC Network having secure fast packet switching and guaranteed quality of service
5491694, Jan 28 1994 ENTERASYS NETWORKS, INC System and method for allocating a shared resource among competing devices
5495470, Apr 02 1992 MORGAN GUARANTY TRUST COMPANY OF NEW YORK, AS ADMINISTRATIVE AGENT Alarm correlation system for a telephone network
5504921, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network management system using model-based intelligence
5521910, Jan 28 1994 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method for determining a best path between two nodes
5528516, May 25 1994 VMWARE, INC Apparatus and method for event correlation and problem reporting
5559955, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for monitoring the status of non-pollable device in a computer network
5590120, Oct 31 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Port-link configuration tracking method and apparatus
5627819, Jan 09 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Use of multipoint connection services to establish call-tapping points in a switched network
5649103, Jul 13 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for managing multiple server requests and collating reponses
5666481, Feb 26 1993 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for resolving faults in communications networks
5675741, Oct 25 1994 GOOGLE LLC Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
5687290, Sep 20 1993 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for monitoring and controlling communications networks
5696486, Mar 29 1995 GOOGLE LLC Method and apparatus for policy-based alarm notification in a distributed network management environment
5706436, Feb 01 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Apparatus and method for evaluation network traffic performance
5722427, May 10 1993 EYESYS VISION, INC Method of refractive surgery
5727157, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Apparatus and method for determining a computer network topology
5734642, Dec 22 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for network synchronization
5748781, Jan 04 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for digital data compression
5751933, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc System for determining the status of an entity in a computer network
5751965, Mar 21 1996 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network connection status monitor and display
5754532, Jan 09 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Use of multipoint connection services to establish call-tapping points in a switched network
5764955, Oct 19 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Gateway for using legacy telecommunications network element equipment with a common management information protocol
5768501, May 28 1996 GOOGLE LLC Method and apparatus for inter-domain alarm correlation
5777549, Mar 29 1995 GOOGLE LLC Method and apparatus for policy-based alarm notification in a distributed network management environment
5790546, Jan 28 1994 ENTERASYS NETWORKS, INC Method of transmitting data packets in a packet switched communications network
5791694, Feb 20 1997 DELAWARE CAPITOL FORMATION, INC Lock for coupling cam arms
5793362, Dec 04 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, 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
5812750, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for monitoring the status of non-pollable devices in a computer network
5822305, Oct 31 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Port-link configuration tracking method and apparatus
5832503, Feb 24 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for configuration management in communications networks
5872928, Feb 24 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for defining and enforcing policies for configuration management in communications networks
5881246, Jun 12 1996 RPX CLEARINGHOUSE LLC System for generating explicit routing advertisements to specify a selected path through a connectionless network to a destination by a specific router
5889953, May 25 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Policy management and conflict resolution in computer networks
5907696, Jul 03 1996 GOOGLE LLC Network device simulator
5940376, Jan 29 1997 Extreme Networks, Inc Method and apparatus to establish a tap-point in a switched network using self-configuring switches having distributed configuration capabilities
5970984, May 10 1993 EYESYS VISION, INC Method of refractive surgery
5980984, Nov 04 1994 The Regents of the University of California Method for sealing remote leaks in an enclosure using an aerosol
5987442, Feb 02 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for learning network behavior trends and predicting future behavior of communications networks
5995503, Jun 12 1996 RPX CLEARINGHOUSE LLC Method and apparatus for providing quality of service routing in a network
6000045, May 28 1996 GOOGLE LLC Method and apparatus for inter-domain alarm correlation
6003090, Apr 23 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc System for determining network connection availability between source and destination devices for specified time period
6014697, Oct 25 1994 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for automatically populating a network simulator tool
6026442, Nov 24 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for surveillance in communications networks
6041383, Jul 22 1996 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Establishing control of lock token for shared objects upon approval messages from all other processes
6049828, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for monitoring the status of non-pollable devices in a computer network
6057757, Mar 29 1995 GOOGLE LLC Method and apparatus for policy-based alarm notification in a distributed network management environment
6064304, May 10 1999 GOOGLE LLC Method and apparatus for policy-based alarm notification in a distributed network management environment
6064986, Sep 23 1997 EDELMAN FINANCIAL SERVICES, LLC Computer assisted and/or implemented process and architecture for customer account creation, maintenance and administration for an investment and/or retirement program
6064996, Sep 27 1996 Yamaha Hatsudoki Kabushiki Kaisha Evolutionary controlling system with behavioral simulation
6084858, Jan 29 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Distribution of communication load over multiple paths based upon link utilization
6115362, Mar 28 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for determining frame relay connections
6131112, May 17 1996 GOOGLE LLC Method and apparatus for integrated network and systems management
6138122, Mar 02 1998 Viavi Solutions Inc Modeling of internet services
6141720, Jun 12 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for coordination of a shared object in a distributed system
6199172, Feb 06 1996 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for testing the responsiveness of a network device
6205563, May 28 1996 GOOGLE LLC Method and apparatus for inter-domain alarm correlation
6209033, Feb 01 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Apparatus and method for network capacity evaluation and planning
6216168, Mar 17 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Perspective-based shared scope address resolution method and apparatus
6233623, Jan 11 1996 GOOGLE LLC Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
6243747, Feb 24 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for defining and enforcing policies for configuration management in communications networks
6252856, Dec 03 1996 AVAYA MANAGEMENT L P Method and apparatus for minimizing calculations required to construct multicast trees
6255943, Mar 29 1995 GOOGLE LLC Method and apparatus for distributed object filtering
6275492, Dec 02 1997 RPX CLEARINGHOUSE LLC Method and apparatus for routing data using router identification information
6324530, Sep 27 1996 Yamaha Katsudoki Kabushiki Kaisha Evolutionary controlling system with behavioral simulation
6324590, Jan 10 1996 GOOGLE LLC Replicated resource management system for managing resources in a distributed application and maintaining a relativistic view of state
6336138, Aug 25 1998 Hewlett Packard Enterprise Development LP Template-driven approach for generating models on network services
6349306, Oct 30 1998 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for configuration management in communications networks
6373383, Mar 29 1995 GOOGLE LLC Method and apparatus for policy-based alarm notification in a distributed network management environment
6374293, Sep 17 1990 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Network management system using model-based intelligence
6381639, May 25 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Policy management and conflict resolution in computer networks
6392667, Jun 09 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for representing objects as visually discernable entities based on spatial definition and perspective
6418476, Jun 29 1998 RPX CLEARINGHOUSE LLC Method for synchronizing network address translator (NAT) tables using the open shortest path first opaque link state advertisement option protocol
6421719, May 25 1995 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for reactive and deliberative configuration management
6430712, May 28 1996 GOOGLE LLC Method and apparatus for inter-domain alarm correlation
6437804, Oct 23 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method for automatic partitioning of node-weighted, edge-constrained graphs
6502079, Dec 08 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and system for enforcing floating licenses
6510478, Jun 12 1997 CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc Method and apparatus for coordination of a shared object in a distributed system
6603396, Mar 29 1995 GOOGLE LLC Method and apparatus for distributed object filtering
6651062, Aug 31 1998 GOOGLE LLC Method and apparatus for managing data for use by data applications
6711152, Jul 06 1998 AT&T Corp Routing over large clouds
6744739, May 18 2001 International Business Machines Corporation Method and system for determining network characteristics using routing protocols
6820134, Dec 28 2000 Cisco Technology, Inc. Optimizing flooding of information in link-state routing protocol
6850524, Jul 31 2000 Level 3 Communications, LLC Systems and methods for predictive routing
6977937, Apr 10 2000 Raytheon BBN Technologies Corp Radio network routing apparatus
20010013107,
20010042139,
20010047409,
20010047430,
20010052085,
20020032760,
20020050926,
20020075882,
20020184528,
20020188584,
20030110396,
EP209795,
EP319998,
EP338561,
EP342547,
EP616289,
EP686329,
WO13112,
WO72183,
WO186380,
WO186443,
WO186444,
WO186775,
WO186844,
WO206971,
WO206972,
WO206973,
WO8907377,
WO9300632,
WO9520297,
WO9609707,
WO9716906,
WO9729570,
WO9737477,
WO9744937,
WO9842109,
WO9844682,
WO9852322,
WO9927682,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Sep 26 2003International Business Machines Corporation(assignment on the face of the patent)
Jul 01 2006MICROMUSE INC International Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0201050359 pdf
Aug 11 2008MARTIN, DANIEL J International Business Machines CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0213710657 pdf
Date Maintenance Fee Events
Jul 01 2008ASPN: Payor Number Assigned.
Apr 23 2012REM: Maintenance Fee Reminder Mailed.
Jun 29 2012M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jun 29 2012M1554: Surcharge for Late Payment, Large Entity.
Apr 22 2016REM: Maintenance Fee Reminder Mailed.
Sep 09 2016EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Sep 09 20114 years fee payment window open
Mar 09 20126 months grace period start (w surcharge)
Sep 09 2012patent expiry (for year 4)
Sep 09 20142 years to revive unintentionally abandoned end. (for year 4)
Sep 09 20158 years fee payment window open
Mar 09 20166 months grace period start (w surcharge)
Sep 09 2016patent expiry (for year 8)
Sep 09 20182 years to revive unintentionally abandoned end. (for year 8)
Sep 09 201912 years fee payment window open
Mar 09 20206 months grace period start (w surcharge)
Sep 09 2020patent expiry (for year 12)
Sep 09 20222 years to revive unintentionally abandoned end. (for year 12)