Patent US6243716B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag