IP Library Granted Patent US 10,848,545
Granted Patent B2
US 10,848,545 · App. 15/884,579 · Granted Nov 24, 2020

Managing cloud storage of block-based and file-based data

Inventors: Jean-Pierre Bono (Westborough, MA); Sudhir Srinivasan (Acton, MA)
Assignee: EMC IP Holding Company LLC
H04L67/06G06F9/547G06F16/113G06F16/116G06F16/128G06F16/183H04L67/1097
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,848,545
App. No.
15/884,579
Granted
Nov 24, 2020
Kind
B2
Abstract

A technique for managing cloud storage provides a unified framework that supports both block-type data, such as LUNs (Logical UNits) and volumes, and file-type data, such as files, and expresses both types of data in the form of objects, which form a common base for both types of data. The framework includes a single API (application program interface) for managing storage and retrieval of block-derived objects and file-derived objects from the cloud, e.g., from a cloud-based data store.

Claims (43)

1. A method of managing cloud-based data storage, the method comprising:

operating an FTO (file-to-object) component on a computing machine, the FTO component configured to convert between files hosted by a data storage system and cloud-based objects that store contents of the files, the cloud-based objects that store contents of the files being accessible to the data storage system via a cloud-based API (application program interface) component running on the computing machine;

operating a VTO (volume-to-object) component on the computing machine, the VTO component configured to convert between volumes hosted by the data storage system and cloud-based objects that store contents of the volumes, the cloud-based objects that store contents of the volumes being accessible to the data storage system via the cloud-based API component;

in response to a request from the data storage system to access a file, (i) transforming, by the FTO component, the request to access the file into a corresponding set of requests to access a first set of cloud-based objects and (ii) accessing, by the cloud-based API component, the first set of cloud-based objects to obtain data of the file from a set of cloud-based data stores; and

in response to a request from the data storage system to access a volume, (i) transforming, by the VTO component, the request to access the volume into a corresponding set of requests to access a second set of cloud-based objects and (ii) accessing, by the cloud-based API component, the second set of cloud-based objects to obtain data of the volume from the set of cloud-based data stores.

2. The method of claim 1 , further comprising operating the FTO component, the VTO component, and the cloud-based API component together within a CMA (cloud management appliance), the CMA operating within a virtualized processing instance on the computing machine, the virtualized processing instance realized as one of (i) a virtual machine or (ii) a container that provides an isolated userspace instance.

3. The method of claim 2 , wherein the computing machine is one of multiple hardware computing nodes that operate within the data storage system.

4. The method of claim 2 , further comprising operating an orchestration component within the CMA, including:

operating decision logic configured to select between the FTO component and the VTO component when responding to requests to perform cloud-based data storage operations;

implementing a set of policies for performing the cloud-based storage operations on a set of data elements in the data storage system; and

operating a scheduler configured to perform at least one of the cloud-based storage operations on a predetermined schedule.

5. The method of claim 4 , wherein the decision logic is configured to (i) select the FTO component when responding to requests to perform file archiving to the cloud and (ii) select the VTO component when responding to requests to perform at least one of (a) snapshot-shipping of file systems to the cloud and (b) archiving of LUNs (Logical UNits) to the cloud.

6. The method of claim 4 , further comprising:

obtaining, by the CMA, an identifier of a data element in the data storage system upon which a cloud-based storage activity is to be performed; and

directing, by the CMA and in accordance with the predetermined schedule, performance of the cloud-based storage activity on the identified data element in accordance with the set of policies.

7. The method of claim 6 , wherein the CMA has a REST interface to a component of the data storage system, and wherein obtaining the identifier of the data element includes querying, by the CMA, the component of the data storage system over the REST interface.

8. The method of claim 6 , further comprising operating a user-interface component of the CMA, the user-interface component configured to receive commands from a user to identify data elements on which to perform cloud-based storage activities.

9. The method of claim 6 , further comprising operating a user-interface component of the data storage system, the user-interface component configured to (i) receive commands from a user to configure the data storage system and (ii) receive commands from the user to identify data elements on which to perform cloud-based storage activities.

10. The method of claim 2 , wherein the cloud-based objects that store contents of the files and the cloud-based objects that store contents of the volumes reside in the same cloud-based data store, the method thereby using objects in the cloud-based data store as a common base for storing both files and volumes.

11. A computerized apparatus, comprising control circuitry constructed and arranged to:

operate an FTO (file-to-object) component on a computing machine, the FTO component configured to convert between files hosted by a data storage system and cloud-based objects that store contents of the files, the cloud-based objects that store contents of the files being accessible to the data storage system via a cloud-based API (application program interface) component running on the computing machine;

