Delta Compression for Web Resource Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transmitting large auxiliary files, such as JavaScript files, between web servers and browsers introduces significant latency and network traffic, especially when these files are frequently updated, as current systems require full file transmission each time they are updated.

Innovation Solution

A method and device that transmit a secondary resource's version value and location, along with instructions to store the resource, allowing the client to request and generate the resource using difference information if the version changes, reducing the need for full file retransmission by using delta compression and caching mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full auxiliary files are transmitted each time they are updated, then the client receives complete updated resources, but network traffic and transmission latency increase significantly

Engineering Contradiction:
Improvecompleteness of resource updateVSAvoidtransmission latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the resource update process into two parts: transmitting only the delta (difference) information between versions, and transmitting the complete file only when necessary. This segmentation allows the system to send minimal update data while ensuring completeness when needed, resolving the contradiction between reliable updates and reduced transmission time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-calculating and storing delta information between file versions on the server side. When an update is needed, the system retrieves and transmits only the pre-computed delta rather than the entire file, significantly reducing transmission latency while maintaining update reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full auxiliary files are transmitted each time they are updated, then the client ensures it has the latest version, but the amount of network traffic increases significantly

Engineering Contradiction:
Improveversion currencyVSAvoidnetwork traffic volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential update information (delta) from the complete file and transmits only that extracted portion to the client. This extraction principle allows the system to maintain version currency reliability while dramatically reducing the quantity of data transmitted over the network.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by transmitting only the necessary portion of update data (the delta between versions) rather than the excessive amount required for full file retransmission. This partial transmission approach maintains version currency while minimizing network traffic volume.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If the client stores all auxiliary files locally, then access speed improves, but cache memory requirements increase

Engineering Contradiction:
Improveresource access speedVSAvoidcache storage requirement
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The patent segments the storage requirement into two parts: storing the base version of the file and storing only the incremental delta updates. This segmentation allows the client to maintain fast access speeds by keeping essential files locally while reducing overall cache storage requirements by not storing redundant full file versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested structure where delta information is nested within the caching system alongside the base file version. The client stores the complete base file and nests the smaller delta updates within the same cache structure, allowing efficient space utilization while maintaining fast access to both base and updated versions.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS8656020B1Delta compression of files in web applications
Publication Date: 2014.02.18 GOOGLE LLC
  • US8656020B1 patent drawing
  • US8656020B1 patent drawing
  • US8656020B1 patent drawing

AI summary

A system and method provides secondary resource files in response to a request for a web page from a client device. In response to the request, a server provides an HTML file which identifies a secondary resource file, such as a javascript file, and the current version value of the secondary resource. The HTML file may be associated with a header which prevents the file from being cached. If there is no locally-cached version of the secondary resource file, the file is requested from the server. The server will transmit the secondary resource file with a header indicating that the file is to be stored indefinitely. If there is a locally-cached version of the secondary resource file, the client device compares the version value of the locally-cached version to the received current version value. If the values are different, the client requests the differences between the files. The server provides a difference file which the client device uses in conjunction with the locally-cached version of the secondary resource to generate the current version of the secondary resource.