Firmware Update Optimizer for Bandwidth-Constrained IoT Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware over-the-air (FOTA) systems face challenges in efficiently updating devices due to limited bandwidth, power consumption, and the need for a common processing technique, which can lead to inaccurate update records and data transfer issues when multiple servers access devices with varying firmware configurations.

Innovation Solution

A software update system that includes a client updating server and a device capability manager to optimize updates by determining an organizational scheme compatible with the device's technical capabilities, generating an update package, and communicating it efficiently, thereby reducing the need for device interrogation and minimizing data transfer risks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the content server processes updates using a packaging algorithm to account for limited bandwidth, then the update transmission efficiency is improved, but the device complexity increases as it must reverse the processing to use the update

Engineering Contradiction:
Improveupdate transmission efficiencyVSAvoiddevice processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs self-service by having the device autonomously determine its supported processing techniques and communicate this capability information to the content server. The device independently identifies suitable packaging algorithms based on its own capabilities without requiring server-side interrogation, thereby reducing overall system complexity while maintaining efficient update transmission.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If the content server interrogates the device to identify processing techniques, then the update compatibility is improved, but the power consumption increases due to device data transmission

Engineering Contradiction:
Improveupdate compatibilityVSAvoiddevice power consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system implements preliminary action by having the device pre-determine and store its supported processing techniques before the update process begins. The device proactively communicates this capability information to the content server in advance, eliminating the need for real-time interrogation during the update process and thereby reducing power consumption while ensuring compatibility.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If the content server maintains a record of update status and version, then the update tracking accuracy is improved, but the system reliability decreases when multiple servers access devices with varying firmware configurations

Engineering Contradiction:
Improveupdate status tracking accuracyVSAvoidupdate record accuracy
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system employs feedback mechanisms where the device actively communicates its current firmware configuration and supported processing techniques to the content server. This continuous feedback loop enables the server to maintain accurate and up-to-date records of update status and version information, ensuring reliability even when multiple servers are involved or when devices have varying configurations.

Inventive Principle:
Principle #23Feedback

4Ease of manufacture

If the system uses a common processing technique for all devices, then the update process simplicity is improved, but the adaptability decreases when devices have varying firmware configurations and capabilities

Engineering Contradiction:
Improveupdate process simplicityVSAvoiddevice capability adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system implements dynamics by allowing the content server to dynamically select and switch between different processing techniques based on the specific device capabilities and firmware configurations detected during the update process. This dynamic adaptation enables the system to maintain simplicity through automated selection while achieving high adaptability to varying device requirements without manual configuration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10101990B2Software update system, firmware over the air updating system and method of updating a client device
Publication Date: 2018.10.16 U-BLOX
  • US10101990B2 patent drawing
  • US10101990B2 patent drawing
  • US10101990B2 patent drawing

AI summary

A software update system comprises: a client device (104) having non-OS system software (110) to be updated, a client updating server (102) located remotely from the client device (104) and capable of communicating with the client device (104), and a device capability manager (126) accessing capability data relating to the client device (104). The updating server (102) retrieves a first update required to update at least part of the software (110). The updating server (102) comprises an update optimizer (124) that cooperates with the device capability manager (126) to determine an organizational scheme to apply to the first update to optimize updating of the client device. The organizational scheme is compatible with a technical capability of the client device (104), and the update optimizer (124) identifies a recovery function to recover the first update from an instance of the first update organized in accordance with the selected organizational scheme. The device capability manager (126) uses the capability data to determine necessary functionality required to implement the recovery function identified. The updating server (102) comprises an update package generator (116) responsive to the update optimizer (124) to generate an update package comprising a second update to enable the client device (104) to support the recovery function.