changeset 22:71e9e221b0a3

Update
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Wed, 17 Feb 2016 03:03:01 +0900
parents 020367fa53bc
children 01831426db98
files paper/main.tex prepaper/finalPre.tex
diffstat 2 files changed, 74 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/paper/main.tex	Tue Feb 16 22:18:45 2016 +0900
+++ b/paper/main.tex	Wed Feb 17 03:03:01 2016 +0900
@@ -641,13 +641,9 @@
 %GISゼミや英語ゼミに参加した人はその分も入れておく.
 %順番は重要なので気を付けるように.(提出前に周りの人に確認してもらう.)
 
-\hspace{1zw}本研究の遂行,また本論文の作成にあたり、御多忙にも関わらず終始懇切なる御指導と御教授を賜わりました河野真治准教授に深く感謝したします。
-
-また、本研究の遂行及び本論文の作成にあたり、日頃より終始懇切なる御教授と御指導を賜わりましたhoge教授に心より深く感謝致します。
+\hspace{1zw}本研究の遂行,また本論文の作成にあたり、御多忙にも関わらず終始懇切なる御指導と御教授を賜わりました河野真治准教授に深く感謝致します。
 
-数々の貴重な御助言と細かな御配慮を戴いたhoge研究室のhoge氏に深く感謝致します。
-
-また一年間共に研究を行い、暖かな気遣いと励ましをもって支えてくれたhoge研究室のhoge君、hoge君、hogeさん並びにhoge研究室のhoge、hoge君、hoge君、hoge君、hoge君に感謝致します。
+数々の貴重な御助言と細かな御配慮を戴いた小久保翔平さん、 徳森海斗さん、 比嘉健太さん並びに並列信頼研究室の皆様に深く感謝致します。
 
 最後に、有意義な時間を共に過ごした情報工学科の学友、並びに物心両面で支えてくれた両親に深く感謝致します。
 
--- a/prepaper/finalPre.tex	Tue Feb 16 22:18:45 2016 +0900
+++ b/prepaper/finalPre.tex	Wed Feb 17 03:03:01 2016 +0900
@@ -4,7 +4,7 @@
 \usepackage{fancyhdr}
 \usepackage{url}
 %\pagestyle{fancy}
-\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿}
+\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 卒業研究発表会}
 \rhead{}
 \cfoot{}
 
@@ -32,16 +32,86 @@
 It also possible to change screen server dynamically without changing display cables.
 TreeVNC is useful in a lecture which contains 40-60 students or small seminar.
 
-
 本研究ではTreeVNCの改良として、NATへの対応、 マルチディスプレイへの対応等のリファクタリングを行うとともに、TreeVNC 有用性を示すために画像データの遅延時間計測を行った。
 
 \section{画面配信システムTreeVNC}
 
 \section{NAT への対応}
+遠隔地からでもゼミや授業に参加できるよう、 NATを越えたネットワークから TreeVNC への接続を可能にした。
+
+図\ref{fig:directConnection} にNATを越えたネットワークからの接続を示す。
+別ネットワークからTreeVNCに参加する際、 直接配信側のネットワークの Root Node に接続を行う。
+この接続を Direct Connection と呼ぶ。
+
+Direct Connection した Node はそのネットワークの Root Node になる。 
+そのネットワークの他の Node はそのネットワークの Root Node に接続し、木構造を生成する。
+
+配信側の Root Node は Direct Connection で接続された Root Node に対して Framebuffer Update で 画像データを送信する。
+Framebuffer Update が送信された Root Node は そのネットワークの Node に対して Framebuffer Update を送信する。
+
+これにより、NATを越えたネットワークの画面共有が可能となる。
+
+\begin{figure}[htbp]
+    \begin{center}
+        \includegraphics[width=80mm]{./pic/directConnection.pdf}
+        \caption{遠隔地 Node からの接続}
+        \label{fig:directConnection}
+    \end{center}
+\end{figure}
+
 \section{マルチディスプレイ対応}
+画面配信側のPCがマルチディスプレイの場合、 VNC サーバーからは複数の画面全体の画像データが送信されてしまう。
+
+授業やゼミ等でTreeVNCを使用する場合、複数画面の表示は必要ない。
+そこで、画面を共有する際、ディスプレイを選択させ、画面共有を行う機能を追加した。
+
+ディスプレイの情報は個々のクライアントでしか取得ができない。
+そのため、配信側は画面の切替を行う際に、ディスプレイを選択し、そのディスプレイの左上と右下の座標を取得する。
+その座標を Root Node への画面切り替えを要求する SERVER\_CHANGE\_REQUEST メッセージに付加させる。 
+Root Node は 配信側の VNC サーバー に画像データを要求する FRAMEBUFFER\_UPDATE\_REPLY メッセージに送信された座標を付加する。 
+VNC サーバーは要求された座標内の画像データを FRAMEBUFFER\_UPDATE メッセージで Root Node に送信する。 
+これにより、一画面のみの表示が可能となる。
+
+図\ref{fig:multidisplay} は Display1 のみを画面共有する例を示している。
+
+\begin{figure}[htbp]
+    \begin{center}
+        \includegraphics[width=70mm]{./pic/shareScreenToMultiDisplay.pdf}
+    \end{center}
+    \caption{マルチディスプレイへの対応}
+    \label{fig:multidisplay}
+\end{figure}
+
 \section{画面切り替えの安定化}
+画面切り替えを行う際、 配信中の画面を停止した後に画面の切り替え処理を実行していた。
+しかし、 切り替え先の VNC サーバーへの接続に時間がかかったり、 切り替え先の設定ミスなどで画面の切替がスムーズに行えない場合があった。
+
+そこで、 画面切り替えを行う際に新しく切り替え用のスレッドを生成し処理する変更を行った。
+Root Node は SERVER\_CHANGE\_REQUEST を受け取ると、 配信状態を維持したまま、画面切り替え用に新しくスレッドを生成する。
+切り替え用のスレッドは切り替えに必要なデータの設定、 VNC サーバー への接続など通常の切り替え処理を実行する。
+切り替えが完了した後に、 現在配信中の画面を停止し、画面の切替を行う。
+切り替え用のスレッドを用意することで、配信状況を維持したままスムーズな画面切り替えが可能になった。
+
 \section{クライアントへのエラー通知}
+TreeVNC には接続しているクライアントへのエラーの通知を行うことが出来なかった。
+そのため、 画面切り替えを行う際に切り替え先が VNC サーバーの共有設定をしていない場合 Root Node に接続エラーのダイアログが表示されるという実装になっており、切り替えを行ったクライアントには通知されていなかった。
+
+この問題を解決するために新しくERROR\_ANNOUNCE というメッセージを追加した。
+図\ref{fig:errorAnnounce} は Node3 に対してエラー通知を行っている例を示している。
+ERROR\_ANNOUNCE メッセージは Root Nodeから木構造を辿りながら末端の Node に通信を行うメッセージで、エラー通知したいクライアントの Node Nuber と エラー内容の文字列を付加して送信する。
+付加した Node Number に一致する Node がメッセージを受け取ると、 付加されたエラーの文字列をダイアログで表示する。
+エラー通知用のメッセージを追加することで、 各々のクライアントに対して通知を行うことが可能になった。
+
+\begin{figure}[htbp]
+    \begin{center}
+        \includegraphics[scale=0.5]{./pic/errorAnnounce.pdf}
+    \end{center}
+    \caption{ERROR\_ANNOUNCE メッセージの挙動}
+    \label{fig:errorAnnounce}
+\end{figure}
+
 \section{TreeVNC の評価}
+
 \section{今後の課題}
 
 \nocite{*}