IP Library Granted Patent US 9,961,129
Granted Patent B2
US 9,961,129 · App. 14/018,346 · Granted May 1, 2018

Business transaction correlation with client request monitoring data

Inventors: Manoj Acharya (San Ramon, CA); Binil Thomas (Walnut Creek, CA); Vinay Srinivasaiah (San Carlos, CA); Adam Cath (San Francisco, CA); Ed Rowe (San Francisco, CA)
Assignee: Cisco Technology, Inc.
H04L67/10H04W4/003
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,961,129
App. No.
14/018,346
Granted
May 1, 2018
Kind
B2
Abstract

A system monitors a client request and a backend business transaction performed in response to the request and correlates the data generated from monitoring the request and business transaction. A request may be monitored in detail to determine several metrics. The metrics may include server connection time, response receipt completion time, document download time, document processing time, and page rendering time. The metrics may be determined for an entire content page as well as individual page elements, such as Iframes and elements constructed from AJAX techniques.

Claims (76)

1. A method for monitoring a client request, comprising

detecting, by an agent installed at a client device, content page requests sent by content page elements in a content page rendered by a network browser application at the client device to one or more remote servers;

detecting, by the agent installed at the client device, a unique request identifier for each content page request;

capturing, by the agent, performance data associated with processing the content page requests by the network browser application;

capturing, by the agent, business transaction data associated with processing business transactions at the one or more remote servers, the business transactions performed in response to the client requests and associated with the client requests based on the unique client request identifiers;

reporting a name of each content page element in the content page that sent the content page requests to the one or more remote servers, a parent node name for each content page element, a base page name for each content page element, the performance data associated with processing the content page requests and the unique request identifier associated with each content page request, the unique request identifier used to correlate one or more of the business transactions with each content page request sent by a corresponding content page element;

detecting an error associated with one or more of the content page requests;

identifying specific content page element or elements that sent the one or more of the content page requests associated with the detected error; and

identifying performance of the business transaction correlated with the identified client request associated with the error.

2. The method of claim 1 , wherein the unique request identifier is associated with a request sent from an Iframe element within the content page.

3. The method of claim 1 , wherein the unique request identifier is associated with a request due to use of AJAX techniques within the content page.

4. The method of claim 1 , wherein the reporting includes transmitting an identifier for a parent page for an element of the content page that sent the request.

5. The method of claim 1 , wherein the unique request identifier is received from the one or more remote servers in a cookie.

6. The method of claim 5 , wherein the cookie is received before receipt of the response is complete.

7. The method of claim 1 , wherein the unique request identifier is received in a portion of a response to each request.

8. The method of claim 1 , wherein the unique request identifier is received in a header of an HTTP response from the one or more remote servers.

9. The method of claim 1 , wherein reporting includes sending performance metrics and the unique request identifier for each content page request.

10. The method of claim 1 , wherein each content page request is associated with two or more of the business transactions.

11. The method of claim 1 , wherein reporting the performance data includes:

providing performance data for the one or more of the business transactions associated with each content page request; and

providing performance data for the network browser application processing each content page request.

12. The method of claim 1 , including:

detecting, by the agent, additional content page requests sent to one or more additional remote servers in response to a user input; and

detecting additional unique request identifiers associated with the detected additional requests, wherein performance metrics are reported for the content page requests and the additional content page requests corresponding to the user input.

13. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for processing a client request, the method comprising:

detecting, by an agent installed at a client device, content page requests sent by content page elements in a content page rendered by a network browser application at the client device to one or more remote servers;

detecting, by the agent installed at the client device, a unique request identifier for each content page request;

capturing, by the agent, performance data associated with processing the content page requests by the network browser application;

capturing, by the agent, business transaction data associated with processing business transactions at the one or more remote servers, the business transactions performed in response to the client requests and associated with the client requests based on the unique client request identifiers;

reporting a name of each content page element in the content page that sent the content page requests to the one or more remote servers, a parent node name for each content page element, a base page name for each content page element, the performance data associated with processing the content page requests and the unique request identifier associated with each content page request, the unique request identifier used to correlate one or more of the business transactions with each content page request sent by a corresponding content page element;

detecting an error associated with one or more of the content page requests;

identifying specific content page element or elements that sent the one or more of the content page requests associated with the detected error; and

identifying performance of the business transaction correlated with the identified client request associated with the error.

14. The non-transitory computer readable storage medium claim 13 , wherein the request identifier is associated with a request sent from an Iframe element within the content page.

