Neural Computing and Applications

, Volume 20, Issue 1, pp 59–78 | Cite as

A neural network proxy cache replacement strategy and its implementation in the Squid proxy server

Original Article


As the Internet has become a more central aspect for information technology, so have concerns with supplying enough bandwidth and serving web requests to end users in an appropriate time frame. Web caching was introduced in the 1990s to help decrease network traffic, lessen user perceived lag, and reduce loads on origin servers by storing copies of web objects on servers closer to end users as opposed to forwarding all requests to the origin servers. Since web caches have limited space, web caches must effectively decide which objects are worth caching or replacing for other objects. This problem is known as cache replacement. We used neural networks to solve this problem and proposed the Neural Network Proxy Cache Replacement (NNPCR) method. The goal of this research is to implement NNPCR in a real environment like Squid proxy server. In order to do so, we propose an improved strategy of NNPCR referred to as NNPCR-2. We show how the improved model can be trained with up to twelve times more data and gain a 5–10% increase in Correct Classification Ratio (CCR) than NNPCR. We implemented NNPCR-2 in Squid proxy server and compared it with four other cache replacement strategies. In this paper, we use 84 times more data than NNPCR was tested against and present exhaustive test results for NNPCR-2 with different trace files and neural network structures. Our results demonstrate that NNPCR-2 made important, balanced decisions in relation to the hit rate and byte hit rate; the two performance metrics most commonly used to measure the performance of web proxy caches.


