IP Library Granted Patent US 9,697,093
Granted Patent B2
US 9,697,093 · App. 13/604,344 · Granted Jul 4, 2017

Techniques for recovering a virtual machine

Inventors: Girish Sureshrao Jorapurkar (Woodbury, MN); Gaurav Makin (Roseville, MN); Sinh Dang Nguyen (Eden Prairie, MN)
Assignee: Veritas Technologies LLC
G06F11/1484G06F11/1438G06F11/1469G06F11/1471G06F2201/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,697,093
App. No.
13/604,344
Filed
Sep 5, 2012
Granted
Jul 4, 2017
Kind
B2
Examiner
UDDIN, MD I
Art Unit
2169
USPC
707/639
Abstract

Techniques for recovering a virtual machine are disclosed. In one particular embodiment, the techniques may be realized as a method for recovering a virtual machine comprising the steps of selecting a first backup copy of a virtual machine in a first data store, selecting a second data store; enabling use of the virtual machine by reading from the first data store and writing to the second data store, selecting a second backup copy of the virtual machine, and migrating the virtual machine from the second backup copy to the second data store.

Claims (54)

1. A method for recovering a virtual machine comprising the steps of:

selecting a first backup copy of a virtual machine in a first backup data store configured for read-only random access;

selecting a production data store configured for read-write random access;

enabling use of the virtual machine by reading from the first backup copy in the first backup data store and writing changes for the virtual machine to a redo log in the production data store;

selecting a second backup copy of the virtual machine in a second backup data store configured for read-only sequential access;

copying the virtual machine from the second backup copy to a production copy in the production data store;

incorporating the changes for the virtual machine from the redo log to the production copy of the virtual machine in the production data store; and

modifying a configuration of the virtual machine to refer to the production copy for reads and writes, wherein the virtual machine is temporarily suspended to facilitate modifying the virtual machine configuration, wherein the configuration of the virtual machine comprises a configuration file that includes one or more references to the first backup copy of the virtual machine in the first backup data store, wherein the modification of the configuration of the virtual machine comprises modifying the configuration file such that the one or more references are at least one of removed from the configuration file or disabled.

2. The method of claim 1 , wherein the first backup data store is optimized for random access to backup data to be faster than sequential access to the backup data.

3. The method of claim 1 , wherein the production data store is optimized for fast read and write access to production data.

4. The method of claim 1 , wherein the second backup copy is optimized for sequential access to backup data to be faster than random access to the backup data.

5. The method of claim 1 , wherein enabling use of the virtual machine further comprises:

configuring the virtual machine from a configuration stored in the first backup copy;

modifying the configuration to refer to the production data store as a working directory and refer to the first data store for read access; and

modifying the copy of the configuration to refer to the production data store for write access.

6. The method of claim 5 , wherein enabling use of the virtual machine further comprises creating a snapshot of the virtual machine.

7. The method of claim 1 , wherein copying the virtual machine from the second backup copy to the production data store further comprises incorporating writes written to the redo log in the production data store while the virtual machine is in use.

8. The method of claim 1 further comprising sending a notification when copying the virtual machine is complete or when incorporating the changes for the virtual machine is complete.

9. A system for recovering a virtual machine comprising:

one or more processors communicatively coupled to a network; wherein the one or more processors are configured to:

select a first backup copy of a virtual machine in a first backup data store configured for read-only random access;

select a production data store configured for read-write random access;

enable use of the virtual machine by reading from the first backup copy in the first backup data store and writing changes for the virtual machine to a redo log in the production data store;

select a second backup copy of the virtual machine in a second backup data store configured for read-only sequential access;

copy the virtual machine from the second backup copy to a production copy in the production data store;

incorporate the changes for the virtual machine from the redo log to the production copy of the virtual machine in the production data store; and

modifying a configuration of the virtual machine to refer to the production copy for reads and writes, wherein the virtual machine is temporarily suspended to facilitate modifying the virtual machine configuration, wherein the configuration of the virtual machine comprises a configuration file that includes one or more references to the first backup copy of the virtual machine in the first backup data store, wherein the modification of the configuration of the virtual machine comprises modifying the configuration file such that the one or more references are at least one of removed from the configuration file or disabled.

10. The system of claim 9 , wherein the first backup data store is optimized for random access to backup data to be faster than sequential access to the backup data.

11. The system of claim 9 , wherein the second backup copy is optimized for sequential access to backup data to be faster than random access to the backup data.

12. The system of claim 9 , wherein the one or more processors are further configured to:

configure the virtual machine from a configuration of the virtual machine from the first backup data store to the second data store;

modify the copy of the configuration to refer to the production data store as a working directory and refer to the first backup data store for read access; and

modify the copy of the configuration to refer to the production data store for write access.

13. The system of claim 12 , wherein the one or more processors, configured to copy the virtual machine from the second backup copy to the second data store, are further configured to incorporate writes written to the production data store while the virtual machine is in use.

14. The system of claim 9 , wherein the one or more processors are further configured to send a notification when copying the virtual machine is complete or when incorporating the changes for the virtual machine is complete.

15. An article of manufacture for recovering a virtual machine, the article of manufacture comprising:

at least one non-transitory processor readable storage medium; and

instructions stored on the at least one medium;

wherein the instructions are configured to be readable from the at least one medium by at least one processor and thereby cause the at least one processor to operate so as to:

select a first backup copy of a virtual machine in a first backup data store configured for read-only random access;

select a production data store configured for read-write random access;

enable use of the virtual machine by reading from the first backup copy in the first backup data store and writing changes for the virtual machine to a redo log in the production data store;

select a second backup copy of the virtual machine in a second backup data store configured for read-only sequential access;

copy the virtual machine from the second backup copy to a production copy in the production data store;

incorporate the changes for the virtual machine from the redo log to the production copy of the virtual machine in the production data store; and

modifying a configuration of the virtual machine to refer to the production copy for reads and writes, wherein the virtual machine is temporarily suspended to facilitate modifying the virtual machine configuration, wherein the configuration of the virtual machine comprises a configuration file that includes one or more references to the first backup copy of the virtual machine in the first backup data store, wherein the modification of the configuration of the virtual machine comprises modifying the configuration file such that the one or more references are at least one of removed from the configuration file or disabled.

16. The article of manufacture of claim 15 , wherein the first backup data store is optimized for random access to backup data to be faster than sequential access to the backup data.

17. The article of manufacture of claim 15 , wherein the second backup copy is optimized for sequential access to backup data to be faster than random access to the backup data.

18. The article of manufacture of claim 15 , wherein the instructions cause the at least one processor to operate further so as to:

configure the virtual machine from a configuration of the virtual machine from the first backup data store to the second data store;

modify the copy of the configuration to refer to the production data store as a working directory and refer to the first backup data store for read access; and

modify the copy of the configuration to refer to the production data store for write access.

19. The article of manufacture of claim 15 , wherein the at least one processors, caused to operate so as to copy the virtual machine from the second backup copy to a production copy in the production data store, is caused to operate further so as to incorporate writes written to the second data store while the virtual machine is in use.

20. The article of manufacture of claim 15 , wherein the instructions cause the at least one processor to operate further so as to send a notification when copying the virtual machine is complete or when incorporating the changes for the virtual machine is complete.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2012
From: JORAPURKAR, GIRISH SURESHRAO; MAKIN, GAURAV; NGUYEN, SINH DANG
To: SYMANTEC CORPORATION
Reel/Frame 028918/0222 →
Continuity (1)
Related Publication 20140067763A1 · Mar 6, 2014