IP Library Granted Patent US 9,014,012
Granted Patent B2
US 9,014,012 · App. 12/900,357 · Granted Apr 21, 2015

Network path discovery and analysis

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,014,012
App. No.
12/900,357
Granted
Apr 21, 2015
Kind
B2
Abstract

A network analysis system invokes an application specific, or source-destination specific, path discovery process. The application specific path discovery process determines the path(s) used by the application, collects performance data from the nodes along the path, and communicates this performance data to the network analysis system for subsequent performance analysis. The system may also maintain a database of prior network configurations to facilitate the identification of nodes that are off the path that may affect the current performance of the application. The system may also be specifically controlled so as to identify the path between any pair of specified nodes, and to optionally collect performance data associated with the path.

Claims (81)

1. A non-transitory computer readable medium that includes instructions for causing a processor at a monitoring system to:

receive a request for network performance information with regard to a source node and a destination node of a network,

determine a current path on the network between the source and destination nodes using a trace request,

determine a node in the network that is not on the current path, but that affects performance of at least one intermediate node on the current path, wherein the at least one intermediate node is other than the source and the destination nodes,

collect performance data associated with the node that is not on the current path,

process the performance data to provide the performance information, and

provide a display of the performance information.

2. The medium of claim 1 , including accessing configuration information of the intermediate node to obtain routing information associated with the intermediate node, wherein the routing information includes an identification of a next element from the intermediate node along the current path between the source and destination nodes.

3. The medium of claim 2 , wherein the configuration information includes an identification of one or more data link layer devices along the determined current path.

4. The medium of claim 2 , wherein the configuration information includes one or more routing tables at the intermediate node.

5. The medium of claim 4 , wherein the instructions cause the processor to access the one or more routing tables by causing the program to communicate a command to a router to identify a next hop associated with the destination node.

6. The medium of claim 5 , wherein accessing the one or more routing tables includes communicating an other command to an other router to communicate the routing table at the other router.

7. The medium of claim 4 , wherein accessing the one or more routing tables includes communicating a command to a router to communicate the routing table at the router.

8. The medium of claim 2 , wherein the configuration information includes one or more routing tables within a model of the network.

9. The medium of claim 8 , wherein the model corresponds to a simulation model.

10. The medium of claim 1 , wherein the request includes a problem report regarding communications between the source and destination nodes.

11. The medium of claim 1 , wherein the request includes access information associated with the source node; and determining at least one of a first and second portions on the current path includes gaining access to the source node based on the access information.

12. The medium of claim 11 , wherein the instructions cause the processor to determine the at least one of the first portions by causing the processor to transmit a trace request from the source node to the destination node.

13. The medium of claim 11 , wherein the instructions cause the processor to determine the at least one of the first portions by causing the processor to transmit a trace request from the monitoring system to the source node.

14. The medium of claim 13 , wherein the instructions cause the processor to determine the at least one of the first portions by causing the processor to:

receive an identification of nodes between the monitoring system and the source node,

gain access to a select node of the nodes between the monitoring system and the source, and

transmit a trace request from the select node to the destination node.

15. The medium of claim 1 , wherein the instructions cause the processor to

compare the determined current path to a prior path between the source and destination nodes,

identify at least one other node based on a difference between the current path and the prior path,

collect other performance data for the at least one other node, and

display other information based on the other performance data.

16. The medium of claim 15 , wherein the instructions cause the processor to display a network diagram based on the difference.

17. The medium of claim 1 , wherein the request is based on a performance threshold associated with communications between the source and destination nodes.

18. The medium of claim 1 , wherein the instructions cause the processor to identify abnormal performance based on the performance data.

19. The medium of claim 18 , wherein the instructions cause the processor to display a network diagram based on the abnormal performance.

20. The medium of claim 1 , including determining one or more third portions of the current path by communicating tracing traffic from a node on one of first or second portions of the current path to the destination node, and noting the occurrence of this tracing traffic at one or more collection nodes.

21. A method comprising:

receiving, at a monitoring system, a request for network performance information with regard to a source node and a destination node of a network,

