System and method for optimizing the data transfer between mirrored databases stored on both a client and server computer
First Claim
1. A computer-implemented method of optimizing the synchronization of data between a client computer having a client database and a server computer having a server database, wherein each database comprises a plurality of database items that maintain a parent-child hierarchical tree relationship comprising at least one parent database item and at least one associated child database item, comprising:
- receiving at the server computer a parent database item transferred from the client computer that maintains a parent-child hierarchical tree relationship with child database items in the client database;
assigning a status code to the parent database item received at the server computer, the status code being based upon the detection or non-detection of a data transfer error that is characteristic of an error condition;
transmitting the status code assigned to the parent database item to the client computer, wherein the status code is assigned to the parent database item stored in the client database;
updating a status code of the child database items associated with the parent database item in the client database, the updated status code of child database items being based on the status code of the parent database item;
selectively communicating child database items associated with the parent database item from the client computer to the server computer, wherein child database items associated with the parent database item are communicated if the status code indicates a non-detection of a data transfer error that is characteristic of an error condition associated with the parent database item;
synchronizing the communicated child database item with a corresponding child database item stored on the server computer;
assigning a server ID to the database item received at the server computer if no transfer error was detected that is characteristic of an error condition; and
transmitting the server ID assigned to the database item to the client computer.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for efficiently synchronizing multiple databases stored on multiple computing devices while maintaining parent-child relationships between related database objects. The method and system allows a client computer to update a server database while minimizing the number of network connections between the client and server computers. The method and system provides the generation of object ID numbers for database objects by the server computer, thus allowing multiple clients to store the same database. In one embodiment, the method and system synchronizes the databases of client and server computers by selectively uploading objects from the client computer database, thereby minimizing the amount of data transferred between the client and server computers. The synchronization routine selectively uploads primary objects based on the status code of the objects. The status code of each object is updated by an update routine that verifies if the related parent and grandparent objects have been successfully uploaded. If a parent object has been successfully uploaded, then its children, grandchildren and successors are also uploaded. If any particular object is not successfully uploaded from the client computer to the server computer, the related child and grandchildren objects are all bypassed and not uploaded to the server computer.
-
Citations
14 Claims
-
1. A computer-implemented method of optimizing the synchronization of data between a client computer having a client database and a server computer having a server database, wherein each database comprises a plurality of database items that maintain a parent-child hierarchical tree relationship comprising at least one parent database item and at least one associated child database item, comprising:
-
receiving at the server computer a parent database item transferred from the client computer that maintains a parent-child hierarchical tree relationship with child database items in the client database; assigning a status code to the parent database item received at the server computer, the status code being based upon the detection or non-detection of a data transfer error that is characteristic of an error condition; transmitting the status code assigned to the parent database item to the client computer, wherein the status code is assigned to the parent database item stored in the client database; updating a status code of the child database items associated with the parent database item in the client database, the updated status code of child database items being based on the status code of the parent database item; selectively communicating child database items associated with the parent database item from the client computer to the server computer, wherein child database items associated with the parent database item are communicated if the status code indicates a non-detection of a data transfer error that is characteristic of an error condition associated with the parent database item; synchronizing the communicated child database item with a corresponding child database item stored on the server computer; assigning a server ID to the database item received at the server computer if no transfer error was detected that is characteristic of an error condition; and transmitting the server ID assigned to the database item to the client computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method of optimizing the synchronization of data stored in a client computer database with data stored in a server computer database, wherein each database comprises a plurality of database items arranged in a parent-child hierarchical tree relationship comprising at least one parent database item and at least one associated child database item, comprising:
-
transmitting a parent database item that maintains a parent-child hierarchical tree relationship with child database items in the client database from a client computer to a server computer; receiving at the client computer mapping information for the parent database item generated by the server computer, the mapping information being based upon the detection or non-detection of a data transfer error that is characteristic of an error condition associated with the parent database item; updating a status code of child database items associated with the parent database item, the updated status code of child database items being based on the mapping information; and selectively transmitting child database items from the client computer to the server computer, wherein child database items associated with the parent database item are communicated if the mapping information indicates a non-detection of a data transfer error that is characteristic of an error condition associated with the parent database item; and synchronizing the communicated child database item with a corresponding child database item stored on the server computer; wherein the mapping information also includes a server ID; updating a server ID of child database items associated with the parent database item, the updated server ID being based on the mapping information; and wherein the selective transmission of child database items from the client computer to the server computer is also based on the server ID of the child database items. - View Dependent Claims (12, 13, 14)
-
Specification