Application Update Diff File Generation and Reconstruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of updating applications on client computing devices is inefficient due to the large amount of data required for updates, which can overwhelm network bandwidth and is not accurately managed by existing systems.

Innovation Solution

An application-update system determines differences between new updates and previous updates, generating and sending 'diff files' that include only new files and instructions for updating, minimizing network data transfer, and uses certificate chains for authentication, with periodic renewal to maintain security without interrupting operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complete application updates are sent to client devices, then all necessary update files are delivered, but network bandwidth consumption increases significantly

Engineering Contradiction:
Improveupdate completenessVSAvoidnetwork data transfer volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the update process into two distinct phases: (1) generating differential data that represents only the changes between update versions, and (2) reconstructing the complete update at the client device by applying these differences to the existing application. This segmentation allows the server to transmit only the essential difference data rather than complete update packages, significantly reducing network bandwidth consumption while ensuring update completeness through the reconstruction process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary difference information from the complete update package. By identifying and extracting only the files and data that have changed between versions, the system transmits minimal data over the network. The client device then uses this extracted difference data along with its existing application copy to reconstruct the complete updated version, achieving both data efficiency and update completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If differential update files are sent instead of complete updates, then network bandwidth usage is reduced, but the update process becomes more complex

Engineering Contradiction:
Improvenetwork data transfer volumeVSAvoidupdate processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-generating and storing differential update files on the server side before client requests. These differential files are prepared in advance with clear identification of what has changed between versions. When a client requests an update, the server can immediately provide the pre-processed difference data, and the client has the necessary information to efficiently reconstruct the update without needing to perform complex analysis during the update process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a standardized reconstruction process that mediates between the received differential data and the final updated application. The client device uses its existing application as a base and systematically applies the differential data to generate the updated version. This intermediary reconstruction process simplifies the overall complexity by providing a clear, repeatable method for transforming difference data into complete updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If certificate chains are renewed periodically to maintain security, then system security is improved, but service interruptions may occur

Engineering Contradiction:
Improvesystem securityVSAvoidupdate service continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic certificate renewal actions with careful timing and coordination. The system schedules certificate renewals in advance and manages the transition between old and new certificates systematically. By using periodic renewal with proper overlap periods where both old and new certificates are valid, the system maintains continuous security validation capability without interrupting the update service.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies beforehand cushioning by maintaining overlapping validity periods for old and new certificates during renewal transitions. This creates a buffer period where both certificate chains are simultaneously valid, allowing the system to switch between them without gaps in security validation. This prior cushioning ensures that certificate renewal never causes service interruption, as clients can continue to validate updates using either the old or new certificates during the overlap period.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11379215B1Application-update techniques
Publication Date: 2022.07.05 AMAZON TECH INC
  • US11379215B1 patent drawing
  • US11379215B1 patent drawing
  • US11379215B1 patent drawing

AI summary

This disclosure describes, in part, techniques and systems for accurately and efficiently updating applications stored on client computing devices. In some instances, the systems and techniques receive an update from an application developer, but rather than send the update directly to a client computing device that operates the application, the systems and techniques determine one or more difference between the current update and an update previously sent to the client computing device and, thereafter, send a “diff file” indicative of these differences to the client computing device. The client computing device may then use the diff file and the previously received update to re-create the new update. Thus, the systems and techniques are able to update client computing devices while limiting the amount of data sent over a network to these devices.