Patent ID: 8200774

Claim:
A method for locking a resource, the method performed by a server having one or more processors and memory storing one or more programs for execution by the one or more processors so as to perform the method, the method comprising: initializing the server including initializing a resource table configured to store entries corresponding to requests to access respective resources in the server; receiving at the server a request from a client to access a particular resource on the server, wherein the client and server are distinct systems interconnected by a communications network; determining that since initializing the server, the server has not received a request to access the particular resource; in response to the request and a positive result from the determining, returning a provisional rejection to the client, requiring the client to verify that it holds a lock on the particular resource; after the determining, storing an entry in a data structure for the particular resource, where the entry includes a first sequence number set to a second sequence number received with the request, and a provisional bit set to true; where the second sequence number was provided to the client by a service; receiving at the server an additional request from the client to access the particular resource on the server, the additional request including a third sequence number; determining whether the third sequence number is equal to the first sequence number; and when the third sequence number is determined to equal the first sequence number, allowing the client to access the particular resource, and setting the provisional bit to false.