Patent ID: 8683075

Claim:
A method of routing requests for data objects from clients comprising: receiving a request for a data object from a client; providing content servers capable of serving data objects; determining a best server from the content servers to serve said data object to said client, the determining including for each content server, identifying routes between the content server and the client, determining traversal times for the routes, ranking the routes according to the traversal times, determining, based on the ranked routes, a set of candidate servers associated with routes having associated traversal times within a predetermined range of the traversal time of a top ranked route, the set of candidate servers including a candidate server associated with the top ranked route and at least one other candidate server associated with another of the ranked routes, and iterating through the candidate servers to select the best server, the iterating including incrementing a running total of candidate server load based on respective server loads of the candidate servers, and identifying the best server when at least one of: (a) the running total of candidate server load exceeds a randomly determined amount of server load and (b) the last candidate server is reached; and informing the client of an address associated with the determined best server accessible by the selected route.