comparison paper/chapter3.tex @ 46:c63aaa629330

Added dat files
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Fri, 31 Jan 2014 05:38:58 +0900
parents cd3b8cf7a3a1
children b303f22d8b0d
comparison
equal deleted inserted replaced
45:cd3b8cf7a3a1 46:c63aaa629330
234 \end{lstlisting} 234 \end{lstlisting}
235 MessagePackでシリアライズ可能な形としているためDataSegmentはネットワークを介して 235 MessagePackでシリアライズ可能な形としているためDataSegmentはネットワークを介して
236 送受信が可能である. 236 送受信が可能である.
237 237
238 238
239 \section{Aliceを用いたJungleの分散実装} 239 \section{ログのシリアライズ}
240 ここまでAliceを用いたプログラミングの方法について述べた. 240 Jungleの具体的な分散実装について述べる.
241 241 Jungleの分散実装はデータ編集のログを他のサーバに送ることで行うことを第3章で説明した.
242 242 実装にあたり, 解決しなければならない問題はまず, ログをDataSegmentで扱える形にすることである.
243 243 そのためには, @Messageアノテーションを付けたログのクラスの作成を行わなければならない.
244 \subsection{ログのシリアライズ} 244
245 ここでログのシリアライズについて述べる. 245
246 246 \subsection{TreeOperationLogの実体}
247 247 TreeOperationの仕様は次の通りである.
248 シリアライズとは, データをネットワーク上に流しても良い形式に変換することである. 248 \begin{lstlisting}[frame=lrbt,label=src:treeoperationlog,aption=TreeOperationLogの仕様,numbers=left]
249 249 public interface TreeOperationLog extends Iterable<TreeOperation>
250 250 {
251 \subsection{} 251 public TreeOperationLog add(NodePath _p,NodeOperation _op);
252 public TreeOperationLog append(TreeOperationLog _log);
253 public int length();
254 }
255 \end{lstlisting}
256
257
258
252 % TreeOperationLog に木の名前の情報がない 259 % TreeOperationLog に木の名前の情報がない
253 % そのため木の名前を追加して持たせた 260 % そのため木の名前を追加して持たせた
254 % 木がなければそのばでつくるようにした 261 % 木がなければそのばでつくるようにした
262
263 \subsection{local専用の編集の用意}
264
265
266 \subsection{}
267
268
255 269
256 \section{掲示板プログラムにおけるマージの実装} 270 \section{掲示板プログラムにおけるマージの実装}
257 Jungle に分散実装を行った後の問題としてデータ衝突がある. 271 Jungle に分散実装を行った後の問題としてデータ衝突がある.
258 他のサーバノードから送られてくるデータが既に手元で変更を加えた木構造を対象とした 272 他のサーバノードから送られてくるデータが既に手元で変更を加えた木構造を対象とした
259 場合に発生する問題である. 273 場合に発生する問題である.