Utility-Based Data Access

The rapid growth of the Internet has increased both the number and the diversity of clients who access data on remote servers. Remote data access is characterized by high latency and frequent updates, e.g. stock quotes. An important characteristic of Internet data access is that clients often have different requirements for the latency and recency of objects. However, there has been little work that aims to accomodate client needs. Client side proxy caching can improve client latency but it has the disadvantage that the cached data becomes stale. An accepted strategy to maintain cache consistency is to assign each object a time to live (TTL). When a client requests an object whose TTL has expired, the proxy must check for updates at the server. This increases the latency of the client request and reduces the benefits of caching. The main disadvantage is that TTL cannot be tuned to client requirements and treats all applications alike. In this research, we present an integrated framework that allows clients to express target values for the desired latency and recency of objects. We define a utility function that uses the target values to determine when to download an object or when to use a cached copy. The utility function can be tuned to meet the target values and can provide guarantees with respect to the maximum latency or recency of requested objects. Our results show that the utility-based approach can reduce average client latency and bandwidth consumption while meeting client requirements for latency and recency. Experiments with Web trace data validate the effectiveness of our approach and show that the utility-based framework can provide substantial bandwidth savings in a web environment compared to the TTL approach, while providing comparable recency in many cases.

For a technical report describing this work in detail, send me email.