IP Library Granted Patent US 7,885,200
Granted Patent B2
US 7,885,200 · App. 11/397,359 · Granted Feb 8, 2011

Application delay 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 7,885,200
App. No.
11/397,359
Granted
Feb 8, 2011
Kind
B2
Abstract

A graphic user interface facilitates the hierarchical analysis of timing parameters related to network-based applications. At the top level of the hierarchy, the user is presented a summary of the delays incurred while running an application, or while simulating the running of an application, organized by delay categories, including processing delays at each node, as well as propagation delays at each link between nodes. The interface enables a user to “drill down” into lower levels of the timing information hierarchy by ‘clicking’ on currently displayed information. The information is presented in a form most appropriate to the level of analysis. The presentation forms include, for example, pie-charts, multi-variable timing diagrams (in both absolute and relative forms), data exchange charts, and so on, and ‘zoom’ capabilities are provided as appropriate to the particular display form.

Claims (66)

1. A method for embodiment on a network analysis machine comprising:

accessing, by the network analysis machine, a database stored on one or more memory devices that includes timing data related to communication of messages among tiers of a network, corresponding to an execution of an application on the network,

displaying, on a display device, a graphic image that includes a plurality of graphic items that are configured to represent a plurality of delay statistics, each delay statistic corresponding to a delay type of a plurality of delay types, and

receiving, at the network analysis machine, via a graphic user interface, a user's selection of a select graphic item of the plurality of graphic items corresponding to a select delay statistic, and

displaying, on the display device, an other graphic image that includes a plurality of other graphic items corresponding to the select delay statistic,

wherein the other graphic image is selected by the network analysis machine from among a plurality of timing diagram formats based on the delay type corresponding to the select delay statistic, at least two of the delay types corresponding to different timing diagram formats.

2. The method of claim 1 , wherein the timing data corresponds to results of a simulation of the application on a model of the network.

3. The method of claim 1 , wherein the timing data includes values of time associated with the communication of each of the messages across links between pairs of the tiers, and each of the delay statistics of the plurality of delay statistics corresponds to a determined delay that is based on the values of the time associated with the communication of the messages across each of the links.

4. The method of claim 1 , wherein the timing data includes values of time associated with the processing of each of the messages, and the summary statistic of each tier is based on a sum of delays that are based on the values of the time associated with the processing of the messages at the tier.

5. The method of claim 1 , wherein the graphic image corresponds to a pie-chart, the plurality of graphic items corresponds to a plurality of wedges of the pie-chart, and an area of each wedge of the plurality of wedges is based on a value of the delay statistic for each link of a plurality of links between pairs of the tiers.

6. The method of claim 1 , wherein the plurality of objects includes a plurality of links between pairs of the tiers, the graphic image includes a plurality of points corresponding to each of the tiers arranged on a perimeter of a curved shape, the plurality of graphic items corresponds to a plurality of chords connecting the points corresponding to each of the tiers of each link between a pair of tiers, and a characteristic of each chord of the plurality of chords is based on a value of the delay statistic for the corresponding link.

7. The method of claim 1 , wherein the plurality of objects includes a plurality of links between pairs of the tiers, the delay statistic is based on a sum of delays associated with the communication of the messages on each link and the graphic item corresponding to each link includes an indication that is based on a sum of the delays for each delay type.

8. The method of claim 7 , wherein the delay types include: a bandwidth delay, a latency delay, and a congestion/protocol delay.

9. The method of claim 8 , wherein the delay types include a protocol delay and a congestion delay that form at least a portion of the congestion/protocol delay.

10. The method of claim 8 , wherein the delay types include a self-congestion delay that forms at least a portion of the congestion/protocol delay.

11. The method of claim 1 , wherein the other graphic image includes a time line, and the plurality of other graphic items includes line segments that illustrate values of the data as a function of time.

12. The method of claim 11 , wherein the plurality of objects includes a plurality of links between pairs of the tiers, the delay statistic is based on a sum of delays associated with the communication of the messages on each link, the plurality of other graphic items includes sets of line segments, each set of line segments corresponding to values of the timing data for each delay type as a function of time.

13. The method of claim 11 , including receiving a selection of a segment of the time line, and displaying a subset of the plurality of other graphic items at a finer resolution, based on the selection of the segment of the time line.

14. The method of claim 11 , wherein the values of the timing data corresponds to one or more of: a bandwidth delay, a latency delay, a congestion delay, a protocol delay, a congestion/protocol delay, a network delay, and a processing delay.

