External Storage BSDIFF Patching Under Embedded RAM Limits

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

VSEngineering 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

Engineering Contradiction:
Improvetransfer timeVSAvoidRAM space
Core Design Contradiction:
Loss of timeVSQuantity of substance

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvedelta imaging capabilityVSAvoidpatch file size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If internal RAM is used for patch application, then processing speed is maintained, but storage space is insufficient

Engineering Contradiction:
Improvepatch application speedVSAvoidstorage space
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If patch file size is reduced through compression, then storage space is saved, but transfer time increases

Engineering Contradiction:
Improvepatch file sizeVSAvoidtransfer time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4202648A1Bsdiff delta upgrade in external storage
Publication Date: 2023.06.28 HONEYWELL INTERNATIONAL INC
  • EP4202648A1 patent drawingFigure 1
  • EP4202648A1 patent drawingFigure 2
  • EP4202648A1 patent drawingFigure 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.