Sending interim notifications to a client of a distributed filesystem
First Claim
1. A computer-implemented method for sending interim notifications to a client of a distributed filesystem, the method comprising:
- collectively managing the data of the distributed filesystem using 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 first cloud controller a request from the client to access a file, wherein the client is configured to abort the request if the duration of the request exceeds a timeout interval;
determining from at least one of a level of consistency associated with the file and the type of file access being requested by the client for the file that the first cloud controller needs to initiate a remote request to contact at least one of a second, distinct cloud controller or a cloud storage system to service the request, wherein the first cloud controller determines that the request comprises a write operation that accesses the most recently updated version of the file, wherein the second cloud controller is the owning cloud controller for the file, wherein the remote request comprises contacting the second cloud controller to synchronize recent updates for the file to the first cloud controller and to claim ownership for the file to facilitate client write access for the file; and
sending an interim notification from the first cloud controller to the client before the timeout interval expires to notify the client that the request is pending and to ensure that the client does not abort the request, wherein sending the interim notification comprises tracking a set of delays associated with accessing the second cloud controller, determining from the tracked information that the remote request is likely to exceed the client timeout interval, and ensuring that the client receives the interim notification before the timeout interval is exceeded.
9 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments disclose techniques for sending interim notifications to a client of a distributed filesystem. Two or more cloud controllers collectively manage distributed filesystem data that is stored in one or more 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 a client request to access a file. The cloud controller determines that it will need to contact at least one of another peer cloud controller or a cloud storage system to service the request, and sends an interim notification to the client to notify the client that the request is pending.
-
Citations
10 Claims
-
1. A computer-implemented method for sending interim notifications to a client of a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using 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 first cloud controller a request from the client to access a file, wherein the client is configured to abort the request if the duration of the request exceeds a timeout interval; determining from at least one of a level of consistency associated with the file and the type of file access being requested by the client for the file that the first cloud controller needs to initiate a remote request to contact at least one of a second, distinct cloud controller or a cloud storage system to service the request, wherein the first cloud controller determines that the request comprises a write operation that accesses the most recently updated version of the file, wherein the second cloud controller is the owning cloud controller for the file, wherein the remote request comprises contacting the second cloud controller to synchronize recent updates for the file to the first cloud controller and to claim ownership for the file to facilitate client write access for the file; and sending an interim notification from the first cloud controller to the client before the timeout interval expires to notify the client that the request is pending and to ensure that the client does not abort the request, wherein sending the interim notification comprises tracking a set of delays associated with accessing the second cloud controller, determining from the tracked information that the remote request is likely to exceed the client timeout interval, and ensuring that the client receives the interim notification before the timeout interval is exceeded. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for sending interim notifications to a client of a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using 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 first cloud controller a request from the client to access a file, wherein the client is configured to abort the request if the duration of the request exceeds a timeout interval; determining from at least one of a level of consistency associated with the file and the type of file access being requested by the client for the file that the first cloud controller needs to initiate a remote request to contact at least one of a second, distinct cloud controller or a cloud storage system to service the request, wherein the first cloud controller determines that the request comprises a write operation that accesses the most recently updated version of the file, wherein the second cloud controller is the owning cloud controller for the file, wherein the remote request comprises contacting the second cloud controller to synchronize recent updates for the file to the first cloud controller and to claim ownership for the file to facilitate client write access for the file; and sending an interim notification from the first cloud controller to the client before the timeout interval expires to notify the client that the request is pending and to ensure that the client does not abort the request, wherein sending the interim notification comprises tracking a set of delays associated with accessing the second cloud controller, determining from the tracked information that the remote request is likely to exceed the client timeout interval, and ensuring that the client receives the interim notification before the timeout interval is exceeded. - View Dependent Claims (7, 8, 9)
-
-
10. A cloud controller that sends interim notifications to a client of a distributed filesystem, comprising:
-
a processor; and a local storage device that stores a copy of the metadata for the distributed filesystem; wherein two or more cloud controllers collectively manage the data of the distributed filesystem; wherein the cloud controller; receives a request from the client to access a file, wherein the client is configured to abort the request if the duration of the request exceeds a timeout interval; determines from at least one of a level of consistency associated with the file and the type of file access being requested by the client for the file that the cloud controller needs to initiate a remote request to contact at least one of a second, distinct cloud controller or a cloud storage system to service the request, wherein the cloud controller determines that the request comprises a write operation that accesses the most recently updated version of the file, wherein the second cloud controller is the owning cloud controller for the file, wherein the remote request comprises contacting the second cloud controller to synchronize recent updates for the file to the cloud controller and to claim ownership for the file to facilitate client write access for the file; and sends an interim notification to the client before the timeout interval expires to notify the client that the request is pending and to ensure that the client does not abort the request, wherein sending the interim notification comprises tracking a set of delays associated with accessing the second cloud controller, determining from the tracked information that the remote request is likely to exceed the client timeout interval, and ensuring that the client receives the interim notification before the timeout interval is exceeded.
-
Specification