Skip to main content
Log in

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

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. For HTTP Requests, this is also known as the Uniform Resource Locator (URL), but URI is the better, generic term to use here.

  2. Many literatures also refer to this as the access counter; we found this to be vague, as it was commonly ambiguous with terms such as disk access, or access of the object’s information during sorting methods.

  3. Essentially, any characteristic could be the request value, if the algorithm makes its decision based on one variable that has a total, well-defined ordering.

References

  1. Podlipnig S, Boszormenyi L (2003) A survey of web cache replacement strategies. ACM Comput Surv 35(4):374–398

    Article  Google Scholar 

  2. Davison B (2001) A web caching primer. IEEE Internet Comput 5(4):38–45

    Article  Google Scholar 

  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–78

  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–440

  5. Pallis G et al (2008) A Clustering-based prefetching scheme on a Web cache environment. Comput Electr Eng 34:309–323

    Article  MATH  Google Scholar 

  6. Kumar C, Norris JB (2008) A new approach for a proxy-level web caching mechanism. Decis Support Syst 46(1):52–60

    Article  Google Scholar 

  7. Chiang IR et al (2007) Periodic cache replacement policy for dynamic content at application server. Decis Support Syst 43:336–348

    Article  Google Scholar 

  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–636

    Article  Google Scholar 

  9. Liu J, Xu J (2004) Proxy caching for media streaming over the Internet. IEEE Commun Mag 42(8):88–94

    Article  Google Scholar 

  10. Luo Q et al (2008) Form-based proxy caching for database-backed web sites: keywords and functions. VLDB J 17(3):489–513

    Article  Google Scholar 

  11. Houtzager G, Jacob C, Williamson C (2006) An evolutionary approach to optimal web proxy cache placement. IEEE Congr Evolut Comput

  12. Aguilar J, Leis EL (2006) A coherence-replacement protocol for web proxy cache systems. Int J Comput Appl 28(1):12–18

    Google Scholar 

  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–78

  14. Kaya CC et al (2009) An admission-control technique for delay reduction in proxy caching. Decis Support Syst 46(2):594–603

    Article  Google Scholar 

  15. Katsaros D, Manolpoulos Y (2004) Web caching in broadcast mobile wireless environments. IEEE Internet Comput 8(3):37–44

    Article  Google Scholar 

  16. Kumar N et al (2007) Supporting mobile decision making with association rules and multi-layered caching. Decis Support Syst 43:16–30

    Article  Google Scholar 

  17. Sabegi et al. (2006) Using fuzzy logic to improve cache replacement decisions. Int J Comput Sci Netw Secur, 6(3A)

  18. Calzarossa MC, Valli G (2003) A fuzzy Algorithm for web caching. Simul Ser J 35(4):630–636

    Google Scholar 

  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–180

    Article  Google Scholar 

  20. Khalid H (1997) A new cache replacement scheme based on backpropagation neural networks. ACM SIGARCH Comput Archit News 25(1):27–33

    Article  MathSciNet  Google Scholar 

  21. Pomerene J, Puzak TR, Rechtschaffen R, Sporacio F (1984) Prefetching mechanism for a high-speed buffer store, US Patent

  22. Khalid H (1997) Performance of the KORA-2 cache replacement scheme. ACM SIGARCH Comput Archit News 25(4):17–21

    Article  MathSciNet  Google Scholar 

  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–611

    Article  Google Scholar 

  24. Khalid H, Obaidat MS (1999) Application of neural networks to cache replacement. Neural Comput Appl J 8:246–256

    Article  Google Scholar 

  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–11

    Article  Google Scholar 

  26. Bahn H, Koh K, Min SL, Noh SH (2002) Efficient replacement of nonuniform objects in web caches. IEEE Comput 35:65–73

    Google Scholar 

  27. Cao P, Irani S (1997) Cost-aware WWW proxy caching algorithms. In: Proceedings of USENIX symposium on internet technologies and systems, pp 193–206

  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)

  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–15

    Article  Google Scholar 

  30. Rizzo L, Vicisano L (2000) Replacement policies for a proxy cache. IEEE/ACM Trans Netw 8(2):158–170

    Article  Google Scholar 

  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. 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–27

  33. Wessels D (1995) Intelligent caching for World-Wide-Web objects. M.S. thesis, University of Colorado at Boulder, Boulder, CO

  34. “Hypertext Transfer Protocol—HTTP/1.1”, Available at http://www.w3.org/Protocols/rfc2616/rfc2616.html

  35. “What is Squid?”, Available at http://www.squid-cache.org/Intro/

  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-69

  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, ND

  38. Aggarwal CC, Wolf JL, Yu PS (1999) Caching on the world wide web. IEEE Trans Knowl Data Eng 11(1):94–107

    Article  Google Scholar 

  39. “IRCache Home”, Available at http://www.ircache.net/

  40. Reed RD, Marks RJ (1999) Neural smithing, supervised learning in feedforward artificial neural networks. The MIT Press, Massachusetts, pp 1–53

    Google Scholar 

  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–267

  42. “GNU Wget”, Available at http://www.gnu.org/software/wget/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hala ElAarag.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Romano, S., ElAarag, H. A neural network proxy cache replacement strategy and its implementation in the Squid proxy server. Neural Comput & Applic 20, 59–78 (2011). https://doi.org/10.1007/s00521-010-0442-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-010-0442-0

Keywords

Navigation