IP Library Granted Patent US 11,200,255
Granted Patent B2
US 11,200,255 · App. 16/548,191 · Granted Dec 14, 2021

Robust data synchronization solution between databases

Inventors: Daniel Rodrigo Da Paz Pontes (Porto Alegre, BR); Deepak Kaushal (Roseland, NJ); Zhitao Xu (Roseland, NJ); Muhammad Nuri (Roseland, NJ); Eliezer Madeira de Campos (Porto Alegre, BR); Lili Zhang (Roseland, NJ); Kushal Gohil (Roseland, NJ); Srilatha Usike (Roseland, NJ); Supraja Kanapala (Roseland, NJ); Jayesh Patel (Roseland, NJ); Manish Patel (Roseland, NJ); Tushar Phondge (Roseland, NJ); Vincent Civetta (Roseland, NJ); Frank Villavicencio (Roseland, NJ)
Assignee: ADP, LLC
G06F16/273G06F16/2365G06F16/258
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 11,200,255
App. No.
16/548,191
Granted
Dec 14, 2021
Kind
B2
Abstract

Synchronizing data across databases comprising generating a synchronization event in response to a change in source data in a source database. The synchronization event is published as a message in a source database internal queue. The message is then published in a message broker. Sink data in a sink database is synchronized according to the message in the message broker to match the change in source data in the source database.

Claims (37)

1. A computer-implement method of synchronizing data across databases, the method comprising:

generating, by a number of processors, a synchronization event in response to a change in source data in a source database;

publishing, by the number of processors, the synchronization event as a message in a source database internal queue;

publishing, by the number of processors, the message in a message broker, wherein the message published in the source database internal queue in a first data format is converted to a second data format by a synchronization reactor before pushing the message to the message broker; and

synchronizing, by the number of processors, sink data in a sink database according to the message in the message broker to match the change in source data in the source database.

2. The method of claim 1 , wherein data is synchronized between the source database and sink database in real time as data changes occur.

3. The method of claim 1 , wherein data in the source database and sink database are correlated by Universal Unique Identifiers (UUIDs).

4. The method of claim 1 , further comprising dividing, by the number of processors, source data in the source database into domains that match a data model of the sink database.

5. The method of claim 1 , wherein the message is published in the source database internal queue in a first data format and published in the message broker in a second data format.

6. The method of claim 1 , wherein the synchronization reactor consumes the message from the source database internal queue and pushes the message to the message broker.

7. The method of claim 1 , wherein a domain reactor consumes the message from the message broker and updates sink data in the sink database.

8. A system for synchronizing data across databases, the system comprising:

a number of bus systems;

a number of storage device connected to the number of bus systems, wherein the number of storage devices store program instructions; and

a number of processors connected to the number of bus systems, wherein the number of processors execute the program instructions to:

generate a synchronization event in response to a change in source data in a source database;

publish the synchronization event as a message in a source database internal queue;

publish the message in a message broker, wherein the message published in the source database internal queue in a first data format is converted to a second data format by a synchronization reactor before pushing the message to the message broker; and

synchronize sink data in a sink database according to the message in the message broker to match the change in source data in the source database.

9. The system of claim 8 , wherein data is synchronized between the source database and sink database in real time as data changes occur.

10. The system of claim 8 , wherein data in the source database and sink database are correlated by Universal Unique Identifiers (UUIDs).

11. The system of claim 8 , wherein the number of processors further execute program instructions to divide source data in the source database into domains that match a data model of the sink database.

12. The system of claim 8 , wherein the message is published in the source database internal queue in a first data format and published in the message broker in a second data format.

13. The system of claim 8 , wherein the synchronization reactor consumes the message from the source database internal queue and pushes the message to the message broker.

14. The system of claim 8 , wherein a domain reactor consumes the message from the message broker and updates sink data in the sink database.

15. A computer program product for synchronizing data across databases, the computer program product comprising:

a number of non-volatile computer readable storage media having program instructions embodied therewith, the program instructions executable by a number of processors to cause a number of computers to perform the steps of:

generating a synchronization event in response to a change in source data in a source database;

publishing the synchronization event as a message in a source database internal queue;

publishing the message in a message broker, wherein the message published in the source database internal queue in a first data format is converted to a second data format by a synchronization reactor before pushing the message to the message broker; and

synchronizing sink data in a sink database according to the message in the message broker to match the change in source data in the source database.

16. The computer program product of claim 15 , wherein data is synchronized between the source database and sink database in real time as data changes occur.

17. The computer program product of claim 15 , wherein data in the source database and sink database are correlated by Universal Unique Identifiers (UUIDs).

18. The computer program product of claim 15 , further comprising instructions for dividing source data in the source database into domains that match a data model of the sink database.

19. The computer program product of claim 15 , wherein the message is published in the source database internal queue in a first data format and published in the message broker in a second data format.

20. The computer program product of claim 15 , wherein the synchronization reactor consumes the message from the source database internal queue and pushes the message to the message broker.

21. The computer program product of claim 15 , wherein a domain reactor consumes the message from the message broker and updates sink data in the sink database.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2019
From: DA PAZ PONTES, DANIEL RODRIGO; KAUSHAL, DEEPAK; XU, ZHITAO; NURI, MUHAMMAD; MADEIRA DE CAMPOS, ELIEZER; ZHANG, LILI; GOHIL, KUSHAL; USIKE, SRILATHA; KANAPALA, SUPRAJA; PATEL, JAYESH; PATEL, MANISH; PHONDGE, TUSHAR; CIVETTA, VINCENT; VILLAVICENCIO, FRANK
To: ADP, LLC
Reel/Frame 050136/0078 →