89
Achieving Consensus with Unknown Participants Jichiang Tsai ( 蔡蔡蔡 ) 蔡蔡蔡蔡蔡蔡蔡蔡蔡蔡蔡蔡

Achieving Consensus with Unknown Participants

Embed Size (px)

DESCRIPTION

Achieving Consensus with Unknown Participants. Jichiang Tsai ( 蔡智強 ) 國立中興大學電機工程學系. Outline. Introduction Consensus with Unknown Participants (CUP) Participant Detectors (PDs) One Sink Reducibility (OSR) The CUP Algorithm for OSR d -times Removing to One Sink Reducibility ( d -ROSR) - PowerPoint PPT Presentation

Citation preview

Page 1: Achieving Consensus with Unknown Participants

Achieving Consensus with Unknown Participants

Jichiang Tsai ( 蔡智強 )國立中興大學電機工程學系

Page 2: Achieving Consensus with Unknown Participants

Outline Introduction Consensus with Unknown Participants (CUP) Participant Detectors (PDs) One Sink Reducibility (OSR) The CUP Algorithm for OSR d-times Removing to One Sink Reducibility (d-ROSR) The CUP Algorithm for d-ROSR Conclusions Future Work

Page 3: Achieving Consensus with Unknown Participants

Consensus Every process pi proposes a value vi and all

processes decide on some unique value v, which needs to be proposed by some process

Validity: If a process decides v, then v is the value proposed by a certain process

Agreement: No two correct processes decide differently Termination: Every correct process eventually decides

some value A fundamental building block for solving fault-

tolerant distributed problems that require agreement among a set of processes, like software based replication

Page 4: Achieving Consensus with Unknown Participants

Self-Organized Network Without any statically deployed infrastructure and

central administrative authority Allows participating processes to access services in

dependently of their locations Mobile Ad-Hoc Networks (MANETs) and Wireless Sensor N

etworks (WSNs) Can benefit tremendously from consensus to achie

ve self-organization and robustness When several entities enter an empty geographic region, t

hey can uniformly agree on which node shall provide which service by executing consensus

Page 5: Achieving Consensus with Unknown Participants

System Model Consider a finite set of processes = {p1, p2, , pn} Processes in do not necessarily know each other

No central authority initializing each process with certain context information

Processes in communicate by passing messages through reliable channels

No message creation, corruption and duplication If processes of two ends are correct, a message sent is eve

ntually delivered to its destination exactly once There is no bound neither on the transmission dela

y of messages nor on relative speeds of processes An asynchronous system

Page 6: Achieving Consensus with Unknown Participants

System Model (cont.) The communication is asymmetric

pi can send a message to process pj only if pi knows the existence of pj, and vice versa

After pj receives a message from pi, pj knows pi from there on and thus pj can send a message to pi

pi can collect more information pj does not benefit from this new knowledge

A process does not know whether and when it will receive a message from an unknown process

We cannot force pj to determine that it has to wait a message from pi before accomplishing its objective

The tricky part to solve a problem in an asynchronous system with unknown participants

Page 7: Achieving Consensus with Unknown Participants

Consensus with Unknown Participants (CUP) Is similar to that of the classical consensus problem Processes in have to achieve consensus in a

situation that they are only acquainted with parts of participants in the computation

For classical consensus, processes know each other but may crash

The failures of processes make the problem hard to solve For CUP, processes will not crash

Its difficulty lies on that every process has to achieve consensus with the ignorance of several other processes

Page 8: Achieving Consensus with Unknown Participants

Participant Detector (PD) If every process does not know any other process, no pr

ocess can send a message to another process Consensus cannot be achieved

Offers a process some hints about processes participating in the computation

The PDi of pi provides to pi a subset of processes in Such a subset of processes is called the neighbors of pi

The information returned by PDi is non-decreasing over time PDi does not return a process not belonging to

If some process queries its PD more than once, all processes may not have a consistent system view

The PD oracle is queried by its process exactly once

Page 9: Achieving Consensus with Unknown Participants

Terminology The knowledge connectivity graph (KC graph) is a

digraph Gdi(V, Edi), where V = and (pi, pj) Edi iff pj PDi, i.e. pi knows pj

The knowledge connectivity graph is directed because information given by PDs is not necessarily symmetric

We may have pj PDi but pi PDj The undirected knowledge connectivity graph (UK

C graph) is an undirected graph G(V, E), where V = and (pi, pj) E iff pj PDi or pi PDj