determining, by the monitoring system, a current path on the network between the source and destination nodes using a trace request,

determining a node in the network that is not on the current path, but that affects performance of at least one intermediate node on the current path, wherein the at least one intermediate node is other than the source and the destination nodes,

collecting, by the monitoring system, performance data associated with the node that is not on the current path,

process the performance data to provide the performance information, and

presenting the performance information to a user.

22. The method of claim 21 , further comprising: accessing configuration information of the intermediate node to obtain routing information associated with the intermediate node, wherein the routing information includes an identification of a next element along the current path between the source and destination nodes.

23. The method of claim 22 , wherein accessing the configuration information includes accessing one or more routing tables at the intermediate node.

24. The method of claim 23 , wherein accessing the one or more routing tables includes communicating a command to a router to identify a next hop associated with the destination node.

25. The method of claim 23 , wherein accessing the one or more routing tables includes communicating a command to a router to communicate the routing table at the router.

26. The method of claim 22 , wherein the configuration information includes one or more routing tables within a model of the network.

27. The method of claim 22 , including determining one or more third portions of the current path by communicating tracing traffic from a node on one of first or second portions of the current path to the destination node, and noting the occurrence of this tracing traffic at one or more collection nodes.

28. The method of claim 21 , wherein the request includes access information associated with the source node; and determining at least one of first and second portions on the current path includes gaining access to the source node based on the access information.

29. The method of claim 28 , wherein determining at least one of the first portions on the current path includes transmitting, by the monitoring system, a trace request from the source node to the destination node.

30. The method of claim 29 , wherein determining at least one of the first portions includes:

transmitting a trace request from the monitoring system to the source node,

receiving an identification of nodes between the monitoring system and the source node,

gaining access to a select node of the nodes between the monitoring system and the source, and

transmitting, by the monitoring system, a trace request from the select node to the destination node.

31. The method of claim 21 , including:

comparing the determined current path to a prior path between the source and destination nodes,

identifying at least one other node based on a difference between the current path and the prior path,

collecting other performance data for the at least one other node, and

displaying other information to the user based on the performance data.

32. A monitoring system that includes:

a controller that is configured to:

receive a request for network performance information with regard to a source node and a destination node of a network,

determine a current path on the network between the source and destination nodes using a trace request,

determine a node in the network that is not on the current path, but that affects performance of at least one intermediate node on the current path, wherein the at least one intermediate node is other than the source and the destination nodes,

collect performance data associated with the node that is not on the current path,

process the performance data to provide the performance information,

a memory that is configured to store the determined current path, and

a display that is configure to present the performance information to a user.

33. The system of claim 32 , wherein the request includes access information associated with the source node; and determining at least one of first and second portions on the current path includes gaining access to the source node based on the access information.

34. The system of claim 33 , wherein the controller determines the at least one of the first portions by transmitting a trace request from the monitoring system to the source node.

35. The system of claim 34 , wherein the controller determines the at least one of the first portions by:

receiving an identification of nodes between the monitoring system and the source node,

gaining access to a select node of the nodes between the monitoring system and the source, and

transmitting a trace request from the select node to the destination node.

36. The system of claim 33 , including determining one or more third portions of the current path by communicating tracing traffic from a node on one of the first or second portions of the current path to the destination node, and noting the occurrence of this tracing traffic at one or more collection nodes.

37. The system of claim 32 , wherein:

the controller:

compares the determined current path to a prior path between the source and destination nodes,

identifies at least one other node based on a difference between the current path and the prior path, and

collects other performance data for the at least one other node; and

the display presents other information based on the other performance data.

38. The system of claim 32 , including accessing configuration information of the intermediate node to obtain routing information associated with the intermediate node, wherein the configuration information includes one or more routing tables within a model of the network.

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 Nov 6, 2012
From: JEYACHANDRAN, VINOD; NATARAJAN, PRADEEP; SHAW, JAMES MARK; UPPALLI, RAGHAVENDRA; SINGH, PRADEEP; GUPTA, NITIN; STIFFLER, JERROLD
To: OPNET TECHNOLOGIES, INC
Reel/Frame 029247/0133 →