Database synchronizer
First Claim
1. A computing system for sharing data between a plurality of computers, the computing system comprising:
- a first computer having a first database which includes a first collection of data representable as a first plurality of rows and a first plurality of columns;
a second computer having a second database which includes a second collection of data including data replicated from the first database, the second collection of data representable as a second plurality of rows and a second plurality of columns;
an ordered list of common columns in the first plurality of columns and the second plurality of columns; and
a database synchronizer for synchronizing the first collection and the second collection at an arbitrary time, the database synchronizer using the ordered list to identify the location of data in the collections.
2 Assignments
0 Petitions
Accused Products
Abstract
A database synchronizer facilitates computing systems which have client-side and server-side applications that share data in similar database structures, but which do not maintain a continuous connection to a single shared data source. In general, a database synchronizer is used to share data among many nodes on the computing system. The database synchronizer is used to synchronize the data in a central database for a particular client with the data on that client'"'"'s intermittently-connected computer. Updates performed by either client or server are propagated to the other side when a connection is established and eventually from the server to other clients in the system.
-
Citations
54 Claims
-
1. A computing system for sharing data between a plurality of computers, the computing system comprising:
-
a first computer having a first database which includes a first collection of data representable as a first plurality of rows and a first plurality of columns; a second computer having a second database which includes a second collection of data including data replicated from the first database, the second collection of data representable as a second plurality of rows and a second plurality of columns; an ordered list of common columns in the first plurality of columns and the second plurality of columns; and a database synchronizer for synchronizing the first collection and the second collection at an arbitrary time, the database synchronizer using the ordered list to identify the location of data in the collections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of sharing data between a plurality of computers, comprising the steps of:
-
at a first computer, storing a collection of data in a first database wherein the data is representable as a first plurality of rows and a first plurality of columns; replicating data from the first database to a second database at a second computer, wherein the data is stored into a second collection of data representable as a second plurality of rows and a second plurality of columns; generating an ordered list of common columns in the first plurality of columns and the second plurality of columns; and synchronizing the first collection and the second collection at an arbitrary time using the ordered list to identify the location of data in the collections. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for synchronizing a plurality of tabular databases, each database maintained on a respective computer for storing a respective array of data fields arranged in rows and columns, comprising the steps of:
-
creating a table correspondence which defines selected columns of a first table on a first computer as being common columns in the respective tables stored on the first computer and at least one other computer, each selected column of the first table corresponding to a respective replica column of a second table on a second computer; defining a first catalog on the first computer from the table correspondence, the first catalog including an ordered list of the selected columns of the first table; defining a second catalog on the second computer from the table correspondence, the second catalog including an ordered list of the replica columns of the second table, the list of replica columns in the second catalog ordered to match the order of the list of selected columns in the first catalog; for a modified row of one of the tables, determining at least one column having modified data therein; at the respective computer, encoding the at least one modified column of the modified row into a column indicator derived from the ordered list of replica columns in the respective catalog; at the respective computer, building a modification message including the column indicator; and transmitting the modification message to propagate the modified row from the respective computer to the other computer. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A database synchronizer for synchronizing a plurality of tabular databases, each database maintained on a respective computer for storing an array of data fields arranged in rows and columns, the database synchronizer comprising:
-
a table correspondence which defines selected columns of a first table on a first computer as being common columns in the respective tables stored in the first computer and at least one other computer, each selected column of the first table corresponding to a respective replica column of a second table on a second computer; a first catalog derived from the table correspondence and stored on the first computer, the first catalog including an ordered list of the selected columns of the first table; a second catalog derived from the table correspondence and stored on the second computer, the second catalog including an ordered list of the replica columns of the second table, the list of replica columns in the second catalog ordered to match the order of the list of selected columns in the first catalog; for a modified row of one of the tables, at least one column having modified data therein; at the respective computer, a column indicator having encoded therein the at least one modified column of the modified row, the column indicator derived from the ordered list of columns in the respective catalog; at the respective computer, a modification message which includes the column indicator; and a transmission link for transmitting the modification message to propagate the modified row from the respective computer to another computer. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
Specification