Global Queue Pair Management for Virtual Machine Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvevirtual machine migration capabilityVSAvoidqueue pair number uniqueness
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvevirtual machine migration flexibilityVSAvoiddata frame encapsulation and processing
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8782128B2Global queue pair management in a point-to-point computer network
Publication Date: 2014.07.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8782128B2 patent drawing
  • US8782128B2 patent drawing
  • US8782128B2 patent drawing

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.