IP Library Granted Patent US 9,021,362
Granted Patent B2
US 9,021,362 · App. 13/830,850 · Granted Apr 28, 2015

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.
H04L43/08H04L43/0876G06F11/3452G06F11/3414G06F11/3495G06F2201/875H04L43/045H04L43/06H04L43/10H04L43/50H04L67/02G06F11/3419G06F11/3457
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,021,362
App. No.
13/830,850
Granted
Apr 28, 2015
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 (26)

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 comprising one or more data items which includes a performance metric representative of an experience of a user on the website or web application, each beacon being generated in real-time from a user session on the website, web application or mobile app;

aggregating the one or more data items in one or more first sets of N, where N is an integer greater than 1, data buckets associated with each of the first servers, 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;

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 one or more second servers over a network, each second server being associated with a different subset of the first servers;

aggregating, in each of the one or more second servers, the one or more data items received from each of the first servers in the different subset in one or more second sets of N data buckets associated with each of the second servers, the one or more second sets of N data buckets being configured identical to the one or more first sets of N data buckets associated with each of the first servers,

aggregating, in one or more final sets of N data buckets, the corresponding data contents of the one or more second sets of N data buckets received from each of the one or more second servers;

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, for each user visiting or using the website, web application or mobile app, the beacon data is generated by a library running on a browser of a client device associated with the user.

3. The method of claim 2 wherein the library comprises a JavaScript library.

4. The method of claim 1 further comprising expanding, 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.

5. The method of claim 4 wherein the predefined subset of metrics include country and browser type.

6. The method of claim 5 wherein the predefined subset of metrics further include a region of the country.

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

8. The method of claim 4 wherein the predefined subset of metrics further include a release version of the website, web application or mobile app.

9. The method of claim 4 wherein the predefined subset of metrics further include a bandwidth.

10. The method of claim 4 wherein the predefined subset of metrics further include a page group.

11. The method of claim 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.

12. The method of claim 1 further comprising periodically transmitting, by each of the second servers, the corresponding data contents of the one or more second sets of N data buckets one to a Reader/Writer (RAN) unit that performs the aggregating in the one or more final sets of N data buckets.

13. The method of claim 12 wherein the RIME unit is coupled to a database accessible to a computing device that generates the real-time analytic dashboard, and further comprising storing the one or more final sets of N data buckets in the database.

14. The method of claim 1 wherein the performance metric comprises a web page load time.

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

16. 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.

17. The method of claim 1 wherein the one or more visual indicators includes a geographical mapping of the performance metric.

18. The method of claim 1 wherein the one or more visual indicators includes a listing of the performance metric by browser type.

19. The method of claim 1 wherein the one or more visual indicators includes a listing of the performance metric by test version of the website, web application or mobile app.

20. The method of claim 1 wherein the one or more visual indicators includes a graphical chart of bounce rate as a function of web page load time.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2013
From: BRODA, TAL; SOLNIT, MATTHEW; HEMMERT, MICHAEL; TELLIS, PHILIP SANTOSH
To: SOASTA, INC.
Reel/Frame 030040/0477 →
Continuity (2)
Continuation In Part 12804338 · Jul 19, 2010
Related Publication 20130205020A1 · Aug 8, 2013