Delta File with Reversing Data for Firmware Rollback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data file update methods, such as delta differencing, do not support reversible updates, making it time-consuming and inefficient to revert to a previous data file, especially in memory-constrained devices like system-on-chip devices, where rolling back to an old firmware can require additional data transfers.
Innovation Solution
A delta file is generated with reversing data that allows regeneration of the source file from the target file, using copy, XOR, and other instructions to identify binary strings and encode data, enabling efficient and reversible updates without requiring additional data transfers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a complete replacement data file is sent to the device, then the update can be applied, but a large amount of data must be transmitted which is time-consuming and increases transmission error risk
Solution Approach 1:
The patent extracts only the essential information needed for the update by using data differencing to generate a delta file. Instead of transmitting the complete replacement data file, only the differences (delta) between the existing and new files are transmitted. This extraction principle reduces transmission data volume while maintaining update effectiveness.
Solution Approach 2:
The patent uses copying by transmitting a reference to the existing data file (source file) that already resides on the device. The delta file contains instructions that reference portions of the existing file, allowing the device to reconstruct the new file by copying relevant portions from the existing file and applying the delta instructions. This eliminates the need to transmit redundant data that already exists on the device.
2Quantity of substance
If the old data file is overwritten with the new data file, then memory space is saved, but rolling back to the old data file requires further time-consuming data transfers
Solution Approach 1:
The patent applies preliminary action by including reversing data in the delta file during the update process. This reversing data contains the information needed to reconstruct the original source file from the target file. By preparing this reversal capability in advance (as part of the update), the system enables quick rollback without requiring additional data transfers, thus resolving the contradiction between memory savings and rollback time.
3Loss of time
If a delta file is used to communicate differences, then the data transmission size is reduced, but the ability to revert to the old file is lost
Solution Approach 1:
The patent applies universality by designing the delta file to serve multiple functions: it can be used both to generate the new target file from the source file (forward update) and to regenerate the source file from the target file (backward rollback). The inclusion of reversing data makes the delta file universally applicable for both update directions, maintaining adaptability while keeping transmission size small.
4Adaptability or versatility
If reversing data is included in the delta file, then rollback capability is enabled, but the delta file size increases
Solution Approach 1:
The patent extracts only the essential reversing information needed for rollback rather than including complete redundancy. The reversing data in the delta file contains precisely the minimum necessary information to reconstruct the source file from the target file, avoiding unnecessary data inclusion. This selective extraction enables rollback capability while minimizing the increase in delta file size.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A processing system (1) is configured to process instructions in a delta file, received at an input (7) of the processing system (1), to generate a target file from a source file and to regenerate the source file from the target file. The delta file comprises copy instructions and reversing data. The copy instructions instruct the processing system (1) to include one or more copy strings from the source file in the target file. The reversing data is received as part of the delta file and is used to regenerate all of the source file that is outside the one or more copy strings. The processing system (1) is configured to generate the target file from the source file by reading the copy strings from the source file and including them in the target file. The processing system is further configured to regenerate the source file from the target file by reading the copy strings from the target file and including them in the regenerated source file and using the reversing data to include, in the regenerated source file, all of the source file that is outside the one or more copy strings.