Dynamic Throttling Based on Network Conditions
First Claim
1. A method for a server to manage download rates when the server downloads digital resources to a plurality of clients, the method comprising:
- an act of receiving a request to download a particular digital resource to a particular client;
an act of determining a minimum download rate to use when downloading the particular digital resource to the particular client; and
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 based at least upon an estimate of a total available server bandwidth.
2 Assignments
0 Petitions
Accused Products
Abstract
The dynamic management of download rates when downloading digital resources to clients. A server concurrently maintains download sessions with any number of clients, each download session for downloading a corresponding digital resource to a corresponding client. The download rates for the various download sessions are adjusted as download sessions are completed, and as new download sessions are added. As new download sessions are initiated, a minimum and target download rate may be calculated. The target download rate is the rate at which the server will attempt to download the requested digital resource to the client, and will depend on the total available bandwidth for use to download the digital resources.
53 Citations
20 Claims
-
1. A method for a server to manage download rates when the server downloads digital resources to a plurality of clients, the method comprising:
-
an act of receiving a request to download a particular digital resource to a particular client; an act of determining a minimum download rate to use when downloading the particular digital resource to the particular client; and 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 based at least upon an estimate of a total available server bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product comprising one or more computer-readable media having thereon one or more computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for managing download rates when the server downloads digital resources to a plurality of clients, the method comprising:
-
an act of concurrently maintaining a plurality of download sessions with a plurality of download clients, each download session for downloading a corresponding digital resource to a corresponding client, wherein the plurality of download sessions are maintained using at least a majority of a predetermined portion of the total available server bandwidth; and 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. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer program product comprising one or more computer-readable media having thereon one or more computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for managing download rates when the server downloads digital resources to a plurality of clients, the method comprising:
-
an act of concurrently maintaining a plurality of download sessions with a plurality of download clients, each download session for downloading a corresponding digital resource to a corresponding client, wherein the plurality of download sessions are maintained using at least a majority of a total available server bandwidth; while concurrently maintaining the plurality of download sessions, an act of receiving a request to download a particular digital resource to a particular client; an act of determining a minimum download rate to use when downloading the particular digital resource to the particular client; and 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 based at least upon an estimate of the total available server bandwidth, a type of the particular digital resource file, and on the download rates of the plurality of download clients. - View Dependent Claims (20)
-
Specification