I. Introduction
Traditionally a cache is defined as a fast, temporary store for commonly used items. High speed memory units on microprocessor chips cache data from main memory; main memory units cache sections of disk files; and local disks cache documents from the network file server. Caching succeeds in these examples because 1) each cache level is progressively faster and 2) the data exhibit locality of reference.