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.
Claims18
A method for distributing and reconstructing data, comprising:
- dividing, at a first time instance, a set of data at a user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;
- transmitting the at least first portion to a first remote storage service provider;
- transmitting the at least second portion to a second remote storage service provider;
- retrieving at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider;
- and
- reconstructing the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;
- 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 into at least three different portions, each of the at least three different portions being 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 two or more different storage service providers.
A system comprising:
- a plurality of processor-based remote storage service providers, each including a respective storage device;
- and
- a user terminal comprising a processor-based device coupled to a local storage device, the user terminal configured to:
- divide, at a first time instance, a set of data stored at the local storage device at the user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;
- transmit the at least first portion to a first remote storage service provider from the plurality of processor-based remote storage service providers;
- transmit the at least second portion to a second remote storage service provider from the plurality of processor-based remote storage service providers;
- retrieve at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider;
- and
- reconstruct the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;
- wherein the user terminal configured to divide the set of data into at least the first portion and at least the second portion is configured to:
- divide the set of data into at least three different portions, each of the at least three different portions being 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 two or more different storage service providers.
A non-transitory computer readable media programmed with instructions, executable on one or more processors of a computing system, to:
- divide, at a first time instance, a set of data at a user terminal into at least a first portion and at least a second portion according to confidential division information maintained at the user terminal;
- transmit the at least first portion to a first remote storage service provider;
- transmit the at least second portion to a second remote storage service provider;
- retrieve at a second time instance, later than the first time instance, at the user terminal the at least first portion from the first remote storage service provider and the at least second portion from the second remote storage service provider;
- and
- reconstruct the set of data from the retrieved at least first portion and the at least second portion according to the confidential division information maintained at the user terminal;
- wherein the instructions to divide the set of data into the at least the first portion and the at least the second portion include one or more instructions, executable on the one or more processors of the computing system, to:
- divide the set of data into at least three different portions, each of the at least three different portions being 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 two or more different storage service providers.
Dependencies are inferred from the claim text.