Distributed caching and download of file. A method is described that
includes building a peer list comprising a listing of potential peer
servers from among one or more networked computers. The peer list
includes no more than a predetermined number of potential peer servers.
Potential peer servers in the peer list are queried for a file or portion
of a file. A message from a peer server in the peer list is received
indicating that the peer server has the file or portion of a file
available for download. The computer system downloads the file or portion
of a file from the peer server.