Lease (computer science)

In computer science, a Lease is a contract that gives its holder specified rights to some resource for a limited period. Because it is time-limited, a lease is an alternative to a lock for resource serialization.

Motivation

A traditional resource lock is granted until it is explicitly released by the locking client process. Reasons why a lock might not be released include:

Any of these could end the availability of an important reusable resource until the system is reset. By contract, a lease is valid for a limited period, after which it automatically expires, making the resource available for reallocation by a new client.

History

The term 'lease' was applied to this concept in a 1989 paper by Cary G. Gray and David R. Cheriton,[1] but similar concepts (expiring tokens[2] and breakable locks with timeouts[3]) had been used in prior systems.

Problems

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:

References

  1. Gray, Cary; David Cheriton (December 1989). "Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency". Proceedings of the twelfth ACM Symposium on Operating Systems Principles. 23 (5): 202–210. doi:10.1145/74850.74870. ISBN 0897913388.
  2. Burrows, M (December 1988). "Efficient Data Sharing". Technical Report #153, University of Cambridge.
  3. Stugis, H; Israel, J (July 1980). "Issues in the design and use of a distributed file system". Operating Systems Review. 14 (3): 55–69. doi:10.1145/850697.850705.
This article is issued from Wikipedia - version of the 8/11/2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.