Application Update Diff File Generation and Reconstruction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If certificate chains are renewed periodically to maintain security, then system security is improved, but service interruptions may occur
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.
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.
Data Source
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.


