Alternative Architectures and Protocols for Providing Strong Consistency in Dynamic Web Applications

  • Authors:
  • M. Hossein Sheikh Attar;M. Tamer Özsu

  • Affiliations:
  • School of Computer Science, University of Waterloo, Waterloo, Canada N2L 3G1;School of Computer Science, University of Waterloo, Waterloo, Canada N2L 3G1

  • Venue:
  • World Wide Web
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Dynamic Web applications have gained a great deal of popularity. Improving the performance of these applications has recently attracted the attention of many researchers. One of the most important techniques proposed for this purpose is caching, which can be done at different locations and within different stages of the process of generating a dynamic Web page. Most of the caching schemes proposed in literature are lenient about the issue of consistency; they assume that users can tolerate receiving stale data. However, an important class of dynamic Web applications are those in which users always expect to get the freshest data available. Any caching scheme has to incur a significant overhead to be able to provide this level of consistency (i.e., strong consistency); the overhead may be so much that it neutralizes the benefits of caching. In this paper, three alternative architectures are investigated for dynamic Web applications that require strong consistency. A proxy caching scheme is designed and implemented, which performs caching at the level of database queries. This caching system is used in one of the alternative architectures. The performance experiments show that, despite the high overhead of providing strong consistency in database caching, this technique can improve the performance of dynamic Web applications, especially when there is a long network latency between clients and the (origin) server.