Elsevier

Computer Networks

Volume 38, Issue 6, 22 April 2002, Pages 795-808
Computer Networks

Refreshment policies for Web content caches

https://doi.org/10.1016/S1389-1286(01)00300-0Get rights and content

Abstract

Web content caches are often placed between end users and origin servers as a mean to reduce server load, network usage, and ultimately, user-perceived latency. Cached objects typically have associated expiration times, after which they are considered stale and must be validated with a remote server (origin or another cache) before they can be sent to a client. A considerable fraction of cache “hits” involve stale copies that turned out to be current. These validations of current objects have small message size, but nonetheless, often induce latency comparable to full-fledged cache misses. Thus, the functionality of caches as a latency-reducing mechanism highly depends not only on content availability but also on its freshness. We propose policies for caches to proactively validate selected objects as they become stale, and thus allow for more client requests to be processed locally. Our policies operate within the existing protocols and exploit natural properties of request patterns such as frequency and recency. We evaluated and compared different policies using trace-based simulations.

Introduction

Caches are often placed between end users and origin servers as a mean to reduce user-perceived latency, server load, and network usage (see Fig. 1). Among these different performance objectives of caches, improving end-user Web experience is gradually becoming the most pronounced. Many organizations are deploying caching servers in front of their LANs, mainly as a way to speed up users Web access. Generally, available bandwidth between end users and their Internet service providers (ISPs) is increasing and is complemented by short round trip times (RTTs). Thus, the latency bottleneck is shifting from being between end users and cache to being between cache and origin servers. From the viewpoint of Web sites and content distribution networks (like Akamai [2]), decreasing costs of server machines and backbone connectivity bandwidth along with increasing use of the Web for commercial purposes imply that server and network load are gradually becoming a lesser issue relative to end-user quality of service. At the limit, these trends indicate that communication time between local caches and remote servers increasingly dominates cache service times and user-perceived latency, and that technologies which provide tradeoffs between traffic increase and latency decrease would become increasingly worthwhile for both Web sites and ISPs.

Servicing of a request by a cache involves remote communication if the requested object is not cached (in which case the request constitutes a content miss). Remote communication is also required if the cache contains a copy of the object, but the copy is stale, that is, its freshness lifetime had expired and it must be validated (by the origin server or a cache with a fresh copy) prior to being served. If the cached copy turns out to be modified, the request constitutes a content miss. Otherwise, the cached copy is valid and we refer to the request as a freshness miss. Validation requests that turn out as freshness misses typically have small-size responses but due to communication overhead with remote servers, often their contribution to user-perceived latency is comparable to that of full-fledged content misses.

Thus, cache service times can be improved by reducing both content and freshness misses. The content hit rate is measured per object or per byte and sometimes weighted by estimated object fetching cost. It is dictated by the available cache storage and the replacement policy used. Replacement policies for Web caches were extensively studied [3], [4], [5], [6], [7], [8], [9], [10]. Policies that seem to perform well are least recently used (LRU, which evicts the least recently requested object when the cache is full), least frequently used (LFU, which evicts the least frequently requested object), and greedy dual size (which accounts for varying object sizes and fetching costs). Squid [11], a popular caching server software, implements the LRU policy. Under these replacement policies, however, and due to decreasing storage cost, cache hit rate is already at a level where it would not significantly improve even if unbounded storage is made available. Content availability can be improved by prefetching [12], [13], but prefetching of content involves more involved predictions and induces significant bandwidth overhead. The freshness hit rate of a cache is not directly addressed by replacement policies or captured by the content hit rate metric.

