Distributing database differences corresponding to database change events made to a database table located on a server computer
DCFirst Claim
1. A system for distributing differences corresponding to one or more change events made to a data store located on a server computer, the differences being distributed to one or more client copies of at least a portion of the data store, wherein the one or more client copies of the at least a portion of the data store are located on one or more client computers, the system comprising:
- a current server version of the data store configured to permit modifications to data contained therein;
a reference server version of the data store;
a differencing engine that identifies, at a given instance in time, any differences between the current server version of the data store and the reference server version of the data store;
one or more updates storing one or more differences generated by the differencing engine wherein the one or more differences are in a first format;
a translator that converts any differences destined for the client copy of the at least a portion of the data store from the first format into a second format;
a communication network; and
a synchronizer that obtains from the differencing engine any differences that are needed to make the one or more client copies of the at least a portion of the data store current, and transmits the differences to the one or more client copies of the at least a portion of the data store by way of the communication network.
9 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method, computer program product, and system that allows changes made to an original database table found on a server computer to be reflected in client copies of the database table based on intermittent client requests for synchronization. A server makes periodic updates of table differences between a current table receiving database change events and a reference table. Each client copy of a database table and update created by the server has a sequential version number associated therewith. The server will compare the version number of a client copy of a database table with the most recent version number of the table on the server to determine which updates need be applied in order to make the client copy current. Next, the updates will be translated from a generic format into instructions that are specific to the type of database engine being run on the client. Finally, the instructions are transmitted to the client (along with the new version number) so that the client may operate the database engine to apply the instructions for making the database table current with the original managed on the server.
-
Citations
17 Claims
-
1. A system for distributing differences corresponding to one or more change events made to a data store located on a server computer, the differences being distributed to one or more client copies of at least a portion of the data store, wherein the one or more client copies of the at least a portion of the data store are located on one or more client computers, the system comprising:
-
a current server version of the data store configured to permit modifications to data contained therein;
a reference server version of the data store;
a differencing engine that identifies, at a given instance in time, any differences between the current server version of the data store and the reference server version of the data store;
one or more updates storing one or more differences generated by the differencing engine wherein the one or more differences are in a first format;
a translator that converts any differences destined for the client copy of the at least a portion of the data store from the first format into a second format;
a communication network; and
a synchronizer that obtains from the differencing engine any differences that are needed to make the one or more client copies of the at least a portion of the data store current, and transmits the differences to the one or more client copies of the at least a portion of the data store by way of the communication network. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for distributing differences corresponding to one or more change events made to a data store located on a server computer, the differences being distributed to one or more client copies of at least a portion of the data store, wherein the one or more client copies of the at least a portion of the data store are located on one or more client computers, the system comprising:
-
a first means for storing, wherein the first means for storing contains a current server version of the data store, the current server version of the data store being configured to permit modifications to data contained therein;
a second means for storing, wherein the second means for storing contains a reference server version of the data store;
a differencing engine, wherein the differencing engine identifies, at a given instance in time, any differences between the current server version of the data store and the reference server version of the data store, and wherein the differences are in a first format;
a translator, the translator converting any differences destined for the one or more client copies of the at least a portion of the data store from the first format into a second format;
a third means for storing, wherein the third means for storing contains one or more updates that include one or more differences generated by the differencing engine;
a communication network, the communication network serving to facilitate transfer of data between the server computer and the one or more client computers; and
a synchronizer, wherein the synchronizer obtains from the differencing engine any differences that are needed to make the one or more client copies of the at least a portion of the data store current, and wherein the synchronizer transmits the differences to the one or more client copies of the at least a portion of the data store by way of the communication network. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification