DNS dispatching algorithms with state estimators for scalable Web clusters