Directory oplock

US8965862B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8965862-B2
Application numberUS-88462410-A
CountryUS
Kind codeB2
Filing dateSep 17, 2010
Priority dateSep 17, 2010
Publication dateFeb 24, 2015
Grant dateFeb 24, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Current file systems may implement opportunistic locks on files that allow clients to locally cache file data, while promoting data consistency when multiple clients read/write the same file. Unfortunately, when a client locally caches directory content of a directory, the file system may lack a mechanism for notifying the client of changes to the directory that would render the cached directory content “stale”. Accordingly, one or more systems and/or techniques for managing a directory oplock are disclosed herein. A directory oplock may be generated based upon an oplock request comprising a first target key and a first parent key. Subsequent access requests for access to the directory or objects therein may be compared with the directory oplock to determine whether to break the directory oplock, and notify the client (e.g., directory oplock is broken if the client submitting the access request is different than the client owning the directory oplock).

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing a directory oplock, the method comprising: receiving an oplock request for a directory oplock on a directory, the oplock request comprising a first target key and a first parent key, wherein the first target key comprises a first unique identifier for a client related to the oplock request; generating the directory oplock based upon the oplock request; receiving an access request for access to an object within the directory, the access request comprising a second target key and a second parent key, wherein the second parent key comprises a second unique identifier for a client related to the access request; comparing the first target key to the second parent key; breaking, executed by a processor, the directory oplock if the second parent key does not match the first target key; and not breaking the directory oplock if the second parent key does match the first target key. 2. The method of claim 1 , comprising: upon breaking the directory oplock, sending notification of the break to a first client originating the oplock request. 3. The method of claim 2 , comprising: sending notification to a second client originating the access request to wait until acknowledgement of the break by the first client, the access request corresponding to a request by the second client to perform an operation upon the directory. 4. The method of claim 3 , the first target key specifying a unique identifier corresponding to the first client and the directory, and the first parent key specifying a unique identifier corresponding to the first client and a parent directory comprising the directory. 5. The method of claim 4 , the second target key specifying a unique identifier corresponding to the second client and the object within the directory, and the second parent key corresponding to the second client and the directory. 6. The method of claim 1 , comprising: upon determining the second parent key does match the first target key, determining a first client originated the oplock request, the first client owns the directory oplock, and the first client originated the access request. 7. The method of claim 1 , the generating the directory oplock comprising at least one of: generating a read-write-handle-caching oplock; generating a read-caching oplock; and generating a read-handle-caching oplock. 8. The method of claim 1 , the access request for access comprising an I/O request to perform at least one of: modify a file object within the directory; modify a sub-directory object within the directory; add a file object to the directory; add a sub-directory object within the directory; delete a file object within the directory; and delete a sub-directory object within the directory. 9. The method of claim 1 , comprising: assigning the directory oplock to a first client originating the oplock request; and if the second parent key does not match the first target key, then notifying the first client to back out of the directory in order for a second client originating the access request to perform an operation related to the directory. 10. A system for maintaining a directory oplock, comprising: at least one processor; and memory encoding computer executable instructions, that, when executed by the at least one processor, perform a method for managing a directory oplock, the method comprising: receiving an oplock request for a directory oplock on a directory, the oplock request comprising a first target key and a first parent key, wherein the first target key comprises a first unique identifier for a client related to the oplock request; generating the directory oplock based upon the oplock request; receiving an access request for access to an object within the directory, the access request comprising a second target key and a second parent key, wherein the second parent key comprises a second unique identifier for a client related to the access request; comparing the first target key to the second parent key; breaking the directory oplock if the second parent key does not match the first target key; and not breaking the directory oplock if the second parent key does match the first target key. 11. The system of claim 10 , wherein the memory further comprises instructions for: generating an atomic oplock in response to a directory access request to access the directory. 12. The system of claim 11 , the atomic oplock spanning a timeframe between the directory access request and the oplock request for the directory oplock on the directory. 13. The system of claim 10 , the object comprising at least one of: a file within the directory; and a sub-directory within the directory. 14. The system of claim 10 , wherein the memory further comprises instructions for: sending notification of a directory oplock break to a first client originating the oplock request. 15. The system of claim 14 , wherein the memory further comprises instructions for: sending notification to a second client originating the access request to wait until acknowledgement of the break by the first client, the access request corresponding to a request by the second client to perform an operation upon the directory. 16. The system of claim 10 , wherein the memory further comprises instructions for: receiving a directory access request comprising an I/O request to perform an operation on the directory; and notifying a client associated with the directory oplock to back out of the directory in order for a client originating the directory access request to perform the operation on the directory. 17. The system of claim 10 , the first target key specifying a unique identifier corresponding to a first client and the directory, and the first parent key specifying a unique identifier corresponding to the first client and a parent directory comprising the directory. 18. The system of claim 10 , the second target key specifying a unique identifier corresponding to a second client and the object within the directory, and the second parent key specifying a unique identifier corresponding to the second client and the directory. 19. The system of claim 10 , the directory oplock comprising at least one of a read-caching oplock and a read-handle-caching oplock. 20. A computing device encoding computer executable instructions that, when executed by at least one processor, perform a method for managing a directory oplock, the method comprising: receiving an oplock request for a directory oplock on a directory, the oplock request comprising a first target key and a first parent key; generating the directory oplock based upon the oplock request; receiving an access request for access to an object within the directory, the access request comprising a second target key and a second parent key; when the second parent key does not match the first target key, performing operations comprising: breaking the directory oplock; sending notification of the break to a first client originating the oplock request; and sending notification to a second client originating the access request to wait until acknowledgement of the break by the first client, the access request corresponding to a request by the second client to perform an operation upon the directory; and when the second parent key matches the first target key, not breaking the directory oplock.

Assignees

Inventors

Classifications

  • Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8965862B2 cover?
Current file systems may implement opportunistic locks on files that allow clients to locally cache file data, while promoting data consistency when multiple clients read/write the same file. Unfortunately, when a client locally caches directory content of a directory, the file system may lack a mechanism for notifying the client of changes to the directory that would render the cached director…
Who is the assignee on this patent?
Allred Christian Gregory, Havewala Sarosh Cyrus, Christiansen Jr Neal Robert, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F16/1774. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 24 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).