1. A computer implemented method for retaining and reclaiming resource locks comprising: replicating, from a first server to at least one second server, at least a portion of a data structure having entries describing resource locks and client states; detecting a failure of a connection between the first server and a client; establishing a new connection between the second server and the client; updating the replicated data structure to describe the new connection between the second server and the client; and updating at least some of the entries of the replicated data structure to reflect the status of the new connection.