Hypervisor Device Emulation via Background Guest Mode
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Ease of manufacture
If device emulation is performed externally to the hypervisor, then development costs are reduced, but system complexity increases
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.
Data Source
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.


