At DNS, using a separate application, which runs along with modified BIND server, desired cluster IP address for different clients can be selected according to desired policy. We have already implemented four policies : random, round robin, weighted and nearest server selection (proposed by us). In our application, there is a method select_cluster which takes input client IP address and selects cluster as per policy specified. New policies can be implemented very easily by modifying this method.
All available information about clusters and clients having high request rate (if present) is accessible easily using their IP addresses. Information about all clusters can also be obtained sequentially.