IP Library › Granted Patent US 10,007,448
Granted Patent B2
US 10,007,448 · App. 14/838,629 · Granted Jun 26, 2018

Multiple hierarchies of snapshots

Inventors: Michael Zucca (Somerville, MA); Keith Farkas (San Carlos, CA); Joanne Ren (Cupertino, CA); Mayank Rawat (Cupertino, CA); Christos Karamanolis (Los Gatos, CA)
Assignee: VMware, Inc.
G06F3/0619G06F3/0647G06F3/0673
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 10,007,448
App. No.
14/838,629
Granted
Jun 26, 2018
Kind
B2
Abstract

A method for restoring a data volume using incremental snapshots of the data volume includes creating a first series of incremental snapshots according to a first predefined interval. The method further includes creating a second series of incremental snapshots according to a second predefined interval that is an integer multiple of the first predefined interval. The method also includes receiving a request to restore the data volume to a point-in-time. The method further includes restoring the data volume to the point-in-time using none or some of the snapshots in the first series that were created at or prior to the point-in-time, and all of the snapshots in the second series that were created at or prior to the point-in-time.

Claims (48)

1. A non-transitory computer readable medium comprising instructions that are executed in a computer system to carry out a method of restoring a data volume using incremental snapshots of the data volume, said method comprising:

creating a first series of incremental snapshots according to a first predefined interval;

creating a second series of incremental snapshots according to a second predefined interval, wherein the second predefined interval is different from the first predefined interval, and wherein the second predefined interval that is an integer multiple of the first predefined interval;

receiving a request to restore the data volume to a point-in-time; and

restoring the data volume to the point-in-time using none or some of the snapshots in the first series that were created at or prior to the point-in-time, and all of the snapshots in the second series that were created at or prior to the point-in-time.

2. The non-transitory computer-readable medium of claim 1 , wherein the method further comprises creating a snapshot of a base image of the data volume, and the base image is also used to restore the data volume to the point-in-time.

3. The non-transitory computer-readable medium of claim 2 , wherein a first of the snapshots in the first series was created after the first predefined interval after the snapshot of the base image of the data volume was created and a first of the snapshots in the second series was created after the second predefined interval after the snapshot of the base image of the data volume was created.

4. The non-transitory computer-readable medium of claim 3 , wherein if the point-in-time is aligned with a time when one of the snapshots in the second series was created, restoring the data volume to the point-in-time using none of the snapshots in the first series.

5. The non-transitory computer-readable medium of claim 3 , wherein if the point-in-time is aligned with a time when one of the snapshots in the first series was created but not with a time when one of the snapshots in the second series was created, restoring the data volume to the point-in-time using the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time.

6. The non-transitory computer-readable medium of claim 5 , wherein restoring the data volume to the point-in-time comprises:

creating a redo log for accepting write operations;

copying contents of the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time; and

directing read operations first to the redo log and then in time order, from most recent to least recent, to each of the snapshots in the second series that were created at or prior to the point-in-time, and then to the base image of the data volume.

7. The non-transitory computer-readable medium of claim 5 , wherein restoring the data volume to the point-in-time comprises:

creating a redo log for accepting write operations; and

directing read operations first to the redo log and then in time order, from most recent to least recent, to each of the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time, and then to the snapshots in the second series that were created at or prior to the point-in-time, and then to the base image of the data volume.

8. The non-transitory computer-readable medium of claim 1 , further comprising pruning one or more snapshots in the first series of snapshots, and merging one or more changes associated with the pruned one or more snapshots into another snapshot in either the first or second series of snapshots.

9. The non-transitory computer-readable medium of claim 8 , further comprising pruning a snapshot in the second series of snapshots because it no longer has any corresponding snapshots in the first series of snapshots.

10. The non-transitory computer-readable medium of claim 1 , further comprising:

creating a third series of incremental snapshots according to a third predefined interval that is an integer multiple or an integer divisor of the first predefined interval; and

restoring the data volume to the point-in-time using none or some of the snapshots in the third series that were created at or prior to the point-in-time.

11. A method for restoring a data volume using incremental snapshots of the data volume, said method comprising:

creating a first series of incremental snapshots according to a first predefined interval;

creating a second series of incremental snapshots according to a second predefined interval, wherein the second predefined interval is different from the first predefined interval, and wherein the second predefined interval is an integer multiple of the first predefined interval;

receiving a request to restore the data volume to a point-in-time; and

restoring the data volume to the point-in-time using none or some of the snapshots in the first series that were created at or prior to the point-in-time, and all of the snapshots in the second series that were created at or prior to the point-in-time.

12. The method of claim 11 , further comprising:

creating a snapshot of a base image of the data volume, wherein the base image is also used to restore the data volume to the point-in-time.

13. The method of claim 11 , wherein a first of the snapshots in the first series was created after the first predefined interval after the snapshot of the base image of the data volume was created and a first of the snapshots in the second series was created after the second predefined interval after the snapshot of the base image of the data volume was created.

14. The method of claim 13 , wherein if the point-in-time is aligned with a time when one of the snapshots in the first series was created but not with a point-in-time when one of the snapshots in the second series was created, restoring the data volume to the point-in-time using the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time.

15. The method of claim 14 , wherein restoring the data volume to the point-in-time comprises:

creating a redo log for accepting write operations;

copying contents of the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time; and

directing read operations first to the redo log and then in time order, from most recent to least recent, to each of the snapshots in the second series that were created at or prior to the point-in-time, and then to the base image of the data volume.

16. An apparatus, comprising:

a processing unit; and

a memory coupled to the processing unit, the memory storing instructions which, when executed by the processing unit, cause the processing unit to:

create a first series of incremental snapshots of a data volume according to a first predefined interval;

create a second series of incremental snapshots of the data volume according to a second predefined interval, wherein the second predefined interval is different from the first predefined interval, and wherein the second predefined interval is an integer multiple of the first predefined interval;

receive a request to restore the data volume to a point-in-time; and

restore the data volume to the point-in-time using none or some of the snapshots in the first series that were created at or prior to the point-in-time, and all of the snapshots in the second series that were created at or prior to the point-in-time.

17. The apparatus of claim 16 , wherein the instructions further cause the processing unit to create a snapshot of a base image of the data volume, wherein the base image is also used to restore the data volume to the point-in-time.

18. The apparatus of claim 16 , wherein a first of the snapshots in the first series was created after the first predefined interval after the snapshot of the base image of the data volume was created and a first of the snapshots in the second series was created after the second predefined interval after the snapshot of the base image of the data volume was created.

19. The apparatus of claim 18 , wherein if the point-in-time is aligned with a time when one of the snapshots in the first series was created but not with a point-in-time when one of the snapshots in the second series was created, restoring the data volume to the point-in-time using the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time.

20. The apparatus of claim 19 , wherein, to restore the data volume to the point-in-time, the instructions further causing the processing unit to:

create a redo log for accepting write operations;

copy contents of the snapshots in the first series that were created at or prior to the point-in-time and after the time of creating the most recent one of the snapshots in the second series that were created at or prior to the point-in-time; and

direct read operations first to the redo log and then in time order, from most recent to least recent, to each of the snapshots in the second series that were created at or prior to the point-in-time, and then to the base image of the data volume.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2015
From: ZUCCA, MICHAEL; FARKAS, KEITH; REN, JOANNE; RAWAT, MAYANK; KARAMANOLIS, CHRISTOS
To: VMWARE, INC.
Reel/Frame 036446/0475 →
Continuity (1)
Related Publication 20170060449A1 · Mar 2, 2017