Nova Patents
US8260904B2

Virtual machine migration

Summary by NHIP

Live Virtual Machine Migration

The method migrates an executing source virtual machine to a destination computer by transferring memory, suspending the source, moving non-memory state, and retransferring modified memory units. The process either iteratively retransfers modified pages before suspension or performs this retransfer after the destination resumes execution.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A source virtual machine (VM) hosted on a source server is migrated to a destination VM on a destination server without first powering down the source VM. After optional pre-copying of the source VM's memory to the destination VM, the source VM is suspended and its non-memory state is transferred to the destination VM; the destination VM is then resumed from the transferred state. The source VM memory is either paged in to the destination VM on demand, or is transferred asynchronously by pre-copying and write-protecting the source VM memory, and then later transferring only the modified pages after the destination VM is resumed. The source and destination servers preferably share common storage, in which the source VM's virtual disk is stored; this avoids the need to transfer the virtual disk contents. Network connectivity is preferably also made transparent to the user by arranging the servers on a common subnet, with virtual network connection addresses generated from a common name space of physical addresses.

US8260904B2, drawing sheet 1
Sheet 1 of 4

Term

Term ended

Expired 14 November 2023, 2.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

38 claims: 3 independent, 35 dependent

  1. 1
    Broadest claimClaim Score 58, broad(NHIP)A computer program embodied in a computer-readable storage medium, the computer program implementing a method for migrating a source virtual machine (VM) installed on a source computer to a destination computer, the method comprising:(a) transferring source VM memory to a destination VM on the destination computer while the source VM is executing on the source computer;(b) suspending execution of the source VM;(c) transferring non-memory source VM state information to the destination VM;(d) executing the destination VM from the transferred non-memory source VM state;and (e) retransferring to the destination VM units of the source VM memory that have been modified since they were previously transferred from the source VM to the destination VM.
  2. 17
    A virtual computer system comprising:a source virtual machine (VM) executing on a source computer;a destination VM configured on a destination computer;and computer software executing on the source and destination computers, the computer software implementing a method for migrating the source VM to the destination computer, the method comprising: (a) transferring source VM memory to the destination VM while the source VM is executing on the source computer;(b) suspending execution of the source VM;(c) transferring non-memory source VM state information to the destination VM;(d) executing the destination VM from the transferred non-memory source VM state;and (e) retransferring to the destination VM units of the source VM memory that have been modified since they were previously transferred from the source VM to the destination VM.
  3. 33
    A computer program embodied in a computer-readable storage medium, the computer program implementing a method for migrating a source virtual machine (VM) installed on a source computer to a destination computer, the method comprising:pre-copying source VM memory to the destination VM;suspending execution of the source VM;transferring non-memory source VM state information to the destination VM, wherein the pre-copying of source VM memory is done before transferring the non-memory source VM state information;running the destination VM from the transferred non-memory source VM state;and after transferring the non-memory source VM state information, retransferring to the destination VM one or more units of the source VM memory that the source VM has modified during the interval between when the memory units were pre-copied to the destination VM and when the non-memory source VM state information was transferred.