Directory leasing
First Claim
1. A computer implemented method of caching directory metadata locally, the method comprising:
- receiving a first request from an application for directory metadata;
in response to receiving the first request, sending a second request to a server for the directory metadata, wherein the second request comprises;
a request for a handle to a directory containing the directory metadata; and
a request for a lease to cache directory metadata locally, wherein the lease allows local caching of directory metadata until the server revokes the lease;
a generated key that is associated with a first directory that includes the requested metadata; and
a generated directory key that is associated with a second directory, wherein the first directory is included in the second directory;
receiving a first response from the server, the first response comprising the directory metadata and an indication of an approval of the request for the lease;
storing the directory metadata in a local cache; and
providing the directory metadata to the application.
2 Assignments
0 Petitions
Accused Products
Abstract
Described are embodiments for allowing clients that access a distributed file system to locally cache directory metadata. The client may request a read lease which allows the client to cache the directory metadata locally and service requests received from the same application which originally requested the directory metadata using the cache. In addition, the client may also request a handle lease which allows a client to delay the closing of a directory handle and allow the handle to be reused to service subsequent directory metadata requests from the same or a different application. A client may also request a write lease which allows an application on the client to modify the directory metadata, such as by creating or deleting new files in the directory, or changing their attributes, and cache those changes.
-
Citations
20 Claims
-
1. A computer implemented method of caching directory metadata locally, the method comprising:
-
receiving a first request from an application for directory metadata; in response to receiving the first request, sending a second request to a server for the directory metadata, wherein the second request comprises; a request for a handle to a directory containing the directory metadata; and a request for a lease to cache directory metadata locally, wherein the lease allows local caching of directory metadata until the server revokes the lease; a generated key that is associated with a first directory that includes the requested metadata; and a generated directory key that is associated with a second directory, wherein the first directory is included in the second directory; receiving a first response from the server, the first response comprising the directory metadata and an indication of an approval of the request for the lease; storing the directory metadata in a local cache; and providing the directory metadata to the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system configured to locally cache directory metadata, the system comprising:
-
at least one processor; and a computer readable storage medium storing executable instructions that when executed by the at least one processor perform a method comprising; receiving, at a server, a first request from a first client for directory metadata, wherein the first request comprises; a request for a handle to a directory containing the directory metadata; a request for a lease to cache directory metadata locally, wherein the lease allows local caching of directory metadata until the server revokes the lease; a generated key that is associated with a first directory that includes the requested metadata; and a generated directory key that is associated with a second directory, wherein the first directory is included in the second directory; and sending, to the first client, a first response, the first response comprising the directory metadata and an indication of approval of the request for the lease. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer readable storage device storing computer executable instructions that when executed perform a method comprising:
-
receiving at a client redirector a first request from an application for directory metadata; in response to receiving the first request and transparent to the application; creating a first globally unique identifier (GUID) associated with a first directory that contains the directory metadata and a second GUID associated with a second directory that contains the first directory; and sending a packet formatted according to a file access protocol to a server for the directory metadata, wherein the packet comprises; a request for a handle to the first directory; a request for a lease to cache the directory metadata locally, wherein the lease allows local caching of the directory metadata until the server revokes the lease; and the first GUID and the second GUID; receiving a second packet from the server, the second packet comprising the directory metadata and an indication of approval of the request for the lease; storing the directory metadata in a local cache; and providing the directory metadata to the application. - View Dependent Claims (18, 19, 20)
-
Specification