Patent ID: 7660829

Claim:
A computer-implemented method for a client to interact with a server comprising: obtaining a first delegation that enables the client to perform a file system operation on an object without keeping a file handle associated with the object on the server; wherein the object is sharable by other clients during the first delegation such that the other clients can access the object simultaneously; and wherein the first delegation is revocable by the server at any time; sending a second delegation request for a second delegation; wherein the second delegation request includes a request for one or more rights that are associated with the object; determining when the second delegation associated with the object managed by the server is obtained, the second delegation enabling the client to perform another file system operation without keeping the file handle associated with the object on the server; wherein the obtained second delegation may include a different number of rights as compared to a number of rights that was requested by the second delegation request and wherein the server demands release of the first delegation or demands the client holding the first delegation to modify the rights associated with the first delegation; wherein the client holding the first delegation is required to release or modify the first delegation in response to the demand from the server; and wherein the second delegation is obtained even when a delegation has already been associated with the object managed by the server; determining when the second delegation is not obtained; and when the second delegation is not obtained opening the object using the first delegation when rights associated with the first delegation are sufficient; otherwise opening the object using a conventional process not involving delegations when the second delegation is not obtained; caching the object; enabling users associated with the client to access the object in accordance with the delegation; receiving a recall command from the server due to a request by another client to access the object, the recall command including a new delegation having a state with a lower access level; determining whether there is an existing process on the client that would cause the request from the other client to be denied; and if so, denying the recall command; wherein denying the recall command temporarily extends the delegation.