Virtual Machine Protocol Stack Load Balancing via Hypervisor Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized environments, multiple virtual machines cannot share network protocol processing capabilities, leading to load imbalance and poor system reliability due to isolated protocol stacks, where heavily loaded stacks become bottlenecks.
Innovation Solution
A method and system that allow multiple virtual machines on the same physical host to share network protocol processing capabilities by creating protocol stack instances and selecting an appropriate stack instance for socket creation, balancing load and improving reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If protocol stacks are isolated in each virtual machine, then virtual machine independence is maintained, but load imbalance occurs and system reliability deteriorates
Solution Approach 1:
The patent segments the protocol stack into multiple independent instances (first protocol stack instance, second protocol stack instance, etc.) that can be selectively assigned to different virtual machines. This segmentation allows load distribution across multiple instances while maintaining the ability to isolate protocol processing when needed, resolving the contradiction between reliability and complexity.
Solution Approach 2:
The patent implements a universal protocol stack instance that can serve multiple virtual machines. The hypervisor selects appropriate protocol stack instances to handle data processing for different virtual machines, enabling shared resources while maintaining virtual machine independence. This multi-functionality improves system reliability by distributing load across multiple virtual machines rather than isolating protocol stacks.
2Productivity
If multiple virtual machines share network protocol processing capability, then load balancing is achieved, but virtual machine isolation is reduced
Solution Approach 1:
The patent implements dynamic selection of protocol stack instances by the hypervisor based on current system conditions and virtual machine requirements. The system can dynamically assign different protocol stack instances to different virtual machines, enabling load balancing while maintaining the ability to isolate protocol processing when needed. This dynamic approach resolves the contradiction between productivity and adaptability.
Solution Approach 2:
The hypervisor acts as an intermediary between virtual machines and protocol stacks. It selectively forwards data from virtual machines to appropriate protocol stack instances, enabling shared protocol processing capability while maintaining virtual machine isolation. The hypervisor controls the interaction, allowing load balancing without compromising virtual machine independence.
3Productivity
If protocol stacks are heavily loaded, then data processing capacity is sufficient, but system reliability becomes poor due to bottlenecks
Solution Approach 1:
The patent segments protocol processing into multiple independent instances that can handle data processing concurrently. By distributing data processing tasks across multiple protocol stack instances rather than concentrating them in a single overloaded stack, the system maintains sufficient data processing capacity while improving reliability through load distribution and eliminating single points of failure.
Data Source
AI summary
A method and computing device for selecting a protocol stack for performing protocol processing on data is presented. The computing device is configured with a hypervisor for managing a first virtual machine. According to the method, when a socket creation instruction sent by the first virtual machine is received, a protocol stack instance is selected from the protocol stack instances provided by the computing device. Then, a socket is created in the selected protocol stack instance according to the socket creation instruction; and a creation result is transmitted to the first virtual machine. Therefore, in a virtualized environment, multiple virtual machines disposed in a same computing device can share a network protocol processing capability, and protocol stacks of the virtual machines achieve load balance.


