Firmware Update Optimizer for Bandwidth-Constrained IoT Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
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
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.
Data Source
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.


