Patent ID: 8566299

Claim:
A computer implemented method of managing file locks within a distributed storage system using a lock manager having a plurality of locking mechanisms, the method comprising: receiving, by a client interface of a server, a plurality of lock requests from a plurality of clients; maintaining, at the server, metadata associated with the lock requests in a registry lock file; maintaining a lock resource object at the server for each locked file, each lock resource object including a block queue, a convert queue, a wakeup list, and a granted lock request list; responding, by a lock manager of the server, to a lock request received from a client of the plurality of clients by: determining if the lock request is a convert lock request, wherein a convert lock request is a request to change the mode of a lock; searching the plurality of registry lock files for a lock request associated with the convert lock request; and blocking the lock request if at least one of the convert queue is not empty, the block queue is not empty, or the lock request is not compatible with a mode of a currently granted lock request; otherwise, granting the lock request by updating a lock status in an associated registry lock file to a granted status, adding the lock request to the granted lock request list, and generating a message to the client notifying the client that the lock request was granted.