Efficient file management through granular opportunistic locking
First Claim
Patent Images
1. A method for maintaining distributed cache coherency across multiple clients accessing a file or a shared resource, the method comprising:
- associating an oplock key with a first client, wherein the oplock key includes a file handle;
transmitting an oplock state request from the first client, the request indicating that the first client is locally caching one or more of;
(i) write data, (ii) read data, and (iii) the file handle;
receiving the requested oplock state;
requesting a second oplock state in response to determining that the first oplock state is broken; and
transitioning from the first oplock state to the second oplock state.
1 Assignment
0 Petitions
Accused Products
Abstract
Improved methods and systems for granular opportunistic locking mechanisms (oplocks) are provided for increasing file caching efficiency. Oplocks can be specified with a combination of three possible granular caching intentions: read, write, and/or handle. An oplock can be specified with an identifier that indicates a client/specific caller to avoid breaking the original oplock due to an incompatibility from other requests of the same client. An atomic oplock flag is added to create operations that allow callers to request an atomic open with an oplock with a given file.
4 Citations
20 Claims
-
1. A method for maintaining distributed cache coherency across multiple clients accessing a file or a shared resource, the method comprising:
-
associating an oplock key with a first client, wherein the oplock key includes a file handle; transmitting an oplock state request from the first client, the request indicating that the first client is locally caching one or more of;
(i) write data, (ii) read data, and (iii) the file handle;receiving the requested oplock state; requesting a second oplock state in response to determining that the first oplock state is broken; and transitioning from the first oplock state to the second oplock state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage device encoding computer executable instructions that, when executed by at least one processor, performs a method for maintaining distributed cache coherency across multiple clients accessing a file or a shared resource, the method comprising:
-
associating an oplock key with a first client, wherein the oplock key includes a file handle; transmitting an oplock state request from the first client, the request indicating that the first client is locally caching one or more of;
(i) write data, (ii) read data, and (iii) the file handle;receiving the requested oplock state; in response to determining that the first oplock state is broken, requesting a second oplock state; and transitioning from the first oplock state to the second oplock state. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
one or more processors; and a memory coupled to the one or more processors, the memory for storing instructions which, when executed by the one or more processors, cause the one or more processors to perform a method for maintaining distributed cache coherency across multiple clients accessing a file or a shared resource, the method comprising; associating an oplock key with a first client, wherein the oplock key includes a file handle; transmitting an oplock state request from the first client, the request indicating that the first client is locally caching one or more of;
(i) write data, (ii) read data, and (iii) the file handle;receiving the requested oplock state; in response to determining that the first oplock state is broken, requesting a second oplock state; and transitioning from the first oplock state to the second oplock state. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification