IP Library › Granted Patent US 10,789,274
Granted Patent B2
US 10,789,274 · App. 15/907,233 · Granted Sep 29, 2020

Replicating data in a multi-cloud environment

Inventors: Benjamin Lautenschlaeger (Neuhofen, DE); Florian Trossbach (Neustadt, DE)
Assignee: SAP SE
G06F16/278G06F16/2219G06F16/2322G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,789,274
App. No.
15/907,233
Granted
Sep 29, 2020
Kind
B2
Abstract

Methods and system are disclosed that replicate data between source databases and destination databases. In one aspect, the source databases and the destination databases may be deployed in multiple cloud computing environments. The mechanism for replicating data from a source database to a destination database may include receiving a request to replicate data. Based on multiple identifiers associated with data, a coordinator component may determine the data to be replicated. Based on the determination, the coordinator component may generate multiple replicator requests. The replicator requests may be sent to a replicator component by a processor component. The replicator component may execute the replicator requests to replicate the data from the source database to the destination database.

Claims (49)

1. A computer system to replicate data between multiple cloud computing environments, comprising:

at least one processor; and

one or more memory devices communicatively coupled with the at least one processor and storing instructions related to:

upon establishing a connection between at least one source database and one or more destination databases, receive a request to replicate data from the at least one source database to the one or more destination databases;

based on one or more identifiers associated with the data, determining the data to be replicated from the at least one source database to one or more destination databases;

based on timestamp information associated with the data to be replicated, partitioning the data to be replicated into one or more time intervals, wherein a number of time intervals and a size of each time interval is defined and modified by a coordinator component;

based on the determination, generating one or more replicator requests for replicating the data from the at least one source database to one or more destination databases, wherein the one or more replicator requests includes information associated with one or more time intervals from a plurality of time intervals and one or more identifiers associated with the data stored in the at least one source database;

sending the one or more replicator requests to a replicator component; and

executing, by the replicator component, the one or more replicator requests to replicate the data from the at least one source database to one or more destination databases.

2. The computer system of claim 1 , further comprising processing the one or more replicator requests, the processing comprising:

determining the one or more time intervals associated with the one or replicator requests;

serializing the data corresponding to the one or more time intervals; and

compressing the data into one or more binary large objects including the one or more replicator requests and a corresponding metadata information.

3. The computer system of claim 2 , further comprising sending the one or more binary large objects to the replicator component.

4. The computer system of claim 3 , further comprising:

de-serializing, by the replicator component, the one or more binary large objects; and

generating one or more sequel statements based on the corresponding metadata information for the one or more replicator requests.

5. The computer system of claim 4 , wherein, in response to the execution of the one or more sequel statements, sending a corresponding one or more acknowledgements indicating a success or a failure of the execution of the replicator requests.

6. A non-transitory computer readable storage medium tangibly storing instructions, which when executed by a computer, cause the computer to execute operations, comprising:

upon establishing a connection between at least one source database and one or more destination databases, receive a request to replicate data from the at least one source database to the one or more destination databases;

based on one or more identifiers associated with the data, determining the data to be replicated from the at least one source database to one or more destination databases;

based on timestamp information associated with the data to be replicated, partitioning the data to be replicated into one or more time intervals, wherein a number of time intervals and a size of each time interval is defined and modified by a coordinator component;

based on the determination, generating one or more replicator requests for replicating the data from the at least one source database to one or more destination databases, wherein the one or more replicator requests includes information associated with one or more time intervals from a plurality of time intervals and one or more identifiers associated with the data stored in the at least one source database;

sending the one or more replicator requests to a replicator component; and

executing, by the replicator component, the one or more replicator requests to replicate the data from the at least one source database to one or more destination databases.

7. The non-transitory computer readable storage medium of claim 6 , further comprising processing the one or more replicator requests, the processing comprising:

determining the one or more time intervals associated with the one or replicator requests;

serializing the data corresponding to the one or more time intervals; and

compressing the data into one or more binary large objects including the one or more replicator requests and a corresponding metadata information.

8. The non-transitory computer readable storage medium of claim 7 , further comprising sending the one or more binary large objects to the replicator component.

9. The non-transitory computer readable storage medium of claim 8 , further comprising:

de-serializing, by the replicator component, the one or more binary large objects by the replicator component; and

generating one or more sequel statements based on the corresponding metadata information for the one or more replicator requests.

10. The non-transitory computer readable storage medium of claim 9 , wherein, in response to the execution of the one or more sequel statements, sending a corresponding one or more acknowledgements indicating a success or a failure of the execution of the replicator requests.

11. A computer implemented method to replicate data between multiple cloud computing environments, comprising:

upon establishing a connection between at least one source database and one or more destination databases, receiving a request to replicate data from the at least one source database to the one or more destination databases;

based on one or more identifiers associated with the data, determining the data to be replicated from the at least one source database to one or more destination databases;

based on a timestamp information associated with the data to be replicated, partitioning the data to be replicated into one or more time intervals, wherein a number of time intervals and a size of each time interval is defined and modified by a coordinator component;

based on the determination, generating one or more replicator requests for replicating the data from the at least one source database to one or more destination databases, wherein the one or more replicator requests includes information associated with one or more time intervals from a plurality of time intervals and one or more identifiers associated with the data stored in the at least one source database;

sending the one or more replicator requests to a replicator component; and

executing the one or more replicator requests to replicate the data from the at least one source database to one or more destination databases.

12. The computer implemented method of claim 11 , further comprising processing the one or more replicator requests comprising:

determining the one or more time intervals associated with the one or replicator requests;

serializing the data corresponding to the one or more time intervals; and

compressing the data into one or more binary large objects including the one or more replicator requests and a corresponding metadata information.

13. The computer implemented method claim 12 , further comprising sending the one or more binary large objects.

14. The computer implemented method of claim 13 , further comprising:

de-serializing the one or more binary large objects; and

generating one or more sequel statements based on the corresponding metadata information for the one or more replicator requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2018
From: LAUTENSCHLAEGER, BENJAMIN; TROSSBACH, FLORIAN
To: SAP SE
Reel/Frame 045291/0694 →
Continuity (1)
Related Publication 20190266277A1 · Aug 29, 2019