view paper/chapter4.tex @ 13:6fd4463ca136

update
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Sat, 25 Feb 2012 17:03:33 +0900
parents 53afd895a367
children baa7e53bbf98
line wrap: on
line source

\chapter{TreeVNCの設計}
\label{chap:introduction}
\pagenumbering{arabic}

\section{Multicastの選択}
Broadcastは届いたかわからないし確認を取ろうとするとマルチキャストとあまり変わらなくなってしまう。

Broadcastはデータが落ちてもかまわないという仕様なのでクライアントまで正確にデータを転送する手段がない。

Broadcastを使うと別セグメントとの画面共有をすることができなくなってしまう。

Broadcastを用いると無線LAN環境で使用することができない。

上記の理由からTreeVNCはMulticastを用いて実装を行うことにした。


\section{TreeVNCの設計方針}
まず、多人数が参加している授業でVNCを使う場合に起こる問題は、
最初で述べたように、一つのコンピュータに多人数が繋がり(図4.1)、
処理性能が大幅に落ちてしまうところが問題である。


\begin{figure}[!htbp]
\begin{center}
\includegraphics[scale = 0.7]{fig/NormalVNC3.pdf}
\end{center}
\caption{
test
}
\label{figure:NomalVNC}
\end{figure}

\newpage

この問題を解決する為に、クライアント同士を接続させ、画面描画のデータを受け取ったクライアントが次のクライアントに
データを流すという方法で画面共有を行う方法を考えた。

このようにすることで接続が一本に集中するということはなくなりクライアントが増えてもかかる負荷は一定である。(図4.2)

図4.1と比べて1本の通信網に対する負荷が減り安定した通信ができるようになる。

画面共有を行っているクライアントが一種のVNCサーバ自体にもなる。

\begin{figure}[!htbp]
\begin{center}
\includegraphics[scale = 0.7]{fig/TreeVNC3.pdf}
\end{center}
\caption{
test
}
\label{figure:TreeVNC}
\end{figure}


\newpage

また、クライアント同士の接続はツリー構造で行うことで管理がしやすくなると考えた。
クライアント同士の接続の管理はツリーの一番上にいるPC(Top)で行い(図4.3)、
このTopだけがVNCサーバへ接続を行うようにする。

今回作成したTreeVNCは、上記の実装でツリー状にクライアントを接続していくように実装を行い画面の共有だけを行うように実装した。

TreeVNCはTightVNCのjava版のビューアを元に作成を行った。実装の細かい内容は以下で説明する。TreeVNCはTightVNCのjava版のビューアを元に作成を行った。


\begin{figure}[tb]
\begin{center}
\includegraphics[scale = 0.5]{fig/tree.eps}
\end{center}
\caption{
画面共有対象に対してTopが接続を行いクライアントはTopに接続する。
}
\label{figure:tree}
\end{figure}