Mercurial > hg > Papers > 2019 > ikki-sigos
view images/paxos3.pu @ 0:f0c06489da13
initial commit
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 07 May 2019 22:11:05 +0900 |
parents | |
children |
line wrap: on
line source
@startuml title Paxos 3 /' ======= style ======= '/ skinparam sequence { ArrowColor black LifeLineBorderColor black ParticipantBorderColor black ParticipantBackgroundColor white ParticipantPadding 20 } /' ======= node name ======= '/ /' === proposers === '/ participant proposer1 activate proposer1 participant proposer2 activate proposer2 /' === acceptors === '/ participant acceptor1 activate acceptor1 participant acceptor2 activate acceptor2 participant acceptor3 activate acceptor3 /' === learners === '/ participant learner1 activate learner1 /' ======= uml ======= '/ proposer1 -> acceptor1:Prepare request \n\ Proposal(7, 1) proposer1 -> acceptor2 proposer1 -> acceptor3 acceptor1 --> proposer1:Promise Success\n\ Proposal(7, 1) acceptor2 --> proposer1 acceptor3 --> proposer1 proposer1 -> acceptor3:Accept Request \n\ Proposal(7, 1) acceptor3 --> proposer1: Accept \n\ Proposal(7,1) acceptor3 -> learner1:Accept \n\ Proposal(7, 1) proposer2 -> acceptor1:Prepare request \n\ Proposal(8, 2) proposer2 -> acceptor2 proposer2 -> acceptor3 acceptor1 --> proposer2:Promise Success\n\ Proposal(8, 2) acceptor2 --> proposer2 acceptor3 --> proposer2:Promise Success \n\ But Accepted \n\ Proposal(7, 1) proposer1 -> acceptor1:Accept request \n\ Proposal(7, 1) proposer1 -> acceptor2 acceptor1 --> proposer1:Accept Fail\n\ Promised \n\ Proposal(8, 2) acceptor2 --> proposer1 proposer1 -> acceptor1:Prepare request \n\ Proposal(13, 1) proposer1 -> acceptor2 proposer1 -> acceptor3 acceptor1 --> proposer1:Promise Success\n\ Proposal(13, 1) acceptor2 --> proposer1 acceptor3 --> proposer1 proposer1 -> acceptor1:Accept request \n\ Proposal(13, 1) proposer1 -> acceptor2 proposer1 -> acceptor3 acceptor1 --> proposer1:Accept \n\ Proposal(13, 1) acceptor1 -> learner1:Accept \n\ Proposal(13, 1) acceptor2 --> proposer1:Accept \n\ Proposal(13, 1) acceptor2 -> learner1:Accept \n\ Proposal(13, 1) acceptor3 --> proposer1:Accept \n\ Proposal(13, 1) acceptor3 -> learner1:Accept \n\ Proposal(13, 1) learner1 -> learner1:chosen \n\ Proposal(13, 1) @enduml