Intermediate Update Relay for Agentless IoT Device Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating end devices, such as drones and IoT devices, are hindered by the lack of sufficient processing resources and storage to execute an update agent, and require pre-deployment of update agents, which complicates manufacturing and maintenance.

Innovation Solution

A communal computing device communicates with end devices to obtain metadata, selects an appropriate update server, and updates the devices with the necessary code, either using a delta or full version, without the need for a pre-installed update agent, thereby reducing resource requirements and simplifying the update process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If an update agent is pre-deployed on each end device, then the device can autonomously perform updates, but the device requires additional processing resources and storage capacity

Engineering Contradiction:
Improveautonomous update capabilityVSAvoidprocessing resources and storage
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The update agent functionality is extracted from the end device and relocated to a remote server. The end device only retains minimal update client software, while the complex update management, metadata processing, and update execution are performed remotely by the server, thereby reducing the resource burden on the end device.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A remote update server acts as an intermediary between the end device and the update source. The server retrieves update metadata, selects appropriate updates, and manages the update process, allowing the end device to perform updates without having a full update agent installed locally.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple update servers are used, then update availability and reliability are improved, but the complexity of selecting the appropriate server increases

Engineering Contradiction:
Improveupdate availabilityVSAvoidserver selection logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The update server system performs self-selection based on metadata. Each server publishes its capabilities and supported device types in metadata, and the update client automatically matches the device characteristics with the appropriate server without requiring complex manual selection logic or hierarchical decision-making.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses metadata parameters (device type, update type, server capabilities) to dynamically select the appropriate server. This parameter-based matching simplifies the selection process compared to complex hierarchical or manual selection mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Loss of substance

If delta updates are used instead of full updates, then the amount of data transferred is reduced, but additional processing is required to apply the delta

Engineering Contradiction:
Improvedata transfer volumeVSAvoidupdate application time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The system applies partial updates (delta updates) instead of complete updates. Only the necessary portions of the update are transferred and applied to the end device, reducing data transfer requirements while the server handles the complexity of delta generation and application.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4318218A1Intermediate device for updating a client using a plurality of servers
Publication Date: 2024.02.07 RED BEND LTD
  • EP4318218A1 patent drawingFigure 1
  • EP4318218A1 patent drawingFigure 2
  • EP4318218A1 patent drawingFigure 3

AI summary

There is provided a system for updating each of a plurality of mobile devices, comprising: at least one processor executing a code for: obtaining metadata from an end device without an updating agent deployed thereon, selecting an update server from a plurality of update servers according to the metadata, obtaining, from the update server, an indication of update code for installation on the end device, and updating the end device with the update code.