IP Library Granted Patent US 11,743,148
Granted Patent B2
US 11,743,148 · App. 17/012,030 · Granted Aug 29, 2023

Method for measuring end-to-end internet application performance

Inventors: Francisco Manuel Galanes (Wellesley, MA); Pawel Jurczyk (Newton, MA); Vivek Ramachandran (Mountain View, CA)
Assignee: Google LLC
H04L41/5067H04L12/5691H04L43/0888
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 11,743,148
App. No.
17/012,030
Granted
Aug 29, 2023
Kind
B2
Abstract

Technology for characterizing internet application performance is described. An example method may involve, analyzing client requests from a plurality of internet service providers, the client requests comprising requests to access media items and being associated with internet service provider identities; identifying a set of the client requests that are associated with a first internet service provider; determining for at least one client request of the set: a request time, a payload data quantity, and an elapsed time; calculating a transfer rate comprising an application level throughput for the at least one client request, the transfer rate being based on the payload data quantity and the elapsed time; and calculating a performance measurement of the first and second internet service providers, the performance measurements being based on the transfer rate and on a portion of the set of client requests that have a transfer rate meeting a transfer threshold.

Claims (40)

1. A method comprising:

analyzing, by a processing device of a server computer system, client requests from a plurality of internet service providers, wherein the client requests comprise requests to access media items and the plurality of internet service providers comprise a first internet service provider and a second internet service provider;

identifying, by the processing device, a first set of the client requests that are associated with the first internet service provider and a second set of the client requests that are associated with the second internet service provider;

determining, by the processing device of the server computer system, for at least one client request of each of the first set of the client requests associated with the first internet service provider and the second set of the client requests associated with the second internet service provider: a request time, a payload data quantity, and an elapsed time, wherein the elapsed time is for completion of a data transfer of the payload data quantity;

calculating, by the processing device of the server computer system, a transfer rate for a client request of each of the plurality of internet service providers, wherein the transfer rate comprises a bitrate for the at least one client request and is based on payload data quantity and elapsed time;

calculating, by the processing device of the server computer system, a performance measurement for each of the plurality of internet service providers based on respective transfer rates; and

providing performance results of each of the plurality of internet service providers to a user device of one of the plurality of internet service providers, wherein the performance results comprise a performance result based on a performance measurement of the first internet service provider and a performance result based on a performance measurement of the second internet service provider.

2. The method of claim 1 , wherein the performance results comprise a category comprising a range of percentages.

3. The method of claim 2 , wherein the category corresponds to a minimum transfer rate to sustain streaming of a media item at a predefined video quality.

4. The method of claim 2 , further comprising providing at least one measurement URL to a client of the first internet service provider, wherein the at least one client request of the first set is based on the at least one measurement URL.

5. The method of claim 4 , further comprising, providing for display the performance measurement of each of the plurality of internet service providers to the user device of one of the plurality of internet service providers.

6. The method of claim 1 , wherein calculating the performance measurement of the first internet service provider is based on a payload data quantity downloaded to one or more clients of the first internet service provider and a payload data quantity uploaded from one or more clients of the first internet service provider.

7. The method of claim 1 , wherein the payload data quantity transferred is downloaded to a client of the first internet service provider from the server computer system.

8. A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

analyzing, by the processing device, client requests from a plurality of internet service providers, wherein the client requests comprise requests to access media items and the plurality of internet service providers comprise a first internet service provider and a second internet service provider;

identifying a first set of the client requests that are associated with the first internet service provider and a second set of the client requests that are associated with the second internet service provider;

determining, for at least one client request of each of the first set of the client requests associated with the first internet service provider and the second set of the client requests associated with the second internet service provider: a request time, a payload data quantity, and an elapsed time, wherein the elapsed time is for completion of a data transfer of the payload data quantity;

calculating a transfer rate for a client request of each of the plurality of internet service providers, wherein the transfer rate comprises a bitrate for the at least one client request and is based on payload data quantity and elapsed time;

calculating a performance measurement for each of the plurality of internet service providers; and

providing performance results of each of the plurality of internet service providers to a user device of one of the plurality of internet service providers, wherein the performance results comprise a performance result based on the performance measurement of the first internet service provider and a performance result based on a performance measurement of the second internet service provider.

9. The non-transitory computer readable storage medium of claim 8 , wherein the performance results comprise a category comprising a range of percentages.

10. The non-transitory computer readable storage medium of claim 9 , wherein the category corresponds to a minimum transfer rate to sustain streaming of a media item at a predefined video quality.

11. The non-transitory computer readable storage medium of claim 9 , wherein the operations further comprise providing at least one measurement URL to a client of the first internet service provider, wherein the at least one client request of the first set is based on the at least one measurement URL.

12. The non-transitory computer readable storage medium of claim 8 , wherein the operations further comprise providing for display the performance measurement of each of the plurality of internet service providers to the user device of one of the plurality of internet service providers.

13. The non-transitory computer readable storage medium of claim 8 , wherein calculating the performance measurement of the first internet service provider is based on a payload data quantity downloaded to one or more clients of the first internet service provider.

14. The non-transitory computer readable storage medium of claim 8 , wherein the payload data quantity transferred is downloaded to a client of the first internet service provider from a server comprising the processing device.

15. A computing device comprising:

a memory; and

a processing device coupled to the memory, wherein the processing device is configured to:

analyze client requests from a plurality of internet service providers, wherein the client requests comprise requests to access media items and the plurality of internet service providers comprise a first internet service provider and a second internet service provider;

identify a first set of the client requests that are associated with the first internet service provider and a second set of the client requests that are associated with the second internet service provider;

determine, for at least one client request of each of the first set of the client requests associated with the first internet service provider and the second set of the client requests associated with the second internet service provider: a request time, a payload data quantity, and an elapsed time, wherein the elapsed time is for completion of a data transfer of the payload data quantity;

calculate a transfer rate for a client request of each of the plurality of internet service providers, wherein the transfer rate comprises a bitrate for the at least one client request and is based on payload data quantity and elapsed time;

calculate a performance measurement for each of the plurality of internet service providers; and

provide performance results of each of the plurality of internet service providers to a user device of one of the plurality of internet service providers, wherein the performance results comprise a performance result based on the performance measurement of the first internet service provider and a performance result based on a performance measurement of the second internet service provider.

16. The computing device of claim 15 , wherein the performance results comprise a category comprising a range of percentages.

17. The computing device of claim 16 , wherein the category corresponds to a minimum transfer rate to sustain streaming of a media item at a predefined video quality.

18. The computing device of claim 16 , wherein the processing device is further configured to provide at least one measurement URL to a client of the first internet service provider, wherein the at least one client request of the first set is based on the at least one measurement URL.

19. The computing device of claim 15 , wherein the processing device is further to provide for display the performance measurement of each of the plurality of internet service providers to the user device of one of the plurality of internet service providers.

20. The computing device of claim 15 , wherein to calculate the performance measurement, the processing device is to calculate the performance measurement of the first internet service provider based on a payload data quantity downloaded to one or more clients of the first internet service provider and a payload data quantity uploaded from one or more clients of the first internet service provider.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2021
From: GALANES, FRANCISCO MANUEL; JURCZYK, PAWEL; RAMACHANDRAN, VIVEK
To: GOOGLE INC.
Reel/Frame 055805/0566 →
CHANGE OF NAME Recorded Apr 2, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 055815/0822 →
Continuity (4)
Continuation 16404696 · May 6, 2019
Continuation 14153956 · Jan 13, 2014
Provisional Application 61910732 · Dec 2, 2013
Related Publication 20210105195A1 · Apr 8, 2021