Container Emulator for Kubernetes: Single-VM Application Hosting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing container-based application deployment in computing environments, particularly in Kubernetes, is hindered by resource overhead due to the instantiation of separate virtual machines and daemons for each application instance, which limits scalability, especially in resource-constrained environments like edge servers.
Innovation Solution
Implementing a container emulator that emulates container functionality using a single virtual machine to manage multiple application instances, reducing the need for separate virtual machines and daemons, and utilizing a container runtime interface to manage these instances efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate virtual machines and daemons are instantiated for each application instance in Kubernetes, then application isolation and management are improved, but computing resource consumption increases and scalability is limited
Solution Approach 1:
The patent merges multiple application instances into a single shared virtual machine environment. Instead of creating separate VMs for each application instance, the system allows multiple instances to coexist within one VM, sharing underlying computing resources while maintaining logical isolation through containerization techniques. This directly reduces computing resource consumption while preserving application isolation.
Solution Approach 2:
The patent implements a universal VM infrastructure that can host multiple different application instances simultaneously. A single VM is designed to perform multiple functions by running different application workloads, rather than being dedicated to a single application. This multi-functionality approach maximizes resource utilization and reduces overall computing resource requirements.
2Ease of operation
If separate virtual machines are instantiated for each application instance, then application management is simplified, but device complexity increases
Solution Approach 1:
The patent introduces a container management layer as an intermediary between the VM infrastructure and application instances. This intermediary layer provides simplified management interfaces and abstractions, allowing applications to be managed uniformly regardless of whether they run in dedicated VMs or shared environments. The intermediary handles resource allocation, isolation, and lifecycle management, reducing the perceived complexity for users.
3Productivity
If containers are instantiated and transmitted to hosts for execution, then application deployment is achieved, but deployment speed is reduced due to transmission delay
Solution Approach 1:
The patent performs preliminary actions by pre-positioning application images and necessary resources in the target environment before actual deployment is needed. Application images are stored locally in the VM environment, and resources are pre-configured, so when deployment is requested, the system can quickly instantiate applications without waiting for image transmission or resource provisioning. This significantly reduces deployment time while maintaining full deployment capability.
Data Source
AI summary
A host receives a request to instantiate a plurality of containers, such as a host of a KUBERNETES pod. The host instantiates application instances of the plurality of containers within a single virtual machine without instantiating the plurality of containers. The CRI for the containers is a container emulator that maintains simulated states for the containers and responds to instructions for the containers. The container emulator performs binding of application instances to processors and the monitoring and reporting of usage information, such as processor time.


