Container Emulator Translates Non-Native OS Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization is used to run non-native applications, then compatibility is improved, but resource overhead and performance deteriorate

Engineering Contradiction:
ImprovecompatibilityVSAvoidresource overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If specialized configurations are used for non-native applications, then compatibility is improved, but system complexity and security deteriorate

Engineering Contradiction:
ImprovecompatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If virtualization is used to isolate non-native applications, then security is improved, but resource overhead and performance deteriorate

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20230266984A1Container-based operating system translation
Publication Date: 2023.08.24 RED HAT INC
  • US20230266984A1 patent drawing
  • US20230266984A1 patent drawing
  • US20230266984A1 patent drawing

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.