Patent ID: 6539381
Filing Date: 2003-03-25
Classification: G06F,Y10S

Abstract:
A method for synchronizing replicas of at least a portion of a database, wherein each of the replicas is associated with a respective node and is further associated with a respective known state vector comprising information regarding a state of synchronization of that replica and a state of synchronization of the other replicas as perceived by that replica, and wherein each of the replicas is also associated with perceived state vectors, each of the perceived state vectors corresponding to a respective other one of the replicas and comprising information regarding a state of synchronization of the replica to which it is associated as perceived by the respective other one of the replicas, wherein a node associated with a replica receives a perceived state vector from a node associated with the other one of the replicas to which the perceived state vector corresponds, the method comprising:comparing a known state vector associated with a first one of the replicas with perceived state vectors associated with the first one of the replicas to determine if the first one of the replicas includes a change that should be made to one of the other replicas; if the change should be made to the one of the other replicas, sending the change and the known state vector associated with the first one of the replicas to a node associated with the one of the other replicas to which the change should be made; making the change to the one of the other replicas to which the change should be made; updating information regarding a state of synchronization in a known state vector associated with the one of the other replicas to which the change was made; and storing the known state vector associated with the first one of the replicas in a perceived state vector corresponding to the first one of the replicas and associated with the one of the other replicas to which the change was made, wherein a perceived state vector associated with the one of the other replicas to which the change was made and corresponding to a respective one of the other replicas comprises information regarding a state of synchronization of the one of the other replicas to which the change was made, as perceived by the respective one of the other replicas, and wherein the known state vector associated with the one of the other replicas to which the change was made can be compared with the perceived state vector associated with the one of the other replicas to which the change was made to determine if the one of the other replicas to which the change was made includes a change that should be made to one of the replicas.