Shared Web caches, also referred to as proxy Web servers, allow multip
le clients to quickly access a pool of popular Web pages. An organizat
ion that provides shared caching to its Web clients will typically hav
e a collection of shared caches rather than lust one. For collections
of shared caches, ii is desirable to coordinate the caches so that all
cached pages in the collection are shared among the organization's cl
ients. In this article we investigate two classes of protocols for coo
rdinating a collection of shared caches: the ICP protocol, which has c
aches ping each other to locate a cached object; and the hash routing
protocols, which place objects in the shared caches as a function of t
he objects' URLs. Our contribution is twofold. First, we compare the p
erformance of the protocols with respect to cache-server overhead and
object retrieval latency; for a collection of shared caches, our analy
sis shows that the hash-routing schemes have significant performance a
dvantages over ICP for both of the performance metrics. The existing h
ash-routing protocols assume that the cache servers are homogeneous in
storage capacity and processing capability, even though most collecti
ons of cache servers are vastly heterogeneous. Our second contribution
is to extend a robust hash-routing scheme so that it balances request
s among the caches according to any desired distribution; the extended
hash-routing scheme is robust in the face of cache failures, is tunab
le for heterogeneous caches, and can have significant performance adva
ntages over ICP.