Container Runtime Shim for Transparent Process Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods struggle to transparently migrate executing containerized processes due to their dependencies on underlying operating systems, making it difficult to migrate processes without disrupting their execution.
Innovation Solution
A system and method that utilizes a container engine, modified container runtime process, shim process, proxy, and agent to instantiate and transparently migrate containerized processes across machines, decoupling the proxy and agent for network communication and maintaining continuous process execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional container runtime processes are used to migrate containerized processes, then the processes can be moved between machines, but the migration is not transparent and execution is disrupted because the operating system kernel cannot be migrated
Solution Approach 1:
The system segments the container runtime into multiple components: a modified container runtime process that remains on the source machine, a shim process that intercepts system calls, and an agent on the destination machine. This segmentation allows the containerized process to be migrated without migrating the entire operating system kernel, enabling transparent migration while maintaining continuous execution.
Solution Approach 2:
The shim process acts as an intermediary between the containerized process and the host operating system. It intercepts system calls from the containerized process and forwards them to the modified container runtime process, which manages the migration. This intermediary mechanism enables transparent migration by abstracting the complexity of kernel migration from the containerized process itself.
2Reliability
If virtual machines are used to provide all hardware and software resources, then processes can be migrated, but the device complexity and resource overhead increase significantly
Solution Approach 1:
The invention extracts only the necessary components for migration from the full virtual machine architecture. Instead of virtualizing all hardware and software resources, it extracts the container runtime process and shim process that are essential for managing containerized processes. This reduction in extracted components decreases device complexity while maintaining migration capability.
Solution Approach 2:
The modified container runtime process serves multiple functions: it manages container lifecycle operations, handles system call interception through the shim process, and coordinates migration between different machines. This multi-functionality reduces the need for separate specialized components, thereby reducing overall device complexity.
3Loss of energy
If containerized processes share the operating system kernel with other processes, then resource efficiency improves, but the ability to migrate processes transparently deteriorates because the kernel cannot be migrated
Solution Approach 1:
The invention adds a new dimension to container migration by introducing a user-space shim process layer between the containerized process and the host kernel. This allows migration to occur in the user space dimension without requiring kernel migration, thereby maintaining resource efficiency through kernel sharing while enabling transparent migration capability.
Data Source
AI summary
A method for instantiating and transparently migrating executing containerized processes includes receiving, by a container engine executing on a first machine, an instruction to instantiate a container image on the first machine, the container image including at least one process without including an operating system kernel. The container engine transmits, to a modified container runtime process, the instruction to instantiate the container image on the first machine. The modified container runtime process generates, on the first machine, a shim process representing the instantiated container image. The shim process forwards the instruction to an agent on a second machine. The agent directs instantiation of the container image, which includes providing, to the containerized process, at least one instruction for communicating with an operating system kernel of the second machine. A scheduler component on the first machine determines to migrate the containerized process to a third machine and directs the migration.


