Global Queue Pair Management for Virtual Machine Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing point-to-point computer network environments face challenges in flexible virtual machine migration due to limitations in queue pair numbering, which can lead to conflicts and inefficiencies when migrating virtual machines between host systems.
Innovation Solution
The use of global queue pair numbers independent of the destination host system, combined with local port IDs, allows for flexible virtual machine migration by encapsulating data frames with an overlay header containing the destination global queue pair number and local port ID, enabling seamless data transfer across different host systems without queue pair numbering conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If host-specific queue pair numbers are used in traditional point-to-point networks, then data transfer within a single host is efficient, but virtual machine migration between hosts becomes problematic due to numbering conflicts
Solution Approach 1:
The queue pair identification is segmented into two independent components: a global queue pair number (identifying the virtual machine) and a local port ID (identifying the host). This segmentation allows the global identifier to remain consistent across hosts while the local identifier adapts to the specific host environment, enabling virtual machine migration without numbering conflicts.
Solution Approach 2:
An overlay header is introduced as an intermediary structure that carries both the global queue pair number and local port ID. This intermediary enables the decoupling of virtual machine identification from host-specific identification, allowing data frames to be routed correctly during migration while maintaining unique identification throughout the network.
2Adaptability or versatility
If global queue pair numbers are introduced for virtual machine identification, then migration flexibility improves, but data frame structure and processing complexity increases
Solution Approach 1:
The original data frame is nested within an overlay header structure. The overlay header contains the global queue pair number and local port ID, while the original frame payload remains intact. This nesting approach adds the necessary identification information without fundamentally altering the underlying data frame structure or requiring changes to the original protocol.
Solution Approach 2:
The overlay header serves multiple functions: it provides global queue pair identification for migration, contains local port ID for host-specific routing, and maintains compatibility with existing point-to-point network protocols. This multi-functionality reduces the need for separate mechanisms for each requirement.
Data Source
AI summary
An approach is provided in which a local module receives a data frame initiated by a first virtual machine and has a target destination at a second virtual machine, which executes on a destination host system. The local module identifies a destination local port ID and a destination global queue pair number corresponding to the second virtual machine. In one embodiment, the destination local port ID corresponds to the destination host, but the destination global queue pair number is independent of the destination host. The local module includes the destination global queue pair number and the destination local port ID in an overlay header and encapsulates the data frame with the overlay header, which results in an encapsulated frame. In turn, the local module sends the encapsulated frame through a computer network to the second virtual machine.


