Patent ID: 7734595

Claim:
A method for communicating information between clients of a data repository that have independently deposited data items with identical content, the method comprising: depositing a plurality of data items into the data repository in response to requests by a plurality of client programs, with deposits of data items that have identical content identified by the data repository and this identification used to conserve storage space; depositing a first data item in the data repository in response to a request by a first client program to deposit the first data item, the depositing of the first data item comprising: ensuring that a stored data item identical to the first data item exists in the data respository, and creating a first credential that allows the first client program to retrieve the stored data item in the future; assigning an expiration time to the stored data item, before which time both modification and deletion are prohibited; storing an informational tag associated with the stored data item, in response to a request by the first client program to tag the first data item with specified information; independently depositing a second data item in the data repository, which is identical in content to the first data item, in response to a request by a second client program to deposit the second data item, the depositing of the second data item comprising: discovering that the second data item is identical to the stored data item, and creating a second credential that allows the second client program to retrieve the stored data item in the future; and retrieving the informational tag stored by the first client program, in response to a request by the second client program to retrieve informational tags that are associated with the stored data item; wherein the first client program and the second client program are independent programs that do not communicate directly with each other; wherein the first client program and the second client program each separately communicate with the data repository; wherein the retrieving step communicates the specified information to the second client program; wherein the data repository does not restrict which types of content can be tagged; and wherein the content and purpose of the informational tag stored by the first client program are defined by a user of the data repository who is associated with the first client program.