Patent ID: 7149761
Filing Date: 2006-12-12
Classification: G05B,G06F,Y10S

Abstract:
1. A method for synchronizing a local replicated database with one or more remote replicated databases, comprising: sending recent local changes made on the local database to a remote database; receiving changes made on the remote database from the remote database; and reconstructing the received changes received from the remote database on the local database, wherein any of the sending, receiving, and reconstructing steps may be performed independently from each other, wherein the local and remote databases are version-managed databases, each having a plurality of versions, and wherein one version in the local database is nominated as an interface version, and wherein the reconstructing step is performed using the interface version, wherein changes sent between the local and remote databases are sent in change files, and wherein the reconstructing step comprises: (a) creating a child version from the interface version; (b) setting the child version to a state identical to a state at the remote database before a received change file comprising the received changes were made at the remote database; (c) loading the changes in the received change file into the child version; (d) determining whether there has been more than one change file sent by the local database since a most-recent change file sent by the local database and received and processed by the remote database before the remote database sent the received change file; (e) if there has been more than one change sent by the local database, reconciling the interface version with any intervening states of the local database following the state identified by the change file received from the remote database and preceding the interface version; (f) reconciling the interface version with the child version; and (g) posting the state comprising the results of reconciling the child version with the interface version to the interface version.