Management of bandwidth allocation in a network server
DCFirst Claim
1. A method, comprising:
- receiving, at a first computer system, information indicating a request to transfer data to a second computer system;
the first computer system determining a quantity of other data previously transferred to the second computer system; and
in response to said determining, the first computer system throttling transfer of the data to the second computer system, wherein the throttling is based at least in part on the determined quantity of other data previously transferred to the second computer system and comprises;
transmitting, to the second computer system, a first portion of the requested data at a first effective rate; and
determining to delay a transmission of a second, subsequent portion of the requested data to the second computer system in order to cause the second portion to be transmitted to the second computer system at a second effective rate that is slower than the first effective rate.
5 Assignments
Litigations
1 Petition
Accused Products
Abstract
A server is configured to transfer information to a plurality of client devices in accordance with bandwidth-limiting and bandwidth-adjustment techniques. Bandwidth may be reduced based on an amount of data previously transferred to a client device (e.g., within a prior time period). Bandwidth may also be reduced based on variable input parameters such as file size, data type, server load, network response time, and number of transfer requests from a client device within a prior period of time. In some embodiments, bandwidth may be reduced by inserting delays between portions of data being transmitted. A length of a delay period may be determined based on the various factors above (amount of previous data transfer(s), file size, etc.). Bandwidth to a client device may also be adjusted dynamically. In some embodiments, bandwidth may be increased (rather than decreased).
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving, at a first computer system, information indicating a request to transfer data to a second computer system; the first computer system determining a quantity of other data previously transferred to the second computer system; and in response to said determining, the first computer system throttling transfer of the data to the second computer system, wherein the throttling is based at least in part on the determined quantity of other data previously transferred to the second computer system and comprises; transmitting, to the second computer system, a first portion of the requested data at a first effective rate; and determining to delay a transmission of a second, subsequent portion of the requested data to the second computer system in order to cause the second portion to be transmitted to the second computer system at a second effective rate that is slower than the first effective rate. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable memory having instructions stored thereon that are executable by a first computer system to cause the first computer system to perform operations comprising:
-
receiving, at the first computer system, information indicating a request to transfer data to a second computer system; determining a quantity of other data previously transferred to the second computer system; and in response to said determining, causing transfer of the data to the second computer system to be throttled, wherein the throttling is based at least in part on the determined quantity of other data previously transferred to the second computer system and comprises; transmitting a first portion of the requested data to the second computer system at a first effective rate; and determining to delay transmission of a second, subsequent portion of the requested data to the second computer system in order to cause the second portion to be transmitted to the second computer system at a second effective rate that is slower than the first effective rate. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system, comprising:
-
a processor; and a storage device having instructions stored thereon that are executable by the processor to cause the computer system to perform operations comprising; receiving information indicating a request to transfer data to a specified network address; causing a portion of the data to be transmitted to the specified network address at a first effective rate; determining a length of a delay period associated with a transmission of an additional portion of the data to the specified network address, wherein the length of the delay period is based at least in part on a quantity of other data previously transferred to the specified network address and is also calculated in order to a achieve a second effective rate for transmittal to the specified network address that is slower than the first effective rate; and causing the additional portion of the data to be transmitted to the specified network address after the delay period has occurred, said transmitting occuring at the second effective rate. - View Dependent Claims (17, 18, 19, 20)
-
Specification