Segmented Software Updating for Low-Space OTA Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If patching is used to update large files, then update efficiency is improved, but free space requirement increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoidfree space requirement
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If archiving is used to update files, then free space requirement is reduced, but update package size increases

Engineering Contradiction:
Improvefree space requirementVSAvoidupdate package size
Core Design Contradiction:
Quantity of substanceVSWeight of moving object

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.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If both old and new versions are stored simultaneously, then patching can be performed, but disk space consumption increases

Engineering Contradiction:
Improvepatching capabilityVSAvoiddisk space consumption
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12487816B2Software updating
Publication Date: 2025.12.02 APPLE INC
  • US12487816B2 patent drawing
  • US12487816B2 patent drawing
  • US12487816B2 patent drawing

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.