Adaptive Leases: A Strong Consistency Mechanism for the World Wide Web

Table of Contents

Adaptive leases is a cache consistency mechanism for guaranteeing strong consistency in the world wide web. Most existing web proxies provide only weak consistency guarantees and hence can return stale data. Strong consistency mechanisms such as server invalidation and poll-on-every-read incur either a large state space overhead or a large control message overhead. Adaptive leases provide a way to balance these tradeoffs. The basic mechanism works as follows:



A prototype implementation of the adaptive leases is available using the Squid web proxy, the Apache web server and a Lease Server. The implementation has the following features:

The current implementation for adaptive leases is available here.


Adaptive Leases was been developed at the Laboratory for Advanced System Software (University of Massachusetts) The following people were involved in this project.


Adaptive Leases is based on the following research publications:

[1] Venkata Duvvuri, Prashant Shenoy and Renu Tewari Adaptive Leases: A Strong Consistency Mechanism for the World Wide Web Technical Report TR99-41, Department of Computer Science, University of Massachusetts at Amherst, June 1999

[2] Venkata Duvvuri.Adaptive Leases: A Strong Consistency Mechanism for the World Wide Web. Masters Thesis Department of Computer Sciences, University of Massachusetts, Amherst, June 1999

Download Software

The implementation consists of

Adaptive Leases was developed and tested on RedHat Linux 5.1. While we believe it should work on other versions of UNIX, we haven't verified this due to resource constraints.

The Leases server is freely downloadable under the Gnu General Public License. Our lease-enhanced versions of Apache and Squid can be downloaded under the same licensing terms as the original versions of the software.

Release Documentation

Release notes and installation instructions are available here

Prashant Shenoy
Last modified: Fri Nov 2 15:47:40 EST 2001