changeset 8:0ad9752c0c85

add chapter5 and 6
author akahori
date Mon, 18 Feb 2019 18:35:32 +0900
parents d6cca85616e2
children fbcb40ca6456
files final_main/bibliography.tex final_main/chapter2/chapter2.tex final_main/chapter3/chapter3.tex final_main/chapter5/chapter5.tex final_main/chapter6/chapter6.tex final_main/images/paxos.graffle final_main/images/paxos.pu final_main/images/paxos1.pdf final_main/images/paxos1.pu final_main/images/paxos1.svg final_main/images/paxos2.pdf final_main/images/paxos2.pu final_main/images/paxos2.svg final_main/images/paxos3.pdf final_main/images/paxos3.pu final_main/images/paxos3.svg final_main/main.pdf
diffstat 17 files changed, 742 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/final_main/bibliography.tex	Sat Feb 16 23:15:20 2019 +0900
+++ b/final_main/bibliography.tex	Mon Feb 18 18:35:32 2019 +0900
@@ -13,16 +13,33 @@
 \bibitem{bitcoin}
 Bitcoin: A Peer-to-Peer Electronic Cash System \\
 \url{https://bitcoin.org/bitcoin.pdf}\\
-(2018年2月15日 アクセス)
+(Accessed: 2018/2/15)
+
+\bibitem{ethereum}
+Ethereum Homestead Documentation \\
+\url{http://www.ethdocs.org/en/latest/}\\
+(Accessed: 2018/2/17)
+
+
+\bibitem{paxos}
+Paxos made Simple \\
+\url{https://lamport.azurewebsites.net/pubs/paxos-simple.pdf}
+(Accessed: 2018/2/17)
+
+\bibitem{christie}
+照屋のぞみ. 分散フレームワークChristieの設計, Master’s thesis, 琉球大学 大学院理工学研究科, 2018.
+
 
 \bibitem{torque}
 TORQUE Introduction. \\
 \url{http://docs.adaptivecomputing.com/torque/4-2-8/help.htm#topics/0-intro/introduction.htm\%3FTocPath\%3DWelcome\%7C_____1}\\
-(2018年2月15日 アクセス)
+(Accessed: 2018/2/15)
+
 
 \bibitem{qsub-doc}
 qsub document. \\
 \url{http://docs.adaptivecomputing.com/torque/4-0-2/Content/topics/commands/qsub.htm}\\
-(2018年2月15日 アクセス)
+(Accessed: 2018/2/15)
+
 
 \end{thebibliography}
--- a/final_main/chapter2/chapter2.tex	Sat Feb 16 23:15:20 2019 +0900
+++ b/final_main/chapter2/chapter2.tex	Mon Feb 18 18:35:32 2019 +0900
@@ -5,7 +5,7 @@
 %%**************************************
 \chapter{ブロックチェーンについて}
 
-ブロックチェーンとは分散型台帳技術とも呼ばれ, 複数のトランザクションをまとめたブロック, そのブロックをハッシュによって繋げ, 前後関係を表した台帳というものを, システムに参加しているすべてのノードが保持する技術である. ブロックチェーンにはパブリック型とコンソーシアム型の2種類がある. パブリック型は不特定多数のノードを対象にしており, コンソーシアム型は管理者が許可したノードが参加している.
+ブロックチェーンとは分散型台帳技術とも呼ばれ, 複数のトランザクションをまとめたブロック, そのブロックをハッシュによって繋げ, 前後関係を表した台帳というものを, システムに参加している複数のノードが保持する技術である. ブロックチェーンにはパブリック型とコンソーシアム型の2種類がある. パブリック型は不特定多数のノードを対象にしており, コンソーシアム型は管理者が許可したノードが参加している.
 
 \section{P2P}
 ブロックチェーンのネットワーク間はP2Pで動く. つまり, ブロックチェーンネットワークはサーバー, クライアントの区別がなく, すべてのノードが平等である. そのため, 非中央的にデータの管理を行う. 
@@ -65,5 +65,6 @@
 
 
 
+
 %%文書終了****************************
 \end{document} 
\ No newline at end of file
--- a/final_main/chapter3/chapter3.tex	Sat Feb 16 23:15:20 2019 +0900
+++ b/final_main/chapter3/chapter3.tex	Mon Feb 18 18:35:32 2019 +0900
@@ -27,6 +27,7 @@
 \end{itemize}
 
 nonceはブロックのパラメータに含まれる. difficultyはProof of Workの難しさ, 正確に言えば1つのブロックを生成する時間を調整している.
+
 Proof of Workはこれらのパラメータを使って次のようにブロックを作る.
 
 \begin{enumerate}
@@ -84,7 +85,7 @@
 \item プロセスは停止する可能性がある. また, 復旧する可能性もある.
 \end{enumerate}
 
-Proof of Workにある特性の4がないが, これは許可したノードのみが参加可能だからである. つまり, 悪意あるノードが参加する可能性が少ないためである. 
+Proof of Workにある特性の4がないが, コンソーシアムブロックチェーンは3つの問題を解決するだけで十分である. なぜならば, コンソーシアムブロックチェーンは許可したノードのみが参加可能だからである. つまり, 悪意あるノードが参加する可能性が少ないためだ. 
 
 Paxosは3つの役割のノードがある.
 
@@ -95,9 +96,9 @@
 \end{description}
 
 Paxosのアルゴリズムに入る前に, 定義された用語を説明する. 以下にその用語の定義を示す.\begin{description}
-\item[提案(リクエスト)] 提案は, 異なる提案ごとにユニークな提案番号と, 値からなる. 提案番号とは, 異なる提案を見分けるための識別子であり, 単調増加する. 値は一意に決まってほしいデータである.
+\item[提案] 提案は, 異なる提案ごとにユニークな提案番号と値からなる. 提案番号とは, 異なる提案を見分けるための識別子であり, 単調増加する. 値は一意に決まってほしいデータである.
 \item[値(提案)がacceptされる] acceptorによって値(提案)が決まること. 
-\item[値(提案)が選択される] 過半数以上のacceptorによって, 値(提案)がacceptされた場合, それを値(提案)が選択されたと言う.
+\item[値(提案)が選択(chosen)される] 過半数以上のacceptorによって, 値(提案)がacceptされた場合, それを値(提案)が選択されたと言う.
 \end{description}
 
 
@@ -144,7 +145,7 @@
 \section{Paxosによるブロックチェーン}
 
 PaxosはProof of Workに比べ, CPUのリソースを消費せず, Transactionの確定に時間がかからない. そのため, Paxosでブロックのコンセンサスを取るブロックチェーンを実装することにはメリットが有る.
-また, Paxos自体がそもそもリーダー選出に向いているアルゴリズムである. そのため, リーダーを決め, そのノードのブロックチェーンの一貫性のみを考えることもできる.
+また, Paxos自体がリーダー選出に向いているアルゴリズムである. そのため, リーダーを決め, そのノードのブロックチェーンの一貫性のみを考えることもできる.
 
 
 
--- a/final_main/chapter5/chapter5.tex	Sat Feb 16 23:15:20 2019 +0900
+++ b/final_main/chapter5/chapter5.tex	Mon Feb 18 18:35:32 2019 +0900
@@ -6,7 +6,7 @@
 %%**************************************
 \chapter{評価}
 
-本研究では, 実際にコンセンサスアルゴリズムPaxosを分散環境上で実行した. 分散環境上で動かすため, JobSchedulerの一種であるTorque Resource Manager(Torque)を使った. ここではTorqueとはなにか, どのような目的で評価をしたかを述べる.
+本研究では, 実際にコンセンサスアルゴリズムPaxosを分散環境上で実行した. 分散環境上で動かすため, JobSchedulerの一種であるTorque Resource Manager(Torque)を使った. ここではTorqueとはなにか, どのような評価をしたかを述べる.
 
 \section{Torqueとは}
 
@@ -37,8 +37,47 @@
 \lstinputlisting[caption=torque-example.sh,label=code:torque-example]{./src/torque-example.sh}
 
 
-「\#PBS オプション」とすることにより実行環境を設定できる. 使用できるオプションは参考文献\cite{qsub-doc}に書かれてある. 例として, ノード数10(vm0からvm9まで), jobの名前を「ExampleJob」という形で実行した. その結果をExampleJobが
+「\#PBS オプション」とすることにより実行環境を設定できる. 使用できるオプションは参考文献\cite{qsub-doc}に書かれてある. このスクリプトでは, ノード数10(vm0からvm9まで), jobの名前を「ExampleJob」という形で実行する設定をしている. もし, このコードを投入した場合, Submit/Interactive Nodesが各vmにsshし, hostnameコマンドを実行する. 
+実行後はstdout, stderrorの出力を「job名.o数字」, 「job名.e数字」というファイルに書き出す.
+
+\section{PCクラスタ上でのPaxosの実験}
+
+PCクラスタ上で実際にPaxosを動かしてみる. 今回は単純化し, proposerの数を2, acceptorの数を3, learnerの数を1としてPaxosを動かし, 値が一意に決まるかどうかを見る. また, わかりやすいように提案の値を整数とし, 各proposerごとに異なった値とした. 正確には, 「proposer + 数字」 の数字の部分を値とし, コンセンサスを取るようにした.
+
+実験を3回行い, シーケンス図で結果を示したものを図\ref{fig:paxos1}, 図\ref{fig:paxos2}, 図\ref{fig:paxos3}に示す. なおこの結果はプログラム中のLog4j2を用いたlogの出力を元にLeanerが値を選択するまでを図にしたものである. 
+
+\begin{figure}[H]
+\centering
+  \fbox{
+   \includegraphics[scale=0.5]{./images/paxos1.pdf}
+  }
+\caption{実験1回目のPaxos}
+\label{fig:paxos1}
+\end{figure}
+
 
+\begin{figure}[H]
+\centering
+  \fbox{
+   \includegraphics[scale=0.8]{./images/paxos2.pdf}
+  }
+\caption{実験2回目のPaxos}
+\label{fig:paxos2}
+\end{figure}
+
+
+\begin{figure}[H]
+\centering
+  \fbox{
+   \includegraphics[scale=0.8]{./images/paxos3.pdf}
+  }
+\caption{実験3回目のPaxos}
+\label{fig:paxos3}
+\end{figure}
+
+いずれも一意の値を決めることができている. また, Learnerが値を選択した後でも, Paxosは常に決めた値を持ち続けるアルゴリズムである. 参照したLog4j2の出力では提案番号25, 31まで提案を続けていたが, 値がこれ以降に覆ることはなかった.
+
+今回はわかりやすいように値を数字で行った実験だったが, これをトランザクション, ブロックに応用することで, ブロックチェーンにおけるコンセンサス部分を完成させることができる.
 
 
 %%文書終了****************************
--- a/final_main/chapter6/chapter6.tex	Sat Feb 16 23:15:20 2019 +0900
+++ b/final_main/chapter6/chapter6.tex	Mon Feb 18 18:35:32 2019 +0900
@@ -5,6 +5,13 @@
 %%**************************************
 \chapter{まとめ}
 
+本研究ではブロックチェーンと, 分散環境上で値を一意に決めるコンセンサスアルゴリズムを述べ, Christieという分散フレームワークで実際にPaxosを作り, PCクラスタ上で動かした. その結果, コンセンサスの結果として一意のデータが取り出せることがわかった. 
+
+まだPCクラスタ上ではブロックチェーンを動かすことができない. しかし, Block, Transaction, Hash生成, 署名のためのクラスはいずれも作られている. Transactionにおいてはまだファイルのデータを入れる機能は実装していないが, これらを組み合わせれば簡易的なブロックチェーンが作れる. そのため, あとはPaxosとこれらのクラスをどのようにつなげるかが問題となる.
+また, Proof of Workを行うクラスも作られている. そのため, ブロックチェーンが実装できた場合, このクラスを用いてPaxosと速度比較も行える.
+
+今後の課題としては, Paxosによるブロックチェーンを作り, 分散クラスタ上でファイルのやり取りができるかを見る. その際にどの程度スケーラビリティがあるのか, Proof of Workと比較し, どの程度速度が変わるのかを調べていきたい.
+
 
 %%文書終了****************************
 \end{document} 
Binary file final_main/images/paxos.graffle has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos.pu	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,95 @@
+@startuml
+title Paxos1
+/' ======= 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 ======= '/
+
+proposer2 -> acceptor1:Prepare request \n\
+Proposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor1 --> proposer2:Promise Success\n\
+Proposal(8, 2)
+acceptor2 --> proposer2:Promise Success\n\
+Proposal(8, 2)
+acceptor3 --> proposer2:Promise Success\n\
+Proposal(8, 2)
+
+proposer1 -> acceptor1:Prepare request \n\
+Proposal(7, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 --> proposer1:Promise Fail\n\
+Proposal(8, 2)
+acceptor2 --> proposer1
+acceptor3 --> proposer1
+
+proposer2 -> acceptor1:Accept request \n\
+Proposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor2 --> proposer2:Accept \n\
+Proposal(8, 2)
+acceptor2 --> learner1:accept \n\
+Proposal(8, 2)
+
+proposer1 -> acceptor1:Prepare request \n\
+Proposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 --> proposer1:Promise Success\n\
+Proposal(13, 1)
+acceptor3 --> proposer1:Promise Success\n\
+Proposal(13, 1)
+
+acceptor1 --> proposer2:Accept Fail\n\
+Proposal(13, 1)
+acceptor3 --> proposer2:Accept Fail\n\
+Proposal(13, 1)
+proposer1 -> acceptor1:accept request \n\
+Proposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+
+acceptor2 --> proposer1:accept \n\
+Proposal(13, 1)
+acceptor2 --> learner1:accept \n\
+Proposal(13, 1)
+
+
+
+@enduml
\ No newline at end of file
Binary file final_main/images/paxos1.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos1.pu	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,74 @@
+@startuml
+title Paxos 1
+/' ======= 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
+
+proposer2 -> acceptor1:Prepare request \n\
+Proposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor1 --> proposer2:Promise Success\n\
+Proposal(8, 2)
+acceptor2 --> proposer2
+acceptor3 --> proposer2
+
+proposer2 -> acceptor1:Accept request \n\
+Proposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor1 --> proposer2:Accept \n\
+Proposal(8, 2)
+acceptor1 -> learner1:Accept \n\
+Proposal(8, 2)
+
+acceptor2 --> proposer2:Accept \n\
+Proposal(8, 2)
+acceptor2 -> learner1:Accept \n\
+Proposal(8, 2)
+
+learner1 -> learner1:chosen \n\
+Proposal(8, 2)
+
+@enduml
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos1.svg	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,71 @@
+<?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>
\ No newline at end of file
Binary file final_main/images/paxos2.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos2.pu	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,116 @@
+@startuml
+title Paxos 2
+/' ======= 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
+
+proposer2 -> acceptor1:Prepare request \n\
+Proposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor1 --> proposer2:Promise Success\n\
+Proposal(8, 2)
+acceptor2 --> proposer2
+acceptor3 --> proposer2
+
+proposer1 -> acceptor1:Accept request \n\
+Proposal(7, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+
+
+acceptor1 --> proposer1:Accept Fail\n\
+Proposal(8, 2)
+acceptor2 --> proposer1
+acceptor3 --> proposer1
+
+
+proposer2 -> acceptor2:Accept request \n\
+Proposal(8, 2)
+
+acceptor2 --> proposer2:Accept \n\
+Proposal(8, 2)
+acceptor2 -> learner1:Accept \n\
+Proposal(8, 2)
+
+proposer1 -> acceptor1:Prepare request \n\
+Proposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor2 --> proposer1:Promise Success\n\
+But Accepted \n\
+Proposal(8, 2)
+acceptor1 --> proposer1:Promise Success\n\
+Proposal(13, 1)
+acceptor3 --> proposer1
+
+proposer2 -> acceptor1:Accept request \n\
+Proposal(8, 2)
+proposer2 -> acceptor3
+
+acceptor1 --> proposer2:Accept Fail\n\
+Proposal(8, 2)
+acceptor3 --> proposer2
+
+proposer1 -> acceptor1:Accept request \n\
+Proposal(13, 2)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 --> proposer2:Accept \n\
+Proposal(13, 2)
+acceptor1 -> learner1:Accept \n\
+Proposal(13, 2)
+
+
+acceptor2 --> proposer2:Accept \n\
+Proposal(13, 2)
+acceptor2 -> learner1:Accept \n\
+Proposal(13, 2)
+
+learner1 -> learner1:chosen \n\
+Proposal(13, 2)
+
+@enduml
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos2.svg	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,102 @@
+<?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="1316px" preserveAspectRatio="none" style="width:872px;height:1316px;" version="1.1" viewBox="0 0 872 1316" width="872px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ronj4dwj7ktb" 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="409.5" y="23.5352">Paxos 2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" 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="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="1275.709"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="1275.709"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="1295.2441">proposer1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="1295.2441">proposer2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="1295.2441">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="1295.2441">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="1295.2441">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" 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(#f1ronj4dwj7ktb)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="1274.709"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="1295.2441">learner1</text><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1ronj4dwj7ktb)" height="1187.7324" 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="78" x2="340" y1="406.082" y2="406.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="386.0293">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="401.3398">Proposal(7, 1)</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="78" 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="78" x2="612" y1="434.082" y2="434.082"/><polygon fill="#000000" points="89,474.7031,79,478.7031,89,482.7031,85,478.7031" 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="478.7031" y2="478.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="95" y="458.6504">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="473.9609">Proposal(8, 2)</text><polygon fill="#000000" points="89,488.7031,79,492.7031,89,496.7031,85,492.7031" 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="492.7031" y2="492.7031"/><polygon fill="#000000" points="89,502.7031,79,506.7031,89,510.7031,85,506.7031" 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="506.7031" y2="506.7031"/><polygon fill="#000000" points="470,547.3242,480,551.3242,470,555.3242,474,551.3242" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="551.3242" y2="551.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="531.2715">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="546.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,591.9453,219,595.9453,229,599.9453,225,595.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="595.9453" y2="595.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="575.8926">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="591.2031">Proposal(8, 2)</text><polygon fill="#000000" points="737,636.5664,747,640.5664,737,644.5664,741,640.5664" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="640.5664" y2="640.5664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="620.5137">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="499" y="635.8242">Proposal(8, 2)</text><polygon fill="#000000" points="334,681.1875,344,685.1875,334,689.1875,338,685.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="685.1875" y2="685.1875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="665.1348">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="680.4453">Proposal(13, 1)</text><polygon fill="#000000" points="470,695.1875,480,699.1875,470,703.1875,474,699.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="699.1875" y2="699.1875"/><polygon fill="#000000" points="606,709.1875,616,713.1875,606,717.1875,610,713.1875" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="713.1875" y2="713.1875"/><polygon fill="#000000" points="89,769.1191,79,773.1191,89,777.1191,85,773.1191" 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="773.1191" y2="773.1191"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="737.7559">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="95" y="753.0664">But Accepted</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="768.377">Proposal(8, 2)</text><polygon fill="#000000" points="89,813.7402,79,817.7402,89,821.7402,85,817.7402" 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="817.7402" y2="817.7402"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="797.6875">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="812.998">Proposal(13, 1)</text><polygon fill="#000000" points="89,827.7402,79,831.7402,89,835.7402,85,831.7402" 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="831.7402" y2="831.7402"/><polygon fill="#000000" points="334,872.3613,344,876.3613,334,880.3613,338,876.3613" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="876.3613" y2="876.3613"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="225" y="856.3086">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="871.6191">Proposal(8, 2)</text><polygon fill="#000000" points="606,886.3613,616,890.3613,606,894.3613,610,890.3613" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="890.3613" y2="890.3613"/><polygon fill="#000000" points="229,930.9824,219,934.9824,229,938.9824,225,934.9824" 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="934.9824" y2="934.9824"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="235" y="914.9297">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="930.2402">Proposal(8, 2)</text><polygon fill="#000000" points="229,944.9824,219,948.9824,229,952.9824,225,948.9824" 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="948.9824" y2="948.9824"/><polygon fill="#000000" points="334,989.6035,344,993.6035,334,997.6035,338,993.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="993.6035" y2="993.6035"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="973.5508">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="988.8613">Proposal(13, 2)</text><polygon fill="#000000" points="470,1003.6035,480,1007.6035,470,1011.6035,474,1007.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="1007.6035" y2="1007.6035"/><polygon fill="#000000" points="606,1017.6035,616,1021.6035,606,1025.6035,610,1021.6035" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="1021.6035" y2="1021.6035"/><polygon fill="#000000" points="229,1062.2246,219,1066.2246,229,1070.2246,225,1066.2246" 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="1066.2246" y2="1066.2246"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="1046.1719">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="235" y="1061.4824">Proposal(13, 2)</text><polygon fill="#000000" points="737,1106.8457,747,1110.8457,737,1114.8457,741,1110.8457" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="1110.8457" y2="1110.8457"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="1090.793">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="363" y="1106.1035">Proposal(13, 2)</text><polygon fill="#000000" points="229,1151.4668,219,1155.4668,229,1159.4668,225,1155.4668" 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="1155.4668" y2="1155.4668"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="235" y="1135.4141">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="235" y="1150.7246">Proposal(13, 2)</text><polygon fill="#000000" points="737,1196.0879,747,1200.0879,737,1204.0879,741,1200.0879" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="1200.0879" y2="1200.0879"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="1180.0352">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="499" y="1195.3457">Proposal(13, 2)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="1244.709" y2="1244.709"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="1244.709" y2="1257.709"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="1257.709" y2="1257.709"/><polygon fill="#000000" points="770,1253.709,760,1257.709,770,1261.709,766,1257.709" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="1224.6563">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="766" y="1239.9668">Proposal(13, 2)</text><!--
+@startuml
+title Paxos 2
+
+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
+
+proposer1 -> acceptor1:Accept request \nProposal(7, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+
+
+acceptor1 - -> proposer1:Accept Fail\nProposal(8, 2)
+acceptor2 - -> proposer1
+acceptor3 - -> proposer1
+
+
+proposer2 -> acceptor2:Accept request \nProposal(8, 2)
+
+acceptor2 - -> proposer2:Accept \nProposal(8, 2)
+acceptor2 -> learner1:Accept \nProposal(8, 2)
+
+proposer1 -> acceptor1:Prepare request \nProposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor2 - -> proposer1:Promise Success\nBut Accepted \nProposal(8, 2)
+acceptor1 - -> proposer1:Promise Success\nProposal(13, 1)
+acceptor3 - -> proposer1
+
+proposer2 -> acceptor1:Accept request \nProposal(8, 2)
+proposer2 -> acceptor3
+
+acceptor1 - -> proposer2:Accept Fail\nProposal(8, 2)
+acceptor3 - -> proposer2
+
+proposer1 -> acceptor1:Accept request \nProposal(13, 2)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 - -> proposer2:Accept \nProposal(13, 2)
+acceptor1 -> learner1:Accept \nProposal(13, 2)
+
+
+acceptor2 - -> proposer2:Accept \nProposal(13, 2)
+acceptor2 -> learner1:Accept \nProposal(13, 2)
+
+learner1 -> learner1:chosen \nProposal(13, 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>
\ No newline at end of file
Binary file final_main/images/paxos3.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos3.pu	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,112 @@
+@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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/final_main/images/paxos3.svg	Mon Feb 18 18:35:32 2019 +0900
@@ -0,0 +1,97 @@
+<?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="1275px" preserveAspectRatio="none" style="width:872px;height:1275px;" version="1.1" viewBox="0 0 872 1275" width="872px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jrqdh23d0xyz" 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="409.5" y="23.5352">Paxos 3</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" 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="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="213" x2="213" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="351" x2="351" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="487" x2="487" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="623" x2="623" y1="68.9766" y2="1235.0195"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="754" x2="754" y1="68.9766" y2="1235.0195"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="28" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="35" y="1254.5547">proposer1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="86" x="168" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="175" y="1254.5547">proposer2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="308" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="315" y="1254.5547">acceptor1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="444" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="451" y="1254.5547">acceptor2</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="82" x="580" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="587" y="1254.5547">acceptor3</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" 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(#f1jrqdh23d0xyz)" height="30.4883" style="stroke: #000000; stroke-width: 1.5;" width="72" x="716" y="1234.0195"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="58" x="723" y="1254.5547">learner1</text><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="68" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="208" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="346" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="482" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" style="stroke: #000000; stroke-width: 1.0;" width="10" x="618" y="78.9766"/><rect fill="#FFFFFF" filter="url(#f1jrqdh23d0xyz)" height="1147.043" 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="606,256.8398,616,260.8398,606,264.8398,610,260.8398" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="260.8398" y2="260.8398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="240.7871">Accept Request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="256.0977">Proposal(7, 1)</text><polygon fill="#000000" points="89,301.4609,79,305.4609,89,309.4609,85,305.4609" 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="305.4609" y2="305.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="285.4082">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="95" y="300.7188">Proposal(7,1)</text><polygon fill="#000000" points="737,346.082,747,350.082,737,354.082,741,350.082" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="628" x2="743" y1="350.082" y2="350.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="635" y="330.0293">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="635" y="345.3398">Proposal(7, 1)</text><polygon fill="#000000" points="334,390.7031,344,394.7031,334,398.7031,338,394.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="340" y1="394.7031" y2="394.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="225" y="374.6504">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="225" y="389.9609">Proposal(8, 2)</text><polygon fill="#000000" points="470,404.7031,480,408.7031,470,412.7031,474,408.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="476" y1="408.7031" y2="408.7031"/><polygon fill="#000000" points="606,418.7031,616,422.7031,606,426.7031,610,422.7031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="218" x2="612" y1="422.7031" y2="422.7031"/><polygon fill="#000000" points="229,463.3242,219,467.3242,229,471.3242,225,467.3242" 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="467.3242" y2="467.3242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="447.2715">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="462.582">Proposal(8, 2)</text><polygon fill="#000000" points="229,477.3242,219,481.3242,229,485.3242,225,481.3242" 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="481.3242" y2="481.3242"/><polygon fill="#000000" points="229,537.2559,219,541.2559,229,545.2559,225,541.2559" 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="541.2559" y2="541.2559"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="235" y="505.8926">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="235" y="521.2031">But Accepted</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="235" y="536.5137">Proposal(7, 1)</text><polygon fill="#000000" points="334,581.877,344,585.877,334,589.877,338,585.877" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="585.877" y2="585.877"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="565.8242">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="85" y="581.1348">Proposal(7, 1)</text><polygon fill="#000000" points="470,595.877,480,599.877,470,603.877,474,599.877" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="599.877" y2="599.877"/><polygon fill="#000000" points="89,655.8086,79,659.8086,89,663.8086,85,659.8086" 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="659.8086" y2="659.8086"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="95" y="624.4453">Accept Fail</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="95" y="639.7559">Promised</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="95" y="655.0664">Proposal(8, 2)</text><polygon fill="#000000" points="89,669.8086,79,673.8086,89,677.8086,85,673.8086" 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="673.8086" y2="673.8086"/><polygon fill="#000000" points="334,714.4297,344,718.4297,334,722.4297,338,718.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="718.4297" y2="718.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="85" y="698.377">Prepare request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="713.6875">Proposal(13, 1)</text><polygon fill="#000000" points="470,728.4297,480,732.4297,470,736.4297,474,732.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="732.4297" y2="732.4297"/><polygon fill="#000000" points="606,742.4297,616,746.4297,606,750.4297,610,746.4297" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="746.4297" y2="746.4297"/><polygon fill="#000000" points="89,787.0508,79,791.0508,89,795.0508,85,791.0508" 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="791.0508" y2="791.0508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="95" y="770.998">Promise Success</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="786.3086">Proposal(13, 1)</text><polygon fill="#000000" points="89,801.0508,79,805.0508,89,809.0508,85,805.0508" 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="805.0508" y2="805.0508"/><polygon fill="#000000" points="89,815.0508,79,819.0508,89,823.0508,85,819.0508" 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="819.0508" y2="819.0508"/><polygon fill="#000000" points="334,859.6719,344,863.6719,334,867.6719,338,863.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="340" y1="863.6719" y2="863.6719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="843.6191">Accept request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="85" y="858.9297">Proposal(13, 1)</text><polygon fill="#000000" points="470,873.6719,480,877.6719,470,881.6719,474,877.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="476" y1="877.6719" y2="877.6719"/><polygon fill="#000000" points="606,887.6719,616,891.6719,606,895.6719,610,891.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="78" x2="612" y1="891.6719" y2="891.6719"/><polygon fill="#000000" points="89,932.293,79,936.293,89,940.293,85,936.293" 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="936.293" y2="936.293"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="916.2402">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="931.5508">Proposal(13, 1)</text><polygon fill="#000000" points="737,976.9141,747,980.9141,737,984.9141,741,980.9141" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="356" x2="743" y1="980.9141" y2="980.9141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="363" y="960.8613">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="363" y="976.1719">Proposal(13, 1)</text><polygon fill="#000000" points="89,1021.5352,79,1025.5352,89,1029.5352,85,1025.5352" 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="1025.5352" y2="1025.5352"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="1005.4824">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="1020.793">Proposal(13, 1)</text><polygon fill="#000000" points="737,1066.1563,747,1070.1563,737,1074.1563,741,1070.1563" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="492" x2="743" y1="1070.1563" y2="1070.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="499" y="1050.1035">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="499" y="1065.4141">Proposal(13, 1)</text><polygon fill="#000000" points="89,1110.7773,79,1114.7773,89,1118.7773,85,1114.7773" 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="1114.7773" y2="1114.7773"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="95" y="1094.7246">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="95" y="1110.0352">Proposal(13, 1)</text><polygon fill="#000000" points="737,1155.3984,747,1159.3984,737,1163.3984,741,1159.3984" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="628" x2="743" y1="1159.3984" y2="1159.3984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="635" y="1139.3457">Accept</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="635" y="1154.6563">Proposal(13, 1)</text><line style="stroke: #000000; stroke-width: 1.0;" x1="759" x2="801" y1="1204.0195" y2="1204.0195"/><line style="stroke: #000000; stroke-width: 1.0;" x1="801" x2="801" y1="1204.0195" y2="1217.0195"/><line style="stroke: #000000; stroke-width: 1.0;" x1="760" x2="801" y1="1217.0195" y2="1217.0195"/><polygon fill="#000000" points="770,1213.0195,760,1217.0195,770,1221.0195,766,1217.0195" style="stroke: #000000; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="766" y="1183.9668">chosen</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="766" y="1199.2773">Proposal(13, 1)</text><!--
+@startuml
+title Paxos 3
+
+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
+
+proposer1 -> acceptor3:Accept Request \nProposal(7, 1)
+acceptor3 - -> proposer1: Accept \nProposal(7,1)
+acceptor3 -> learner1:Accept \nProposal(7, 1)
+
+
+proposer2 -> acceptor1:Prepare request \nProposal(8, 2)
+proposer2 -> acceptor2
+proposer2 -> acceptor3
+
+acceptor1 - -> proposer2:Promise Success\nProposal(8, 2)
+acceptor2 - -> proposer2
+acceptor3 - -> proposer2:Promise Success \nBut Accepted \nProposal(7, 1)
+
+proposer1 -> acceptor1:Accept request \nProposal(7, 1)
+proposer1 -> acceptor2
+
+acceptor1 - -> proposer1:Accept Fail\nPromised \nProposal(8, 2)
+acceptor2 - -> proposer1
+
+
+proposer1 -> acceptor1:Prepare request \nProposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 - -> proposer1:Promise Success\nProposal(13, 1)
+acceptor2 - -> proposer1
+acceptor3 - -> proposer1
+
+
+proposer1 -> acceptor1:Accept request \nProposal(13, 1)
+proposer1 -> acceptor2
+proposer1 -> acceptor3
+
+acceptor1 - -> proposer1:Accept \nProposal(13, 1)
+acceptor1 -> learner1:Accept \nProposal(13, 1)
+
+acceptor2 - -> proposer1:Accept \nProposal(13, 1)
+acceptor2 -> learner1:Accept \nProposal(13, 1)
+
+
+
+acceptor3 - -> proposer1:Accept \nProposal(13, 1)
+acceptor3 -> learner1:Accept \nProposal(13, 1)
+
+learner1 -> learner1:chosen \nProposal(13, 1)
+
+@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>
\ No newline at end of file
Binary file final_main/main.pdf has changed