A multi-domain isolation operating system inter-partition communication method and system

By creating communication initiation and target partitions in a multi-domain isolation architecture and setting interfaces and protocols in user space and kernel space, the problem of operating system inability to support inter-domain communication is solved, and secure and scalable inter-domain communication is achieved.

CN114356594BActive Publication Date: 2025-11-25BEIHANG UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202111506228.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-10
Publication Date
2025-11-25
Estimated Expiration
2041-12-10

AI Technical Summary

Technical Problem

Under the existing multi-domain isolation architecture, the operating system cannot support inter-domain communication, which restricts applications.

Method used

Partitions are created on the physical host, including communication initiation partitions and communication target partitions. User-mode interfaces, data transmission protocols, and communication interfaces are set in user mode and kernel mode, and inter-domain data transmission is achieved through communication routing.

Benefits of technology

It enables inter-domain communication under a multi-domain isolation architecture, improves the security and scalability of the operating system, and can filter resource access by malicious programs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114356594B_ABST
    Figure CN114356594B_ABST
Patent Text Reader

Abstract

The application discloses a multi-domain isolation operating system partition communication method and system, adds the inter-domain communication capability of the operating system of a multi-domain isolation architecture, and managers of computers can allocate resources held by the computers to different partitions, isolate different types and levels of application programs, and through the inter-partition communication method of the multi-domain isolation architecture, some partitions can bear specific functions and hold critical resources. The technical problem that the existing multi-domain isolation architecture is completely independent between the domains, the operating system cannot support inter-domain communication under the multi-domain isolation architecture, and application is greatly limited is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network communication technology, and in particular to a method and system for inter-domain communication in a multi-domain isolated operating system. Background Technology

[0002] Common general-purpose operating systems include Windows, iOS, and Android. Within these systems, existing virtualization software can build independent runtime environments, achieving a multi-domain isolated operating system architecture. Through existing software methods, virtual machines can utilize the host machine's resources and exchange data with it.

[0003] However, the domains constructed by the existing multi-domain isolation architecture are completely independent, and the operating system cannot support inter-domain communication under the multi-domain isolation architecture, which greatly limits its application. Summary of the Invention

[0004] This application provides a method and system for inter-domain communication in a domain-isolated operating system, which solves the technical problem that the domains constructed by the existing multi-domain isolation architecture are completely independent, and the operating system cannot support inter-domain communication under the multi-domain isolation architecture, which greatly limits its application.

[0005] In view of this, the first aspect of this application provides a method for inter-domain communication in a multi-domain isolated operating system, comprising the following steps:

[0006] A partition is created on the host of the physical host. The partition includes a communication initiation partition and a communication target partition. Both the communication initiation partition and the communication target partition include user mode and kernel mode. The user mode is configured with a user mode interface, and the kernel mode is configured with a data transmission protocol and a communication interface. The host is configured with a communication route.

[0007] The data transmission request is initiated to the host through the data transmission protocol and communication interface within the communication initiation partition;

[0008] The host receives the data transmission request initiated by the communication initiating partition, and the communication router in the host parses the communication data and sends it to the communication target partition;

[0009] The target partition receives and processes the communication data through the communication interface and data transmission protocol in kernel mode.

[0010] Optionally, the data transmission request can be a read request or a write request.

[0011] Optionally, initiating a data transmission request to the host through the data transmission protocol and communication interface within the communication initiation partition includes:

[0012] The communication initiates a file read operation within the partition via a system call and enters kernel mode.

[0013] The kernel mode of the communication initiating partition calls the data transmission protocol to request a memory address space, fills the communication data involved in the data transmission request into the memory address space, and sends the memory address space to the communication interface;

[0014] The memory address space is sent to the host through the communication interface.

[0015] Optionally, the communication routing in the host system parses the communication data and sends it to the target communication partition, including:

[0016] The host obtains communication information and parsed data through the memory address space and sends them to the communication target partition.

[0017] Optionally, it also includes:

[0018] The host records and saves the communication behavior between different regions.

