This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Proxy Cache Algorithms: Design, Implementation, and Performance
July/August 1999 (vol. 11 no. 4)
pp. 549-562

Abstract—Caching at proxy servers is one of the ways to reduce the response time perceived by World Wide Web users. Cache replacement algorithms play a central rolfe in the response time reduction by selecting a subset of documents for caching, so that a given performance metric is maximized. At the same time, the cache must take extra steps to guarantee some form of consistency of the cached documents. Cache consistency algorithms enforce appropriate guarantees about the staleness of the cached documents. We describe a unified cache maintenance algorithm, LNC-R-W3-U, which integrates both cache replacement and consistency algorithms. The LNC-R-W3-U algorithm evicts documents from the cache based on the delay to fetch each document into the cache. Consequently, the documents that took a long time to fetch are preferentially kept in the cache. The LNC-R-W3-U algorithm also considers in the eviction consideration the validation rate of each document, as provided by the cache consistency component ofLNC-R-W3-U. Consequently, documents that are infrequently updated and thus seldom require validations are preferentially retained in the cache. We describe the implementation of LNC-R-W3-U and its integration with the Apache 1.2.6 code base. Finally, we present a trace-driven experimental study of LNC-R-W3-U performance and its comparison with other previously published algorithms for cache maintenance.

[1] M. Abrams, C. Standridge, G. Abdulla, S. Williams, and E. Fox, “Caching Proxies: Limitations and Potentials,” Proc. Fourth Int'l World Wide Web Conf., 1995.
[2] Apache 1.2.6 HTTP server documentation available at URL:http:/www. apache. org/, 1998.
[3] A. Bestavros, “Speculative Data Dissemination and Service to Reduce Server Load, Network Traffic and Service Time in Distributed Information Systems,” Proc. Int'l Conf. Data Eng., Mar. 1996.
[4] J. Bolot and P. Hoschka, “Performance Engineering of the World Wide Web: Application to Dimensioning and Cache Design,” Proc. Fifth Int'l World Wide Web Conf., 1996.
[5] P. Cao and S. Irani, “Cost-Aware WWW Proxy Caching Algorithms,” Proc. Usenix Symp. Internet Technologies and Systems, 1997.
[6] V. Cate, “Alex—A Global File System,” Proc. 1992 Usenix File System Workshop, 1992.
[7] A. Chankhunthod, P. Danzig, C. Neerdaels, M. Schwartz, and K. Worrell, “A Hierarchical Internet Object Cache,” Proc. Usenix 1996 Ann. Technical Conf., URL:http://excalibur.usc.edu/cache-htmlcache.html , 1996.
[8] E.G. Coffman and P.J. Denning,Operating Systems Theory, Prentice-Hall Inc., Englewood Cliffs, N.J., 1973.
[9] A. Cormack, “Web Caching” URL:http://www.nisc.ac.uk/education/jisc/acn caching. html, 1996.
[10] C. Cunha, A. Bestavros, and M. Crovella, “Characteristics of WWW Client-based Traces,” Technical Report TR-95-010, Boston Univ., Apr. 1995.
[11] A. Dingle and T. Partl, “Web Cache Coherence,” Proc. Fifth Int'l World Wide Web Conf., 1996.
[12] B. Duska, D. Marwood, and M. Feeley, “The Measured Access Characteristics of World-Wide-Web Client Proxy Caches,” Proc. Usenix Symp. Internet Technologies and Systems, 1997.
[13] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[14] S. Glassman, “A Caching Relay for the World Wide Web,” Computer Networks and ISDN Systems, vol. 27, no. 2, pp. 165-173, Nov. 1994.
[15] Jigsaw 2.0 HTTP server documentation, URL:http://www. w3c. orgJigsaw/, 1998.
[16] B. Krishnamurthy and C.E. Wills, “Piggyback Server Invalidation for Proxy Cache Coherency,” Computer Networks and ISDN Systems, vol. 30, nos. 1-7, pp. 185-193, Apr. 1998.
[17] J. Gwertzman and M. Seltzer, “World-Wide Cache Consistency,” Proc. Usenix 1996 Ann. Technical Conf., 1996.
[18] C. Liu and P. Cao, "Maintaining Strong Cache Consistency in the World-Wide Web," Proc. Int'l Conf. Distributed Computing Systems, 1997.
[19] S. Manley and M. Seltzer, “Web Facts and Fantasy,” Proc. Usenix Symp. Internet Technologies and Systems, 1997.
[20] D. O'Callaghan, “A Central Caching Proxy Server for WWW Users at the University of Melbourne,” URL:http://www.its. unimelb. edu. au:801/papers AW12-02/.
[21] E.J. O'Neil, P.E. O'Neil, and G. Weikum, "The LRU-k Page Replacement Algorithm for Database Disk Buffering," Proc. 1993 ACM Sigmod Int'l Conf. Management of Data, ACM Press, New York, 1993, pp. 297-306.
[22] M. Sayal, Y. Breitbart, P. Scheuermann, and R. Vingralek, “Selection Algorithms for Replicated Web Servers,” Proc. Workshop on Internet Server Performance, 1998.
[23] P. Scheuermann, J. Shim, and R. Vingralek, “Watchman: A Data Warehouse Intelligent Cache Manager,” Proc. 22nd Int'l Conf. Very Large Data Bases, 1996.
[24] P. Scheuermann, J. Shim, and R. Vingralek, “A Case for Delay-Conscious Caching of Web Documents,” Computer Networks and ISDN Systems, vol. 29, nos. 8-13, pp. 997-1005, Sept. 1997.
[25] Squid 1.1.21 Internet Object Cache Documentation, URL:http://squid.nlanr.netSquid/, 1998.
[26] R.P. Wooster and M. Abrams, "Proxy Caching That Estimates Page Load Delays," Computer Networks and ISDN Systems, vol. 29, nos. 8-13, 1997, pp. 977-986.

Index Terms:
Proxy, caching, cache replacement, cache consistency, World Wide Web.
Citation:
Junho Shim, Peter Scheuermann, Radek Vingralek, "Proxy Cache Algorithms: Design, Implementation, and Performance," IEEE Transactions on Knowledge and Data Engineering, vol. 11, no. 4, pp. 549-562, July-Aug. 1999, doi:10.1109/69.790804
Usage of this product signifies your acceptance of the Terms of Use.