Managing the level of consistency for a file in a distributed filesystem
First Claim
1. A computer-implemented method for managing a level of consistency for a file in a distributed filesystem, the method comprising:
- collectively managing the data of the distributed filesystem using a set of two or more cloud controllers, wherein collectively managing the data comprises 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;
receiving at a cloud controller in the set a request from a client to access the file, wherein the set of cloud controllers detect and monitor accesses to the file to track in a specified timeframe the number and set of clients accessing the file, the number of simultaneous accesses for the file, and the number and locations of the cloud controllers that are involved in accessing the file, wherein the cloud controllers exchange tracked file access information to collectively create, maintain, and propagate a multi-dimensional consistency matrix that associates application behavior, file types, access type, and access frequencies for the files in the distributed filesystem;
monitoring accesses for the file and dynamically adjust a level of consistency that is associated with the file using the tracked information for the file and the consistency information collectively gathered in the multi-dimensional consistency matrix; and
determining from the level of consistency for the file whether to communicate with other cloud controllers in the set when handling the request and communicating changes to the level of consistency for the file and to the multi-dimensional consistency matrix to the cloud controllers in the set.
9 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments disclose techniques for managing consistency for a file in a distributed filesystem. Two or more cloud controllers collectively manage distributed filesystem data that is stored in the cloud storage systems; the cloud controllers ensure data consistency for the stored data, and each cloud controller caches portions of the distributed filesystem. During operation, a cloud controller receives from a client a request to access the file. The cloud controller determines a level of consistency that is associated with the file, and then uses this level of consistency to determine whether to communicate with a peer cloud controller when handling the request.
-
Citations
17 Claims
-
1. A computer-implemented method for managing a level of consistency for a file in a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using a set of two or more cloud controllers, wherein collectively managing the data comprises 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; receiving at a cloud controller in the set a request from a client to access the file, wherein the set of cloud controllers detect and monitor accesses to the file to track in a specified timeframe the number and set of clients accessing the file, the number of simultaneous accesses for the file, and the number and locations of the cloud controllers that are involved in accessing the file, wherein the cloud controllers exchange tracked file access information to collectively create, maintain, and propagate a multi-dimensional consistency matrix that associates application behavior, file types, access type, and access frequencies for the files in the distributed filesystem; monitoring accesses for the file and dynamically adjust a level of consistency that is associated with the file using the tracked information for the file and the consistency information collectively gathered in the multi-dimensional consistency matrix; and determining from the level of consistency for the file whether to communicate with other cloud controllers in the set when handling the request and communicating changes to the level of consistency for the file and to the multi-dimensional consistency matrix to the cloud controllers in the set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for managing a level of consistency for a file in a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using a set of two or more cloud controllers, wherein collectively managing the data comprises 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; receiving at a cloud controller in the set a request from a client to access the file, wherein the set of cloud controllers detect and monitor accesses to the file to track in a specified timeframe the number and set of clients accessing the file, the number of simultaneous accesses for the file, and the number and locations of the cloud controllers that are involved in accessing the file, wherein the cloud controllers exchange tracked file access information to collectively create, maintain, and propagate a multi-dimensional consistency matrix that associates application behavior, file types, access type, and access frequencies for the files in the distributed filesystem; monitoring accesses for the file and dynamically adjust a level of consistency that is associated with the file using the tracked information for the file and the consistency information collectively gathered in the multi-dimensional consistency matrix; and determining from the level of consistency for the file whether to communicate with other cloud controllers in the set when handling the request and communicating changes to the level of consistency for the file and to the multi-dimensional consistency matrix to the cloud controllers in the set.
-
-
17. A cloud controller that manages a level of consistency for a file in a distributed filesystem, comprising:
-
a processor; and a local storage device that stores a copy of the metadata for the distributed filesystem wherein the cloud controller is part of a set of two or more cloud controllers that collectively manage the data of the distributed filesystem, wherein collectively managing the data comprises 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; wherein the cloud controller; receives a request from a client to access the file, wherein the cloud controller detects and monitors accesses to the file to track in a specified timeframe the number and set of clients accessing the file, the number of simultaneous accesses for the file, and the number and locations of the cloud controllers that are involved in accessing the file, wherein the cloud controllers exchange tracked file access information to collectively create, maintain, and propagate a multi-dimensional consistency matrix that associates application behavior, file types, access type, and access frequencies for the files in the distributed filesystem; monitors accesses for the file and dynamically adjusts a level of consistency that is associated with the file using the tracked information for the file and the consistency information collectively gathered in the multi-dimensional consistency matrix; and determines from the level of consistency for the file whether to communicate with other cloud controllers in the set when handling the request and communicating changes to the level of consistency for the file and to the multi-dimensional consistency matrix to the cloud controllers in the set.
-
Specification