Virtual Device Driver for Virtualization Boot I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, maintaining two sets of device drivers for the commodity operating system (COS) and the virtualization kernel leads to inefficiencies and shortcomings, particularly during the boot process, as I/O devices are often exclusively allocated to the COS, resulting in complex transfer and re-initialization processes and limited fault tolerance.

Innovation Solution

The method involves accessing I/O devices needed by the COS through the virtual machine kernel and its drivers, eliminating the need for exclusive allocation of I/O devices like storage and networking devices to the COS during booting, thereby allowing the COS to benefit from features provided by the virtual machine kernel for these devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If I/O devices are exclusively allocated to the COS during booting, then the COS can directly access these devices for boot operations, but the system complexity increases due to the need for driver transfer and re-initialization processes

Engineering Contradiction:
ImproveCOS direct access to I/O devicesVSAvoiddriver transfer and re-initialization processes
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a virtual device driver as an intermediary component that mediates between the COS and the physical I/O devices. This virtual driver is loaded into the COS during booting and provides a unified interface, eliminating the need for separate driver transfer processes while maintaining direct device access capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtual device driver serves multiple functions: it acts as a device driver for the COS, provides fault tolerance features, and enables resource sharing with the virtualization kernel. This multi-functionality consolidates what would otherwise require separate components, reducing overall system complexity.

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

2Reliability

If two sets of drivers are maintained for COS and virtualization kernel, then each component can have dedicated driver support, but system maintenance complexity and resource consumption increase

Engineering Contradiction:
Improvededicated driver support for each componentVSAvoidmaintaining two sets of drivers
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the driver functionality into a single virtual device driver that serves both the COS and the virtualization kernel. This unified driver approach maintains the reliability benefits of dedicated support while eliminating the complexity of maintaining separate driver sets, as the virtual driver can be configured to provide fault tolerance and resource sharing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If I/O devices are exclusively allocated to COS, then the boot process can proceed efficiently, but fault tolerance capabilities are limited

Engineering Contradiction:
Improveboot process efficiencyVSAvoidfault tolerance capabilities
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The virtual device driver implements dynamic resource management that allows the system to transition from exclusive COS allocation during booting to shared access modes during operation. This dynamic approach maintains boot efficiency while enabling fault tolerance through virtualization kernel intervention when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The virtual device driver is pre-loaded into the COS during the booting process, providing fault tolerance capabilities before they are needed. This beforehand preparation ensures that when failures occur, the system can immediately leverage the virtualization kernel for recovery without delaying the boot process.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS7840790B1Method and system for providing device drivers in a virtualization system
Publication Date: 2010.11.23 VMWARE INC
  • US7840790B1 patent drawing
  • US7840790B1 patent drawing
  • US7840790B1 patent drawing

AI summary

In a virtualization computer system, a method and system that does not exclusively allocate I/O devices, for example, storage and networking devices, to a commodity operating system (COS) when mainly used for booting the virtualization system. Those I/O devices needed by the COS are accessed via virtual machine kernel drivers, thereby giving the COS the benefits of operation derived from features in the virtual machine kernel that is provided for these I/O devices.