• 検索結果がありません。

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(v2Pi 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 relationsEi andPi 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 relationsEi andPi on the same domainDi. In a hetero-geneous system, some pair of peerspi andpj have different relationsEi =→Ej

orPi =→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 relationPi 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 relationEi 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 whereEi Ei v andv Ei Ei for every valuev inDi. This means that a processpi can take any value inDi after taking the bottomEi . 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 relationsEi andEj 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 relationsEi andEj are E-inconsistent (→i =E j) iffEi andEj 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 butE1 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 relationE3 is not E-consistent withE1 (E3 =E1) since a→E1 b but b→E3 a forD1 ∩D3 ={a, b}.

In the E-precedent relationEi (⊆ 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(v2Pi 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 relationPi in the same way asEi andEi . There are special values, topPi and bottom Pi with respect to the P-precedent relationPi in the same way as the E-precedent relationEi . We assume the P-precedent relationPi is transitive.

関連したドキュメント