changeset 69:4f31182c8244

fixed
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 01 Feb 2014 22:41:24 +0900
parents 01fadc801c18
children 26bfd74c4c41
files paper/chapter1.tex paper/chapter2.tex paper/chapter3.tex paper/chapter4.tex paper/conclusion.tex paper/figures/alice_topology.xbb paper/figures/bldsv12_read_bench.xbb paper/figures/bldsv12_write_bench.xbb paper/figures/cap_theorem.xbb paper/figures/cas_experiment.xbb paper/figures/cassandra.xbb paper/figures/cassandra_ring.xbb paper/figures/clients_request_servers.xbb paper/figures/cluster_benchmark.xbb paper/figures/cluster_request_server.xbb paper/figures/consistency_quorum.xbb paper/figures/consisutency_quorum.xbb paper/figures/cs_ds.xbb paper/figures/deos_proccess.xbb paper/figures/destructive_tree.xbb paper/figures/distribute_jungle.xbb paper/figures/distributed_read_bench.pdf paper/figures/distributed_read_bench.xbb paper/figures/distributed_repository.xbb paper/figures/distributed_write_bench.pdf paper/figures/distributed_write_bench.xbb paper/figures/dsandcs.xbb paper/figures/jungle_experiment.xbb paper/figures/memcached.xbb paper/figures/merge1.xbb paper/figures/merge2.xbb paper/figures/merge_imp1.xbb paper/figures/merge_imp2.xbb paper/figures/mongodb_sharding.xbb paper/figures/neo4j_replica.xbb paper/figures/network_topology_ring.xbb paper/figures/network_topology_tree.xbb paper/figures/nodepath.xbb paper/figures/non_destructive_edit1.xbb paper/figures/non_destructive_edit2.xbb paper/figures/non_destructive_edit3.xbb paper/figures/non_destructive_edit4.xbb paper/figures/non_destructive_merit.xbb paper/figures/non_destructive_tree.xbb paper/figures/nondestructive_edit1.xbb paper/figures/putChildLog.xbb paper/figures/putLog.xbb paper/figures/read_bench.xbb paper/figures/remote_codesegment.xbb paper/figures/testcodesegment.xbb paper/figures/topology_mesh.xbb paper/figures/tree50.xbb paper/figures/tree_conflict.xbb paper/figures/tree_conflict2.xbb paper/figures/tree_conflict3.xbb paper/figures/tree_topology.xbb paper/figures/tree_topology_noarrow.xbb paper/figures/treeoperationlog1.xbb paper/figures/write_bench.xbb paper/master_paper.bib paper/master_paper.pdf
diffstat 61 files changed, 137 insertions(+), 118 deletions(-) [+]
line wrap: on
line diff
--- a/paper/chapter1.tex	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/chapter1.tex	Sat Feb 01 22:41:24 2014 +0900
@@ -19,8 +19,6 @@
 垂直分割や水平分割といった方法によりデータを分けることはできるが, 分割を行うほど
 データの扱いは複雑になっていく.
 
-それらRDBが苦手としていることを得意とするデータベースとしてNoSQLがある.
-
 \section{NoSQLデータベース}
 NoSQLはNot Only SQLの略で, SQLを使わないデータベースのことを指す.
 NoSQLデータベースはRDBとは違いスキーマがない.
@@ -28,7 +26,6 @@
 
 %また, スケーラビリティも持ちあわせており, 汎用的なマシンを集めることで性能をあげる
 %ことができるといった特徴を持つ.
-
 後述するConsistency HashingやShardingといった方法で複数ノードでデータの分散を行うことで
 スケーラビリティの確保を行う.
 単純なノードの追加により負荷分散を行うことができる.
@@ -66,7 +63,7 @@
 Key-Valueストアとなっている.
 RDBとも連携して使うことができ, その場合メモリの中にデータを保持させることでディスクへのアクセスを減らし
 処理性能を上げることができる.
-メモリの容量がなくなると, LRU(Least Recently Used)のため一番古いデータはメモリから削除されてしまう.
+ LRU(Least Recently Used)のため, メモリの容量がなくなると一番古いデータはメモリから削除されてしまう.
 memcachedは永続性は考慮していない.
 
 また, 分散を行う機能はサーバ側に備わっておらず, クライアント側の実装に任せている.