operate a VTO (volume-to-object) component on the computing machine, the VTO component configured to convert between volumes hosted by the data storage system and cloud-based objects that store contents of the volumes, the cloud-based objects that store contents of the volumes being accessible to the data storage system via the cloud-based API component;

in response to a request from the data storage system to access a file, (i) transform, by the FTO component, the request to access the file into a corresponding set of requests to access a first set of cloud-based objects and (ii) access, by the cloud-based API component, the first set of cloud-based objects to obtain data of the file from a set of cloud-based data stores; and

in response to a request from the data storage system to access a volume, (i) transform, by the VTO component, the request to access the volume into a corresponding set of requests to access a second set of cloud-based objects and (ii) access, by the cloud-based API component, the second set of cloud-based objects to obtain data of the volume from the set of cloud-based data stores.

12. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of managing cloud-based storage, the method comprising:

operating an FTO (file-to-object) component on a computing machine, the FTO component configured to convert between files hosted by a data storage system and cloud-based objects that store contents of the files, the cloud-based objects that store contents of the files being accessible to the data storage system via a cloud-based API (application program interface) component running on the computing machine;

operating a VTO (volume-to-object) component on the computing machine, the VTO component configured to convert between volumes hosted by the data storage system and cloud-based objects that store contents of the volumes, the cloud-based objects that store contents of the volumes being accessible to the data storage system via the cloud-based API component;

in response to a request from the data storage system to access a file, (i) transforming, by the FTO component, the request to access the file into a corresponding set of requests to access a first set of cloud-based objects and (ii) accessing, by the cloud-based API component, the first set of cloud-based objects to obtain data of the file from a set of cloud-based data stores; and

in response to a request from the data storage system to access a volume, (i) transforming, by the VTO component, the request to access the volume into a corresponding set of requests to access a second set of cloud-based objects and (ii) accessing, by the cloud-based API component, the second set of cloud-based objects to obtain data of the volume from the set of cloud-based data stores.

13. The computer program product of claim 12 , wherein the method further comprises operating the FTO component, the VTO component, and the cloud-based API component together within a CMA (cloud management appliance), the CMA operating within a virtualized processing instance on the computing machine, the virtualized processing instance realized as one of (i) a virtual machine or (ii) a container that provides an isolated userspace instance.

14. The computer program product of claim 13 , wherein the method further comprises operating an orchestration component within the CMA, including:

operating decision logic configured to select between the FTO component and the VTO component when responding to requests to perform cloud-based data storage operations;

implementing a set of policies for performing the cloud-based storage operations on a set of data elements in the data storage system; and

operating a scheduler configured to perform at least one of the cloud-based storage operations on a predetermined schedule.

15. The computer program product of claim 14 , wherein the decision logic is configured to (i) select the FTO component when responding to requests to perform file archiving to the cloud and (ii) select the VTO component when responding to requests to perform at least one of (a) snapshot-shipping of file systems to the cloud and (b) archiving of LUNs (Logical UNits) to the cloud.

16. The computer program product of claim 14 , wherein the method further comprises:

obtaining, by the CMA, an identifier of a data element in the data storage system upon which a cloud-based storage activity is to be performed; and

directing, by the CMA and in accordance with the predetermined schedule, performance of the cloud-based storage activity on the identified data element in accordance with the set of policies.

17. The computer program product of claim 16 , wherein the CMA has a REST interface to a component of the data storage system, and wherein obtaining the identifier of the data element includes querying, by the CMA, the component of the data storage system over the REST interface.

18. The computer program product of claim 16 , wherein the method further comprises operating a user-interface component of the CMA, the user-interface component configured to receive commands from a user to identify data elements on which to perform cloud-based storage activities.

19. The computer program product of claim 16 , wherein the method further comprises operating a user-interface component of the data storage system, the user-interface component configured to (i) receive commands from a user to configure the data storage system and (ii) receive commands from the user to identify data elements on which to perform cloud-based storage activities.

20. The computer program product of claim 13 , wherein the cloud-based objects that store contents of the files and the cloud-based objects that store contents of the volumes reside in the same cloud-based data store, the method thereby using objects in the cloud-based data store as a common base for storing both files and volumes.

21. The method of claim 1 , wherein the set of cloud-based data stores are object-based data stores, wherein the first set of cloud-based objects are object-based data, and wherein the second set of cloud-based objects are object-based data.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2018
From: BONO, JEAN-PIERRE; SRINIVASAN, SUDHIR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045313/0678 →
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 →
Continuity (1)
Related Publication 20190238618A1 · Aug 1, 2019