Shunt Driver Virtual Machine Mode Transition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency and cumbersome nature of virtual machine operations in emulating mode, where requests are routed through a circuitous path involving the virtualization layer, leading to performance and manageability issues, as opposed to the enlightened mode which bypasses the virtualization layer but requires ensuring that requests are properly directed to the enlightened stack.

Innovation Solution

Incorporating a shunt driver within the emulating stack to divert requests to the enlightened stack when the virtual machine is in enlightened mode, ensuring that all hardware device requests are processed efficiently without interference between the emulating and enlightened stacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If requests are routed through the virtualization layer in emulating mode, then the virtual machine can operate with a simple stack structure, but the request path becomes circuitous and performance deteriorates

Engineering Contradiction:
Improvestack structure complexityVSAvoidrequest processing performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a shunt driver as an intermediary component within the emulating stack that intercepts requests and redirects them to the enlightened stack. This mediator resolves the contradiction by maintaining the simplicity of the emulating stack structure while improving performance through intelligent request routing, allowing the system to benefit from both approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the virtual machine operates in enlightened mode bypassing the virtualization layer, then request processing efficiency improves, but ensuring proper request direction becomes more complex

Engineering Contradiction:
Improverequest processing efficiencyVSAvoidrequest routing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shunt driver is installed and configured in advance within the emulating stack to automatically intercept and redirect requests before they reach the virtualization layer. This preliminary action ensures that requests are properly directed to the enlightened stack without requiring complex runtime decision-making or modifying the fundamental request routing architecture.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a shunt driver is added to the emulating stack to redirect requests, then performance improves by bypassing the virtualization layer, but the stack structure becomes more complex

Engineering Contradiction:
Improverequest processing performanceVSAvoidstack structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the request handling functionality by introducing a dedicated shunt driver component that operates independently within the emulating stack. This segmentation allows the stack to maintain its original simple structure for most operations while adding targeted complexity only where needed for request interception and redirection, minimizing overall structural complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7984438B2Virtual machine transitioning from emulating mode to enlightened mode
Publication Date: 2011.07.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7984438B2 patent drawing
  • US7984438B2 patent drawing
  • US7984438B2 patent drawing

AI summary

A computing device has a hardware device employed to provide a hardware service to the computing device and a plurality of virtual machines including a host virtual machine (VM-H) to which the hardware device is assigned, and a client virtual machine (VM-C) that can consume the hardware service by way of the VM-H. The VM-C includes an emulating stack and an enlightened stack. The emulating stack interfaces an application requesting the hardware service with a trap in a virtualization layer of the computing device which re-directs the request to the VM-H. The enlightened stack interfaces the application with the VM-H and bypasses the virtualization layer. The emulating stack includes a shunt driver that shunts to the enlightened stack each request from the application directed to the emulating stack.