IP Library Granted Patent US 9,491,248
Granted Patent B2
US 9,491,248 · App. 14/683,805 · Granted Nov 8, 2016

Real-time analytics of web performance using actual user measurements

Inventors: Tal Broda (Sunnyvale, CA); Matthew Solnit (San Jose, CA); Michael Hemmert (Scotts Valley, CA); Philip Santosh Tellis (Cambridge, MA)
Assignee: SOASTA, Inc.
H04L67/22G06F11/3414G06F11/3419G06F11/3452G06F11/3495G06F17/30598H04L43/045H04L43/08H04L43/0876H04L43/10H04L43/50H04L67/42G06F11/3457G06F2201/875H04L43/06H04L67/02
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,491,248
App. No.
14/683,805
Granted
Nov 8, 2016
Kind
B2
Abstract

A method for real-time capture of actual user experiences on a website, web application or mobile app includes receiving, in first servers, one or more beacons, each containing data items. Each beacon is generated in real-time from a user session. The data items are aggregated in one or more first sets of N data buckets associated with each of the first servers. Each of the first servers transmits the data items of each of the N data buckets to a second server over a network, which further aggregates the data items received in one or more sets of N data buckets corresponding to and identically configured as the data buckets of the first servers. The corresponding data contents of the one or more second sets of N data buckets is aggregated into one or more final sets of N data buckets used in generating a real-time analytic dashboard.

Claims (44)

1. A method for real-time capture of actual user experiences on a website, web application or mobile app, comprising:

receiving, in each of a plurality of first servers, one or more beacons, each beacon being generated in real-time from a user session on the website, web application or mobile app, each beacon comprising one or more data items which includes a performance metric representative of an experience of a user on the website, web application or mobile app;

aggregating, in each of the first servers, the one or more data items in one or more first sets of N, where N is an integer greater than 1, data buckets, each of the one or more data items being aggregated in accordance with a value of the performance metric, each data bucket being defined in a memory for data values falling within a predetermined range, each of the one or more first sets of N data buckets being arranged in an order of data value ranges;

transmitting, by each of the first servers, the one or more data items of each of the N data buckets in each of the one or more first sets to an associated one of a plurality of second servers;

aggregating, by each of the second servers, the one or more data items of the one or more first sets of N data buckets received from each of the first servers in one or more second sets of N data buckets;

transmitting, by each of the second servers, the one or more data items of each of the one or more second sets of N data buckets to a computing instance;

aggregating, by the computing instance, the corresponding data contents of the one or more second sets of N data buckets in one or more final sets of N data buckets; and

generating, on a real-time analytic dashboard, one or more visual indicators representative of at least one aggregated data result computed from the data contents of the one or more final sets of N data buckets.

2. The method of claim 1 wherein each second server is associated with a different subset of the first servers.

3. The computer-implemented method of claim 1 wherein each visualization has a size that corresponds to the total number of users at the distinct one of the geographical locations.

4. The method of claim 3 wherein the predefined subset of metrics include operating system (O/S) type.

5. The method of claim 3 wherein the predefined subset of metrics include browser type.

6. The computer-implemented method of claim 1 wherein the geographical locations include one or more countries.

7. The computer-implemented method of claim 1 wherein each visualization has one of a plurality of colors, each color corresponding to a distinct range of the statistical result.

8. The method of claim 1 further comprising storing the one or more final sets of N data buckets in a database accessible to a computing device that generates the real-time analytic dashboard.

9. The method of claim 1 wherein the one or more visual indicators includes a median page load time.

10. The method of claim 1 wherein the one or more visual indicators includes a histogram based on a total number of beacons received by the first servers, where each bar of the histogram corresponds to a count in a unique one of the data buckets in the one or more final sets of N data buckets.

11. A non-transitory computer-readable storage medium encoded with computer instructions, which, when executed by one or more processors, operable to:

receive, in each of a plurality of first servers, one or more beacons, each beacon being generated in real-time from a user session on the website, web application or mobile app, each beacon comprising one or more data items which includes a performance metric representative of an experience of a user on the website, web application or mobile app;

aggregate, in each of the first servers, the one or more data items in one or more first sets of N, where N is an integer greater than 1, data buckets, each of the one or more data items being aggregated in accordance with a value of the performance metric, each data bucket being defined in a memory for data values falling within a predetermined range, each of the one or more first sets of N data buckets being arranged in an order of data value ranges;

transmit, by each of the first servers, the one or more data items of each of the N data buckets in each of the one or more first sets to an associated one of a plurality of second servers;