@@ -78,7 +75,7 @@
   \begin{center}
     \includegraphics[scale=0.7]{figures/memcached.pdf}
     \caption{memchachedのデータ分散}
-    \label{fig:memchached}
+    \label{fig:memcached}
   \end{center}
 \end{figure}
 
@@ -94,11 +91,11 @@
 が行いやすい.
 
 MongoDB は保存したデータを複数のサーバに複製をとる.
-これはレプリケーション(replication)と呼ばれる.
+これはReplicationと呼ばれる.
 また, 1つのサーバが全てのデータを持つのでなく, ある範囲の値を別々の
 サーバに分割させて保持する.
 これをShardingという.
-MongoDB はレプリケーションとShardingにより分断耐性と一貫性を持つ.
+MongoDB はReplicationとShardingにより分断耐性と一貫性を持つ.
 
 % クエリ言語として JavaScript を採用しており, 演算子を自分作れるという利点を持つ.
 % スペルミスに弱い
@@ -117,9 +114,9 @@
 \subsection{Neo4j}
 Neo4j は, グラフデータベースと呼ばれる NoSQL のデータベースである.
 データをグラフとして保存する.
-グラフはノードとリレーションシップにより表され, それぞれがプロパティを持つことができる.
-リレーションシップはグラフでいうところのエッジにあたる.
-ノードからリレーションシップを辿り, 各プロパティをみることでデータの取得を行うことができる.
+グラフはノードとRelationshipにより表され, それぞれがプロパティを持つことができる.
+Relationshipはグラフでいうところのエッジにあたる.
+ノードからRelationshipを辿り, 各プロパティをみることでデータの取得を行うことができる.
 通常データベースでは, データの取り出しに価の結合や条件の判定を行う.
 だが, グラフデータベースグラフはどれだけデータが大きくなろうがノードからノードへの移動は1ステップですむ.
 そのため, どれだけデータが大きくなろうと, データが小さい時と同じ計算量でデータの取得が行える.
@@ -172,15 +169,23 @@
 そうでないときで読み込みと書き込みの速度をあげることができる.
 一貫性が重要なデータに関してはQUORUMにより書き込み読み込みを行うことで常に最新のデータを取得することができる.
 多少データが古くてもよい場合はONEなどを使用することでレスポンスを早くすることができる.
-ConsisutencyLevel QUORUMの時のデータ書き込みについて図\ref{fig:cassandra_quorum}に示す.
+ConsisutencyLevel QUORUMの時のデータ書き込みと読み込みについて図\ref{fig:quorum_write}と図\ref{fig:quorum_read}に示す.
 Consistencyハッシング, Replication factorとConsistencyレベルの設定により Cassandra は
 高い可用性と分断耐性を持つ.
 
 \begin{figure}[htpb]
   \begin{center}
-    \includegraphics[scale=0.6]{figures/consistency_quorum.pdf}
+    \includegraphics[scale=0.6]{figures/cassandra_quorum_write.pdf}
     \caption{ConsisteyncyLevel QUORUMによる書き込み}
-    \label{fig:cassandra_quorum}
+    \label{fig:quorum_write}
+  \end{center}
+\end{figure}
+
+\begin{figure}[htpb]
+  \begin{center}
+    \includegraphics[scale=0.6]{figures/cassandra_quorum_read.pdf}
+    \caption{ConsisteyncyLevel QUORUMによる読み込み}
+    \label{fig:quorum_read}
   \end{center}
 \end{figure}
 
--- a/paper/chapter2.tex	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/chapter2.tex	Sat Feb 01 22:41:24 2014 +0900
@@ -97,7 +97,7 @@
 
 \section{Jungle におけるデータへのアクセス}
 Jungleにおいてのデータアクセス手段について述べる.
-Jungleではデータをそれぞれの Node が attribute として保持する.
+Jungleではそれぞれの Node が attribute として保持する.
 attributeはKey-Valueによりデータを保持する.
 KeyはString型でValueはByteBufferを使用している.
 Jungleでデータへのアクセスは, このNodeへのアクセスをさす.
