Service Worker Delta Updates for Web App Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web application updates on mobile devices often require complete file downloads, which consume excessive network bandwidth and processing resources, especially in devices with slow or metered network access, and are inefficient when the updates are only partially changed.

Innovation Solution

Implementing delta updates using a service worker web application that compares the cached version on the client device with the current version on the server, generating and sending only the differences (delta updates) to update the web application, rather than entire files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complete file downloads are used for web application updates, then the updates are reliable and complete, but network bandwidth consumption and processing resources increase excessively

Engineering Contradiction:
Improveupdate completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The update process is segmented into two parts: (1) initial complete download of the web application to establish a baseline cached version, and (2) subsequent delta updates that transmit only the differences between versions. This segmentation allows the system to achieve reliability through the initial complete transfer while minimizing energy loss through incremental difference transfers in later updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing excessive action by downloading complete files every time, the system performs partial action by calculating and transmitting only the delta (difference) between the cached version and the current version. The service worker compares version indicators and file contents to determine the minimal necessary update data, thereby reducing network bandwidth consumption while maintaining update reliability.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If complete file downloads are used for web application updates, then the updates are reliable and complete, but processing resources on mobile devices increase excessively

Engineering Contradiction:
Improveupdate completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The processing workload is segmented between the server and client device. The server performs the computationally intensive task of generating delta updates by comparing file contents, while the client device only needs to receive and apply these smaller delta packages. This segmentation reduces the processing burden on mobile devices while ensuring reliable updates through server-side verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system avoids excessive processing by implementing partial action: the service worker compares version indicators to determine if updates are needed, and only processes delta applications when necessary. This selective processing approach maintains reliability by verifying version matches while significantly improving processing efficiency compared to always downloading and processing complete files.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of energy

If delta updates are implemented, then network bandwidth consumption and processing resources are reduced, but the system complexity increases

Engineering Contradiction:
Improvenetwork bandwidth consumptionVSAvoidupdate mechanism complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The service worker acts as an intermediary between the web application and the update mechanism. It manages the cached versions, compares version indicators, requests delta updates from the server, and applies them to the local copy. This intermediary layer abstracts the complexity of delta computation and version management, providing a clean interface while reducing network bandwidth consumption through intelligent update selection.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If delta updates are implemented, then network bandwidth consumption and processing resources are reduced, but the update mechanism complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidupdate mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The service worker serves as an intermediary that handles the complexity of delta update mechanics, including version comparison, delta request generation, and update application. This intermediary approach improves processing efficiency by implementing intelligent update selection (comparing version indicators before downloading) while encapsulating the complexity within the service worker layer, keeping the rest of the system simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10795666B1Techniques for web application updates
Publication Date: 2020.10.06 WHATSAPP LLC
  • US10795666B1 patent drawing
  • US10795666B1 patent drawing
  • US10795666B1 patent drawing

AI summary

Techniques to update a web application are described. A method includes receiving an application update request for a requested web application from a service worker web application executing in a web browser on a client device, the application update request comprising a cached version indicator for a local cached copy of the requested web application on the client device; determining whether an updated requested web application is available based on the cached version indicator. When the cached version indicator is less than a current version indicator, an archived copy of the previous version of the requested web application indicated by the cached version indicator and a current copy of the current version of the requested web application are retrieved, and a delta update is generated based on the archived copy and current copy. The delta update is sent to the service worker web application. Other embodiments are described and claimed.