next up previous
Next: Request distribution mechanisms Up: Overview of test bed Previous: Software components at front

Software components at DNS

DNS may use load information of each cluster, client request rate and proximity information to resolve IP of any cluster (i.e. IP of front node or shared secondary IP address of each server in cluster). Current implementation of domain name server (BIND-9.1) do not have any support for weighted capacity of IP resolution or any other dynamic policy based on current load, etc. It only supports random selection of IP address for Address query when multiple IP addresses are present for single server as specified in RFC 1034 [26] and RFC 1035 [27]. We have extended BIND for this purpose.

For selection of desired IP address depending on client IP address, we have created a separate application that can run on the same DNS machine or any other machine. BIND has been modified to send client IP address to this application, which selects cluster IP address for that client as per policies implemented and BIND returns that IP address to client. That application may select IP address of cluster based on loads of server and proximity approximated by IP addresses of clusters and clients, if no real proximity information(e.g. RTT) is already available for any client, e.g. if client is sending request for the first time or after a long time when its information is deleted or the client does not generate enough requests. Optionally, this application can send queries to front nodes for different clients, it then receives and automatically updates RTT between clusters and client.

DNS receives load updates periodically from each cluster. If load on cluster is very high or load information is not received, DNS may not resolve IP address of that cluster further till load conditions return to moderate level on cluster depending on policy used. DNS also receives IP addresses of high request rate clients from each cluster at larger interval (each cluster sends this information every 64 seconds). This information can be used in different policies if desired, for example, in architecture proposed by us, DNS selects a subset of clusters (3 clusters at most) which are nearer to client (approximated using IP addresses) and are not overloaded. Thus DNS collects client IP addresses whom different selected clusters should ping to measure RTT. Requests to measure RTT to clients are sent by DNS to clusters. These clusters measure RTT to each client and return measured RTTs to DNS, DNS updates proximity information for each client in hash table and for next address resolution reply to client, this proximity information can be used.


next up previous
Next: Request distribution mechanisms Up: Overview of test bed Previous: Software components at front
Puneet Agarwal 2001-05-12