Web Cache Prefetching as an aspect{:} Towards a Dynamic-Weaving Based Solution
Résumé
Given the high proportion of HTTP traffic in the Internet, Web caches are crucial to reduce user access time, network latency, and bandwidth consumption. Prefetching in a Web cache can further enhance these benefits. Nevertheless, to achieve the best performance, the prefetching policy must match user and Web server characteristics. This implies that new prefetching policies must be loaded dynamically as needs change. Most Web caches are large C programs, and thus adding a single prefetching policy to an existing Web cache is a daunting task. Providing multiple policies is even more complex. The essential problem is that prefetching concerns crosscut the cache structure. Aspect-oriented programming is a natural technique to address this issue. Nevertheless, existing approaches do not provide dynamic weaving of aspects targeted toward C applications. In this paper, we present $\mu$Dyner, which addresses these needs. $\mu$Dyner also provides lower overhead for aspect invocation than other dynamic approaches, thus meeting the performance needs of Web caches.