7587558

System and Method for Managing Hard Lock State Information in a Distributed Storage System Environment

PublishedSeptember 8, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
34 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for managing lock state information in a distributed file system, comprising: maintaining a striped volume set (SVS) by striping data across a plurality of volumes, where each volume includes one or more storage devices; maintaining a meta-data volume on the striped volume set, the meta-data volume configured to include a lock state database that stores comprehensive lock state information for the plurality of volumes of the SVS; and communicating the lock state information between said meta-data volume and the plurality of data volumes of the SVS.

2

2. The method as defined in claim 1 including the step of establishing in each said data volumes of said striped volume set a local lock cache for storing lock state information about particular storage devices served by that data volume.

3

3. The method as defined in claim 1 , including the further step of: in response to said meta-data volume receiving a request from a client for exclusive access to a range of a storage device, said metadata volume searching its lock state database for conflicting locks, and if no such locks are found, granting a lock with respect to said range; and constructing in said lock state database, a lock state data structure including information about the client requesting the lock, a lock state access type and a lock access range.

4

4. The method as defined in claim 3 , including the further steps of: in response to a receipt from a client that it no longer requires exclusivity, updating the lock state database at the metadata volume to remove the respective lock; and inspecting the records at the metadata volume and sending a lock purge message to the data volumes that have cached the respective lock; and updating the records at the metadata volume to indicate that said data volumes have been notified of the removal of the respective lock.

5

5. The method as defined in claim 4 , including the further step of: in response to receipt of a lock purge message, each said recipient data volume purging cached locks as instructed and sending an acknowledgement to the metadata volume that such locks have been purged.

6

6. The method as defined in claim 1 , including the further steps of: upon one of the data volumes in the system receiving a request for a data access operation, said data volume inspecting its local lock cache to determine whether there is a lock that affects the requested operation; and in the absence of lock state information in the data volume's local lock cache, querying the metadata volume regarding any lock states which affect the pending access operation.

7

7. The method as defined in claim 6 , including the further steps of: in response to a query from a data volume, inspecting the lock state database of the metadata volume for information regarding locks that affect or support the operation; and sending a message to the data volume notifying the data volume of any locks which affect the pending operation.

8

8. The method as defined in claim 7 including the further step of: updating records at the metadata volume to indicate that the recipient data volume has been notified of a particular lock.

9

9. The method as defined in claim 8 , including the further step of: in response to receiving a message from the metadata volume, acknowledging the message at the data volume and handling the access operation accordingly by allowing or denying the access request.

10

10. The method as defined in claim 1 , including the further step of: in response to receipt of an access request from a data volume, assigning a permissive area within the lock state database of the metadata volume for a given range of a particular storage device.

11

11. The method as defined in claim 10 , wherein the step of assigning a permissive area includes assigning a range in the storage device of a predefined amount.

12

12. The method of claim 11 , wherein if the predetermined amount cannot be assigned to other locks, assigning an amount of the storage device that is available.

13

13. The method as in claim 1 , further comprising: organizing the one or more storage devices in a RAID system.

14

14. The method of claim 1 , further comprising: having files or logical units as the one or more storage devices on the striped volume set in the system.

15

15. A system configured to manage lock state information in a distributed file system, the system comprising: a plurality of processors, each processor to service a file system to form a plurality of file systems, each processor communicating with the plurality of file systems; each file system servicing one or more data volumes; a plurality of data volumes to form a striped volume set (SVS), the SVS adapted to receive data access requests; a process to stripe data across the plurality of data volumes, wherein each data volume includes one or more storage devices; and a meta-data volume, maintained on the SVS, configured to include a lock state database that stores comprehensive lock state information for the SVS and communicate the lock state information to said plurality of data volumes.

16

16. The system as defined in claim 15 further comprising: at each said data volume, a local lock cache, the local lock cache for storing lock state information.

17

17. The system as defined in claim 15 , further comprising a storage server including a lock manager for managing lock state information in said database of said metadata volume.

18

18. A computer readable medium containing program instructions executed by a processor, comprising: program instructions that maintain a striped volume set (SVS) by striping data across a plurality of data volumes, where each data volume includes one or more storage devices; program instructions that maintain a meta-data volume on a striped volume set, the meta-data volume configured to include a lock state database that stores comprehensive lock state information for the SVS; and program instructions that communicate the lock state information between said meta-data volume and the plurality of data volumes of said striped volume set.

19

19. The computer readable medium as defined in claim 18 comprising further program instructions for performing the step of: establishing in each said data volumes of said striped volume set, a local lock cache for storing lock state information about particular storage devices served by that data volume.

20

20. The computer readable medium as defined in claim 18 comprising further program instructions for performing the step of: in response to said meta-data volume receiving a request from a client for exclusive access to a range a storage device, said metadata volume searching its lock state database for conflicting locks, and if no such locks are found, granting the lock with respect to said range; and constructing in said lock state database, a lock state data structure including information about the client requesting the lock, a lock state access type and a lock access range.

