Leases are commonly used in distributed systems for applications ranging from
DHCP address allocation to
file locking, but they are not (by themselves) a complete solution: • There must be some means of notifying the lease holder of the expiration and preventing that agent from continuing to rely on the resource. Often, this is done by requiring all requests to be accompanied by an
access token, which is invalidated if the associated lease has expired. • If a lease is revoked after the lease holder has started operating on the resource, revocation may leave the resource in a compromised state. In such situations, it is common to use
atomic transactions to ensure that updates that do not complete have no effect. == References ==