Virtual Machine Slot Reuse for High Availability Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, migrating applications with high availability requirements is resource-intensive and inefficient, as it often necessitates doubling the resources needed for both the application's operation and the migration process, leading to suboptimal resource utilization.

Innovation Solution

The implementation of an application upgrader that identifies reserved slots for failover and uses them for migration-based upgrades, allowing the application to switch roles between source and target virtual machines without requiring additional resources, thereby reducing the resource footprint during the upgrade process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional migration methods are used to migrate high availability applications, then the application can be moved between virtual machines, but additional CPU and memory resources are required, leading to increased resource consumption

Engineering Contradiction:
Improvehigh availabilityVSAvoidresource allocation
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The virtual machine slot serves multiple functions: it can be used for running production workloads during normal operation and for receiving migrated workloads during failover events. The same physical hardware resources are dynamically allocated between different virtual machines based on operational needs, eliminating the requirement for dedicated backup resources.

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

Solution Approach 2:

The system dynamically adjusts resource allocation between the source virtual machine and target virtual machine based on the operational state. During normal operation, the slot is assigned to production workloads. During migration or failover, the slot is dynamically reassigned to receive the migrated workload, with resources being reallocated in real-time without requiring permanent additional capacity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If reserved slots are allocated for failover purposes, then high availability is maintained, but resource utilization efficiency decreases due to idle reserved capacity

Engineering Contradiction:
Improvefailover capabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary identification of suitable target virtual machines and their slots before actual failover occurs. By pre-assessing resource availability, compatibility, and capacity in the slot pool, the system ensures that when failover is needed, resources are already identified and ready, eliminating the need for permanent reserved slots while maintaining rapid failover capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The virtualization management system automatically manages the slot allocation and resource distribution without requiring manual intervention or pre-configured reserved capacity. The system self-adjusts by identifying available slots in the pool, allocating them for migration purposes, and then reallocating them back to production use after successful migration, thereby serving its own resource management needs efficiently.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11842210B2Systems, methods, and apparatus for high availability application migration in a virtualized environment
Publication Date: 2023.12.12 VMWARE INC
  • US11842210B2 patent drawing
  • US11842210B2 patent drawing
  • US11842210B2 patent drawing

AI summary

Methods, apparatus, systems, and articles of manufacture are disclosed for high availability (HA) application migration in a virtualized environment. An example apparatus includes at least one memory, instructions in the apparatus, and processor circuitry to at least one of execute or instantiate the instructions to identify an HA slot in a virtual server rack, the HA slot to facilitate a failover of an application executing on a first virtual machine (VM) in the virtual server rack, the first VM identified as a protected VM, deploy a second VM in the HA slot, transfer data from the first VM to the second VM, and, in response to not identifying a failure of at least one of the first or second VMs during the transfer, trigger a shutdown of the first VM, and synchronize migration data associated with the virtual server rack to identify the second VM as the protected VM.