Differential Bundle Updates for Mobile App Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing mobile application update methods consume significant network resources, causing congestion by transmitting full updates instead of only the necessary changes, which can lead to inefficient data transmission and potential installation failures.

Innovation Solution

Implementing differential bundle updates that transmit only the bytewise differences between the outdated and updated mobile application versions, utilizing caching and patching software like the bsdiff library to create and apply these differences, ensuring efficient resource use and backward compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full application updates are transmitted to client devices, then complete functionality is ensured, but network resource consumption increases significantly

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

Solution Approach 1:

The patent segments the update transmission into two distinct parts: (1) a differential bundle containing only the bytewise differences between old and new versions, and (2) the existing application binary on the client device. This segmentation allows the server to transmit only the essential changes rather than the complete application, significantly reducing network resource consumption while maintaining update reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and transmits only the necessary update components (bytewise differences) from the complete application binary. By using differential bundling, the system extracts precisely the portions of the application that have changed, separating these from the unchanged portions that already exist on the client device, thereby minimizing network transmission requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If full application updates are transmitted, then installation reliability is maintained, but network congestion occurs

Engineering Contradiction:
Improveinstallation successVSAvoidnetwork throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The update process is segmented into a differential transmission phase and a local reconstruction phase. The server transmits only the differential bundle (changes), while the client performs the computationally intensive task of applying differences to the existing binary locally. This segmentation reduces network traffic and congestion while maintaining installation reliability through the structured differential application process.

Inventive Principle:
Principle #1Segmentation

3Loss of energy

If only differential updates are transmitted, then network resource consumption is reduced, but update complexity increases

Engineering Contradiction:
Improvenetwork resource consumptionVSAvoidupdate processing complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by having the client device retain the existing application binary before updates. This existing binary serves as a prepared foundation that receives the differential bundle. The differential bundling process itself is performed in advance by the server, creating a ready-to-apply update package that simplifies the client-side operation to merely applying the pre-computed differences.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If differential bundles are created and stored, then transmission efficiency improves, but server storage requirements increase

Engineering Contradiction:
Improveupdate transmission efficiencyVSAvoidserver storage capacity
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent extracts and stores only the essential differential information rather than complete application binaries. By using differential bundling, the server stores compact representations of changes (bytewise differences) between versions, which are significantly smaller than full application packages. This extraction approach improves transmission efficiency while minimizing the storage burden on the server.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10795664B2Systems and methods for differential bundle updates
Publication Date: 2020.10.06 WALMART APOLLO LLC
  • US10795664B2 patent drawing
  • US10795664B2 patent drawing
  • US10795664B2 patent drawing

AI summary

In an embodiment, a system includes a processor coupled with a data store, the at least one processor configured to: receive a client product version number from a client device; identify a differential bundle based on a difference between the client product version number and a current product version number, wherein the differential bundle comprises a set of bytewise differences between an executable client product binary file associated with the client product version number and a executable current product binary file associated with the current product version number; determine whether the differential bundle is available in the data store; retrieve the differential bundle from the data store in response to determining that the differential bundle is available in the data store; produce the differential bundle in response to determining that the differential bundle is not available in the data store; and send the differential bundle to the client device.