Containerized Protocol Deployment on Low-Resource Embedded Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deploying and managing firmware on embedded devices, such as IoT devices, is challenging due to varying hardware and software requirements across different types of sensors and devices, leading to complex deployment and management of new or updated firmware, especially in devices with low-compute and low-memory resources.

Innovation Solution

A method for deploying containerized applications on embedded devices involves generating hardware abstraction layers (HALs) and container runtime environments (CREs) that are compatible with specific hardware, allowing for unified development across disparate devices, reducing overhead and enabling remote updates without altering existing firmware, thus providing agile reconfiguration and secure deployment of compute capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If containerized applications are deployed on embedded devices with low-compute and low-memory resources, then application versatility and ease of deployment are improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improveapplication deployment versatilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct components: a container runtime environment that manages containerized applications, a hardware abstraction layer that interfaces with device-specific hardware, and the containerized applications themselves. This segmentation allows each component to be optimized independently, reducing overall system complexity while maintaining versatility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hardware abstraction layer is introduced as an intermediary between the container runtime environment and the embedded device hardware. This intermediary provides standardized interfaces that simplify deployment across different device types while accommodating hardware-specific requirements, thereby reducing system complexity without sacrificing adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If hardware-specific firmware is used for each embedded device type, then device compatibility is improved, but deployment complexity and management overhead increase

Engineering Contradiction:
Improvedevice compatibilityVSAvoidfirmware management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The container runtime environment provides universal functionality across different embedded device types. Instead of developing separate firmware for each device, the same containerized applications can be deployed across multiple device types by leveraging device-specific hardware parameters and capabilities defined in hardware profiles, thereby reducing firmware management complexity while maintaining broad device compatibility

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system accommodates hardware-specific requirements by dynamically adjusting parameters such as available memory, CPU capabilities, and hardware interfaces based on the target device's hardware profile. This parameter-based adaptation allows a single containerized application to function across diverse device types without requiring device-specific firmware modifications

Inventive Principle:
Principle #35Parameter changes

3Reliability

If traditional firmware deployment methods are used, then device-specific optimization is improved, but update speed and agility decrease

Engineering Contradiction:
Improvedevice performance optimizationVSAvoidfirmware update speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables dynamic updates of containerized applications without requiring full firmware redeployment. Containerized applications can be independently updated, installed, or removed while the underlying container runtime environment and hardware abstraction layer remain unchanged, significantly improving update speed and agility while maintaining device performance optimization

Inventive Principle:
Principle #15Dynamics

4Power

If container runtime environments are customized for each device type, then execution efficiency is improved, but development complexity and time increase

Engineering Contradiction:
Improveexecution efficiencyVSAvoiddevelopment complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

Hardware profiles and device capability definitions are prepared in advance during the development phase. These pre-defined hardware parameters and capabilities are stored and automatically matched to appropriate container runtime configurations during deployment, eliminating the need for custom container runtime development for each device type while maintaining execution efficiency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11875167B2Method for deploying containerized protocols on very small devices
Publication Date: 2024.01.16 ATYM INC
  • US11875167B2 patent drawing
  • US11875167B2 patent drawing
  • US11875167B2 patent drawing

AI summary

A method includes: accessing a set of hardware parameters characterizing an embedded device; identifying a set of supported container functions based on the set of hardware parameters; accessing a selection of container functions; identifying a set of selected container functions based on the selection of container functions and the set of supported container functions; generating a hardware abstraction layer (HAL) including a set of libraries supporting the set of selected container functions; generating a container runtime environment (CRE) configured to execute, at the embedded device, a containerized application via the HAL, the containerized application including the set of selected container functions; installing the HAL and the CRE onto the embedded device; installing the containerized application onto the embedded device via the CRE; and at the embedded device, executing the containerized application via the CRE and the HAL.