IP Library Granted Patent US 8,670,352
Granted Patent B2
US 8,670,352 · App. 13/301,688 · Granted Mar 11, 2014

Link inference in large networks based on incomplete data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,670,352
App. No.
13/301,688
Granted
Mar 11, 2014
Kind
B2
Abstract

A network is partitioned into a set of independent partitions, and the topology of each partition is determined, then merged to form a topology of the entire network. Preferably, the partitioning is hierarchical, wherein the network is partitioned to form individual VLAN partitions, and each of the VLAN partitions is further partitioned based on the nodes that are simply connected to each port of one or more selected root switches within the VLAN partition. Simple connections to each port are efficiently determined based on an aggregate address forwarding table associated with each node. Ancillary information, such as spanning tree or CDP data, may be used to facilitate efficient partitioning and/or to validate inferences that are made with incomplete information.

Claims (58)

1. A method comprising:

receiving, at a network analysis machine, a plurality of address forwarding tables that define address sets associated with ports of nodes in a network,

selecting a root node from the nodes of the network,

creating, by the network analysis machine, a partition associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port, based on the address forwarding tables,

if any nodes remain that have not been included in at least one partition, selecting a node from among the remaining nodes as the root node and repeating the creating of partitions associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port, until each node of the network has been included in at least one partition,

determining, by the network analysis machine, a topology of each partition based at least in part on the address forwarding tables

merging, by the network analysis machine, the topologies of the partitions to determine a topology of the network, and

presenting, on a display device, a representation of at least a portion of the topology of the network.

2. The method of claim 1 , wherein the address forwarding tables includes an indication of each port and any virtual networks within the network that are associated with the port, and the method includes:

identifying, by the network analysis device, an address forwarding table that contains anomalous forwarding information that does not provide an explicit correspondence between each port and each virtual network that is associated with the port, and

augmenting, by the network analysis device, the address forwarding table to provide the explicit correspondence between each port and each virtual network that is associated with the port.

3. The method of claim 2 , wherein the anomalous forwarding information corresponds to information associated with encapsulation of traffic of a first virtual network into traffic of a second virtual network.

4. The method of claim 3 , wherein the augmenting includes adding the first virtual network to the address forwarding table.

5. The method of claim 2 , wherein the anomalous forwarding information corresponds to information associated with a cryptographic feature associated with traffic associated with the port.

6. The method of claim 5 , wherein the augmenting includes replacing an identifier of an internal port with an identifier of an external port.

7. The method of claim 1 , wherein determining the topology of each partition includes identifying a connection between the root node and another node that is not included in the partition of the root node.

8. The method of claim 7 , wherein identifying the connection includes identifying an access node and a trunk node with a native VLAN configuration.

9. The method of claim 1 , wherein merging the topologies of the partitions includes identifying conflicting information among the determined topologies and resolving the conflicting information based on a hierarchy of preferences.

10. The method of claim 9 , wherein the hierarchy of preferences is based on a determination of methods used to determine links between the ports.

11. A system comprising:

a memory that stores a plurality of address forwarding tables that define address sets associated with ports of nodes in a network,

a network partitioner that:

selects a root node from the nodes of the network,

creates a partition associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port, based on the address forwarding tables,

selects a node from among the remaining nodes as the root node if any nodes remain that have not been included in at least one partition, and repeat the creating of partitions associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port until each node of the network has been included in at least one partition, and

determines a topology of each partition based at least in part on the address forwarding tables,

a link merger that merges the topologies of the partitions to determine a topology of the network, and

a display device that displays a representation of at least a portion of the topology of the network.

12. The system of claim 11 , wherein the address forwarding tables includes an indication of each port and any virtual networks within the network that are associated with the port, and the network partitioner:

identifies an address forwarding table that contains anomalous forwarding information that does not provide an explicit correspondence between each port and each virtual network that is associated with the port, and

augments the address forwarding table to provide the explicit correspondence between each port and each virtual network that is associated with the port.

13. The system of claim 12 , wherein the anomalous forwarding information corresponds to information associated with encapsulation of traffic of a first virtual network into traffic of a second virtual network.

14. The system of claim 13 , wherein the network partitioner augments the address forwarding table by using a process that includes adding the first virtual network to the address forwarding table.

15. The system of claim 12 , wherein the anomalous forwarding information corresponds to information associated with a cryptographic feature associated with traffic associated with the port.

16. The system of claim 15 , wherein the network partitioner augments the address forwarding table by using a process that includes replacing an identifier of an internal port with an identifier of an external port.

17. The system of claim 11 , wherein the network partitioner determines the topology of each partition by using a process that includes identifying a connection between the root node and another node that is not included in the partition of the root node.

18. The system of claim 17 , wherein the network partitioner identifies the connection by identifying an access node and a trunk node with a native VLAN configuration.

19. The system of claim 11 , wherein the network partitioner merges the topologies of the partitions by using a process that includes identifying conflicting information among the determined topologies and resolving the conflicting information based on a hierarchy of preferences.

20. The system of claim 19 , wherein the hierarchy of preferences is based on a determination of methods used to determine links between the ports.

21. A non-transitory computer readable medium that includes a computer program that, when executed by a processor, is configured to cause the processor to:

receive a plurality of address forwarding tables that define address sets associated with ports of nodes in a network,

select a root node from the nodes of the network,

create a partition associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port, based on the address forwarding tables,

select a node from among the remaining nodes as the root node if any nodes remain that have not been included in at least one partition, and repeat the creating of partitions associated with each port of the root node that includes each of the other nodes of the network that are simply connected to the port until each node of the network has been included in at least one partition, and

determine a topology of each partition based at least in part on the address forwarding tables,

merge the topologies of the partitions to determine a topology of the network, and

provide a representation of at least a portion of the topology of the network for display on a display device.

22. The medium of claim 21 , wherein the address forwarding tables includes an indication of each port and any virtual networks within the network that are associated with the port, and the program causes the processor to:

identify an address forwarding table that contains anomalous forwarding information that does not provide an explicit correspondence between each port and each virtual network that is associated with the port, and

augment the address forwarding table to provide the explicit correspondence between each port and each virtual network that is associated with the port.

23. The medium of claim 22 , wherein the anomalous forwarding information corresponds to information associated with encapsulation of traffic of a first virtual network into traffic of a second virtual network.

24. The medium of claim 23 , wherein the program causes the processor to augment the address forwarding table by using a process that includes adding the first virtual network to the address forwarding table.

25. The medium of claim 22 , wherein the anomalous forwarding information corresponds to information associated with a cryptographic feature associated with traffic associated with the port.

26. The medium of claim 25 , wherein the program causes the processor to augment the address forwarding table by using a process that includes replacing an identifier of an internal port with an identifier of an external port.

27. The medium of claim 21 , wherein the program causes the processor to determine the topology of each partition by using a process that includes identifying a connection between the root node and another node that is not included in the partition of the root node.

28. The medium of claim 27 , wherein the program causes the processor to identify the connection by identifying an access node and a trunk node with a native VLAN configuration.

29. The medium of claim 21 , wherein the program causes the processor to merge the topologies of the partitions by using a process that includes identifying conflicting information among the determined topologies and resolving the conflicting information based on a hierarchy of preferences.

30. The medium of claim 29 , wherein the hierarchy of preferences is based on a determination of methods used to determine links between the ports.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →