Software Deployment on Heterogeneous Edge Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deploying software on heterogeneous devices with varying computational capabilities in edge computing environments is challenging due to differences in hardware and software features, leading to potential performance degradation or incorrect behavior, especially when Quality of Service (QoS) requirements need to be met.

Innovation Solution

A method that involves a centralized orchestrator initiating a connection with devices to determine their capabilities through benchmarks, allowing for decentralized execution and decision-making on software deployment, using intermediate bytecode formats like WebAssembly to ensure compatibility across different architectures, and utilizing a local coordinator to communicate with the orchestrator for efficient resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software is deployed on heterogeneous devices with different computational capabilities, then device utilization is improved, but performance degradation occurs due to mismatched capabilities

Engineering Contradiction:
Improvedevice utilizationVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs capability determination before deployment by executing benchmarks on target devices to assess their computational capabilities. This preliminary action enables the orchestrator to make informed deployment decisions and select appropriate software versions that match device capabilities, preventing performance degradation before it occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of software version selection based on device capability parameters. By determining device capabilities through benchmarks and then selecting software versions accordingly, the system adapts software deployment to match specific device parameters, ensuring optimal performance across heterogeneous devices.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If capability determination processes are executed centrally by the orchestrator, then coordination is improved, but processing time increases

Engineering Contradiction:
ImprovecoordinationVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The capability determination process is segmented between the orchestrator and individual devices. The orchestrator initiates and coordinates the process, while devices execute the actual benchmarks locally. This segmentation reduces the orchestrator's processing burden and time while maintaining centralized coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Devices perform self-assessment of their capabilities by executing benchmarks locally and reporting results to the orchestrator. This self-service approach eliminates the need for the orchestrator to perform time-consuming capability analysis, significantly reducing processing time while maintaining coordination.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If comprehensive benchmarks are executed to determine device capabilities, then measurement precision is improved, but device resources are consumed

Engineering Contradiction:
Improvecapability quantificationVSAvoiddevice resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system executes a set of predefined benchmarks that provide sufficient capability information for deployment decisions without exhaustively testing all possible device parameters. This partial action approach achieves adequate measurement precision while minimizing resource consumption on device batteries and processors.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240211241A1Method for carrying out a decision for upgrading and/or deploying software on multiple heterogenous devices
Publication Date: 2024.06.27 ROBERT BOSCH GMBH
  • US20240211241A1 patent drawing
  • US20240211241A1 patent drawing
  • US20240211241A1 patent drawing

AI summary

A method for carrying out a decision for upgrading and/or deploying software on multiple heterogenous devices. The method includes: receiving a request to upgrade and/or deploy software on at least one of the devices; initiating a connection to the at least one of the devices; initiating a process for determining at least one capability of the at least one connected device for executing the software, the initiating being carried out via the connection, the process being initiated for being executed by the at least one connected device; receiving a result of the initiated process; and carrying out the decision for the upgrade and/or deployment of the software based on the received result.