Patent ID: 8239564

Claim:
One or more storage device having stored computer-executable instructions that, when executed by one or more processors of a server, cause the server to perform a method for managing download rates for downloading digital resources to a plurality of clients, the method comprising: an act of a server concurrently maintaining a plurality of download sessions with a plurality of download clients, each download session having a corresponding minimum download rate for downloading a corresponding digital resource to a corresponding client; an act of adjusting downwards the download rates of at least one of the maintained download sessions when a new download session is to be initiated by the server; an act of adjusting upwards the download rate of at least one of the maintained download sessions when a maintained download session is completed; an act of receiving a request to download a particular digital resource to a particular client; an act of determining the minimum download rate to use when downloading the particular digital resource to the particular client, wherein the act of determining the minimum download rate includes accessing a table that associates a plurality of different digital resource types with different corresponding minimum download rate data, the table expressing, for digital resource types that have corresponding encoded bit rates, the minimum download rate data as percentage data to be multiplied by the corresponding encoded bit rates to obtain the minimum download rate whenever the particular digital resource includes an encoded bit rate, the table also expressing, for digital resource types that do not have known corresponding encoded bit rates, the minimum download rate data as specified bit rates to, alternatively, use as the minimum download rate whenever the particular digital resource does not have a known encoded bit rate; an act of calculating a target download rate to attempt to use when downloading the particular digital resource to the particular client, the calculated target download rate being based at least upon the minimum download rate, as well as an estimate of a total available server bandwidth; and an act of determining that the calculated target download rate is greater than the minimum download rate and thereafter attempting to download the particular digital resource to the particular client at the calculated target download rate, wherein the calculated target download rate and the download rates of the maintained download sessions are scaled in an equally proportional manner relative to their corresponding minimum download rates.