Segmented Software Updating for Low-Space OTA Patching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Over-the-air (OTA) software updates face challenges with free space requirements, particularly for large files like DYLD shared caches, where patching requires both old and new versions to be present, exceeding available disk space, while archiving necessitates large update packages despite minimal differences between versions.
Innovation Solution
A method that segments files for updating, using patching or archiving based on optimal methods for each segment, leveraging free space within the file for in-place updates, minimizing the update package size by utilizing page-tracking tables to manage data movement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If patching is used to update large files, then update efficiency is improved, but free space requirement increases
Solution Approach 1:
The patent divides large files into multiple segments, allowing the update process to work on smaller portions independently. This segmentation enables the system to apply patches to individual segments rather than requiring space for entire file versions, thus maintaining update efficiency while reducing the peak free space requirement during the update process.
2Quantity of substance
If archiving is used to update files, then free space requirement is reduced, but update package size increases
Solution Approach 1:
The patent applies different update strategies to different segments of files based on their specific characteristics. Some segments are updated using patching when appropriate, while others use archiving, allowing the system to optimize the update package size by including only necessary data for each segment rather than archiving entire files.
3Ease of manufacture
If both old and new versions are stored simultaneously, then patching can be performed, but disk space consumption increases
Solution Approach 1:
By dividing files into segments, the system can load and process only the necessary segments in memory during patching operations, rather than requiring entire old and new file versions to be simultaneously present on disk. This reduces peak disk space consumption while maintaining patching capability.
Solution Approach 2:
The patent performs preliminary actions by preparing segment update data before the actual update process, allowing the system to stage necessary patch data and minimize the simultaneous storage requirements during the critical update phase.
Data Source
AI summary
A novel software updating method is provided. A target file is divided into segments, where some segments are updated by patching, while other segments are updated by archiving. The segmentation of the update allows very large files such as DYLD shared caches to be patched in-place, i.e., by using free space available within the file to perform patching rather than requiring enough free space on disk to store both the new version and the old version of the file. The segmentation of the update also allows each segment to be updated individually by the most optimal update method (copy, patch, or archive) so that the size of the update file can be minimized.


