The total download time in this senario depends heavily on the network traffic across the single route between the client and server. During a file transfer, the throughput can drop significantly when sudden surges of heavy traffic crosses any point on the path. A connection may have to be restarted when the congestion is too heavy or when any of the routers along the path fails. The fact that traffic patterns change over time makes it a very hard problem to solve. More recently, mirror servers have been established to provide both reliability and the opportunity to pick an optimal path for downloading a file.
Clients can choose from a list of one or more mirror locations from which to download data.
Ideally, they would choose the site with the highest bandwidth and the least amount of traffic. However, accurate measurements and predictions on these metrics are difficult to obtain. Hence, the clients end up choosing the sites randomly. However, very little work has been done to study the idea of accessing data in parallel at the wide-area network level to help increase the performance of downstream data transfers. By downloading various fragments of a file in parallel across multiple servers and adapt to the changing conditions of each path, this simple system can take advantage of the aggregate bandwidth of the multiple network paths and avoid pockets of heavy network congestions.