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.