Kernel Virtual Machine Module for VM I/O Request Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization technologies face issues with low response speed and low execution efficiency for input/output requests between virtual machines and input/output devices.

Innovation Solution

A request processing method and apparatus that involves receiving an input/output request from a virtual machine client, calling a kernel virtual machine module to determine a target processing program with a hook function, and executing this program in the kernel space to perform operations on a virtual input/output device, thereby avoiding context switching and data copying between kernel and user spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing virtualization technologies are used for input/output requests, then the system can process requests, but the response speed and execution efficiency are low

Engineering Contradiction:
Improveexecution efficiencyVSAvoidresponse speed
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a kernel virtual machine module as an intermediary layer between user space and kernel space. This module includes a hook function that intercepts input/output requests and redirects them to appropriate processing programs, eliminating the need for traditional context switching and data copying operations. The intermediary structure enables direct processing in kernel space, significantly improving execution efficiency and reducing response time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If context switching and data copying between kernel space and user space are performed, then requests can be processed, but the response speed decreases

Engineering Contradiction:
Improverequest processing capabilityVSAvoidresponse speed
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the input/output request processing functionality from the traditional kernel-user space boundary and relocates it to the kernel space through the kernel virtual machine module. By taking out the processing operations from user space and executing them directly in kernel space, the system eliminates time-consuming context switching and data copying operations while maintaining full request processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If traditional input/output processing methods are used, then requests can be handled, but the data exchange performance between virtual machine and input/output device is poor

Engineering Contradiction:
Improverequest handling capabilityVSAvoiddata exchange performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes the operational dimension of input/output processing by moving from user space operations to kernel space operations. This dimensional shift allows the kernel virtual machine module to directly access and process input/output requests without the overhead of inter-space communication, thereby maintaining adaptability to various request types while dramatically improving data exchange performance between virtual machines and input/output devices.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20250181377A1Request processing method and apparatus, electronic device, and storage medium
Publication Date: 2025.06.05 BEIJING VOLCANO ENGINE TECH CO LTD
  • US20250181377A1 patent drawing
  • US20250181377A1 patent drawing
  • US20250181377A1 patent drawing

AI summary

Embodiments of the present disclosure provide a request processing method and apparatus, an electronic device, and a storage medium. After receiving an input/output request sent by a virtual machine client located in user space, a kernel virtual machine module in kernel space is called to determine a target processing program corresponding to the input/output request. The target processing program includes a hook function for implementing an instruction processing flow corresponding to the input/output request, and the hook function is mapped to a kernel native code executable by a kernel. An operation is performed on a virtual input/output device at a virtual machine host by executing the target processing program in the kernel space, to obtain a request result.