Database synchronization and organization system and method
First Claim
1. A method for updating databases on a client computer, comprising:
- grouping data of a server database based on selected criteria;
assigning one or more of the groups to be accessible to certain client computers;
recording changes to data of each group in a corresponding modification file;
transmitting said modification file to the client computer system having a local database which contain selected portions of data from at least one of said groups assigned to the client computer;
deleting unnecessary information from the modification file; and
updating said local database of the client computer system using said necessary information from said modification file.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a “data centric” approach to updating databases on computer systems of an intermittently connected database system. In this approach, the storage and processing complexity of the database server are de-coupled from the number of clients to be supported, thereby, improving the scalability of the server. Instead of focusing on the data required by individual clients, this method tracks changes to data subsets pertaining to groups of clients. Thus, the server need only track and record changes to these subsets of data, instead of tracking changes for individual clients. Clients download the subsets, which contain the data relevant to the group, and merges data or deletes superfluous data from the subsets. Since the server is tracking a limited set of data subsets related to groups of clients instead of the actual number of the clients, the overall scalability of the system is increased. In this system, client computer systems are synchronized with a server database by dividing data to be distributed from a server database into groups and assigning one or more of the groups to each client computer system. When a client computer system accesses the server, the client computer system sends changes made to its local database to the sever. The server updates its database with these changes. After making the updates to its database, the server determines which groups share in the changes made, and creates modification files for these groups. The clients download the modification files for the groups to which they are assigned.
-
Citations
19 Claims
-
1. A method for updating databases on a client computer, comprising:
-
grouping data of a server database based on selected criteria;
assigning one or more of the groups to be accessible to certain client computers;
recording changes to data of each group in a corresponding modification file;
transmitting said modification file to the client computer system having a local database which contain selected portions of data from at least one of said groups assigned to the client computer;
deleting unnecessary information from the modification file; and
updating said local database of the client computer system using said necessary information from said modification file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
transmitting, by said client computer system, modifications made to said selected portions to said server database; - and updating said server database with said modifications to said selected portions of data.
-
8. The method of claim 7 comprising:
-
determining which data of the groups of the server database have changed and creating modification files based on these changes and determining to which selected groups the client computer system is assigned; and
in response to determining the selected groups associated with the client computer system, transmitting the modification files associated with the selected groups to the client computer system.
-
-
9. The method of claim 8 further comprising the step of
evaluating the modification files at the client computer systems to determine whether data in a first modification file contains modifications which are relevant to modifications contained in a second modification file; - and
processing the relevant modifications to ensure that consistency is maintained between the server database and the local database.
- and
-
10. The method of claim 9 wherein said step of processing includes determining which modifications in the modification files are duplicated in a modification file associated with another group and maintaining one modification for the duplicated modifications and deleting the other duplicate modifications.
-
11. The method of claim 9 wherein said step of processing includes merging relevant information between the files to form a transaction that maintains the consistency of the local database with the server database.
-
12. The method of claim 10 wherein said step of processing includes determining which transactions of the modification files were created by the client computer system being updated and deleting those modifications from the modification files that were created by the client computer system being updated.
-
13. The method of claim 1 wherein said step of recording changes includes maintaining a client list of changes which have been modified since the previous time period in which a client computer system was coupled to said server database.
-
14. The method of claim 1 wherein said step of assigning comprises maintaining a client index of client computer systems, said client index associating each client computer system with a group of data that is associated based on the content of the data items.
-
15. The method of claim 1 comprising:
-
determining which client computer system is coupled to the server database and determining to which selected groups the client computer system is assigned; and
in response to determining the selected groups associated with the client computer system, transmitting the modification files associated with the selected groups to the client computer system.
-
-
-
16. A system for updating client computer systems based on data in a central computer system, comprising:
-
a plurality of client computer systems;
a server computer system containing a server database, said server database containing data that is grouped based on preselected criteria, and wherein each of said plurality of client computer systems is assigned to a group;
a modification file created for each data group in which data has changed, in the server computer system, said modification file including a list of modification transactions that have occurred within the data group in which data has changed; and
a program module that deletes unnecessary information from the modification file and updates local databases of the client computer systems based on necessary information changes in the modification files. - View Dependent Claims (17, 18, 19)
-
Specification