Data repository and method for promoting network storage of data
First Claim
1. A method by which a plurality of clients connected to a network store the same broadcast data item on a storage device of a data repository connected to the network, wherein the broadcast data item comprises a sequence of fragments, the method comprising:
- constructing a broadcast data item composed of a plurality of fragments;
broadcasting fragments of the broadcast data item to a large number of broadcast recipients that are clients of the data repository;
depositing broadcasted fragments received by the broadcast recipients into the data repository, with each depositing operation initiated by a one of the broadcast recipients, the depositing comprising;
determining a digital fingerprint of a fragment;
testing for whether the fragment is already stored in the data repository by comparing the digital fingerprint of the fragment to digital fingerprints of fragments and other data items already in storage in the data repository; and
transmitting the fragment from the one of the broadcast recipients to the data repository only if it is not already stored in the data repository;
wherein at least some of the broadcast recipients randomize the order in which they deposit broadcasted fragments into the data repository;
whereby because only one of the broadcast recipients has to transmit each of the fragments to effect storage of all of the plurality of fragments in the repository, most of the broadcast recipients are able to store the broadcast data item without individually transmitting a significant fraction of the plurality of fragments to the repository.
4 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
5 Claims
-
1. A method by which a plurality of clients connected to a network store the same broadcast data item on a storage device of a data repository connected to the network, wherein the broadcast data item comprises a sequence of fragments, the method comprising:
-
constructing a broadcast data item composed of a plurality of fragments; broadcasting fragments of the broadcast data item to a large number of broadcast recipients that are clients of the data repository; depositing broadcasted fragments received by the broadcast recipients into the data repository, with each depositing operation initiated by a one of the broadcast recipients, the depositing comprising; determining a digital fingerprint of a fragment; testing for whether the fragment is already stored in the data repository by comparing the digital fingerprint of the fragment to digital fingerprints of fragments and other data items already in storage in the data repository; and transmitting the fragment from the one of the broadcast recipients to the data repository only if it is not already stored in the data repository; wherein at least some of the broadcast recipients randomize the order in which they deposit broadcasted fragments into the data repository; whereby because only one of the broadcast recipients has to transmit each of the fragments to effect storage of all of the plurality of fragments in the repository, most of the broadcast recipients are able to store the broadcast data item without individually transmitting a significant fraction of the plurality of fragments to the repository. - View Dependent Claims (2, 3, 4, 5)
-
Specification