Methods and devices for discovering the topology of large multisubnet LANs

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
39Forward
Citations 
0
Petitions 
1
Assignment
First Claim
1. A method for determining the topology of a multisubnet, heterogeneous network comprising the steps of:
 forming a preliminary topology based on address forwarding table (AFT) information obtained from one or more network elements (NEs) through SNMP queries; and
identifying one or more NEs that do not respond to SNMP queries and NEs adjacent to the identified NEs, wherein the identified NEs are used to form a final topology.
1 Assignment
0 Petitions
Accused Products
Abstract
The physical topology of large, heterogeneous Ethernet LANs that may include multiple subnets may be discovered utilizing Management Information Base (MIB) information. Topology discovery tools and network management systems are introduced to carry out the topological discovery methods, features and functions of the present invention.
46 Citations
View as Search Results
MULTITIER WIRELESS HOME MESH NETWORK WITH A SECURE NETWORK DISCOVERY PROTOCOL  
Patent #
US 20110211566A1
Filed 05/06/2011

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

MULTITIER WIRELESS HOME MESH NETWORK WITH A SECURE NETWORK DISCOVERY PROTOCOL  
Patent #
US 20110211565A1
Filed 05/06/2011

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Method and Apparatus for a Wireless Home Mesh Network with Network Topology Visualizer  
Patent #
US 20110280156A1
Filed 07/26/2011

Current Assignee
Aixin Liu, Abhishek Patil, Djung N. Nguyen, Xiangpeng Jing, Anuj Bhatnagar

Sponsoring Entity
Aixin Liu, Abhishek Patil, Djung N. Nguyen, Xiangpeng Jing, Anuj Bhatnagar

NETWORK STRUCTURE INFORMATION ACQUIRING METHOD AND DEVICE  
Patent #
US 20100094994A1
Filed 10/08/2009

Current Assignee
Riken

Sponsoring Entity
Riken

AUTHENTICATION FOR A MULTITIER WIRELESS HOME MESH NETWORK  
Patent #
US 20100191968A1
Filed 01/27/2009

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

WIRELESS HOME MESH NETWORK BRIDGING ADAPTOR  
Patent #
US 20100202345A1
Filed 02/06/2009

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

LINK INFERENCE IN LARGE NETWORKS BASED ON INCOMPLETE DATA  
Patent #
US 20080031156A1
Filed 07/29/2007

Current Assignee
Riverbed Technology Incorporated

Sponsoring Entity
OPNET Technologies Incorporated

Link inference in large networks based on incomplete data  
Patent #
US 8,089,904 B2
Filed 07/29/2007

Current Assignee
Riverbed Technology Incorporated

Sponsoring Entity
OPNET Technologies Incorporated

SYSTEM AND METHOD FOR MODELING A SYSTEM THAT COMPRISES NETWORKS CONNECTED ACROSS A THIRD PARTY EXTERNAL NETWORK BASED ON INCOMPLETE CONFIGURATION DATA  
Patent #
US 20120201168A1
Filed 04/16/2012

Current Assignee
Riverbed Technology Incorporated

Sponsoring Entity
Riverbed Technology Incorporated

Multitier wireless home mesh network with a secure network discovery protocol  
Patent #
US 8,644,220 B2
Filed 05/06/2011

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Multitier wireless home mesh network with a secure network discovery protocol  
Patent #
US 8,687,553 B2
Filed 05/06/2011

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Resource compatability for data centers  
Patent #
US 8,713,183 B2
Filed 03/27/2011

Current Assignee
Hewlett Packard Enterprise Development LP

Sponsoring Entity
HewlettPackard Development Company L.P.

System and method for modeling a system that comprises networks connected across a third party external network based on incomplete configuration data  
Patent #
US 8,743,742 B2
Filed 04/16/2012

Current Assignee
Riverbed Technology Incorporated

Sponsoring Entity
Riverbed Technology Incorporated

Topological location discovery in an ethernet network  
Patent #
US 8,804,552 B2
Filed 02/05/2009

Current Assignee
Telefonaktiebolaget LM Ericsson

Sponsoring Entity
Telefonaktiebolaget LM Ericsson

Progressively determining a network topology and using neighbor information to determine network topology  
Patent #
US 8,805,982 B1
Filed 06/29/2007

Current Assignee
World Wide Packets Inc.

Sponsoring Entity
World Wide Packets Inc.

Method and apparatus for a wireless home mesh network with network topology visualizer  
Patent #
US 8,824,336 B2
Filed 07/26/2011

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Authentication for a multitier wireless home mesh network  
Patent #
US 8,904,177 B2
Filed 01/27/2009

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

METHOD AND APPARATUS FOR A WIRELESS HOME MESH NETWORK WITH NETWORK TOPOLOGY VISUALIZER  
Patent #
US 20140321325A1
Filed 07/08/2014

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Wireless home mesh network bridging adaptor  
Patent #
US 8,964,634 B2
Filed 02/06/2009

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

System and method for determining a topology of at least one application in a computerized organization  
Patent #
US 9,215,270 B2
Filed 08/09/2011

Current Assignee
Neebula Systems Ltd.

Sponsoring Entity
ServiceNow Incorporated

Methods and Apparatus to Track Changes to a Network Topology  
Patent #
US 20160094383A1
Filed 09/30/2014

Current Assignee
ATT Intellectual Property I LP

Sponsoring Entity
ATT Intellectual Property I LP

METHOD AND APPARATUS FOR A WIRELESS HOME MESH NETWORK WITH NETWORK TOPOLOGY VISUALIZER  
Patent #
US 20160127978A1
Filed 01/08/2016

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Multitier wireless home mesh network with a secure network discovery protocol  
Patent #
US 9,444,639 B2
Filed 09/16/2015

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

