US2005289143A1PendingUtilityA1
Method for managing lock resources in a distributed storage system
Est. expiryJun 23, 2024(expired)· nominal 20-yr term from priority
G06F 16/1774G06F 15/16G06F 17/00G06F 12/00G06F 16/182
39
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method and a distributed locking system for the management of lock resources in a distributed files system having several lock managers, each managing lock resources in its respective domain. Each lock manager maintains a registry lock file that comprises of a list of all locked files and a list of lock requests. The registry lock files of all lock managers in the distributed locking system are saved in a central database. Furthermore, the system enables concurrent locking operations of different file sharing protocols on the same file system resources.
Claims
exact text as granted — not AI-modified1 . A method for managing file locks in a distributed storage system, said method comprises:
providing a plurality of registry lock files maintained by a plurality of locking managers, wherein each of said registry lock files comprises at least a list of locked files and a list of lock requests; providing a plurality of lock resource objects, wherein each of said plurality of lock resource objects is allocated to a lockable file; and servicing a client lock request based on the information maintained by said lock resource objects and said registry lock files.
2 . The method of claim 1 , wherein said registry lock file further comprises a unique identification of said client requesting the lock and a host name of said client.
3 . The method of claim 2 , wherein said list of files contains files locked by said client requesting the lock in a domain of said locking manager.
4 . The method of claim 3 , wherein said list of files comprises at least a file name of the locked file and a counter recording the number of requested locks for said locked file.
5 . The method of claim 1 , wherein each of said plurality of lock resource objects is part of metadata of said lockable file.
6 . The method of claim 1 , wherein each of said plurality of lock resource objects comprises at least a block queue, a convert queue, a grant list and a wakeup list.
7 . The method of claim 6 , wherein said block queue comprises lock requests that are not granted.
8 . The method of claim 6 , wherein said convert queue comprises granted lock requests attempting to change lock modes.
9 . The method of claim 6 , wherein said grant list comprises lock requests granted by said lock resource object.
10 . The method of claim 6 , wherein said wakeup list comprises blocked lock requests with limited time duration.
11 . The method of claim 6 , wherein servicing said client lock request comprises:
receiving a new lock request from said client to lock a file; forwarding said lock request to a lock manager that belongs to the same domain to which said file to be locked belongs to; writing said lock request to said registry lock file maintained by said lock manager; blocking said lock request if said at least one of said convert queue or said block queue comprises at least one lock request; and blocking said lock request if said lock request is in conflict with an already granted lock saved in said grant list; otherwise, granting said lock request.
12 . The method of claim 11 , wherein said blocking said lock request further comprises:
inserting said lock request into said lock queue; inserting said lock request into said wakeup list if said lock request comprises a timeout parameter; and sending a message that said lock request is blocked.
13 . The method of claim 11 , wherein granting said lock request further comprises:
inserting said lock request into said grant queue; and sending a message that said convert lock that request is granted.
14 . The method of claim 6 , wherein servicing said client lock request comprises:
receiving a convert lock request to change the mode of said lock; searching in said registry lock file for a lock request associated with said convert lock request; blocking said convert lock request if at least said convert queue is not empty and/or said requested mode is not compatible with a most restrictive mode of a currently granted lock; otherwise, granting said convert lock request.
15 . The method of claim 14 , wherein blocking said convert lock request further comprises:
changing said mode of said lock request associated with said convert lock request; inserting said lock request into said convert queue; and sending a message that said convert lock request is blocked.
16 . The method of claim 14 , wherein granting said convert lock request further comprises:
changing said mode of said lock request associated with said convert lock request; inserting said lock request into said grant list; and sending a message that said convert lock request is granted.
17 . A computer program product for enabling a computer to managing file locks in a distributed storage system comprising software instructions for enabling the computer to perform predetermined operations, and a computer readable medium bearing the software instructions, wherein the predetermined operations comprise:
providing a plurality of registry lock files maintained by a plurality of locking managers, wherein each of said plurality registry lock files comprises at least a list of locked files and a list of lock requests; providing a plurality of lock resource objects, wherein each of said plurality of lock resource objects is allocated per a lockable file; and servicing a client lock request based on the information maintained by said lock resource objects and said registry lock files.
18 . The computer program product of claim 17 , wherein said registry lock file further comprises a unique identification of said client requesting the lock and a host name of said client.
19 . The computer program product of claim 18 , wherein said list of files contains files locked by said client requesting the lock in a domain of said locking manager.
20 . The computer program product of claim 19 , wherein said list of files comprises at least a file name of the locked file and a counter recording a number of requested locks for said locked file.
21 . The computer program product of claim 17 , wherein each of said plurality of lock resource objects is part of metadata of said lockable file.
22 . The computer program product of claim 17 , wherein each of said plurality of lock resource objects comprises at least a block queue, a convert queue, a grant list and a wakeup list.
23 . The computer program product of claim 22 , wherein said block queue comprises lock requests that are not granted.
24 . The computer program product of claim 22 , wherein said convert queue comprises granted lock requests attempting to change lock modes.
25 . The computer program product of claim 22 , wherein said grant list comprises lock requests granted by said lock resource object.
26 . The computer program product of claim 22 , wherein said wakeup list comprises blocked lock requests with limited time duration.
27 . The computer program product of claim 22 , wherein servicing said client lock request comprises:
receiving a new lock request from said client to lock a file; forwarding said lock request to a lock manager that belongs to the same domain to which said file to be locked belongs to; writing said lock request to said registry lock file maintained by said locking manager; blocking said lock request if said at least one of said convert queue or said block queue comprises at least one lock request; and blocking said lock request if said lock request is in conflict with an already granted lock saved in said grant list; otherwise, granting said lock request.
28 . The computer program product of claim 27 , wherein said blocking said lock request further comprises:
inserting said lock request into said lock queue; inserting said lock request into said wakeup list if said lock request comprises timeout parameter; and sending a message that said lock request is blocked.
29 . The computer program product of claim 27 , wherein granting said lock request further comprises:
inserting said lock request into said grant queue; and sending a message that said convert lock that request is granted.
30 . The computer program product of claim 22 , wherein servicing said client lock request comprises:
receiving a convert lock request to change the mode of said lock; searching in said registry lock file for a lock request associated with said convert lock request; blocking said convert lock request if said convert queue is not empty and/or said requested mode is not compatible with a most restrictive mode of a currently granted lock; otherwise, granting said convert lock request.
31 . The computer program product of claim 30 , wherein blocking said convert lock request further comprises:
changing said mode of said lock request associated with said convert lock request; inserting said lock request into said convert queue; and sending a message that said convert lock request is blocked.
32 . The computer program product of claim 30 , wherein granting said convert lock request further comprises:
changing said mode of said lock request associated with said convert lock request; inserting said lock request into said grant list; and sending a message that said convert lock request is granted.
33 . A distributed lock system for managing lock resources in a distributed storage system, said system comprising:
a plurality of locking managers, wherein each of said plurality of locking managers is capable of managing lock resources in its respective domain; a plurality of metadata servers capable of maintaining a plurality of a lock resource objects; and a central database for maintaining locking information.
34 . The system of claim 33 , wherein said locking information comprises a plurality of registry lock files, wherein each of said plurality registry lock files comprises at least a list of locked files and a list of lock requests.
35 . The system of claim 34 , wherein each of said plurality of lock resource objects is allocated to a lockable file.
36 . The system of claim 34 , wherein said registry lock file further comprises a unique identification of said client requesting the lock and a host name of said client.
37 . The system of claim 35 , wherein said list of files contains files locked by said client requesting the lock in a domain of said locking manager.
38 . The system of claim 37 , wherein said list of files comprises at least a file name of the locked file and a counter recording a number of requested locks for said locked file.
39 . The system of claim 35 , wherein each of said plurality of lock resource objects is part of metadata of said lockable file.
40 . The system of claim 39 , wherein each of said plurality of lock resource objects comprises at least a block queue, a convert queue, a grant list and a wakeup list.
41 . The system of claim 40 , wherein said block queue comprises lock requests that are not granted.
42 . The system of claim 40 , wherein said convert queue comprises granted lock requests attempting to change lock modes.
43 . The system of claim 40 , wherein said grant list comprises lock requests granted by said lock resource object.
44 . The system of claim 40 , wherein said wakeup list comprises blocked lock requests with limited time duration.Join the waitlist — get patent alerts
Track US2005289143A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.