Situation-Aware Virtual Machine Migration for Cluster Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized systems, node upgrades often require significant computing resources and time, with virtual machines (VMs) needing to be migrated back and forth between nodes, leading to long upgrade windows and inefficient use of network bandwidth.

Innovation Solution

The implementation of situation-aware virtual machine migration techniques that determine when a node upgrade does not require a reboot, allowing for the management of memory during the upgrade cycle, thereby reducing unnecessary data transfer and optimizing migration processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machines are migrated back and forth between nodes during node upgrades, then node upgrades can be performed in a multi-node cluster, but the upgrade time and network bandwidth consumption increase significantly

Engineering Contradiction:
Improvenode upgrade capabilityVSAvoidupgrade time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system determines in advance whether a node upgrade requires a reboot before initiating VM migration. By checking the reboot requirement status beforehand, the system avoids unnecessary VM migration cycles for upgrades that don't require reboots, thereby reducing upgrade time and network bandwidth consumption while maintaining the ability to perform upgrades when necessary.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If virtual machines are migrated back and forth between nodes during node upgrades, then node upgrades can be performed in a multi-node cluster, but network bandwidth consumption increases

Engineering Contradiction:
Improvenode upgrade capabilityVSAvoidnetwork bandwidth
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system checks whether a reboot is required before initiating VM migration during node upgrades. This preliminary determination prevents unnecessary VM migration and data transfer over the network for upgrades that can be performed without reboots, thereby conserving network bandwidth while maintaining upgrade capability when needed.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If virtual machines are migrated during node upgrades, then nodes can be maintained and upgraded, but the complexity of the upgrade process increases

Engineering Contradiction:
Improvenode maintenanceVSAvoidupgrade process complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system performs a preliminary check to determine whether a node upgrade requires a reboot before initiating the VM migration process. This early determination simplifies the upgrade process by avoiding unnecessary migration steps for non-reboot upgrades, thereby reducing process complexity while maintaining the ability to handle both reboot and non-reboot upgrade scenarios.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11416277B2Situation-aware virtual machine migration
Publication Date: 2022.08.16 NUTANIX INC
  • US11416277B2 patent drawing
  • US11416277B2 patent drawing
  • US11416277B2 patent drawing

AI summary

Methods, systems and computer readable medium for fast cluster upgrades. The disclosed techniques can be applied during an upgrade of a multi-node cluster when upgrading cluster software and/or hardware. Techniques applied include pausing a virtual machine (VM) at a first node, then communicating then-current states of the paused VM to a second node that executes a migrated clone of the paused VM. While the migrated cloned VM is running at the second node, changes to states of the cloned VM are tracked. When the upgrade of the first node has completed, then when migrating the cloned VM back to the first node, only the tracked state changes of the cloned VM are sent from the second node to the first node. The tracked state changes are used to update the states of the paused VM at the first node. The updated VM is resumed at the first node.