IoT Service Manager for Container I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current container-based virtualization systems, such as Docker, lack support for guaranteed I/O performance metrics like bandwidth and throughput, which are essential for IoT applications, limiting their ability to meet performance criteria.

Innovation Solution

The introduction of an IoT service manager that provisions extended resources, including guaranteed bandwidth and CPU shares, to IoT containers, acting as a proxy for container engines like Docker, to dynamically allocate and manage these resources, ensuring enhanced I/O performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If container-based virtualization systems like Docker are used for IoT applications, then resource efficiency and rapid deployment are improved, but guaranteed I/O performance metrics like bandwidth and throughput are not provided

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidI/O performance guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer between the container engine and the host system that acts as a resource broker. This intermediary translates container resource requests into host resource allocations, ensuring that I/O performance metrics are guaranteed while maintaining container deployment efficiency. The intermediary monitors and manages resource allocation dynamically without requiring changes to the container runtime.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If extended resources like guaranteed bandwidth and CPU shares are provisioned to containers, then I/O performance is enhanced, but system complexity increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidresource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service mechanisms where the resource broker automatically negotiates and allocates extended resources based on container requirements and host availability. The broker autonomously manages resource provisioning, monitoring, and adjustment without requiring manual intervention or complex configuration by system administrators. This automation reduces operational complexity while ensuring I/O performance guarantees.

Inventive Principle:
Principle #25Self-service

3Reliability

If service-defined containers with extended resources are implemented, then performance criteria are met, but compatibility with existing container engines is reduced

Engineering Contradiction:
Improveperformance criteria complianceVSAvoidcontainer engine compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the resource management functionality into distinct modular components: a resource broker layer, resource allocation modules, and monitoring components. This segmentation allows the extended resource management features to be added as an independent layer that works with existing container engines without modifying their core functionality. The modular architecture enables gradual adoption and maintains compatibility while enhancing performance capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3347816B1Extension of resource constraints for service-defined containers
Publication Date: 2022.02.23 HUAWEI TECH CO LTD
  • EP3347816B1 patent drawingFigure 1
  • EP3347816B1 patent drawingFigure 2
  • EP3347816B1 patent drawingFigure 3

AI summary

A method comprising receiving, by a processing thread executing on a host server, a container request to create a container on the host server by employing a container engine, wherein the container request indicates a first resource constraint and a second resource constraint for executing an application within the container, directing, by the processing thread, the container engine to create an operating environment for the container according to the first resource constraint and to execute the container on the host server, reserving, by the processing thread, a first resource from an operating system (OS) of the host server according to the second resource constraint of the container request, and updating dynamically, by the processing thread, the operating environment of the container to enable the container to directly utilize the reserved first resource for execution of the application to meet the second resource constraint of the container request.