SYSTEMS AND METHODS FOR SECURE REMOTE STORAGE
First Claim
1. A method of transmitting data to at least one remote storage system, comprising:
- identifying a data set at a first device;
receiving a request to store the data set in a storage location;
generating a first plurality of shares, wherein each of the first plurality of shares contains a distribution of data from the data set;
storing at least one of the first plurality of shares in a local memory in response to receiving the request, wherein the local memory is configured for backup in the at least one remote storage system; and
transmitting, over a network link, at least one share of the first plurality of shares for storage in at least one remote storage system.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for transmitting data to at least one storage system. A request is received to store a data set in a storage location. In response, a first plurality of shares is generated, each containing a distribution of data from the data set, and at least one share is stored in a local memory configured for backup in at least one remote storage system. At least one share is transmitted to the at least one remote storage system. Systems and methods are also provided for improving data availability. In response to a restoration event, if insufficient shares of data are available to reconstruct a data set, a read instruction in a journaling message is transmitted to a remote storage system requesting an additional share. The additional share is received and stored in a local storage, and the data set is reconstructed.
210 Citations
33 Claims
-
1. A method of transmitting data to at least one remote storage system, comprising:
-
identifying a data set at a first device; receiving a request to store the data set in a storage location; generating a first plurality of shares, wherein each of the first plurality of shares contains a distribution of data from the data set; storing at least one of the first plurality of shares in a local memory in response to receiving the request, wherein the local memory is configured for backup in the at least one remote storage system; and transmitting, over a network link, at least one share of the first plurality of shares for storage in at least one remote storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of improving data availability, comprising:
-
detecting a restoration event; in response to detecting the restoration event, determining whether a sufficient number of shares of data are available to a client device to reconstruct a data set based on the available shares of data; in response to determining an insufficient number of shares are available, transmitting at least one read instruction to at least one remote storage system in a journaling message, the at least one read instruction requesting an additional share of data; receiving the requested additional share of data; storing the additional share of data in a storage local to the client device; and reconstructing the data set based at least in part on the stored additional share of data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for transmitting data to at least one remote storage system, comprising:
-
a processor; a memory accessible to the processor; and a network interface accessible to the processor; wherein the processor is configured to; identify a data set; receive a request to store the data set in a storage location; generate a first plurality of shares, wherein each of the first plurality of shares contains a distribution of data from the data set; store at least one of the first plurality of shares in the data set in the memory in response to receiving the request, wherein the memory is configured for backup in the at least one remote storage system; and transmit, through the network interface, at least one share of the first plurality of shares for storage in at least one remote storage system. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A system for improving data availability, comprising:
-
a processor configured to detect a restoration event signal; a memory accessible to the processor; and a network interface accessible to the processor; wherein the processor is configured to; in response to detecting the restoration event signal, determine whether a sufficient number of shares of data are available to a client device to reconstruct a data set based on the available shares of data; in response to determining that an insufficient number of shares are available, transmit at least one read instruction, through the network interface, to at least one remote storage system in a journaling message, the at least one read instruction requesting one or more additional shares of data; receive the requested one or more additional shares of data; store the one or more additional shares of data in the memory; and reconstruct the data set based at least in part on the stored additional share of data. - View Dependent Claims (32, 33)
-
Specification