Distributed cloud file storage
AssigneePryon Incorporated
InventorsChris Timothy Seltzer, Igor Jablokov
Life of this patent
Estimating the term…
Abstract
Distributed cloud-based data storage divides a file for storage into a number of portions that are separately stored with two or more storage service providers. The division and/or transmission of the file may be implemented based on arbitrary criteria, including random selection, an applied storage policy or assignment of a given portion to a corresponding storage service provider as examples. One or more portions of the file may be assembled into an upload file that is transmitted to and received from a storage provider. The portions of the file received from the storage provider may be used to reconstruct the file.
Claims21
A method for storing distributed data, comprising:
- dividing a set of data into at least a first portion and at least a second portion;
- transmitting the at least first portion to a first storage service provider;
- and
- transmitting the at least second portion to a second storage service provider;
- wherein dividing the set of data into the at least the first portion and the at least the second portion comprises:
- dividing the set of data at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;
- and wherein each of the at least three different portions is smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of the two or more different storage service providers.
A method for retrieving distributed data, comprising:
- receiving a first file from a first storage service provider, the first file previously assembled, at least partly, from a data portion formed from dividing a set of data at a remote terminal to multiple data portions, and with the first file previously uploaded to the first storage service provider;
- receiving a second file from a second storage service provider, with the second file previously assembled, at least partly, from another data portion formed from dividing the set of data at the remote terminal, and with the second file previously uploaded to the second storage service provider;
- extracting a first portion of a data set from the first file;
- extracting a second portion of the data set from the second file;
- and
- reconstructing the data set using the first portion and the second portion;
- wherein dividing the set of data at the remote terminal into the multiple data portions comprises:
- dividing the set of data at the remote terminal into at least three different portions according to a confidential division technique recorded at the remote terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of at the least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;
- and wherein each of the at least three different portions is smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of the two or more different storage service providers.
A non-transitory machine-readable storage medium comprising machine-readable instructions configured to be executed by a machine to cause the machine to:
- divide a set of data into at least a first portion and at least a second portion;
- transmit the at least first portion to a first storage service provider;
- transmit the at least second portion to a second storage service provider;
- receive the at least first portion from the first storage service provider;
- receive the at least second portion from the second storage service provider;
- and
- reconstruct the set of data using the first portion and the second portion;
- wherein the instructions to cause the machine to divide the set of data into the at least the first portion and the at least the second portion comprise one or more instructions to cause the machine to:
- divide the set of data at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;
- and wherein each of the at least three different portions is smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of the two or more different storage service providers.
A method for implementing a storage policy in a distributed storage arrangement, comprising:
- configuring parameters of the storage policy for storage of a file;
- receiving an indicia to apply the storage policy to the file;
- dividing the file into at least a first portion and at least a second portion in accordance with the storage policy;
- and
- transmitting the at least first portion or the at least second portion to a storage service provider in accordance with the storage policy;
- wherein dividing the file into the at least the first portion and the at least the second portion in accordance with the storage policy comprises:
- dividing the set of data at a user terminal into at least three different portions according to a confidential division technique recorded at the user terminal, wherein the confidential division technique specifies a sequence for assigning different parts of the set of data to each of the at least three different portions, and additionally specifies two or more different storage service providers to respectively send the at least three different portions;
- and wherein each of the at least three different portions is smaller than the set of data, with each portion including redundant data corresponding to data included in at least another one of the at least three different portions such that complete reconstruction of the set of data is achieved with fewer than the at least three different portions retrieved from respective ones of the two or more different storage service providers.
Dependencies are inferred from the claim text.