15. The method of claim 11 , wherein the values of the timing data corresponds to one or more of: in-flight packets, network throughput, link bandwidth, retransmissions, out-of-sequence packets, TCP Nagle's delay, and TCP advertised receive window.

16. The method of claim 1 , wherein the other graphic image includes a time line for each of two or more tiers, and the plurality of other graphic items includes connectors between pairs of the two or more time lines corresponding to messages communicated between the corresponding pairs of the two or more tiers as a function of time.

17. The method of claim 16 , wherein one or more graphic characteristics of each connector is dependent upon a value of one or more attributes of the corresponding message.

18. The method of claim 16 , wherein the plurality of other graphic items includes other connectors between pairs of the connectors on the time line of at least one tier, corresponding to a dependency between pairs of messages corresponding to the pairs of the connectors, wherein a distance between the connectors of each pair of connectors on the time line of the at least one tier corresponds to a processing delay at the tier.

19. The method of claim 16 , including presenting a tabular listing of attributes of one or more of the messages communicated between the corresponding pairs of the two or more tiers.

20. The method of claim 19 , wherein the attributes include two or more of: a message size, a start-time, an end-time, and a dependency.

21. The method of claim 16 , including simultaneously displaying a further graphic image that includes a plurality of further graphic items that are configured to represent further data corresponding to the delay statistic for the select graphic item in an alternative form.

22. The method of claim 21 , wherein the plurality of further graphic items illustrate values of the further data as a function of time, based on the time line of the other graphic image.

23. The method of claim 22 , wherein the values of the timing data corresponds to one or more of: a bandwidth delay, a latency delay, a congestion delay, a protocol delay, a congestion/protocol delay, a network delay, and a processing delay.

24. The method of claim 22 , wherein the values of the timing data corresponds to one or more of: in-flight packets, network throughput, link bandwidth, retransmissions, out-of-sequence packets, TCP Nagle's delay, and TCP advertised receive window.

25. The method of claim 21 , including determining a characteristic of the timing data, and selecting the further graphic image from a variety of other graphic images, based at least in part on the characteristic of the timing data.

26. The method of claim 1 , including displaying one or more textual information items corresponding to the graphic image.

27. The method of claim 1 , including displaying one or more textual information items corresponding to the graphic items to facilitate the selection of the select graphic item.

28. The method of claim 27 , wherein the one or more textual information items are displayed based on a location of a user-controlled cursor.

29. The method of claim 1 , including receiving a selection of a select other graphic item of the plurality of other graphic items, and displaying a further graphic image that includes a plurality of further graphic items that are configured to represent a plurality of further data corresponding to the timing data corresponding to the select other graphic item.

30. The method of claim 1 , wherein the plurality of objects includes a plurality of links between pairs of the tiers, the timing data includes values of size associated with each of the messages, and the delay statistic of each link is based on a traffic sum based on the values of the size associated with all of the messages communicated over the link.

31. The method of claim 1 , including determining a characteristic of the timing data corresponding to the delay statistic, and selecting the other graphic image from a variety of other graphic images, based at least in part on the characteristic of the timing data.

32. The method of claim 31 , including obtaining a user input, selecting a further graphic image from a variety of other graphic images, based at least in part on the user input, and displaying the further graphic image that includes a plurality of further graphic items that are configured to represent further data corresponding to the delay statistic for the select graphic item in an alternative form.

33. A system comprising:

a database that is configured to store timing data related to communication of messages among tiers of a network, corresponding to an execution of an application on the network,

a report generator that is configured to provide a graphic image that includes a plurality of graphic items that are configured to represent a delay statistic corresponding to each of a plurality of objects of the network, each delay statistic having an associated delay type of a plurality of delay types, and

a user interface that is configured to receive a selection of a select graphic item of the plurality of graphic items corresponding to a select delay statistic,

wherein the report generator is configured to display an other graphic image that includes a plurality of other graphic items that are configured to represent a plurality of the timing data corresponding to the select delay statistic, and

the other graphic image is presented using a select timing diagram format of a plurality of timing diagram formats based on the delay type of the select delay statistic, at least two of the delay statistics corresponding to different delay types that effect different timing diagram formats.

34. The system of claim 33 , including a simulator that is configured to provide the timing data based on a simulation of the application on a model of the network.

35. The system of claim 33 , wherein the plurality of objects includes a plurality of links between pairs of tiers, the timing data includes values of time associated with the communication and processing of each of the messages, and the delay statistic of each link is based on a sum of delays that are based on the values of the time associated with the communication and processing of all of the messages on the link.

36. The system of claim 33 , wherein the plurality of objects includes a plurality of links between pairs of tiers, the graphic image corresponds to a pie-chart, the plurality of graphic items corresponds to a plurality of wedges of the pie-chart, and an area of each wedge of the plurality of wedges is based on a value of the delay statistic for a corresponding link between a pair of tiers.

37. The system of claim 33 , wherein the plurality of objects includes a plurality of links between pairs of tiers, the delay statistic is based on a sum of delays associated with the communication of the messages on each link, the delays are characterized by a plurality of delay types, and the graphic item corresponding to each link includes an indication that is based on a sum of the delays for each delay type.

38. The system of claim 33 , wherein the other graphic image includes a time line, and the plurality of other graphic items includes line segments that illustrate values of the timing data as a function of time.

39. The system of claim 38 , wherein the plurality of objects includes a plurality of links between pairs of tiers, the delay statistic is based on a sum of delays associated with the communication of the messages on each link, the delays are characterized by a plurality of delay types, the plurality of other graphic items includes sets of line segments, each set of line segments corresponding to values of the timing data for each delay type as a function of time.

40. The system of claim 38 , wherein the user interface is configured to receive a selection of a segment of the time line, and the report generator is configured to display a subset of the plurality of other graphic items at a finer resolution, based on the selection of the segment of the time line.

41. The system of claim 38 , wherein the values of the timing data corresponds to one or more of: a bandwidth delay, a latency delay, a congestion delay, a protocol delay, a congestion/protocol delay, a network delay, and a processing delay.

42. The system of claim 38 , wherein the values of the timing data corresponds to one or more of: in-flight packets, network throughput, link bandwidth, retransmissions, out-of-sequence packets, TCP Nagle's delay, and TCP advertised receive window.

43. The system of claim 33 , wherein the other graphic image includes a time line for each of two or more tiers, and the plurality of other graphic items includes connectors between pairs of the two or more time lines corresponding to messages communicated between the corresponding pairs of the two or more tiers as a function of time.

44. The system of claim 43 , wherein the report generator is configured to display a tabular listing of attributes of one or more of the messages communicated between the corresponding pairs of the two or more tiers, wherein the attributes include two or more of: a message size, a start-time, an end-time, and a dependency.

45. The system of claim 43 , wherein the report generator is configured to simultaneously display a further graphic image that includes a plurality of further graphic items that are configured to represent further data corresponding to the delay statistic for the select graphic item in an alternative form.

46. The system of claim 45 , wherein the plurality of further graphic items illustrate values of the further data as a function of time, based on the time line of the other graphic image.

47. The system of claim 46 , wherein the values of the timing data corresponds to one or more of: a bandwidth delay, a latency delay, a congestion delay, a protocol delay, a congestion/protocol delay, a network delay, and a processing delay.

48. The system of claim 46 , wherein the values of the timing data corresponds to one or more of: in-flight packets, network throughput, link bandwidth, retransmissions, out-of-sequence packets, TCP Nagle's delay, and TCP advertised receive window.

49. The system of claim 45 , including a data analyzer that is configured to determine a characteristic of the timing data, and a report selector that is configured to select the further graphic image from a variety of further graphic images, based at least in part on the characteristic of the timing data.

50. The system of claim 33 , wherein the report generator is configured to display one or more textual information items corresponding to the graphic image.

51. The system of claim 50 , wherein the one or more textual information items include instructions that facilitate the selection of the select graphic item.

52. The system of claim 51 , wherein the one or more textual information items are displayed based on a location of a user-controlled cursor.

53. The system of claim 33 , wherein the user interface is configured to receive a selection of a select other graphic item of the plurality of other graphic items, and the report generator is configured to display a further graphic image that includes a plurality of further graphic items that are configured to represent a plurality of further data corresponding to the timing data corresponding to the select other graphic item.

54. The system of claim 33 , wherein the plurality of objects includes a plurality of links between pairs of tiers, the timing data includes values of size associated with each of the messages, and the delay statistic of each link is based on a traffic sum based on the values of the size associated with all of the messages communicated over the link.

55. The system of claim 33 , including a data analyzer that is configured to determine a characteristic of the timing data corresponding to the delay statistic, and a report selector that is configured to select the other graphic image from a variety of other graphic images, based at least in part on the characteristic of the timing data.

56. The system of claim 33 , wherein the user interface is configured to: obtain a user input, and select a further graphic image from a variety of other graphic images, based at least in part on the user input, and the report generator is configured to display the further graphic image that includes a plurality of further graphic items that are configured to represent further data corresponding to the delay statistic for the select graphic item in an alternative form.

Assignments (18)
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: 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 →
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 →
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 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →