Unrelocation Table for Delta Updates on Constrained Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for delta updates in constrained devices face challenges in achieving small memory and processing requirements, as they need to store and process symbol tables, relocation tables, and relocatable code, which leads to increased storage space and processing capacity demands, making them unsuitable for devices with limited resources.
Innovation Solution
The method involves generating an unrelocation table based on a symbol table and a relocation table associated with relocatable code, allowing the device to reconstruct the necessary tables and code for delta updates without requiring storage of the entire symbol table, relocation table, and relocatable code, thereby reducing memory requirements and processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If symbol tables, relocation tables, and relocatable code are stored on the device to enable delta updates, then delta update capability is achieved, but memory requirements and processing capacity increase
Solution Approach 1:
The patent extracts only the essential information needed for delta updates from the complete symbol tables and relocation tables. Instead of storing the full tables, the system generates a condensed representation that contains only the data necessary to apply updates, thereby reducing memory requirements while maintaining delta update capability.
Solution Approach 2:
The patent segments the delta update process into distinct phases: initial full program installation, generation of condensed update information, and application of deltas. This segmentation allows the device to avoid storing complete symbol tables and relocation tables continuously, reducing memory requirements while enabling delta updates when needed.
2Reliability
If symbol tables, relocation tables, and relocatable code are stored on the device to enable delta updates, then delta update capability is achieved, but processing capacity demands increase
Solution Approach 1:
The patent extracts and removes unnecessary processing complexity by generating a simplified representation of symbol and relocation information. This extracted form requires less processing power to manipulate during delta updates, reducing the processing capacity demands on constrained devices while maintaining update functionality.
Solution Approach 2:
The patent performs preliminary processing to generate condensed symbol and relocation information during the initial program installation or in advance of updates. This preliminary action prepares the data in a form that requires minimal processing during actual delta updates, thereby reducing processing capacity demands during the critical update application phase.
3Adaptability or versatility
If conventional delta update methods are used on constrained devices, then update functionality is provided, but storage space requirements increase
Solution Approach 1:
The patent extracts only the essential delta information needed for updates from the complete program structure. By removing unnecessary data and keeping only the critical update components, the system achieves full update functionality while significantly reducing the storage space required on constrained devices.
Solution Approach 2:
The patent applies partial action by implementing only the necessary components for delta updates rather than maintaining complete symbol tables and relocation tables. This selective approach provides sufficient update functionality for constrained devices without the excessive storage requirements of conventional methods.
Data Source
AI summary
A device, device initialisation and method of installing a delta update of executable code on a device, the method comprising: generating an unrelocation table based upon a symbol table and a relocation table associated with relocatable code by: identifying an entry in the relocation table that references a symbol in the symbol table; and storing in the unrelocation table the relocated address of the identified entry in the relocation table; generating a first executable program code based upon the symbol table, the relocation table, and the relocatable code; and storing the first executable program code and the unrelocation table on the device.


