IP Library Granted Patent US 8,724,494
Granted Patent B2
US 8,724,494 · App. 13/210,351 · Granted May 13, 2014

Network multi-path discovery

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,724,494
App. No.
13/210,351
Granted
May 13, 2014
Kind
B2
Abstract

Potential paths between a source and destination of a network are identified based on trace-route information, then filtered to eliminate paths or links that are not supported by ancillary information associated with the network so as to identify feasible/actual paths between the source and destination. The ancillary information includes, for example, routing tables and ARP tables. If a feasible path cannot be identified based on the ancillary information, supplemental information regarding nodes further along the potential path is assessed to provide a basis for inferring the nodes that may provide a feasible path. The determined feasible paths are displayed for review, and provided to serve as filters for subsequent path-analysis tools.

Claims (70)

1. A non-transitory computer-readable medium that includes a program that, when executed by a processor, causes the processor to:

obtain trace results based on one or more trace-route operations from a source to a destination on a network, each trace result identifying one or more nodes that are situated between the source and the destination, each node being associated with a sequential hop from the source to the destination, at least two nodes being associated with a same hop,

process the trace results to identify multiple paths between the source and the destination, including determining a first path that includes a first node of the at least two nodes associated with the same hop and a second path that includes a second node of the at least two nodes associated with the same hop.

2. The medium of claim 1 , wherein the program causes the processor to identify the multiple paths by:

maintaining a set of identified paths to a given hop, each identified path having a last element associated with the given hop,

identifying each of the nodes associated with a next hop after the given hop from the trace results, and

for each identified path:

identifying each connected node of the nodes associated with the next hop that is connected to the last element of the identified path,

augmenting the identified path to include a first connected node associated with the next hop, and

for each other connected node, if any:

creating a new path that includes the identified path up to the given hop, and the other connected node.

3. The medium of claim 2 , wherein the program causes the processor to identify at least one of the connected nodes by assessing configuration information associated with the last element.

4. The medium of claim 2 , wherein the program causes the processor to identify at least one of the connected nodes by assessing configuration information associated with each node associated with the next hop.

5. The medium of claim 2 , wherein the program causes the processor to identify at least one of the connected nodes by obtaining subsequent trace results.

6. The medium of claim 5 , wherein the subsequent trace results are based on a trace operation that identifies the last element of the identified path.

7. The medium of claim 2 , wherein the program causes the processor to identify at least one of the connected nodes by assessing one or more previously determined paths in the network.

8. The medium of claim 2 , wherein, if no connected nodes are found, the program causes the processor to resolve this lack of connectivity.

9. The medium of claim 8 , wherein the program causes the processor to resolve the lack of connectivity by finding at least one element at a subsequent hop after the next hop that is connected to the last element, and inferring an identity of a node at the next hop that provides connectivity between the last element and the element at the subsequent hop.

10. The medium of claim 9 , wherein the node at the next hop is identified as a firewall.

11. The medium of claim 2 , wherein, if the next hop is a first hop from the source, each of the nodes associated with the next hop is identified as a connected node.

12. The medium of claim 1 , wherein the program causes the processor to determine the first path by a process that includes assessing configuration information associated with the first node.

13. The medium of claim 1 , wherein the program causes the processor to determine at least one of the first and second paths by a process that includes obtaining subsequent trace results.

14. The medium of claim 13 , wherein the subsequent trace results are based on a trace operation that identifies a last element of the first path immediately prior to the first node.

15. The medium of claim 1 , wherein the program causes the processor to determine at least one of the first and second paths by a process that includes assessing one or more previously determined paths in the network.

16. The medium of claim 1 , wherein the program causes the processor to determine at least one of the first and second paths by a process that includes resolving a lack of connectivity to at least one of the first and second nodes.

17. The medium of claim 16 , wherein the program causes the processor to resolve the lack of connectivity by finding at least one element at a subsequent hop after the same hop that is connected to an element prior to the at least one of the first and second nodes, and inferring an identity of the element prior to the at least one hop that provides connectivity to the at least one of the first and second nodes.

18. A method comprising:

obtaining, at a network analysis system, trace results based on one or more trace-route operations from a source to a destination on a network, each trace result identifying one or more nodes that are situated between the source and the destination, each node being associated with a sequential hop from the source to the destination, at least two nodes being associated with a same hop,

processing, by a processor of the network analysis system, the trace results to identify multiple paths between the source and the destination, including determining a first path that includes a first node of the at least two nodes associated with the same hop and a second path that includes a second node of the at least two nodes associated with the same hop, and

storing, in a memory of the network analysis system, the first and second paths for subsequent display and analysis.

19. The method of claim 18 , identifying the multiple paths includes:

maintaining a set of identified paths to a given hop, each identified path having a last element associated with the given hop,

identifying each of the nodes associated with a next hop after the given hop from the trace results, and

for each identified path:

identifying each connected node of the nodes associated with the next hop that is connected to the last element of the identified path,

augmenting the identified path to include a first connected node associated with the next hop, and

for each other connected node, if any:

creating a new path that includes the identified path up to the given hop, and the other connected node.

20. The method of claim 19 , wherein identifying at least one of the connected nodes includes assessing configuration information associated with the last element.

21. The method of claim 19 , wherein identifying at least one of the connected nodes includes assessing configuration information associated with each node associated with the next hop.

22. The method of claim 19 , wherein identifying at least one of the connected nodes includes by obtaining subsequent trace results.

23. The method of claim 22 , wherein the subsequent trace results are based on a trace operation that identifies the last element of the identified path.

24. The method of claim 19 , wherein identifying at least one of the connected nodes includes assessing one or more previously determined paths in the network.

25. The method of claim 19 , including resolving a lack of connectivity between the last element of the given hop and any of the nodes associated with the next hop.

26. The method of claim 25 , wherein resolving the lack of connectivity includes at least one element at a subsequent hop after the next hop that is connected to the last element, and inferring an identity of a node at the next hop that provides connectivity between the last element and the element at the subsequent hop.

27. The method of claim 26 , wherein the node at the next hop is identified as a firewall.

28. The method of claim 19 , wherein, if the next hop is a first hop from the source, each of the nodes associated with the next hop is identified as a connected node.

29. The method of claim 18 , wherein determining the first path includes assessing configuration information associated with the first node.

30. The method of claim 18 , wherein determining at least one of the first and second paths includes obtaining subsequent trace results.

31. The method of claim 30 , wherein the subsequent trace results are based on a trace operation that identifies a last element of the first path immediately prior to the first node.

32. The method of claim 18 , wherein determining at least one of the first and second paths includes assessing one or more previously determined paths in the network.

33. The method of claim 18 , wherein determining at least one of the first and second paths includes resolving a lack of connectivity to at least one of the first and second nodes.

34. The method of claim 33 , wherein resolving the lack of connectivity includes finding at least one element at a subsequent hop after the same hop that is connected to an element prior to the at least one of the first and second nodes, and inferring an identity of the element prior to the at least one hop that provides connectivity to the at least one of the first and second nodes.

35. A network analysis system comprisiong:

a controller that is configured to obtain trace results based on one or more trace-route operations from a source to a destination on a network, each trace result identifying one or more nodes that are situated between the source and the destination, each node being associated with a sequential hop from the source to the destination, at least two nodes being associated with a same hop,

one or more analysis tools that are configured to process the trace results to identify multiple paths between the source and the destination, including determining a first path that includes a first node of the at least two nodes associated with the same hop and a second path that includes a second node of the at least two nodes associated with the same hop, and

a memory that is configured to store the first and second paths, and

a display that is configured to illustrate the first and second paths between the source and destination.

36. The system of claim 35 , wherein at least one analysis tool is configured to:

maintain a set of identified paths to a given hop, each identified path having a last element associated with the given hop,

identify each of the nodes associated with a next hop after the given hop from the trace results, and

for each identified path:

identify each connected node of the nodes associated with the next hop that is connected to the last element of the identified path,

augment the identified path to include a first connected node associated with the next hop, and

for each other connected node, if any:

create a new path that includes the identified path up to the given hop, and the other connected node.

37. The system of claim 36 , the at least one tool is configured to identify at least one of the connected nodes by assessing configuration information associated with the last element and configuration information associated with each node associated with the next hop.

38. The system of claim 35 , wherein at least one of the analysis tools is configured to assess configuration information associated with the first node to facilitate determining the first path.

39. The system of claim 35 , wherein at least one of the analysis tools is configured to obtain subsequent trace results to facilitate determining at least one of the first and second paths.

40. The system of claim 35 , wherein at least one of the analysis tools is configured to assess one or more previously determined paths in the network to facilitate determining at least one of the first and second paths.

Assignments (21)
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
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: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
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 - 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 →
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 →
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 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2013
From: OPNET TECHNOLOGIES LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 030462/0148 →
CHANGE OF NAME Recorded May 14, 2013
From: OPNET TECHNOLOGIES, INC.
To: OPNET TECHNOLOGIES LLC
Reel/Frame 030411/0273 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2011
From: UPPALLI, RAGHAVENDRA; SHAW, JAMES MARK; NATARAJAN, PRADEEP; COHEN, ALAIN
To: OPNET TECHNOLOGIES, INC
Reel/Frame 026818/0345 →