Method and apparatus for a wireless home mesh network with network topology visualizer  
Patent #
US 9,526,061 B2
Filed 07/08/2014

Current Assignee
Sony Electronics Inc., Sony Corporation

Sponsoring Entity
Sony Electronics Inc., Sony Corporation

System and method for storing a skeleton representation of an application in a computerized organization  
Patent #
US 9,641,643 B2
Filed 08/09/2011

Current Assignee
Neebula Systems Ltd.

Sponsoring Entity
ServiceNow Incorporated

Scalable network route analysis  
Patent #
US 9,660,886 B1
Filed 07/28/2014

Current Assignee
Google LLC

Sponsoring Entity
Google LLC

PROVISIONING A SERVICE  
Patent #
US 20170230257A1
Filed 09/29/2014

Current Assignee
Hewlett Packard Enterprise Development LP

Sponsoring Entity
Hewlett Packard Enterprise Development LP

Methods and apparatus to track changes to a network topology  
Patent #
US 9,798,810 B2
Filed 09/30/2014

Current Assignee
ATT Intellectual Property I LP

Sponsoring Entity
ATT Intellectual Property I LP

METHODS AND APPARATUS TO TRACK CHANGES TO A NETWORK TOPOLOGY  
Patent #
US 20180046715A1
Filed 10/23/2017

Current Assignee
ATT Intellectual Property I LP

Sponsoring Entity
ATT Intellectual Property I LP

System and Method for Generating Discovery Profiles for Discovering Components of Computer Networks  
Patent #
US 20180115462A1
Filed 10/25/2016

Current Assignee
ServiceNow Incorporated

Sponsoring Entity
ServiceNow Incorporated

System and method for generating an application structure for an application in a computerized organization  
Patent #
US 10,048,943 B2
Filed 08/15/2016

Current Assignee
ServiceNow Incorporated

Sponsoring Entity
ServiceNow Incorporated

Network topology discovery method and device  
Patent #
US 10,116,516 B2
Filed 02/10/2017

Current Assignee
Huawei Technologies Co. Ltd.

Sponsoring Entity
Huawei Technologies Co. Ltd.

Method for managing a network, and node for implementing said method  
Patent #
US 10,171,337 B2
Filed 06/16/2015

Current Assignee
Sercel

Sponsoring Entity
Sercel

Methods and apparatus to track changes to a network topology  
Patent #
US 10,210,258 B2
Filed 10/23/2017

Current Assignee
ATT Intellectual Property I LP

Sponsoring Entity
ATT Intellectual Property I LP

System and method for generating discovery profiles for discovering components of computer networks  
Patent #
US 10,263,849 B2
Filed 10/25/2016

Current Assignee
ServiceNow Incorporated

Sponsoring Entity
ServiceNow Incorporated

Method and apparatus for a wireless home mesh network with network topology visualizer  
Patent #
US 10,383,030 B2
Filed 01/08/2016

Current Assignee
Sony Corporation

Sponsoring Entity
Sony Corporation

System and method for generating an application structure for an application in a computerized organization  
Patent #
US 10,394,527 B2
Filed 10/03/2018

Current Assignee
ServiceNow Incorporated

Sponsoring Entity
ServiceNow Incorporated

System and method for generating an application structure for an application in a computerized organization  
Patent #
US 10,445,069 B2
Filed 04/27/2017

Current Assignee
ServiceNow Incorporated

Sponsoring Entity
ServiceNow Incorporated

Methods and apparatus to track changes to a network topology  
Patent #
US 10,733,245 B2
Filed 01/03/2019

Current Assignee
ATT Intellectual Property I LP

Sponsoring Entity
ATT Intellectual Property I LP

Centralized linkscope configuration of an internet protocol (IP) network  
Patent #
US 7,327,695 B2
Filed 12/19/2003

Current Assignee
Telefonaktlebolaget Lm Ericsson Publ

Sponsoring Entity
Telefonaktlebolaget Lm Ericsson Publ

System and method for a multilayer network element  
Patent #
US 6,088,356 A
Filed 06/30/1997

Current Assignee
Oracle America Inc.

Sponsoring Entity
Sun Microsystems Incorporated

Apparatus and method for unilateral topology discovery in network management  
Patent #
US 6,847,614 B2
Filed 09/17/1999

Current Assignee
Avago Technologies General IP PTE Limited

Sponsoring Entity
Broadcom Corporation

Network discovery  
Patent #
US 20050125518A1
Filed 11/20/2003

Current Assignee
HewlettPackard Enterprise Company

Sponsoring Entity
HewlettPackard Development Company L.P.

Network management systems that receive cross connect and/or other circuit information from network elements  
Patent #
US 6,751,660 B1
Filed 05/31/2000

Current Assignee
Cisco Technology Incorporated

Sponsoring Entity
Cisco Technology Incorporated

System and method for determining the physical topology of a network having multiple subnets  
Patent #
US 20040255184A1
Filed 05/27/2003

Current Assignee
AlcatelLucent USA Inc.

Sponsoring Entity
AlcatelLucent USA Inc.

Apparatus and method for unilateral topology discovery in network management  
Patent #
US 6,426,947 B1
Filed 10/21/1998

Current Assignee
Avago Technologies General IP PTE Limited

Sponsoring Entity
Gadzoox Networks Inc.

26 Claims
 1. A method for determining the topology of a multisubnet, heterogeneous network comprising the steps of:
