Flexible Open Caching for the Web

Abstract Caching plays a vital role in the performance of any large-scale distributed system and, as the variety and number of Web applications grows, is becoming an increasingly important research topic within the Web community. Existing caching mechanisms are largely transparent to their users and cater for resources which are primarily read-only, offering little support for customisable or complex caching strategies. In this paper we examine the deficiencies in these mechanisms with regard to applications with requirements for shared access to data where clients may require a variety of consistency guarantees. We present “open” caching within an object-oriented framework, an approach to solving these problems which, instead of offering caching transparency makes the caching mechanism highly visible allowing great flexibility in caching choices. Our implementation is built upon the W3Objects infrastructure and allows clients to make caching decisions for individual resources with minimal impact upon other resources which do not support our mechanisms.

[1]  Owen Rees,et al.  A Web of Distributed Objects , 1996, World Wide Web J..

[2]  Mark C. Little,et al.  Fixing the "Broken-Link" Problem: The W3Objects Approach , 1996, Comput. Networks.

[3]  Santosh K. Shrivastava,et al.  The Design and Implementation of Arjuna , 1995, Comput. Syst..

[4]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1987, SOSP '87.

[5]  Michael N. Nelson,et al.  Caching in an object oriented system , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[6]  Michael N. Nelson,et al.  Caching in the Sprite network file system , 1988, TOCS.

[7]  Mark C. Little,et al.  W3Objects: Bringing Object-Oriented Technology to the Web , 1995, WWW.

[8]  Duane Wessels Squid internet object cache , 1996 .

[9]  Santosh K. Shrivastava,et al.  Shadows-a flexible support system for objects in distributed systems , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[10]  James K. Archibald,et al.  Cache coherence protocols: evaluation using a multiprocessor simulation model , 1986, TOCS.

[11]  Peter B. Danzig,et al.  A Hierarchical Internet Object Cache , 1996, USENIX ATC.

[12]  Jean-Marc Geib,et al.  CorbaWeb: A Generic Object Navigator , 1996, Comput. Networks.

[13]  Roy T. Fielding,et al.  The Apache HTTP Server Project , 1997, IEEE Internet Comput..

[14]  Dan Walsh,et al.  Design and implementation of the Sun network filesystem , 1985, USENIX Conference Proceedings.