Multi-hypervisor Virtual Machine for Cloud Service Flexibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current nested virtualization solutions restrict a level 2 (L2) virtual machine to run on only one level 1 (L1) hypervisor at a time, preventing it from utilizing services from multiple L1 hypervisors simultaneously.
Innovation Solution
The implementation of a multi-hypervisor virtual machine (MHVM) that allows a virtual machine to execute simultaneously on multiple co-located hypervisors, sharing memory and partitioning virtual CPU and I/O responsibilities among them, enabling the use of diverse L1 services such as intrusion detection and real-time CPU scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If an L2 VM runs on only one L1 hypervisor at a time, then system simplicity is maintained, but the VM cannot utilize services from multiple L1 hypervisors simultaneously
Solution Approach 1:
The patent segments the hypervisor functionality by introducing multiple L1 hypervisors (H1, H2, H3, H4) that can coexist on the same physical machine, each providing different services. The L2 VM is segmented to interact with multiple hypervisors simultaneously rather than being bound to a single one, enabling selective use of diverse services from different hypervisors.
Solution Approach 2:
The L2 VM is designed with multi-functionality to interact with multiple L1 hypervisors simultaneously. It can execute instructions and access services from different hypervisors (H1, H2, H3, H4) based on the specific service needed, making the VM universal in its ability to utilize various hypervisor services rather than being specialized for a single hypervisor.
2Adaptability or versatility
If nested virtualization is implemented, then VMs running commodity operating systems can host other operating systems, but the L2 VM is restricted to a single L1 hypervisor
Solution Approach 1:
The patent introduces an intermediary mechanism where the L2 VM can transparently interact with multiple L1 hypervisors through a unified interface. The system mediates between the L2 VM and multiple L1 hypervisors, handling the complexity of multi-hypervisor coordination while presenting a simplified interface to the VM, thus maintaining reliability while enabling service diversity.
3Ease of operation
If a single L1 hypervisor is used for an L2 VM, then management is simplified, but flexibility and performance optimization are limited
Solution Approach 1:
The patent introduces dynamic behavior where an L2 VM can flexibly select and switch between multiple L1 hypervisors based on the specific service requirements for different operations. The system dynamically routes VM instructions to appropriate hypervisors (H1, H2, H3, or H4) depending on which service is needed, optimizing performance while maintaining ease of operation through automated management.
Data Source
AI summary
Standard nested virtualization allows a hypervisor to run other hypervisors as guests, i.e. a level-0 (L0) hypervisor can run multiple level-1 (L1) hypervisors, each of which can run multiple level-2 (L2) virtual machines (VMs), with each L2 VM is restricted to run on only one L1 hypervisor. Span provides a Multi-hypervisor VM in which a single VM can simultaneously run on multiple hypervisors, which permits a VM to benefit from different services provided by multiple hypervisors that co-exist on a single physical machine. Span allows (a) the memory footprint of the VM to be shared across two hypervisors, and (b) the responsibility for CPU and I/O scheduling to be distributed among the two hypervisors. Span VMs can achieve performance comparable to traditional (single-hypervisor) nested VMs for common benchmarks.


