Versioned file system with global lock

US10311153B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10311153-B2
Application numberUS-201514735345-A
CountryUS
Kind codeB2
Filing dateJun 10, 2015
Priority dateNov 28, 2014
Publication dateJun 4, 2019
Grant dateJun 4, 2019

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 versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is also disclosed. A multiprotocol global lock can be provided for filing nodes that have multiple network protocols for generating local lock requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of locking a shared file stored in a cloud-based network-attached file system (NAS), the method carried out at a local file system, comprising: creating a snapshot of a most recent version of the shared file without triggering a copy-on-write (COW) event in the local file system; intercepting a local lock request initiated by a user of a local file system, the local lock request for write access to the shared file; translating the local lock request having a first local protocol to a global lock request having a common lock format recognized and used by a central lock server to manage locking of the shared file, the common lock format comprising a unique identifier handle, a requested lock mode, and a protocol associated with the local lock request; sending the global lock request from the local file system to the central lock server; and receiving, at the local file system and from the central lock server, a global lock for the shared file together with a latest version of the shared file when the central lock server determines that the global lock is available, the latest version of the shared file having been retrieved from the cloud-based NAS by the central lock server using the unique identifier handle. 2. The method of claim 1 , wherein the first local protocol is Network File System (NFS). 3. The method of claim 1 , wherein the first local protocol is Server Message Block (SMB) or Common Internet File System (CIFS). 4. The method of claim 2 , further comprising: intercepting a second local lock request initiated by a second user of a second local file system, the second local lock request for write access to the shared file, the second local lock request having a second local protocol, the second local protocol comprising Server Message Block (SMB) or Common Internet File System (CIFS); translating the second local lock request having the second local protocol to a second global lock request having the common protocol; sending the second global lock request to the central lock server; and receiving a multiprotocol global lock for the shared file if the central lock server determines that the multiprotocol global lock is available. 5. The method of claim 1 , further comprising marking a parent directory of the shared file as modified. 6. The method of claim 1 , further comprising merging a file data for the shared file in a local cache prior to locking a file path of the shared file. 7. The method of claim 6 , further comprising determining whether a network file data stored in a server is newer than a local file data stored in the local cache. 8. The method of claim 7 , further comprising, prior to releasing the global lock, discarding the network file data if the local file data of the shared file is newer than the network file data of the shared file. 9. The method of claim 8 , further comprising discarding the network file data if a lock write version value of the shared file is less than a lock push version value of the shared file. 10. The method of claim 8 , further comprising merging the local file data with the network file data if a lock write version value of the shared file is greater than a lock push version value of the shared file. 11. The method of claim 1 , further comprising storing a local lock release request in a local lock cache for a given time. 12. The method of claim 11 , further comprising reestablishing the global lock if a second local lock request is generated while the local lock release is stored in the local cache. 13. The method of claim 12 , further comprising resetting an existing lock mode of the global lock if the new lock mode for the second lock request is different than the existing lock mode. 14. The method of claim 13 , wherein the reset lock mode is inclusive of an existing access level of the existing lock mode and a new access level of the new lock mode. 15. The method of claim 13 , wherein the reset lock mode is inclusive of an existing share level of the existing lock mode and a new share level of the new lock mode. 16. The method of claim 11 , further comprising: translating the local lock release to a global lock release having the common lock format; and sending the global lock release to the central lock server. 17. The method of claim 1 , further comprising updating a central lock database with an identity of the shared file associated with the global lock released by the central lock server. 18. The method of claim 1 , further comprising determining whether a requested lock mode is available. 19. The method of claim 18 , wherein the requested lock mode includes an exclusive write access or a shared write access. 20. The method of claim 18 , further comprising determining if the requested lock mode is compatible with an existing lock mode for an existing global lock on the shared file. 21. The method of claim 20 , wherein determining if the requested lock mode is compatible with an existing lock mode comprises comparing the first local protocol associated with the global lock request with a second local protocol associated with the existing global lock. 22. The method of claim 1 , further comprising storing a new file request on the central lock server. 23. The method of claim 22 , further comprising polling the central lock server for new files or new objects that have not been merged into the NAS. 24. The method of claim 22 , further comprising merging a new file generated by the new file request into the NAS. 25. The method of claim 1 , further comprising promoting the local lock request to a write lock that allows read-only access to others users of the NAS. 26. The method of claim 1 , further comprising honoring an access flag and a shared access flag associated with the local lock request. 27. The method of claim 1 , further comprising initiating a lock peek when the user opens the shared file. 28. The method of claim 27 , wherein the lock peek comprises retrieving at least one of a file handle, a handle version, a first handle, and a lock push version. 29. The method of claim 28 , wherein the lock peek is retrieved from a local lock cache. 30. The method of claim 28 , wherein the lock peek is retrieved from the central lock server. 31. The method of claim 30 , further comprising storing information retrieved from the lock peek in a local lock cache for a given time.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067) · CPC title

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

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 US10311153B2 cover?
A versioned file system comprising network accessible storage is provided. Aspects of the system include globally locking files or groups of files so as to better control the stored files in the file system and to avoid problems associated with simultaneous remote access or conflicting multiple access requests for the same files. A method for operating, creating and using the global locks is al…
Who is the assignee on this patent?
Nasuni Corp
What technology area does this patent fall under?
Primary CPC classification G06F17/30171. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 04 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).