A survey of web caching schemes for the Internet <s> Distributed caching architecture <s> New demands brought by the continuing growth of the Internet will be met in part by more effective use of caching in the Web and other services. We have developed CRISP, a distributed Internet object cache targeted to the needs of the organizations that aggregate the end users of Internet services, particularly the commercial Internet Service Providers (ISPs) where much of the new growth occurs. A CRISP cache consists of a group of cooperating caching servers sharing a central directory of cached objects. This simple and obvious strategy is easily overlooked due to the well known drawbacks of a centralized structure. However, we show that these drawbacks are easily overcome for well configured CRISP caches. We outline the rationale behind the CRISP design, and report on early studies of CRISP caches in actual use and under synthetic load. While our experience with CRISP to date is at the scale of hundreds or thousands of clients, CRISP caches could be deployed to maximize capacity at any level of a regional or global cache hierarchy. <s> BIB001 </s> A survey of web caching schemes for the Internet <s> Distributed caching architecture <s> The sharing of caches among Web proxies is an important technique to reduce Web traffic and alleviate network bottlenecks. Nevertheless it is not widely deployed due to the overhead of existing protocols. In this paper we propose a new protocol called "Summary Cache"; each proxy keeps a summary of the URLs of cached documents of each participating proxy and checks these summaries for potential hits before sending any queries. Two factors contribute to the low overhead: the summaries are updated only periodically, and the summary representations are economical --- as low as 8 bits per entry. Using trace-driven simulations and a prototype implementation, we show that compared to the existing Internet Cache Protocol (ICP), Summary Cache reduces the number of inter-cache messages by a factor of 25 to 60, reduces the bandwidth consumption by over 50%, and eliminates between 30% to 95% of the CPU overhead, while at the same time maintaining almost the same hit ratio as ICP. Hence Summary Cache enables cache sharing among a large number of proxies. <s> BIB002
Recently, a number of researchers have proposed the setup of a totally distributed caching scheme, where there are only caches at the bottom level. In distributed Web caching systems  [71], there are no other intermediate cache levels than the institutional caches, which serve each others' misses. In order to decide from which institutional cache to retrieve a miss document, all institutional caches keep meta-data information about the content of every other institutional cache. To make the distribution of the meta-data information more efficient and scalable, a hierarchical distribution mechanism can be employed. However, the hierarchy is only used to distribute directory information about the location of the documents, not actual document copies. With distributed caching, most of the traffic flows through low network levels, which are less congested and no additional disk space is required at intermediate network levels. In addition, distributed caching allows better load sharing and are more fault tolerant. Nevertheless, a large-scale deployment of distributed caching may encounter several problems such as high connection times, higher bandwidth usage, administrative issues, etc.  . There are several approaches to the distributed caching. The Harvest group designed the Internet Cache Protocol (ICP)  , which supports discovery and retrieval of documents from neighboring caches as well as parent caches. Another approach to distributed caching is the Cache Array Routing protocol (CARP)  , which divides the URL-space among an array of loosely coupled caches and lets each cache store only the documents whose URL are hashed to it. Provey and Harrison also proposed a distributed Internet cache  . In their scheme upper level caches are replaced by directory servers which contain location hints about the documents kept at every cache. A hierarchical meta-data-hierarchy is used to make the distribution of these location hints more efficient and scalable. Tewari et al. proposed a similar approach to implement a fully distributed Internet caching system where location hints are replicated locally at the institutional caches  . In the central directory approach (CRISP) BIB001 , a central mapping service ties together a certain number of caches. In Cachemesh system  , cache servers establish a cache routing table among them, and each cache server becomes the designed server for a number of Web sites. User requests are then forwarded to the proper cache server according to the cache routing table. In Summary Cache BIB002 , Cache Digest  , and the Relais project  , caches interexchange messages indicating their content and keep local directories to facilitate finding documents in other caches.