IP Library Granted Patent US 11,531,599
Granted Patent B2
US 11,531,599 · App. 16/910,393 · Granted Dec 20, 2022

On the fly pit selection in cloud disaster recovery

Inventors: Jehuda Shemer (Kfar Saba, IL); Kfir Wolfson (Beer Sheva, IL); Tomer Kushnir (Ramat Gan, IL); Jawad Said (Kfar Yasif, IL)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1469G06F9/45558G06F11/1451G06F11/1484G06F2009/45575G06F2201/815
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 11,531,599
App. No.
16/910,393
Granted
Dec 20, 2022
Kind
B2
Abstract

On-the-fly point-in-time recovery operations are disclosed. During a recovery operation, the PiT being restored can be changed on-the-fly or during the existing recovery operation without restarting the recovery process from the beginning. In one example, this improves recovery time operation (RTO) and prevents aspects of the recovery operation to be avoided when changing to a different PiT.

Claims (51)

1. A method, comprising:

identifying a point-in-time (PiT) to recover from a plurality of PiTs;

converting a representation of a virtual machine in the selected PiT to a converted virtual machine;

attaching an operating system (OS) disk to the converted virtual machine;

starting a change block driver with an operating system, wherein the change block tracker is configured to track changes;

hydrating a data volume from the PiT and attaching the data volume to the converted virtual machine, wherein the data volume corresponds to a timestamp;

operating the converted virtual machine as a restored virtual machine and running an application on the restored virtual machine, wherein the change block driver tracks changes to the data volume; and

moving the data volume to a second PiT included in the plurality of PiTs using the changes tracked by the change block driver when the data volume attached to the restored virtual machine is not validated without requiring a second conversion of a second representation of the virtual machine.

2. The method of claim 1 , further comprising tracking the changes to the data volume, by the change block driver, in a bitmap.

3. The method of claim 2 , wherein each location in the bitmap corresponds to a portion of the data volume, wherein each disk associated with the data volume stores at least a portion of the bitmap.

4. The method of claim 2 , wherein the bitmap is stored at a known location on the data volume or wherein a portion of the bitmap is stored on each of the disks associated with the data volume.

5. The method of claim 2 , further comprising:

stopping the application without stopping operation of the operating system;

restoring the data volume by reverting the changes to the data volume identified in a bitmap created by the change block driver such that the data volume corresponds to the data volume at the timestamp; and

detaching the data volume from the restored virtual machine.

6. The method of claim 5 , further comprising:

identifying a second PiT from the plurality of PiTs;

attaching the data volume to a restore service virtual machine;

reviewing segments for PiTs of the data volume between the selected PiT and the second PiT;

updating the data volume based on the review.

7. The method of claim 6 , further comprising detaching the data volume from the restore service virtual machine, attaching the data volume to the restored virtual machine, and restarting the application on the restored virtual machine.

8. The method of claim 6 , wherein the second PiT is later in time than the selected PiT.

9. The method of claim 6 , wherein the second PiT is earlier in time than the selected PiT.

10. The method of claim 6 , further comprising, when the second PiT is later in time than the selected PiT, writing segments that are identified in reviewing the segments as changed to the data volume, wherein only a latest change for a given segment is written to the data volume.

11. The method of claim 6 , further comprising, when the second PiT is earlier in time than the selected PiT, identifying dirty segments that need to be overwritten and overwriting the dirty segments on the data volume with most recent segments that were written to before or on the second PiT.

12. The method of claim 6 , wherein the PiTs are stored in a first storage comprising an object storage and wherein the restored virtual machine is in a compute environment associated with a different storage, wherein converting the image of the virtual machine includes at least preparing the restored virtual machine to operate on a hypervisor, setting configurations, and adding/removing drivers.

13. The method of claim 1 , wherein the OS disk is hydrated from an OS representation, further comprising ignoring segments associated with the OS disk when hydrating the data volume.

14. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:

identifying a point-in-time (PiT) to recover from a plurality of PiTs;

converting a representation of a virtual machine in the selected PiT to a converted virtual machine;

attaching an operating system (OS) disk to the converted virtual machine;

starting a change block driver with an operating system, wherein the change block tracker is configured to track changes;

hydrating a data volume from the PiT and attaching the data volume to the converted virtual machine, wherein the data volume corresponds to a timestamp;

operating the converted virtual machine as a restored virtual machine and running an application on the restored virtual machine, wherein the change block driver tracks changes to the data volume; and

moving the data volume to a second PiT included in the plurality of PiTs using the changes tracked by the change block driver when the data volume attached to the restored virtual machine is not validated without requiring a second conversion of a second representation of the virtual machine.

15. The non-transitory storage medium of claim 14 , the operations further comprising tracking the changes to the data volume, by the change block driver, in a bitmap.

16. The non-transitory storage medium of claim 15 , wherein each location in the bitmap corresponds to a portion of the data volume, wherein each disk associated with the data volume stores at least a portion of the bitmap, wherein the bitmap is stored at a known location on the data volume or wherein a portion of the bitmap is stored on each of the disks associated with the data volume.

17. The non-transitory storage medium of claim 15 , the operations further comprising:

stopping the application without stopping operation of the operating system;

restoring the data volume by reverting the changes to the data volume identified in a bitmap created by the change block driver such that the data volume corresponds to the data volume at the timestamp; and

detaching the data volume from the restored virtual machine.

18. The non-transitory storage medium of claim 17 , the operations further comprising:

identifying a second PiT from the plurality of PiTs;

attaching the data volume to a restore service virtual machine;

reviewing segments for PiTs of the data volume between the selected PiT and the second PIT;

updating the data volume based on the review;

detaching the data volume from the restore service virtual machine;

attaching the data volume to the restored virtual machine, and

restarting the application on the restored virtual machine.

19. The non-transitory storage medium of claim 18 , wherein the second PiT is later in time than the selected PiT or wherein the second PiT is earlier in time than the selected PiT.

20. The non-transitory storage medium of claim 18 , the operations further comprising, when the second PiT is later in time than the selected PIT, writing segments that are identified in reviewing the segments as changed to the data volume, wherein only a latest change for a given segment is written to the data volume.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: SHEMER, JEHUDA; WOLFSON, KFIR; KUSHNIR, TOMER; SAID, JAWAD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053024/0688 →
Continuity (1)
Related Publication 20210406133A1 · Dec 30, 2021