Central Dispatch Unit for Embedded Device Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Embedded devices with limited memory resources face challenges in updating software and firmware due to the requirement for significant memory resources, making traditional update methods inefficient or impossible, especially in systems with a large number of devices.
Innovation Solution
A central dispatch device provides a transient update agent to embedded devices, which executes the agent to apply update packages and then discards it, allowing for differential updates and reducing memory requirements, while the central dispatch device manages update sessions and stores updated packages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional update methods are used where embedded devices store permanent update agents locally, then update capability is provided, but memory resources are excessively consumed
Solution Approach 1:
The update agent is extracted from the embedded device's permanent memory and relocated to a central dispatch device. The embedded device only retains a minimal bootstrap loader, while the full update agent is stored externally and loaded temporarily during update operations. This extraction resolves the memory resource consumption issue while maintaining update capability.
Solution Approach 2:
A central dispatch device is introduced as an intermediary between the update source and embedded devices. This mediator holds the update agent and manages the update process, allowing embedded devices to perform updates without permanently storing the update agent themselves. The intermediary resolves the contradiction by providing update capabilities externally.
2Loss of substance
If differential updates are implemented to reduce update package size, then bandwidth consumption is reduced, but update agent complexity increases requiring more memory
Solution Approach 1:
The complex differential update processing logic is extracted from the embedded device and placed in the central dispatch device. The embedded device only needs to receive and apply patches, while the dispatch device performs the complex operations of calculating differences, preparing patch packages, and managing the update process. This resolves the memory constraint while enabling bandwidth-efficient differential updates.
3Productivity
If a large number of embedded devices update simultaneously, then system-wide updates are achieved, but communication load on the interconnection increases
Solution Approach 1:
Multiple embedded devices are merged into a single update session managed by the central dispatch device. Instead of each device independently downloading full update packages, the dispatch device maintains a single copy of the update agent in memory and serves all devices from this shared resource. This combining approach maintains high update throughput while dramatically reducing communication bandwidth consumption.
Data Source
AI summary
A computer implemented method of updating software of embedded devices connected to a central dispatch device, comprising using one or more processors of a central dispatch device, the processor(s) are adapted for executing a code for obtaining a respective update package for one or more of a plurality of embedded devices which are operatively connected to the central dispatch device via a communication interconnection, transferring a transient update agent to the embedded device(s) and transferring the update package to the embedded device(s), the one or more embedded devices execute the transient update agent to apply the update package in the one or more embedded devices. The one or more embedded devices discard the transient update agent after the update package is applied.


