IP Library Granted Patent US 9,935,853
Granted Patent B2
US 9,935,853 · App. 15/437,294 · Granted Apr 3, 2018

Application centric network experience monitoring

Inventors: Harish Nataraj (Berkeley, CA); Adam Leftik (San Francisco, CA); Ajay Chandel (Fremont, CA); Jyoti Bansal (San Francisco, CA); Bhaskar Sunkara (San Francisco, CA)
Assignee: Cisco Technology, Inc.
H04L43/062G06F11/3006G06F11/3072G06F11/3419G06F11/3495H04L41/142H04L41/5009H04L41/5035H04L41/5058G06F2201/865H04L67/42
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,935,853
App. No.
15/437,294
Granted
Apr 3, 2018
Kind
B2
Abstract

A system determines the performance of a network within the context of an application using that network. Network data is collected and correlated with an application that uses the network as well as a distributed transaction implemented by the application. The collected network data is culled, and the remaining data is rolled up into one or more metrics. The metrics, selected network data, and other data are reported in the context of the application that implements part of the distributed transaction. In this manner, specific network performance and architecture data is reported along with application context information.

Claims (52)

1. A method for correlating application performance data and network performance data for a distributed transaction over a network, comprising:

collecting application data by a first module installed on a first machine, the application data collected during execution of an application implemented as part of the distributed transaction;

receiving, by a second module installed on the first machine, the application data collected during execution of the application while implementing at least a portion of the distributed transaction;

collecting network data associated with network flow by the second module installed on the first machine;

identifying, by the second module, a subset of the collected network data which corresponds to the application data received from the first module;

generating, by the second module, flow metrics from the identified subset; and

transmitting, by the second module, the identified subset and the flow metrics to a remote controller on a second machine, wherein the remote controller correlates application metrics received from the first module with the flow metrics received from the second module using distributed transaction information, and reports results of the correlation as an indication of network performance within a context of the application during execution from a remote server.

2. The method of claim 1 , wherein the distributed transaction information includes call chain data collected within the context of the application during execution.

3. The method of claim 2 , wherein the call chain data includes a sequence of one or more nodes that have previously processed the distributed business transaction.

4. The method of claim 3 , including:

receiving, by the second module, the network flow tuple and distributed transaction information;

generating, by the second module, metrics for network flow group data that matches the received network flow tuple; and

reporting the network flow group metrics and the distributed transaction information to the remote controller.

5. The method of claim 1 , wherein the first portion of the collected application data includes application flow data and the network data includes network flow data and network infrastructure data.

6. The method of claim 1 , wherein the first module is a first agent installed on the first machine and the second module is a second agent or plug-in installed on the first machine.

7. The method of claim 1 , including:

collecting, by the first module, the distributed transaction information from the application being monitored; and

providing, by the first module, the distributed transaction information to the second module.

8. The method of claim 1 , including:

collecting, by the first module, a network flow tuple for the application; and

providing, by the first module, the distributed transaction information and the network flow tuple to the second module.

9. The method of claim 1 , wherein correlating includes:

receiving application performance metrics generated from the application data collected by the first module; and

receiving network performance metrics generated from the network data collected by the second module,

wherein the remote controller correlates the application performance metrics and network performance metrics using the call chain data that indicate a sequence of machines that have previously processed the distributed transaction are associated with each of the application performance metrics and network performance metrics.

10. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for correlating application performance data and network performance data for a distributed transaction, the method comprising:

collecting application data by a first module installed on a first machine, the application data collected during execution of an application implemented as part of the distributed transaction;

receiving, by a second module installed on the first machine, the application data collected during execution of the application while implementing at least a portion of the distributed transaction;

collecting network data associated with network flow by the second module installed on the first machine;

identifying, by the second module, a subset of the collected network data which corresponds to the application data received from the first module;

generating, by the second module, flow metrics from the identified subset; and

transmitting, by the second module, the identified subset and the flow metrics to a remote controller on a second machine, wherein the remote controller correlates application metrics received from the first module with the flow metrics received from the second module using distributed transaction information, and reports results of the correlation as an indication of network performance within a context of the application during execution from a remote server.

11. The non-transitory computer readable storage medium of claim 10 , wherein the distributed transaction information includes call chain data, the call chain data including a sequence of one or more nodes that have previously processed the distributed business transaction.

12. The non-transitory computer readable storage medium of claim 11 , the second module receiving the network flow tuple and distributed transaction information, the second module generating metrics for network flow group data that matches the received network flow tuple and reporting the network flow group metrics and distributed transaction information to a remote controller.

13. The non-transitory computer readable storage medium of claim 10 , wherein the network data includes network flow data and network infrastructure data.

14. The non-transitory computer readable storage medium of claim 10 , wherein the first module is a first agent installed on the first machine and the second module is a second agent installed on the first machine.

15. The non-transitory computer readable storage medium of claim 10 , wherein the first module is a first agent installed on the first machine and the second module is a plug-in installed in the first agent on the first machine.

16. The non-transitory computer readable storage medium of claim 10 , wherein the first module collects the distributed transaction information from the application being monitored by the first module, the first module providing the second module with the distributed transaction information.

17. The non-transitory computer readable storage medium of claim 10 , wherein the first module collecting a network flow tuple for the application, the first module providing the distributed transaction information and the network flow tuple to the second module.

18. The non-transitory computer readable storage medium of claim 10 , wherein correlating includes:

receiving application performance metrics generated from the application data collected by the first module;

receiving network performance metrics generated from the network data collected by the second module; and

wherein the remote controller correlates the application performance metrics and network performance metrics using the call chain data that indicate a sequence of machines that have previously processed the distributed transaction are associated with each of the application performance metrics and network performance metrics.

19. An apparatus, comprising:

one or more network interfaces to communicate on links within a computer network;

a processor coupled to the network interfaces and adapted to execute one or more processes; and

a memory configured to store a process executable by the processor, the process when executed configured to:

receive, from a first module installed on a first machine at a remote location, application metrics generated by the first module during execution of an application implemented as part of the distributed transaction, wherein the application metrics are generated based on application data is collected by the first module;

receive flow metrics generated by the second module, wherein the flow metrics are based on a subset of network flow data collected by the second module, and the subset is a portion of the collected network flow data that matches flow data received at the second module from the first module, the flow data collected during execution of the application while implementing at least part of the distributed transaction;

correlate the application metrics with the flow metrics the using distributed transaction information received from both the first module and the second module; and

report results of the correlation as an indication of network performance within a context of the application during execution from a remote server.

20. The system of claim 19 , wherein the distributed transaction information is call chain data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2017
From: NATARAJ, HARISH; LEFTIK, ADAM; CHANDEL, AJAY; SUNKARA, BHASKAR; BANSAL, JYOTI
To: APPDYNAMICS, INC.
Reel/Frame 041303/0389 →
Continuity (2)
Continuation 14815211 · Jul 31, 2015
Related Publication 20170163505A1 · Jun 8, 2017