3.1 Harvest Harvest and its successor Squid are hierarchical caches intended to be placed at network junctures along the paths from clients to Web servers. Each caching server is configured to interact with some subset of its peer servers as parents , children , or siblings . We consider only tree configurations, which are the intended Harvest topologies. Each server satisfies misses to its local cache by multicasting a query for the requested document to all immediate parents and siblings, if any. If it has no parents, or no parents respond within a timeout interval, it fetches the object from the home Web site.
Every fetched document is cached locally.
If the request is forwarded to a parent, the query process is repeated at the next level of the hierarchy. For example, in case of a miss, the parent multicasts the query to its siblings and waits for a response before forwarding the request up the hierarchy. Trace-driven execution allowed us to compare hit ratios, generated network traffic, as well as latencies imposed by the caches. In these experiments, we measured hit ratios and network traffic. For trace-driven execution, client simulators on a separate set of machines generate requests.