[0019] The second aspect of this application provides a multi-domain isolated operating system inter-domain communication system, including a host on a physical host and a partition on the host. The partition includes a communication initiation partition and a communication target partition. Both the communication initiation partition and the communication target partition include user mode and kernel mode. The user mode is provided with a user mode interface, and the kernel mode is provided with a data transmission protocol and a communication interface. The host is provided with a communication route.

[0020] User-space interface, used to call the corresponding functions of inter-area communication;

[0021] A data transmission protocol is used to receive the call instruction from the user-mode interface, request memory address space, and send the memory address space to the communication interface;

[0022] The communication interface is used to receive the memory address space and send it to the communication route;

[0023] The communication route is responsible for receiving data transmissions from the partition and forwarding the data to the target partition.

[0024] Optionally, it also includes:

[0025] Communication cache is used to store the most recently occurring inter-regional communication activities.

[0026] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0027] This invention adds inter-domain communication capabilities to a multi-domain isolation architecture operating system. Computer administrators can allocate computer resources to different partitions, isolating different types and levels of applications. Through the inter-domain communication method within the multi-domain isolation architecture, some partitions can perform specific functions and hold critical resources. This invention avoids direct access to resources in other partitions, requires partitions to access resources through host-monitored inter-domain communication, and offers excellent scalability in terms of security. Access control functions can be added to the host's communication routes in subsequent development to filter resource access from malicious programs originating from insecure partitions. Therefore, the inter-domain communication mechanism effectively improves the data security of a multi-domain isolation architecture operating system. Attached Figure Description

[0028] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0029] Figure 1 This is a schematic diagram of a multi-domain isolated operating system inter-domain communication method provided in an embodiment of this application;

[0030] Figure 2 This is a schematic diagram illustrating the process of reading resources from one partition to another, as provided in an embodiment of this application.

[0031] Figure 3 This is a schematic diagram illustrating the process of writing resources from one partition to another partition, as provided in the embodiments of this application. Detailed Implementation

[0032] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0033] Example 1

[0034] For easier understanding, please refer to Figure 1 An embodiment of a multi-domain isolated operating system inter-domain communication method provided in the first aspect of this application includes the following steps:

[0035] Step S1: Create a partition on the host of the physical host. The partition includes a communication initiation partition and a communication target partition. Both the communication initiation partition and the communication target partition include user mode and kernel mode. The user mode is configured with user mode interface, and the kernel mode is configured with data transmission protocol and communication interface. The host is configured with communication routing.

[0036] Step S2: Initiate a data transmission request to the host through the data transmission protocol and communication interface within the communication partition;

[0037] Step S3: The host receives the data transmission request initiated by the communication initiating partition, and the communication router in the host parses the communication data and sends it to the communication target partition;

[0038] Step S4: The target partition receives and processes communication data through the communication interface and data transmission protocol in kernel mode.

[0039] It should be noted that the environment running on computer hardware is called the host, and the runtime environment built by the host using virtualization technology is called a partition. A partition includes a communication initiation partition and a communication target partition. The communication initiation partition, the host, and the communication target partition create a data interaction channel. Both the communication initiation partition and the communication target partition include user space and kernel space. User space is a space oriented towards users, while kernel space is a runtime space that provides basic operating system services.

[0040] By implementing a software interface in the partition's user space and a data transfer protocol and communication interface in the partition's kernel space, the partition gains the ability to perform inter-domain communication. A communication route is implemented within the partition; after the host receives a communication request from the initiating partition, the communication route executes the data transfer and delivers the data to the target partition. The target partition then performs subsequent processing on the received data.

[0041] This application establishes a protocol for inter-domain communication. This protocol mainly includes the data format of communication data and the information flow control of inter-domain communication. It enables resource access in partitions and has good scalability in terms of security. In subsequent development, access control functions can be added to the host's communication routing to filter resource access from malicious programs from insecure partitions, thereby effectively improving the data security of the operating system with a multi-domain isolation architecture.

