In general, the invention features methods by which more than one client program connected to a network stores the same data item on a storage device of a data repository connected to the network. In one aspect, the method comprises encrypting the data item using a key derived from the content of the data item, determining a digital fingerprint of the data item, and storing the data item on the storage device at a location or locations associated with the digital fingerprint. In a second aspect, the method comprises determining a digital fingerprint of the data item, testing for whether the data item is already stored in the repository by comparing the digital fingerprint of the data item to the digital fingerprints of data items already in storage in the repository, and challenging a client that is attempting to deposit a data item already stored in the repository, to ascertain that the client has the full data item.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a divisional application of and claims priority to U.S. application Ser. No. 09/785,535, filed on Feb. 16, 2001, which claims priority from U.S. Provisional Application Ser. No. 60/183,466, filed Feb. 18, 2000.