US2005289143A1PendingUtilityA1

Method for managing lock resources in a distributed storage system

Assignee: EXANET LTDPriority: Jun 23, 2004Filed: Jun 23, 2005Published: Dec 29, 2005
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-modified
1 . 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.