[0042] As a further improvement to Embodiment 1, in step S2, initiating a data transmission request to the host through the data transmission protocol and communication interface within the communication initiation partition includes:

[0043] Step S21: The communication initiates a file read operation within the partition via a system call and enters kernel mode;

[0044] Step S22: The kernel mode of the communication initiating partition calls the data transmission protocol to request a memory address space, fills the communication data involved in the data transmission request into the memory address space, and sends the memory address space to the communication interface;

[0045] Step S23: Send the memory address space to the host through the communication interface.

[0046] Furthermore, the communication routing within the host parses the communication data and sends it to the target communication partition, including:

[0047] The host obtains communication information and parsed data through memory address space resolution and sends them to the target partition.

[0048] It should be noted that the partition user-mode interface is an interface exposed through kernel space. Users of the computer system can use this interface to invoke the corresponding functions for partition communication. Calls from the user-mode interface will cause the kernel to execute the corresponding data transmission protocol.

[0049] After receiving a call from the partition user-mode interface, the operating system kernel executes the function in the data transmission protocol of the partition kernel mode. This function allocates an address space in the computer system's memory, fills the data involved in the communication into this space, and then hands this memory address to the communication interface.

[0050] Furthermore, to ensure data transmission consistency, a unified data transmission protocol format needs to be established. This has the advantage of allowing both the initiating and receiving partitions to use a unified data structure to parse the communication data. Therefore, one partition data exchange format proposed in this application is shown in the table below:

[0051]

[0052]

[0053] This format is also known as the protocol header. The main advantage of using this format is that it eliminates the need to organize too many parameters at the software level, and uses a unified data transmission and parsing method to ensure that different roles participating in the partition correctly obtain communication information and data.

[0054] The function of the kernel-mode communication interface is to send the data assembled by the communication protocol module to the host.

[0055] The host's communication routing is responsible for receiving data transmissions from partitions and forwarding the data to the target partition.

[0056] As a further improvement to Example 1, it also includes: the host recording and saving the communication behavior between segments;

[0057] It should be noted that the communication cache in the host can save the most recently occurred inter-regional communication behavior, which helps to quickly find the communication route.

[0058] As a further improvement to Example 1, the data transmission request is either a read request or a write request.

[0059] Furthermore, during the data transmission process in inter-regional communication, the access to resources includes two forms: "reading" and "writing".

[0060] For easier understanding, please refer to Figure 2 The process of reading resources from one partition to another includes the following steps:

[0061] Step 1: Any user-mode file read operation in the partition will be executed through a system call and enter kernel mode, with the parameters being the file descriptor, the address of the buffer to be read, and the length to be read.

[0062] The second step: The kernel mode in the partition calls the data transmission protocol and fills in the fields according to the specified protocol to send the memory address, length, and attribute information to the host, while the kernel mode read enters a waiting state;

[0063] Step 3: The host obtains the memory block information and creates a memory storage segment to store the data from the partition. It then writes the communication data to the target partition and notifies the target partition to proceed with the next step of processing.

[0064] Step 4: The kernel of the target partition obtains communication information through the communication interface, reads the parameters in the protocol header, allocates a memory block of the required length for communication, and writes the specified data to the memory block. Finally, it sends the configured memory block information to the host through the communication interface.

[0065] Step 5: The host finds the memory block provided by the initiating communication partition based on the sender and jiffies fields in the received data block, copies the data given by the target partition into the data area of ​​the memory block, and returns the result to the kernel of that partition;

[0066] Step 6: The partition kernel obtains the return result, wakes up the corresponding waiting read operation, returns the read data to user space, and completes the read operation of the partition communication.

[0067] For easier understanding, please refer to Figure 3 The process of writing resources from one partition to another (i.e., sending data to another partition) specifically includes the following steps:

[0068] Step 1: Any file write operation in user space will enter kernel space through a system call.

[0069] Step 2: Enter the partition kernel, create a data storage space for communication through the data transmission protocol, send the memory information to the host, and enter a waiting state.