Page 10: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

P2

P4

P6

P8

P11

Page 11: Achieving Consensus with Unknown Participants

Terminology The knowledge connectivity graph (KC graph) is a

digraph Gdi(V, Edi), where V = and (pi, pj) Edi iff pj PDi, i.e. pi knows pj

The knowledge connectivity graph is directed because information given by PDs is not necessarily symmetric

We may have pj PDi but pi PDj The undirected knowledge connectivity graph (UK

C graph) is an undirected graph G(V, E), where V = and (pi, pj) E iff pj PDi or pi PDj

Page 12: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

P2

P4

P6

P8

P11

Page 13: Achieving Consensus with Unknown Participants

One Sink Reducibility (OSR) The UKC graph induced by it is connected

Two processes that cannot communicate with each other may decide independently

The DAG (Directed Acyclic Graph) obtained by reducing the KC graph induced by it to the SCCs (Strongly Connected Components) has a unique sink

The OSR PD is sufficient to solve the CUP problem

Page 14: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 15: Achieving Consensus with Unknown Participants

Participant-Finding algorithm Allows a process to collect more information

about system participants Every process can obtain the maximal set of

processes in KC graph reachable from it This set of processes is called the participants

of the process Example:

p2 obtains all processes in the KC graph p3 only obtains all processes in component C

Page 16: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 17: Achieving Consensus with Unknown Participants

Participant-Finding algorithm Allows a process to collect more information

about system participants Every process can obtain the maximal set of

processes in KC graph reachable from it This set of processes is called the participants

of the process Example:

p2 obtains all processes in the KC graph p3 only obtains all processes in component C

Page 18: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 19: Achieving Consensus with Unknown Participants

Participant-Finding algorithm (cont.) Like a breadth-first search algorithm A process asks the known processes for its

neighbors Asks any newly known processes for its

neighbors Repeat the previous step until no new process

can be known

Page 20: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 21: Achieving Consensus with Unknown Participants

Participant-Finding algorithm (cont.) Like a breadth-first search algorithm A process asks the known processes for its

neighbors Continuously asks any newly known processes

for its neighbors Repeat the previous step until no new process

can be known

Page 22: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 23: Achieving Consensus with Unknown Participants

Participant-Finding algorithm (cont.) Like a breadth-first search algorithm A process asks its neighbors for the known

processes Continuously asks any newly known processes

for its neighbors Repeat the previous step until no new process

can be known

Page 24: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 25: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 26: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 27: Achieving Consensus with Unknown Participants

CUP Algorithm for OSR Every process chooses a leader from its participant

set, particularly, a process with the lowest identifier Every process queries its leader the decision value Every leader asks all its participants if it is the

leader Only the leader of the sink SCC receives all positive replies

The sink leader makes the final decision A non-sink leader queries the sink leader the

decision value Every leader informs the decision value to a process

having queried it

Page 28: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 29: Achieving Consensus with Unknown Participants

CUP Algorithm for OSR Every process chooses a leader from its participant

set, particularly, a process with the lowest identifier Every process queries its leader the decision value Every leader asks all its participants if it is the

leader Only the leader of the sink SCC receives all positive replies

The sink leader makes the final decision A non-sink leader queries the sink leader the

decision value Every leader informs the decision value to a process

having queried it

Page 30: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 31: Achieving Consensus with Unknown Participants

CUP Algorithm for OSR Every process chooses a leader from its participant

set, particularly, a process with the lowest identifier Every process queries its leader the decision value Every leader asks all its participants if it is the

leader Only the leader of the sink SCC receives all positive replies

The sink leader makes the final decision A non-sink leader queries the sink leader the

decision value Every leader informs the decision value to a process

having queried it

Page 32: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 33: Achieving Consensus with Unknown Participants

CUP Algorithm for OSR Every process chooses a leader from its participant

set, particularly, a process with the lowest identifier Every process queries its leader the decision value Every leader asks all its participants if it is the

leader Only the leader of the sink SCC receives all positive replies

The sink leader makes the final decision A non-sink leader queries the sink leader the

decision value Every leader informs the decision value to a process

having queried it

Page 34: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 35: Achieving Consensus with Unknown Participants

CUP Algorithm for OSR Every process chooses a leader from its participant

set, particularly, a process with the lowest identifier Every process queries its leader the decision value Every leader asks all its participants if it is the

leader Only the leader of the sink SCC receives all positive replies

