A method and
system for electronically delivering files over a
public network is disclosed. The network includes a plurality of computers including at least one
server node and multiple
client nodes. In a first aspect of the present invention, the method and
system enable secure and reliable peer-to-peer
file sharing between two
client nodes. First, a
digital fingerprint is generated and associated with a file in response to the file being selected for publication on a first
client node. An entry for the file is then added to a searchable index of shared files on the
server node, and the
fingerprint for the file is also stored on the
server. In response to a second client selecting the file from the search
list on the server node, the file is automatically transferred from the first client node directly to the second client node. The second client node then generates a new
fingerprint for the file and compares with the new
fingerprint with the fingerprint from the server node, thereby verifying the authenticity of the file and publisher. In a second aspect of the present invention, the method and
system also enable subscription-based decentralized file downloads to the client nodes. First, the client nodes are allowed to subscribe with the server node to periodically receive copies of one of the files. To provide a current subscribing client node with the file, the geographically closest client node containing the file is located, and the file is transferred from the closest node directly to the current subscribing node, thereby efficiently utilizing bandwidth.