DATA REPLICATION FROM A CLOUD-BASED STORAGE RESOURCE
First Claim
1. A method for replicating data records stored in a cloud-based storage resource at a local computing device, the method comprising:
- receiving a read state counter index from the local computing device;
identifying, with reference to a journal, a plurality of journal records, each of which (a) is associated with a counter index that forms a sequence starting with the read state counter index, and (b) corresponds to a data record stored in the cloud-based storage resource;
identifying an unavailable journal record that interrupts the sequence and that is associated with an unavailable counter index;
transmitting a plurality of data records to the local computing device, wherein the transmitted plurality of data records correspond to the identified plurality of journal records; and
transmitting the unavailable counter index to the local computing device.
3 Assignments
0 Petitions
Accused Products
Abstract
A local computing device replicates data stored in a cloud-based storage resource in a way that is substantially transparent to end users. A counter generation module provides a source for sequentially increasing counter indices, each of which is associated with a creation timestamp. When a data record managed by the cloud-based storage resource is created, updated or deleted, an address of the modified data record is recorded in a journal, along with unique counter index and timestamp values. Later, when data records stored in the cloud-based storage resource are to be replicated at the local computing device, data records corresponding to the sequential counter indices listed in the journal are sent to the local computing device. Only those data records which correspond to blocks of uninterrupted sequential counter indices are transmitted to the local computing device, thereby ensuring consistency of the replicated data.
-
Citations
20 Claims
-
1. A method for replicating data records stored in a cloud-based storage resource at a local computing device, the method comprising:
-
receiving a read state counter index from the local computing device; identifying, with reference to a journal, a plurality of journal records, each of which (a) is associated with a counter index that forms a sequence starting with the read state counter index, and (b) corresponds to a data record stored in the cloud-based storage resource; identifying an unavailable journal record that interrupts the sequence and that is associated with an unavailable counter index; transmitting a plurality of data records to the local computing device, wherein the transmitted plurality of data records correspond to the identified plurality of journal records; and transmitting the unavailable counter index to the local computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data replication system comprising:
-
a counter generation module comprising a log entry that correlates a user, a counter index, and a creation timestamp; and a cloud storage gateway that comprises a plurality of cloud storage devices that form a cloud storage resource, and that collectively store a plurality of data records, a journal that comprises a plurality of journal records, each of which correlates (a) a network address that identifies where a particular data record is stored in the cloud storage resource with (b) a particular counter index associated with a particular operation having been performed on the particular data record, and a cloud storage administration module configured to generate a list of journal records that corresponds to a plurality of operations recorded in the journal, the list comprising a continuous sequence of counter indices that terminates before the counter index included in the counter generation module log entry. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer program product that, when executed by one or more processors, causes a data storage process to be carried out, the data storage process comprising:
-
receiving new data to be stored in a cloud-based storage resource; in response to receiving the new data, generating a new journal record that comprises a new counter index and a timestamp, wherein the new counter index is extracted from a user-specific log maintained by a counter generation module; saving an incremented counter index in the user-specific log; and saving the new data in the cloud-based storage resource at a location identified by a network address; wherein the new journal record correlates the new counter index with the network address, and wherein the new counter index is a sequential addition to an existing plurality of counter indices stored in a corresponding plurality of existing journal records that collectively represent a sequence of data modification operations performed on data stored in the cloud-based storage resource. - View Dependent Claims (18, 19, 20)
-
Specification