Virtual Kernel Module for Container Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing container technology faces challenges in container security and kernel runtime customizability due to the global sharing of Linux kernels, which leads to security concerns and performance issues.

Innovation Solution

A container-oriented Linux kernel virtualizing system is introduced, featuring a loadable kernel module that allows for the creation of a customized virtual kernel for each container. This system reconstructs kernel resources, operates in a separate address space, and provides enhanced security through local integration and optimization of global security modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a complete guest operating system and hardware for virtualization are used, then container isolation and security are improved, but resource usage and operational efficiency deteriorate

Engineering Contradiction:
Improvecontainer isolationVSAvoidresource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates a copy of the kernel address space for each container through the copy_init_mm() function, which duplicates the parent process's memory mapping structure. This allows each container to have its own isolated kernel view without requiring a complete separate operating system, thus providing isolation while maintaining resource efficiency.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the kernel address space into container-specific portions by creating separate mm_struct structures for each container. The kernel virtualizing layer divides the monolithic kernel address space into isolated segments that can be independently managed, providing both isolation and resource efficiency.

Inventive Principle:
Principle #1Segmentation

2Use of energy by moving object

If a shared Linux kernel is used across all containers, then resource efficiency is improved, but container security and kernel customization deteriorate

Engineering Contradiction:
Improveresource efficiencyVSAvoidcontainer security
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent introduces a kernel virtualizing layer as an intermediary between containers and the physical kernel. This layer (implemented through loadable kernel modules) acts as a mediator that provides each container with a virtualized kernel view, enabling security isolation and customization while still utilizing the underlying shared physical kernel for resource efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of the kernel address space for each container through copy_init_mm(), allowing containers to have customized kernel configurations and security policies without modifying the shared physical kernel. This copying mechanism enables both security isolation and resource efficiency simultaneously.

Inventive Principle:
Principle #26Copying

3Reliability

If kernel namespace mechanism is used for isolation, then some kernel parameter isolation is improved, but global privilege security concerns deteriorate

Engineering Contradiction:
Improvekernel parameter isolationVSAvoidglobal privilege security
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a kernel virtualizing layer as an intermediary that sits between the namespace mechanism and the actual kernel resources. This layer provides an additional security boundary that prevents direct access to global kernel privileges, thereby mitigating security concerns while maintaining parameter isolation capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a thin virtualizing layer (through loadable kernel modules) that wraps around the kernel address space. This flexible shell provides security isolation without requiring heavy-weight virtualization mechanisms, enabling parameter isolation while reducing exposure to global privilege security risks.

Inventive Principle:
Principle #30Flexible shells and thin films

4Reliability

If secure container schemes like gVisor or Kata Container are used, then container security is improved, but performance and overhead deteriorate

Engineering Contradiction:
Improvecontainer securityVSAvoidcontainer performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates lightweight copies of the kernel address space using copy_init_mm() instead of requiring complete operating system copies. This copying approach provides security isolation similar to gVisor or Kata Container but with significantly lower overhead, thus improving performance while maintaining security.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses loadable kernel modules that can be dynamically loaded and unloaded for each container lifecycle. These virtualized kernel instances are lightweight and can be quickly created and destroyed, providing security isolation without the heavy performance penalties of traditional secure container schemes.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS12242877B2Container-oriented Linux kernel virtualizing system and method thereof
Publication Date: 2025.03.04 HUAZHONG UNIV OF SCI & TECH
  • US12242877B2 patent drawing
  • US12242877B2 patent drawing
  • US12242877B2 patent drawing

AI summary

The present invention relates to a container-oriented Linux kernel virtualizing system, at least comprising: a virtual kernel constructing module, being configured to provide a virtual kernel customization template for a user to edit and customize a virtual kernel of a container, and generate the virtual kernel taking a form of a loadable kernel module based on the edited virtual kernel customization template; and a virtual kernel instance module, being configured to reconstruct and isolate a Linux kernel, and operate a virtual kernel instance in a separate address space in response to a kernel request from a corresponding container. The container-oriented Linux kernel virtualizing system of the present invention is based on the use of a loadable module.