The sink leader makes the final decision A non-sink leader queries the sink leader the

decision value Every leader informs the decision value to a process

having queried it

Page 36: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 37: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 38: Achieving Consensus with Unknown Participants

Issue The OSR PD is claimed to be necessary for CUP For a KC graph with two or more sinks, the decided

values of some two sinks may be different A sink has no outgoing edges to other SCCs, so processes i

n it do not know other processes outside the sink Processes in a sink may decide merely based on the value

s proposed by the processes in the same sink The agreement property of consensus is violated

Consensus can not be achieved when the KC graph still contains more than one sink

Page 39: Achieving Consensus with Unknown Participants

Issue (cont.) We can force processes in all sinks except one not

to decide so early They have to wait for some process outside to inform them The system can imitate a graph with only one sink

Such an idea is viable A connected graph with at least two sinks must own at

least one non-sink SCC to link every sink together Processes in such an SCC can know the identities of

processes in all its connecting sinks by finding participants Processes in a sink can know that they are in a sink and

there is at least one process outside to inform them later

Page 40: Achieving Consensus with Unknown Participants

Issue (cont.) Our idea is to preclude processes in all sinks except

one from participating in making the final decision Deciding which sink is left in the KC graph itself is a

consensus problem Because no sinks are removed so far, the decision cannot

be yet accomplished The only way to remove sinks of the graph is to

remove all current sinks Removing a sink will not induce a non-sink SCC to become

a new sink The foregoing sink removing procedure has to be

repeated again and again until there is only one sink left

Page 41: Achieving Consensus with Unknown Participants

Sink Removing Operation An operation to remove all sink SCCs of a digraph Gk

di(Vk, Ekdi): Reducing Gdi(V, Edi) by repeatedly apply

ing the sink-removing operation k times G0

di(V0, E0di) = Gdi(V, Edi)

Gk(Vk, Ek): The undirected version of Gkdi(Vk, Ek

di) An edge (u, v) Ek iff (u, v) Ek

di or (v, u) Ekdi

If Gidi(Vi, Ei

di) contains a certain SCC, the same one exists in Gj

di(Vj, Ejdi) for j i as well

Removing a sink will not make several SCCs merge to a new SCC

Page 42: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

DP

2

P

4

P

6

P

7

P

5

B

C

G0di G1

di

Page 43: Achieving Consensus with Unknown Participants

Sink Removing Operation An operation to remove all sink SCCs of a digraph Gk

di(Vk, Ekdi): Reducing Gdi(V, Edi) by repeatedly apply

ing the sink-removing operation k times G0

di(V0, E0di) = Gdi(V, Edi)

Gk(Vk, Ek): The undirected version of Gkdi(Vk, Ek

di) An edge (u, v) Ek iff (u, v) Ek

di or (v, u) Ekdi

If Gidi(Vi, Ei

di) contains a certain SCC, the same one exists in Gj

di(Vj, Ejdi) for j i as well

Removing a sink will not make several SCCs merge to a new SCC

Page 44: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

DP

2

P

4

P

6

P

7

P

5

B

C

G0 G1

Page 45: Achieving Consensus with Unknown Participants

Sink Removing Operation An operation to remove all sink SCCs of a digraph Gk

di(Vk, Ekdi): Reducing Gdi(V, Edi) by repeatedly apply

ing the sink-removing operation k times G0

di(V0, E0di) = Gdi(V, Edi)

Gk(Vk, Ek): The undirected version of Gkdi(Vk, Ek

di) An edge (u, v) Ek iff (u, v) Ek

di or (v, u) Ekdi

If Gidi(Vi, Ei

di) contains a certain SCC, the same one exists in Gj

di(Vj, Ejdi) for j i as well

Removing a sink will not make several SCCs merge to a new SCC

Page 46: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

DP

2

P

4

P

6

P

7

P

5

B

C

G0di G1

di

Page 47: Achieving Consensus with Unknown Participants

d-times Removing to One Sink Reducibility (d-ROSR) The UKC graph G(V, E) is connected The DAG obtained by reducing the graph Gd

di(Vd, Edd

i) to its SCCs has one and only one sink The OSR class is a special case of the d-ROSR class

for d = 0, without any sink-removing operation Implementing the general d-ROSR PD has more flexibility

than the special case of OSR PD The d-ROSR PD is necessary and sufficient to solve

the CUP problem

Page 48: Achieving Consensus with Unknown Participants

Example (1-ROSR)

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

