Systems and Methods for Managing the Synchronization of Replicated Version-Managed Databases
Abstract
A system and method for synchronizing a local replicated database with remote replicated databases. Generally, the system includes a local replicated database and a synchronization manager associated with the local replicated database. The synchronization manager may send changes made on the local replicated database to one or more remote replicated databases for reconstruction by the one or more remote replicated databases, and may receive changes made on a remote replicated database. In addition, the synchronization manager may reconstruct changes received from a remote replicated database on the local replicated database. Preferably, the synchronization manager may send, receive, and reconstruct changes independently from one another, i.e., may perform one or more of these activities autonomously and/or asynchronously.
Claims
exact text as granted — not AI-modified1 . A system for synchronizing a plurality of replicated databases at least intermittently communicating with one another, comprising:
a local replicated database; an interface for communicating with one or more remote replicated database via a communications link; and a synchronization manager associated with the local replicated database for sending change files comprising changes made on the local replicated database to one or more remote replicated databases for reconstruction by the one or more remote replicated databases, receiving change files comprising changes made on a remote replicated database, and reconstructing changes received from a remote replicated database on the local replicated database, each change file sent by the local database comprising a local sequence number identifying a state of the local database at the time the change file is sent and a remote sequence number identifying a state of the remote database known by the local database, and wherein each change file received from the remote database comprises a remote sequence number identifying a state of the remote database at the time the change file is sent and a local sequence number identifying a state of the local database known by the remote database at the time the change file is sent.
2 . The system of claim 1 , wherein the synchronization manager is configured for sending changes, receiving changes, and reconstructing changes independently from one another.
3 . The system of claim 1 , further comprising a sequence table associated with the local replicated database for tracking changes sent to and received from remote replicated databases.
4 . The system of claim 3 , wherein each change file sent by the synchronization manager a local sequence number identifying the local remote database and a remote sequence number identifying each remote database to which the change file was sent, the local and remote sequence numbers being stored in the sequence table.
5 . The system of claim 3 , wherein each change file received by the synchronization manager comprises a local sequence number identifying the local remote database, and a remote sequence number identifying the remote database from which each change file was sent, the local and remote sequence numbers being stored in the sequence table.
6 . The system of claim 1 , wherein the synchronization manager is configured for monitoring activity of the local replicated database, and for reconstructing changes in a manner that substantially minimizes interference with operation of the local replicated database.
7 . A system for synchronizing a plurality of replicated databases at least intermittently communicating with one another, comprising:
a local replicated database; a plurality of remote replicated databases at least intermittently disconnected from the local replicated database; at least one of the local and the plurality of remote replicated databases comprising an interface for communicating with each other via a communications link; and a synchronization manager associated with each of the local and the plurality of remote replicated databases for sending changes made on the respective replicated database to another replicated database, receiving changes made on another replicated database, and reconstructing changes received from another replicated database on the respective replicated database.
8 . The system of claim 7 , wherein each of the synchronization managers is configured for reconstructing changes autonomously from one another.
9 . The system of claim 7 , further comprising a sequence table associated with each of the databases for tracking changes sent to and received from the respective database.
10 . The system of claim 9 , wherein each synchronization manager is configured for receiving changes from one or more remote replicated databases in one or more change files, and wherein each change file comprises a local sequence number identifying the local remote database, and a remote sequence number identifying the remote database from which each change file was sent, the local and remote sequence numbers being stored in the sequence table.
11 . A method for synchronizing a local replicated database with one or more remote replicated databases, comprising:
sending a change file comprising one or more recent local changes made on the local database to a remote database for reconstruction by the remote database, the sent change file comprising a local sequence number identifying a state of the local database at the time the change file is sent and a remote sequence number identifying a state of the remote database known by the local database; receiving a change file comprising one or more changes made on the remote database from the remote database, the received change file comprising a remote sequence number identifying a state of the remote database at the time the change file is sent and a local sequence number identifying a state of the local database known by the remote database at the time the change file is sent; 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.
12 . The method of claim 11 , 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.
13 . A method for synchronizing a local replicated database with a plurality of remote replicated databases, comprising the steps of:
autonomously and asynchronously sending changes made on the local database to the remote databases, independent of any steps of receiving and reconstructing changes; autonomously and asynchronously receiving changes made on the remote databases to the local database, independent of any steps of sending and reconstructing changes; and autonomously and asynchronously reconstructing received changes made on the remote databases on the local database, independent of any steps of sending and receiving changes.
14 . The method of claim 13 , wherein each of the local and remote databases is a version-managed database comprising a plurality of versions, and wherein a version in each of the local and remote databases is nominated as a local interface version and a remote interface version, respectively.
15 . The method of claim 14 , wherein each of the local and remote databases comprises a plurality of states and a sequence table comprising sequence numbers for identifying respective states.
16 . The method of claim 15 , wherein the states are explicit.
17 . The method of claim 15 , wherein the states are implicit.
18 . The method of claim 14 , wherein changes sent between the local and remote databases are sent in change files.
19 . The method of claim 18 , wherein each change file sent by the local database comprises a local sequence number identifying a state of the local database at the time the change file is sent and a remote sequence number identifying a state of the remote database known by the local database, and wherein each change file sent by the remote database comprises a remote sequence number identifying a state of the remote database at the time the change file is sent and a local sequence number identifying a state of the local database known by the remote database at the time the change file is sent.Join the waitlist — get patent alerts
Track US2006195487A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.