DISTRIBUTING DATA FOR A DISTRIBUTED FILESYSTEM ACROSS MULTIPLE CLOUD STORAGE SYSTEMS
First Claim
1. A computer-implemented method for distributing data for a distributed filesystem across multiple cloud storage systems, the method comprising:
- collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises;
upon receiving in a cloud controller new data from a client, sending from the cloud controller an incremental metadata snapshot for the new data, wherein the incremental metadata snapshot is received by the other cloud controllers of the distributed filesystem;
storing the data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems; and
sending an incremental data snapshot containing the new data from the cloud controller to a first cloud storage system; and
distributing data stored in the distributed filesystem across the first cloud storage system and a second cloud storage system to optimize at least one of performance and cost of the distributed filesystem.
9 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system that distributes data for a distributed filesystem across multiple cloud storage systems. Two or more cloud controllers collectively manage distributed filesystem data that is stored in one or more cloud storage systems; the cloud controllers cache and ensure data consistency for the stored data. Whenever each cloud controller receives new data from a client, it outputs an incremental metadata snapshot for the new data that is propagated to the other cloud controllers and an incremental data snapshot containing the new data that is sent to a cloud storage system. During operation, data stored in the distributed filesystem can be distributed across two or more cloud storage systems to optimize performance and/or cost for the distributed filesystem.
236 Citations
20 Claims
-
1. A computer-implemented method for distributing data for a distributed filesystem across multiple cloud storage systems, the method comprising:
-
collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises; upon receiving in a cloud controller new data from a client, sending from the cloud controller an incremental metadata snapshot for the new data, wherein the incremental metadata snapshot is received by the other cloud controllers of the distributed filesystem; storing the data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems; and sending an incremental data snapshot containing the new data from the cloud controller to a first cloud storage system; and distributing data stored in the distributed filesystem across the first cloud storage system and a second cloud storage system to optimize at least one of performance and cost of the distributed filesystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for distributing data for a distributed filesystem across multiple cloud storage systems, the method comprising:
-
collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises; upon receiving in a cloud controller new data from a client, sending from the cloud controller an incremental metadata snapshot for the new data, wherein the incremental metadata snapshot is received by the other cloud controllers of the distributed filesystem; storing the data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems; and sending an incremental data snapshot containing the new data from the cloud controller to a first cloud storage system; and distributing data stored in the distributed filesystem across the first cloud storage system and a second cloud storage system to optimize at least one of performance and cost of the distributed filesystem. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A cloud controller that distributes data for a distributed filesystem across multiple cloud storage systems, comprising:
-
a processor; a storage mechanism that stores metadata for the distributed filesystem; and a storage management mechanism; wherein two or more cloud controllers collectively manage the data of the distributed filesystem, wherein collectively managing the data comprises; upon receiving in a cloud controller new data from a client, sending from the cloud controller an incremental metadata snapshot for the new data, wherein the incremental metadata snapshot is received by the other cloud controllers of the distributed filesystem; storing the data for the distributed filesystem in one or more cloud storage systems, wherein the storage management mechanisms of the cloud controllers are configured to cache and ensure data consistency for data stored in the cloud storage systems; and sending an incremental data snapshot containing the new data from the cloud controller to a first cloud storage system; and wherein the storage management mechanism is further configured to distribute data stored in the distributed filesystem across the first cloud storage system and a second cloud storage system to optimize at least one of performance and cost of the distributed filesystem.
-
Specification