IP Library Granted Patent US 11,272,006
Granted Patent B2
US 11,272,006 · App. 16/891,374 · Granted Mar 8, 2022

Intelligently distributing retrieval of recovery data amongst peer-based and cloud-based storage sources

Inventors: Yossef Saad (Ganei Tivka, IL); Alex Solan (Hertzelia, IL)
Assignee: EMC IP Holding Company LLC
H04L67/1097H04L67/104
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,272,006
App. No.
16/891,374
Granted
Mar 8, 2022
Kind
B2
Abstract

Described is a system for intelligently distributing the retrieval of recovery data amongst peer-based and cloud-based storage sources. The system may leverage a peer network by performing a recovery from a combination of sources including peer devices and a cloud-based storage by considering a multitude of factors. For example, the system may consider retrieval information (e.g. availability, performance metrics, retrieval costs, etc.) associated with each of the potential sources in combination with target information (e.g. recovery objectives, file recovery priorities, etc.) to create an ordering preference (e.g. ranking) for sources from which to retrieve recovery data. The system may rank the sources by determining a specialized recovery score for each source thereby allowing the intelligent retrieval of recovery data.

Claims (56)

1. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive a request to recover a file of a computing device that is backed up to a cloud-based storage in a cloud-based service environment;

determine a copy of the file is stored on multiple storage sources including the cloud-based storage and one or more peer computing devices associated with the computing device in a peer-to-peer network;

obtain, for each of the storage sources, corresponding retrieval information including at least a performance metric for retrieving the copy from the corresponding storage source;

rank the storage sources based on the retrieval information corresponding to each of the storage sources;

select, based on the ranking, a source from which to retrieve the copy including selecting the cloud-based storage as the source if the cloud-based storage is ranked higher than the peer computing devices, or selecting a first peer computing device, amongst the peer computing devices that are ranked higher than the cloud-based storage, as the source, wherein selecting the first peer computing device includes sending, to each of the peer computing devices that are ranked higher than the cloud-based storage, a request to access the copy, and selecting, amongst the peer computing devices accepting the request to access the copy, a highest ranked peer computing device as the first device; and

initiate at least a partial retrieval of the copy from the selected source.

2. The system of claim 1 , wherein sending the request to access the copy includes sending the requests to each of the peer devices at substantially the same time.

3. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

select a second peer device, amongst the peer devices that are ranked higher than the cloud-based storage, as the source, in response to determining a resource consumption associated with retrieving data from the first peer device is exceeded.

4. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

obtain a recovery objective associated with the computing device or the file; and

wherein the storage sources are ranked based on whether the performance metric corresponding to each of the storage sources satisfies the recovery objective.

5. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

obtain a recovery priority associated with the file; and

wherein the storage sources are ranked based on the recovery priority associated with the file.

6. The system of claim 1 , wherein ranking the storage sources includes determining a retrieval score for each of the storage sources from the corresponding retrieval information.

7. The system of claim 1 , wherein the retrieval information corresponding to the cloud-based storage includes a cost associated with retrieving the copy from the cloud-based storage.

8. The system of claim 1 , wherein the retrieval information corresponding to one or more of the peer devices includes at least one of an access permission associated with retrieving the copy from the corresponding peer device, and an availability parameter associated with the corresponding peer device.

9. The system of claim 1 , wherein at least some of the peer computing devices that accept the request to access the copy, accept the request based on a user account currently active on the peer computing device at a time of the request.

10. The system of claim 1 , wherein at least some of the peer computing devices that accept the request to access the copy, accept the request based on an online status of the peer computing device at a time of the request.

11. A method of retrieving recovery data from multiple sources, comprising:

receiving a request to recover a file of a computing device that is backed up to a cloud-based storage in a cloud-based service environment;

determining a copy of the file is stored on multiple storage sources including the cloud-based storage and one or more peer computing devices associated with the computing device in a peer-to-peer network;

obtaining, for each of the storage sources, corresponding retrieval information including at least a performance metric for retrieving the copy from the corresponding storage source;

ranking the storage sources based on the retrieval information corresponding to each of the storage sources;

selecting, based on the ranking, a source from which to retrieve the copy including selecting the cloud-based storage as the source if the cloud-based storage is ranked higher than the peer computing devices, or selecting a first peer computing device, amongst the peer computing devices that are ranked higher than the cloud-based storage, as the source, wherein selecting the first peer computing device includes sending, to each of the peer computing devices that are ranked higher than the cloud-based storage, a request to access the copy, and selecting, amongst the peer computing devices accepting the request to access the copy, a highest ranked peer computing device as the first device; and

initiating at least a partial retrieval of the copy from the selected source.

12. The method of claim 11 , wherein sending the request to access the copy includes sending the requests to each of the peer devices at substantially the same time.

13. The method of claim 11 , further comprising:

selecting a second peer device, amongst the peer devices that are ranked higher than the cloud-based storage, as the source, in response to determining a resource consumption associated with retrieving data from the first peer device is exceeded.

14. The method of claim 11 , further comprising:

obtain a recovery objective associated with the computing device or the file; and

wherein the storage sources are ranked based on whether the performance metric corresponding to each of the storage sources satisfies the recovery objective.

15. The method of claim 11 , further comprising:

obtain a recovery priority associated with the file; and

wherein the storage sources are ranked based on the recovery priority associated with the file.

16. The method of claim 11 , wherein ranking the storage sources includes determining a retrieval score for each of the storage sources from the corresponding retrieval information.

17. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

receive a request to recover a file of a computing device that is backed up to a cloud-based storage in a cloud-based service environment;

determine a copy of the file is stored on multiple storage sources including the cloud-based storage and one or more peer computing devices associated with the computing device in a peer-to-peer network;

obtain, for each of the storage sources, corresponding retrieval information including at least a performance metric for retrieving the copy from the corresponding storage source;

rank the storage sources based on the retrieval information corresponding to each of the storage sources;

select, based on the ranking, a source from which to retrieve the copy including selecting the cloud-based storage as the source if the cloud-based storage is ranked higher than the peer computing devices, or selecting a first peer computing device, amongst the peer computing devices that are ranked higher than the cloud-based storage, as the source, wherein selecting the first peer computing device includes sending, to each of the peer computing devices that are ranked higher than the cloud-based storage, a request to access the copy, and selecting, amongst the peer computing devices accepting the request to access the copy, a highest ranked peer computing device as the first device; and

initiate at least a partial retrieval of the copy from the selected source.

18. The computer program product of claim 17 , wherein sending the request to access the copy includes sending the requests to each of the peer devices at substantially the same time.

19. The computer program product of claim 17 , wherein the program code includes further instructions to:

select a second peer device, amongst the peer devices that are ranked higher than the cloud-based storage, as the source, in response to determining a resource consumption associated with retrieving data from the first peer device is exceeded.

20. The computer program product of claim 17 , wherein the program code includes further instructions to:

obtain a recovery objective associated with the computing device or the file; and

wherein the storage sources are ranked based on whether the performance metric corresponding to each of the storage sources satisfies the recovery objective.

21. The computer program product of claim 17 , wherein the program code includes further instructions to:

obtain a recovery priority associated with the file; and

wherein the storage sources are ranked based on the recovery priority associated with the file.

Assignments (9)
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 (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 (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 3, 2020
From: SAAD, YOSSEF; SOLAN, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052822/0979 →