IP Library Patent Application 15155243
Patent Application
App. No. 15/155,243

PERFORMANCE TRACKING OF AN APPLICATION DURING A SINGLE USER SESSION

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 None
App. No.
15/155,243
Abstract

Systems and techniques to monitor performance of a single user session of an application installed in a client device are described. The application may transmit a request for data to a first server, and receive a response from the first server, the response including the requested data. The application may transmit, to a second server, (i) a transmit time at which the request is transmitted, and (ii) a receive time at which the response is received. The second server may facilitate displaying, on a computing device, the transmit time and the receive time. A developer may view such display to analyze the performance of the application during a single user session.

Claims (67)

1 . A computer-implemented method, comprising:

displaying, by an application executing on a client device, a first application screen;

transmitting, by the application, (i) a first request for first data to a first server and (ii) a second request for second data to a second server, wherein the first and second requests are transmitted while the first application screen is being displayed by the application on the client device;

receiving, by the application, (i) a first response from the first server, the first response including the requested first data, and (ii) a second response from the second server, the second response including the requested second data;

storing (i) a first transmit time at which the first request is transmitted, (ii) a second transmit time at which the second request is transmitted, (iii) a first receive time at which the first response is received, and (iv) a second receive time at which the second response is received; and

transmitting, by the application to a third server, the first transmit time, the second transmit time, the first receive time, and the second receive time, to enable the third server to facilitate displaying, on a computing device, the first transmit time, the second transmit time, the first receive time, and the second receive time, to enable analyzing a performance of the application.

2 . The computer-implemented method of claim 1 , further comprising:

determining a first time duration comprising a first difference between the first transmit time and the first receive time;

determining a second time duration comprising a second difference between the second transmit time and the second receive time; and

facilitate displaying, on the computing device, the first time duration and the second time duration.

3 . The computer-implemented method of claim 1 , further comprising:

storing (i) a first start time at which the application starts displaying the first application screen, and (ii) a first stop time at which the application stops displaying the first application screen; and transmitting, by the application to the third server, the first start time and the first stop time, to enable the third server to facilitate displaying, on the computing device, the first start time and the first stop time.

4 . The computer-implemented method of claim 3 , further comprising:

subsequent to displaying the first application screen, displaying, by the application, a second application screen;

storing (i) a second start time at which the application starts displaying the second application screen, (ii) a second stop time at which the application stops displaying the second application screen; and

transmitting, by the application to the third server, the second start time and the second stop time, to enable the third server to facilitate displaying, on the computing device, the second start time and the second stop time.

5 . The computer-implemented method of claim 1 , further comprising:

subsequent to displaying the first application screen, displaying, by the application, a second application screen and a third application screen;

storing an identification of a sequence with which the first, second and third application screens are displayed; and

transmitting, by the application to the third server, the identification of the sequence with which the first, second and third application screens are displayed on the client device, to enable the third server to facilitate displaying, on the computing device, the identification of the sequence with which the first, second and third application screens are displayed.

6 . The computer-implemented method of claim 1 , further comprising:

transmitting, by the application running on the client device, a third request for third data;

failing to receive, by the application, a response to the third request;

storing an indication of the failure to receive the response to the third request; and

transmitting, by the application to the third server, the indication of the failure to receive the response to the third request, to enable the third server to facilitate displaying, on the computing device, the indication of the failure to receive the response to the third request.

7 . The computer-implemented method of claim 1 , wherein the first server and the third server are the same server.

8 . The computer-implemented method of claim 1 , wherein the first request, the second request, the first response and the second response are communicated using the Hypertext Transfer Protocol (HTTP).

9 . One or more non-transitory computer-readable media storing instructions that are executable by one or more processors to perform operations comprising:

configuring an application running on a client device to (i) transmit a first request for first data to a first server, (ii) transmit a second request for second data to a second server, (iii) receive a first response from the first server, the first response including the requested first data, and (iv) receive a second response from the second server, the second response including the requested second data, wherein the first and second requests are transmitted while a first application screen is being displayed by the application on the client device;

