Data replication protocol
First Claim
Patent Images
1. A method for replicating data over a network, the method comprising the steps of:
- (a) before the replication is to be done, determining whether the replication should be accomplished in a one or two phase method based on setup information;
(b) if the replication is determined to be accomplished in a one phase method, sending replication information determined to be accomplished in a one phase method by;
sending a packet of information from the master server to the slave server, the information relating to a change in data stored on the master server and containing a version number for a present state of the data;
thereafter, receiving the packet of information to a slave server;
thereafter, allowing the slave server to determine whether the data on the slave server has been updated to correspond to the version number; and
thereafter, requesting a delta be sent from the master server to the slave server if the slave server does not correspond to the version number, the delta containing information needed to update the slave server;
(c) if the replication is determined to be accomplished in a two phase method, sending replication information determined to be accomplished in a two phase method by;
sending a packet of update information from the master server to the slave server, the information relating to a change in the data stored on the master server and containing a version number for the present state of the data;
thereafter, allowing the slave server to determine whether the slave server has been updated to correspond to the version number, and to further determine whether the slave server can process the packet of update information;
thereafter, sending a signal from the slave server to the master server indicating whether the slave server needs to be updated and whether the slave server can process the packet of update information;
thereafter, sending a response signal from the master server to the slave server indicating whether the slave server should commit to the packet of update information; and
thereafter, committing the packet of update information to the slave server if so indicated by the response signal;
wherein the update information is committed to all the slaves if all the slaves are able to commit the update information and the update information is not committed to any slave, if any slave is not able to commit the update information.
2 Assignments
0 Petitions
Accused Products
Abstract
Data can be replicated over a network using a one or two phase method. For the one phase method, a master server containing an original copy of the data sends a version number for the current state of the data to each slave on the network so that each slave can request a delta from the master. The delta that is requested contains the data necessary to update the slave to the appropriate version of the data. For the two phase method, the master server sends a packet of information to each slave. The packet of information can be committed by the slaves if each slave is able to process the commit.
147 Citations
6 Claims
-
1. A method for replicating data over a network, the method comprising the steps of:
-
(a) before the replication is to be done, determining whether the replication should be accomplished in a one or two phase method based on setup information; (b) if the replication is determined to be accomplished in a one phase method, sending replication information determined to be accomplished in a one phase method by; sending a packet of information from the master server to the slave server, the information relating to a change in data stored on the master server and containing a version number for a present state of the data; thereafter, receiving the packet of information to a slave server; thereafter, allowing the slave server to determine whether the data on the slave server has been updated to correspond to the version number; and thereafter, requesting a delta be sent from the master server to the slave server if the slave server does not correspond to the version number, the delta containing information needed to update the slave server; (c) if the replication is determined to be accomplished in a two phase method, sending replication information determined to be accomplished in a two phase method by; sending a packet of update information from the master server to the slave server, the information relating to a change in the data stored on the master server and containing a version number for the present state of the data; thereafter, allowing the slave server to determine whether the slave server has been updated to correspond to the version number, and to further determine whether the slave server can process the packet of update information; thereafter, sending a signal from the slave server to the master server indicating whether the slave server needs to be updated and whether the slave server can process the packet of update information; thereafter, sending a response signal from the master server to the slave server indicating whether the slave server should commit to the packet of update information; and thereafter, committing the packet of update information to the slave server if so indicated by the response signal; wherein the update information is committed to all the slaves if all the slaves are able to commit the update information and the update information is not committed to any slave, if any slave is not able to commit the update information. - View Dependent Claims (2)
-
-
3. A method for replicating data over a network, the method comprising the steps of:
-
(a) before the replication is to be done, determining whether replication should be accomplished in a one or two phase method based on setup information; (b) if the replication is determined to be accomplished in a one phase method, sending data to be replicated in a one phase method by; sending a version number for a current state of the data from a master server to a slave server; thereafter, requesting a delta be sent from the master server to the slave server if the data on the slave server does not correspond to the version number; and (c) if the replication is determined to be accomplished in a two phase method, sending data to be replicated in a two phase method by; sending a packet of update information from the master server to a slave server; thereafter, determining whether the slave server can process the packet of update information; and thereafter, committing the packet of update information to the slave server if the slave server can process the packet of update information; wherein the update information is committed to all the slaves if all the slaves are able to commit the update information and the update information is not committed to any slave, if any slave is not able to commit the update information. - View Dependent Claims (4)
-
-
5. A method for replicating data from a master to a plurality of slaves on a network, the method comprising the steps of:
-
(a) before the replication is to be done, determining whether replication should be accomplished in a one or two phase method based on setup information; (b) if the replication is determined to be accomplished in a one phase method, sending data to be replicated in a one phase method by; sending a version number for a current state of the data from the master to each slave; and thereafter, requesting a delta be sent from the master to each slave containing data that does not correspond to the version number; (c) if the replication is determined to be accomplished in a two phase method, sending data to be replicated in a two phase method by; sending a packet update of information from the master to each slave; and thereafter, committing the packet of update information to the slaves if each of the plurality of slaves can process the packet of update information; wherein the update information is committed to all the slaves if all the slaves are able to commit the update information and the update information is not committed to any slave, if any slave is not able to commit the update information. - View Dependent Claims (6)
-
Specification