Hypervisor Device Emulation via Background Guest Mode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization technologies face high development costs due to the inclusion of emulation code within the hypervisor, which requires extensive certification and increases the size of the hypervisor code, leading to increased inspection costs.

Innovation Solution

Implementing a method where device emulation occurs external to the hypervisor, using a hypervisor that establishes two virtual machines - a foreground and a background - where the foreground virtual machine executes guest code and the background virtual machine emulates devices as coroutines, sharing resources and reducing the need for costly certification of emulation code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If emulation code is included within the hypervisor, then device emulation functionality is provided, but software development costs and certification burden increase

Engineering Contradiction:
Improvedevice emulation functionalityVSAvoidsoftware development cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent extracts the emulation code from the hypervisor and places it in a separate guest environment. The hypervisor now only contains the framework to establish and manage guest environments, while the actual device emulation logic resides in the emulating guest environment. This separation reduces the hypervisor's size and certification burden while maintaining full device emulation functionality through inter-environment communication via device calls.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If emulation code is included within the hypervisor, then device emulation is achieved, but hypervisor code size increases leading to increased inspection costs

Engineering Contradiction:
Improvedevice emulation capabilityVSAvoidhypervisor code size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The emulation code is extracted from the hypervisor and relocated to a separate emulating guest environment. The hypervisor retains only the essential framework for creating and managing guest environments, significantly reducing its code size. The extracted emulation code maintains full device emulation capability by receiving device calls from requesting guest environments and returning results through the hypervisor.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If device emulation is performed externally to the hypervisor, then development costs are reduced, but system complexity increases

Engineering Contradiction:
Improvedevelopment costVSAvoidsystem architecture
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The hypervisor serves as an intermediary between requesting guest environments and the emulating guest environment. It manages the communication protocol, routes device calls appropriately, and handles result transmission. This intermediary role simplifies the overall system architecture by providing a standardized interface while allowing the emulation logic to remain external and independently developable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9122549B2Method and system for emulation of instructions and hardware using background guest mode processing
Publication Date: 2015.09.01 WIND RIVER SYSTEMS INC
  • US9122549B2 patent drawing
  • US9122549B2 patent drawing
  • US9122549B2 patent drawing

AI summary

A method includes receiving, from a requesting guest environment, a device call requesting access to a device; sending the device call to an emulating guest environment, the emulating guest environment emulating the device; receiving, from the emulating guest environment, a result of the device call; and sending the result of the device call to the requesting guest environment.