15. The non-transitory computer readable storage medium claim 13 , wherein the request identifier is associated with a request sent from an element generated using AJAX techniques within the content page.

16. The non-transitory computer readable storage medium claim 13 , wherein the reporting includes transmitting an identifier for a parent node for an element of the content page that sent the request.

17. The non-transitory computer readable storage medium claim 16 , wherein the unique request identifier is received from the one or more remote servers in a cookie.

18. The non-transitory computer readable storage medium claim 16 , wherein the cookie is received before receipt of the response is complete.

19. The non-transitory computer readable storage medium claim 13 , wherein the unique request identifier is received in a portion of a response to each request.

20. The non-transitory computer readable storage medium claim 13 , wherein the unique request identifier is received in a header of an XHR response.

21. The non-transitory computer readable storage medium claim 13 , wherein reporting includes sending performance metrics and the unique request identifier for each content page request.

22. The non-transitory computer readable storage medium claim 13 , wherein each content page request is associated with two or more of the business transactions.

23. The non-transitory computer readable storage medium claim 13 , wherein reporting the performance data includes:

providing performance data for the one or more of the business transactions associated with each content page request; and

providing performance data for the network browser application processing each content page request.

24. The non-transitory computer readable storage medium claim 13 , further comprising receiving input associated with a content page through the network browser on a client device.

25. The non-transitory computer readable storage medium claim 13 , further comprising:

detecting, by the agent, additional content page requests sent to one or more additional remote servers in response to a user input; and

detecting additional unique request identifiers associated with the detected additional requests, wherein performance metrics are reported for the content page requests and the additional content page requests corresponding to the user input.

26. A system for processing a client request, comprising:

a processor;

memory; and

one or more software modules stored in the memory and executed by the processor to perform operations including:

detect, by an agent installed at a client device, content page requests sent by content page elements in a content page rendered by a network browser application at the client device to one or more remote servers;

detect, by the agent installed at the client device, a unique request identifier for each content page request;

capture, by the agent, performance data associated with processing the content page requests by the network browser application;

capture, by the agent, business transaction data associated with processing business transactions at the one or more remote servers, the business transactions performed in response to the client requests and associated with the client requests based on the unique client request identifiers;

report a name of each content page element in the content page that sent the content page requests to the one or more remote servers, a parent node name for each content page element, a base page name for each content page element, the performance data associated with processing the content page requests and the unique request identifier associated with each content page request, the unique request identifier used to correlate one or more of the business transactions with each content page request sent by a corresponding content page element;

detect an error associated with one or more of the content page requests;

identify specific content page element or elements that sent the one or more of the content page requests associated with the detected error; and

identify performance of the business transaction correlated with the identified client request associated with the error.

27. The system of claim 26 , wherein the request identifier is associated with a request sent from an Iframe element within the content page.

28. The system of claim 26 , wherein the unique request identifier is associated with a request due to use of AJAX techniques within the content page.

29. The system of claim 26 , wherein the reporting includes transmitting an identifier for a parent page for an element of the content page that sent the request.

30. The system of claim 26 , wherein the unique request identifier is received from the one or more remote servers in a cookie.

31. The system of claim 30 , wherein the cookie is received before receipt of the response is complete.

32. The system of claim 26 , wherein the unique request identifier is received in a portion of a response to each request.

33. The system of claim 26 , wherein the unique request identifier is received in a header of an XHR response.

34. The system of claim 26 , wherein reporting includes sending performance metrics and the unique request identifier for each content page request.

35. The system of claim 26 , wherein each content page request is associated with two or more of the business transactions.

36. The system of claim 26 , the modules executable to report the performance data including:

providing performance data for the one or more of the business transactions associated with each content page request; and

providing performance data for the network browser application processing each content page request.

37. The system of claim 26 , including:

detecting, by the agent, additional content page requests sent to one or more additional remote servers in response to a user input; and

detecting additional unique request identifiers associated with the detected additional requests, wherein performance metrics are reported for the content page requests and the additional content page requests corresponding to the user input.

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 Oct 30, 2013
From: ACHARYA, MANOJ; THOMAS, BINIL; SRINIVASAIAH, VINAY; CATH, ADAM; ROWE, ED
To: APPDYNAMICS, INC.
Reel/Frame 031510/0222 →
Continuity (1)
Related Publication 20150067031A1 · Mar 5, 2015