US2015074153A1PendingUtilityA1

Highly Reliable Cross-Session Web Application Instrumentation

54
Assignee: APOLLO EDUCATION GROUP INCPriority: Jul 30, 2010Filed: Nov 13, 2014Published: Mar 12, 2015
Est. expiryJul 30, 2030(~4.1 yrs left)· nominal 20-yr term from priority
Inventors:Tomi Blinnikka
G06F 16/9574G06F 17/30902
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A reliable caching mechanism is provided for client-side caching of data that captures user interaction with a remote service, where users interact with the remote service through a computing device. Such instrumentation items are cached in a client-side offline queue. Within the client-side queue, the gathered instrumentation items survive between user sessions with the remote service. Because the client-side does not lose the instrumentation items that were gathered in a session when the session ends, those instrumentation items do not all need to be transferred to the server-side at or prior to the termination of the session in which the instrumentation items are collected. Instead, the instrumentation items may be sent to the server-side at times that will have less impact on the user experience, such as when the computing device is otherwise idle.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method comprising:
 in response to detecting user interactions with an interface displayed at a client, storing instrumentation items in an ordered list at the client;   wherein the instrumentation items comprise information about said user interactions;   wherein each instrumentation item, of the instrumentation items, is associated with a particular plurality of variables;   receiving a control parameter that assigns a particular degree of priority to a particular variable of the particular plurality of variables;   in response to receiving the control parameter, re-ordering the ordered list based on:
 the particular degree of priority of the particular variable, and 
 values of the particular variable for each of the instrumentation items; and 
   transmitting said instrumentation items from said client to a server-side entity in a sequence that is based on the order of the ordered list;   wherein the method is performed by one or more computing devices.   
     
     
         2 . The computer-implemented method of  claim 1 , wherein:
 the control parameter assigns a high degree of priority to the particular variable; and   after re-ordering the ordered list, the instrumentation items are ordered, in the ordered list, based, at least in part, on the respective values of the particular variable for the instrumentation items.   
     
     
         3 . The computer-implemented method of  claim 1 , wherein:
 the control parameter assigns a low degree of priority to the particular variable;   one or more other variables, of the particular plurality of variables, have a higher degree of priority than the particular variable; and   after re-ordering the ordered list, the instrumentation items are ordered, in the ordered list, based, at least in part, on the respective values of the one or more other variables for the instrumentation items.   
     
     
         4 . The method of  claim 1 , wherein:
 the interface is an interface of a particular web application; and   values for one or more of the particular plurality of variables are provided by the particular web application.   
     
     
         5 . The method of  claim 1 , wherein the particular variable represents at least one of:
 user idle time;   time elapsed in the ordered list;   network connection speed;   number of instrumentation items in the ordered list; or   data size of a client-side offline storage mechanism that stores the ordered list.   
     
     
         6 . The method of  claim 1 , further comprising:
 creating a token mapping for one or more portions of one or more instrumentation items in the ordered list;   transmitting an item representing said created token mapping to said server-side entity; and   tokenizing one or more other instrumentation items in said ordered list based on the token mapping.   
     
     
         7 . A computer-implemented method comprising:
 in response to detecting user interactions with an interface displayed at a client, storing one or more instrumentation items at the client;   wherein the one or more instrumentation items comprise information about said user interactions;   determining that the value of a particular variable associated with the client is below a previously-established threshold associated with the particular variable;   in response to determining that the value of the particular variable is below the previously-established threshold, transmitting said one or more instrumentation items from said client to a server-side entity at a first transmission frequency;   after transmitting said one or more instrumentation items from said client to the server-side entity at the first transmission frequency, determining that the value of the particular variable is above the previously-established threshold; and   in response to determining that the value of the particular variable is above the previously-established threshold, transmitting said one or more instrumentation items from said client to said server-side entity at a second transmission frequency;   wherein the first transmission frequency is slower than the second transmission frequency;   wherein the method is performed by one or more computing devices.   
     
     
         8 . The method of  claim 7 , wherein the particular variable is network connection speed. 
     
     
         9 . The method of  claim 8 , wherein the previously-established threshold is a first previously-established threshold, the method further comprising:
 determining that the network connection speed of the client is below a second previously-established threshold;   wherein the second previously-established threshold is lower than the first previously-established threshold; and   determining that the network connection speed of the client is below the second previously-established threshold, ceasing transmission of said one or more instrumentation items from said client to said server-side entity.   
     
     
         10 . The method of  claim 7 , further comprising:
 detecting that some application or network condition has changed; and   in response to detecting that some application or network condition has changed, adjusting the previously-established threshold.   
     
     
         11 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 1 . 
     
     
         12 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 2 . 
     
     
         13 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 3 . 
     
     
         14 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 4 . 
     
     
         15 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 5 . 
     
     
         16 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 6 . 
     
     
         17 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 7 . 
     
     
         18 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 8 . 
     
     
         19 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 9 . 
     
     
         20 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause performance of the method recited in  claim 10 .

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.