IP Library › Granted Patent US 8,417,885
Granted Patent B2
US 8,417,885 · App. 12/711,968 · Granted Apr 9, 2013

Method and apparatus for high availability (HA) protection of a running virtual machine (VM)

Inventors: Wu Chou (Basking Ridge, NJ); Weiping Guo (Piscataway, NJ); Vivekananda Velamala (Thornton, CO); Zhi Qiang Zhao (Bridgewater, NJ)
Assignee: Avaya Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,417,885
App. No.
12/711,968
Filed
Feb 24, 2010
Granted
Apr 9, 2013
Kind
B2
Examiner
DOAN, DUC T
Art Unit
2185
USPC
711/112
Abstract

High availability (HA) protection is provided for an executing virtual machine. A standby server provides a disk buffer that stores disk writes associated with a virtual machine executing on an active server. At a checkpoint in the HA process, the active server suspends the virtual machine; the standby server creates a checkpoint barrier at the last disk write received in the disk buffer; and the active server copies dirty memory pages to a buffer. After the completion of these steps, the active server resumes execution of the virtual machine; the buffered dirty memory pages are sent to and stored by the standby server. Then, the standby server flushes the disk writes up to the checkpoint barrier into disk storage and writes newly received disk writes into the disk buffer after the checkpoint barrier.

Claims (77)

1. A method for providing high availability (HA) protection to a virtual machine (VM) executing on an active host, the method comprising:

a first processor of the active host initializing HA protection on a running VM at the active host, wherein the initialization of HA protection occurs without stopping an application executing on the active host and while maintaining a connection of the active host, wherein initializing comprises:

the first processor synchronizing a disk image of the VM between a disk storage at the active host and a standby host while the VM is running;

the first processor and a second processor of the standby host maintaining the synchronization of the disk image of the VM;

after initially synchronizing the disk image of the VM by copying the disk image of the VM from the disk storage at the active host to the standby host and while maintaining the synchronization of the disk image of the VM, the first processor synchronizing a memory image of the VM between the active host and the standby host, wherein, after memory synchronization, the memory image of the VM and disk image of the VM are synchronized;

once disk synchronization and memory synchronization are completed and the disk image and the memory image of the VM are synchronized, the second processor enabling a dynamic disk barrier process to be applied at a checkpoint time; and

at a checkpoint interval time thereinafter, the first processor and the second processor synchronizing the disk image and the memory of the VM between the active host and the standby host for all changes, wherein the standby host controls a synchronization control process at the standby host that utilizes the dynamic disk barrier process to keep the memory and disk images of the VM synchronized at the checkpoint interval time for the VM on the active host and the standby host.

2. The method as defined in claim 1 , wherein synchronizing the disk storage and the memory between the active host and the standby host for all changes, after the check point barrier, to the disk image and the memory image comprises:

copying at least a portion of a memory image associated with the VM to the standby host;

after completing the copy of the memory image, the first processor suspending execution of the VM;

the first processor sending the copy of the memory image from a buffer to the standby host;

in response to receiving the copy of the memory image, a second processor of the standby host activating disk buffering;

the second processor applying the copy of the memory image in a disk buffer up to a first checkpoint barrier marker;

the second processor sending a signal to the active host that the standby host is ready to apply HA protection;

the second processor creating a second checkpoint barrier; and

in response to the signal, the first processor of the active host resuming operation of the VM.

3. The method as defined in claim 2 , further comprising:

determining if a first disk image on the active host is synchronized with a second disk image on the standby host;

if the first disk image on the active host is synchronized with the second disk image on the standby host, the first processor initiating HA protection by copying the memory image; and

if the first disk image on the active host is not synchronized with the second disk image on the standby host, the first processor and the second processor conducting an initial disk synchronization.

4. The method as defined in claim 3 , wherein the disk synchronization is completed with a distributed replicated block device (DRBD) process.

5. The method as defined in claim 2 , wherein copying at least portion of the memory image associated with the VM is completed with Xen live migration.

6. The method as defined in claim 2 further comprising:

after activating disk buffering, the first processor storing a disk write to the first disk storage;

the first processor synchronously sending the disk write to the standby host;

the second processor receiving the disk write from the active host; and

the second processor storing the disk write to the disk buffer.

7. The method as defined in claim 6 , wherein the disk write is received by the standby host while the second processor is applying the copy of the memory image.

8. The method as defined in claim 6 , further comprising:

the first processor determining if a checkpoint has arrived;

if a checkpoint has arrived, the first processor suspending operation of the VM;

the first processor sending a checkpoint signal to the standby host;

