Software Deployment on Heterogeneous Edge Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If capability determination processes are executed centrally by the orchestrator, then coordination is improved, but processing time increases
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.
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.
3Measurement precision
If comprehensive benchmarks are executed to determine device capabilities, then measurement precision is improved, but device resources are consumed
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.
Data Source
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.


