Highly reliable cross-session web application instrumentation
First Claim
1. A computer-implemented method for collecting user instrumentation data, the method comprising the steps of:
- during a first online session between a remote service and a client, detecting an interaction by a user with an interface that is displayed on the client, wherein the interface is an interface of a web application associated with the remote service;
wherein the remote service is hosted at a server that is remote relative to the client;
in response to detecting said user interaction, storing an instrumentation item, comprising information about said user interaction with the interface displayed on the client during the first online session, in a client-side offline storage mechanism;
determining that the instrumentation item is to be sent in a subsequent online session, rather than sent during or at the end of the first online session;
in response to determining that the instrumentation item is to be sent in a subsequent online session, retaining the instrumentation item in the client-side offline storage mechanism after the first online session has terminated due to either (a) the user logging out of the web application, or (b) the user unloading one or more pages containing the web application; and
during a second online session between the remote service and the client, transmitting said instrumentation item from said client-side offline storage mechanism to a server-side collection service;
wherein the method is performed by one or more computing devices.
5 Assignments
0 Petitions
Accused Products
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.
10 Citations
28 Claims
-
1. A computer-implemented method for collecting user instrumentation data, the method comprising the steps of:
-
during a first online session between a remote service and a client, detecting an interaction by a user with an interface that is displayed on the client, wherein the interface is an interface of a web application associated with the remote service; wherein the remote service is hosted at a server that is remote relative to the client; in response to detecting said user interaction, storing an instrumentation item, comprising information about said user interaction with the interface displayed on the client during the first online session, in a client-side offline storage mechanism; determining that the instrumentation item is to be sent in a subsequent online session, rather than sent during or at the end of the first online session; in response to determining that the instrumentation item is to be sent in a subsequent online session, retaining the instrumentation item in the client-side offline storage mechanism after the first online session has terminated due to either (a) the user logging out of the web application, or (b) the user unloading one or more pages containing the web application; and during a second online session between the remote service and the client, transmitting said instrumentation item from said client-side offline storage mechanism to a server-side collection service; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 25, 26)
-
-
13. One or more non-transitory computer readable media storing instructions which, when executed by one or more processors, cause performance of the steps of:
-
during a first online session between a remote service and a client, detecting an interaction by a user with an interface that is displayed on the client, wherein the interface is an interface of a web application associated with the remote service; wherein the remote service is hosted at a server that is remote relative to the client; in response to detecting said user interaction, storing an instrumentation item, comprising information about said user interaction with the interface displayed on the client during the first online session, in a client-side offline storage mechanism; determining that the instrumentation item is to be sent in a subsequent online session, rather than sent during or at the end of the first online session; in response to determining that the instrumentation item is to be sent in a subsequent online session, retaining the instrumentation item in the client-side offline storage mechanism after the first online session has terminated due to either (a) the user logging out of the web application, or (b) the user unloading one or more pages containing the web application; and during a second online session between the remote service and the client, transmitting said instrumentation item from said client-side offline storage mechanism to a server-side collection service. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 27, 28)
-
Specification