view paper/master_paper.aux @ 17:32ba010cf7da

slide
author fuchita
date Mon, 18 Feb 2008 05:05:25 +0900
parents 9bbcbcd1c3ec
children
line wrap: on
line source

\relax 
\@writefile{toc}{\contentsline {chapter}{\numberline {第1章}序論}{1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}研究背景と目的}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}論文の構成}{2}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第2章}Federated Linda の提案}{3}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}LindaとFedarated Linda}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Linda}{3}}
\@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces Linda API}}{3}}
\newlabel{lindaapi}{{2.1}{3}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces LindaServer}}{3}}
\newlabel{fig:lindacom}{{2.1}{3}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Federated Linda}{4}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces タプルスペースの相互接続}}{4}}
\newlabel{connection-of-tspace}{{2.2}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Federated Linda の分散プログラミング}{5}}
\@writefile{toc}{\contentsline {subsubsection}{Local Access Protocol}{5}}
\@writefile{toc}{\contentsline {subsubsection}{Protocol Engine}{5}}
\@writefile{toc}{\contentsline {subsubsection}{Link Configuration}{5}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}実装の段階分け}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}type 1}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces type 1}}{6}}
\newlabel{type1}{{2.3}{6}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}type 2}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces type 2}}{7}}
\newlabel{fig:type2}{{2.4}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}type 3}{7}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces type 3}}{7}}
\newlabel{fig:type3}{{2.5}{7}}
\citation{linda}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}現段階における実装}{8}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.1}type2の実装}{8}}
\@writefile{toc}{\contentsline {subsubsection}{Linda Server}{8}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces タプルがない場合の in コマンドの実行}}{9}}
\newlabel{async-in}{{2.6}{9}}
\@writefile{toc}{\contentsline {subsubsection}{Federated Linda API}{10}}
\@writefile{toc}{\contentsline {subsubsection}{C言語のAPI}{10}}
\@writefile{toc}{\contentsline {subsubsection}{Perl, Python, Ruby の API}{11}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces Perl, Python, Ruby で拡張したLinda API のクラス図}}{11}}
\newlabel{LWLClass}{{2.7}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.2}Local Access Protocol}{13}}
\@writefile{toc}{\contentsline {subsubsection}{ポーリング型のプログラミングスタイル}{13}}
\@writefile{toc}{\contentsline {subsubsection}{Protocol Engine へのアクセス}{14}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces 使用するプロトコルの切替え}}{14}}
\newlabel{select_protocol}{{2.8}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.3}Protocol Engine}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4.4}Link Configuration}{17}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces Configuratorによるトポロジ形成}}{17}}
\newlabel{linkconfig_xml}{{2.9}{17}}
\@writefile{toc}{\contentsline {subsubsection}{トポロジを表すXML}{17}}
\@writefile{toc}{\contentsline {subsubsection}{接続を行うモジュール}{19}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces LinkConfiguration のクラス図}}{19}}
\newlabel{LinkConfig-class}{{2.10}{19}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Compact Routing の実装によるtype 2 Federated Linda の評価}{21}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Compact Routingのアルゴリズム}{21}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}実装の詳細}{22}}
\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces 分散プログラムの3つの要素}}{22}}
\newlabel{jissou1}{{3.1}{22}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces ルーティングテーブルとタプル空間でやり取りされるXMLデータの関係}}{23}}
\newlabel{data}{{3.1}{23}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Protocol Engineによるルーティングテーブルの構築}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces ルーティングテーブルの例}}{23}}
\newlabel{localarea}{{3.2}{23}}
\@writefile{toc}{\contentsline {subsubsection}{ローカルエリアネットワークの構築}{24}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces ローカルエリアのホップ数が1の場合}}{24}}
\newlabel{localarea}{{3.3}{24}}
\@writefile{toc}{\contentsline {subsubsection}{LandMark情報の更新}{24}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces ローカルエリアのホップ数が1の場合のLandmark情報の流れ}}{24}}
\newlabel{configurator.new}{{3.4}{24}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Protocol Engineの継承による実装}{25}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}ルーティングテーブルの構築、更新処理}{27}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}ルーティングテーブル構築時間の測定}{30}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}測定の流れ}{30}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}測定結果}{30}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces ノード数に対してルーティングテーブルを構築するのにかかる時間}}{31}}
\newlabel{routingtable}{{3.5}{31}}
\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Routing Table 構築にかかる時間}}{31}}
\newlabel{routingtime}{{3.2}{31}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}考察}{32}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}Java言語による実装}{33}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}現実装(type2)における問題点}{33}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}テスト駆動開発における問題点}{33}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Federated Lindaのテスト状況}}{34}}
\newlabel{testshot}{{4.1}{34}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Federated Lindaへの機能拡張}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Java言語によるLindaサーバーとLinda APIの実装}{34}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Java言語によるLindaサーバーの実装}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}Java New I/\penalty \exhyphenpenalty Oを用いたネットワークプログラミング}{35}}
\@writefile{toc}{\contentsline {subsubsection}{Buffer}{35}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Bufferのクラス図}}{36}}
\newlabel{Buffer}{{4.2}{36}}
\@writefile{toc}{\contentsline {subsubsection}{Channel}{36}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Channelのクラス図}}{37}}
\newlabel{Channel}{{4.3}{37}}
\@writefile{toc}{\contentsline {subsubsection}{Selector}{37}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Selectorとその関連クラスのクラス図}}{37}}
\newlabel{Selector}{{4.4}{37}}
\@writefile{toc}{\contentsline {section}{\numberline {4.4}Java版LindaサーバーとLinda APIの詳細}{39}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}C言語構文に対する置き換え}{39}}
\@writefile{toc}{\contentsline {subsubsection}{構造体をクラスで置き換える}{39}}
\@writefile{toc}{\contentsline {subsubsection}{関数ポインタをクラスとインターフェースで置き換える}{41}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}実装の詳細}{43}}
\@writefile{toc}{\contentsline {subsubsection}{Lindaサーバー(FDLindaServ.java)}{43}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces SelectionKeyによるアタッチの遷移}}{44}}
\newlabel{handle}{{4.5}{44}}
\@writefile{toc}{\contentsline {subsubsection}{Linda API}{45}}
\@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Java言語によるLinda API}}{45}}
\newlabel{javalindaapi}{{4.1}{45}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}リファクタリングを用いた設計の向上}{46}}
\@writefile{toc}{\contentsline {subsubsection}{リファクタリングとは}{46}}
\@writefile{toc}{\contentsline {subsubsection}{JDT(Java Development Tools)によるリファクタリング}{46}}
\@writefile{toc}{\contentsline {subsubsection}{問題提起}{47}}
\@writefile{toc}{\contentsline {subsubsection}{メソッドの抽出}{47}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces メソッドの抽出(1)}}{47}}
\newlabel{shot01}{{4.6}{47}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.7}{\ignorespaces メソッドの抽出(2)}}{47}}
\newlabel{shot02}{{4.7}{47}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.8}{\ignorespaces スーパークラスの抽出(1)}}{49}}
\newlabel{shot03}{{4.8}{49}}
\@writefile{lof}{\contentsline {figure}{\numberline {4.9}{\ignorespaces スーパークラスの抽出(2)}}{49}}
\newlabel{shot04}{{4.9}{49}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.4}C言語版とJava言語版のプログラムコード数}{50}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}分散デバッグ機能と評価}{51}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {5.1}分散環境におけるデバッグ}{51}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.1}二分法による逐次アルゴリズムのデバッグ}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1.2}シーケンシャルなデバッグ手法の問題点}{52}}
\@writefile{toc}{\contentsline {subsubsection}{単体のデバッグが有効な例}{53}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces 単体のデバッグが有効なFederated Lindaの通信}}{53}}
\newlabel{seqdeb}{{5.1}{53}}
\@writefile{toc}{\contentsline {subsubsection}{単体のデバッグでは全体の正しさをデバッグできない例}{53}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces 単体ではデバッグが困難なFederated Lindaの通信}}{53}}
\newlabel{nonseqdeb}{{5.2}{53}}
\@writefile{toc}{\contentsline {section}{\numberline {5.2}分散デバッグ機能の検討}{54}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}分散アルゴリズムにおいてデバッグすべき対象}{54}}
\@writefile{toc}{\contentsline {subsubsection}{デッドロック}{54}}
\@writefile{toc}{\contentsline {subsubsection}{ライブロック}{55}}
\@writefile{toc}{\contentsline {subsubsection}{スケーラビリティ}{55}}
\@writefile{toc}{\contentsline {subsubsection}{通信の集中}{55}}
\@writefile{toc}{\contentsline {subsubsection}{大量のパケットの送信}{55}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}スナップショットによる分散デバッグ}{56}}
\@writefile{toc}{\contentsline {subsubsection}{大域的なプログラム状態とは}{56}}
\@writefile{toc}{\contentsline {subsubsection}{スナップショットを用いた分散デバッグ手法}{57}}
\@writefile{toc}{\contentsline {subsubsection}{スナップショットのモニターツールと逐次デバッガによるデバッグ}{57}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces スナップショット・ログを用いたデバッグ}}{58}}
\newlabel{snapdeb}{{5.3}{58}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.3}分散デバッグ機能のスケーラビリティ}{58}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces スケーラビリティを意識したデバッグインターフェース}}{59}}
\newlabel{FDLindaDebug}{{5.4}{59}}
\@writefile{toc}{\contentsline {section}{\numberline {5.3}通信状態デバッグインターフェースの実装}{59}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Java版Linda サーバーへの機能実装}{60}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces デバッグタスクのConnect,Disconnect処理}}{60}}
\newlabel{comdebug1}{{5.5}{60}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces 通信状態のデバッグインターフェース}}{61}}
\newlabel{comdebug2}{{5.6}{61}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}実装の詳細}{61}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces 通信デバッグインターフェースのクラス図}}{61}}
\newlabel{comdebugClass}{{5.7}{61}}
\@writefile{toc}{\contentsline {subsubsection}{機能拡張を行ったLindaサーバーの通信ループ}{62}}
\@writefile{toc}{\contentsline {subsubsection}{ComDebug\_Clientの出力ログ}{63}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}視覚的に通信状態を確認するツールの開発}{64}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces 通信状態の表示ツール利用}}{64}}
\newlabel{comdeb}{{5.8}{64}}
\@writefile{toc}{\contentsline {subsubsection}{バインディングとは}{64}}
\@writefile{toc}{\contentsline {subsubsection}{通信ログ・モニターツール}{65}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces 通信量のグラフィカルな表示ツール}}{66}}
\newlabel{visual01}{{5.9}{66}}
\@writefile{toc}{\contentsline {section}{\numberline {5.4}Federated Lindaの実装を用いたデバッグインターフェースの評価}{66}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}評価条件}{66}}
\@writefile{toc}{\contentsline {subsubsection}{問題点}{66}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.10}{\ignorespaces ノード数に対してルーティングテーブル構築にかかる時間}}{67}}
\newlabel{meshtime}{{5.10}{67}}
\@writefile{toc}{\contentsline {subsubsection}{実験を行う Federated Lindaの構成}{67}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.11}{\ignorespaces Link Configurationに用いたOmni Graffleファイル}}{68}}
\newlabel{meshgraffle}{{5.11}{68}}
\@writefile{toc}{\contentsline {subsubsection}{通信状態のデバッグを行う実験}{68}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}評価}{68}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.12}{\ignorespaces トポロジ及び通信イベントの表示}}{69}}
\newlabel{debug1}{{5.12}{69}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.13}{\ignorespaces ステップ実行したシーケンスでの転送タプルを表示}}{69}}
\newlabel{debug2}{{5.13}{69}}
\@writefile{toc}{\contentsline {subsubsection}{バグ要因の特定}{70}}
\@writefile{lof}{\contentsline {figure}{\numberline {5.14}{\ignorespaces 格子状メッシュトポロジにおけるLink Configurationのバグ}}{70}}
\newlabel{bugfig}{{5.14}{70}}
\@writefile{toc}{\contentsline {subsubsection}{デバッグにおけるモニターツールの有用性}{70}}
\@writefile{toc}{\contentsline {section}{\numberline {5.5}考察}{71}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}比較}{72}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Jini}{72}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Overlay Weaver}{73}}
\@writefile{toc}{\contentsline {chapter}{\numberline {第7章}結論}{74}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {7.1}まとめ}{74}}
\@writefile{toc}{\contentsline {section}{\numberline {7.2}今後の課題}{74}}
\@writefile{toc}{\contentsline {chapter}{謝辞}{75}}
\bibcite{linda}{1}
\bibcite{globalid}{2}
\bibcite{dinamicrouting}{3}
\bibcite{dinamicrouting}{4}
\bibcite{dinamicrouting_compact}{5}
\bibcite{SuciSnap}{6}
\bibcite{compactrouting}{7}
\bibcite{compactrouting name-independent}{8}
\bibcite{compactrouting for flat networks}{9}
\bibcite{compactrouting ppl}{10}
\bibcite{overlayweaver}{11}
\bibcite{tomcat}{12}
\bibcite{grizzly}{13}
\@writefile{toc}{\contentsline {chapter}{参考文献}{76}}
\@writefile{toc}{\contentsline {chapter}{発表文献}{77}}