Systems and methods for secure remote storage
First Claim
1. A computer-implemented 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 comprising a first remote storage system and a second remote storage system;
generating at least one first computer instruction that is recognizable by the first remote storage system as an instruction to store a first portion of the first plurality of shares and generating at least one second computer instruction that is recognizable by the second remote storage system as an instruction to store a second portion of the first plurality of shares, wherein the first portion is stored in a first local memory area and the second portion is stored in a second local memory area, the first local memory area configured for backup in the first remote storage system and the second local memory area configured for backup in the second remote storage system; and
transmitting, over a network, at least one share of the first plurality of shares for storage in the 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.
-
Citations
18 Claims
-
1. A computer-implemented 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 comprising a first remote storage system and a second remote storage system; generating at least one first computer instruction that is recognizable by the first remote storage system as an instruction to store a first portion of the first plurality of shares and generating at least one second computer instruction that is recognizable by the second remote storage system as an instruction to store a second portion of the first plurality of shares, wherein the first portion is stored in a first local memory area and the second portion is stored in a second local memory area, the first local memory area configured for backup in the first remote storage system and the second local memory area configured for backup in the second remote storage system; and transmitting, over a network, at least one share of the first plurality of shares for storage in the at least one remote storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 comprising a first remote storage system and a second remote storage system; generate at least one first computer instruction that is recognizable by the first remote storage system as an instruction to store a first portion of the first plurality of shares and generate at least one second computer instruction that is recognizable by the second remote storage system as an instruction to store a second portion of the first plurality of shares, wherein the first portion is stored in a first local memory area and the second portion is stored in a second local memory area, the first local memory area configured for backup in the first remote storage system and the second local memory area configured for backup in the second remote storage system; and transmit, through the network interface, at least one share of the first plurality of shares for storage in the at least one remote storage system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification