US2015234857A1PendingUtilityA1

Configuration-less network locking infrastructure for shared file systems

Assignee: VMWARE INCPriority: Mar 1, 2011Filed: May 1, 2015Published: Aug 20, 2015
Est. expiryMar 1, 2031(~4.6 yrs left)· nominal 20-yr term from priority
G06F 16/951G06F 11/0712G06F 11/0757G06F 16/1774G06F 17/30864G06F 17/30171
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A network-based method for managing locks in a shared file system (SFS) for a group of hosts that does not require any configuration to identify a server for managing locks for the SFS. Each host in the group carries out the steps of checking a predetermined storage location to determine whether there is a host ID written in the predetermined location. If there is no host ID written in the predetermined location, the first host to notice this condition writes its host ID in the predetermined location to identify itself as the server for managing locks. If there is a host ID written in the predetermined location, the host ID of the server for managing locks is maintained in local memory. When the host needs to perform IO operations on a file of the SFS, it communicates with the server for managing locks over the network using the host ID of the server for managing locks to obtain a lock to the file.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . In a system including a group of servers that communicate with each other over a first network and issue storage commands to a shared data storage system over a second network, a method of managing locks of files stored in the shared data storage system using a master lock that includes a data field for storing an address of one of the servers in the group to identify such server as a current server for managing the locks of files stored in the shared data storage system, said method comprising:
 at a first server of the group, receiving a request to update a particular file stored in the shared data storage system from an application executing within the first server;   determining, by the first server, whether an address of another server in the group is stored in the data field of the master lock;   if the data field of the master lock does not contain an address of another server in the group, updating the data field of the master lock to store an address of the first server and obtaining a lock to the particular file;   if the data field of the master lock does contain the address of another server in the group, communicating with said another server over the first network using the address, a request to obtain the lock to the particular file; and   after the lock to the particular file is obtained, performing an input-output operation on the particular file to fulfill the request to update the particular file.   
     
     
         2 . The method of  claim 1 , wherein the lock to the particular file includes a lock owner data field, and a server ID of the first server is stored in the lock owner data field when the lock to the particular file is obtained by the first server. 
     
     
         3 . The method of  claim 1 , further comprising:
 rejecting, by said another server, the request to obtain the lock to the particular file if the lock to the particular file has been granted to a different server in the group.   
     
     
         4 . The method of  claim 3 , further comprising:
 if the request to obtain the lock to the particular file is rejected, communicating with said another server over the first network using the address, another request to obtain the lock to the particular file.   
     
     
         5 . The method of  claim 1 , wherein the master lock and the locks of files are stored in the shared data storage system. 
     
     
         6 . The method of  claim 1 , further comprising:
 determining by the first server that said communicating with said another server over the first network has failed; and   communicating with said another server through a message data field of the master lock to employ an alternative locking technique that does not rely on the first network.   
     
     
         7 . The method of  claim 6 , wherein said another server confirms through the message data field of the master lock the use of the alternative locking technique. 
     
     
         8 . A non-transient computer readable medium comprising instructions that are to be executed in each of a plurality of servers in a group that communicate with each other over a first network and issue storage commands to a shared data storage system over a second network, wherein the instructions when executed in the servers cause the servers to carry out a method of managing locks of files stored in the shared data storage system using a master lock that includes a data field for storing an address of one of the servers in the group to identify such server as a current server for managing the locks of files stored in the shared data storage system, said method comprising:
 at a first server of the group, receiving a request to update a particular file stored in the shared data storage system from an application executing within the first server;   determining, by the first server, whether an address of another server in the group is stored in the data field of the master lock;   if the data field of the master lock does not contain an address of another server in the group, updating the data field of the master lock to store an address of the first server and obtaining a lock to the particular file;   if the data field of the master lock does contain the address of another server in the group, communicating with said another server over the first network using the address, a request to obtain the lock to the particular file; and   after the lock to the particular file is obtained, performing an input-output operation on the particular file to fulfill the request to update the particular file.   
     
     
         9 . The non-transient computer readable medium of  claim 8 , wherein the lock to the particular file includes a lock owner data field, and a server ID of the first server is stored in the lock owner data field when the lock to the particular file is obtained by the first server. 
     
     
         10 . The non-transient computer readable medium of  claim 8 , wherein the method further comprises:
 rejecting, by said another server, the request to obtain the lock to the particular file if the lock to the particular file has been granted to a different server in the group.   
     
     
         11 . The non-transient computer readable medium of  claim 10 , wherein the method further comprises:
 if the request to obtain the lock to the particular file is rejected, communicating with said another server over the first network using the address, another request to obtain the lock to the particular file.   
     
     
         12 . The non-transient computer readable medium of  claim 8 , wherein the master lock and the locks of files are stored in the shared data storage system. 
     
     
         13 . The non-transient computer readable medium of  claim 8 , wherein the method further comprises:
 determining by the first server that said communicating with said another server over the first network has failed; and   communicating with said another server through a message data field of the master lock to employ an alternative locking technique that does not rely on the first network.   
     
     
         14 . The non-transient computer readable medium of  claim 13 , wherein said another server confirms through the message data field of the master lock the use of the alternative locking technique. 
     
     
         15 . A system including a group of servers that communicate with each other over a first network and issue storage commands to a shared data storage system over a second network, the data storage system having stored therein files, a master lock, and locks of the files of the shared data storage system, the master lock including a data field for storing an address of one of the servers in the group to identify such server as a current server for managing the locks of the files of the shared data storage system, wherein each of the servers, in response to a request to update a particular file of the shared data storage system from an application executing therein, is programmed to:
 determine whether an address of another server in the group is stored in the data field of the master lock;   if the data field of the master lock does not contain an address of another server in the group, update the data field of the master lock to store an address of the first server and obtain a lock to the particular file;   if the data field of the master lock does contain the address of another server in the group, communicate with said another server over the first network using the address, a request to obtain the lock to the particular file; and   after the lock to the particular file is obtained, perform an input-output operation on the particular file to fulfill the request to update the particular file.   
     
     
         16 . The system of  claim 15 , wherein the lock to the particular file includes a lock owner data field, and a server ID of the first server is stored in the lock owner data field when the lock to the particular file is obtained by the first server. 
     
     
         17 . The system of  claim 15 , wherein said another server is programmed to:
 reject the request to obtain the lock to the particular file if the lock to the particular file has been granted to a different server in the group.   
     
     
         18 . The system of  claim 17 , wherein each of the servers is further programmed to:
 if the request to obtain the lock to the particular file is rejected, communicate with said another server over the first network using the address, another request to obtain the lock to the particular file.   
     
     
         19 . The system of  claim 15 , wherein each of the servers is further programmed to:
 determine that said communicating with said another server over the first network has failed; and   communicate with said another server through a message data field of the master lock to employ an alternative locking technique that does not rely on the first network.   
     
     
         20 . The system of  claim 19 , wherein said another server confirms through the message data field of the master lock the use of the alternative locking technique.

Join the waitlist — get patent alerts

Track US2015234857A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.