The expiration time of each object is determined when it is brought into the cache, according to attached HTTP response headers provided by the origin server. Expired content must be validated before being served. Most current caching platforms validate their content passively i.e., only when a client request arrives and the cached copy of the object is stale. They perform validation via a conditional GET request (typically this is an If-Modified-Since (IMS) Get request). This means that validation requests are always performed “online”, while the end user is waiting. Here we promote proactive refreshment where the cache initiates unsolicited validation requests for selected content. Such “offline” validations extend freshness time of cached objects and more client requests can be served directly from the cache. Our motivation is that the most significant cost issue associated with freshness misses is their direct effect on user-perceived latency rather than their effect on server and network load, and thus it is worth performing more than one “offline” validation in order to avoid one performed “online”. We formalize a cost model for proactive refreshment, where overhead cost of additional validation requests to origin servers is balanced against the increase in freshness hits.

We propose and evaluate refreshment policies, which extend (renew) freshness periods of selected cached objects. The decision of which objects to renew upon expiration varies between policies and is guided by natural properties of the request history of each object such as time-to-live (TTL) values, popularity, and recency of previous requests. Refreshment policies can also be viewed as prefetching freshness. Their methodology and implementation, however, is closer to replacement policies than object prefetching algorithms. Our refreshment policies resemble common replacement policies (such as LRU and LFU) in the way objects are prioritized. First, policies prefer renewing recently or frequently requested objects. Second, implementation is similar since object value is determined only by the request history of the object rather than by considering request history of related objects. Another difference of refreshment and document prefetching is that validations typically have considerably smaller response sizes than complete documents, but due to communication overhead, the latency gap is not nearly as pronounced. Hence, refreshment potentially provides considerably better tradeoffs of bandwidth vs. reduced latency compared to object prefetching.

Our experimental study indicates that the best among the refreshment policies we have studied can eliminate about half of the freshness misses at a cost of two additional validation requests per eliminated freshness miss. Freshness misses themselves constitute a large fraction (30–50%) of cache hits in a typical cache today. Therefore we conclude that one can considerably improve cache performance by incorporating a refreshment policy in it.

The paper proceeds as follows. We discuss related work in Section 2. We then provide a brief overview of HTTP freshness control in Section 3. In Section 4 we discuss and analyze our log data. In Section 5 we present the different refreshment policies. In Section 6 we describe our methodology for trace-based simulations and the simulation results for the performance of the different policies. We conclude in Section 7 with a summary and future research directions.

Section snippets

Related work

Recent work addressed validation latency incurred on freshness misses, including transferring stale cached data from the cache to the client's browser while the data validity is being verified [14] or while the modified portion (the “delta”) is being computed [15]. These schemes, however, may require browser support and are effective only when there is limited bandwidth between end user and cache (such as with modem users).

Some or all freshness misses can be eliminated via stronger cache

Freshness control

We provide a simplified overview of the freshness control mechanism specified by HTTP and supported by compliant caches. For further details see [11], [29], [30], [31], [32]. Caches compute for each object a TTL value during which it is considered fresh and beyond which it becomes stale. When a request arrives for a stale object, the cache must validate it before serving it, by communication either with an entity with a fresh copy (such as another cache) or with the origin server. The

Data analysis

We used two six days NLANR cache traces [35] collected from the UC and SD caches from January 20th till January 25th, 2000. The NLANR caches run Squid [11] which logs and labels each request with several attributes such as the request time, service time, cache action taken, the response code returned to the client, and the response size.

The data analysis below considered all HTTP GET requests such that a 200 or 304 response codes (OK or Not-Modified) were returned to the client. We classified

Refreshment policies

Refreshment policies associate with every cached object a renewal credit (a nonnegative integer). When a cached copy is about to expire (according to its respective TTL interval), and it has nonzero renewal credit, a renewal request is sent to the respective authoritative server, and the renewal credit is decremented.

The association of renewal credits to objects is governed by the particular policy. The policies we consider may increment the renewal credit only upon a client request. Renewal

Experimental evaluation

We conducted trace-based simulations in order to evaluate cache performance under the different refreshment policies. We outline our methodology and then proceed to present and discuss the simulation results.

Conclusion

