Layered architecture for data replication
First Claim
1. A system for replicating data over a network, comprising:
- a. a master server containing an original copy of the data, said master server comprising;
i. a master user layer adapted to start a data replication process by calling a start method, the master user layer further adapted to send information relating to the original copy of the data;
ii. a master service layer containing the start method and adapted to receive the call from the master user layer and the information relating to the original copy of the data, the master service layer further adapted to create and send a data replication packet containing at least some of the information relating to the original copy of the data;
b. a slave server adapted to store a copy of the data from the master server, the slave server comprising;
i. a slave service layer adapted to receive the data replication packet from the master service layer and process the data replication packet, the slave service layer further adapted to send information relating to the data replication packet; and
ii. a slave user layer adapted to receive the information relating to the data replication packet from the slave service layer, the slave user layer adapted to store the information in the data replication packet.
1 Assignment
0 Petitions
Accused Products
Abstract
Data is replicated from a master server to a slave server on a network by first sending a start call from a master user level to a master service level on the master server, the start call containing version information for data on the master server. The information is then sent to a slave service layer on a slave server so the slave server layer can determine whether data on the slave server is current. The slave server layer can request a delta from the master server if the slave data is not current. A delta containing the information necessary to update the slave data is sent from the master service layer to the slave service layer so the slave service layer can process the delta and send the updated information to the slave user layer.
155 Citations
51 Claims
-
1. A system for replicating data over a network, comprising:
-
a. a master server containing an original copy of the data, said master server comprising;
i. a master user layer adapted to start a data replication process by calling a start method, the master user layer further adapted to send information relating to the original copy of the data;
ii. a master service layer containing the start method and adapted to receive the call from the master user layer and the information relating to the original copy of the data, the master service layer further adapted to create and send a data replication packet containing at least some of the information relating to the original copy of the data;
b. a slave server adapted to store a copy of the data from the master server, the slave server comprising;
i. a slave service layer adapted to receive the data replication packet from the master service layer and process the data replication packet, the slave service layer further adapted to send information relating to the data replication packet; and
ii. a slave user layer adapted to receive the information relating to the data replication packet from the slave service layer, the slave user layer adapted to store the information in the data replication packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for replicating data from a master server to a slave server, comprising:
-
a. sending a start call from a master user level to a master service level on a master server, the start call containing information relating to the current state of master data on the master server;
b. sending the information to a slave service layer on a slave server, the slave service layer adapted to check a slave user layer on the slave server to determine whether slave data on the slave server has the current state;
c. sending a request for a delta from the slave service layer to the master service layer, the master service layer adapted to request and receive a delta from the master user layer;
d. sending a delta from the master service layer to the slave service layer, the delta containing the information necessary to bring the slave data up to the current state, the slave service layer adapted to process the delta and send the information to the slave user layer; and
e. updating the slave data using the slave user layer. - View Dependent Claims (37, 38, 39, 42, 43, 44, 45)
-
-
40. A method for replicating data from a master server to a slave server, comprising:
-
a. sending a new delta from a master user level to a master service level on a master server, the delta containing information relating to a change from the prior state to the current state in master data stored on the master server;
b. sending the new delta form the master service layer to a slave service layer on a slave server, the slave service layer adapted to check a slave user layer on the slave server to determine whether the slave data on the slave server has the current state;
c. sending a request for a syncing delta from the slave service layer to the master service layer, the master service layer adapted to request and receive a syncing delta from the master user layer, the syncing delta containing information necessary to update the slave data to the prior state of the master data;
d. sending the syncing delta from the master service layer to the slave service layer, the slave service layer adapted to process the delta and send the information to the slave user layer to be committed to the slave data; and
e. committing the information in the new delta to the slave data using the slave user layer.
-
-
41. A method for replicating data from a master server to a slave server over a network, the method comprising the steps of:
-
a. sending a version number from a master service layer to a slave service layer relating to the present state of the original copy of the data on the master server;
b. allowing a slave user layer to determine whether the data on the slave server has been updated to correspond to the version number; and
c. requesting a delta be sent from the master service layer to the slave service layer if the data on the slave server does not correspond to the version number.
-
-
46. A method for replicating data over a network including a master server and at least one slave server, the method comprising the steps of:
-
a. sending a packet of information from a master service layer to a slave service layer on each slave server on the network, the information relating to a change in the data stored on the master server and containing a prior version number for the prior state and a new version number for the new state of the data, the information further relating to previous changes in the data and a previous version number for each previous change;
b. allowing a slave user layer on each slave server to determine whether the data on the slave server corresponds to the prior version number contained in the packet;
c. allowing each slave user layer to commit the packet of information if the data on the slave server corresponds to the prior version number contained in the packet, the commit also updating the version of the slave server to the new version number; and
d. allowing each slave user layer not corresponding to the prior version number to request that a delta be sent from the master service layer to the slave service layer corresponding to that slave user layer, the delta containing the information necessary to update the slave to the prior version number before the slave service layer commits the packet of information.
-
-
47. A method for replicating data from a master server to at least one slave server over a network, the method comprising the steps of:
-
a. sending a packet of information from a master service layer on the master server to the user service layer on a 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;
b. allowing the slave user layer on the server to determine whether the slave server has been updated to correspond to the version number contained in the packet, and to further determine whether the slave user layer can process the packet of information if needed to update to correspond to the version number contained in the packet;
c. sending a signal from the slave service layer to the master service layer, the signal indicating whether the slave server needs to be updated and whether the slave server can process the update;
d. sending a response signal from the master service layer to the slave service layer indicating whether the slave user layer should commit to the information contained in the packet; and
e. committing the packet of information to the slave server if so indicated by the response signal.
-
-
48. A computer-readable medium, comprising:
-
a. means for sending a version number from a master service layer to a slave service layer relating to the present state of the original copy of the data on the master server;
b. means for allowing a slave user layer to determine whether the data on the slave server has been updated to correspond to the version number; and
c. means for requesting a delta be sent from the master service layer to the slave service layer if the data on the slave server does not correspond to the version number.
-
-
49. A computer program product for execution by a server computer for replicating data from a master server to a slave server over a network, comprising:
-
a. computer code for sending a version number from a master service layer to a slave service layer relating to the present state of the original copy of the data on the master server;
b. computer code for allowing a slave user layer to determine whether the data on the slave server has been updated to correspond to the version number; and
c. computer code for requesting a delta be sent from the master service layer to the slave service layer if the data on the slave server does not correspond to the version number.
-
-
50. A system for replicating data over a network, comprising:
-
a. means for sending a version number from a master service layer to a slave service layer relating to the present state of the original copy of the data on the master server;
b. means for allowing a slave user layer to determine whether the data on the slave server has been updated to correspond to the version number; and
c. means for requesting a delta be sent from the master service layer to the slave service layer if the data on the slave server does not correspond to the version number.
-
-
51. A computer system comprising:
-
a processor;
object code executed by said processor, said object code configured to;
a. send a version number from a master service layer to a slave service layer relating to the present state of the original copy of the data on the master server;
b. allow a slave user layer to determine whether the data on the slave server has been updated to correspond to the version number; and
c. request a delta be sent from the master service layer to the slave service layer if the data on the slave server does not correspond to the version number.
-
Specification