Mercurial > hg > Papers > 2014 > nobuyasu-master
diff paper/chapter3.tex @ 21:a4dfb70496ee
Added figure
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 23 Jan 2014 16:35:50 +0900 |
parents | a7fbd5db80fb |
children | 56753cfbeeab |
line wrap: on
line diff
--- a/paper/chapter3.tex Thu Jan 23 15:33:54 2014 +0900 +++ b/paper/chapter3.tex Thu Jan 23 16:35:50 2014 +0900 @@ -78,7 +78,7 @@ 次に続く label="child1" は, node0 が node1 のデータに"child1"という文字列を使うことでアクセス できることを示す. -dot ファイルを読み込んだ Alice のトポロジーマネージャーに対して, サーバーノードは +dot ファイルを読み込んだ Alice のトポロジーマネージャーに対して, サーバノードは 誰に接続を行えばよいかを訪ねる. トポロジーマネージャーは訪ねてきたサーバノードに対してノード番号を割り振り, dot ファイル に記述している通りにサーバノード同士が接続を行うよう指示をだす. @@ -111,29 +111,52 @@ } \end{lstlisting} -そして, プログラムの起動時にトポロジーマネージャーが動いているサーバの - - -\begin{comment} -\subsection{トポロジー用 dot ファイル形成スクリプト} -Alice ではトポロジー形成用スクリプトが用意されている. -スクリプトを使用することで, ノードの数を指定するだけで dot ファイルの作成が行える. -また, ツリーに限らずリングやメッシュといったトポロジーの形成も行うことができる. -\end{comment} +そして, プログラムの起動時にはトポロジーマネージャーが動いているサーバのドメインとポート番号を +渡すことでトポロジーの形成が行われれプログラムの処理がはしる. +例えば, mass00.cs.ie.u-ryukyu.ac.jp というサーバ上でポート番号10000を指定してトポロジーマネージャーを +起動した場合は次のようになる(\ref{src:run_program}). +\begin{lstlisting}[frame=lrbt,label=src:run_program,caption=トポロジーマネージャーの利用,numbers=left] +% java Program -host mass00.cs.ie.u-ryukyu.ac.jp -port 10000 +\end{lstlisting} % MessagePackの説明もここに簡単に入れたほうがいいかも. \section{Aliceを用いての分散実装} -Alice によりトポロジーの形成を行うことができれば, 後はデータの送受信を行う部分の実装になる. +形成されたトポロジー上でのデータの送受信を行う部分について述べる. \section{ログのシリアライズ} +ここでログのシリアライズについて述べる. -ログのシリアライズについて述べる. シリアライズとは, データをネットワーク上に流しても良い形式に変換することである. \section{Jungleの永続性の実装} -\subsection{マージの実装} + + +\section{マージの実装} +Jungle への分散実装を行うことである問題が発生する. +それは更新されたデータ同士が衝突を起こした時の処理である. +Jungle はリクエストがきた場合, 現在もっているデータを返す. +しかしそのデータは最新のものであるかは保証されない. +よって, 別のサーバノードで動いている Jungle からの更新データと衝突する可能性がある. + +この問題に対して Jungle はアプリケーションレベルでのマージを実装して貰うことで解決をはかる. +今回 Jungle に分散を行うにあたり掲示板プログラムを実装した. +掲示板プログラムに実装を行ったマージの例について述べる. +Jungle を用いた掲示板プログラムのデータ保持方法を示したのが図\ref{fig:merge1}になる. +\begin{figure}[htpb] + \begin{center} + \includegraphics[scale=0.70]{figures/merge1.pdf} + \caption{Jungle による掲示板プログラムのデータ保持方法} + \label{fig:merge1} + \end{center} +\end{figure} + +掲示板プログラムでは各掲示板毎に1つの木構造が作成される. +また, この時作成された木構造データのルートノードを保持する木構造が別にある. + + +