Next: DNS-based approach
Up: Mechanisms for request distribution
Previous: Mechanisms for request distribution
In this approach, client side entity is responsible for selecting the server
so no server side processing is required for selection of server. The routing
to replica is done by client software (browser) or by client-side DNS or proxy
servers.
So these schemes can be categorized as follows:
- Web clients :
In this approach clients are aware of existence of replicas of same resource
on multiple servers and they choose the replica themselves. Following are two
schemes that utilize client software for server selection.
- Netscape's Approach :
This approach is taken by Netscape Navigator browsers [15]. On
access to Netscape home page, browser generates a random number X between 1 and
32 and accesses http://homeX.netscape.com. Each server can have multiple homeX
aliases pointing to it so that client software need not to be modified in case
more servers are deployed, just changing aliases will suffice.
This approach is not generally applicable as not all companies can control
client software, it requires re-installation or change of web clients if number
of aliases increase. Also, it does not guarantee server availability and
load balancing of servers because if any server is down or overloaded (and the
aliases has not been changed), random selection will still try to access
resource from that server.
- Smart Clients :
In scheme proposed by Yoshilakawa et al [31], a Java Applet
is run on the client side, whenever user accesses the Distributed Web
Server System. This Applet knows all the IP addresses of servers in the System.
Applet sends messages to probe node load, response time and network delays,
etc., and selects the best node.
This approach does not require client software modification and provides
scalability and availability, but downloading the Java Applet requires a TCP
connection, and extra probe messages cause delay and increased network traffic. Also all clients might not be capable of running the Java Applet.
- Client's DNS resolver :
This scheme is used by Beck and Moore [7] in I2-DSI system.
In this scheme, client's local DNS resolver issues probes to servers instead of
web client and may choose the server based on response time or previous access
performance reports from client.
This scheme requires customized DNS and clients must also be modified for
giving reports. If the server address is cached, then all requests in future
will go to the same server. So load balancing may not be achieved. If caching is
restricted by a lower TTL value, then we are putting additional load on DNS
infrastructure.
- Client Side Proxy :
This scheme was proposed by Baentsh et al [6]. Servers form a
hierarchical structure and content replicated on each server is some part
of URL name space. Each parent server in hierarchy propagates information
about replicas present on direct descendents in extra HTTP headers in
response to request for resource. Client-side proxy learns about replicas
and next time request can go to server containing replica of resource.
This approach requires both server software and proxy modification to give
information about replica and process extra HTTP headers respectively.
All these approaches require change in client side components, which are
not controlled by the e-Commerce company or the hosting ISP, So these
approaches suffer from the problem of limited applicability.
Next: DNS-based approach
Up: Mechanisms for request distribution
Previous: Mechanisms for request distribution
Puneet Agarwal
2001-05-12