@@ -168,6 +168,8 @@
 大文字の英字は実行した NodeOperation の種類を表す.
 \verb|<>| により囲まれている数字は NodePath を示す.
 NodePath の表記以降は Node の position や attribute の情報を表している.
+
+\newpage
 \begin{figure}[htpb]
   \begin{center}
     \includegraphics[scale=0.7]{figures/treeoperationlog1.pdf}
--- a/paper/chapter3.tex	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/chapter3.tex	Sat Feb 01 22:41:24 2014 +0900
@@ -98,7 +98,7 @@
 また, データ分散のために形成したトポロジー上で扱うデータを決めなければならない.
 
 
-\subsection{ツリートポロジーの形成}
+\subsection{ツリートポロジーの形成とルーティング}
 分散データーベス Jungle で形成されるネットワークトポロジーはツリー構造を想定している.
 ツリー構造ならば, データの整合性をとる場合, 一度トップまでデータを伝搬させることで行える.
 トップもしくはトップまでの間にあるサーバノードでデータ伝搬中に衝突が発生したらMergeを行い, Mergeの結果を改めて伝搬すれば
@@ -140,9 +140,8 @@
   \end{minipage}
 \end{figure}
 
-
 そこで当研究室で開発を行っている並列分散フレームワークである Alice を使用する.
-Alice はユーザが望んだマシンへの接続や必要なデータへのアクセスを行う機構と, 接続トポロジー
+Alice はユーザが望んだマシンへの接続や必要なデータへのアクセスを行う機構と, ネットワークトポロジー
 形成機能を提供している.
 
 % トポロジー形成の説明をする. 重要さなども。
@@ -155,9 +154,9 @@
 \section{並列分散フレームワークAlice}
 Alice は当研究室で開発している並列分散フレームワークである.
 Alice はデータを DataSegment, タスクを CodeSegment という単位で扱うプログラミングを提供している.
-コードの部分となる CodeSegment は, 計算に必要なデータである DataSegment が揃い次第実行が行われる(図\ref{fig:cs_ds}).
+タスクの部分となる CodeSegment は, 計算に必要なデータである DataSegment が揃い次第実行が行われる(図\ref{fig:cs_ds}).
 CodeSegment の結果により出力される新たなデータでは, 別の CodeSegment が実行されるための DataSegment となる.
-DataSegment と CodeSegment の組み合わせにより並列・分散プログラミングの依存関係が表される.
+DataSegment と CodeSegment の組み合わせにより並列・分散プログラミングの依存関係が表されるようになっている.
 
 \begin{figure}[htpb]
   \begin{center}
@@ -168,7 +167,7 @@
 \end{figure}
 
 \subsection{MessagePack によるシリアライズ}
