Binary Update File Mapping for Low-Bandwidth IoT Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software update techniques are inefficient in terms of energy consumption and bandwidth usage, particularly in IoT devices with limited network bandwidth, as they transmit unnecessary data and require significant decompression resources.
Innovation Solution
A method for generating an update file that only includes binary differences between software versions, using exclusive or operations to map and combine memory locations, allowing direct in-memory updates without requiring large buffer spaces or complex decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional compression techniques (ZIP, RAR) are used to reduce update file size, then the quantity of data transmitted is reduced, but the device complexity increases due to requiring decompression means that represent 10% to 15% of the code in memory
Solution Approach 1:
The patent extracts only the essential modification information from the binary file, storing merely the offset positions and length of modified regions rather than complete compressed data. This eliminates the need for complex decompression algorithms while still achieving data reduction, as the update file contains only minimal metadata about what needs to be updated.
Solution Approach 2:
Instead of using complex compression algorithms, the patent creates a simplified copy of the modification information that can be directly applied to the original binary. The update file is essentially a lightweight metadata structure that references specific regions in the original binary, avoiding the need for decompression while preserving the essential update information.
2Ease of operation
If the entire binary file is transmitted for updating, then the update process is simple, but the quantity of data transmitted increases significantly, consuming more energy and bandwidth
Solution Approach 1:
The patent extracts only the necessary modification metadata from the binary file, creating an update file that contains merely offset and length information about modified regions. This extracted metadata is sufficient to perform updates without transmitting the entire binary, significantly reducing data transmission while maintaining update effectiveness.
Solution Approach 2:
The patent segments the binary file into distinct regions and identifies only those regions that have been modified. By segmenting the update process into targeted regional updates rather than full-file replacement, the system transmits only the minimal necessary information (offsets and lengths of modified segments) rather than the entire binary file.
3Ease of manufacture
If conventional memory mapping mechanisms are used, then memory locations are assigned to successive functions, but all following memory regions are offset when a modification changes the size of a function's memory region, causing unnecessary data transmission
Solution Approach 1:
The patent performs preliminary mapping of memory locations for the new binary version before comparing it with the old version. By establishing the memory location map in advance, the system can identify exactly which memory regions have changed and transmit only those specific regions, avoiding the cascading offset problem where modifications to one function's size would require updating all subsequent functions' memory locations.
Data Source
AI summary
A server builds an update file to update software. The server compiles source code of an updated version of the software, generating a binary file of the updated version of the software. Memory locations are mapped to sections of the binary file based on mappings of sections of a binary file of a prior version of the software. Bits of sections of a plurality of sections of the binary file of the prior version are logically combined, bit-by-bit, with bits of corresponding sections of the binary file of the updated version. The logically combining includes: applying an exclusive or operation; or applying an exclusive nor operation. The update file is built based on the mapping of the memory locations and on results of the logical combining.


