RFC 2187 (rfc2187) - Page 3 of 24
Application of Internet Cache Protocol (ICP), version 2
Alternative Format: Original Text Document
RFC 2187 ICP September 1997
2. Web Cache Hierarchies
A single Web cache will reduce the amount of traffic generated by the
clients behind it. Similarly, a group of Web caches can benefit by
sharing another cache in much the same way. Researchers on the
Harvest project envisioned that it would be important to connect Web
caches hierarchically. In a cache hierarchy (or mesh) one cache
establishes peering relationships with its neighbor caches. There
are two types of relationship: parent and sibling. A parent cache is
essentially one level up in a cache hierarchy. A sibling cache is on
the same level. The terms "neighbor" and "peer" are used to refer to
either parents or siblings which are a single "cache-hop" away.
Figure 1 shows a simple hierarchy configuration.
But what does it mean to be "on the same level" or "one level up?"
The general flow of document requests is up the hierarchy. When a
cache does not hold a requested object, it may ask via ICP whether
any of its neighbor caches has the object. If any of the neighbors
does have the requested object (i.e., a "neighbor hit"), then the
cache will request it from them. If none of the neighbors has the
object (a "neighbor miss"), then the cache must forward the request
either to a parent, or directly to the origin server. The essential
difference between a parent and sibling is that a "neighbor hit" may
be fetched from either one, but a "neighbor miss" may NOT be fetched
from a sibling. In other words, in a sibling relationship, a cache
can only ask to retrieve objects that the sibling already has cached,
whereas the same cache can ask a parent to retrieve any object
regardless of whether or not it is cached. A parent cache's role is
Wessels & Claffy Informational