Multi-hypervisor Virtual Machine for Cloud Service Flexibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveability to use multiple L1 servicesVSAvoidmulti-hypervisor coordination
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveservice diversity accessVSAvoidhypervisor compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvehypervisor managementVSAvoidVM performance
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240111566A1Multi-hypervisor virtual machines
Publication Date: 2024.04.04 THE RES FOUNDATION FOR THE STATE UNIV OF NEW YORK
  • US20240111566A1 patent drawing
  • US20240111566A1 patent drawing
  • US20240111566A1 patent drawing

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.