Patent ID: 7412462

Claim:
A method by which a plurality of client programs connected to a network deposit data items into a data repository connected to the network and avoid repeated storage of duplicated data items, the method comprising: depositing a data item in the data repository for a depositing client program, the depositing including determining a digital fingerprint from the data item using a hash function that produces digital fingerprints having a pseudorandom distribution; comparing the determined digital fingerprint from the deposited data item to digital fingerprints of data items already stored in the data repository; establishing from the comparing of digital fingerprints, without comparing the entire contents of the deposited data item to the entire contents of a data item already stored, whether a stored data item is identical to the deposited data item; and storing the deposited data item in the data repository if the deposited data item is not identical with any stored data item; wherein the stored data item is associated with a named object and an access authorization credential which is uniquely associated with a depositing client program or with a data repository user; wherein the access authorization credential is associated with the named object which comprises a digital fingerprint; wherein the named object is stored in a database; wherein the stored data item, in response to a request by a retrieving client program, is retrieved by using the access authorization credential to select the stored named object; retrieving the stored named object from the database; and using the digital fingerprint from the retrieved named object to return the stored data item; wherein the physical location or locations at which the stored data item is stored in the data repository are determined at least in part by the digital fingerprint.