Abstract:
With the rapid growth of the World Wide Web, clients attempting to
access some popular web sites are experiencing slow response times due
to server load and network congestion. Replacing the single server
machine with a set of replicated servers is a cost-effective solution
to partition server load which also allows incremental scalability and
fault transparency. Distributing these replicated servers
geographically can reduce network congestion and increase
availability. However, distributed web sites are faced with the issue
of allocating servers: how do clients find out about the replicas and
how do they decide which one to contact? Popular web sites have well
publicized server names and require a transparent mapping of the
public server name to replicated servers.
Unlike most traditional approaches, we propose a technique which
pushes the server allocation functionality onto the client. We argue
that this approach scales well and results in increased performance in
many cases. Building on theoretical work based on game theory, we
show that the usage of individual replicas can be effectively
controlled with cost functions even when the clients are
noncooperative. We present the design and implementation of WebSeAl,
our prototype system realizing these techniques. WebSeAl does not
require any changes to existing client and server code, conforms to
all standards, and does not generate any control messages.
Preliminary experiments utilizing servers on six continents and in
controlled settings indicate that WebSeal improves performance
significantly while imposing little overhead.