Patent US6243716B1 successfully refreshed from Google Patents.
US6243716B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Methods and systems for distributed failure detection and recovery using leasing
Assignee: Sun Microsystems Inc
•
Filing: 1999-08-20
•
Granted: 2001-06-05
•
Expires: 2019-08-20
Abstract
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.
Inventors
- 👤 James H. Waldo
- 👤 Ann M. Wollrath
- 👤 Robert Scheifler
- 👤 Kenneth C. R. C. Arnold
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 16:40
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F12/0253; G06F12/0261; G06F16/00; G06F16/20; G06F16/28; G06F16/289; G06F9/00; G06F9/06; G06F9/44; G06F9/4401; G06F9/4411; G06F9/46; G06F9/465; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F9/5022; G06F9/5027; G06F9/5055; G06F9/5061; G06F9/52; G06F9/54; G06F9/547; H; H04; H04L; H04L12/00; H04L12/28; H04L12/40; H04L12/407; H04L12/417; H04L12/42; H04L12/427; H04L12/433; H04L69/00; H04L69/24
Claims Analysis
Total Claims: 59
Claim 1
Independent Claim
71 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server; granting the lease by the server to the client for a period of time; and detecting by the client a first failure when a request to renew the granted lease fails.
Claim 2
Independent Claim
71 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server; granting the lease by the server to the client for a period of time; and detecting by the client a first failure when a request to renew the granted lease fails.
Claim 3
Dependent Claim
23 words
The method of claim 1 , further comprising the steps of: detecting by the server a second failure when the granted lease expires.
Claim 4
Dependent Claim
26 words
The method of claim 2 , further comprising the step of: recovering the client by rolling back the client and the resource to a prenegotiated state.
Claim 5
Dependent Claim
31 words
The method of claim 3 , wherein the recovering step includes the step of: invoking a method provided by the client to the server for recovering the client and the resource.
Claim 6
Dependent Claim
26 words
The method of claim 1 , further comprising the step of: recovering the server by rolling back the server and the resource to a prenegotiated state.
Claim 7
Dependent Claim
31 words
The method of claim 5 , wherein the recovering step includes the step of: invoking a method provided by the server to the client for recovering the server and the resource.
Claim 8
Dependent Claim
30 words
The method of claim 1 , wherein the requesting step includes the step of: sending to the server a request that includes a resource identifier and the period of time.
Claim 9
Dependent Claim
33 words
The method of claim 1 , wherein the requesting step includes the step of: sending to the server a request that includes a type of access to the resource requested by the client.
Claim 10
Dependent Claim
29 words
The method of claim 1 , wherein the requesting step includes the step of: sending to the server a request that includes a privilege level associated with the client.
Claim 11
Dependent Claim
28 words
The method of claim 1 , wherein the requesting step includes the step of: sending to the server an object that includes a method for recovering the client.
Claim 12
Dependent Claim
28 words
The method of claim 1 , wherein the granting step includes the step of: sending to the client an object that includes a method for recovering the server.
Claim 13
Dependent Claim
28 words
The method of claim 1 , wherein the granting step includes the step of: sending to the client an object that includes a method for renewing the lease.
Claim 14
Dependent Claim
28 words
The method of claim 1 , wherein the granting step includes the step of: sending to the client an object that includes a method for canceling the lease.
Claim 15
Dependent Claim
33 words
The method of claim 1 , wherein the granting step includes the step of: sending to the client an object that includes a method for determining the period of time of the lease.
Claim 16
Dependent Claim
96 words
A data processing system, comprising: a memory including: a client program containing a first code that requests a lease for using a resource and containing second code that detects a first failure when a request by the client program to extend the lease fails; and a server program containing third code that manages the resource, containing fourth code that grants the lease to the client program for a period of time, and containing fifth code that detects a second failure when the lease expires; and a processor for running the client program and the server program.
Claim 17
Dependent Claim
96 words
A data processing system, comprising: a memory including: a client program containing a first code that requests a lease for using a resource and containing second code that detects a first failure when a request by the client program to extend the lease fails; and a server program containing third code that manages the resource, containing fourth code that grants the lease to the client program for a period of time, and containing fifth code that detects a second failure when the lease expires; and a processor for running the client program and the server program.
Claim 18
Dependent Claim
41 words
The data processing system of claim 15 , wherein the client program includes sixth code that recovers the server program by rolling back the server program and the resource to a prenegotiated state when the client program detects the first failure.
Claim 19
Dependent Claim
41 words
The data processing system of claim 15 , wherein the server program includes seventh code that recovers the client program by rolling back the client program and the resource to a prenegotiated state when the server program detects the second failure.
Claim 20
Dependent Claim
30 words
The data processing system of claim 15 , further comprising: a storage device including a first object generated by the client program when requesting the lease from the server program.
Claim 21
Dependent Claim
24 words
The data processing system of claim 18 , wherein the first object includes a method for recovering the client program by the server program.
Claim 22
Dependent Claim
30 words
The data processing system of claim 15 , further comprising: a storage device including a second object generated by the server program when granting the lease to the client program.
Claim 23
Dependent Claim
24 words
The data processing system of claim 20 , wherein the second object includes a method for recovering the server program by the client program.
Claim 24
Dependent Claim
23 words
The data processing system of claim 20 , wherein the second object includes a method for extending the lease by the client program.
Claim 25
Dependent Claim
23 words
The data processing system of claim 20 , wherein the second object includes a method for canceling the lease by the client program.
Claim 26
Dependent Claim
104 words
A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system including a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server; generating by the server a lease object that grants the lease to the client; detecting by the client a first failure when a request by the client to renew the lease fails; and detecting by the server a second failure when the granted lease expires before receiving from the client a request to cancel the lease.
Claim 27
Dependent Claim
104 words
A computer-readable medium containing instructions for controlling a data processing system to perform a method, the data processing system including a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server; generating by the server a lease object that grants the lease to the client; detecting by the client a first failure when a request by the client to renew the lease fails; and detecting by the server a second failure when the granted lease expires before receiving from the client a request to cancel the lease.
Claim 28
Dependent Claim
30 words
The computer-readable medium of claim 24 , wherein said method further comprises the step of: recovering the server by invoking a recovery routine in the lease object by the client.
Claim 29
Dependent Claim
33 words
The computer-readable medium of claim 25 , wherein said recovering step includes the step of: recovering the server by rolling back the server and the resource by the client to a prenegotiated state.
Claim 30
Dependent Claim
36 words
The computer-readable medium of claim 24 , wherein said method further comprises the step of: recovering the client by invoking a recovery routine provided to the server by the client when the client requested the lease.
Claim 31
Dependent Claim
33 words
The computer-readable medium of claim 27 , wherein said recovering step includes the step of: recovering the client by rolling back the client and the resource by the server to a prenegotiated state.
Claim 32
Independent Claim
80 words
An apparatus for recovering from failures in a distributed system, comprising: a requesting means for requesting a lease for using a resource and for detecting a first failure when a request by the requesting means to renew the lease fails; and a resource allocating means for granting the lease to the client program for a period of time and for detecting a second failure when the lease expires before receiving from the requesting means a request to cancel the lease.
Claim 33
Independent Claim
80 words
An apparatus for recovering from failures in a distributed system, comprising: a requesting means for requesting a lease for using a resource and for detecting a first failure when a request by the requesting means to renew the lease fails; and a resource allocating means for granting the lease to the client program for a period of time and for detecting a second failure when the lease expires before receiving from the requesting means a request to cancel the lease.
Claim 34
Independent Claim
101 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server for a period of time; receiving by the client from the server a first object that grants the lease to the client and includes a method for recovering the server; sending by the client to the server a request to renew the granted lease; and detecting by the client a first failure when the request to renew the granted lease fails.
Claim 35
Independent Claim
101 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: requesting by the client a lease from the server for using a resource managed by the server for a period of time; receiving by the client from the server a first object that grants the lease to the client and includes a method for recovering the server; sending by the client to the server a request to renew the granted lease; and detecting by the client a first failure when the request to renew the granted lease fails.
Claim 36
Dependent Claim
26 words
The method of claim 30 , further comprising the step of: recovering the server by invoking the recovery method in the first object by the client.
Claim 37
Dependent Claim
50 words
The method of claim 30 , wherein the requesting step comprises the step of: sending to the server a second object that includes a recovery method for recovering the client when the server detects that the lease has expired before receiving from the client a request to cancel the lease.
Claim 38
Independent Claim
81 words
A method for recovering from failures in a distributed system including a client and a server, said method comprising the steps of: receiving by the server a request from the client for a lease for using a resource managed by the server; granting the lease to the client for a period of time by sending to the client a first object that includes a method for recovering the server; and detecting by the server a failure when the granted lease expires.
Claim 39
Independent Claim
81 words
A method for recovering from failures in a distributed system including a client and a server, said method comprising the steps of: receiving by the server a request from the client for a lease for using a resource managed by the server; granting the lease to the client for a period of time by sending to the client a first object that includes a method for recovering the server; and detecting by the server a failure when the granted lease expires.
Claim 40
Dependent Claim
29 words
The method of claim 33 , wherein the receiving step includes the step of: receiving a second object that includes a method for recovering the client by the server.
Claim 41
Dependent Claim
37 words
The method of claim 33 , wherein the detecting step includes the step of: detecting by the server a failure when the granted lease expires before receiving from the client a request to cancel the granted lease.
Claim 42
Dependent Claim
37 words
The method of claim 33 , wherein the detecting step includes the step of: detecting by the server a failure when the granted lease expires before receiving from the client a request to renew the granted lease.
Claim 43
Dependent Claim
67 words
A computer-readable memory device encoded with a data structure for recovering from failures in a distributed system including a client and a server, the data structure comprising: an object including an identifier identifying a resource leased by the client from the server and a recovery method for recovering the server and the resource by the client when a request by the client to renew the lease fails.
Claim 44
Dependent Claim
67 words
A computer-readable memory device encoded with a data structure for recovering from failures in a distributed system including a client and a server, the data structure comprising: an object including an identifier identifying a resource leased by the client from the server and a recovery method for recovering the server and the resource by the client when a request by the client to renew the lease fails.
Claim 45
Dependent Claim
28 words
The computer-readable memory device of claim 37 , further comprising: a renewing method for renewing the granted lease when the client determines that the lease is near expiration.
Claim 46
Dependent Claim
26 words
The computer-readable memory device of claim 37 , further comprising: a canceling method for canceling the granted lease when the client completes use of the resource.
Claim 47
Dependent Claim
23 words
The computer-readable memory device of claim 37 , further comprising: a duration method for determining the period of time of the granted lease.
Claim 48
Dependent Claim
65 words
A computer-readable memory device encoded with a data structure for recovering from failures in a distributed system including a client and a server, the data structure comprising: an identifier identifying a resource leased by the client from the server for a period of time; and an object including a recovery method for recovering the client and the resource by the server when the lease expires.
Claim 49
Dependent Claim
65 words
A computer-readable memory device encoded with a data structure for recovering from failures in a distributed system including a client and a server, the data structure comprising: an identifier identifying a resource leased by the client from the server for a period of time; and an object including a recovery method for recovering the client and the resource by the server when the lease expires.
Claim 50
Dependent Claim
35 words
The computer-readable memory device of claim 41 , wherein the recovery method recovers the client and the resource when the lease expires before the server receives a request from the client to cancel the lease.
Claim 51
Dependent Claim
35 words
The computer-readable memory device of claim 41 , wherein the recovery method recovers the client and the resource when the lease expires before the server receives a request from the client to renew the lease.
Claim 52
Dependent Claim
21 words
The computer-readable memory device of claim 43 , further comprising: a type of access to the resource requested by the client.
Claim 53
Dependent Claim
17 words
The computer-readable memory device of claim 43 , further comprising: a privilege level associated with the client.
Claim 54
Independent Claim
51 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: exchanging code between the client and the server during a lease negotiation for using a resource managed by the server; and invoking the code to perform system management.
Claim 55
Independent Claim
51 words
A method for recovering from failures in a distributed system that includes a client and a server, said method comprising the steps of: exchanging code between the client and the server during a lease negotiation for using a resource managed by the server; and invoking the code to perform system management.
Claim 56
Dependent Claim
26 words
The method of claim 46 , wherein the invoking step includes the step of: recovering the client by the server when the server detects a failure.
Claim 57
Dependent Claim
29 words
The method of claim 46 , wherein the invoking step includes the step of: recovering the client and the resource by the server when the server detects a failure.
Claim 58
Dependent Claim
26 words
The method of claim 46 , wherein the invoking step includes the step of: recovering the server by the client when the client detects a failure.
Claim 59
Dependent Claim
29 words
The method of claim 46 , wherein the invoking step includes the step of: recovering the server and the resource by the client when the client detects a failure.
References Cited (Backward Citations)
US4491946A
Cited
EP0300516A2
Cited
US4956773A
Cited
US4823122A
Cited
US4809160A
Cited
US4713806A
Cited
US4939638A
Cited
US5399435A
Cited
US5524244A
Cited
EP0351536A2
Cited
US5471629A
Cited
US5109486A
Cited
US5088036A
Cited
EP0384339B1
Cited
EP0427874B1
Cited
US5297283A
Cited
US5187787A
Cited
US5187787B1
Cited
US5966531A
Cited
US5557798A
Cited
US5218699A
Cited
US5659751A
Cited
US5440744A
Cited
EP0474340B1
Cited
US5504921A
Cited
US5257369A
Cited
US5933497A
Cited
GB2253079A
Cited
US5475817A
Cited
US5293614A
Cited
US5481721A
Cited
US5684955A
Cited
GB2262825B
Cited
EP0555997A2
Cited
US5390328A
Cited
EP0565849A2
Cited
EP0569195B1
Cited
US5311591A
Cited
US5842018A
Cited
US5475792A
Cited
US5423042A
Cited
US5561785A
Cited
US5724588A
Cited
US5511197A
Cited
US5689709A
Cited
US5386568A
Cited
US5448740A
Cited
US5560003A
Cited
US5452459A
Cited
US5764897A
Cited
EP0625750A3
Cited
US5603031A
Cited
EP0635792A3
Cited
US5844553A
Cited
US5617537A
Cited
EP0651328B1
Cited
US5455952A
Cited
US5652888A
Cited
US5706435A
Cited
EP0660231B1
Cited
US5675796A
Cited
US5680617A
Cited
US5640564A
Cited
US5655148A
Cited
US5680573A
Cited
US5778228A
Cited
EP0697655A3
Cited
US5555367A
Cited
US5815711A
Cited
US5577231A
Cited
US5553282A
Cited
US5644768A
Cited
US5745678A
Cited
EP0718761B1
Cited
US5872928A
Cited
US5940827A
Cited
US5812819A
Cited
US5628005A
Cited
US5761656A
Cited
US5745703A
Cited
US5774551A
Cited
GB2305087B
Cited
US5829022A
Cited
US5671225A
Cited
US5737607A
Cited
EP0767432A3
Cited
US5860153A
Cited
EP0778520A3
Cited
US6003763A
Cited
US5754849A
Cited
US5946485A
Cited
EP0794493A2
Cited
US5845129A
Cited
US5790548A
Cited
EP0803811A3
Cited
US5815709A
Cited
EP0803810A3
Cited
EP0805393A2
Cited
US5778368A
Cited
US5835737A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2004-06-04 | 2004-12-04 | 2005-06-05 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2008-06-04 | 2008-12-04 | 2009-06-05 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2012-06-04 | 2012-12-04 | 2013-06-05 | $7700.00 | Window Closed / Lapsed |