IP Library › Granted Patent US 10,776,216
Granted Patent B2
US 10,776,216 · App. 15/240,645 · Granted Sep 15, 2020

Tiered cloud storage for different availability and performance requirements

Inventors: Huamin Chen (Westford, MA); Jay Vyas (Boston, MA)
Assignee: Red Hat, Inc.
G06F11/1464G06F16/182G06F16/215H04L67/025H04L67/10H04L67/1095H04L67/2804H04L67/2823G06F11/2094G06F11/2097
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,776,216
App. No.
15/240,645
Granted
Sep 15, 2020
Kind
B2
Abstract

A system and method for a tiered cloud storage for different availability and performance requirements includes a gateway, a block store configured to cache data, and an object store configured to persistently store data. The gateway, the block store, and the object store are in a compute zone. The gateway may receive from a user application a file access call and process the file access call. The gateway may also send the file access call to the block store. Then, the gateway may determine to store data in the object store and flush the data from the block store to the object store.

Claims (45)

1. A method of operating a tiered cloud storage system, wherein the tiered cloud storage system comprises a plurality of compute zones including a first compute zone and a second compute zone, a first gateway and a second gateway, a first block store and a second block store, and a first object store and a second object store, wherein the first gateway, the first block store, and the first object store are in the first compute zone, and wherein the second gateway, the second block store, and the second object store are in the second compute zone, the method comprising:

receiving, by the first gateway in the first compute zone, from a user application a file access call, wherein the file access call is a write access call to store first data;

processing, by the first gateway, the file access call;

sending, by the first gateway, the file access call to the first block store that is configured to cache data; and

determining, by the first gateway, (a) to store the first data in the first object store that is configured to persistently store data and (b) to flush the first data from the first block store to the first object store, wherein the first object store has a flat and non-hierarchical structure,

replicating metadata used by the first gateway to the second gateway, the metadata comprising information regarding which data is stored in the first block store and which data is flushed to the first object store and stored in the first object store, and

replicating a data cache in the first block store to the second block store, wherein the data cache stores data cached in the first block store.

2. The method of claim 1 , wherein frequencies of the replication of the data cache and the metadata are determined heuristically.

3. The method of claim 2 , wherein both the data cache and the metadata are replicated synchronously.

4. The method of claim 2 , wherein only the metadata is replicated synchronously and the data cache is replicated asynchronously.

5. The method of claim 2 , wherein only the data cache is replicated synchronously and the metadata are replicated asynchronously.

6. The method of claim 2 , wherein both the data cache and the metadata are replicated asynchronously.

7. The method of claim 1 , further comprising:

determining, by the first gateway, whether an object in the first object store is modified, wherein the object is associated with a block in the first block store; and

responsive to determining that the object is modified, determining, by the first gateway, whether it is safe to retrieve the object from the first object store.

8. The method of claim 1 , further comprising determining, by the first gateway, whether the first block store exceeds a predetermined threshold capacity, wherein the predetermined threshold capacity is determined based on a size of a remaining free storage area.

9. The method of claim 8 , further comprising responsive to determining that the first block store exceeds the predetermined threshold capacity, throttling, by the first gateway, a speed at which the first gateway processes the file access call.

10. The method of claim 8 , further comprising responsive to determining that the first block store exceeds the predetermined threshold capacity, expanding, by the first gateway, a capacity of the first block store.

11. The method of claim 1 , wherein a plurality of customer sites are configured to use the first block store and the first object store, wherein the plurality of customer sites includes a primary site and a backup site, wherein only the primary site is enabled to fully read and write to the first block store and the first object store.

12. A tiered cloud storage system comprising:

a plurality of compute zones including a first compute zone and a second compute zone;

a first gateway and a second gateway;

a first block store and a second block store, configured to cache data; and

a first object store and a second object store, configured to persistently store data,

wherein the first gateway, the first block store, and the first object store are in the first compute zone, and the second gateway, the second block store, and the second object store are in the second compute zone, and wherein the first gateway:

receives, from a user application, a file access call, wherein the file access call is a write access call to store first data;

processes the file access call;

sends the file access call to the first block store; and

determines (a) to store the first data in the first object store and (b) to flush the first data from the first block store to the first object store, wherein the first object store has a flat and non-hierarchical structure,

wherein metadata used by the first gateway is replicated to the second gateway, wherein the metadata comprises information regarding which data is stored in the first block store and which data is flushed to the first object store and stored in the first object store, and

wherein a data cache in the first block store is replicated to the second block store, wherein the data cache comprises data cached in the first block store.

13. The cloud storage system of claim 12 , wherein frequencies of the replication of the data cache and the metadata are determined heuristically.

14. The cloud storage system of claim 13 , wherein both the data cache and the metadata are replicated synchronously.

15. The cloud storage system of claim 13 , wherein only the metadata is replicated synchronously and the data cache is replicated asynchronously.

16. A computer readable medium including instructions that, when executed by one or more processors in a tiered cloud storage system, cause the tiered cloud storage system to:

receive, by a first gateway in a first compute zone, from a user application, a file access call, wherein the file access call is a write access call to store first data, wherein the tiered cloud storage system comprises a plurality of compute zones including the first compute zone and a second compute zone, the first gateway and a second gateway, a first block store and a second block store, and a first object store and a second object store, wherein the first gateway, the first block store, and the first object store are in the first compute zone, and wherein the second gateway, the second block store, and the second object store are in the second compute zone;

process, by the first gate way, the file access call;

send, by the first gate way, the file access call to the first block store that is configured to cache data; and

determine, by the first gate way, (a) to store the first data in the first object store that is configured to persistently store data and (b) to flush the first data from the first block store to the first object store, wherein the first object store has a flat and non-hierarchical structure,

wherein metadata used by the first gateway is replicated to the second gateway, wherein the metadata comprises information regarding which data is stored in the first block store and which data is flushed to the first object store and stored in the first object store, and

wherein a data cache in the first block store is replicated to the second block store, wherein the data cache comprises data cached in the first block store.

17. The computer readable medium of claim 16 , wherein both the data cache and the metadata are replicated synchronously.

18. The computer readable medium of claim 16 , further comprising instructions, which when executed by the one or more processors, cause the tiered cloud storage system to determine, by the first gateway, whether the first block store exceeds a predetermined threshold capacity, wherein the predetermined threshold capacity is determined based on a size of a remaining free storage area.

19. The computer readable medium of claim 18 , further comprising instructions, which when executed by the one or more processors, cause the tiered cloud storage system to, responsive to determining that the first block store exceeds the predetermined threshold capacity, throttle, by the first gateway, a speed at which the first gateway processes the file access call.

20. The computer readable medium of claim 18 , further comprising instructions, which when executed by the one or more processors, cause the tiered cloud storage system to, responsive to determining that the first block store exceeds the predetermined threshold capacity, expand, by the first gateway, a capacity of the first block store.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2016
From: CHEN, HUAMIN; VYAS, JAY
To: RED HAT, INC.
Reel/Frame 039482/0184 →
Continuity (1)
Related Publication 20180052744A1 · Feb 22, 2018