aggregate, by each of the second servers, the one or more data items of the one or more first sets of N data buckets received from each of the first servers in one or more second sets of N data buckets;

transmit, by each of the second servers, the one or more data items of each of the one or more second sets of N data buckets to a computing instance;

aggregate, by the computing instance, the corresponding data contents of the one or more second sets of N data buckets in one or more final sets of N data buckets; and

generate, on a real-time analytic dashboard, one or more visual indicators representative of at least one aggregated data result computed from the data contents of the one or more final sets of N data buckets.

12. The non-transitory computer-readable storage medium of claim 11 wherein each second server being associated with a different subset of the first servers.

13. The non-transitory computer-readable storage medium of claim 11 wherein execution of the computer instructions is further operable to expand, according to a template, data contents of the one or more final sets of N data buckets to a larger set of data, the template being based on a predefined subset of metrics and combinations thereof.

14. The non-transitory computer-readable storage medium of claim 13 wherein the predefined subset of metrics include a country.

15. The non-transitory computer-readable storage medium of claim 14 wherein the predefined subset of metrics further include a region of the country.

16. The non-transitory computer-readable storage medium of claim 13 wherein the predefined subset of metrics include operating system (O/S).

17. The non-transitory computer-readable storage medium of claim 11 wherein execution of the computer instructions is further operable to store the one or more final sets of N data buckets in a database accessible to a computing device that generates the real-time analytic dashboard.

18. The non-transitory computer-readable storage medium of claim 11 wherein the one or more visual indicators includes a median page load time.

19. The non-transitory computer-readable storage medium of claim 11 wherein the one or more visual indicators includes a histogram based on a total number of beacons received by the first servers, where each bar of the histogram corresponds to a count in a unique one of the data buckets in the one or more final sets of N data buckets.

20. A system comprising:

a plurality of first servers configured to receive one or more beacons, each beacon being generated in real-time from a user session on the website, web application or mobile app, each beacon comprising one or more data items which includes a performance metric representative of an experience of a user on the website, web application or mobile app, each of the first servers being further configured to aggregate the one or more data items in one or more first sets of N, where N is an integer greater than 1, data buckets, each of the one or more data items being aggregated in accordance with a value of the performance metric received with each of the one or more beacons, each data bucket being defined in a memory for data values falling within a predetermined range, each of the one or more first sets of N data buckets being arranged in an order of data value ranges, each of the first servers being further configured to periodically transmit the one or more data items of each of the N data buckets over a first network;

a plurality of second servers, each second server being associated with a different subset of the first servers, each second server being configured to aggregate the one or more data items of the one or more first sets of N data buckets received from each of the first servers in one or more second sets of N data buckets, each of the second servers being further configured to transmit the one or more data items of each of the second sets of N data buckets over a second network; and

a computing instance configured to aggregate the corresponding data contents of the one or more second sets of N data buckets in one or more final sets of N data buckets, the computing instance being further configured to execute a program that generates, on a real-time analytic dashboard, one or more visual indicators representative of at least one aggregated data result computed from the data contents of the one or more final sets of N data buckets.

21. The system of claim 20 wherein each second server is associated with a different subset of the first servers.

22. The system of claim 20 wherein the computing instance being further configured to expand, according to a template, data contents of the one or more final sets of N data buckets to a larger set of data, the template being based on a predefined subset of metrics and combinations thereof.

23. The system of claim 22 wherein the predefined subset of metrics include a country.

24. The system of claim 22 wherein the predefined subset of metrics further include a region of the country.

25. The system of claim 22 wherein the predefined subset of metrics include operating system (O/S).

26. The system of claim 20 wherein the one or more visual indicators includes a median page load time.

27. The system of claim 20 wherein the one or more visual indicators includes a histogram based on a total number of beacons received by the first servers, where each bar of the histogram corresponds to a count in a unique one of the data buckets in the one or more final sets of N data buckets.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2019
From: BRODA, TAL; SOLNIT, MATTHEW; HEMMERT, MICHAEL; TELLIS, PHILIP SANTOSH
To: SOASTA, INC.
Reel/Frame 048366/0647 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 15338002 RECORDED ON PREVIOUSLY RECORDED ON REEL 044798 FRAME 0558. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR (S) HEREBY CONFIRMS THE MERGER. Recorded Apr 2, 2018
From: SOASTA INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 046110/0306 →
MERGER Recorded Feb 1, 2018
From: SOASTA, INC.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 044798/0558 →
Continuity (3)
Continuation 13830850 · Mar 14, 2013
Continuation In Part 12804338 · Jul 19, 2010
Related Publication 20150222720A1 · Aug 6, 2015