IP Library Granted Patent US 9,619,342
Granted Patent B2
US 9,619,342 · App. 14/312,738 · Granted Apr 11, 2017

Back up and recovery in virtual machine environments

Inventors: Zhengwen He (Rochester, MN); Mandeep K. Jandir (San Jose, CA); James P. Smith (Redwood City, CA); Mark L. Yakushev (San Jose, CA); Christopher Zaremba (Endicott, NY)
Assignee: International Business Machines Corporation
G06F11/1471G06F11/1451G06F11/1469G06F2201/80G06F2201/815G06F2201/84
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 9,619,342
App. No.
14/312,738
Granted
Apr 11, 2017
Kind
B2
Abstract

Embodiments of the present invention provide efficient and cost-effective systems and methods for backing up and recovering a virtual machine and application data therein. Embodiments of the present invention can be used to satisfy near-zero RPOs by providing more recovery points for backups in virtual machine environments, while also providing increased granularity for recovery (i.e., single virtual disk, single file, etc.) and maintaining central management capabilities and back up efficiencies offered by virtual machine-level backups.

Claims (59)

1. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to identify an application executing in a guest operating system in a virtual machine and log data associated with the application, wherein the log data represents changes to data of SQL database transaction logs that have occurred since a point in time;

program instructions to query a relational data structure to determine when a full backup of the virtual machine has been generated and stored;

program instructions, responsive to generation of the full backup of the virtual machine, to create an incremental backup of the virtual machine;

program instructions to store the incremental backup of the virtual machine;

program instructions to confirm that the full and incremental backups of the virtual machine have been stored in the one or more storage devices, and that the full and incremental backups of the virtual machine are in a data format that is compatible with a data format used to back up the log data, via the relational data structure;

program instructions to create a backup of the log data;

program instructions to store the backup of the log data; and

program instructions to relate in the relational data structure the full and incremental backups of the virtual machine and the backup of the log data.

2. The computer program product of claim 1 , wherein the application is a database management program and the log data comprises a transaction log describing modifications made to an SQL database.

3. The computer program product of claim 1 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute in the guest operating system, one or more programs to access a file system of the guest operating system; and

program instructions to execute in the guest operating system, one or more programs to copy one or more log files containing the log data.

4. The computer program product of claim 1 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to create a backup of the log data associated with the application.

5. The computer program product of claim 1 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to invoke a snapshot of the virtual machine; and

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to copy the log data from the snapshot of the virtual machine, wherein the log data is associated with the application.

6. The computer program product of claim 1 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to invoke a snapshot of one or more virtual disks of the virtual machine on which the log data reside;

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to mount the snapshot of the one or more virtual disks of the virtual machine on which the log data reside; and

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to copy the log data from the mounted snapshot.

7. The computer program product of claim 1 , wherein the program instructions stored on the one or more computer readable storage media further comprise:

program instructions to identify one or more available recovery points for recovering data based on time points associated with backups of the virtual machine stored in the one or more storage devices and backups of the log data stored in the one or more storage devices;

program instructions to receive a selection of an available recovery point from the one or more available recovery points;

program instructions to identify a backup of the virtual machine and a backup of the log data that are needed to satisfy the selected recovery point;

program instructions to receive from the one or more storage devices, the identified backup of the virtual machine and the identified backup of the log data that are needed to satisfy the selected recovery point;

program instructions to mount the identified backup of the virtual machine and initiating recovery of the application; and

program instructions to provide to the application the log data from the identified backup of the log data.

8. A computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to identify an application executing in a guest operating system in a virtual machine and log data associated with the application, wherein the log data represents changes to data of SQL database transaction logs that have occurred since a point in time;

program instructions to query a relational data structure to determine when a full backup of the virtual machine has been generated and stored;

program instructions, responsive to generation of the full backup of the virtual machine, to create an incremental backup of the virtual machine;

program instructions to store the incremental backup of the virtual machine;

program instructions to confirm that the full and incremental backups of the virtual machine have been stored in the one or more storage devices and that the full and incremental backups of the virtual machine are in a data format that is compatible with a data format used to back up the log data, via the relational data structure;

program instructions to create a backup of the log data;

program instructions to store the backup of the log data; and

program instructions to relate in the relational data structure the full and incremental backups of the virtual machine and the backup of the log data.

9. The system of claim 8 , wherein the application is a database management program and the log data comprises a transaction log describing modifications made to an SQL database.

10. The system of claim 8 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to create a backup of the log data associated with the application.

11. The system of claim 8 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to invoke a snapshot of the virtual machine; and

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to copy the log data from the snapshot of the virtual machine, wherein the log data is associated with the application.

12. The system of claim 8 , wherein the program instructions to create a backup of the log data associated with the application comprise:

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to invoke a snapshot of one or more virtual disks of the virtual machine on which the log data reside;

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to mount the snapshot of the one or more virtual disks of the virtual machine on which the log data reside; and

program instructions to execute outside of the guest operating system, one or more programs to inject code into the virtual machine to copy the log data from the mounted snapshot.

13. The system of claim 8 , wherein the program instructions stored on the computer readable storage media for execution by at least one of the one or more processors further comprise:

program instructions to identify one or more available recovery points for recovering data based on time points associated with backups of the virtual machine stored in the one or more storage devices and backups of the log data stored in the one or more storage devices;

program instructions to receive a selection of an available recovery point from the one or more available recovery points;

program instructions to identify a backup of the virtual machine and a backup of the log data that are needed to satisfy the selected recovery point;

program instructions to receive from the one or more storage devices, the identified backup of the virtual machine and the identified backup of the log data that are needed to satisfy the selected recovery point;

program instructions to mount the identified backup of the virtual machine and initiating recovery of the application; and

program instructions to provide to the application the log data from the identified backup of the log data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2014
From: HE, ZHENGWEN; JANDIR, MANDEEP K.; SMITH, JAMES P.; YAKUSHEV, MARK L.; ZAREMBA, CHRISTOPHER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033162/0733 →
Continuity (1)
Related Publication 20150370639A1 · Dec 24, 2015