-Alice では DataSegment のデータ表現に MessagePack(http://msgpack.org) を利用している.
+Alice では DataSegment のデータ表現に MessagePack\cite{msgpack:2013}を利用している.
 MessagePack はオブジェクトをバイナリへと変換させるシリアライズライブラリである.
 Alice によりネットワークを介してデータにアクセスするときは, そのデータが MessagePack でシリアライズが
 行えることが条件である.
@@ -176,7 +175,7 @@
 
 
 \section{Jungle のデータ分散}
-Alice によりトポロジーの形成とデータアクセスの機構が提供された.
+Alice によりトポロジーの形成とデータアクセスの機構が提供される.
 後はデータ分散の為にどのデータをネットワークに流すのか決めなければならない.
 そこで選ばれたのが TreeOperationLog である.
 TreeOperationLog はデータ編集の履歴になる.
@@ -197,11 +196,11 @@
 ディスクからデータを読み込むことでデータの復旧を行えるようにしたい.
 そこで, ログによるデータの永続性の実装を行う.
 
-Jungleの永続性実装の余地としてJournalという機能が用意されている.
+Jungleの永続性実装の余地としてJournalという機能が元々用意されている.
 このJournalにはディスクへ書き出すためのクラスとしてWriterが用意されている.
 Jungleはデータの編集が完了した際にこのWriterクラスのwrite関数を呼び出すようになっている.
 
-このJournalとWriterクラスを新たに用意し, ディスクへと書き込み行える機能を実装する.
+このJournalとWriterクラスを新たに用意し, ディスクへと書き込みが行える機能を実装する.
 このとき, ログをどのようなデータ表現でハードディスクへと書きだすかという問題が発生するが, これは Alice を使うことで
 解決している.
 Aliceを用いるためMessagePackによりシリアライズ可能な TreeOperationLog ができる.
--- a/paper/chapter4.tex	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/chapter4.tex	Sat Feb 01 22:41:24 2014 +0900
@@ -17,8 +17,7 @@
 
 \subsection{トポロジーマネージャーの起動}
 Alice を用いてサーバノードでトポロジーの形成を行う方法を述べる.
-Alice のトポロジーマネージャーの起動は\ref{src:alice_dot}の様に行う.
-(\ref{src:alice_ntm_run}).
+Alice のトポロジーマネージャーの起動は\ref{src:alice_ntm_run}の様に行う.
 \begin{lstlisting}[frame=lrbt,label=src:alice_ntm_run,caption=Alice によるネットワークトポロジーマネージャーの起動,numbers=left]
 % java -cp Alice.jar alice.topology.manager.TopologyManager -p 10000 -conf ./topology/tree5.dot
 \end{lstlisting}
@@ -45,7 +44,7 @@
 node0 や node1 はサーバノードの名前を示す.
 サーバノードの間にはラベルがあり, Alice 上ではこのラベル
 に指定される文字列(キー)を使うことで他のサーバノードのデータへアクセスすることができる.
-node0 -> node1 はサーバノード同士の繋がりを示している.
+node0 \verb|->| node1 はサーバノード同士の繋がりを示している.
 次に続く label="child1" は, node0 が node1 のデータに"child1"という文字列を使うことでアクセス
 できることを示す.
 
@@ -106,8 +105,9 @@
 CodeSegmentには計算に必要なDataSegmentが登録される.
 そしてDataSegmentが準備され次第CodeSegmentによる計算が実行される.
 DataSegmentの取得は文字列のキーを使うことで行える.
-以下のコードにCodeSegmentの例を示す.
-\begin{lstlisting}[frame=lrbt,label=src:syslog_nfconntrack,caption=CodeSegmentの実行,numbers=left]
+コード\ref{src:cs_sample}にCodeSegmentの例を示す.
+\newpage
+\begin{lstlisting}[frame=lrbt,label=src:cs_sample,caption=CodeSegmentの実行,numbers=left]
 public class TestCodeSegment extends CodeSegment {
   public Receiver arg1 = ids.create(CommandType.TAKE);
   
@@ -130,8 +130,8 @@
   }
 }
 \end{lstlisting}
-これは, 数字を1から10まで出力を行い終了するプログラムである.
 コードの説明を行う.
+このプログラムは, 数字を1から10まで出力を行い終了するプログラムである.
 17行目から19行目の処理が最初に行われる.
 まずTestCodeSegmentというCodeSegmentのインスタンスcsを生成する.
 csはarg1というReceiverクラスのフィールドを保持しており, Receiverクラスは
@@ -253,7 +253,7 @@
 TreeOperationLogをシリアライズ可能な形にするにあたって気をつけなければならないのが, フィールドを
 シリアライズ可能にする部分である.
 TreeOperationLogはTreeOperationをいくつも保持し, TreeOperationはNodePathとNodeOperationを保持するものであった.
-そのため, これら全てシリアライズ可能な形にしなければならない.
+そのため, これら全てをシリアライズ可能な形にしなければならない.
 
 基本的にこれらの実装は, フィールドを全てプリミティブなものだけにすればよい.
 MessagePackはListを扱うこともできるため, TreeOperationLogで継承されていたIterableの挙動もListを使うことで
@@ -261,7 +261,7 @@
 
 \subsection{ログに対する情報の追加}
 TreeOperationLogをシリアライズ可能な形にした後, 問題が発生した.
-それは, TreeOperationLog事態は木の名前を保持していないというものである.
+それは, TreeOperationLog自体は木の名前を保持していないというものである.
 そのため, TreeOperationLogだけを受け取っても, そのログがどの木に対して行われるのか
 わからなかった.
 そこで, TreeOperationLogの情報だけでなく, 木の名前とUUID, それとtimestampの情報も付与
