Patent ID: 8132177

Claim:
A method, comprising: receiving a server request; scheduling one of a plurality of servers to receive a server request, wherein the scheduled one of the plurality of servers is selected based on a first stored value and a second stored value; determining whether the scheduled one of the plurality of servers is available; when the scheduled one of the servers is unavailable: incrementing the second stored value by a predetermined amount decrementinq the first stored value based on, next new =next old −delta wherein, next old is the first stored value, delta is a second stored value, and next new is the first stored value after it is decremented; directing the server request to another one of the plurality of servers based on the first and second stored values; when the scheduled one of the servers is available: directing the server request to the one of the servers incrementing the first stored value after the server request is directed to the one of the servers, the incrementing based on, next new =(next old +delta)mod N wherein next new is the first stored value after it is incremented by delta, the second stored value and next old is the first stored value before it is incremented by delta and N is a number of servers.