Web caching Proxy server Squid Neural network NNPCR Cache replacement strategies 


  1. 1.
    Podlipnig S, Boszormenyi L (2003) A survey of web cache replacement strategies. ACM Comput Surv 35(4):374–398CrossRefGoogle Scholar
  2. 2.
    Davison B (2001) A web caching primer. IEEE Internet Comput 5(4):38–45CrossRefGoogle Scholar
  3. 3.
    Romano S, ElAarag H (2008) A quantitative study of recency and frequency-based cache replacement strategies. Communication and Networking Simulation Symposium (CNS2008), Spring Simulation Multiconference, Ottawa, pp 70–78Google Scholar
  4. 4.
    Gan Q, Suel T (2009) Improved techniques for result caching in web search engines. In: Proceedings of the 18th international conference on World Wide Web, Spain, pp 431–440Google Scholar
  5. 5.
    Pallis G et al (2008) A Clustering-based prefetching scheme on a Web cache environment. Comput Electr Eng 34:309–323MATHCrossRefGoogle Scholar
  6. 6.
    Kumar C, Norris JB (2008) A new approach for a proxy-level web caching mechanism. Decis Support Syst 46(1):52–60CrossRefGoogle Scholar
  7. 7.
    Chiang IR et al (2007) Periodic cache replacement policy for dynamic content at application server. Decis Support Syst 43:336–348CrossRefGoogle Scholar
  8. 8.
    Ortiz JPG, Ruiz VG, Lopez MF, Garcia I (2008) Interactive transmission of JPEG2000 images using web proxy caching. IEEE Trans Multimedia 10(4):629–636CrossRefGoogle Scholar
  9. 9.
    Liu J, Xu J (2004) Proxy caching for media streaming over the Internet. IEEE Commun Mag 42(8):88–94CrossRefGoogle Scholar
  10. 10.
    Luo Q et al (2008) Form-based proxy caching for database-backed web sites: keywords and functions. VLDB J 17(3):489–513CrossRefGoogle Scholar
  11. 11.
    Houtzager G, Jacob C, Williamson C (2006) An evolutionary approach to optimal web proxy cache placement. IEEE Congr Evolut ComputGoogle Scholar
  12. 12.
    Aguilar J, Leis EL (2006) A coherence-replacement protocol for web proxy cache systems. Int J Comput Appl 28(1):12–18Google Scholar
  13. 13.
    Fagni et al. (2006) Boosting the performance of web search engines: caching and prefetching query results by exploiting historical usage data. ACM Trans Inf Syst 24(1):51–78Google Scholar
  14. 14.
    Kaya CC et al (2009) An admission-control technique for delay reduction in proxy caching. Decis Support Syst 46(2):594–603CrossRefGoogle Scholar
  15. 15.
    Katsaros D, Manolpoulos Y (2004) Web caching in broadcast mobile wireless environments. IEEE Internet Comput 8(3):37–44CrossRefGoogle Scholar
  16. 16.
    Kumar N et al (2007) Supporting mobile decision making with association rules and multi-layered caching. Decis Support Syst 43:16–30CrossRefGoogle Scholar
  17. 17.
    Sabegi et al. (2006) Using fuzzy logic to improve cache replacement decisions. Int J Comput Sci Netw Secur, 6(3A)Google Scholar
  18. 18.
    Calzarossa MC, Valli G (2003) A fuzzy Algorithm for web caching. Simul Ser J 35(4):630–636Google Scholar
  19. 19.
    Venketesh P et al (2009) A survey on applications of neural networks and evolutionary techniques in web caching. IETE Tech Rev 26(3):171–180CrossRefGoogle Scholar
  20. 20.
    Khalid H (1997) A new cache replacement scheme based on backpropagation neural networks. ACM SIGARCH Comput Archit News 25(1):27–33CrossRefMathSciNetGoogle Scholar
  21. 21.
    Pomerene J, Puzak TR, Rechtschaffen R, Sporacio F (1984) Prefetching mechanism for a high-speed buffer store, US PatentGoogle Scholar
  22. 22.
    Khalid H (1997) Performance of the KORA-2 cache replacement scheme. ACM SIGARCH Comput Archit News 25(4):17–21CrossRefMathSciNetGoogle Scholar
  23. 23.
    Obaidat MS, Khalid H (1998) Estimating neural networks-based algorithm for adaptive cache replacement. IEEE Trans Syst Man Cybern B Cybern 28(4):602–611CrossRefGoogle Scholar
  24. 24.
    Khalid H, Obaidat MS (1999) Application of neural networks to cache replacement. Neural Comput Appl J 8:246–256CrossRefGoogle Scholar
  25. 25.
    Arlitt MF, Cherkasova L, Dilley J, Friedrich RJ, Jin TY (2000) Evaluating content management techniques for web proxy caches. ACM SIGMETRICS Perform Eval Rev 27(4):3–11CrossRefGoogle Scholar
  26. 26.
    Bahn H, Koh K, Min SL, Noh SH (2002) Efficient replacement of nonuniform objects in web caches. IEEE Comput 35:65–73Google Scholar
  27. 27.
    Cao P, Irani S (1997) Cost-aware WWW proxy caching algorithms. In: Proceedings of USENIX symposium on internet technologies and systems, pp 193–206Google Scholar
  28. 28.
    Rhea SC, Liang K, Brewer E (2003) Value-based web caching. In: Proceedings of the 12th international conference on World Wide Web. ACM Press, pp 619–628)Google Scholar
  29. 29.
    Caceres R, Douglis F, Feldmann A, Glass G, Rabinovich M (1998) Web proxy caching: the devil is in the details. ACM SIGMETRICS Perform Eval Rev 26(3):11–15CrossRefGoogle Scholar
  30. 30.
    Rizzo L, Vicisano L (2000) Replacement policies for a proxy cache. IEEE/ACM Trans Netw 8(2):158–170CrossRefGoogle Scholar
  31. 31.
    Cobb W, ElAarag H (2008) Web proxy cache replacement scheme based on back propagation neural network. J Syst Softw 81:1539–1558 doi:10.1016/j.jss.2007.10.024 Google Scholar
  32. 32.
    ElAarag H, Romano S (2009) Improvement of the neural network proxy cache replacement strategy. In: Communication and networking simulation symposium (CNS2009), Spring simulation multiconference, San Diego, pp 22–27Google Scholar
  33. 33.
    Wessels D (1995) Intelligent caching for World-Wide-Web objects. M.S. thesis, University of Colorado at Boulder, Boulder, COGoogle Scholar
  34. 34.
    “Hypertext Transfer Protocol—HTTP/1.1”, Available at
  35. 35.
    “What is Squid?”, Available at
  36. 36.
    Dilley J, Arlitt M, Perret S (1999) Enhancement and validation of Squid’s cache replacement policy. Internet Systems and Applications Laboratory, HP Laboratories, Palo Alto, California, HPL-1999-69Google Scholar
  37. 37.
    Tatarinov I (1998) An efficient LFU-like policy for Web caches. Tech. Rep. NDSU-CSORTR-98-01, Computer Science Department, North Dakota State University, Wahpeton, NDGoogle Scholar
  38. 38.
    Aggarwal CC, Wolf JL, Yu PS (1999) Caching on the world wide web. IEEE Trans Knowl Data Eng 11(1):94–107CrossRefGoogle Scholar
  39. 39.
    “IRCache Home”, Available at
  40. 40.
    Reed RD, Marks RJ (1999) Neural smithing, supervised learning in feedforward artificial neural networks. The MIT Press, Massachusetts, pp 1–53Google Scholar
  41. 41.
    ElAarag H, Romano S (2009) Training of NNPCR-2: an improved neural network proxy cache replacement strategy. In: 2009 International symposium on performance evaluation of computer and telecommunication systems (SPECTS 2009), vol 41, pp 260–267Google Scholar
  42. 42.
    “GNU Wget”, Available at

Copyright information

© Springer-Verlag London Limited 2010

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceStetson UniversityDelandUSA

Personalised recommendations