Method and apparatus for replicating data across multiple data centers
First Claim
1. A replication framework comprising a plurality of data centers, a replication client and replicator service, wherein the replication framework comprises processing circuitry configured to:
- receive at least one revised data element from a first data center of the plurality of data centers at the replication client;
retrieve a first version identification of a first existing data element stored in the first data center corresponding to the revised data element,cause the revised data element to be stored at the first data center, replacing the corresponding first existing data element;
generate a replication event comprising the revised data element and the first version identification of the first existing data element;
receive, at the replicator service, the replication event;
publish, by the replicator service, the replication event to one or more subscribing data centers of the plurality of data centers including a second data center;
cause the second data center to retrieve a second version identification of a second existing data element stored in the second data center corresponding to the revised data element;
cause the second data center to store the revised data element, replacing the second existing data element stored therein in response to the second version identification of the second existing data element matching the first version identification of the first existing data element; and
cause the second data center to not store the revised data element in response to the second version identification of the second existing data element not matching the first version identification of the first existing data element.
10 Assignments
0 Petitions
Accused Products
Abstract
A method, computing device and computer program product are provided according to an example embodiment in order to replicate data, and more particularly, to replicate data between data centers while ensuring data consistency, where all participating data centers have both read and write capabilities for the data stored among them. According to an example embodiment, a replication framework including a replication client and replicator service, may include processing circuitry configured to: receive at least one revised data element at the replication client; retrieve a first version identification of a first existing data element stored in a first data center corresponding to the revised data element; cause the revised data element to be stored at a first data center, replacing the corresponding first existing data element; generate a replication event including the revised data element and the version identification; and receive, at the replicator service, the replication event.
6 Citations
20 Claims
-
1. A replication framework comprising a plurality of data centers, a replication client and replicator service, wherein the replication framework comprises processing circuitry configured to:
-
receive at least one revised data element from a first data center of the plurality of data centers at the replication client; retrieve a first version identification of a first existing data element stored in the first data center corresponding to the revised data element, cause the revised data element to be stored at the first data center, replacing the corresponding first existing data element; generate a replication event comprising the revised data element and the first version identification of the first existing data element; receive, at the replicator service, the replication event; publish, by the replicator service, the replication event to one or more subscribing data centers of the plurality of data centers including a second data center; cause the second data center to retrieve a second version identification of a second existing data element stored in the second data center corresponding to the revised data element; cause the second data center to store the revised data element, replacing the second existing data element stored therein in response to the second version identification of the second existing data element matching the first version identification of the first existing data element; and cause the second data center to not store the revised data element in response to the second version identification of the second existing data element not matching the first version identification of the first existing data element. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving at least one revised data element at a replication client; retrieving a first version identification of a first existing data element stored in a first data center corresponding to the revised data element, causing the revised data element to be stored at the first data center, replacing the corresponding first existing data element; generating a replication event comprising the revised data element and the first version identification of the first existing data element; receiving, at a replicator service, the replication event; publishing, by the replicator service, the replication event to one or more subscribing data centers including a second data center; causing the second data center to retrieve a second version identification of a second existing data element stored in the second data center corresponding to the revised data element; causing the second data center to store the revised data element, replacing the second existing data element stored therein in response to the second version identification of the second existing data element matching the first version identification of the first existing data element; and causing the second data center to not store the revised data element in response to the second version identification of the second existing data element not matching the first version identification of the first existing data element. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a non-transitory computer readable storage medium having program code portions stored thereon, the program code portions configured, upon execution, to:
-
receive at least one revised data element at a replication client; retrieve a first version identification of a first existing data element stored in a first data center corresponding to the revised data element, cause the revised data element to be stored at the first data center, replacing the corresponding first existing data element; generate a replication event comprising the revised data element and the first version identification of the first existing data element; receive, at a replicator service, the replication event; publish, by the replicator service, the replication event to one or more subscribing data centers including a second data center; cause the second data center to retrieve a second version identification of a second existing data element stored in the second data center corresponding to the revised data element; cause the second data center to store the revised data element, replacing the second existing data element stored therein in response to the second version identification of the second existing data element matching the first version identification of the first existing data element; and cause the second data center to not store the revised data element in response to the second version identification of the second existing data element not matching the first version identification of the first existing data element. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification