A method of improving the reliability of peer-to-peer network downloads
includes the steps of initiating a search from a client on a peer-to-peer
network. Next, a list of servers is downloaded that satisfies the search.
At least one of the servers is selected from the list of servers. Next,
one of a plurality of downloading systems is selected based on a
predetermined criteria. A file is downloaded using one of the plurality
of downloading systems.