Base Image Patching for Software Version Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software updating methods require multiple patches for different versions of a program, leading to increased patch size and inefficiency, while existing solutions lack a method to update programs from a single patch file effectively.
Innovation Solution
The method involves using a base image and an updating patch to create an updated program, where the base image corresponds to a base version of the program, and the patch includes accumulative information to perform updates, allowing for the creation of an updated program that can replace the previous version, enabling updates for multiple versions with a small patch size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a multi-version patch method is used to update multiple versions of a program, then the flexibility in terms of program version requirements is improved, but the overall size of the patch increases
Solution Approach 1:
The patent segments the patching process into two components: a base image containing common code for multiple versions and version-specific patches containing only the differences. This segmentation allows the system to maintain flexibility across multiple versions while minimizing patch size by excluding redundant common code from each individual patch.
Solution Approach 2:
The base image serves as a universal component that can be combined with different version-specific patches to create multiple program versions. This multi-functionality allows a single base image to support multiple versions, providing flexibility without requiring separate complete patches for each version.
2Quantity of substance
If a single-version patch method is used for updating a particular version of a program, then the patch size is reduced, but the ability to update multiple versions with a single patch is lost
Solution Approach 1:
The patent divides the patching approach into a reusable base image and version-specific patches. The base image contains common code that is shared across versions, while only the version-specific differences are included in individual patches. This segmentation enables small patch sizes for each version while maintaining the capability to update multiple versions using the same base image.
Solution Approach 2:
The base image is prepared in advance as a pre-compiled common code base that can be quickly combined with different version-specific patches. This preliminary preparation allows for rapid updates across multiple versions without requiring re-compilation of the entire program, thus maintaining small patch sizes while enabling multi-version updates.
3Productivity
If traditional patching methods are used to update programs, then the updating process is straightforward, but the efficiency and flexibility of updating multiple versions is reduced
Solution Approach 1:
The patent segments patch management into a base image storage system and a patch application system. The base image is stored once and can be quickly combined with different version-specific patches. This segmentation dramatically improves update efficiency by avoiding redundant processing while simplifying patch management through a clear separation of common and version-specific components.
Solution Approach 2:
The patent changes the parameter of how patches are structured and applied. Instead of distributing complete version-specific patches, the system uses a base image parameter that can be dynamically combined with version-specific patch parameters. This parameter change enables efficient multi-version updates while reducing the complexity of managing multiple complete patches.
Data Source
AI summary
Systems and methods are disclosed for updating a software program through base image patching. In an exemplary method for base image patching, the method includes receiving a patch, retrieving a base image, wherein the base image corresponds to a base version of a software program, and combining the base image with the patch to create an updated program. In another exemplary method, the method includes receiving an updating patch, wherein the updating patch is used to create an updated software program, retrieving a patch from a repository, wherein the patch is a previous update to a stored program, distilling a base image of the stored program using the previous patch, combining the base image with the updating patch to create an updated program, and replacing the stored program with the updated program.


