Virtual Machine Memory Migration with Fault Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine migration techniques face issues with prolonged suspension of execution due to the need to transfer remaining VM memory after a fault occurs, risking data loss if the source host fails during migration.

Innovation Solution

The method involves iteratively copying VM memory from the source host to the destination host, preserving the original state of each page and defining a recovery point, allowing the VM to suspend and resume execution while ensuring data integrity and fault recovery by logging modified pages and setting read-only flags.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the remaining VM memory is transferred to the destination host before the VM resumes execution, then the VM is protected from data loss in case of source host failure, but the VM suspends execution for an unacceptably long period of time

Engineering Contradiction:
ImproveVM data integrityVSAvoidVM suspension time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by transferring a first portion of VM memory to the destination host before the VM suspends execution on the source host. This allows the VM to be partially migrated and protected against data loss while minimizing the suspension time, as the remaining memory transfer can occur more quickly after suspension.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the VM memory transfer into multiple portions: a first portion transferred before suspension, and a second portion transferred after suspension. This segmentation allows the migration process to balance between reliability (ensuring data is transferred before potential failure) and time (minimizing suspension duration).

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the remaining VM memory is transferred after the VM suspends execution on the source host, then the suspension time is reduced, but the VM is exposed to faults on the source host risking data loss

Engineering Contradiction:
ImproveVM suspension timeVSAvoidVM data integrity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs preliminary transfer of the first portion of VM memory before the VM suspends execution on the source host. This preliminary action ensures that critical data is already at the destination host, reducing the risk of data loss even if the source host fails during the brief suspension period.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If the VM memory is transferred in a single operation, then the migration process is simple, but the VM must suspend execution for a long time and is exposed to faults

Engineering Contradiction:
Improvemigration process complexityVSAvoidVM suspension time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent divides the VM memory transfer into multiple segments or portions, where the first portion is transferred before suspension and the second portion is transferred after suspension. This segmentation reduces the VM suspension time while maintaining migration process manageability through structured multi-phase transfer.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8689211B2Live migration of virtual machines in a computing environment
Publication Date: 2014.04.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8689211B2 patent drawing
  • US8689211B2 patent drawing
  • US8689211B2 patent drawing

AI summary

A method for migrating a virtual machine (VM) in a computing environment is provided. The method comprises receiving a request to migrate a VM executing on a source host to a destination host; defining a recovery point to which the VM is restored during recovery from a fault; and iteratively copying a memory of the source host associated with the VM to the destination host. During the copying, the original state of each page in the memory is preserved. At some point, the VM suspends executing on the source host, copies state information associated with the VM to the destination host, and resumes executing on the destination host. If a fault is detected on the source host, the VM is restored to the recovery point using preserved information.