Dynamic Binary Diff Generation for IoT Update Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automatic updating techniques face challenges with large and complex systems, particularly in IoT environments, due to the size of updates, limited storage space, and bandwidth constraints, leading to inefficient processing and storage of multiple software configurations.

Innovation Solution

A dynamic update management system that generates binary diffs or less-than-full-size updates on-demand in response to update requests, reducing computational, transmission, and storage costs by using a diff generation subsystem, update request subsystem, and diff installers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full-size software updates are transmitted to devices, then complete update functionality is provided, but transmission bandwidth is consumed and storage space is required

Engineering Contradiction:
Improveupdate completenessVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the essential difference data (binary diff) between old and new software versions, separating the update transmission into two parts: the existing software on devices and the minimal difference patch. This extraction principle reduces transmission bandwidth consumption while maintaining update completeness, as only the changed portions are transmitted rather than full software images.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The update process is segmented into multiple components: hash value transmission, difference data generation, and selective patch application. The software update is divided into identifying what needs updating (via hash comparison) and transmitting only those specific differences, rather than transmitting complete software images regardless of what changed.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple software configurations are maintained for different device types, then device-specific update accuracy is achieved, but system complexity increases

Engineering Contradiction:
Improvedevice configuration coverageVSAvoidnumber of patch installers
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal difference data generation system that handles multiple device types and software configurations through a single centralized service. The binary diff generation subsystem can process requests from any device type by comparing hash values, eliminating the need to pre-create and maintain separate patch installer packages for each device configuration combination.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically generates difference data based on actual device states rather than pre-defining all possible update paths. When a device requests an update, the system compares the device's current software hash with available versions and generates the specific difference data needed, adapting to each device's unique configuration rather than following a static update matrix.

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If binary diff technology is used to reduce update size, then transmission efficiency improves, but computational resources are consumed for diff generation

Engineering Contradiction:
Improvetransmission bandwidthVSAvoidcomputational processing
Core Design Contradiction:
Loss of energyVSUse of energy by moving object

Solution Approach 1:

The patent introduces a centralized binary diff generation subsystem as an intermediary between the software repository and devices. This intermediary performs the computationally intensive difference data generation on the server side rather than on resource-constrained devices, transferring the computational burden from the edge (devices) to the cloud (server infrastructure).

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9940122B2Dynamic data difference generation and distribution
Publication Date: 2018.04.10 INTEL CORP
  • US9940122B2 patent drawing
  • US9940122B2 patent drawing
  • US9940122B2 patent drawing

AI summary

A method of updating data may include receiving an update request from a computing device, the update request including a profile of a current set of data stored on the computing device; determining, based at least in part on the profile of the current set of data, an updated set of data is available; determining if a delta set of data has previously been generated to transform the current set of data to the updated set of data; and based on determining that the delta set of data has not been previously generated: generating the delta set of data; and transmitting an address, to the computing device, for obtaining the delta set of data by the computing device.