Patent ID: 7912954

Claim:
A method for selecting a server from a plurality of servers to service a third request for an asset, comprising: generating, at an adaptable cache of a first server, a list of pairs of requests for the asset and determining a pair of requests having the shortest interval between start times, wherein the pair of requests comprise a first request and a second request; responsive to the first request, streaming the asset from a storage system of the first server and storing the asset on the adaptable cache of the first server as it is being streamed from the storage system of the first server; responsive to the second request streaming the asset from the adaptable cache of the first server; updating a first state table on the first server with information about the asset stored on the adaptable cache of the first server; communicating the information about the asset stored on the adaptable cache of the first server to each server in the plurality of servers; updating state tables of each of the other servers in the plurality of servers with the information about the asset stored on the adaptable cache of the first server; designating a director from the plurality of servers to receive the third request, wherein any of the plurality of servers can be designated as the director; determining that the asset is not stored on an adaptable cache of the director by accessing a director's state table stored on the director, wherein the director's state table includes parametric information for each server in the plurality of servers, and wherein the parametric information comprises adaptable cache contents information for each server in the plurality of servers; and under the direction of the director, determining a set of servers from among said plurality of servers that have the asset stored in their respective adaptable caches by examining the state table on the director; determining a load factor for each of the set of servers; and selecting a second server from among the set of servers based on the load factor.