DP

2

P

4

P

6

P

7

P

5

B

C

G0di G1

di

Page 49: Achieving Consensus with Unknown Participants

How to Implement Make a set of processes in , say , form a subgrap

h with the OSR property To the extreme, the subgraph can be merely a strongly con

nected subgraph or even a vertex, which is trivially a sink Add some strongly connected subgraphs or vertice

s with incoming edges only from the vertices contained in the subgraph constituted so far

Processes outside ’ are only known by the processes in

Repeat the previous step exactly d times to cover a few vertices, say the set

Page 50: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 51: Achieving Consensus with Unknown Participants

How to Implement Make a set of processes in , say , form a subgrap

h with the OSR property To the extreme, the subgraph can be merely a strongly con

nected subgraph or even a vertex, which is trivially a sink Add some strongly connected subgraphs or vertice

s with incoming edges only from the vertices contained in the subgraph constituted so far

Processes outside ’ are only known by the processes in

Repeat the previous step exactly d times to cover a few vertices, say the set

Page 52: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 53: Achieving Consensus with Unknown Participants

How to Implement Make a set of processes in , say , form a subgrap

h with the OSR property To the extreme, the subgraph can be merely a strongly con

nected subgraph or even a vertex, which is trivially a sink Add some strongly connected subgraphs or vertice

s with incoming edges only from the vertices contained in the subgraph constituted so far

Processes outside ’ are only known by the processes in

Repeat the previous step exactly d times to cover a few vertices, say the set

Page 54: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 55: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 56: Achieving Consensus with Unknown Participants

How to Implement (cont.) Add some strongly connected subgraphs or vertice

s with outgoing edges to the vertices contained in the subgraph constituted so far

Processes outside are aware of the processes in The foregoing step can be applied less than d time

s The aforementioned two procedures of adding ver

tices can be performed alternatively until all vertices are covered

Page 57: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 58: Achieving Consensus with Unknown Participants

How to Implement (cont.) Add some strongly connected subgraphs or vertice

s with outgoing edges only to the vertices contained in the subgraph constituted so far

Processes outside are aware of the processes in The foregoing step can be applied less than d time

s The aforementioned two procedures of adding ver

tices can be performed alternatively until all vertices are covered

Page 59: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 60: Achieving Consensus with Unknown Participants

Member-Finding Algorithm Allows a process to obtain the set of processes

in the same SCC Such a set of processes is called the members of the

process Example:

p1 obtains processes p1, p5, p7, and p9

Page 61: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 62: Achieving Consensus with Unknown Participants

Member-Finding Algorithm (cont.) Processes pi and pj are in the same SCC of the KC gr

aph iff pi is a participant of pj and vice versa A process asks each of its participants if it is also th

e participant of the latter Upon receipt of a positive reply from a process, the

process is in the same SCC Upon receipt of a negative reply from a process, th

e process is not in the same SCC

Page 63: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 64: Achieving Consensus with Unknown Participants

Member-Finding Algorithm (cont.) A process asks each of its participants if it is

also the participant of the latter Upon receipt of a positive reply from a

process, the process is in the same SCC Upon receipt of a negative reply from a

process, the process is not in the same SCC

Page 65: Achieving Consensus with Unknown Participants

Example

P1

P5

P9

P7

P10

P3

B

C

P2

P4

P6

P8

P11

A

Page 66: Achieving Consensus with Unknown Participants

Sink-Removing Algorithm Shrinks the participant set of a process by discardi

ng each process belonging to a sink in the current subgraph

Example: Processes in component B discard all processes in compo

nents A and D from their participants Processes in sink components A and D remove all their pa

rticipants from their participant

Page 67: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 68: Achieving Consensus with Unknown Participants

Sink-Removing Algorithm Shrinks the participant set of a process by

discarding each process belonging to a sink Example:

Processes in component B discard all processes in components A and D from their participants

Processes in sink components A and D remove all their participants from their participant

Page 69: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 70: Achieving Consensus with Unknown Participants

Sink-Removing Algorithm (cont.) A process is in a sink SCC of the KC graph iff no. of i

ts participants is equal to no. of its members A process asks each of its participants if it is in a sin

k Upon receipt of a positive reply from a process, the

process is removed from the participant set Upon receipt of a negative reply from a process, th

e process is remained in the participant set

Page 71: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 72: Achieving Consensus with Unknown Participants

Sink-Removing Algorithm (cont.) A process is in a sink SCC of the KC graph iff no. of i

