IP Library Granted Patent US 9,118,587
Granted Patent B2
US 9,118,587 · App. 14/242,200 · Granted Aug 25, 2015

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 9,118,587
App. No.
14/242,200
Granted
Aug 25, 2015
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 (46)

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

access first and second trace results related to each of a first and a second trace operation that each define one or more hops of at least a portion of a path between a source node to a destination node;

identify a pair of corresponding hops in the first and second trace results that include a first node in the first trace result that is different from a second node in the second trace result;

determine a first identified path from the source node toward the destination node that includes the first node, and a second identified path from the source node toward the destination node that includes the second node; and

store the first and second identified paths in a non-transitory computer-readable memory for subsequent analysis and display.

2. The medium of claim 1 , wherein each of the first and second identified paths includes a last element associated with a given hop, and the program cause the processor to:

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

for each of the first and second identified paths:

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 identified 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 at least one of: the last element, and one or more nodes associated with the next hop.

4. 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 that are based on a trace operation that identifies the last element of the identified path.

5. 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.

6. The medium of claim 2 , wherein, if no connected nodes are found, the program causes the processor to resolve this 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.

7. The medium of claim 1 , wherein the program causes the processor to determine at least one of the first and second identified paths by a process that includes obtaining subsequent trace results based on a trace operation that identifies a last element of the first identified path immediately prior to the first node.

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

9. The medium of claim 1 , wherein the program causes the processor to determine at least one of the first and second identified paths by a process that includes resolving a lack of connectivity to at least one of the first and second nodes 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.

10. A method comprising:

accessing, by a network analysis system, first and second trace results related to each of a first and a second trace operation that each define one or more hops of at least a portion of a path between a source node to a destination node;

identifying, by the network analysis system, a pair of corresponding hops in the first and second trace results that include a first node in the first trace result that is different from a second node in the second trace result;

determining, by the network analysis system, a first identified path from the source node toward the destination node that includes the first node, and a second identified path from the source node toward the destination node that includes the second node; and

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

11. The method of claim 10 , wherein each of the first and second identified paths includes a last element associated with a given hop, and the method includes:

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 identified path that includes the identified path up to the given hop, and the other connected node.

12. The method of claim 11 , wherein the method includes identifying at least one of the connected nodes by assessing configuration information associated with at least one of: the last element, and one or more nodes associated with the next hop.

13. The method of claim 11 , wherein, if no connected nodes are found, the method includes resolving this 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.

14. The method of claim 10 , wherein the method includes determining at least one of the first and second identified paths by a process that includes assessing one or more previously determined paths in the network.

15. The method of claim 10 , wherein the method includes determining at least one of the first and second identified paths by a process that includes resolving a lack of connectivity to at least one of the first and second nodes 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.

16. A network analysis system comprising:

a controller that is configured to access first and second trace results related to each of a first and a second trace operation that each define one or more hops of at least a portion of a path between a source node to a destination node;

one or more analysis tools that are configured to:

identify a pair of corresponding hops in the first and second trace results that include a first node in the first trace result that is different from a second node in the second trace result; and

determine a first identified path from the source node toward the destination node that includes the first node, and a second identified path from the source node toward the destination node that includes the second node;

a non-transitory computer-readable memory that is configured to store the first and second identified paths; and

a display that is configured to illustrate the first and second identified paths.

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

18. The system of claim 16 , 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 identified paths.

19. The system of claim 16 , 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 identified paths.

20. The system of claim 16 , wherein at least one of the analysis tools is configured to determine at least one of the first and second identified paths by a process that includes resolving a lack of connectivity to at least one of the first and second nodes 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.

Assignments (16)
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 - 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 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: OPNET TECHNOLOGIES LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 047986/0952 →
CHANGE OF NAME Recorded Dec 17, 2018
From: OPNET TECHNOLOGIES, INC.
To: OPNET TECHNOLOGIES LLC
Reel/Frame 047936/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: UPPALLI, RAGHAVENDRA; SHAW, JAMES MARK; NATARAJAN, PRADEEP; COHEN, ALAIN
To: OPNET TECHNOLOGIES, INC.
Reel/Frame 047784/0488 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →