VM I/O Teaming Driver for Transparent Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The pass-through I/O virtualization approach in virtualized computer systems makes it difficult to migrate virtual machines (VMs) transparently between physical machines due to the exposure of specific physical I/O devices, complicating the process and potentially leading to performance issues.

Innovation Solution

A logical virtual device is configured to provide desired functionality using either a virtual device or a physical device connected to a VM, with a teaming driver managing the selection between the two based on availability and migration needs, allowing seamless transition between hosts with different hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pass-through I/O virtualization is used to improve performance by avoiding emulation overhead, then I/O operations become faster, but VM migration becomes difficult due to exposure of specific physical I/O devices

Engineering Contradiction:
ImproveI/O operation speedVSAvoidVM migration capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a device driver team consisting of a pass-through device driver and a virtual device driver that work together as intermediaries. The pass-through driver enables direct hardware access for performance, while the virtual device driver provides abstraction for migration. The system dynamically switches between them based on whether the VM is migrating or operating normally, resolving the contradiction between performance and migration capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If emulated virtual I/O devices are used to enable transparent VM migration, then VM migration becomes easier with uniformity across hosts, but I/O performance decreases due to emulation overhead

Engineering Contradiction:
ImproveVM migration capabilityVSAvoidI/O operation speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a dynamic device driver team where the system can switch between emulated and pass-through modes based on operational context. During normal operation, the pass-through driver provides high performance. During migration, the system dynamically transitions to the virtual device driver for compatibility. This dynamic adaptation resolves the static trade-off between performance and migration capability.

Inventive Principle:
Principle #15Dynamics

3Productivity

If physical I/O devices are directly exposed to guest software for pass-through access, then performance improves, but the specificity of physical devices complicates migration between different physical servers

Engineering Contradiction:
ImproveI/O operation speedVSAvoidMigration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the device driver functionality into two distinct components: a pass-through device driver for direct hardware access and a virtual device driver for abstracted access. This segmentation allows the system to use the appropriate driver based on the operational state, simplifying migration by isolating the hardware-specific code in the pass-through driver that can be selectively activated or deactivated during migration events.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7743389B2Selecting between pass-through and emulation in a virtual machine environment
Publication Date: 2010.06.22 VMWARE INC
  • US7743389B2 patent drawing
  • US7743389B2 patent drawing
  • US7743389B2 patent drawing

AI summary

According to one or more embodiments a logical virtual device may provide the desired functionality using either a virtual device or a physical device connected to a virtual machine. When the physical device is available, a guest operating system executing on a virtual machine (VM) can be instructed to utilize the physical device. When the VM is migrated between hosts of different underlying hardware, or when the physical device becomes unavailable, e.g., through dynamic reconfiguration or reallocation of physical resources, the guest operating system can be instructed to utilize the virtual device instead.