A large fraction (30–50%) of cache hits constitute freshness misses, that is, the cached copy was not fresh, but turned out to be valid after communication with the origin server. Validations are performed prior to sending responses to users, and significantly extend cache service time. Therefore, freshness misses impede the cache ability to speed-up Web access.

An emerging challenge for Web content caches is to reduce the number of freshness misses by proactively maintaining fresher content. It

Acknowledgements

Our experiments would not have been possible without the collection and timely availability of the NLANR cache traces. We thank Duane Wessels for answering questions with regard to a Squid logging bug.

Edith Cohen is a Researcher at AT&T Labs-Research. She did her undergraduate and Masters studies at Tel-Aviv University, and received her Ph.D. in Computer Science from Stanford University in 1991. She joined Bell Laboratories in 1991. During 1997, she was in UC Berkeley as a Visiting Professor. Her research interests include design and analysis of algorithms, combinatorial optimization, Web performance, networking, and data mining.

References (37)

  • E. Cohen, H. Kaplan, Refreshment policies for Web content caches, in: Proceedings of the IEEE INFOCOM'01 Conference,...
  • Akamai. Available from...
  • S. Williams, M. Abrams, C.R. Standbridge, G. Abdulla, E.A. Fox, Removal policies in network caches for world-wide web...
  • P. Cao, S. Irani, Cost-aware WWW proxy caching algorithms, in: Proceedings of the USENIX Symposium on Internet...
  • A. Bestavros et al., Application-level document caching in the internet, in: Proceedings of the Second International...
  • E Cohen et al.

    Evaluating server-assisted cache replacement in the Web

  • E. Cohen, H. Kaplan, Exploiting regularities in Web traffic patterns for cache replacement, in: Proceedings of the 31st...
  • L. Breslau, P. Cao, L. Fan, G. Phillips, S. Shenker, Web caching and zipf-like distributions: evidence and...
  • A. Feldmann, R. Cáceres, F. Douglis, G. Glass, M. Rabinovich, Performance of Web proxy caching in heterogeneous...
  • N. Young, On line file caching, in: Proceedings of the Ninth ACM-SIAM Symposium on Discrete Algorithms, ACM-SIAM,...
  • Squid internet object cache. Available from...
  • T.M. Kroeger, D.D.E. Long, J.C. Mogul, Exploring the bounds of web latency reduction from caching and prefetching, in:...
  • D. Duchamp, Prefetching hyperlinks, in: Proceedings of the Second USENIX Symposium on Internet Technologies and...
  • A. Dingle, T. Partl, Web cache coherence, in: Proceedings of the Fifth International World Wide Web Conference, May...
  • G. Banga, F. Douglis, M. Rabinovich, Optimistic deltas for WWW latency reduction, in: Proceedings of the USENIX Annual...
  • J Howard et al.

    Scale and performance in a distributed file system

    ACM Transactions on Computer Systems

    (1988)
  • D. Li, D.R. Cheriton, Scalable web caching of frequently updated objects using reliable multicast, in: Proceedings of...
  • B. Krishnamurthy, C.E. Wills, Study of piggyback cache validation for proxy caches in the world wide web, in:...
  • Cited by (0)

    Edith Cohen is a Researcher at AT&T Labs-Research. She did her undergraduate and Masters studies at Tel-Aviv University, and received her Ph.D. in Computer Science from Stanford University in 1991. She joined Bell Laboratories in 1991. During 1997, she was in UC Berkeley as a Visiting Professor. Her research interests include design and analysis of algorithms, combinatorial optimization, Web performance, networking, and data mining.

    Haim Kaplan received his Ph.D. degree from Princeton University at 1997. He was a member of technical stuff at AT&T research from 1996 to 1999. Since 1999 he is an Assistant Professor in the School of Computer Science at Tel-Aviv University. His research interests are design and analysis of algorithms and data structures.

    An earlier version of the paper appeared in the Proceedings of Infocom'01 [1].

    View full text