IP Library Granted Patent US 8,745,444
Granted Patent B2
US 8,745,444 · App. 13/833,434 · Granted Jun 3, 2014

Item-level restoration and verification of image level backups

Inventors: Ratmir Timashev (Mercer Island, WA); Anton Gostev (Saint-Petersburg, RU)
Assignee: Veeam Software AG
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,745,444
App. No.
13/833,434
Granted
Jun 3, 2014
Kind
B2
Abstract

Systems and methods for item-level restoration from and verification of an image level backup without fully extracting it. The method receives backup parameters and selection of an image level backup to restore or verify and initializes virtual storage. The method attaches the virtual storage to a hypervisor to launch a virtual machine (VM) to test and restore data objects. The method stores VM virtual disk data changes resulting from restoration and verification in a changes storage. The method optionally reconfigures VMs to use an isolated network. The method optionally uses a routing appliance to provide access to VMs running in the isolated network from a production network. The method determines if the VM operating system (OS) is able to start using restored copies of selected data objects and tests applications associated with selected data objects. The method displays restoration and test results in an interface and automatically delivers the results.

Claims (89)

1. A system for verifying virtual machine (VM) data files, comprising:

a data conversion engine configured to translate requested content of an image from an image level backup by extracting corresponding contents of the image level backup without fully extracting the image, and to represent the extracted contents to a hypervisor in a native image format; and

a verification module configured to test an operating system (OS) or an application of a test VM launched using the extracted contents using backup testing parameters.

2. The system of claim 1 , further comprising:

a routing appliance connected to a production network and an isolated network, wherein the routing appliance is configured to route network traffic between the production network and the isolated network.

3. The system of claim 1 , further comprising:

a changes storage configured to store test VM virtual disk data changes resulting horn running and testing the test VM.

4. The system of claim 3 , wherein the hypervisor has disk input output (I/O) redirection capabilities, and wherein the changes storage is implemented using the disk I/O redirection capabilities of the hypervisor.

5. The system of claim 3 , wherein the changes storage is implemented using backup file storage device capabilities.

6. The system of claim 1 , further comprising an operator console having a user interface configured to receive the backup testing parameters.

7. The system of claim 1 , wherein the backup testing parameters comprise one or more of:

a read-only image level backup file repository for the image level backup;

backup file entities when the image level backup contains image level backups of multiple VMs;

data objects within the image level backup;

a recovery point; and

an application test to perform.

8. The system of claim 7 , wherein the recovery point comprises one of a specific hour, minute and second of a day the image level backup was created.

9. A method for verifying an image level backup, comprising:

receiving a selection of a data object from the image level backup, wherein the data object is associated with an application;

partially translating without fully extracting the image level backup to extract the data object and to provide the data object to a hypervisor;

determining if an operating system (OS) of a test virtual machine (VM) has booted successfully; and

executing tests of the test VM using the data object and its associated application in response to determining that the OS has booted successfully.

10. The method of claim 9 , wherein the determining comprises determining if the OS has booted up within a predetermined amount of time.

11. The method of claim 9 , wherein the tests comprise one or more of: automated scripts and executables.

12. The method of claim 11 , wherein the tests further comprise user-initiated steps.

13. The method of claim 9 , wherein the tests comprise at least one of:

pinging the test VM;

querying a status of a process or a service expected to be running on the test VM;

querying contents of an OS running on the test VM;

querying contents of an application log file;

querying an events database;

establishing a connection to running applications using application programming interfaces (APIs);

running scripts or executable files against applications executing on the test VM; and

leaving the test VM running to allow for manual verification by an operator.

14. The method of claim 9 , further comprising launching the test VM by the hypervisor.

15. The method of claim 9 , further comprising:

displaying results of the executed tests; and

generating an automated notification containing the results of the executed tests.

16. The method of claim 9 , further comprising:

generating an automated notification in response to determining that the test VM did not launch or the OS has not booted successfully.

