External Storage BSDIFF Patching Under Embedded 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, necessitating a reduction in patch file size and enabling in-place patching.
Innovation Solution
A method involving run length encoding before compression to reduce patch file size, combined with redirecting input and output to arbitrary storage using memory caches to manage RAM shortages, allowing the patching algorithm to work directly on encoded files and overlap storage areas.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the BSDIFF delta image algorithm is used, then transfer time is reduced, but RAM space requirements exceed available embedded memory
Solution Approach 1:
The patent moves the patch application process from internal RAM to external storage (flash memory, hard drive, or other arbitrary storage locations). This dimensional shift allows the algorithm to access patch files and perform operations outside the constrained RAM environment, enabling embedded systems to utilize the BSDIFF algorithm despite limited internal memory resources.
2Adaptability or versatility
If the BSDIFF algorithm produces a patchfile, then delta imaging is achieved, but the patchfile size is larger than input files leading to space constraints
Solution Approach 1:
The patent applies run-length encoding to the patch file before compression. This preliminary encoding step reduces the size of repetitive sequences in the patch data, resulting in a smaller final compressed patch file that can be stored and transferred more efficiently in space-constrained embedded environments.
3Productivity
If internal RAM is used for patch application, then processing speed is maintained, but storage space is insufficient
Solution Approach 1:
The patent introduces external storage and a file system interface as intermediaries between the processor and the patch data. This allows the system to maintain patch application functionality while using abundant external storage space instead of limited internal RAM, effectively decoupling processing requirements from storage constraints.
4Quantity of substance
If patch file size is reduced through compression, then storage space is saved, but transfer time increases
Solution Approach 1:
The patent applies run-length encoding before compression to reduce the amount of data that needs to be compressed. This preliminary step decreases the computational workload and processing time required for compression, resulting in a more efficient overall process that achieves both size reduction and acceptable transfer speeds.
Data Source
Figure 1
Figure 2
Figure 3
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.