Replication horizon determination with an independent distributed database system
First Claim
Patent Images
1. A method for monitoring data replication in a database system having an originating site and a plurality of target sites, the method comprising:
- replicating, by one or more computer processors, data changes detected at the originating site to one or more of the plurality of target sites, the detected data changes including one or more data changes made since a last replication cycle, the originating site and the one or more of the plurality of target sites each performing local database updates and each including a synchronization clock, a pulse table and an echo table;
responsive to successfully replicating the detected data changes to the one or more of the plurality of target sites, generating and sending, by the originating site using one or more computer processors, a time stamped pulse including unique identification information from the originating site to the one or more of the plurality of target sites and updating the pulse table in a database local to the originating site;
responsive to receiving the pulse, each of the one or more of the plurality of target sites updating the pulse table local to the respective target site, creating an echo and updating the echo table local to the respective target site responsive to the respective target site creating the echo, the echo responding to the pulse sent by the originating site and including the unique identification information of the pulse, an identifier of the respective target site and an echo return time stamp describing a time when the echo was created, said echo indicating that the respective target site includes the detected data changes made at the originating site before the pulse was generated and sent by the originating site;
receiving, by the originating site, the one or more echoes created by the one or more of the plurality of target sites and updating the echo table local to the originating site;
identifying, in an echo table, a set of site combinations associated with the unique identification information, each identified site combination including the originating site, one of the one or more of the plurality of target sites and the echo return timestamp included in the echo received from the one of the one or more of the plurality of target sites; and
determining, when the one or more of the plurality of target sites have returned an echo, a site horizon as being an earliest echo return timestamp from the set, the site horizon indicating that all data changes made at the originating site prior to a time indicated by the site horizon have been propagated in the database system.
7 Assignments
0 Petitions
Accused Products
Abstract
In a preferred embodiment of the present invention, the replication horizon and other data propagation-related information is tracked through the use of a “pulse” and “echo” approach.
48 Citations
17 Claims
-
1. A method for monitoring data replication in a database system having an originating site and a plurality of target sites, the method comprising:
-
replicating, by one or more computer processors, data changes detected at the originating site to one or more of the plurality of target sites, the detected data changes including one or more data changes made since a last replication cycle, the originating site and the one or more of the plurality of target sites each performing local database updates and each including a synchronization clock, a pulse table and an echo table; responsive to successfully replicating the detected data changes to the one or more of the plurality of target sites, generating and sending, by the originating site using one or more computer processors, a time stamped pulse including unique identification information from the originating site to the one or more of the plurality of target sites and updating the pulse table in a database local to the originating site; responsive to receiving the pulse, each of the one or more of the plurality of target sites updating the pulse table local to the respective target site, creating an echo and updating the echo table local to the respective target site responsive to the respective target site creating the echo, the echo responding to the pulse sent by the originating site and including the unique identification information of the pulse, an identifier of the respective target site and an echo return time stamp describing a time when the echo was created, said echo indicating that the respective target site includes the detected data changes made at the originating site before the pulse was generated and sent by the originating site; receiving, by the originating site, the one or more echoes created by the one or more of the plurality of target sites and updating the echo table local to the originating site; identifying, in an echo table, a set of site combinations associated with the unique identification information, each identified site combination including the originating site, one of the one or more of the plurality of target sites and the echo return timestamp included in the echo received from the one of the one or more of the plurality of target sites; and determining, when the one or more of the plurality of target sites have returned an echo, a site horizon as being an earliest echo return timestamp from the set, the site horizon indicating that all data changes made at the originating site prior to a time indicated by the site horizon have been propagated in the database system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An originating site in a database system, the database system comprising the originating site, having a computer processor, and a plurality of target sites, the originating site configured to:
-
replicate data changes detected at the originating site to one or more of the plurality of target sites, the detected data changes including one or more data changes made since a last replication cycle, the originating site and the one or more of the plurality of target sites each performing local database updates and each including a synchronization clock, a pulse table and an echo table; responsive to successfully replicating the detected data changes to the one or more of the plurality of target sites, generate and send a time stamped pulse including unique identification information from the originating site to the one or more of the plurality of target sites and updating the pulse table in a database local to the originating site, wherein responsive to receiving the pulse, each of the one or more of the plurality of target sites updates the pulse table local to the respective target site, creates an echo responding to the pulse sent by the originating site and updates the echo table local to the respective target site responsive to the echo, the echo including the unique identification information of the pulse, an identifier of the respective target site and an echo return time stamp describing a time when the echo was created, said echo indicating that the respective target site includes the detected data changes made at the originating site before the pulse was generated and sent by the originating site; receive, by the originating site, the one or more echoes created by the one or more of the plurality of target sites responsive to the pulse from the originating site and updating the echo table local to the originating site; identify, in an echo table, a set of site combinations associated with the unique identification information, each identified site combination including the originating site, one of the one or more of the plurality of target sites and the echo return timestamp included in the echo received from the one of the one or more of the plurality of target sites; and determine, when the one or more of the plurality of target sites have returned an echo, a site horizon as being an earliest echo return timestamp from the set, the site horizon indicating that all data changes made at the originating site prior to a time indicated by the site horizon have been propagated in the database system. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification