Device Driver Wrapper for Seamless Virtualization Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modifying existing device driver modules in use can disrupt other programs or require system reboots, especially in virtualization environments where multiple programs share hardware resources, leading to disruptions in access and stability issues.

Innovation Solution

A device driver wrapper module manages interactions on behalf of the existing device driver, allowing changes to be made without disrupting other programs by intercepting and forwarding communications, maintaining state information, and supporting seamless transitions between different device driver versions or types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If device driver module is modified while in use, then device driver functionality is improved or updated, but program stability deteriorates and system disruption occurs

Engineering Contradiction:
Improvedevice driver update capabilityVSAvoidprogram stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A wrapper module is introduced as an intermediary between the device driver and the program. The wrapper maintains a handle to the device driver and intercepts all communications, allowing the device driver to be replaced or updated while the wrapper continues to function. This mediator absorbs the shock of driver changes, preventing direct disruption to the running program.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into three distinct components: the program, the wrapper module, and the device driver. This segmentation allows independent modification of the device driver without affecting the program, as long as the wrapper maintains compatibility. The wrapper acts as a stable interface layer that decouples the program from direct dependencies on the device driver version.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If device driver module is changed, then new functionality is achieved, but connection continuity deteriorates

Engineering Contradiction:
Improvedevice driver version flexibilityVSAvoidconnection continuity
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

Solution Approach 1:

The wrapper module serves as a persistent intermediary that maintains the connection handle throughout device driver changes. When a new device driver is loaded, the wrapper updates its internal handle while preserving the external interface, ensuring continuous connection without requiring program restart or re-establishment of connections.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The wrapper module pre-establishes a handle to the device driver before any changes occur. This preliminary action creates a stable reference point that can survive driver replacements. The wrapper is designed in advance to handle driver changes, so when updates occur, the connection continuity is maintained through the pre-configured wrapper infrastructure.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If device driver module is modified in virtualization environment, then hardware resource sharing is improved, but access disruption increases

Engineering Contradiction:
Improvehardware resource sharing efficiencyVSAvoidaccess disruption
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

In virtualization environments, the wrapper acts as an intermediary between virtual machine device drivers and physical hardware drivers. This allows independent updates of either layer without disrupting the other, enabling efficient hardware resource sharing while minimizing access disruptions through the wrapper's buffer zone that absorbs changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10198277B2Facilitating device driver interactions
Publication Date: 2019.02.05 AMAZON TECH INC
  • US10198277B2 patent drawing
  • US10198277B2 patent drawing
  • US10198277B2 patent drawing

AI summary

Techniques are described for facilitating interactions with device driver modules. In at least some situations, the techniques include managing interactions between device driver modules and other programs or hardware devices so as to minimize disruptions related to the device driver modules, including when changes to existing device driver modules are made. Such device driver module changes may have various forms and may occur for various reasons, including to install new versions of device driver modules or otherwise upgrade existing device driver modules. Furthermore, the interactions with device driver modules may be managed in various manners, including to allow changes to occur to a device driver module while that device driver module is in use on a computing system, but without causing other programs on the computing system to be restarted or to lose existing connections to the device driver module being changed.