Binary Update File Mapping for Low-Bandwidth IoT Software Updates

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

VSEngineering 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

Engineering Contradiction:
Improvequantity of data transmittedVSAvoiddecompression means complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improveupdate process simplicityVSAvoidquantity of data transmitted
Core Design Contradiction:
Ease of operationVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvememory mapping implementationVSAvoiddata transmitted in update file
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20260104886A1Method for generating an update file and corresponding server device, updating method and corresponding client device, updating method and corresponding system
Publication Date: 2026.04.16 STMICROELECTRONICS (ROUSSET) SAS
  • US20260104886A1 patent drawing
  • US20260104886A1 patent drawing
  • US20260104886A1 patent drawing

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.