Efficient replication of an expanded partial database
First Claim
1. A method in combination with a computer system comprising:
- a plurality of servers; and
a database distributed across the plurality of servers, the database including a plurality of objects, each object having a first attribute and a second attribute, each server periodically replicating values of attributes from another server thereto during a replication, each server maintaining an increasing update sequence number that is increased upon each revision to the attributes of the objects of the database on such server, each server maintaining an attribute value table that includes for each attribute of each object at such server a value of the attribute for the object, the update sequence number of such server when the value was revised, each server maintaining a vector table that includes for each other server from which the server replicates, the update sequence number of such other server at a time of a most recent replication from such other server, wherein the database at a source server includes the first attribute and the second attribute for each object, wherein the database at a destination server originally includes the first attribute and not the second attribute for each object, and wherein the database at the destination server is changed to include the first attribute and the second attribute for each object, the method comprising, upon such change;
requesting, by the destination server from the attribute value table of the source server, the value of the second attribute for each object at such source server;
receiving, by the destination server into the attribute value table thereof, the value of the second attribute for each object at such source server and the current update sequence number of the destination server to be associated with the value;
requesting, by the destination server from the attribute value table of the source server, the value of the first attribute for each object at such source server, if the update sequence number of the source server associated with the value in the attribute value table of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server;
receiving, by the destination server into the attribute value table thereof, the value of the first attribute for each object at such source server, if the update sequence number of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server.
3 Assignments
0 Petitions
Accused Products
Abstract
A replication occurs upon the re-configuration of a partial database to update an additional attribute of an object, and is divided into two sub-requests for replication. The first requests the new attribute from update sequence number zero and the second requests the existing attributes according to their known up-to-date vectors. To facilitate this request, a destination server sends an up-to-date vector table to a source server along with the request for replication. Because the existing attributes are requested from their known up-to-date vectors, rather than from update sequence number zero, this replication request results in less attributes being sent between servers and therefore, provides a more efficient replication.
55 Citations
6 Claims
-
1. A method in combination with a computer system comprising:
-
a plurality of servers; and
a database distributed across the plurality of servers, the database including a plurality of objects, each object having a first attribute and a second attribute, each server periodically replicating values of attributes from another server thereto during a replication, each server maintaining an increasing update sequence number that is increased upon each revision to the attributes of the objects of the database on such server, each server maintaining an attribute value table that includes for each attribute of each object at such server a value of the attribute for the object, the update sequence number of such server when the value was revised, each server maintaining a vector table that includes for each other server from which the server replicates, the update sequence number of such other server at a time of a most recent replication from such other server, wherein the database at a source server includes the first attribute and the second attribute for each object, wherein the database at a destination server originally includes the first attribute and not the second attribute for each object, and wherein the database at the destination server is changed to include the first attribute and the second attribute for each object, the method comprising, upon such change;
requesting, by the destination server from the attribute value table of the source server, the value of the second attribute for each object at such source server;
receiving, by the destination server into the attribute value table thereof, the value of the second attribute for each object at such source server and the current update sequence number of the destination server to be associated with the value;
requesting, by the destination server from the attribute value table of the source server, the value of the first attribute for each object at such source server, if the update sequence number of the source server associated with the value in the attribute value table of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server;
receiving, by the destination server into the attribute value table thereof, the value of the first attribute for each object at such source server, if the update sequence number of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server. - View Dependent Claims (2, 3)
-
-
4. A computer-readable medium having computer-executable modules/components thereon for replication of a distributed database in a computer system, the computer system comprising:
-
a plurality of servers; and
a database distributed across the plurality of servers, the database including a plurality of objects, each object having a first attribute and a second attribute, each server periodically replicating values of attributes from another server thereto during a replication, each server maintaining an increasing update sequence number that is increased upon each revision to the attributes of the objects of the database on such server, each server maintaining an attribute value table that includes for each attribute of each object at such server a value of the attribute for the object, the update sequence number of such server when the value was revised, each server maintaining a vector table that includes for each other server from which the server replicates, the update sequence number of such other server at a time of a most recent replication from such other server, wherein the database at a source server includes the first attribute and the second attribute for each object, wherein the database at a destination server originally includes the first attribute and not the second attribute for each object, and wherein the database at the destination server is changed to include the first attribute and the second attribute for each object, the modules/components performing upon such change, the steps of;
requesting, by the destination server from the attribute value table of the source server, the value of the second attribute for each object at such source server;
receiving, by the destination server into the attribute value table thereof, the value of the second attribute for each object at such source server and the current update sequence number of the destination server to be associated with the value;
requesting, by the destination server from the attribute value table of the source server, the value of the first attribute for each object at such source server, if the update sequence number of the source server associated with the value in the attribute value table of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server;
receiving, by the destination server into the attribute value table thereof, the value of the first attribute for each object at such source server, if the update sequence number of the source server is greater than the update sequence number associated with the source server in the vector table of the destination server. - View Dependent Claims (5, 6)
-
Specification