Container OS Layering for Cross-Platform Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container-based virtualization faces compatibility issues due to missing or incompatible APIs and environmental incompatibilities between container and host operating systems, limiting the execution of nested software containers across different operating systems.

Innovation Solution

Implementing operating system layering techniques that include API compatibility libraries, metadata arbitration logic, and file arbitration logic to manage and modify system references and file locations, ensuring compatibility between container and host operating systems, regardless of their type or version.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If container-based virtualization is used to enable rapid growth in sharing processing resources, then resource sharing efficiency is improved, but compatibility issues arise due to missing or incompatible APIs between container and host operating systems

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidAPI compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary layer (container runtime environment with compatibility libraries) between the container operating system and host operating system. This intermediary translates and adapts API calls, allowing containers to access host resources without direct compatibility between the two operating systems, thus resolving the contradiction between resource sharing efficiency and API compatibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the operating system into multiple layers: host operating system, container runtime environment, and container operating system. Each layer operates independently with its own APIs and interfaces, allowing the container layer to maintain portability while the host layer provides resource management, thus resolving the compatibility issue while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If multiple isolated instances of software containers are executed on a host server, then container density is increased, but environmental incompatibilities limit execution across different operating systems

Engineering Contradiction:
Improvecontainer densityVSAvoidoperating system compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The container runtime environment is designed as a universal intermediary that can translate between different operating system APIs and container expectations. This multi-functional layer allows the same container image to run on different host operating systems (Linux, Windows, macOS) without modification, thus achieving both high container density and broad operating system compatibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system dynamically changes operational parameters such as API translation rules, file system mount points, and environment variable mappings based on the host operating system type. This allows containers to maintain consistent behavior across different platforms while adapting to the specific characteristics of each host environment, resolving the contradiction between density and adaptability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If drivers are loaded to provide compatibility between container and host operating systems, then system integration is improved, but system complexity increases

Engineering Contradiction:
Improvesystem integrationVSAvoiddriver management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the driver functionality into the container runtime environment itself rather than requiring separate driver installations for each container. The runtime includes built-in compatibility libraries and arbitration logic that handle driver loading, configuration, and management automatically, thus improving system integration while reducing overall complexity by eliminating redundant driver management across multiple containers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9898354B2Operating system layering
Publication Date: 2018.02.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9898354B2 patent drawing
  • US9898354B2 patent drawing
  • US9898354B2 patent drawing

AI summary

Techniques for implementing operating system layering are described herein. In one example, a method includes managing one or more container temporary storage spaces and one or more container runtime environments. Furthermore, the method includes loading, one or more drivers to provide compatibility between a container operating system and a host operating system, the one or more drivers comprising application program interface (API) compatibility libraries to enable API compatibility between the container operating system and the host operating system; metadata arbitration logic to enable compatibility between the container operating system and the host operating system by modifying container operating system references; and file arbitration logic to modify operating system file locations accessed by the container operating system and the host operating system.