@@ -296,7 +296,7 @@
 それは, \verb|ods.put|の処理をレスポンスを返すスレッドの中で行うと, レスポンスが悪くなる可能性が
 あることだ.
 そのため, \verb|ods.put|を行うのは別のThreadにしたほうがよい.
-以下のコードはcommitに成功した後に, NetworkTreeOperationへと変換したログを別スレッド渡し
+以下のコードはcommitに成功した後に, NetworkTreeOperationへと変換したログを別スレッドに渡し
 て処理させるコードである.
 \begin{lstlisting}[frame=lrbt,label=src:logconvert_and_execute,caption=NetworkTreeOperationをputするために別スレッドを立ち上げる,numbers=left]
 NetworkTreeOperationLog netLog = new NetworkTreeOperationLog(_uuid, _treeName,newLog);
@@ -306,20 +306,20 @@
 
 LogPutCodeSegmentの実装は次のようになっている.
 \begin{lstlisting}[frame=lrbt,label=src:,caption=putを行うためだけのCodeSegmentの用意,numbers=left]
-// LogPutCodeSegment Class
-NetworkTreeOperationLog log;
-public LogPutCodeSegment(NetworkTreeOperationLog _log) {
-  log = _log;
-}
-  
-@Override
-public void run() {
-  ods.put("log", log);
+public class LogPutCodeSegment extends CodeSegment{
+  NetworkTreeOperationLog log;
+  public LogPutCodeSegment(NetworkTreeOperationLog _log) {
+    log = _log;
+  }
+  @Override
+  public void run() {
+    ods.put("log", log);
+  }
 }
 \end{lstlisting}
 上で述べた問題は, ベンチマークテストなど, 大量の負荷をかけたさいに発生する.
-負荷とはJungleのデータに変更を加わることである.
-データの変更により大量のログが生成される.
+負荷とはJungleのデータに変更が加わることである.
+多数のデータの変更により大量のログが生成される.
 そのため, \verb|ods.put|によりDataSegmentの"log"にアクセスが集中してしまい, レスポンスが
 悪くなっていた.
 \verb|ods.put|を行うタイミングには気をつけなければず, 上記のコードにしても改良の余地はある.
@@ -333,6 +333,7 @@
 Aliceでは接続を行っている相手のDataSegmentのキーのリストは"\_CLIST"キーを使うことで取得することができる.
 "\_CLIST"キーで得られるリストを使って他サーバノードへとデータをputするコードを次に示す.
 
+\newpage
 \begin{lstlisting}[frame=lrbt,label=src:log_put,caption=他サーバノードへのログの送信部分,numbers=left]
 public class LogUpdateCodeSegment extends CodeSegment {
   Receiver log = ids.create(CommandType.TAKE);
@@ -345,18 +346,19 @@
   
   List<String> list = clist.asClass(List.class);
   for (String node : list) {
-    ods.put(node, log.key, log.getVal());
+    ods.put(node, log.key, log.getVal()); // Send datasegment to other node
   }
   :
 \end{lstlisting}
-変数logはNetworTreeOperationLogが入っている.
+12行目の\verb|ods.put(node, log.key, log.getVal())|が他サーバノードへデータを送る部分になる.
+変数logにはNetworTreeOperationLogが入っている.
 変数listには"\_CLIST"により得られたデータが入っている.
 それは文字列のListとなっている.
 listの中身を1つずつ受け取り, \verb|ods.put|する際に引数として渡してやることで, 他サーバノードの
 DataSegmentにアクセスが行える.
 
 listの具体的な内容は, 図\ref{fig:tree_topology}で組まれたトポロジーでいうところの, "parent", "child1", "child2"
-の文字列となっている.
+の文字列のListとなっている.
 もし子どもとなるサーバノードがないときは"parent"だけがListには入れられる.
 
 
@@ -366,9 +368,9 @@
 このTreeEditorを使用し, ログに入っているTreeOperationを1つ1つ取り出し同じ編集を行わせる.
 例えば次のようになる.
 \begin{lstlisting}[frame=lrbt,label=src:data_edit,caption=ログを受け取ってのデータの反映,numbers=left]
-// Receiver log <- "log"キーから取得できるデータが張っている
+// Receiver log <- "log"キーから取得できるデータが入っている
 // Jungle jugnle
-NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class); // NetworkTreeOperationLogへのコンバート
+NetworkTreeOperationLog netLog = log.asClass(NetworkTreeOperationLog.class);
 String treeName = netLog.getTreeName();
 JungleTree tree = jungle.getTreeByName(treeName);
 TreeEditor editor = tree.getLocalTreeEditor();  // Editor の取得
@@ -385,10 +387,10 @@
 7行目で取り出されたTreeOperationからさらにNodePathとNodeOperationを取り出しているのが8行目と9行目になる.
 最後にedit関数にTreeEditorとNodePath, それとNodeOpeartionを引き渡している.
 edit関数は次のようになる.
-\begin{lstlisting}[frame=lrbt,label=src:data_edito2,caption=edit関数の実装,numbers=left]
+\begin{lstlisting}[frame=lrbt,label=src:data_edit2,caption=edit関数の実装,numbers=left]
 Either<Error, JungleTreeEditor> edit(JungleTreeEditor editor, NodePath path, 
   NodeOperation nodeOp, int pos) {
-    String key = ";
+    String key = "";
     Command c = nodeOp.getCommand();
     switch (c) {
      case PUT_ATTRIBUTE:
@@ -411,6 +413,7 @@
 %\subsection{ローカルのデータ編集専用のTreeEditorの用意}
 %データ編集が行われ, 
 
+\newpage
 \section{永続性の実装}
 次は, ログの書き出しによる永続性の実装について述べる.
 第3章でJungleはWriterいう永続性実装のための機能が元々用意されていることを述べた.
@@ -421,7 +424,7 @@
 
 つまり, WriterでNetworkTreeOperationLogを書き出すようにすればよい.
 以下にログをディスクへ書き出すためのクラスPersistentChangeListWriterの実装を示す.
-\begin{lstlisting}[frame=lrbt,label=src:,caption=NetworkTreeOperationをディスクへ書き出す,numbers=left]
+\begin{lstlisting}[frame=lrbt,label=src:writer,caption=NetworkTreeOperationをディスクへ書き出す,numbers=left]
 public class PersistentChangeListWriter implements ChangeListWriter {
   
   MessagePack msgpack;
@@ -457,14 +460,17 @@
 ことができる(Listing\ref{src:data_edit}, \ref{src:data_edit2}).
 
 
-\section{掲示板プログラムにおけるマージの実装}
+\newpage
+\section{Mergeの実装}
 Jungle に分散実装を行った後の問題としてデータ衝突がある.
 他のサーバノードから送られてくるデータが既に手元で変更を加えた木構造を対象とした
 場合に発生する問題である.
-Jungle ではこれをアプリケーション毎にマージを実装することで解決させる.
+Jungle ではこれをアプリケーション毎にMergeを実装することで解決させる.
+
+\section{掲示板プログラムにおけるデータ衝突}
 
 今回分散実装を行い, 例題として掲示板プログラムを用意した.
-掲示板プログラムに実装を行ったマージについて述べる.
+掲示板プログラムに実装を行ったMergeについて述べる.
 まず Jungle を用いた掲示板プログラムのデータ保持方法を図\ref{fig:merge2}に示す.
 \begin{figure}[htpb]
   \begin{center}
@@ -499,12 +505,14 @@
 
 \newpage
 
+\subsection{掲示板プログラムにおけるMerge}
+
 図\ref{fig:merge_imp2}の server node0 の木の状態にするのが理想である.
 掲示板のへの書き込みの表示は, 書き込みされた時間が早い順に表示されるようにしたい.
 これを timestamp を利用することで行う.
 他サーバノードから来たデータに関しては, timestamp を参照し, 次に自分の保持している
 木の子ノードの timestamp と比べていくことでデータの追加する場所を決める.
-これが今回実装を行った掲示板システムにおけるマージになる.
+これが今回実装を行った掲示板システムにおけるMergeになる.
 
 %単一サーバで動いている時の Jungle はただ子ノードとして後ろに追加するだけだが, 分散
 %環境下においては timestamp に従い子ノードを追加する位置を決めるようにする.
--- a/paper/conclusion.tex	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/conclusion.tex	Sat Feb 01 22:41:24 2014 +0900
@@ -5,14 +5,14 @@
 スケーラビリティをどのように確保しているかを述べた.
 次に木構造データベースJungleで使われている非破壊的木構造について述べ, 破壊的
 木構造に比べロックが少ないというメリットがあることを論じた.
-Jungleは非破壊的木構造により過去のデータを保持することでMergeを行うことができる.
-そのため, 分散バージョン管理システムを参考に分散設計を行った.
-Jungleの分散設計では当研究室で開発している並列分散フレームワークAliceを用いた.
-Aliceにより自由にトポロジーを組め, 他サーバノードへのデータアクセス機構を手に入れることができた.
+Jungleは非破壊的木構造により過去のデータを保持することでMergeを行うことができる等, 分散管理システム
+と似た分散設計が行えることを述べた.
+また, Jungleの分散設計では当研究室で開発している並列分散フレームワークAliceを用いた.
+Aliceにより自由にトポロジーを組むことができ, 他サーバノードへのデータアクセス機構を手に入れることができた.
 Jungleの分散実装ではデータの編集履歴であるTreeOperationLogをAliceが使用できるようにし, 木の名前と
 いった必要な情報を追加することでデータの分散を行った.
 また, Jungleに元々設計されていたJournalを使ってログをディスクへ書き出すことで永続性の実装を行った
-最後に簡易掲示板を作成, Cassandraとの性能比較を行った.
+最後に簡易掲示板を作成し, Cassandraとの性能比較を行った.
 読み込み, 書き込みの負荷をかける実験を2つ行った.
 1つの実験ではサーバノード1台に対し複数のクライアントから負荷をかけた.
 2つめの実験では複数のクライアントに対し同じ数のサーバノードを用意し数を増やしていき負荷を高めた.
@@ -21,8 +21,8 @@
 
 \section{今後の課題}
 \subsection{データ分割の実装}
-現在Jungleの分散実装は全てのデータを全てのノードで保持している.
-この方法ではメモリの使用量が高いこととネットワーク帯域に対しての
+現在Jungleの分散実装は全てのデータを全てのノードで保持させる実装である.
+だが, この方法ではメモリの使用量が高いこととネットワーク帯域に対しての
 負荷が懸念される.
 そのため, ノード単位で保持するデータを分ける実装が必要になる.
 ノード毎に木構造単位で別々のデータを保持し, 持っていない木のデータ
@@ -37,12 +37,12 @@
 また, アプリケーション毎でデータの保存の仕方といったものも違ってくる.
 そのため, アプリケーションに合ったMergeアルゴリズムを設計しなければならない.
 
-\subsection{分断耐性の実装}
-現在の実装のJungleは, プログラムの起動時にノードと接続を行う.
+\subsection{pull/push機能の実装}
+現在の実装のJungleは, プログラムの起動時に複数ノードが接続をしトポロジーを形成する.
 プログラムの途中で接続がきれるとトポロジーがくずれたままになる.
-接続がきれたJungleは単独では稼働し続けるが, 復帰を行えるようにしたい.
+接続がきれたJungleは単独では稼働し続けるが, トポロジーへの復帰を行えるようにしたい.
 そのためにはトポロジーに割り当てられた際に他ノードから自分の持っているデータとの
-差分のデータを流してもらうといった機能が必要になってくる.
+差分のデータを流してもらうといった分散管理システムにおけるpull/push APIの機能が必要になってくる.
 
 \subsection{過去のデータの掃除について}
 Jungleは非破壊でデータを保持し続けるため, メモリの使用量が大きい.
--- a/paper/figures/alice_topology.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/alice_topology.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 386.000000 218.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/bldsv12_read_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/bldsv12_read_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/bldsv12_write_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/bldsv12_write_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cap_theorem.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cap_theorem.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 301.000000 231.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cas_experiment.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cas_experiment.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 327.000000 248.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cassandra.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cassandra.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 336.000000 201.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cassandra_ring.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cassandra_ring.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 400.000000 290.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/clients_request_servers.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/clients_request_servers.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 433.000000 270.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cluster_benchmark.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cluster_benchmark.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 479.000000 293.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cluster_request_server.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cluster_request_server.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 428.000000 271.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/consistency_quorum.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/consistency_quorum.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 806.000000 301.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/consisutency_quorum.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/consisutency_quorum.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 806.000000 301.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/cs_ds.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/cs_ds.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 466.000000 187.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/deos_proccess.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/deos_proccess.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 900.000000 619.500000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/destructive_tree.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/destructive_tree.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 404.000000 207.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/distribute_jungle.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/distribute_jungle.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 245.000000 213.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
Binary file paper/figures/distributed_read_bench.pdf has changed
--- a/paper/figures/distributed_read_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/distributed_read_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/distributed_repository.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/distributed_repository.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 451.000000 280.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
Binary file paper/figures/distributed_write_bench.pdf has changed
--- a/paper/figures/distributed_write_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/distributed_write_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/dsandcs.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/dsandcs.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 396.000000 256.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/jungle_experiment.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/jungle_experiment.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 339.000000 249.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/memcached.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/memcached.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 421.000000 287.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/merge1.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/merge1.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 427.000000 430.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/merge2.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/merge2.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 427.000000 242.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/merge_imp1.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/merge_imp1.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 499.000000 243.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/merge_imp2.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/merge_imp2.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 467.000000 256.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/mongodb_sharding.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/mongodb_sharding.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 417.000000 317.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/neo4j_replica.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/neo4j_replica.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 448.000000 262.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/network_topology_ring.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/network_topology_ring.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 256.000000 208.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/network_topology_tree.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/network_topology_tree.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 329.000000 263.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/nodepath.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/nodepath.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 315.000000 340.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_edit1.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_edit1.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 462.000000 207.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_edit2.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_edit2.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 470.000000 240.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_edit3.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_edit3.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 511.000000 211.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_edit4.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_edit4.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 505.000000 218.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_merit.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_merit.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 350.000000 301.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/non_destructive_tree.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/non_destructive_tree.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 459.000000 207.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/nondestructive_edit1.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/nondestructive_edit1.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 438.000000 207.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/putChildLog.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/putChildLog.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 385.000000 149.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/putLog.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/putLog.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 385.000000 149.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/read_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/read_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/remote_codesegment.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/remote_codesegment.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 295.000000 166.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/testcodesegment.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/testcodesegment.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 583.000000 158.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/topology_mesh.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/topology_mesh.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 317.000000 226.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree50.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree50.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 399.000000 382.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree_conflict.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree_conflict.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 456.000000 199.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree_conflict2.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree_conflict2.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 475.000000 242.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree_conflict3.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree_conflict3.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 479.000000 241.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree_topology.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree_topology.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 684.000000 237.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/tree_topology_noarrow.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/tree_topology_noarrow.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 684.000000 237.000000
 %%PDFVersion: 1.4
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/treeoperationlog1.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/treeoperationlog1.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 595.000000 251.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/figures/write_bench.xbb	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/figures/write_bench.xbb	Sat Feb 01 22:41:24 2014 +0900
@@ -4,5 +4,5 @@
 %%HiResBoundingBox: 0.000000 0.000000 360.000000 252.000000
 %%PDFVersion: 1.3
 %%Pages: 1
-%%CreationDate: Sat Feb  1 16:15:25 2014
+%%CreationDate: Sat Feb  1 21:15:53 2014
 
--- a/paper/master_paper.bib	Sat Feb 01 21:06:49 2014 +0900
+++ b/paper/master_paper.bib	Sat Feb 01 22:41:24 2014 +0900
@@ -1,3 +1,8 @@
+@article{msgpack:2013,
+ author = "http://msgpack.org/",
+ title = "MessagePack"
+}                  
+
 @article{shoshi:2013a,
  author = "大城 信康 and 河野 真治",
  title = "Data Segment の分散データベースへの応用",
Binary file paper/master_paper.pdf has changed