comparison yuu-preliminary.tex @ 1:2f3a29aba58f

update
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Fri, 18 Nov 2011 04:01:14 +0900
parents 16380f303b92
children 9a3faec1f0be
comparison
equal deleted inserted replaced
0:16380f303b92 1:2f3a29aba58f
46 RFB (remote frame buffer) プロトコルは、GUI操作をリモートアクセスで行うためのプロトコルである。 46 RFB (remote frame buffer) プロトコルは、GUI操作をリモートアクセスで行うためのプロトコルである。
47 画面の描画の更新は画面の差分が発生した部分を矩形毎で送り描画される。 47 画面の描画の更新は画面の差分が発生した部分を矩形毎で送り描画される。
48 また、画面の描画データに使われるエンコードが多数用意されており、また独自のエンコードを実装することもできるシンプルなプロトコルである。 48 また、画面の描画データに使われるエンコードが多数用意されており、また独自のエンコードを実装することもできるシンプルなプロトコルである。
49 49
50 50
51 \section{TreeVNCの方針} 51 \section{TreeVNCの設計方針}
52 まず、多人数が参加している授業でVNCを使う場合に起こる問題は、前でも述べたように、 52 まず、多人数が参加している授業でVNCを使う場合に起こる問題は、前でも述べたように、
53 一つのコンピュータに多人数が繋がり、処理性能が大幅に落ちてしまうところが問題である。 53 一つのコンピュータに多人数が繋がり、処理性能が大幅に落ちてしまうところが問題である。
54 この問題を解決する為に、クライアント同士を接続させ、画面描画のデータを受け取った 54 この問題を解決する為に、クライアント同士を接続させ、画面描画のデータを受け取った
55 クライアントが次のクライアントにデータを流すという方法を考えた。 55 クライアントが次のクライアントにデータを流すという方法を考えた。
56 画面共有を行いたいクライアントが一種のVNCサーバ自体にもなる。 56 画面共有を行いたいクライアントが一種のVNCサーバ自体にもなる。
71 71
72 \section{TreeVNCの実装} 72 \section{TreeVNCの実装}
73 TreeVNCはTightVNCのjava版のビューアを元に作成を行った。TightVNCはフリーのVNC用ソフトである。 73 TreeVNCはTightVNCのjava版のビューアを元に作成を行った。TightVNCはフリーのVNC用ソフトである。
74 2011年8月9日現在とC++で作成されたVNC サーバ用とWindows版、それとJava版のビューアが公開されている。 74 2011年8月9日現在とC++で作成されたVNC サーバ用とWindows版、それとJava版のビューアが公開されている。
75 75
76 \subsection{Tree structure} 76 \subsection{Treeの構成}
77 今回は、ホストに対しクライアントがツリー状に繋がっていくように実装した。ツリーの構成は以下の手順で行う。 77 今回は、ホストに対しクライアントがツリー状に繋がっていくように実装した。ツリーの構成は以下の手順で行う。
78  \begin{enumerate} 78  \begin{enumerate}
79 \item クライアントが接続する際、ホストに接続をしているプロキシ(今後このプロキシのことをTopと記述する)に接続する。 79 \item クライアントが接続する際、ホストに接続をしているプロキシ(今後このプロキシのことをTopと記述する)に接続する。
80  \item Topはクライアントにどこに接続すれば良いかを知らせる。(このときに親の番号と自分の番号それからリーダーであるかどうかを一緒に知らせる) 80  \item Topはクライアントにどこに接続すれば良いかを知らせる。(このときに親の番号と自分の番号それからリーダーであるかどうかを一緒に知らせる)
81  \item クライアントはTopから指定されたノードに接続を行う。 81  \item クライアントはTopから指定されたノードに接続を行う。
82  \end{enumerate} 82  \end{enumerate}
83 83
84 84
85 \subsubsection{Treeの再構成} 85 \subsection{Treeの再構成}
86 今回の実装はクライアントがツリー状に繋がっているので、親ノードが落ちると子ノードも一緒に落ちてしまう。\\ 86 今回の実装はクライアントがツリー状に繋がっているので、親ノードが落ちると子ノードも一緒に落ちてしまう。\\
87 そこで、ツリーの再構成が必要になる。 87 そこで、ツリーの再構成が必要になる。
88 \begin{enumerate} 88 \begin{enumerate}
89 \item 親ノードが落ちた際に、子ノードの中で一番若い番号の子ノードがTopに対して自分の親ノードが落ちたこ\ 89 \item 親ノードが落ちた際に、子ノードの中で一番若い番号の子ノードがTopに対して自分の親ノードが落ちたこ\
90 とを報告する。(親ノードの番号を知らせる) 90 とを報告する。(親ノードの番号を知らせる)