IP Library Granted Patent US 11,294,770
Granted Patent B2
US 11,294,770 · App. 16/687,440 · Granted Apr 5, 2022

Dynamic prioritized recovery

Inventors: Michael John Dutch (Los Gatos, CA); Christopher Hercules Claudatos (San Jose, CA); Mandavilli Navneeth Rao (Santa Clara, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F11/1461G06F11/1469G06F16/164G06F16/1752G06F16/907G06F2201/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 11,294,770
App. No.
16/687,440
Granted
Apr 5, 2022
Kind
B2
Abstract

A method, article of manufacture, and apparatus for recovering data. In some embodiments, this includes selecting an object to be recovered, recovering sub-objects of the object based on the priorities assigned to the sub-objects, and reprioritizing the sub-objects based on an application's I/O during recovery. In some embodiments, reprioritizing the sub-objects the sub-objects includes assigning a lower priority to the sub-objects when an application has completed I/O on the object. In some embodiments, recovering sub-objects includes recovering sub-objects to a remote location.

Claims (30)

1. A method, comprising:

selecting, by one or more processors, a previously backed up data object to be recovered using backup data, wherein the data object includes a plurality of sub-objects;

recovering, by the one or more processors, the plurality of sub-objects based on a first set of priorities assigned to the sub-objects; and

reprioritizing, by the one or more processors, the sub-objects based at least in part on information associated with an application's I/O received after recovery of the previously backed up data object has started, wherein the information associated with the application's I/O that is used in connection with reprioritizing the sub-objects is obtained during recovery of the backup data and comprises information pertaining to an I/O event that is detected during recovery of the backup data.

2. The method of claim 1 , wherein the data object corresponds to a data file, the plurality of sub-objects correspond to a plurality of segments of the data file, and the data file is segmented into the plurality of segments according to an access pattern.

3. The method of claim 2 , wherein the priority respectively assigned to the at least the subset of the plurality of sub-objects is assigned based at least in part on an access state associated with an application's I/O of the data object.

4. The method of claim 3 , further comprising:

detecting, by the one or more processors, the indication of the change in the access state associated with the application's I/O of the data object while the data object is being recovered, wherein the change in the access state comprises one or more of the application attempting to access the data object and the application being finished with the data object.

5. The method of claim 4 , wherein the respective priority assigned to the at least the subset of the plurality of sub-objects is assigned based at least in part on the changed access state associated with the application's I/O of the data object.

6. The method of claim 5 , wherein the change in the access state includes that the application is attempting to access the data object and wherein reprioritizing the sub-objects includes changing dynamically during recovery a priority assigned to the sub-objects from a higher priority to a lower priority in response to detecting the indication.

7. The method of claim 1 , wherein at least a subset of the plurality of sub-objects are assigned a priority from the first set of priorities, and the reprioritizing the sub-objects comprises assigning a priority from a second set of priorities to at least a subset of the sub-objects, and the at least the subset of the plurality of sub-objects is assigned a new priority from the second set of priorities, contemporaneously with recovery of the backed up data object.

8. The method of claim 1 , wherein recovering the backup data includes recovering sub-objects to a remote location.

9. The method of claim 1 , wherein recovering the backup data includes recovering sub-objects to a local location.

10. The method of claim 1 , wherein the data object includes a virtual machine.

11. The method of claim 1 , wherein the data object includes a version of the data object.

12. The method of claim 1 , further comprising: in response to the data object being closed while the data object is being recovered, assigning a new priority to each of at least a subset of the plurality of sub-objects such that the new priority is lower than the priority from the first set of priorities previously assigned to the each of at least the subset of the plurality of sub-objects.

13. The method of claim 1 , further comprising: determining to pin at least one of a subset of the plurality of sub-objects to a remote recovery location based at least in part on the information associated with the application's I/O that is received after recovery of the previously backed up data object has started.

14. The method of claim 13 , wherein to pin the at least one of the subset of the plurality of sub-objects to a remote recovery comprises restricting the at least one of the subset of the plurality of sub-objects to be recovered only via the remote recovery during the recovery operation.

15. The method of claim 13 , wherein the determining to pin at least one of the subset of the plurality of sub-objects to a remote recovery location comprises determining that the at least one of the subset of the plurality of sub-objects to be pinned to the remote recovery location corresponds to data for which data integrity considerations are more important than performance considerations.

16. The method of claim 1 , wherein the first set of priorities assigned to the sub-objects are based at least in part on an access pattern with respect to the at least a subset of the plurality of sub-objects.

17. The method of claim 1 , the information associated with the application's I/O obtained during the recovery of the backup data corresponds to an input received from a user during the recovery.

18. The method of claim 1 , wherein the determining to pin at least one of the subset of the plurality of sub-objects to a remote recovery location comprises determining that the at least one of the subset of the plurality of sub-objects to be pinned to the remote recovery location corresponds to data for which data integrity considerations are more important than performance considerations.

19. A system, comprising a storage device and one or more processors and a memory to store instructions, wherein the instructions are executed by the one or more processors to perform:

selecting a previously backed up data object to be recovered using backup data, wherein the data object includes a plurality of sub-objects;

recovering the plurality of sub-objects based on a first set of priorities assigned to the sub-objects; and

reprioritizing the sub-objects based at least in part on information associated with an application's I/O received after recovery of the previously backed up data object has started, wherein the information associated with the application's I/O that is used in connection with reprioritizing the sub-objects is obtained during recovery of the backup data and comprises information pertaining to an I/O event that is detected during recovery of the backup data.

20. A computer program product for recovering data, comprising a non-transitory computer readable storage medium having computer readable code embodied therein that, executed by a computer, performs:

selecting a previously backed up data object to be recovered using backup data, wherein the data object includes a plurality of sub-objects;

recovering the plurality of sub-objects based on a first set of priorities assigned to the sub-objects; and

reprioritizing the sub-objects based at least in part on information associated with an application's I/O received after recovery of the previously backed up data object has started, wherein the information associated with the application's I/O that is used in connection with reprioritizing the sub-objects is obtained during recovery of the backup data and comprises information pertaining to an I/O event that is detected during recovery of the backup data.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: DUTCH, MICHAEL JOHN; CLAUDATOS, CHRISTOPHER HERCULES; RAO, MANDAVILLI NAVNEETH
To: EMC CORPORATION
Reel/Frame 051062/0974 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051066/0001 →