A
client device presents streaming media and includes a
stream manager, a request accelerator, and a source component coupled to the
stream manager and the request accelerator for determining which requests to make. A rate selection process can make rate decisions so that the buffer is filled when it is low, avoiding erratically changing rates and can choose the correct steady rate quickly.
Multimedia download strategies can be used for HTTP that allow for accurate rate estimations, achieving link capacity even if network delays and
packet loss rates are high, achieving timely delivery of the
stream, and achieving relatively steady download rates with little short term variability. A
receiver might use multiple HTTP connections, decompose media requests into smaller chunk requests, synchronize the connections using TCP flow control mechanisms, and request data in bursts. In addition, the
receiver might use an HTTP pipelining process to keep the connections busy.