In the future, I would like to work on some interesting problems raised by domain caching. In domain caching, the servers groups clients into clusters based on network proximity. This sub-division suggests the need for different clustering algorithms on different clients. To achieve this, one solution is to use a hierarchical clustering approach in which clients sub-divide a cluster based on local knowledge. Hence, servers are bound to make errors in clustering.
Hierarchical clustering provides an oppurtunity for local clients to correct such errors.
The server is expected to be overloaded with requests. Hence, clustering might prove to add additional load that cannot be handled by the server. In such situations, hierarchical helps because the server is able to use a fast, but inaccurate clustering algorithm. For example, servers can assume pre-CIDR network addresses and cluster clients based on this information. Local clients can make better decisions of clustering based on local network conditions, if necessary.