Leasing for failure detection
First Claim
1. A method in a data processing system having a client and a server, comprising the steps of:
- requesting a lease by the client from the server to use a resource managed by the server, the lease request containing a first recovery routine;
granting the lease by the server so that the client can utilize the resource for a period of time and sending a second recovery routine to the client;
utilizing the resource by the client;
determining by the client when the period of time is near expiration;
sending a request to the server to renew the lease when the client determines that the lease is near expiration;
determining whether the renew request is successful;
invoking the second recovery routine by the client to perform failure recovery for the server when the client determines that the renew request is unsuccessful;
determining by the server when the lease has expired;
invoking the first recovery routine by the server when the lease has expired to perform failure recovery for the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for using a lease to detect a failure and to perform failure recovery is provided. In using this system, a client requests a lease from a server to utilize a resource managed by the server for a period of time. Responsive to the request, the server grants the lease, and the client continually requests renewal of the lease. If the client fails to renew the lease, the server detects that an error has occurred to the client. Similarly, if the server fails to respond to a renew request, the client detects that an error has occurred to the server. As part of the lease establishment, the client and server exchange failure-recovery routines that each invokes if the other experiences a failure.
127 Citations
1 Claim
-
1. A method in a data processing system having a client and a server, comprising the steps of:
-
requesting a lease by the client from the server to use a resource managed by the server, the lease request containing a first recovery routine; granting the lease by the server so that the client can utilize the resource for a period of time and sending a second recovery routine to the client; utilizing the resource by the client; determining by the client when the period of time is near expiration; sending a request to the server to renew the lease when the client determines that the lease is near expiration; determining whether the renew request is successful; invoking the second recovery routine by the client to perform failure recovery for the server when the client determines that the renew request is unsuccessful; determining by the server when the lease has expired; invoking the first recovery routine by the server when the lease has expired to perform failure recovery for the client.
-
Specification