VM NIC Direct Through-Connection Bypasses Host Driver
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for sending and receiving data packets by virtual machines on a physical host result in low utilization of network interface card processing capability and excessive CPU resource consumption, leading to inefficient use of system resources and high CPU load.
Innovation Solution
Establishing a direct through-connection between the virtual machine and the network interface card, allowing the virtual machine to directly send and receive data without relying on the host's network interface card driver for encapsulation and decapsulation, and using a virtual machine monitor to manage encapsulation and decapsulation parameters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data packets are sent through the host's network interface card driver with encapsulation operations, then the virtual machine can communicate over the network, but the CPU resources are excessively consumed and the network interface card processing capability is not fully utilized
Solution Approach 1:
The patent extracts the encapsulation and decapsulation operations from the host's network interface card driver and relocates them to the virtual machine's front-end driver. This extraction eliminates the redundant processing that occurred when packets were handled by both the virtual machine driver and the host driver, thereby reducing CPU resource consumption while maintaining network communication functionality.
Solution Approach 2:
The patent introduces a direct communication path between the virtual machine's front-end driver and the network interface card's hardware queue, bypassing the host's back-end driver as an intermediary. This eliminates the need for the host driver to perform encapsulation operations, allowing the network interface card's processing capability to be fully utilized without excessive CPU consumption.
2Adaptability or versatility
If multiple virtual machines share one physical host with a single network interface card, then resource consolidation is achieved, but the network interface card's idle bandwidth cannot be fully utilized and data transmission speed is limited
Solution Approach 1:
The patent segments the network interface card's hardware queue into multiple virtual queues, each dedicated to a specific virtual machine. This segmentation allows multiple virtual machines to simultaneously utilize the network interface card's bandwidth without contention, fully utilizing the available idle bandwidth while maintaining high data transmission speeds for each virtual machine.
Solution Approach 2:
The patent introduces a new dimension of direct hardware access by establishing a direct through-connection between the virtual machine's front-end driver and the network interface card's hardware queue. This bypasses the traditional software-based encapsulation path and enables parallel data transmission across multiple virtual machines, effectively utilizing network bandwidth without being constrained by CPU processing capacity.
3Reliability
If the back-end driver on the host performs encapsulation and decapsulation operations, then network communication is enabled, but the processing capability of the network interface card cannot be fully used and system resource utilization is inefficient
Solution Approach 1:
The patent enables the virtual machine's front-end driver to perform encapsulation and decapsulation operations independently, without relying on the host's back-end driver. This self-service approach maintains network communication reliability while eliminating redundant processing steps, thereby reducing data processing complexity and improving overall system efficiency.
Data Source
AI summary
A method for transmitting a data packet based on a virtual machine is provided. A direct through-connection is established between the virtual machine and a network interface card. A data packet transmitted by a driver layer of the virtual machine is detected. An encapsulation parameter obtaining request is transmitted to a virtual machine monitor corresponding to the virtual machine, and encapsulation information and an encapsulation parameter are received in response to the encapsulation parameter obtaining request. The data packet is encapsulated according to the encapsulation information and the encapsulation parameter, and the encapsulated data packet is added to a hardware transmitting queue of the network interface card by using the direct through-connection to transmit the encapsulated data packet.


