One of the central challenges of creating a successful Web site is providing up-to-date content in a timely fashion. This is especially challenging, yet particularly essential, in e-commerce Web applications. Significant advances have been made in terms of high-performance networks, Web servers, and caching support to address this challenge. However, while successful in more traditional Web sites, such developments do not adequately support e-commerce applications, in which the majority of the content is dynamically created from continuously changing business data.
In this paper, the authors propose a new caching technique that attempts to provide optimal response times and content freshness for e-commerce Web applications. The crux of the proposed caching policy involves making dynamic adjustments, so that the response time measured equals that of the invalidation cycle. That is, the caching policy (number of pages cached) is dynamically modified, such that the response time of retrieving a page from the Web server itself essentially equals the time required to check the validity (or freshness) of all pages in the cache servers.
Using an extensive series of measurements and experiments, described in detail in the paper, the authors conclude that response times and content freshness are optimized when response times at the Web server are equivalent to the invalidation cycle. The authors measure the relationships between, and dependencies among, number of user requests, cache hit rates, database queries performed, number of pages cached, network latency, and invalidation cycle rates. The authors then conduct a number of experiments to evaluate their proposed caching strategy.
Not only do the authors provide a thorough description of their proposed caching policy and of the experiments that validate their proposal, but their paper also begins with a very detailed summary of common architectures for Web applications and existing caching strategies. The background information presented and the detailed descriptions provided throughout result in a very interesting paper, which is easy to understand even for a novice in the area of caching.