Efficient file management through granular opportunistic locking
First Claim
Patent Images
1. A system comprising:
- at least one processor;
a memory, operatively connected to the at least one processor and including instructions that, when executed by the at least one processor, cause the at least one processor to perform a method, the method comprising;
receiving a request from a first client, the request indicating an intent to locally cache one or more of;
write data, read data, and a file handle;
opening the file with a file handle and an oplock key associated to the first client;
granting a first oplock state to the first client; and
in response to receiving an acknowledgement that the first oplock state is broken, transitioning from the first oplock state by granting the first client a second oplock state that is different from the first oplock state.
2 Assignments
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.
13 Citations
20 Claims
-
1. A system comprising:
-
at least one processor; a memory, operatively connected to the at least one processor and including instructions that, when executed by the at least one processor, cause the at least one processor to perform a method, the method comprising; receiving a request from a first client, the request indicating an intent to locally cache one or more of;
write data, read data, and a file handle;opening the file with a file handle and an oplock key associated to the first client; granting a first oplock state to the first client; and in response to receiving an acknowledgement that the first oplock state is broken, transitioning from the first oplock state by granting the first client a second oplock state that is different from the first oplock state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
at least one processor; a memory, operatively connected to the at least one processor and including instructions that, when executed by the at least one processor, cause the at least one processor to perform a method, the method comprising; receiving a request from a first client, the request indicating an intent to locally cache one or more of;
write data, read data, and a file handle;opening the file with a file handle and an oplock key associated to the first client; granting a first oplock state to the first client; and in response to receiving a request from a second client with a second oplock key associated to the second client, transitioning from the first oplock state by granting the first client a second oplock state that is different from the first oplock state. - View Dependent Claims (10, 11, 12)
-
-
13. A method comprising:
-
receiving a request from a first client, the request indicating an intent to locally cache one or more of;
write data, read data, and a file handle;opening a file with a file handle and an oplock key associated to the first client; granting a first oplock state to the first client; and in response to receiving an acknowledgement that the first oplock state is broken, transitioning from the first oplock state by granting the first client a second oplock state that is different from the first oplock state. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification