IP Library Granted Patent US 10,075,509
Granted Patent B2
US 10,075,509 · App. 14/183,524 · Granted Sep 11, 2018

Capture, analysis, and visualization of concurrent system and network behavior of an application

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 10,075,509
App. No.
14/183,524
Granted
Sep 11, 2018
Kind
B2
Abstract

A first capture system that captures network communication events related to an application, and a second capture system that captures internal processing events related to the application. A visualization system analyzes the data captured by each of the capture systems, synchronizes and correlates the data, and presents an integrated display of these communication and processing events. In a preferred embodiment, the communicated messages include an identifier of the application, and the processing components also associate an identifier of the application to each recorded processing event. To facilitate the integrated display of the events, the visualization system synchronizes the recorded communication and processing events to a common time base.

Claims (45)

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

receive processing events of an application executing on a first node of a network;

receive communication events of the application, each communication event including information that facilitates identification of the application;

establish a common time base to properly place the processing events and the communication events on a common timeline;

correlate the communication and processing events, wherein the correlating comprises:

identifying a first processing event when the application begins to wait for data to be received from a second node over a network connection,

identifying a second processing event when the application stops waiting after receiving the data from the second node over the network connection,

identifying a set of communication events that occur over the network connection after the first processing event, but before the second processing event, and

correlating (1) the first processing event and the second processing event with (2) the set of communication events;

generate a timing diagram that illustrates a correlation between the processing events and the communication events on the common timeline; and

display the timing diagram in a graphical user interface (GUI).

2. The medium of claim 1 , wherein the processing events include a record of times associated with function calls within the application, and wherein the record of function calls includes a hierarchical record of the function calls.

3. The medium of claim 1 , wherein the program causes the processor to trace the processing events across different threads of the application.

4. The medium of claim 1 , wherein the program causes the processor to:

determine times associated with function calls within the application, and

filter the times associated the function calls based on user definable preferences.

5. The medium of claim 4 , wherein the user definable preferences include a mapping of one or more function calls to one or more function groups, and the program causes the processor to provide composite time parameters corresponding to each function group.

6. The medium of claim 5 , wherein the user definable preferences include a mapping of one or more function groups to one or more upper-level function groups in a hierarchical manner, and the program causes the processor to provide other composite time parameters corresponding to at least one of the upper-level function groups, based on the composite time parameters corresponding to the function groups within the upper-level function groups.

7. The medium of claim 1 , wherein the network connection is associated with (1) an Internet Protocol (IP) address of the first node and (2) an IP address of the second node, (3) a port of the first node, (4) a port of the second node, and (5) a communication protocol name.

8. The medium of claim 7 , wherein the first processing event and the second processing event are associated with a system call on the first node that receives data over the network connection.

9. The medium of claim 1 , wherein the program causes the processor to determine statistics corresponding to a hierarchical organization of the processing events, to facilitate display of the statistics at multiple levels of detail.

10. The medium of claim 9 , wherein the graphical user interface is configured to display statistics related to the processing events at multiple levels of detail.

11. A method for execution on a plurality of machines on a communication network, comprising:

receiving communication events of an application on the network,

receiving processing events of the application on a first node of the network,

establishing a common time base to properly place the processing events and the communication events on a common timeline,

correlating the communication and processing events, wherein the correlating comprises:

identifying a first processing event when the application begins to wait for data to be received from a second node over a network connection,

identifying a second processing event when the application stops waiting after receiving the data from the second node over the network connection,

identifying a set of communication events that occur over the network connection after the first processing event, but before the second processing event, and

correlating (1) the first processing event and the second processing event with (2) the set of communication events;

generating a timing diagram that illustrates a correlation between the processing events and the communication events on the common timeline; and

displaying the timing diagram in a graphical user interface (GUI),

wherein each communication event includes information that facilitates identification of the application.

12. The method of claim 11 , including tracing the processing events across different threads of the application.

13. The method of claim 11 , wherein receiving the processing events includes:

determining times associated with function calls within the application, and

filtering the times associated the function calls based on user definable preferences.

14. The method of claim 11 , including:

mapping one or more function calls to one or more function groups, and

providing composite time parameters corresponding to each function group.

15. The method of claim 11 ,

wherein the network connection is associated with (1) an Internet Protocol (IP) address of the first node and (2) an IP address of the second node, (3) a port of the first node, (4) a port of the second node, and (5) a communication protocol name; and

wherein the first processing event and the second processing event are associated with a system call on the first node that receives data over the network connection.

16. The method of claim 11 , including determining statistics corresponding to a hierarchical organization of the processing events, to facilitate display of the statistics at multiple levels of detail.

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 Mar 22, 2019
From: OPNET TECHNOLOGIES LLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 048680/0235 →
CHANGE OF NAME Recorded Mar 14, 2019
From: OPNET TECHNOLOGIES, INC.
To: OPNET TECHNOLOGIES LLC
Reel/Frame 048597/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: BARON, STEVEN J.; MALLOY, PATRICK J.; COHEN, ALAIN J.; SCHNEIDER, MARC I.; STOCKS, CHERYL D.
To: OPNET TECHNOLOGIES, INC.
Reel/Frame 048519/0563 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
Cited By (1)
US 12,598,490