Autobatching
US-2015067024-A1 · Mar 5, 2015 · US
US9779069B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9779069-B2 |
| Application number | US-201414170377-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2014 |
| Priority date | Jan 31, 2014 |
| Publication date | Oct 3, 2017 |
| Grant date | Oct 3, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system can effectively compress instrumentation data related to a page view on a client-side application thread (such as a web browser thread) and communicate the compressed data over the Internet to a server (such as an analytics server). Leading up to the compression, the system can include data scanning, code building, code encoding, and code serialization. The compression can run on a background thread of the client-side application, so that it does not interfere with other processes run by the client-side application. For example, a web worker can implement the code compression described herein.
Opening claim text (preview).
The invention claimed is: 1. A system comprising: a code scanner stored in a non-transitory medium executable by a processor, the code scanner configured to: run on a shared thread of a client-side application; scan a first document object model (DOM) of first content of a first page view and a second DOM of second content of a second page view, the second page view being an update to the first page view; and identify first instrumentation data within the scanned first DOM and second instrumentation data within the scanned second DOM; a data serialization device stored in the non-transitory medium and communicatively coupled to the code scanner, the data serialization device configured to: run on a first dedicated thread or the shared thread of the client-side application; and serialize the first instrumentation data and the second instrumentation data to generate first serialized instrumentation data and second serialized instrumentation data; a code compressor stored in the non-transitory medium and configured to: run on second dedicated thread of the client-side application; and compress the first serialized data and the second serialized data to generate first compressed serialized data and second compressed serialized data, respectively; and a cache configured to receive the second content from a content server and cache the second content before user interaction data associated with display of the second content is tracked, and wherein the cache is configured to receive and cache the second content simultaneously with at least one of: the code scanner scanning the first DOM, the data serialization device serializing the first instrumentation data, or the code compressor compressing the first serialized instrumentation data. 2. The system of claim 1 , wherein the shared thread is a first shared thread and wherein the system further comprises: a user interaction tracker communicatively coupled to the data serialization device, the user interaction tracker configured to: run on a second shared thread of the client-side application; track user interactions with user interface elements of the first content and the second content; derive the user interaction data from the tracked user interactions; and add the user interaction data to the instrumentation data. 3. The system of claim 1 , wherein the shared thread is a first shared thread and wherein the system further comprises: a code builder communicatively coupled to the code scanner and the data serialization device, the code builder configured to: run on a second shared thread of the client-side application; and build hierarchical representations of the first content and the second content according to the first DOM and the second DOM, respectively; and a communication interface communicatively coupled to the code compressor, the communication interface configured to: run on a third shared thread of the client-side application; and communicate the first compressed serialized data and the second compressed serialized data to an analytics server. 4. The system of claim 1 , wherein the instrumentation data includes one or more of the content data, page view data, user interaction data, and client-side application data. 5. The system of claim 1 , wherein the code compressor is configured to: compress the first serialized data and the second serialized data so that the compressed first serialized data and the second compressed serialized data are compatible with operations of a cached model layer and data layer associated with the page view, at least parts of the cached model layer and the data layer are hosted at the page view source. 6. The system of claim 1 , wherein the code scanner is configured to receive an indication of one or more sections of the first content to be tracked. 7. The system of claim 2 , wherein the user interactions include one or more of link views, page views, clicks on aspects of the page, and dwell times. 8. The system of claim 2 , wherein each shared thread of the client-side application is a foreground thread. 9. The system of claim 8 , wherein each dedicated thread of the client-side application is a background thread. 10. The system of claim 2 , wherein the shared threads are one thread, and wherein the dedicated threads are one thread. 11. The system of claim 1 , wherein at least one of the code scanner, the code builder, the data serialization device, the code compressor, and the communication interface is implemented with an interpreted computer programming language. 12. The system of claim 1 , wherein serialization is implemented with a format for serialization using human-readable text to transmit data objects including attribute-value pairs. 13. The system of claim 12 , wherein the format for serialization is JAVASCRIPT OBJECT NOTATION (JSON). 14. The system of claim 1 , wherein the code compressor is implemented through a web worker. 15. A method, comprising: on a first thread of a client-side application, scanning a first document object model (DOM) of first content of a first page view, resulting in first scanned instrumentation data; serializing the first scanned instrumentation data; on a second thread of the client-side application, compressing the serialized instrumentation data; caching second content received from a content server in a cache before user interaction data associated with display of the second content is tracked and simultaneously with at least one of: scanning the first DOM, serializing the first scanned instrumentation data, or compressing the serialized instrumentation data; and on the first thread of the client-side application, scanning a second DOM of the second content after caching the second content, resulting in second scanned instrumentation data. 16. The method of claim 15 , further comprising: identifying one or more anchors within the first scanned instrumentation data; building a hierarchical representation of the first content prior to the serializing, wherein the hierarchical representation includes the one or more anchors, and wherein the serialization includes serialization of the built hierarchical representation of the first content. 17. The method of claim 15 , further comprising: tracking user interactions with user interface elements within the first content; deriving user interaction data from the tracked user interactions; and adding the user interaction data to the first scanned instrumentation data. 18. The method of claim 15 , further comprising receiving an indication of one or more sections of the first page view to be tracked. 19. The method of claim 15 , further comprising communicating the compressed data to an analytics server. 20. A system, comprising: a means for scanning a first document object model (DOM) of first content of a first page view and a second DOM of a second content of a second page view, resulting in first scanned instrumentation data and second scanned instrumentation data, the means for scanning running on a first thread of a client-side application; a means for serializing the first scanned instrumentation data and the second scanned instrumentation data to generate first serialized instrumentation data and second serialized instrumentation data, respectively; a means for compressing the first serialized instrumentation data and the second serialized instrumentation, the means for compressing running on a second thread of the client-side application; and means for caching the second content received fro
monitoring of user actions (tracking the activity of the user H04L67/535) · CPC title
Monitoring of systems including the internet · CPC title
wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data · CPC title
Coding or compression of tree-structured data · CPC title
Event-based monitoring · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.