Interval vector based knowledge synchronization for resource versioning
First Claim
1. A computer-readable medium having computer-executable instructions, comprising:
- transmitting an interval vector from a first member of a replica set to a second member of the replica set, the interval vector comprising one or more intervals of versions, each interval having an upper bound and a lower bound. determining which resources are out-of-sync between the members via the interval vector;
synchronizing at least one of the out-of-sync resources;
updating the interval vector to indicate that the at least one of the out-of-sync resources is synchronized.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for synchronizing objects among members of a replica set. An interval vector is maintained on each member. The interval vector includes one or more intervals each of which has an upper and lower bound. During synchronization, the member sends the interval vector to the member with which it is synchronizing. The other member examines the interval vector and finds resources with versions that are not included in any of the intervals of the interval vector. The other member then transmits these resources to the first member which uses them to update its store. The first member also updates its interval vector to account for the received resources.
69 Citations
21 Claims
-
1. A computer-readable medium having computer-executable instructions, comprising:
-
transmitting an interval vector from a first member of a replica set to a second member of the replica set, the interval vector comprising one or more intervals of versions, each interval having an upper bound and a lower bound. determining which resources are out-of-sync between the members via the interval vector;
synchronizing at least one of the out-of-sync resources;
updating the interval vector to indicate that the at least one of the out-of-sync resources is synchronized. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for replicating resources, comprising:
-
storage arranged to store the resources, each resource associated with a version;
storage arranged to store an interval vector, the interval vector comprising one or more intervals of versions, each interval having an upper bound and a lower bound;
a communications mechanism arranged to transmit the interval vector and to receive updates in response thereto, wherein determining whether to update a resource comprises finding that the version associated with the resource is not included in any of the intervals of the interval vector. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system for replicating resources, comprising:
-
a first member arranged to participate in a replica set, the first member having an interval vector that includes at least two intervals, each interval having an upper bound and a lower bound; and
a second member arranged to participate in the replica set, wherein the first member is arranged to perform acts, comprising;
transmitting the interval vector to the second member and updating the interval vector based on resources received from the second member, and wherein the second member is arranged to perform acts, comprising;
receiving the first interval vector;
determining which versions of resources the first member is missing by finding versions of the resources on the second member that are not included in any interval of the interval vector; and
sending at least one of the resources that has a version that is missing to the first member. - View Dependent Claims (21)
-
Specification