A method in a computer network for downloading digital data from one of a plurality
of servers to a client computer using a hierarchical algorithm that determines
a group of candidate servers based on the ability of the servers to deliver the
required digital data and network considerations such as proximity to the client.