These mechanism have their relative pros and cons. Client side approach does not
require any server side processing but suffers from limited applicability problem. DNS based approaches suffers from problem of limited control over client
request due to caching and non-cooperative name servers. They provide coarse
level control over client request but these approaches do not suffer from single
point of failure problem which is present in Dispatcher based approaches.
Dispatcher based approaches give finer level control over client request. Packet forwarding approaches are most suitable for LAN based solutions and can scale
to WAN solution. Server based approaches offer fine grain control and do not
suffer from single point of failure problem but redirection causes increase in
latency period.
Our focus is on a general scheme that can be fully implemented at server side and can be very easily deployed with currently used infrastructure and standard protocols. Hence we do not consider client side approaches and do not assume existence of any support or special component or modified protocol running at client side. We consider whole server architecture for collection of metrics required for selection of server, role of each entity and method of request distribution.