A Basic Agreement Protocol
3.1 Precedent relations
Chapter 3
v1 →Ei v2 norv2 →Ei v1, i.e. the peer pi is allowed to take any value ofv1 and v2 after taking the valuev. Here, the peerpi has to take one of the valuesv1 and v3. For example, if a peerpi prefers a valuev1 to another valuev2(v2→Pi v1), the peer pi would like to take the value v1. It is noted that the peer pi may take the valuev2even if the valuev1 is more preferable than the valuev2.
The precedent relations→Ei and→Pi with the domainDi are assumed to be a priori specified when each peer pi is initiated. In a homogeneous system, every peerpi has the same relations→Ei and→Pi on the same domainDi. In a hetero-geneous system, some pair of peerspi andpj have different relations→Ei =→Ej
or→Pi =→Pj on different domains,Di =Dj.
There are the following relations between a pair of values v1 and v2 in the domainDi of a peerpi:
1. v1is E-equivalent withv2 inpi(v1 ≡Ei v2)iffv1 →Ei v2 andv2 →Ei v1. 2. v2is more E-significant thanv1inpi(v1 ≺Ei v2)iffv1 →Ei v2butv2 →Ei v1. 3. v1E-dominatesv2inpi(v1 Ei v2)iffv1 ≺Ei v2orv1 ≡Ei v2.
4. v1 is E-incomparable with v2 in pi (v1 |Ei v2) iff neither v1 →Ei v2 nor v2 →Ei v1.
5. v1is P-equivalent withv2 inpi(v1 ≡Pi v2) iffv1 →Pi v2 andv2 →Pi v1. 6. v1is more P-significant thanv2inpi(v2 ≺Pi v1) iffv1 →Pi v2butv2 →Pi v1. 7. v1P-dominatesv2inpi(v2 Pi v1) iffv2 ≺Pi v1andv2 ≡Pi v1.
8. v1 and v2 are P-incomparable in pi (v1 |Pi v2) iff neither v1 →Pi v2 nor v2 →Pi v1.
A valuev1 is referred to as maximal and minimal iff there is no valuev2 such thatv1 →Ei v2andv2 →Ei v1in the domainDi, respectively. For example, abort is maximal and commit is minimal in the commitment protocol. If a peer pi takes a maximal valuev in the domainDi, the peerpi cannot take any new value. On the other hand, a peerpi can take a value after taking a minimal value in the domain Di. A valuev1is referred to as top iffv2 →Ei v1 for every valuev2inDi. A value v1 is referred to as bottom iff v1 →Ei v2 for every valuev2 in Di. Let Corni(x) be a set of values which a peerpi can take after taking a valuexin a domainDi, Corni(x) ={y|x→Ei y} ⊆Di. If a valuexis maximal,Corni(x) =φ. If there
are multiple values which a peerpi can take after a value x, i.e. |Corni(x)| ≥2, the valuexis referred to as branchable in the domainDi.
A least upper bound (lub) of valuesv1 andv2 (v1 Ei v2) is a valuev3 in the domain Di such that v1 →Ei v3, v2 →Ei v3, and there is no value v4 such that v1 →Ei v4 →Ei v3 and v2 →Ei v4 →Ei v3 in a peer pi. For example a peer pi takes a value vi and another peer pj takes a value vj at round t. If →Ei = →Ej , the peer pi and pj can take vi Ei vj to make an agreement. A greatest lower bound (glb) of valuesv1 and v2 (v1 Ei v2) is a value v3 in the domain Di such thatv3 →Ei v1,v3 →Ei v2, and there is no valuev4 such thatv3 →Ei v4 →Ei v1and v3 →Ei v4 →Ei v2. A least upper bound (lub)Pi and greatest lower bound (glb) Pi are defined for the P-dominant relation→Pi in the same way asEi andEi .
3.1.1 E-precedent relation
A system S is composed of n (≥ 1) peer processes p1, . . . , pn. A domain Di of a process pi is a set of possible values which the process pi can take. Each processpi initially takes a value v0i in the domainDi and notifies the other pro-cesses of the value vi0. A process pi receives a value vj0 from every other pro-cess pj (j = 1, . . . , n). The process pi takes another value v1i from a tuple v10, . . . , vn0. This is the first round. Then, the processpi notifies the other pro-cesses of the valuevi1. Thus, at thetth round, the processpi collects a tuplevt−1
=vt1−1, . . . , vti−1, . . . , vtn−1wherepitakes a valuevti−1 and receives a valuevjt−1 from each other processpj (j=i). Ifvt−1 satisfies the agreement conditionACi, the processpiobtains one valuevfromvt−1as an agreement value and terminates.
Otherwise,pitakes a valuevitin the domainDiand notifies the other processes of vit. Here,pichanges the opinion from the valuevit−1 tovit. Here,v0i, . . . , vit−1 are referred to as previous values andvitis a current value.
In the commitment protocols [47, 54], a process which notifies commit may abort if the coordinator process indicates abort to the process after receiving the values from the processes. Here, a process which notifies abort cannot take com-mit. Each processpican take a valuevitafter taking a valuevit−1in the domainDi at round t ifpi can changevit−1 tovit. Here,pi changes the opinion fromvti−1 to vit. Ifpi cannot take any value fromvti−1,pistill takes the valuevit−1as the current value vti or backs to the previous valuevit−2 and tries to take another value from vit−2.
[Definition] A valuev1 is referred to as existentially (E) precede a valuev2 with respect to a process pi (v1 →Ei v2) if and only if (iff ) the processpi can take v1 after takingv2 in the domainDi(→Ei ⊆Di2).
We assume the relation→Ei to be transitive. A valuev1 is E-equivalent with a valuev2 in a processpi (v1 ≡Ei v2)iffv1 →Ei v2 andv2 →Ei v1. A valuev1 is E-uncomparable with a value v2 in a processpi (v1 |Ei v2) iff neitherv1 →Ei v2 norv2 →Ei v1. A valuev1 E-dominates a valuev2 inpi (v1 ≺Ei v2)iffv1 →Ei v2 butv2 →Ei v1. v1 Ei v2 iffv1 ≺Ei v2 orv1 ≡Ei v2. In the commitment protocol, commit →Ei abort but abort →Ei commit for every process pi as presented here.
Hence, commit≺Ei abort.
For every pair of valuesv1 and v2, v1 E-precedes v2 (v1 →E v2), v1 is E-equivalent with v2 (v1 ≡E v2), v2 is more E-significant than v1 (v1 ≺E v2), v2 E-dominates v1 (v1 E v2), and v1 is E-uncomparable with v2 (v1 |E v2) iff v1 →Ei v2, v1 ≡Ei v2, v1 ≺Ei v2, v1 Ei v2, and v1 |Ei v2 for every process pi, respectively.
A processpi can take a value v2 after taking another value v1 ifv1 →Ei v2. Here, suppose that the processpi had takenv2 beforev1. Question is whether or notpican take again a value whichpi has previously taken.
[Definition] A valuev1 acyclically E-precedes (AE-precedes) a valuev2in a pro-cesspi(v1 ⇒Ei v2) iffpican takev2after takingv1andpihad previously not taken v2.
A least upper bound (lub) of valuesv1 andv2 (v1 Ei v2) is a valuev3 in the domain Di such that v1 →Ei v3, v2 →Ei v3, and there is no value v4 such that v1 →Ei v4 →Ei v3 andv2 →Ei v4 →Ei v3. Suppose there are a pair of processes p1 and p2 notifying one another of values v1 and v2, respectively. Suppose the processesp1 andp2 have the same E-precedent relation,→E1 =→E2 =→E on the same domain D, D1 = D2 = D. Here, E1 = E2 = E and E1 = E2 = E. If there exists an lubv3 =v1 E v2, bothp1 andp2 can takev3 after taking v1 and v2, respectively. A greatest lower bound (glb) of valuesv1 andv2 (v1 Ei v2)is a value v3 in Di such that v3 →Ei v1, v3 →Ei v2, and there is no value v4 such thatv3 →Ei v4 →Ei v1 and v3 →Ei v4 →Ei v2. The processesp1 and p2 can also take the glbv4=v1Ev2as an agreement value if the processes can take previous values again. In this paper, there exist a pair of special values, bottom value ⊥Ei
and top value Ei where⊥Ei →Ei v andv →Ei Ei for every valuev inDi. This means that a processpi can take any value inDi after taking the bottom⊥Ei . On the other hand,pi taking the topEi cannot change the value. In the commitment protocol [42, 43, 44], each processpi has a binary domainDi ={abort,commit} where commit →Ei abort. Here, abort is the top Ei and commit is the bottom
⊥Ei . The value abort E-dominates commit (commit≺Ei abort).
[Definition] Let →Ei and →Ej be E-precedent relations of processes pi and pj, respectively. A pair of precedent relations→Ei and→Ej are existentially (E)
con-sistent (→Ei ∼=E →Ej) iff for every pair of valuesv1 andv2 inDi ∩Dj, v1 →Ei v2 iffv1 →Ej v2.
A pair of E-precedent relations→Ei and→Ej are E-inconsistent (→i ∼=E →j) iff→Ei and→Ej are not consistent. Let us consider a pair of processes p1 andp2. Here,D1 ={a, b, c}andD2={a, b, d, e}. In the processp1, a→E1 b and a→E1 c. In the process p2, a→E2 b→E2 d and b→E2 e. Here, →E1 =→E2 but→E1 and
→E2 are E-consistent (→E1 ∼= →E2) since D1 ∩ D2 = {a, b }and a →E1 b and a
→E2 b. Another processp3has a domainD3={a, b, e}where b→E3 a. Here, the E-precedent relation→E3 is not E-consistent with→E1 (→E3 ∼=→E1) since a→E1 b but b→E3 a forD1 ∩D3 ={a, b}.
In the E-precedent relation→Ei (⊆ D2i), a processpi makes a decision on a value v2 which pi notifies to the other processes depending on a value v1 most recently taken. That is, pi takes a valuev2 where v1 →Ei v2. LetN extEi (v1)be {v2 | v1 →Ei v2}of values whichpi can take next from a valuev1. For example, N extEi (commit) ={commit, abort}andN extEi (abort) ={abort}.
3.1.2 P-precedent relation
Suppose a processpi can take a pair of valuesv1 andv2 after taking a valuev3 in the E-dominant relation →Ei , i.e. v3 →Ei v1 andv3 →Ei v2. Here, the processpi
has to take one of the valuesv1andv3. Ifpiprefersv1tov2(v2→Pi v1),pican first take v1. A partially ordered relation →Pi ⊆Di2 is a preferentially (P) precedent relation on the domainDi.
[Definition] A value v1 P-precedes a valuev2 in a processpi (v1 →Pi v2) iff pi prefersv1 tov2.
A value v1 is P-equivalent with a value v2 in a process pi (v1 ≡Pi v2) iff v1 →Pi v2 andv2 →Pi v1. v1 is more P-significant than v2 in pi (v2 ≺Pi v1) iff v1 →Pi v2 butv2 →Pi v1. v1 P-dominatesv2 inpi (v2 Pi v1) iff v2 ≺Pi v1 and v2 ≡Pi v1. A pair of values v1 and v2 are P-uncomparable in pi (v1 |Pi v2) iff neither v1 →Pi v2 norv2 →Pi v1. In addition, v1 →P v2, v1 ≡P v2, v1 ≺P v2, v1 P v2, andv1 |E v2iffv1 →Pi v2,v1 ≡Pi v2,v1 ≺Pi v2,v1 Pi v2, andv1 |Ei v2 for every processpi, respectively.
The least upper boundPi and greatest lower bound Pi are defined for the P-dominant relation→Pi in the same way asEi andEi . There are special values, topPi and bottom ⊥Pi with respect to the P-precedent relation→Pi in the same way as the E-precedent relation→Ei . We assume the P-precedent relation→Pi is transitive.