forming a preliminary topology based on address forwarding table (AFT) information obtained from one or more network elements (NEs) through SNMP queries; and
identifying one or more NEs that do not respond to SNMP queries and NEs adjacent to the identified NEs, wherein the identified NEs are used to form a final topology.  View Dependent Claims (2)
 3. A method for determining the topology of a multisubnet heterogeneous network comprising the steps of:
determining one or more connecting trees representing nodes in a subnet using address forwarding table (AFT) information;
forming skeletontrees representing the connecting trees;
iteratively merging one or more pairs of skeleton trees, each tree associated with a common anchor node, to obtain a complete topology.  View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12)
 13. A device for determining the topology of a multisubnet, heterogeneous network operable to:
form a preliminary topology based on address forwarding table (AFT) information obtained from one or more network elements (NEs) through SNMP queries; and
identify one or more NEs that do not respond to SNMP queries and NEs adjacent to the identified NEs, wherein the identified NEs are used to form a final topology.  View Dependent Claims (14)
 15. A device for determining the topology of a multisubnet heterogeneous network operable to:
determine one or more connecting trees representing nodes in a subnet using address forwarding table (AFT) information;
form skeletontrees representing the connecting trees; and
iteratively merge one or more pairs of skeleton trees, each tree associated with a common anchor node, to obtain a complete topology.  View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
1 Specification
Socalled enterprise networks are typically large and complex systems comprising hundreds or thousands of network elements (e.g., switches) from different vendors. Their complexity poses a challenge to network administrators who must ensure that such networks are managed effectively. To this end, maintaining an accurate and complete knowledge of a network'"'"'s physical topology is a prerequisite to carrying out many critical network management tasks, including network diagnostics, resource management, event correlation, root cause analysis and server placement.
Such knowledge necessarily includes knowledge of the actual physical connections between network elements in a network, connections that are frequently changing. Because these changes occur so often, maintaining an accurate description of a network'"'"'s topology is very difficult without the aid of automatic topology discovery tools.
It is difficult to obtain topological information. Consequently, the majority of commercially available networkmanagement tools, such as Hewlett Packard'"'"'s OpenView (www.openview.hp.com) and IBM'"'"'s Tlvoli (www.tivoti.com), are only capable of providing network layer connectivity (i.e., at ISO layer3 also referred to as the LP layer). These tools maintain routertorouter interconnections and router interfacetosubnet relationships only. Inferring a network layer topology is relatively easy because routers are aware of their immediate layer3 neighbors as well as attached subnets. This information is also published in their associated SNMP Management Information Base (MIB). Though this information is sufficient to determine a layer3 topology, it fails to capture the complex interconnections making up a Ethernet Local Area Network (LAN); the interconnections and subnets that underlie and make up the logical links of layer3. Socalled layer3 interconnections elements, e.g. “bridges” and “switches”, unfortunately do not provide similar information, such as their immediate layer2 neighbors. This complicates the discovery of the underlying physical topology of a network that is made up of multiple subnets.
Accordingly, it is desirable to provide for methods and devices that make it possible to discover the topology of large, multisubnet LANs.
We have recognized that the topology of large, heterogeneous Ethernet LANs that comprise multiple subnets as well as “dumb” or uncooperative elements, may be discovered by relying on MIB information. Unlike other existing solutions that require high computational complexity, the methods and devices of the present invention provide for simple, efficient and practical mechanisms for discovering a network'"'"'s physical topology with a very high probability.
In one embodiment of the present invention, a novel method determines the topology of a multisubnet, heterogeneous network by first forming a preliminary topology based on address forwarding table (AFT) information obtained from one or more network elements (NEs) through Simple Network Management Protocol (SNMP) queries and then identifying one or more NEs that do not respond to SNMP queries and NEs adjacent to the identified NEs. The identified NEs are thereafter used to form a final topology.
An alternative method determines the topology of a multisubnet heterogeneous network by: determining one or more connecting trees representing nodes in a subnet using AFT information; forming skeletontrees representing the connecting trees; and iteratively merging one or more pairs of skeleton trees, each tree associated with a common anchor node, to obtain a complete topology.
Each of these methods may be carried out by a Network Management Station (NMS) or the like.
Simulations carried out by the present inventors demonstrate that the present invention, indeed, does discover the topology of LANs where existing techniques fail to do so.
FIGS. 1(b)1(d) depict connecting trees associated with subnets depicted in
Before presenting the details of the present invention, we first present some background information. In particular, we first introduce terminology familiar to those skilled in the art.
The domain over which a network'"'"'s topology is to be discovered is known as a switched domain. This domain comprises a maximal set. V, of network elements, e.g., switches, hosts and routers, such that there is a path between every pair of elements involving only elements in V. Switches are actually hardware bridges so the terms “switch” and “bridge” may be used interchangeably, herein. However, we may often use the word “switch” to describe both. Although the switched domain may have an arbitrary topology, it may be assumed that each switch executes a known spanning tree protocol to determine its active ports. As a result, the active forwarding paths between domain elements yields a tree topology within the switched domain. This topology is the target of the present invention'"'"'s topology discovery techniques.
In such a tree topology, switches are represented as internal nodes while hosts and routers are represented as leaf nodes. Because the latter are practically indistinguishable in a layer2 topological discovery method, both hosts and routers may be referred to as hosts. From a layer2 perspective, each router port that is connected to a switching domain is considered as a separate host. Thus, for purposes of the present invention, a single router may comprise several hosts; one host for each port connected to a switching domain that is to be “explored” (i.e., made a part of a discovered topology).
Packets may be forwarded only along links of a spanning tree. Their routes may be determined based on AFT information obtained through socalled backward learning, i.e., AFT information of a given active port comprises MAC addresses that are seen as source addresses on packets received by the port.
In a model that may be utilized by the present invention, a spanning tree embedded in a switched domain is modeled as an undirected tree, G(V, E). Such a tree may be referred to as a network. In this type of tree each node in V represents a network element and each edge in E represents a physical connection between two ports of active elements. The set V comprises both labeled and unlabeled nodes. By labeled nodes is meant those elements that have a unique identifying MAC address and can provide AFT information through SNMP queries. Unlabeled nodes, on the other hand, represent both “dumb” hub devices or switching elements with no SNMP support.
Thus, it may be said that AFT information can only be obtained from labeled nodes. To simplify the discussion which follows, labeled and unlabeled nodes may be referred to simply as switches and hubs, respectively.
Because G is a tree, there is a single path in G between every pair of nodes s, tεV, denoted by P_{s,t}. For every node νεV, we denote by D, its set of active ports. We use the notation (ν, k) to identify the k^{th }port of node νεV, and F_{ν,k }to denote the set of AFT entries at port (ν, k). To simplify our notation, parentheses and commas are often omitted from portid notation when referring to a specific port of a node ν, e.g., ν1, ν2 and so on. We also denote by ν(u) a port of node ν that leads to node u in G, i.e., node uεF_{ν,ν(u)}.
Every labeled node in a network G is associated with one or more subnets. A subnet may be a maximal set of network elements N⊂V such that any two elements in N can communicate directly with each other without involving a router. Communication across different subnets, however, must usually go through a router. Thus, a packet from node s to node t in the same subnet N may only traverse along the path P_{s,t }in G. Typically, the association of a node is determined by its IP address and a corresponding network mask. For example, IP address 145.112.47.10 along with mask 255.255.255.0 identifies a subnet of network elements with IP addresses of the form 145.112.47.x, were x is any integer between 1 and 254. If Nis designated as the collection of subnets of the graph G, it can be said that every subnet (or any set of elements) NεNdefines a connecting tree in G, denoted by T^{N}(V^{N},E^{N}), which is a tree subgraph of G spanned by the nodes in subnet N that contains all nodes V^{N }and edges E^{N }of G that lie on paths between any pair of nodes in N. It should be noted that V^{N }does not explicitly represent hubs (unlabeled nodes). Hubs with degree 2 in a connecting tree T^{N }are omitted.
Let N_{ν}⊂Ndenote the collection of subnets containing node νεV in their connecting trees. (Recall that a switch may serve hosts in different subnets.) Essentially, AFTs of ports of a given node ν contain nodereachability information, mainly, for the subnets in N_{ν}. The AFTs of node ν may also contain the MAC addresses of other nodes as well. However, these AFTs entries are usually created from sporadic broadcast messages. Due to the aging process of AFT information, they are gradually removed from AFTs. Thus, in accordance with one embodiment of the present invention, the only AFT information utilized is that of the subnets in N_{v}, for every node ν. Such subnet N is easy to identify by checking if hosts of N are included in AFTs of two or more ports of node ν.
The notation F_{v,k}^{N }will be used to denote all of the AFT entries of nodes in NεN_{ν} that are included in the AFT F_{ν,k }of ν. In addition, D_{v}^{N }will be used to denote a set of active ports in T^{N}, i.e., kεD_{v}^{N }if F_{v,k}^{N}≠∅. It can be said that the AFT F_{v,k}^{N }of ν is complete for subnet N if F_{ν,k }contains the MAC addresses of all nodes in N that are reachable by port (ν,k). Moreover, AFT F_{ν,k }of ν is referred to as complete if it is completed for all the subnets NεN_{ν}.
In accordance with the present invention, it may be assumed that AFT information is complete for every node v. This requirement may also be relaxed in alternative embodiments of the present invention.
Table I lists the key notations used throughout the discussion above and below with a brief description of each.
Having introduced some terminology, we now turn to a discussion of the present invention itself.
Initially, we introduce a general overview of the inventive methods and devices followed by a more detailed discussion.
One goal of the present invention is to discover the physical topology of an underlying multisubnet network represented by the graph G(V,E) as accurately as possible. In accordance with the present invention, an NMS may comprise one or more appropriately programmed devices and/or controllers, such as microprocessors and the like that may include one or more programs to carry out the methods, functions and features of the present invention.
In one embodiment of the present invention, these programs may execute novel methods, processes and/or techniques (e.g., algorithms) which use AFT information from labeled nodes in G to: (1) discover the direct, physical connections between the active ports of a labeled element; and (2) identify the existence of unlabeled nodes, i.e., hubs, in G as well as the set of adjacent elements. As mentioned briefly before, in one embodiment of the present invention, discovering the physical topology of an underlying multisubnet network may include two stages. First, a preliminary topology consisting of the connectingtree T^{N }of every subnet NεNis determined by using AFT information of one or more nodes (e.g., network elements) in T^{N}. Because this information may be insufficient for determining a final or complete topology of T^{N}, the present invention further utilizes an auxiliary data structure, referred to as a skeletontree, to further discover the topology within a certain degree of accuracy during a second stage.
For example, some nodes or network elements may not respond to an SNMP query. In such an instance, the present invention may provide for identifying such network elements and adding one or more of the identified network elements (and adjacent network elements) to the preliminary topology using skeleton trees. After calculating subnet skeletontrees, the present invention provides for iteratively merging one or more of these trees together. The merge operation continues until a final or complete topology of the network is obtained.
Such a merge operation may involve merging the identified network elements (and associated edge connectors) from subnets that share a network element in common to help form the final topology.
Before going further, it may be helpful to the reader if we first present one definition of a skeletontree data structure that may be utilized by the present invention.
Consider a connectingtree T^{N}(V^{N},E^{N}) of subnet NεNand, for now, assume complete AFT information. Two types of switches in T^{N }may be distinguished; junction nodes with degree 3 or more and transit nodes with degree 2 in T^{N}. The latter can be divided into successive segments, each one between two junctions, or a junction and a leaf node. For instance, consider the connecting tree of subnet N_{1}, depicted in
In accordance with the present invention, the skeletontree of a connectingtree T^{N}, is defined by a graph H(Y,A) with a tree topology, where each vertex yεY represents a set of nodes C_{y}⊂V^{N }(C_{y }may be empty) and the arcs A represent tree links. Each node νεV^{N }is included in exactly one set C_{y}, yεY. Each leaf or junction node in T^{N }is exclusively represented by a single vertex yεY and a segment of transit nodes is represented by one or more vertices in Y. Moreover, the topology of T^{N }is obtained by replacing each vertex yε Y by the corresponding node or segment of nodes represented by the set C_{y}.
For the sake of clarity, T^{N }will be used to denote the elements of a connecting tree, while the notation H(Y,A) will be used to denote a skeletontree corresponding to the connecting tree. In one embodiment of the present invention, such a skeletontree may be stored as a data structure.
Because a connecting tree T^{N }is part of an explored network, it is acceptable to use the terms nodes and links to denote its network elements and their interconnection, respectively. It should also be noted that the notation H(Y,A) may be viewed as a graphical representation of information that is acquired from the topology of a given skeletontree; its elements are termed vertices and arcs.
From a graph theory perspective, the graphs T^{N }and H(Y,A) may be referred to by those skilled in the art as homeomorphic. In other words, the topology of T^{N }may be obtained from the graph H by subdividing edges, until all the transit nodes are represented. Similarly, the graph H may be obtained from T^{N }by smoothing away the corresponding transit nodes. Consequently, it may be seen that there is a unique mapping from each node εε V^{N }to a single vertex yε Y. However, a reverse mapping is not always unique. When there is a unique mapping from a vertex yεY to a single node (network element) in T^{N}, then they both may be called anchors.
We now introduce the details of a TD technique that may be used by an NMS to infer the topology of a given LAN in accordance with an embodiment of the present invention.
The set of subnets of a considered network may be denoted T^{N}^{i }(V^{N}^{i}, E^{N}^{i}), by N, and the connecting tree of every subnet NEN. In an embodiment of the present invention, an NMS or the like is operable to collect the required AFT information and then execute a topology discovery (TD) algorithm. The latter utilizes a skeletontree creation (STC) algorithm described in more detail below as a basic building block to first compute a skeletontree for every subnet N_{i }and, then, to iteratively merge pairs of skeletontrees until a complete network topology is obtained. A diagram of some of the steps involved in a TD technique according to one embodiment of the invention is shown in
In accordance with one embodiment of the present invention, AFT information is obtained through backward learning on active ports. In other words, the AFT information of a given port comprises those MAC addresses where each MAC address may be viewed as representing a source address of packets received by a port. Thus, to collect all the required AFT information, the TD technique may need to populate the AFTs of a switch with the appropriate MAC addresses. More specifically, in one embodiment of the present invention for each subnet N_{i }and its connected tree T^{N}^{i}, the TD technique may need to identify a root node r_{i}εN_{i }and to guarantee that all of the AFTs of nodes in V^{N}^{i }satisfy the property:
 Property 1: for every node vεV^{N}^{i}, the AFT port ν(r_{i}) contains r_{i }and the AFT of every other port is complete for the set N_{i}.