21

21. The computer readable medium as defined in claim 18 comprising further program instructions for performing the step of: in response to receipt of an access request from a data volume, assigning a permissive area within the lock state database of said metadata volume for a given range of a particular storage device.

22

22. The computer readable medium as defined in claim 18 comprising further program instructions for performing the step of: assigning a permissive area includes assigning a range in a storage device of a predefined amount.

23

23. A system for managing lock state information in a distributed file system, the system comprising: means for maintaining a striped volume set (SVS) by striping data across a plurality of data volumes, where each data volume includes one or more storage devices; means for configuring a meta-data volume that includes a lock state database that stores comprehensive lock state information for the SVS; and means for communicating the lock state information between said meta-data volume and the plurality of data volumes of said SVS.

24

24. The system as defined in claim 23 further comprising: means for establishing in each said data volumes of said plurality of data volumes of said striped volume set, a local lock cache for storing lock state information about particular storage devices served by that data volume.

25

25. The system as defined in claim 23 further comprising: means for assigning a permissive area within the lock state database of the metadata volume for a given range of a particular file.

26

26. A method for managing lock state information in a file system, comprising: maintaining a striped volume set (SVS) by striping data across a plurality of volumes, where each volume includes one or more redundant array of independent disks (RAID) groups; configuring a meta-data volume that includes a lock state database that stores comprehensive lock state information for the SVS; communicating the lock state information between the meta-data volume and the plurality of volumes; receiving an input/output request for data stored on particular volumes of the SVS; and determining, from the lock state information, if the input/output request is permitted to proceed.

27

27. The method as in claim 26 , further comprising: receiving a new lock request; checking for a conflict between the new lock request and existing lock state information stored in the lock state database; in response to determining that there is no conflict, granting the new lock request; and in response to determining that there is a conflict, denying the new lock request.

28

28. A computer configured to manage lock state information in a file system, comprising: a process to stripe data across a plurality of volumes of a striped volume set (SVS), wherein each volume includes one or more storage devices; a meta-data volume adapted to include a lock state database that stores comprehensive lock state information for the SVS; a storage operating system to communicate the lock state information between the meta-data and the plurality of volumes; a network adapter to receive an input/output request directed to particular volumes of the SVS; and the storage operating system to determine if the input/output request is permitted to proceed using the lock state information.

29

29. The computer as defined in claim 28 , further comprising: The network adapter to receive a new lock request; the storage operating system to compare the new lock request with existing lock state information stored in the lock state database; the storage operating system to grant the new lock request in response to determining that there is no conflict; and the storage operating system to deny the new lock request in response to determining that there is a conflict.

30

30. The computer as defined in claim 28 , further comprising: the one or more storage devices stored on one or more disks.

31

31. The computer as defined in claim 30 , further comprising: the one or more disks organized in a RAID system.

32

32. The computer of claim 28 , further comprising: the one or more storage devices are files or logical units.

33

33. A computer readable medium containing executable program instructions executed by a processor, comprising: program instructions that maintain a striped volume set (SVS) by striping data across a plurality of volumes, where each volume includes one or more redundant array of independent disks (RAID) groups; program instructions that configure a meta-data volume that includes a lock state database that stores comprehensive lock state information for the SVS; program instructions that communicate the lock state information between the meta-data volume and the plurality of volumes; program instructions that receive an input/output request directed to particular volumes of the SVS; and program instructions that determine, from the lock state information, if the input/output request is permitted to proceed.

34

34. A method for managing lock state information in a distributed file system including a plurality of data volumes, comprising: connecting a plurality of nodes to form a cluster; configuring the plurality of data volumes to form a striped volume set, wherein each volume is a logical arrangement of a plurality of storage devices; configuring one meta-data volume that includes a lock state database that stores comprehensive lock state information for the plurality of data volumes of the SVS; receiving an access operation directed to a range of bytes of at least one data volumes of the plurality of data volumes; determining, by the at least one volume, if its local lock cache contains lock state information for the range of bytes of the particular data volume; in the absence of lock state information in the local cache of the at least one data volume, querying the one meta-data volume regarding any lock states information which affects the access operation directed to the range of bytes; informing, by the one meta-data volume, the at least one data volume as to whether the access operation is allowed based on the lock state information of the meta-data volume; and updating, by the at least one data volume, its local cache with the lock state information provided by the meta-data volume.

Patent Metadata

Filing Date

Unknown

Publication Date

September 8, 2009

Inventors

Toby Smith
Richard P. Jernigan IV
Robert Wyckoff Hyer JR.
Michael Kazar
David B. Noveck
Peter Griess

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD FOR MANAGING HARD LOCK STATE INFORMATION IN A DISTRIBUTED STORAGE SYSTEM ENVIRONMENT” (7587558). https://patentable.app/patents/7587558

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.