the first processor copying the dirty memory pages to a local buffer;

the second processor marking a last disk write before the VM is suspended in the disk buffer as a checkpoint barrier;

the second processor sending a checkpoint okay message to the active host;

the first processor receiving the checkpoint okay message;

in response to receiving the checkpoint okay message and after copying the dirty memory pages, the first processor resuming operation of the VM;

the first processor sending the dirty memory pages to the standby host;

the second processor receiving the dirty memory pages;

in response to receiving the dirty memory pages, the second processor flushing a disk write in the disk buffer up to the checkpoint barrier; and

the second processor applying the dirty memory pages to the memory image of the VM at the standby host.

9. The method as defined in claim 8 , further comprising:

after marking the checkpoint barrier, the second processor receiving a second disk write from the active host; and

the second processor storing the second disk write in the disk buffer after the checkpoint barrier, wherein the second disk write is not flushed.

10. A non-transient computer readable medium having stored thereon instructions that cause a computing system to execute a method for providing high availability (HA) protection to a running virtual machine (VA) executing on an active host, without the active host stopping the execution of an application, the instructions comprising:

instructions to initialize HA protection on the running VM at the active host;

instructions to determine if a checkpoint has arrived during an HA process;

if the checkpoint has arrived, instructions to suspend operation of the VM;

instructions to send a checkpoint signal to a standby host;

instructions to copy a dirty memory page to a buffer at the active host;

instructions to set a last disk write in a disk buffer at the standby host as a checkpoint barrier;

instructions to send a checkpoint okay message to the active host;

instructions to receive the checkpoint okay message from the standby host;

in response to receiving the checkpoint okay message and after copying the dirty memory page, instructions to resume operation of the VM;

instructions to send the dirty memory page to the standby host;

instructions to receive the dirty memory page;

in response to receiving the dirty memory page, instructions to flush two or more disk writes in the disk buffer up to the checkpoint barrier; and

instructions to apply the dirty memory page.

11. The computer readable medium as defined in claim 10 , further comprising:

after setting the checkpoint barrier, instructions to receive a second disk write; and

instructions to store the second disk write in the disk buffer after the checkpoint barrier.

12. The computer readable medium as defined in claim 11 , wherein the second disk write is not included in the flush of the disk buffer.

13. The computer readable medium as defined in claim 11 , wherein the disk synchronization is completed with a distributed replicated block device (DRBD) process.

14. The computer readable medium as defined in claim 11 , wherein copying the memory image associated with the VM is completed with Xen live migration.

15. The computer readable medium as defined in claim 10 , further comprising:

instructions to synchronize a disk on the active host with a disk on the standby host;

instructions to receive the disk write from the active host; and

instructions to store the disk write to a disk buffer.

16. A server computing system comprising:

an active host, the active host comprising a first processor and first memory, the first processor configured to:

initialize HA protection on a running VM first memory, wherein the initialization of HA protection occurs without stopping an application executing on the active host and while maintaining a connection of the active host, wherein initializing comprises:

synchronize a disk image of the VM between a disk storage at the active host and the standby host while the VM is running;

maintain the synchronization of the disk image of the VM with a standby host;

after initially synchronizing the disk image of the VM by copying the disk image of the VM from the disk storage at the active host to the standby host and while maintaining the synchronization of the disk image of the VM, synchronize a memory image of the VM between the active host and the standby host, wherein, after memory synchronization, the memory image and disk image of the VM are synchronized; and

the standby host, the standby host comprising a second processor and a second memory, the second processor configured to:

once disk synchronization and memory synchronization are completed and the disk image and memory image of the VM are synchronized, enable a dynamic disk barrier process to be applied at a checkpoint time; and

at a checkpoint interval time thereinafter, synchronize with the active host, the disk image and the memory of the VM between the active host and the standby host for all changes, wherein the standby host controls a synchronization control process at the standby host that utilizes the dynamic disk barrier process to keep the memory and disk images of the VM synchronized at the checkpoint interval time for the VM on the active host and the standby host.

Assignments (20)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2026
From: AVAYA LLC
To: PULSELINK SYSTEMS LLC
Reel/Frame 074909/0627 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074981/0940 →
INTELLECTUAL PROPERTY PARTIAL RELEASE AND REASSIGNMENT Recorded Feb 4, 2026
From: CITIBANK, N.A.
To: AVAYA LLC (F/K/A AVAYA INC.); AVAYA MANAGEMENT L.P.
Reel/Frame 074944/0573 →
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
Continuity (1)
Related Publication 20110208908A1 · Aug 25, 2011