In accordance with one aspect of the present invention, we now show that this goal can be obtained by an AFT populating process described below.
 Property 1: for every node vεV^{N}^{i}, the AFT port ν(r_{i}) contains r_{i }and the AFT of every other port is complete for the set N_{i}.
For each subnet N_{i}εN, an NMS or the like is operable to identify a root node r_{i}. If the NMS itself is included in the subnet N_{i}, then the NMS itself serves as the root node r_{i}. Otherwise, every message from the NMS to any node vεN_{i }traverses through a router that is part of the connecting tree T^{N}^{i}. According to a known IP forwarding method, the route of an IP message may be determined according to its destination network. Consequently, all of the messages from an NMS to every node in N_{i }traverse through a common router that can be identified, e.g., by using a traceroute. This router may be used as the root r_{i }of a considered connecting tree T^{N}^{i}. In both cases, any message from the NMS to a node vεN_{i }traverses along the path P_{r}_{i}_{,v }between them and a reply is forwarded along the reverse path, which populates AFTs along this path accordingly. As a result, the NMS may only need to send a ping (i.e., sending ICMP ECHO REQUEST messages and receiving ICMP ECHO REPLY messages; if these messages are not supported in the considered network, trivial SNMP query messages can be used) message to every node in N_{i }to populate the AFTs. This is enough to satisfy Property 1. In sum, an NMS may be operable to first populate one or more AFTs using a common router and then collect AFT information using standard SNMP queries. From the discussion above, the following Theorem follows.
Theorem 1: For every subnet N_{i}, its connecting tree T^{N}^{i}(V^{N}^{i},E^{N}^{i}) and a root node r_{i}εN_{i }(as determined above), the AFT populating process ensures that the AFTs of every node vεV^{N}^{i }satisfy the requirements of Property 1 set forth above.
After AFT information is collected, the present invention infers the topology of the network. In an embodiment of the present invention, this requires that an NMS be operable to calculate a skeleton tree for each subnet N_{i}εNby invoking an STC algorithm (discussed below) using the following parameters: (1) the nodes of the considered subnet, N_{i}; (2) the root, r_{i}, of the connecting tree as discussed above; (3) the set of nodes, V^{N}^{i}, of the connecting tree (this set comprises the nodes of N_{i }and any node cεV that has at least two ports with AFT entries of nodes in N_{i}); (4) the collected AFT information.
In further embodiments of the present invention, the NMS executes a routine to augment or “extend” the AFTs with an anchor node or set X_{i }of every connecting tree T^{N}^{i}. Thereafter, the NMS is operable to merge pairs of skeletontrees until a single skeletontree is obtained or the trees cannot be merged any more.
Consider two skeletontrees H_{j}(Y_{j},A_{j}) and H_{j}(Y_{j},Aj) of two different node sets N_{i }and N_{j}, and let X_{i }and X_{j }be their anchor sets, respectively. An NMS in accordance with the present invention may merge skeletontrees if they have a common anchor node, which is a node rεX_{i}∩X_{j}. A skeleton tree that results from this operation represents a connecting tree span of the set N=N_{i}∩N_{j}. After detecting two skeleton trees with common anchors, the NMS is operable to carry out further merges using the STC algorithm (discussed later) using the following parameters: (1) the node set N=N_{i}∩N_{j}; (2) a common anchor node rεX_{i}∩X_{j }as a root node; (3) a set of nodes V^{N}=V^{N}^{1}∩V^{N}^{2 }that comprises all nodes of a connecting tree T^{N}; and (4) AFT information augmented with two anchor sets X_{i }and X_{j}. Each iterative merge operation creates a new merged tree. Thereafter, the merged trees can themselves be further merged.
For example, in a further embodiment of the present invention, after a merge operation, an NMS may be further operable to further augment AFTs by identifying an anchor set node common to new (merged) skeleton trees. The merging continues until no common anchors can be identified.
Consider three skeleton trees spanned by the subnets N_{1}, N_{2 }and N_{3}. The skeleton trees of subnets N_{1 }and N_{2 }can be merged by an NMS using node ν_{3 }as a common anchor. Consequently, nodes ν_{1 }and ν_{2 }appear as anchor nodes in a resulting skeletontree. Then, an NMS may merge the skeleton tree of both subnets, T^{N}^{1}^{∩N}^{2}, with the skeleton tree of subnet N_{3}, where node ν_{1 }is used as a common anchor. This merge operation yields an overall network topology.
Throughout our discussion above, we have made reference to a skeletontree creation (STC) technique or algorithm (i.e., method). This is a building block of the present invention.
In accordance with embodiments of the present invention, STC algorithms are based on properties of a connecting tree T^{N}(V^{N}, E^{N}). First, a rootnode rεN is selected for the connecting tree T^{N}. It should be noted that the node r may be any node in N and may be completely independent of a root node used by a known spanning tree algorithm. For each node νεV^{N }let B_{ν}⊂N denote the set of nodes from N in the subtree rooted by ν and let B_{ν} be its size. As described in more detail below, the sets B_{ν},εV^{N}, can be calculated by an NMS from AFT information. Such sets also have the following property:
 Property 2: for every pair of nodes ν,uεV^{N}, such that u is a descendent (node u is included in the subtree rooted by node ν) of ν, it follows that B_{v }subsumes the set B_{u}, i.e., B_{ν}⊃B_{u}.
