Client-Side Offline Queue for Web Instrumentation Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current user tracking mechanisms, such as cookies and beacons, are restrictive and limited in collecting comprehensive user interaction data without degrading the user experience, especially due to bandwidth constraints and the inability to capture interactions with client-side code and alternative input methods.
Innovation Solution
Implementing a client-side caching mechanism that stores user interaction data in an offline queue, allowing for selective and timed transmission of instrumentation items to the server-side, using techniques like HTML 5 Web Storage or Adobe Flash SharedObject, and prioritizing data transmission based on network conditions and user activity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If user tracking data is collected and transmitted immediately from client-side to server-side, then data freshness is improved, but network bandwidth consumption increases and user experience degrades
Solution Approach 1:
The patent implements preliminary action by caching instrumentation data in an offline queue on the client-side before transmission. The data is collected and staged locally during user interactions, then transmitted in batches when appropriate conditions are met (such as when the user returns to the site or when bandwidth conditions favor transmission). This approach maintains data freshness by continuously collecting data while managing bandwidth consumption through controlled transmission timing.
2Measurement precision
If comprehensive user interaction data is captured including client-side code interactions and alternative input methods, then measurement precision is improved, but device complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the instrumentation implementation into distinct modular components: an instrumentation class that defines the data model and collection logic, an event bus that handles event routing and distribution, and specific event handlers for different interaction types (mouse movements, keyboard inputs, clicks, etc.). This modular architecture enables comprehensive data capture while managing complexity through organized, reusable code structures that can be independently developed and maintained.
3Loss of energy
If user tracking data is stored in volatile memory and transmitted on page unload, then bandwidth consumption is reduced, but data reliability deteriorates
Solution Approach 1:
The patent implements preliminary action by pre-caching instrumentation data in an offline queue on the client-side before transmission is attempted. This ensures data persistence across sessions by storing data in a manner that survives page unloads and browser closures. The data is then transmitted in batches when appropriate conditions are met, such as when the user returns to the site or when bandwidth conditions favor transmission, thereby maintaining both reliability and managing bandwidth consumption.
4Loss of information
If detailed instrumentation data is transmitted during active user sessions, then data completeness is improved, but user experience deteriorates
Solution Approach 1:
The patent applies periodic action by transmitting instrumentation data in batches at specific intervals and conditions rather than continuously during active sessions. Data is transmitted when the user returns to the site after a session, when bandwidth conditions favor transmission, or according to configured transmission schedules. This approach maintains data completeness by ensuring all interactions are captured and transmitted eventually, while minimizing impact on user experience by avoiding continuous transmission during active usage.
Data Source
AI summary
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.


