Client-Side Offline Queue for Web Instrumentation Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata transmission delayVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Loss of timeVSLoss of energy

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveuser interaction data completenessVSAvoidinstrumentation implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvenetwork bandwidth consumptionVSAvoiddata transmission reliability
Core Design Contradiction:
Loss of energyVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

4Loss of information

If detailed instrumentation data is transmitted during active user sessions, then data completeness is improved, but user experience deteriorates

Engineering Contradiction:
Improveinstrumentation data completenessVSAvoiduser experience quality
Core Design Contradiction:
Loss of informationVSEase of operation

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8892608B2Highly reliable cross-session web application instrumentation
Publication Date: 2014.11.18 UNIVERSITY OF PHOENIX INC
  • US8892608B2 patent drawing
  • US8892608B2 patent drawing
  • US8892608B2 patent drawing

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.