In particular, if ν is a junction node or νεN then the set B_{u }is explicitly a subset of B_{ν}, i.e., B_{ν}⊃B_{u}. This observation is used by an NMS to compile a list L of nodes in V^{N}r sorted in an order according to their B_{ν} values. This list defines an ordered relationship between anchor nodes of a tree where, for example, each junction node and every node in N appears in L before each one of its descendent, and after its ancestor, anchor nodes. Thereafter, an NMS may be further operable to conduct a topdown discovery of a corresponding (skeleton) tree topology.
To summarize so far, in embodiments of the present invention an NMS or the like is operable to: (i) first determine one or more connecting trees representing nodes in a subnet using AFT information; and (ii) initially use an STC algorithm to form a skeleton tree representing each subnet.
The NMS may thereafter also be operable to use an STC method to carry out merge operations using one or more pairs of skeleton trees that share a common anchor node to obtain a complete topology.
What follows is a more detailed description of some of the STC methods provided by the present invention. First, we present several basic properties that form the foundation of the inventive methods.
In the following, consider a set of nodes N (that may be one or more subnets) and let T^{N}(V^{N},E^{N}) be a connecting tree spanned by this set, N, rooted by a node rεN. Initially, assume that the AFTs of all of the nodes νε V^{N }are complete for the set N. (Later this requirement will be relaxed in alternative embodiments of the present invention.)
For each node νεV^{N}, we may refer to a port ν(r) that leads to a root as a “rootport” and to all its other active ports, D_{v}^{N}−v(r), as “leafports.” We may define the set B_{ν}⊂N of all the nodes of N that are included in the subtree (this subtree may be obtained by removing the rootport of ν) of T^{N }rooted by node ν and denote the size of this set as B_{ν}. The set B_{ν} may be calculated from the AFTs as follows; B_{v}=∩_{kεD}_{v}_{−{v(r)}}F_{v,k}^{N}; we add node ν to B_{ν} if νε N. Note that it may also be calculated by B_{v}=N−F_{v,v(r)}^{N}. The sets {B_{ν}} have the following properties.
Property A: For every node vεV^{N}, B_{v}≠∅.
Property B: For every node ν and any descendent u of node ν follows that B_{v}⊃B_{u }and B_{v}≧B_{u}.
Property C: For every node vεN and any one of its descendent uεV^{N }follows that B_{v}⊃B_{u }and B_{v}≧B_{u}.
Property D: For every junction node vεV^{N }and any of its descendent uεV^{N}, B_{v}⊃B_{u }and B_{v}≧B_{u}.
Proofs of Properties AD have been developed by the present inventors. These proofs have been omitted in order to make it easier on the reader. Such proofs are also not necessary for an understanding of the present invention.
These properties enable the establishment of an ordered relationship between nodes. In a further embodiment of the present invention, an NMS may be operable to assign a value n_{ν} to each node νεV^{N }as defined by Equation 1 below:
Let L be a list of all nodes sorted in nonincreasing order according to their n_{ν} values. It may be said that node ν has a complete ordered relationship if in any feasible permutation of L it appears after all its ancestor, and before all its descendent, nodes in the tree T^{N }rooted by r.
In addition to Properties AD, the present inventors formulated and discovered the following related Lemmas and Corollaries (whose proofs again have been developed, but not included herein for the same reasons stated before).
Lemma 1: Every node in N and every junction node has a complete ordered relationship.
Lemma 2: Consider two transit nodes u,vεV^{N}−N such that B_{u}=B_{ν}, then every node x in the path between node u and ν is also a transit node with B_{x}=B_{ν}.
Corollary 1: Consider a transit node vεV^{N }and let C⊂V^{N }be the set of all transit nodes such that for every uεC, B_{u}=B_{ν}. Then, all the nodes of C are included in a successive segment in the tree T^{N}.
Consider a connecting tree spanned by the subnet N_{1 }and let node a be its root. Then, the sets B_{ν1},=B_{ν2}=B_{ν3}={b,c,d,e,f}. However, the n_{ν} values are not the same, because n_{ν1}=n_{ν2}=5 while n_{ν3}=4.5. Thus, a possible order of the nodes is L={a,ν_{1},ν_{2},ν_{3},ν_{5},e,f,c,d,c,d,b}.
Armed with the above Properties, Lemmas and Corollaries, a description of STC techniques provided by the present invention is now presented.
In one embodiment of the present invention, an NMS is operable to execute an STC method to compute a skeletontree H(Y,A) that represents the available topological information of a connecting tree T^{N}. This is an iterative process that adds a new labeled node vεV^{N }to the skeletontree H in each iteration, until all the labeled nodes are represented in H. As an input, the process receives the sets N and V^{N}, the root node rεN, and AFT information, i.e., F_{v,k}^{N }for each vεV^{N}.
In addition, in further embodiments of the present invention, an STC method executed by an NMS maintains a directed graph H(Y,A) that denotes the skeleton tree calculated so far. Every vertex yεY maintains a set C_{y}⊃V^{N }of the nodes that it represents and a parameter n_{y }that denotes the n_{ν} value of these nodes. (All the nodes νεC_{y }have the same n_{ν} value.) The arcs represent the known links in the considered tree. During a calculation, some of the arcs have an unknown” endpoint (i.e., an endpoint that has not been detected yet). These arcs are called frontier arcs. They are stored in a set, denoted by Z, until both endpoints are detected. For every arc aεA an STC method (method and algorithm are used interchangeably throughout the discussion above and below) keeps a set B_{a }of all descendent nodes in N.
Again, the reader is encouraged to refer to
Backtracking somewhat, initially an STC method of the present invention may perform the following steps: (a) for each node νεV^{N }a rootport, ν(r), is found that leads to r; (b) a set B_{v}=∪_{kεD}_{v{v(r)}}F_{v,k}^{N }is calculated; and (c) ν is added to B_{ν} if νεN. Further, an STC method of the present invention (as executed by an NMS or the like) may be operable to determine the value, n_{ν}, of node v as defined in Equation 1 above. As indicated above, a list L of the nodes V^{N}−{r} sorted in nonincreasing order according to their n_{ν} values may be completed. After that, the skeleton tree H(Y,A) with a single vertex y that represents the root r is initialized. The latter is associated with a set C_{y}={r} and a value n_{y}=N+½. The exemplary method originates a set Z with D_{r}^{N} arcs that denotes the incident links of node r that are included in T^{N}. Each arc aεZ is associated with a set B_{a}=F_{r,k}^{N }for one of the port kεD_{r}^{N}. An example of the initialization stage is presented in
In a further embodiment of the present invention, after an initialization stage, the first node from L is iteratively removed, denoted by ν, and a skeletontree H(Y,A) is modified accordingly, as long as L is not empty. At each iteration, an arc aεZ with B_{a}⊃B_{v }and yεY as its endpoint (vertex) in H is sought. Two basic cases are distinguished.
If n_{y}=n_{ν} then from Lemmas 1 and 2, it follows that a node ν is a part of a segment represented by vertex y. Node ν is then added to C_{y }and a new node is selected from L, as presented in
Now, consider the next two cases. If a vertex y represents a labeled node, i.e., C_{y}≠∅, then a new vertex x may be created and inserted between the vertices y and y′. Because x represents an unlabeled node, it is associated with a set C_{x}=∩ and a value n_{x}=B_{a}−½ (according to Equation 1). Vertex x is attached to two new arcs a_{1}, a_{2 }with B_{a1}=B_{ν} and B_{a2}=B_{v}−B_{v}. In a further embodiment of the present invention, a vertex x may be connected to an arc a that is incident to a vertex y and then attaches a vertex y′ to the arc a_{1 }of x. The arc a is removed from Z and the arc a_{2 }is inserted, as illustrated in
A second case results when y represents an unlabeled node, i.e., C_{y}≠∅. Because B_{a}⊃B_{v }as stated above, node y represents the parent of node ν in T^{N }and another node (at least one) that has not been discovered yet. In a further embodiment of the present invention, an STC algorithm may create an additional arc â that is connected to vertex y with B_{â=B}_{a}−B_{v }and adds it to Z. In addition, it connects vertex y′ to the arc a (with B_{a}=B_{v}) and removes a from Z. An example of such case is presented in
Theorem 2: Consider a set N⊂V, its corresponding connectingtree T^{N}(V^{N}, E^{N}) and any given root node rεN. Then, an STC method in accordance with the present invention computes a skeletontree H(Y, A) of T^{N}, where every node vεN or a junction node in T^{N }are represented by anchor vertices in Y.
Similar to above, the proof of Theorem 2 has been developed but not included herein.
The STC method just discussed requires complete AFTs of the set N for every node in V^{N}. However, complete AFTs may only be obtained when a message is sent between every pair of nodes in N. In practice, this may be very hard to accomplish. This requirement, however, can be replaced with a simpler one. The present inventors discovered that for every node vεV^{N }its set B_{ν} comprises only nodes of the subtree routed by ν. Accordingly, in accordance with an alternative embodiment of the present invention, Property 1'"'"'s complete AFT requirement may be relaxed (i.e., information for each node is not required).
 Property 3: Consider the connecting tree T^{N}(V^{N},E^{N}) of a given set N and a root node r. For every node vεV^{N}, an alternative STC method requires the AFT F_{ν,ν(r) }of its rootport to include r and the AFTs of all the its leafports, kεD_{v}^{r}−{v(r)}, to be complete for the set N.
