diff chapter3.tex @ 1:dc17ac172c7d

add thesis in production.
author oc
date Sun, 08 Feb 2015 17:45:46 +0900
parents
children 63ae5aaa2a7a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/chapter3.tex	Sun Feb 08 17:45:46 2015 +0900
@@ -0,0 +1,90 @@
+\chapter{TreeVNC のリファクタリング}
+
+\section{動的な port 番号の指定}
+TreeVNCは複雑な分散アルゴリズムを用いたシステムであり、
+デバッグを行う環境を整える必要がある。
+
+従来のTreeVNCでは、固定port番号を複数利用していた。
+port番号は一意なので、1台で複数のTreeVNCを立ち上げることができない。
+
+動的にport番号を割り当てることで、
+1つのnodeに対して複数のTreeVNCを起動することを可能にした。
+最低限のソケットポートを開けることによって、
+メモリの使用量を抑えることにも繋がる。
+
+%  messageの説明にportにどんな関係があるのかあとから
+以前は固定port番号を使用しmessageの通信を行っていたが、
+一意なportを割り当てられているnodeが通信を行うことによって、
+どのport番号が使用されているかを意識する必要がなくなった。
+
+
+\section{ホスト切り替え時の挙動の修正}
+画面の切り替えを行う際、新しいホスト側の画面に生じた
+ビデオフィードバックが他のユーザに配信されてしまう問題があった。
+
+ホストの切り替えの際、
+新しいホスト側のviewerを閉じることで問題を解決した。
+
+
+\newpage
+
+
+\section{Tree の構成の変更}
+
+従来のTreeVNCは、クライアントの接続する木構造が単一であった。
+そのため、ネットワークインターフェースが違うクライアントが
+同じ木に混在している状況が生じた。
+
+速度の遅いクライアントが木に存在すると、
+そのクライアント以下の通信速度が遅くなってしまう。
+
+この問題を解決するために、
+図\ref{fig:multinetworktree}の様に、ネットワークインターフェース別に
+木構造を形成するように設計した。
+
+TreeVNCは、rootがnodeListというリストを保持し、木構造を管理している。
+複数のネットワークインターフェースで木構造を形成する場合、
+このnodeListをネットワークインターフェース毎に作成しておく。
+新しいnodeを接続する際、nodeのネットワークインターフェースを取得し、
+どのnodeListに登録されるかが決まる。
+こうすることによって、TreeVNCを複数のネットワークインターフェイス別に
+木構造を構成することができる。
+
+\begin{figure}[htpd]
+  \begin{center}
+    \includegraphics[scale=0.4]{./images/chapter3/MultiNetworkTree.pdf}
+  \end{center}
+  \caption{Multi Network Tree}
+  \label{fig:multinetworktree}
+\end{figure}
+
+
+\section{切断時の検知方法の変更}
+
+lostParent\ref{fig:lostparent} を lostChild\ref{fig:lostchild1} へ。
+lostChild の接続切り替えの図\ref{fig:lostchild2}
+
+\begin{figure}[htpd]
+  \begin{center}
+    \includegraphics[scale=0.4]{./images/chapter3/lostParent.pdf}
+  \end{center}
+  \caption{lostParent}
+  \label{fig:lostparent}
+\end{figure}
+
+\begin{figure}[htpd]
+  \begin{center}
+    \includegraphics[scale=0.4]{./images/chapter3/lostChild1.pdf}
+  \end{center}
+  \caption{lostChild1}
+  \label{fig:lostchild1}
+\end{figure}
+
+\begin{figure}[htpd]
+  \begin{center}
+    \includegraphics[scale=0.4]{./images/chapter3/lostChild2.pdf}
+  \end{center}
+  \caption{lostChild2}
+  \label{fig:lostchild2}
+\end{figure}
+