Client-Side Data Compression via Web Worker Background Threading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for communicating compressed data across networks from client-side applications, such as web browsers, face challenges in efficiently compressing and transmitting tracked content and user interaction data over the Internet, especially when bandwidth is limited, leading to performance hiccups and seamlessness issues.

Innovation Solution

The system employs client-side compression techniques, including data scanning, code building, encoding, and serialization, running on a background thread to compress instrumentation data like tracked content, page view, and user interaction data, using a web worker to manage simultaneous foreground and background processes, ensuring seamless data transmission without interfering with user interface operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data compression is applied to tracked content and user interaction data, then bandwidth utilization is improved and transmission speed increases, but device complexity and processing overhead increase

Engineering Contradiction:
Improvedata transmission speedVSAvoidcompression system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the compression system into distinct functional modules: a data structure generator that creates standardized data representations, a compression engine that applies compression algorithms, and a transmission module that handles network communication. This segmentation allows each component to be optimized independently and facilitates maintenance while achieving efficient data compression and transmission.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If compression algorithms are applied to serialize and compress tracked data, then data size is reduced and bandwidth efficiency improves, but processing time and computational resources increase

Engineering Contradiction:
Improvedata sizeVSAvoidcompression processing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-defining standardized data structures for common tracking events (page views, clicks, scrolls) and pre-configuring compression parameters. This preparation work is done beforehand, allowing the compression engine to quickly process incoming data without extensive real-time analysis, thus reducing processing time while maintaining high compression ratios.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If background thread compression is implemented to compress data without blocking UI operations, then user interface responsiveness is maintained, but system resource management complexity increases

Engineering Contradiction:
ImproveUI responsivenessVSAvoidthread management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary compression manager that acts as a mediator between the user interface thread and the background compression thread. This manager handles data buffering, thread coordination, and resource allocation, allowing UI operations to proceed independently while compression occurs in the background without blocking, thus maintaining responsiveness without excessive complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of information

If more tracked content and user interaction data are collected and transmitted, then analytics quality and insight depth improve, but bandwidth consumption and transmission time increase

Engineering Contradiction:
Improveanalytics data completenessVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent implements parameter changes by dynamically adjusting compression levels, data sampling rates, and transmission intervals based on network conditions, device performance, and analytics priorities. This allows the system to transmit comprehensive analytics data when bandwidth is available while reducing data volume and transmission frequency when bandwidth is constrained, thus maintaining analytics quality while adapting to bandwidth limitations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2903241B1Compression of serialized data for communication from a client-side application
Publication Date: 2020.04.22 OATH INC
  • EP2903241B1 patent drawingFigure 1
  • EP2903241B1 patent drawingFigure 2
  • EP2903241B1 patent drawingFigure 3

AI summary

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.