[0070] Step 3: The host kernel obtains the memory block information, sends the communication information to the target partition, and notifies it.

[0071] Step 4: The process reaches the target partition kernel. The target partition allocates the corresponding amount of memory according to the protocol header and hands it over to the host.

[0072] Step 5: The host obtains the memory information allocated to the target partition, copies the data from the communication initiating partition to the memory block of the target partition, and notifies the target partition that the data has arrived.

[0073] Step 6: The target partition receives the data, and the communication initiating partition obtains the processing result.

[0074] The second aspect of this application also provides a multi-domain isolated operating system inter-domain communication system, including a host on a physical host and a partition on the host. The partition includes a communication initiation partition and a communication target partition. Both the communication initiation partition and the communication target partition include user mode and kernel mode. The user mode is configured with a user mode interface, the kernel mode is configured with a data transmission protocol and a communication interface, and the host is configured with a communication route.

[0075] User-space interface, used to call the corresponding functions of inter-area communication;

[0076] The data transmission protocol is used to receive call instructions from the user-mode interface, request memory address space, and send the memory address space to the communication interface.

[0077] The communication interface is used to receive memory address space and send it to the communication route.

[0078] The communication route is responsible for receiving data transmissions from the partition and forwarding the data to the target partition.

[0079] Also includes:

[0080] Communication cache is used to store the most recently occurring inter-regional communication activities.

[0081] The working principle of the multi-domain isolated operating system inter-domain communication system of this application is the same as the process of the above method, and will not be repeated here.

[0082] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method for inter-domain communication in a multi-domain isolated operating system, characterized in that, Includes the following steps: A partition is created on the host of the physical host. The partition includes a communication initiation partition and a communication target partition. Both the communication initiation partition and the communication target partition include user mode and kernel mode. The user mode is configured with a user mode interface, and the kernel mode is configured with a data transmission protocol and a communication interface. The host is configured with a communication route. The data transmission request is initiated to the host through the data transmission protocol and communication interface within the communication initiation partition; the data transmission request is either a read request or a write request. The host receives the data transmission request initiated by the communication initiating partition, and the communication router in the host parses the communication data and sends it to the communication target partition; The target partition receives and processes the communication data through the communication interface and data transmission protocol in kernel mode; When the data transfer request is a read request, the specific steps for the communication initiator partition to read the communication target partition are as follows: Step 1: The communication initiates a read request in user space within the partition via a system call and enters kernel space; Step 2: The kernel in the communication initiation partition calls the data transmission protocol to request memory address space, fills the fields in the middle of the memory address according to the communication data in the read request, sends the memory address space to the host through the communication interface, and at the same time the kernel read operation enters the waiting state. Step 3: The host obtains and parses the memory address space to get the communication data of the communication initiating partition, and the host creates a memory storage for the communication data; the host writes the communication data to the communication target partition and notifies the communication target partition to process it; Step 4: The kernel mode of the target partition obtains communication data through the communication interface, reads the parameters in the communication data, allocates a memory block for the target partition, and writes the data specified in the read request into the memory block of the target partition; the target partition sends the memory block of the target partition to the host through the communication interface. Step 5: The host finds the memory address space provided by the communication initiating partition based on the sender and jiffies fields in the memory block of the received communication target partition, copies the data given by the communication target partition into the memory address space, and returns the result to the kernel mode of the communication initiating partition. Step 6: The kernel space of the partition obtains the result and performs a read operation, while the user space that initiated the partition returns the data read during the read operation.

2. The multi-domain isolated operating system inter-domain communication method according to claim 1, characterized in that, Also includes: The host records and saves the communication behavior between different regions.

Citation Information

Patent Citations

  • Access control method and system based on security domain isolation

    CN103379089A

  • KVM (kernel-based virtual machine) virtualized service system and data communication method for same

    CN103605559A

  • Multi-core virtual partition reconstruction system

    CN110427246A

  • Memory configuration method and device and storage medium

    CN112711546A