Data repository and method for promoting network storage of data
First Claim
1. A method 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, the method comprising:
- 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.
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
153 Claims
-
1. A method 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, the method comprising:
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 114, 125, 126, 127)
-
-
68. A method 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, the method comprising:
-
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. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153)
-
-
98. A method 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, the method comprising:
-
determining a digital fingerprint of the data item;
storing the data item on the storage device at a location or locations associated with the digital fingerprint;
associating the data item with each of a plurality of access-authorization credentials, each of which is uniquely associated with an access owner; and
preparing a digital time stamp of a plurality of records associating data-items and credentials, to allow a property of these records to be proven at a later date. - View Dependent Claims (99, 100)
-
-
101. A method for quantifying the degree of uniqueness of an indicated data item in a repository of data items stored on a storage device at locations associated with their digital fingerprints, the method comprising:
-
creating access-authorization credentials which permit users or clients to access data-items that they have deposited; and
determining (or approximating) the number of users with access authorization credentials for the indicated data item. - View Dependent Claims (102, 103, 104, 105)
-
-
106. A method by which more than one client connected to a network stores the same data item on a storage device of a data repository connected to the network, the method comprising:
-
determining a digital fingerprint of the data item;
testing for whether a 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
associating with a data item an informational tag which may be read by at least some client programs. - View Dependent Claims (107, 108, 109, 110, 111)
-
-
112. A method by which more than one client connected to a network may store the same data item on a storage device of a data repository connected to the network, and wherein there is a public data repository and a private data repository, the method comprising:
-
determining a digital fingerprint of the data item;
testing for whether a data item is already stored in the public repository by comparing the digital fingerprint of the data item to the digital fingerprints of data items already in storage in the public repository; and
if the data item is present in the public repository, creating an access authorization credential for the public repository associating the client with the data item and relying on storage of the data item in the public repository; and
if the data item is not present in the public repository, creating an access authorization credential for the private repository and relying on storage of the data item in the private repository. - View Dependent Claims (113)
-
-
115. A method by which a client connected to a network over a lower speed connection may provide higher speed access to a data item for application processing than is possible over the relatively low speed connection to the network, the method comprising:
-
determining a digital fingerprint of the data item;
testing for whether the data item is already stored in a repository by comparing the digital fingerprint of the data item to digital fingerprints of data items already in the repository;
only if the data item is not already in the repository, transferring the data item over the lower speed connection from the client to the repository, the repository being connected to the network over a higher speed connection than the client;
making a higher speed connection between an application server and the data repository;
executing an application on the application server to process the data item stored on the data repository;
returning at least some of the processed data to the client across the lower speed connection. - View Dependent Claims (116)
-
-
117. A method by which multiple clients browse content on a network such as the Internet, the method comprising:
-
each of the multiple clients accessing content on the network via one or more proxy servers;
determining the digital fingerprint of an item of content passing through the proxy server;
storing the item of content in a content repository connected to the proxy server at a location associated with the digital fingerprint;
testing for whether a content data item is already stored in the repository by comparing the digital fingerprint of the content data item to the digital fingerprints of content data items already in storage in the repository;
associating a content data item already stored in the repository with an access authorization credential uniquely associated with an access owner. - View Dependent Claims (118, 119)
-
-
120. A method by which a plurality of clients connected to a network store the same broadcast data on a storage device of a data repository connected to the network, wherein the broadcast data comprises a sequence of frames or other fragments, the method comprising:
-
determining a digital fingerprint of each fragment;
testing for whether the fragment is already stored in the repository by comparing a digital fingerprint of the fragment to digital fingerprints of fragments and other data items already in storage in the repository;
having only the client or clients that determine that a fragment is not stored in the repository transmit the fragment to the repository;
whereby because all but one or a small number of clients will not have to transmit the fragment to effect storage of the fragment in the repository, most of the clients are able to store the broadcast data in the repository without actually transmitting a significant fraction of the data to the repository. - View Dependent Claims (121)
-
-
122. A method of encrypting a bit-string using cellular automata, comprising
dividing the bit-string into segments in which at least some bits in each segment are considered to be homologous; -
transforming disjoint groups of homologous bits by applying a state-permutation operation separately to each group; and
changing which bits are considered to be homologous and repeating the process. - View Dependent Claims (123, 124)
-
-
128. A method for selling a backup service for backing up or mirroring data on a client computer, the method comprising:
-
accepting an unlimited amount of backup or mirroring data from a plurality of client computers, and storing the data in one or more repositories to which the client computers are connected via a network, for free or at a charge substantially less than sufficient to cover the cost of operating the backup service;
charging a substantial fee, greater than the fee charged for accepting the data, for recovery of the data from the repositories. - View Dependent Claims (129, 130, 131, 132)
-
Specification