Patent EA-002931-B1 (EA)
Title: Database synchronization and organization system and method
Inventor: MAHAJAN SAMEER S
IPC: G06F17/30
Filed: 1999-09-17
Abstract: 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; and updating said local database of the client computer system using said necessary information from said modification file. 2. The method of Claim 1 further comprising associating a plurality of modification files with a group and tracking which of the plurality of files have been sent to particular client computer systems. 3. The method of Claim 1 wherein said step of grouping said data is based on preselected static criteria. 4. The method of Claim 1 wherein said step of grouping said data is based on dynamically generated criteria. 5. The method of Claim 2 further comprising associating unique sequence numbers with each of the modification files. 6. The method of Claim 1 further comprising the step of updating local databases of the client computer systems using the modification files created to record changes to data within the groups to which the client computer systems are assigned. 7. The method of Claim 1 further comprising the step of transmitting, by said client computer system, modifications made to said selected portions to said server database. 8. The method of Claim 7 further comprising the step of updating said server database with said modifications to said selected portions of data. 9. The method of Claim 8 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. 10. 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. 11. The method of Claim 10 wherein said step of processing includes determining which modifications should be deleted when the local database is being updated. 12. The method of Claim 11 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 10 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. 14. The method of Claim 10 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. 15. 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. 16. 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. 17. 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. 18. 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 each client being 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 groups; and a program module that updates the local databases of the client computer systems based on changes in the modification files. 19. The system of Claim 18 wherein the server computer system associates corresponding clients with selected data groups. 20. The system of Claim 18 wherein the client computer system contains a client program module that evaluates each of the modification files and updates the local database based on an evaluation and comparison of the information in the modification files. 21 The system of Claim 20 wherein the client program module updates the local database by deleting unnecessary information from modification files. 22. The system of Claim 20 wherein the client program module transmits modifications created in said selected groups to the server database; and  the server computer system updates the server database using modifications of said selected data portions.