ts participants is equal to no. of its members A process asks each of its participants if it is in a sin

k Upon receipt of a positive reply from a process, the

process is removed from the participant set Upon receipt of a negative reply from a process, th

e process is remained in the participant set

Page 73: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 74: Achieving Consensus with Unknown Participants

CUP Algorithm for 1-ROSR After the sink-removing operation, every

process still with a participant can continue to participate in making the decision

Employs the CUP algorithm for OSR Every process chooses a leader from its member set,

particularly, a process with the lowest identifier A leader in the final OSR graph informs the

decision value to each of its members as well as those removed from its participant set

Page 75: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 76: Achieving Consensus with Unknown Participants

CUP Algorithm for 1-ROSR After the sink-removing operation, every

process still with a participant can continue to participate in making the decision

Employs the CUP algorithm for OSR Every process chooses a leader from its member set,

particularly, a process with the lowest identifier A leader in the final OSR graph informs the

decision value to each of its members as well as those removed from its participant set

Page 77: Achieving Consensus with Unknown Participants

Example

P

1

P

3

P

2

P

4

P

6

P

7

P

5

P

9

P

8A

B

C

D

Page 78: Achieving Consensus with Unknown Participants

CUP Algorithm for d-ROSR Necessary to apply the sink-removing operation d t

imes to the KC graph There is no bound on the transmission delay of messages

and relative speeds of processes in an asynchronous system

Every sink-removing operation needs an instance of the sink-removing algorithm to deal with late messages from slow processes

Regarded as removing sinks level by level because sinks in the current subgraph are all removed by each operation

The n-level operation keeps on removing all current sinks from the subgraph returned by the (n+1)-th level operation

Page 79: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 80: Achieving Consensus with Unknown Participants

CUP Algorithm for d-ROSR (cont.) Graph Gk, 1 < k < d, derived from the KC graph of a

d-ROSR PD for d > 1 may be disconnected A disconnected sink cannot obtain the decision value from

the final OSR graph During sink removing, the leader of a removed sink

queries all sinks under it for the decision value No idea whether it will be disconnected from others Not know which sinks under it can obtain the decision value

A leader of a removed sink sends the decision value to all sinks under it and those having queried it

Not know which sinks under it cannot acquire the decision value

Page 81: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

G2 is disconnected

Page 82: Achieving Consensus with Unknown Participants

CUP Algorithm for d-ROSR (cont.) Graph Gk, 1 < k < d, derived from the KC graph of

a d-ROSR PD for d > 1 may be disconnected A disconnected sink cannot obtain the decision value from

the final OSR graph During sink removing, the leader of a removed sink

queries all sinks under it for the decision value No idea whether it will be disconnected from others Not know which sinks under it can obtain the decision value

A leader of a removed sink sends the decision value to all sinks under it and those having queried it

Not know which sinks under it cannot acquire the decision value

Page 83: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 84: Achieving Consensus with Unknown Participants

CUP Algorithm for d-ROSR (cont.) Graph Gk, 1 < k < d, derived from the KC graph of

a d-ROSR PD for d > 1 may be disconnected A disconnected sink cannot obtain the decision value from

the final OSR graph During sink removing, the leader of a removed sink

queries all sinks under it for the decision value No idea whether it will be disconnected from others Not know which sinks under it can obtain the decision value

A leader of a removed sink sends the decision value to all sinks under it and those having queried it

Not know which sinks under it cannot acquire the decision value

Page 85: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 86: Achieving Consensus with Unknown Participants

Example (3-ROSR)

SCC2

SCC1

SCC3

SCC4

SCC5

SCC6

SCC7

SCC9 SCC11

SCC10 SCC12

SCC8

Page 87: Achieving Consensus with Unknown Participants

Conclusions We addressed the problem of Consensus with Unk

nown Participants (CUP) We proposed the necessary and sufficient conditio

n, d-ROSR PDs, for the CUP problem An algorithm is presented to solve the CUP proble

m based on d-ROSR PDs The d-ROSR PD is much easier to implement Our results can be applied to agreement related pr

oblems in self-organized networks

Page 88: Achieving Consensus with Unknown Participants

Future Work We intend to explore the necessary and sufficient c

ondition for the CUP problem with process crashes Developing asynchronous algorithms to construct

a d-ROSR PD is an interesting problem

Page 89: Achieving Consensus with Unknown Participants

Thank you!

Any questions?