Performance analysis of a client-side caching/prefetching system for Web traffic

  • Authors:
  • Abdullah Balamash;Marwan Krunz;Philippe Nain

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Arizona, Tucson, AZ 85721, USA;Department of Electrical and Computer Engineering, University of Arizona, Tucson, AZ 85721, USA;INRIA, 06902 Sophia Antipolis, France

  • Venue:
  • Computer Networks: The International Journal of Computer and Telecommunications Networking
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Network congestion remains one of the main barriers to the continuing success of the Internet. For Web users, congestion manifests itself in unacceptably long response times. One possible remedy to the latency problem is to use caching at the client, at the proxy server, or within the Internet. However, Web documents are becoming increasingly dynamic (i.e., have short lifetimes), which limits the potential benefit of caching. The performance of a Web caching system can be dramatically increased by integrating document prefetching (a.k.a. ''proactive caching'') into its design. Although prefetching reduces the response time of a requested document, it also increases the network load, as some documents will be unnecessarily prefetched (due to the imprecision in the prediction algorithm). In this study, we analyze the confluence of the two effects through a tractable mathematical model that enables us to establish the conditions under which prefetching reduces the average response time of a requested document. The model accommodates both passive client and proxy caching along with prefetching. Our analysis is used to dynamically compute the ''optimal'' number of documents to prefetch in the subsequent client's idle (think) period. In general, this optimal number is determined through a simple numerical procedure. Closed-form expressions for this optimal number are obtained for special yet important cases. We discuss how our analytical results can be used to optimally adapt the parameters of an actual prefetching system. Simulations are used to validate our analysis and study the interactions among various system parameters.