view images/paxos1.svg @ 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

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="728px" preserveAspectRatio="none" style="width:864px;height:728px;" version="1.1" viewBox="0 0 864 728" width="864px" zoomAndPan="magnify"><defs><filter height="300%" id="fc7ra6n53s53c" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="405.5" y="23.5352">Paxos 1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="73" x2="73" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="688.1875"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="688.1875"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="54.0234">proposer1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="707.7227">proposer1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="54.0234">proposer2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="707.7227">proposer2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="54.0234">acceptor1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="707.7227">acceptor1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="54.0234">acceptor2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="707.7227">acceptor2</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="54.0234">acceptor3</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="707.7227">acceptor3</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="33.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="54.0234">learner1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="687.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="707.7227">learner1</text><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#fc7ra6n53s53c)" height="600.2109" style="stroke: #000000; stroke-width: 1.0;" width="10" x="749" y="78.9766"/><polygon fill="#000000" points="334,111.5977,344,115.5977,334,119.5977,338,115.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="115.5977" y2="115.5977"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="95.5449">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="110.8555">Proposal(7, 1)</text><polygon fill="#000000" points="470,125.5977,480,129.5977,470,133.5977,474,129.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="129.5977" y2="129.5977"/><polygon fill="#000000" points="606,139.5977,616,143.5977,606,147.5977,610,143.5977" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="143.5977" y2="143.5977"/><polygon fill="#000000" points="89,184.2188,79,188.2188,89,192.2188,85,188.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="345" y1="188.2188" y2="188.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="168.166">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="183.4766">Proposal(7, 1)</text><polygon fill="#000000" points="89,198.2188,79,202.2188,89,206.2188,85,202.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="481" y1="202.2188" y2="202.2188"/><polygon fill="#000000" points="89,212.2188,79,216.2188,89,220.2188,85,216.2188" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="83" x2="617" y1="216.2188" y2="216.2188"/><polygon fill="#000000" points="334,256.8398,344,260.8398,334,264.8398,338,260.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="260.8398" y2="260.8398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="225" y="240.7871">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="256.0977">Proposal(8, 2)</text><polygon fill="#000000" points="470,270.8398,480,274.8398,470,278.8398,474,274.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="274.8398" y2="274.8398"/><polygon fill="#000000" points="606,284.8398,616,288.8398,606,292.8398,610,288.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="288.8398" y2="288.8398"/><polygon fill="#000000" points="229,329.4609,219,333.4609,229,337.4609,225,333.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="333.4609" y2="333.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="313.4082">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="328.7188">Proposal(8, 2)</text><polygon fill="#000000" points="229,343.4609,219,347.4609,229,351.4609,225,347.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="347.4609" y2="347.4609"/><polygon fill="#000000" points="229,357.4609,219,361.4609,229,365.4609,225,361.4609" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="617" y1="361.4609" y2="361.4609"/><polygon fill="#000000" points="334,402.082,344,406.082,334,410.082,338,406.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="406.082" y2="406.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="386.0293">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="401.3398">Proposal(8, 2)</text><polygon fill="#000000" points="470,416.082,480,420.082,470,424.082,474,420.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="420.082" y2="420.082"/><polygon fill="#000000" points="606,430.082,616,434.082,606,438.082,610,434.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="434.082" y2="434.082"/><polygon fill="#000000" points="229,474.7031,219,478.7031,229,482.7031,225,478.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="345" y1="478.7031" y2="478.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="458.6504">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="473.9609">Proposal(8, 2)</text><polygon fill="#000000" points="737,519.3242,747,523.3242,737,527.3242,741,523.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="523.3242" y2="523.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="503.2715">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="363" y="518.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,563.9453,219,567.9453,229,571.9453,225,567.9453" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="223" x2="481" y1="567.9453" y2="567.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="547.8926">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="563.2031">Proposal(8, 2)</text><polygon fill="#000000" points="737,608.5664,747,612.5664,737,616.5664,741,612.5664" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="612.5664" y2="612.5664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="592.5137">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="499" y="607.8242">Proposal(8, 2)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="657.1875" y2="657.1875"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="657.1875" y2="670.1875"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="670.1875" y2="670.1875"/><polygon fill="#000000" points="770,666.1875,760,670.1875,770,674.1875,766,670.1875" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="637.1348">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="766" y="652.4453">Proposal(8, 2)</text><!--
@startuml
title Paxos 1

skinparam sequence {
ArrowColor black
LifeLineBorderColor black

ParticipantBorderColor black
ParticipantBackgroundColor white
ParticipantPadding 20
}


participant proposer1
activate proposer1
participant proposer2
activate proposer2

participant acceptor1
activate acceptor1
participant acceptor2
activate acceptor2
participant acceptor3
activate acceptor3

participant learner1
activate learner1


proposer1 -> acceptor1:Prepare request \nProposal(7, 1)
proposer1 -> acceptor2
proposer1 -> acceptor3

acceptor1 - -> proposer1:Promise Success\nProposal(7, 1)
acceptor2 - -> proposer1
acceptor3 - -> proposer1

proposer2 -> acceptor1:Prepare request \nProposal(8, 2)
proposer2 -> acceptor2
proposer2 -> acceptor3

acceptor1 - -> proposer2:Promise Success\nProposal(8, 2)
acceptor2 - -> proposer2
acceptor3 - -> proposer2

proposer2 -> acceptor1:Accept request \nProposal(8, 2)
proposer2 -> acceptor2
proposer2 -> acceptor3

acceptor1 - -> proposer2:Accept \nProposal(8, 2)
acceptor1 -> learner1:Accept \nProposal(8, 2)

acceptor2 - -> proposer2:Accept \nProposal(8, 2)
acceptor2 -> learner1:Accept \nProposal(8, 2)

learner1 -> learner1:chosen \nProposal(8, 2)

@enduml

PlantUML version 1.2019.01(Sun Feb 10 00:32:04 JST 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.1+13
Operating System: Mac OS X
OS Version: 10.13.6
Default Encoding: UTF-8
Language: ja
Country: JP
--></g></svg>