IP Library Granted Patent US 10,757,188
Granted Patent B1
US 10,757,188 · App. 15/866,555 · Granted Aug 25, 2020

System and method for efficient data access for restores

Inventors: Shelesh Chopra (Bangalore, IN); Gururaj Kulkarni (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
H04L67/1097H04L67/101H04L67/1031
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,757,188
App. No.
15/866,555
Granted
Aug 25, 2020
Kind
B1
Abstract

A storage gateway for providing stored data includes a persistent storage and a processor. The persistent storage includes a stored data map. The processor obtains a data storage access request from a client, identifies a data fragment specified by the data storage access request, identifies storages that each store a copy of the data fragment using the stored data map, selects a storage of the storages based on connection characteristics between the storages and the client when the data storage access request is obtained, and obtains the copy of the data fragment from the selected storage of the storages.

Claims (69)

1. A storage gateway for providing stored data, comprising:

a persistent storage comprising a stored data map and a data fragment library; and

a processor programmed to:

obtain a data storage access request from a client;

identify a data fragment specified by the data storage access request;

identify a plurality of storages that each store a copy of the data fragment using the stored data map;

identify, using the data fragment library, a workload type associated with the data fragment, wherein the workload type corresponds to a type of file associated with the data fragment;

obtain a plurality of connection characteristics between the plurality of storages and the client;

identify, based on the workload type, a first connection characteristic of the plurality of connection characteristics;

select a first storage of the plurality of storages, wherein the first connection characteristic is between the client and the first storage; and

obtain the copy of the data fragment from the first storage.

2. The storage gateway of claim 1 , wherein the plurality of connection characteristics specify a bandwidth of respective connections between each of the plurality of storages and the client.

3. The storage gateway of claim 1 , wherein the plurality of connection characteristics specify a latency of respective connections between each of the plurality of storages and the client.

4. The storage gateway of claim 1 , wherein the processor is further programmed to:

before obtaining the data storage access request:

obtain a data storage request for the data fragment; and

store, in response to the data storage request, a first copy of the data fragment in the first storage of the plurality of storages.

5. The storage gateway of claim 4 , wherein the processor is further programmed to:

store a second copy of the data fragment in a second storage of the plurality of storages.

6. The storage gateway of claim 5 , wherein the plurality of connection characteristics specify that the first storage has lower latency to the client than the second storage.

7. The storage gateway of claim 5 , wherein the plurality of connection characteristics specify that the first storage has greater bandwidth to the client than the second storage.

8. The storage gateway of claim 1 , wherein the processor is further programmed to:

delete the data fragment from the first storage of the plurality of storages; and

after deleting the data fragment from the first storage:

obtain a second data storage access request from a second client;

identify a second data fragment specified by the second data storage access request;

identify a second plurality of storages that each store a copy of the second data fragment using the stored data map;

select a second storage of the second plurality of storages based on a second plurality of connection characteristics between the second plurality of storages and the second client when the second data storage access request is obtained; and

obtain the copy of the second data fragment from the second storage.

9. The storage gateway of claim 1 , wherein each storage of the plurality of storages is a separate cloud storage.

10. The storage gateway of claim 1 , wherein the plurality of storages are connected to the storage gateway via operable connections.

11. The storage gateway of claim 10 , wherein the operable connections comprise the Internet.

12. The storage gateway of claim 1 , wherein the plurality of storages are geographically separated from the storage gateway.

13. The storage gateway of claim 1 , wherein the first connection characteristic is identified based on a comparison of each connection characteristic of the plurality of connection characteristics.

14. The storage gateway of claim 13 , wherein the first connection characteristic is best optimized for the workload type among the plurality of connection characteristics.

15. A method of operating a storage gateway for providing stored data, comprising:

obtaining a data storage access request from a client;

identifying a data fragment specified by the data storage access request;

identifying a plurality of storages that each store a copy of the data fragment using a stored data map;

identifying, in a data fragment library, a workload type associated with the data fragment, wherein the workload type corresponds to a type of file associated with the data fragment;

obtaining a plurality of connection characteristics between the plurality of storages and the client;

identifying, based on the workload type, a first connection characteristic of the plurality of connection characteristics;

selecting a first storage of the plurality of storages, wherein the first connection characteristic is between the client and the first storage; and

obtaining the copy of the data fragment from the first storage.

16. The method of claim 15 , further comprising:

delete the data fragment from the first storage of the plurality of storages; and

after deleting the data fragment from the first storage:

obtaining a second data storage access request from a second client;

identifying a second data fragment specified by the second data storage access request;

identifying a second plurality of storages that each store a copy of the second data fragment using the stored data map;

selecting a second storage of the second plurality of storages based on a second plurality of connection characteristics between the second plurality of storages and the second client when the second data storage access request is obtained; and

obtaining the copy of the second data fragment from the second storage.

17. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for operating a storage gateway for providing stored data, the method comprising:

obtaining a data storage access request from a client;

identifying a data fragment specified by the data storage access request;

identifying a plurality of storages that each store a copy of the data fragment using a stored data map;

identifying, in a data fragment library, a workload type associated with the data fragment, wherein the workload type corresponds to a type of file associated with the data fragment;

obtaining a plurality of connection characteristics between the plurality of storages and the client;

identifying, based on the workload type, a first connection characteristic of the plurality of connection characteristics;

selecting a first storage of the plurality of storages, wherein the first connection characteristic is between the client and the first storage; and

obtaining the copy of the data fragment from the first storage.

18. The non-transitory computer readable medium of claim 17 , wherein the method further comprises:

delete the data fragment from the first storage of the plurality of storages; and

after deleting the data fragment from the first storage:

obtaining a second data storage access request from a second client;

identifying a second data fragment specified by the second data storage access request;

identifying a second plurality of storages that each store a copy of the second data fragment using the stored data map;

selecting a second storage of the second plurality of storages based on a second plurality of connection characteristics between the second plurality of storages and the second client when the second data storage access request is obtained; and

obtaining the copy of the second data fragment from the second storage.

Assignments (8)
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 (045482/0131) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2018
From: CHOPRA, SHELESH; KULKARNI, GURURAJ
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044605/0268 →