IP Library › Granted Patent US 8,983,961
Granted Patent B2
US 8,983,961 · App. 13/688,821 · Granted Mar 17, 2015

High availability for cloud servers

Inventors: Hoi Y. Chan (Stamford, CT); Trieu C. Chieu (Scarsdale, NY)
Assignee: International Business Machines Corporation
G06F17/30088G06F9/455G06F2009/4557
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,983,961
App. No.
13/688,821
Filed
Nov 29, 2012
Granted
Mar 17, 2015
Kind
B2
Examiner
LY, ANH
Art Unit
2162
USPC
707/639
Abstract

A high availability system in a cloud computing environment includes a snapshot manager disposed in a mirror environment having at least one computer server and a plurality of virtual machines disposed in a production environment. Each of the plurality of virtual machines includes a snapshot agent configured to perform a method. The method includes periodically taking snapshots of the virtual machine associated with the snapshot agent, determining a delta image based on a change between a current snapshot and a previous snapshot, removing previous snapshots in the virtual machine and transmitting the delta image to the snapshot manager. The snapshot manager is configured to store a recovery image for each of the plurality of virtual machines and to merge the received delta image with the recovery image to update the recovery image.

Claims (41)

1. A high availability system in a cloud computing environment, the system comprising:

a snapshot manager disposed in a mirror environment, the mirror environment comprising at least one computer server; and

a plurality of virtual machines disposed in a production environment, each of the plurality of virtual machines comprising a snapshot agent configured to perform a method comprising:

periodically taking snapshots of the virtual machine associated with the snapshot agent, wherein the snapshot includes all of the files that constitute the virtual machine including a state and a data of a virtual machine at a specific point in time;

determining a delta image based on a change between a current snapshot and a previous snapshot;

removing previous snapshots in the virtual machine; and

transmitting the delta image to the snapshot manager;

wherein the snapshot manager is configured to store a recovery image for each of the plurality of virtual machines and to merge the received delta image with the recovery image to update the recovery image,

wherein the snapshot agent is further configured to monitor a health of the virtual machine and to notify the snapshot manager if the virtual machine experiences abnormal behavior,

wherein the snapshot agent comprises a policy engine configured to control snapshot collection, and

wherein the policy engine is configured to collect system and application performance information for the virtual machine and to responsively determine how frequently snapshots are taken.

2. The high availability system of claim 1 , wherein the snapshot manager is further configured to transmit the recovery image to the snapshot agent in response to a notification that the virtual machine has experience abnormal behavior.

3. The high availability system of claim 1 , wherein the production environment further comprises a database configured to store one or more base images that are used for newly created virtual machines.

4. A high availability system in a cloud computing environment, the system comprising:

a snapshot manager disposed in a mirror environment, the mirror environment comprising at least one computer server; and

a plurality of virtual machines disposed in a production environment, each of the plurality of virtual machines comprising a snapshot agent configured to perform a method comprising:

periodically taking snapshots of the virtual machine associated with the snapshot agent, wherein the snapshot includes all of the files that constitute the virtual machine including a state and a data of a virtual machine at a specific point in time

determining a delta image based on a change between a current snapshot and a previous snapshot;

removing previous snapshots in the virtual machine; and

transmitting the delta image to the snapshot manager;

wherein the snapshot manager is configured to store a recovery image for each of the plurality of virtual machines and to merge the received delta image with the recovery image to update the recovery image,

wherein the snapshot agent is further configured to monitor a health of the virtual machine and to notify the snapshot manager if the virtual machine experiences abnormal behavior,

wherein the standby instance of the virtual machine is used to replace to virtual machine in the event of a crash of the virtual machine, and

wherein the snapshot manager is configured to create a standby instance of the virtual machine based on the recovery image.

5. The high availability system of claim 1 , wherein the snapshot manager is configured to identify and utilize an under utilized resource with the cloud computing environment for merging the received delta image with the recovery image to update the recovery image.

6. A computer program product for providing a high availability system in a cloud computing environment, the computer program product comprising:

a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

creating an virtual machine in response to a user request;

creating a snapshot agent for the virtual machine and registering the snapshot agent with a snapshot manager, wherein the snapshot agent is configured to:

periodically take snapshots of the virtual machine associated with the snapshot agent, wherein the snapshot includes all of the files that constitute the virtual machine including a state and a data of a virtual machine at a specific point in time;

determine a delta image based on a change between a current snapshot and a previous snapshot;

remove previous snapshots in the virtual machine;

transmit the delta image to the snapshot manager; and

monitor a health of the virtual machine and to notify the snapshot manager if the virtual machine experiences abnormal behavior;

receiving a recovery image for the virtual machine from the snapshot manager in response to the virtual machine experiencing abnormal behavior; and

restoring the virtual machine with the recovery image,

wherein the snapshot manager is configured to store the recovery image for the virtual machine and to merge the received delta images with the recovery image to update the recovery image.

7. The computer program product of claim 6 , wherein the snapshot agent comprises a policy engine configured to control snapshot collection.

8. The computer program product of claim 7 , wherein the policy engine is configured to collect system and application performance information for the virtual machine and to responsively determine how frequently snapshots are taken.

9. The computer program product of claim 6 , wherein the snapshot manager is configured to create a standby instance of the virtual machine based on the recovery image.

10. The computer program product of claim 9 , wherein the standby instance of the virtual machine is used to replace to virtual machine in the event of a crash of the virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2012
From: CHAN, HOI Y.; CHIEU, TRIEU C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029374/0593 →
Continuity (1)
Related Publication 20140149352A1 · May 29, 2014