17. The method of claim 16 , wherein the automated notification includes at least one of:

an email message;

a log entry in a data file;

a Short Message Service (SMS) text message;

a facsimile;

a user interface output;

an Instant Message (IM); and

an automated submission to a website.

18. The method of claim 9 , further comprising:

displaying results of the executed tests;

shutting down the test VM; and

deleting data from a changes storage which is configured to store disk data changes resulting from verification of the image level backup.

19. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon that, in response to being executed by a processor, cause the processor to perform operations for verifying an image level backup, the operations comprising:

receiving a selection of a data object from the image level backup, wherein the data object is associated with an application;

partially translating without fully extracting the image level backup to extract the data object and providing the data object to a hypervisor;

determining if an operating system (OS) of a test virtual machine (VM) has booted successfully; and

executing tests of the test VM using the data object and its associated application in response to determining that the OS has booted successfully.

20. The non-transitory computer-readable storage medium of claim 19 , the operations further comprising:

receiving backup testing parameters comprising at least one of: a test script and an executable file location, a recovery point to test, and one or more application tests to perform.

21. A system for item-level restoration, the system comprising:

an operator console having a user interface;

at least one restored virtual machine (VM) launched on a hypervisor;

an image level backup file storage configured to store a partially translated image level backup file having at least one application item extracted to represent to the hypervisor in a native format; and

an application item-level restore module connected to the hypervisor and accessible by the operator console,

wherein the user interface of the operator console is configured to receive item restoration parameters and to provide the item restoration parameters to the application item-level restore module, and

wherein the application item-level restore module is configured to fetch and restore application items corresponding to the item restoration parameters from the image level backup file storage.

22. The system of claim 21 further comprising:

a plurality of restored VMs launched on the hypervisor; and

a routing appliance connected to a production network and an isolated network, wherein the routing appliance is configured to route network traffic between the production network and the isolated network.

23. The system of claim 22 , wherein the plurality of restored VMs are started according to a restored VM dependency list.

24. The system of claim 21 , wherein the application item-level restore module comprises application item level restore logic.

25. The system of claim 21 , wherein the item restoration parameters comprise at least one of:

an Internet Protocol (IP) address or other identification of a virtualized service;

an application item to be fetched; and

a location for saving restored items.

26. A method for item-level restoration, the method comprising:

receiving restore parameters, wherein the restore parameters include at least a restore location;

accessing an image level backup;

creating a restored virtual machine (VM) on a hypervisor using the image level backup;

configuring and launching the restored VM;

configuring restore logic;

providing the restore parameters to the restore logic; and

restoring items of the restored VM as defined by the restore parameters and saving the items into the restore location.

27. The method of claim 26 , further comprising:

shutting down the restored VM; and

deleting the restored VM from the hypervisor.

28. A system for recovering a virtual machine (VM) from an image level backup, comprising:

a data conversion engine configured to translate requested content of an image from the image level backup by extracting corresponding contents of the image level backup without fully extracting the image, and to represent the extracted contents when requested by a hypervisor in a native image format; and

a module, connected to the hypervisor, configured to perform automated recovery of the VM using the extracted contents according to restore parameters.

Assignments (3)
SECURITY INTEREST Recorded May 29, 2020
From: VEEAM SOFTWARE GROUP GMBH
To: JPMORGAN CHASE N.A.
Reel/Frame 052790/0483 →
CHANGE OF NAME Recorded May 18, 2020
From: VEEAM SOFTWARE AG
To: VEEAM SOFTWARE GROUP GMBH
Reel/Frame 052690/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2013
From: TIMASHEV, RATMIR; GOSTEV, ANTON
To: VEEAM SOFTWARE AG
Reel/Frame 031019/0560 →
Continuity (4)
Continuation 12901233 · Oct 8, 2010
Provisional Application 61250586 · Oct 12, 2009
Provisional Application 61302743 · Feb 9, 2010
Related Publication 20130212437A1 · Aug 15, 2013