Central Dispatch Unit for Embedded Device Software Updates

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

VSEngineering 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

Engineering Contradiction:
Improveupdate capabilityVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvebandwidth consumptionVSAvoidupdate agent complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If a large number of embedded devices update simultaneously, then system-wide updates are achieved, but communication load on the interconnection increases

Engineering Contradiction:
Improveupdate throughputVSAvoidcommunication bandwidth
Core Design Contradiction:
ProductivityVSLoss of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11256494B2ECU and peripherals update using central dispatch unit
Publication Date: 2022.02.22 RED BEND LTD
  • US11256494B2 patent drawing
  • US11256494B2 patent drawing
  • US11256494B2 patent drawing

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.