Container Emulator Translates Non-Native OS Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for running non-native applications on different operating systems face compatibility issues, leading to security, resource, and performance problems due to the need for specialized configurations and the overhead of virtualization.
Innovation Solution
Incorporating compatibility infrastructure into a container environment, allowing non-native applications to run without requiring additional support, by using a container engine with an emulator that translates requests from the non-native application into compatible system calls, file system requests, and library requests, thereby isolating the application and reducing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtualization is used to run non-native applications, then compatibility is improved, but resource overhead and performance deteriorate
Solution Approach 1:
The patent introduces an emulator as an intermediary component within the container runtime that translates system calls from non-native applications into native operating system calls. This mediator layer enables compatibility without requiring full virtualization, thus reducing resource overhead while maintaining the ability to run non-native applications.
2Adaptability or versatility
If specialized configurations are used for non-native applications, then compatibility is improved, but system complexity and security deteriorate
Solution Approach 1:
The patent extracts the compatibility functionality from the application layer and relocates it to the container runtime's emulator component. This separation allows non-native applications to run without requiring specialized configurations within the application itself, simplifying the overall system architecture while maintaining compatibility through the centralized emulator.
3Reliability
If virtualization is used to isolate non-native applications, then security is improved, but resource overhead and performance deteriorate
Solution Approach 1:
The patent segments the isolation mechanism into two parts: container-level isolation for resource containment and emulator-level translation for compatibility. This segmentation eliminates the need for full virtualization while maintaining security boundaries, thus preserving performance by allowing direct execution of application binaries on the host operating system.
Data Source
AI summary
A container image is received at a host device. The container image includes a container application compatible with a first operating system, and the host device includes a second operating system, different from the first operating system. A container engine on a processing device executes a container corresponding to the container image. The container engine includes an emulator configured to translate a request from the container application that is directed to the first operating system into a request to the second operating system.


