BSDIFF Delta Patching on External Storage Under RAM Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The BSDIFF delta image algorithm is not suitable for embedded environments due to limited RAM space and produces patch files that are larger than input files, leading to space constraints in applications where patching needs to occur in place.
Innovation Solution
A method that involves applying delta images and run length encoding to reduce patch file size, redirecting input and output to arbitrary storage, and utilizing memory caches to manage decompressed images, allowing the patching algorithm to work directly on encoded files and overlap storage areas.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If the BSDIFF delta image algorithm is used, then patch file compression is improved, but the patch file size becomes larger than input files
Solution Approach 1:
The patent changes the working parameters of the BSDIFF algorithm by implementing it to operate directly on compressed files without full decompression. This modifies the algorithm's execution parameters to work with compressed data streams, thereby producing smaller patch files that are more space-efficient while maintaining the delta imaging functionality.
Solution Approach 2:
The patent applies compression to the input files before the patching process. By pre-compressing the source and target images, the subsequent delta calculation operates on compressed data, which reduces the intermediate patch file size and eliminates the need to store large uncompressed patches.
2Loss of time
If the BSDIFF delta image algorithm is used, then transfer time is reduced, but RAM space requirements increase
Solution Approach 1:
The patent pre-compresses the input images before performing delta calculation. This preliminary compression step reduces the size of data that needs to be loaded into RAM during the patching process, thereby reducing RAM space requirements while maintaining fast transfer times through efficient compressed data processing.
Solution Approach 2:
The patent implements the delta imaging process to work in segments on compressed data streams rather than loading entire compressed files into memory. By processing the data in manageable chunks and maintaining compression throughout the process, RAM usage is significantly reduced while transfer efficiency is preserved.
3Manufacturing precision
If the patching algorithm works on decompressed images, then patching accuracy is improved, but storage space requirements increase
Solution Approach 1:
The patent fundamentally changes the operational parameter of the patching algorithm from working on decompressed images to working directly on compressed images. This parameter change maintains patching accuracy by ensuring the algorithm operates on the actual compressed data format, while simultaneously reducing storage space requirements by eliminating the need to store large uncompressed image copies.
Data Source
AI summary
A method includes inputting a decompressing compressed image in a computing device. The method also includes applying one or more delta images by a processor to reduce a transfer time for the inputted and decompressed patch image. The method also includes performing one or more calls to a system of memory caches for reads and writes of the decompressed patch image and additional input and output due to a shortage of space in an internal random-access memory (RAM). The method also includes locating arbitrary storage to redirect the decompressed patch image and the additional input and output. The method also includes redirecting the inputted decompressed patch image and the additional input and output to the arbitrary storage.


