Lock elevation in a distributed file storage system

US9525735B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9525735-B2
Application numberUS-201314067577-A
CountryUS
Kind codeB2
Filing dateOct 30, 2013
Priority dateOct 30, 2013
Publication dateDec 20, 2016
Grant dateDec 20, 2016

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.

A client requests access to a resource (e.g., a file) via a node of a storage system. The resource is stored in a directory structure. A directory in the directory structure that includes the resource and that does not have any locks that conflict with the requested access to the resource is identified and selected. A revocable access privilege (e.g., a lock) on the selected directory is awarded to the node accessed by the client, and a directory-to-node association is established. Another association between the requested resource and the node is also established. If there is a subsequent request for the resource or for another resource within that directory, then a revoke notice for the directory access privilege is sent to the node.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving first information that indicates a first client is requesting access to a first resource via a first node of a storage system comprising a plurality of nodes, wherein said first resource is stored in a directory structure comprising a hierarchy of directories, wherein said first information comprises a fully qualified file name, and wherein second information associating said first resource with said first node is stored on a node of said storage system that is identified by hashing said file name; identifying a first directory in said hierarchy that includes said first resource and that has no locks associated therewith that conflict with said access to said first resource; associating a first lock with said first directory and granting said first lock to said first node, and associating said first resource with said first node; receiving third information that indicates a second client is requesting access to a second resource via a second node of said plurality of nodes, wherein said second resource is stored within said first directory; and revoking said first lock and associating a second lock with said first directory and granting said second lock to said first node accessed by said first client, wherein said second lock has a demoted privilege for said first directory relative to said first lock. 2. The method of claim 1 , wherein said first directory is at a highest-level directory in said directory structure that includes said first resource and that has no locks associated therewith that conflict with said access to said first resource. 3. The method of claim 1 , further comprising associating a third lock with said first directory and granting said third lock to said second node accessed by said second client, and associating said second resource with said second node accessed by said second client, wherein said third lock and said first lock have compatible directory access privileges. 4. The method of claim 1 , further comprising: receiving fourth information that indicates a third client is requesting access to a third resource via a third node of said plurality of nodes, wherein said third resource is stored within said first directory; identifying a second directory in said hierarchy that is within said first directory, includes said third resource, and has no locks associated therewith that conflict with said access to said third resource; and associating said second lock with said second directory and granting said second lock to said first node accessed by said first client, wherein said first resource remains associated with said first node accessed by said first client. 5. The method of claim 4 , wherein said second directory is a highest-level directory within said first directory that includes said third resource and that has no locks associated therewith that conflict with said access to said third resource. 6. The method of claim 1 , wherein fifth information associating said first lock with said first directory and with said first node is stored on a node of said storage system that is associated with said first directory. 7. The method of claim 1 , wherein each node of said plurality of nodes comprises a multiprotocol lock manager operable for resolving lock conflicts across said plurality of nodes. 8. A system, comprising: a processor; and memory coupled to said processor and having stored therein instructions that, executed by said system, cause said system to perform operations comprising: receiving a request from a first client for access to a first file, wherein said first file is stored in a directory structure comprising a hierarchy of directories, wherein said request comprises a fully qualified file name for said first file; requesting a first lock prior to accessing said first file; receiving acknowledgement that said first lock is granted to said system, wherein said first lock is associated with a first directory in said hierarchy that is a highest-level directory in said directory structure that includes said first file and that has no locks associated therewith that conflict with said access to said first file, wherein a subsequent request from said first client for access to another file included in said first directory is accomplished without another request for a lock, and wherein information associating said first lock with said first directory is stored on a node of a data storage system that is identified by hashing said file name; receiving first information that said first lock is revoked in response to a request from a second client for a type of access to a second file that is stored within said first directory; requesting a second lock, wherein said second lock does not conflict with said type of access requested by said second client; and receiving acknowledgement that said second lock is granted to said system, wherein said second lock is associated with the first directory, and wherein said second lock has a demoted privilege for said first directory relative to said first lock. 9. The system of claim 8 , wherein said first information further comprises a second fully qualified file name for said second file, and said type of access. 10. The system of claim 8 , wherein said operations further comprise: comparing said type of access and said first lock; and in response to determining that said type of access conflicts with said first lock, requesting said second lock for said first directory that does not conflict with said type of access. 11. The system of claim 8 , further comprising: receiving second information that said second lock is revoked in response to a request from a third client for a type of access to a third file that is stored within said first directory; and requesting a third lock, wherein said third lock does not conflict with said type of access requested by said third client, wherein said third lock is placed on a second directory in said hierarchy that is a highest-level directory within said first directory that includes said third file and that has no locks associated therewith that conflict with said access to said third file. 12. The system of claim 8 , wherein said operations further comprise: hashing said file name to identify the node in the data storage system; sending a request for said first lock to said node; and receiving said acknowledgement from said node. 13. A non-transitory computer-readable storage medium having computer-executable instructions that, when executed, cause a first node in a data storage system to perform a method, said method comprising: receiving, from a second node in said data storage system, first information that a first lock is granted to said first node in response to a request from a first client to access a first file stored in a directory structure comprising a hierarchy of directories, wherein said first lock is for a first directory in said directory structure that includes said first file and that has no locks associated therewith that conflict with said access to said first file, wherein said request from said first client comprises a fully qualified file name for said first file, and wherein information associating said first lock with said first node is stored on a node of said storage system that is identified by hashing said file name; receiving second information that said first lock is revoked in response to a request from a second client for access to a second file that is stored within said first directory, said second information comprising a fully qualified file name for said second file and identifying a type of access associated with said request fr

Assignees

Inventors

Classifications

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

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US9525735B2 cover?
A client requests access to a resource (e.g., a file) via a node of a storage system. The resource is stored in a directory structure. A directory in the directory structure that includes the resource and that does not have any locks that conflict with the requested access to the resource is identified and selected. A revocable access privilege (e.g., a lock) on the selected directory is awarde…
Who is the assignee on this patent?
Futurewei Technologies Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 20 2016 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).