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.