Because the AFT F_{ν,ν(r) }of the rootport is not required to be complete for the set N, a relaxed requirement may be achieved by sending probe messages from a single point in the network.
Though not repeatedly stated above, each of the steps in an STC method may be carried out in an NMS or the like.
In yet a further embodiment of the present invention, an NMS may be operable to augment skeleton trees AFTs of nodes in V^{N }with additional reachability information. Though is was stated beforehand that a skeleton tree can be calculated without having complete AFTs for the set N, however, the following augmentation is essential for merging skeleton trees. Let X⊂V^{N }be the set of anchor nodes in the tree T^{N}. This augmentation ensures that AFT information of nodes in TV are complete for the set X.
An NMS may calculate socalled “extended AFTs” in a recursive manner by performing a known postorder “tour” on a skeletontree, starting with a root r. In such a tour, each vertex yεY returns the set of anchor nodes X_{y}⊂V^{N }in its subtree to its parent vertex in H(Y,A). Consider a vertex yεY with children y_{1},y_{2}, . . . ,y_{J}εY and let X_{y}_{j }be the set returned by vertex y_{j }to y. Clearly, if y is a leaf vertex in H(Y,A) then J=0 and no recursive calls are performed. After obtaining all the sets {X_{y}_{j}} from each child y_{j }of vertex y, the set X_{y }of vertex y may be calculated by taking the union of all the sets X_{y}, and the set C_{y }if y is an anchor vertex, i.e., X_{y}=(∪_{j=1}^{J}X_{y}_{j})∪(X∩C_{y}). Then, the AFTs of every node vεC_{y }may be augmented as follows. For each rootport (ν,ν(r)) of every node vεC_{y}, the set X−X_{y}, is added to an AFT, i.e., F_{v,v(r)}=F_{v,v(r)}∪(X−X_{y}).
Now, if (ν, k_{j}) the leafport of node vεC_{y }that leads to the nodes represented by y_{j}, then, for each port (ν,k_{j}), the set X_{y}_{j}, i.e., F_{v,k}_{j}=F_{v,k}_{j}∪X_{y}_{j }is added to an AFT. Some steps used to extend information in an AFT according to an embodiment of the present invention are depicted in
Theorem 3: Consider a connecting tree T^{N }(V^{N},E^{N}) and its corresponding skeleton tree H(Y,A). Let X be the set of anchors in both trees. Then, in yet a further embodiment of the present invention, extended AFTs for the set X for every node vεV^{N }may be calculated.
The above discussion has set forth novel methods and devices for discovering the topology of large multisubnet LANs. It should be further noted here that the present inventors carried out corrective and complexity analyses. These analyses demonstrate the correctness of the techniques discussed above and confirmed the low overhead required. Again, the proofs, etc. related to these analyses have been omitted herein because they are not necessary for an appreciation of the present invention.
The present inventors carried out simulations, the results of which are set forth in
These simulations indicate that the methods and devices of the present invention are capable of discovering the topology of subnets when the explored networks had a small number of uncooperative switches, i.e., approximately 100% probability of successfully discovering a topology. This by itself is impressive because in all of the evaluated instances half of the switching elements were dumbhubs that do not provide AFT information. Moreover, these simulations also revealed that the probability of discovering a topology was almost always above 99.75% when the average number of hosts in a subnet equaled 20 or more.
This high probability of discovering a topology was also maintained when the number of uncooperative switches was increased to 50%. Recall that in these cases, 75% of a network'"'"'s switching elements are uncooperative and only 25% provide AFT information.
These simulations also show that in extreme cases, where the average subnet size is 15 hosts or less and only 25% of a network'"'"'s switching elements (switches and dumbhubs) are cooperative, the probability of successfully discovering a topology is above 95%. These remarkable results indicate that even with very limited AFT information the probability of successfully discovering a topology is still very high.
In the discussion above it has been indicated that an NMS comprising one or more programmed microprocessors may be operable to carry out the methods, features and functions of the present invention.
In an alternative embodiment of the present invention, a topology discovery tool may be used to carry out the methods, features and functions of the present invention. Such a tool may comprise a combination of hardware, software, firmware, or some combination of the three.
In addition, the topology of virtual LANs may also be discovered by applying the methods of the present invention.
It should be understood that the discussion above only provides a few examples of the present invention, the true scope of which is covered by the claims which follow.