receiving, from the application, (i) a first transmit time at which the first request is transmitted, (ii) a second transmit time at which the second request is transmitted, (iii) a first receive time at which the first response is received, and (iv) a second receive time at which the second response is received; and

facilitating display of the first transmit time, the second transmit time, the first receive time, and the second receive time.

10 . The one or more non-transitory computer-readable media of claim 9 , wherein:

a first time duration comprises a first difference between the first transmit time and the first receive time;

a second time duration comprises a second difference between the second transmit time and the second receive time; and

the instructions are executable by the one or more processors to further perform operations comprising facilitating display of the first time duration and the second time duration.

11 . The one or more non-transitory computer-readable media of claim 9 , wherein the instructions are executable by the one or more processors to further perform operations comprising:

receiving, from the application, (i) a first start time at which the application starts displaying the first application screen, and (ii) a first stop time at which the application stops displaying the first application screen; and

facilitating display of the first start time and the first stop time.

12 . The one or more non-transitory computer-readable media of claim 11 , wherein the instructions are executable by the one or more processors to further perform operations comprising:

receiving, from the application, (i) a second start time at which the application starts displaying a second application screen, (ii) a second stop time at which the application stops displaying the second application screen, wherein the second application screen is displayed by the application subsequent to displaying the first application screen; and

facilitating display of the second start time and the second stop time.

13 . The one or more non-transitory computer-readable media of claim 9 , wherein the instructions are executable by the one or more processors to further perform operations comprising:

receiving an identification of a sequence with which the first application screen, a second application screen and a third application screen are displayed by the application on the client device; and

facilitating display of the identification of the sequence with which the first application screen, the second application screen and the third application screen are displayed by the application on the client device.

14 . The one or more non-transitory computer-readable media of claim 9 , wherein the instructions are executable by the one or more processors to further perform operations comprising:

configuring the application to transmit a third request for third data, wherein the application fails to receive a response to the third request;

receiving an indication of the failure to receive the response to the third request; and

facilitating display of the indication of the failure to receive the response to the third request.

15 . The one or more non-transitory computer-readable media of claim 9 , wherein the first server and the second server are the same server.

16 . The one or more non-transitory computer-readable media of claim 9 , wherein the first request, the second request, the first response and the second response are communicated using the Hypertext Transfer Protocol (HTTP).

17 . A client device, comprising:

a display screen;

one or more processors; and

one or more non-transitory computer-readable media storing instructions that are executable by the one or more processors to:

display first information on the display screen;

to facilitate displaying the first information on the display screen, transmit a first request for first data;

receive a first response that includes the requested first data, the first information including the first data; and

transmit, to a computing device, (i) a first transmit time at which the first request is transmitted, and (ii) a first receive time at which the first response is received.

18 . The client device of claim 17 , wherein the instructions are further executable by the one or more processors to:

to further facilitate displaying the first information on the display screen, transmit a second request for second data;

receive a second response that includes the requested second data, the first information including the second data; and

transmit, to the computing device, (i) a second transmit time at which the second request is transmitted, and (ii) a second receive time at which the second response is received.

19 . The client device of claim 17 , wherein the instructions are further executable by the one or more processors to:

transmit, to the computing device, (i) a start time at which the client device starts displaying the first information, and (ii) a stop time at which the client device stops displaying the first information.

20 . The client device of claim 17 , wherein the instructions are further executable by the one or more processors to:

display second information and third information on the display screen; and

transmit an identification of a sequence with which the first, second and third information are displayed on the display screen.

Assignments (20)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
CHANGE OF NAME Recorded Jun 19, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046393/0009 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SEC. INT. IN PATENTS (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0329 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SEC. INT. IN PATENTS (NOTES) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040026/0710 →
RELEASE OF SEC. INT. IN PATENTS (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040013/0733 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 039643/0953 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 039644/0084 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 10, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 039719/0889 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2016
From: FOX, STEPHEN CURTIS; LIN, PEISEN; WIXTED III, WILLIAM G.; WANG, ZHENG; QIN, YINGHUA
To: DELL SOFTWARE, INC.
Reel/Frame 038601/0484 →