IP Library Granted Patent US 9,606,876
Granted Patent B2
US 9,606,876 · App. 14/472,418 · Granted Mar 28, 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,606,876
App. No.
14/472,418
Granted
Mar 28, 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 (29)

1. A method comprising:

identifying, by one or more computer processors, 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;

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

responsive to generation of the full backup of the virtual machine, creating, by one or more computer processors, an incremental backup of the virtual machine;

storing, in one or more storage devices, by one or more computer processors, the incremental backup of the virtual machine;

confirming, by one or more computer processors, 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, by querying the relational data structure;

creating, by one or more computer processors, a backup of the log data associated with the application;

storing in one or more storage devices, by one or more computer processors, the backup of the log data; and

relating in the relational data structure, by one or more computer processors, the full and incremental backups of the virtual machine and the backup of the log data.

2. The method 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 method of claim 1 , wherein the step of creating, by one or more computer processors, a backup of the log data associated with the application comprises:

executing in the guest operating system, by one or more computer processors, one or more programs to access a file system of the guest operating system; and

executing in the guest operating system, by one or more computer processors, one or more programs to copy one or more log files containing the log data.

4. The method of claim 1 , wherein the step of creating, by one or more computer processors, a backup of the log data associated with the application comprises:

executing outside of the guest operating system, by one or more computer processors, 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 method of claim 1 , wherein the step of creating, by one or more computer processors, a backup of the log data associated with the application comprises:

executing outside of the guest operating system, by one or more computer processors, one or more programs to inject code into the virtual machine to invoke a snapshot of the virtual machine; and

executing outside of the guest operating system, by one or more computer processors, 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 method of claim 1 , wherein the step of creating, by one or more computer processors, a backup of the log data associated with the application comprises:

executing outside of the guest operating system, by one or more computer processors, 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;

executing outside of the guest operating system, by one or more computer processors, 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

executing outside of the guest operating system, by one or more computer processors, one or more programs to inject code into the virtual machine to copy the log data from the mounted snapshot.

7. The method of claim 1 , further comprising:

identifying, by one or more computer processors, 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;

receiving, by one or more computer processors, a selection of an available recovery point from the one or more available recovery points;

identifying, by one or more computer processors, a backup of the virtual machine and a backup of the log data that are needed to satisfy the selected recovery point;

receiving from the one or more storage devices, by one or more computer processors, the identified backup of the virtual machine and the identified backup of the log data that are needed to satisfy the selected recovery point;

mounting, by one or computer processors, the identified backup of the virtual machine and initiating recovery of the application; and

providing to the application, by one or more computer processors, the log data from the identified backup of the log data.

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