Nested Hypervisor for Seamless Cloud VM Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customers face challenges in seamlessly migrating virtual machines between public and private clouds due to differences in underlying hardware or hypervisor, which hinders efficient hybrid cloud operations and resource utilization.

Innovation Solution

The implementation of a nested hypervisor within a virtual machine, which allocates resources without re-virtualizing them, allowing for efficient execution and management across different cloud environments without performance degradation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional virtualization is used to migrate VMs between public and private clouds, then hardware compatibility is improved, but performance degradation occurs due to re-virtualization overhead

Engineering Contradiction:
Improvehardware compatibilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a nested hypervisor architecture where a lightweight nested hypervisor runs inside the guest VM on the public cloud, allowing the VM to be migrated to private cloud by running the same nested hypervisor there. This eliminates re-virtualization overhead because the nested hypervisor directly manages hardware resources without needing to re-virtualize them, thus maintaining performance while achieving hardware compatibility across different cloud environments

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The nested hypervisor acts as an intermediary layer between the guest OS and the underlying hardware. It provides a consistent virtualization interface that abstracts hardware differences between public and private clouds, allowing seamless migration while maintaining optimal performance through direct hardware access when needed

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If nested hypervisor is implemented to eliminate re-virtualization, then performance is improved, but device complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidvirtualization layer complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The nested hypervisor is designed with local quality by implementing only the specific virtualization functions needed for the guest VM, rather than a full-featured hypervisor. This lightweight approach reduces complexity while maintaining performance benefits by eliminating re-virtualization overhead for the specific use case

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If seamless migration between clouds is enabled, then adaptability is improved, but underlying hardware differences create management challenges

Engineering Contradiction:
Improvecloud migration capabilityVSAvoidmanagement ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The nested hypervisor provides a universal interface that works across different cloud environments and hardware platforms. It implements standard virtualization APIs and hardware abstraction that allow the same VM image to run on diverse underlying hardware without requiring environment-specific configuration, thus enabling seamless migration while maintaining ease of operation

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

Data Source

PatentUS10747562B2Nested hypervisor to run virtual machines on public clouds
Publication Date: 2020.08.18 VMWARE INC
  • US10747562B2 patent drawing
  • US10747562B2 patent drawing
  • US10747562B2 patent drawing

AI summary

An example method of provisioning a virtual machine in a cloud system includes: receiving a request to provision the virtual machine in the cloud system; provisioning a first virtual machine managed by a hypervisor executing on a host computer in the cloud system, the hypervisor allocating resources to the first virtual machine; provisioning a nested hypervisor in the first virtual machine; and provisioning the virtual machine to execute on the nested hypervisor without re-virtualizing the resources allocated by the hypervisor to the nested hypervisor.