Accurate and efficient recording of user experience, GUI changes and user interaction events on a remote web document
First Claim
Patent Images
1. A method for tracking events associated with a web document on a client device, the method comprising performing, by the client device:
- receiving the web document at the client device;
receiving a capture agent in conjunction with a delivery of the web document, the capture agent configured to execute on the client device;
parsing the web document to generate a Document Object Model (DOM) tree, the DOM tree including a plurality of nodes;
identifying, by the capture agent, a DOM tree modification resulting in a modified DOM tree by monitoring the DOM tree for addition of nodes to the DOM tree, removal of nodes from the DOM tree, and modification of nodes in the DOM tree, the DOM tree modification containing a first node modification associated with a first node and a second node modification associated with a second node;
determining, by the capture agent, the first node modification and the second node modification to be an overlapping modification based on the first node being an ancestor of the second node in the DOM tree, the first node modification targeting a subtree of the DOM tree including the second node;
determining, by the capture agent, first identification information for uniquely identifying the first node;
generating, by the capture agent, an event record for the DOM tree modification, the event record including the first identification information for uniquely identifying the first node and the first node modification, the event record suppressing duplicate information by not including the second node modification based on the determination that the first node modification and the second node modification are the overlapping modification; and
transmitting, from the capture agent, the event record to a server-side web session storage engine, wherein the server-side web session storage engine uses a server-side captured DOM tree of the web document, the first identification information, and the first node modification to generate the modified DOM tree.
4 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes how to capture events (e.g., changes and user interactions) of a Web document and combine those changes with the original DOM displayed to accurately and efficiently enable a replay engine to redisplay the DOM, changes, and user interactions which occurred within a user'"'"'s browser. The data collected from a client-side HTML DOM capture engine can be combined with a minimal amount of contextual information to a replay engine so as to accurately and efficiently replay a session of a plurality of web documents.
-
Citations
16 Claims
-
1. A method for tracking events associated with a web document on a client device, the method comprising performing, by the client device:
-
receiving the web document at the client device; receiving a capture agent in conjunction with a delivery of the web document, the capture agent configured to execute on the client device; parsing the web document to generate a Document Object Model (DOM) tree, the DOM tree including a plurality of nodes; identifying, by the capture agent, a DOM tree modification resulting in a modified DOM tree by monitoring the DOM tree for addition of nodes to the DOM tree, removal of nodes from the DOM tree, and modification of nodes in the DOM tree, the DOM tree modification containing a first node modification associated with a first node and a second node modification associated with a second node; determining, by the capture agent, the first node modification and the second node modification to be an overlapping modification based on the first node being an ancestor of the second node in the DOM tree, the first node modification targeting a subtree of the DOM tree including the second node; determining, by the capture agent, first identification information for uniquely identifying the first node; generating, by the capture agent, an event record for the DOM tree modification, the event record including the first identification information for uniquely identifying the first node and the first node modification, the event record suppressing duplicate information by not including the second node modification based on the determination that the first node modification and the second node modification are the overlapping modification; and transmitting, from the capture agent, the event record to a server-side web session storage engine, wherein the server-side web session storage engine uses a server-side captured DOM tree of the web document, the first identification information, and the first node modification to generate the modified DOM tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer product comprising a non-transitory computer readable medium storing a plurality of instructions for controlling a client device to track events associated with a web document on the client device, the plurality of instructions comprising:
-
receiving the web document at the client device; receiving a capture agent in conjunction with a delivery of the web document, the capture agent configured to execute on the client device; parsing the web document to generate a Document Object Model (DOM) tree, the DOM tree including a plurality of nodes; identifying, by the capture agent, a DOM tree modification resulting in a modified DOM tree by monitoring the DOM tree for addition of nodes to the DOM tree, removal of nodes from the DOM tree, and modification of nodes in the DOM tree, the DOM tree modification containing a first node modification associated with a first node and a second node modification associated with a second node; determining, by the capture agent, the first node modification and the second node modification to be an overlapping modification based on the first node being an ancestor of the second node in the DOM tree, the first node modification targeting a subtree of the DOM tree including the second node; generating, by the capture agent, an event record for the DOM tree modification, the event record including the first identification information for uniquely identifying the first node and the first node modification, the event record suppressing duplicate information by not including the second node modification based on the determination that the first node modification and the second node modification are the overlapping modification; and transmitting, from the capture agent, the event record to a server-side web session storage engine, wherein the server-side web session storage engine uses a server-side captured DOM tree of the web document, the first identification information, and the first node modification to generate the modified DOM tree.
-
-
16. A system comprising:
-
one or more processors; and a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the one or more processors to; receive a web document at a client device; receive a capture agent in conjunction with a delivery of the web document, the capture agent configured to execute on the client device; parse the web document to generate a Document Object Model (DOM) tree, the DOM tree including a plurality of nodes; identify, by the capture agent, a DOM tree modification resulting in a modified DOM tree by monitoring the DOM tree for addition of nodes to the DOM tree, removal of nodes from the DOM tree, and modification of nodes in the DOM tree, the DOM tree modification containing a first node modification associated with a first node and a second node modification associated with a second node; determine, by the capture agent, the first node modification and the second node modification to be an overlapping modification based on the first node being an ancestor of the second node in the DOM tree, the first node modification targeting a subtree of the DOM tree including the second node; determine, by the capture agent, first identification information for uniquely identifying the first node; generate, by the capture agent, an event record for the DOM tree modification, the event record including the first identification information for uniquely identifying the first node and the first node modification, the event record suppressing duplicate information by not including the second node modification based on the determination that the first node modification and the second node modification are the overlapping modification; and transmit, from the capture agent, the event record to a server-side web session storage engine, wherein the server-side web session storage engine uses a server-side captured DOM tree of the web document, the first identification information, and the first node modification to generate the modified DOM tree.
-
Specification