Container-oriented Linux kernel virtualizing system and method thereof

US12242877B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12242877-B2
Application numberUS-202217661991-A
CountryUS
Kind codeB2
Filing dateMay 4, 2022
Priority dateSep 17, 2021
Publication dateMar 4, 2025
Grant dateMar 4, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. 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, wherein the system further comprises a virtual kernel loading/unloading module, which is for loading the corresponding virtual kernel into the Linux kernel when the container is launched, maintaining mapping relationship between the container and the virtual kernel, and/or unloading and deleting the virtual kernel when a lifecycle of the container ends; and a virtual kernel managing module, which is configured to: intercept a kernel-call request made by the container, and when the container makes a the kernel-call request, based on a predefined hook collection and a corresponding ftrace callback function, forward the kernel-call request of the container to the virtual kernel instance for processing. 2. The system of claim 1 , wherein the virtual kernel instance module is for creating and initializing the virtual kernel instance, and/or providing the container with virtual kernel services, and/or multiplexing other parts of the Linux kernel. 3. The system of claim 2 , wherein the virtual kernel instance module at least comprises a reconstruction sub-module and a security sub-module, wherein the reconstruction sub-module is for reconstructing configurations and parameters in the Linux kernel, and/or for calling a call table that has Linux kernel reconstructed; and the security sub-module is for providing the virtual kernel with a separate running address space and performing local integration and optimization on a global security module of the Linux kernel. 4. The system of claim 3 , wherein the virtual kernel constructing module is further configured to: allow the user to select how the virtual kernel is customized; semantically parse a user-edited customization file so as to generate a virtual kernel source code; compile the virtual kernel source code, so as to output the obtained virtual kernel in the form of a loadable kernel module; and store the virtual kernel in the form of a loadable kernel module into a warehouse for subsequent use. 5. The system claim 4 , wherein the virtual kernel constructing module is further configured to: semantically parse the customization file to acquire virtual kernel configurations, parameters, and a call table and write them into the virtual kernel source code; semantically parse call-filtering rules, and write parameter detection obtained from parsing into the corresponding kernel call source code; semantically parse file permission detection rules, and write a file and permission information obtained from parsing into a data structure of the virtual kernel source code; and integrate parts of custom source codes to generate the virtual kernel source code. 6. The system of claim 5 , wherein the virtual kernel loading/unloading module is further configured to: monitor container operation through a runc runtime, wherein: if creation of a container is monitored, acquiring the corresponding virtual kernel from the virtual kernel warehouse according to a container name of the container; combining the container id of the container and the virtual kernel name to rename a virtual kernel module; loading the virtual kernel module into the Linux kernel; sending an initialization request to the virtual kernel instance module; and loading the corresponding virtual kernel. 7. A container-oriented Linux kernel virtualizing method, at least comprising: providing a virtual kernel customization template for a user to edit and customize; generating the virtual kernel taking a form of a loadable kernel module based on the virtual kernel customization template; and reconstructing and isolating a Linux kernel, and operating a virtual kernel instance in a separate address space in response to a kernel request from a corresponding container; and the method further comprising loading the corresponding virtual kernel into the Linux kernel when the container is launched, and maintaining mapping relationship between the container and the virtual kernel, and/or unloading and deleting the virtual kernel when a lifecycle of the container ends; intercepting a kernel-call request made by the container; and when the container makes the kernel-call request, based on a predefined hook collection and a corresponding ftrace callback function, forwarding the kernel-call request of the container to the virtual kernel instance for processing. 8. The method of claim 7 , further comprising: the virtual kernel instance module creating and initializing the virtual kernel instance, and/or providing the container with virtual kernel services, and/or multiplexing other parts of the Linux kernel. 9. The method of claim 8 , wherein the virtual kernel instance module at least comprises a reconstruction sub-module and a security sub-module, wherein the reconstruction sub-module is for reconstructing configurations and parameters in the Linux kernel, and/or for calling a call table that has Linux kernel reconstructed; and the security sub-module is for providing the virtual kernel with a separate running address space and performing local integration and optimization on a global security module of the Linux kernel. 10. The method of claim 9 , further comprising: allowing the user to select how the virtual kernel is customized; semantically parsing a user-edited customization file so as to generate a virtual kernel source code; compiling the virtual kernel source code, so as to output the obtained virtual kernel in the form of a loadable kernel module; and storing the virtual kernel in the form of a loadable kernel module into a warehouse for subsequent use. 11. The method of claim 10 , further comprising: semantically parsing the customization file to acquire virtual kernel configurations, parameters, and a call table and writing them into the virtual kernel source code; semantically parsing call-filtering rules, and write parameter detection obtained from parsing into the corresponding kernel call source code; semantically parsing file permission detection rules, and writing a file and permission information obtained from parsing into a data structure of the virtual kernel source code; and integrating parts of custom source codes to generate the virtual kernel source code. 12. The method of claim 11 , further comprising: monitoring container operation through a runc runtime, wherein: if creation of a container is monitored, acquiring the corresponding virtual kernel from the virtual kernel warehouse according to a container name of the container; combining the container id of the container and the virtual kernel name to rename a virtual kernel module; loading the virtual kernel module into the Linux kernel; sending an initialization request to the virtual kernel instance module; and loading the corresponding virtual kernel. 13. The method of claim 12 , wherein the virtual kernel loading/unloading module renames virtual kernels in the Linux kernel based on the container id, after solving the naming conflict by means of the renaming mechanism, the PID namespace of the container and the vi

Assignees

Inventors

Classifications

  • Monitoring or debugging support · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Creating, deleting, cloning virtual machine instances · CPC title

  • where tasks reside in different layers, e.g. user- and kernel-space · CPC title

  • Configuring for program initiating, e.g. using registry, configuration files · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12242877B2 cover?
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 customi…
Who is the assignee on this patent?
Univ Huazhong Science Tech
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 04 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).