# HG changeset patch # User Tatsuki IHA # Date 1455603743 -32400 # Node ID 70c1c17d8eceef15cdcf2df10ce0909ebad43e72 # Parent c05bc62b50e64abc44ce6efd5a4169639c230ac2 Update diff -r c05bc62b50e6 -r 70c1c17d8ece paper/images/directConnectionServerChange.graffle Binary file paper/images/directConnectionServerChange.graffle has changed diff -r c05bc62b50e6 -r 70c1c17d8ece paper/images/directConnectionServerChange.pdf Binary file paper/images/directConnectionServerChange.pdf has changed diff -r c05bc62b50e6 -r 70c1c17d8ece paper/main.pdf Binary file paper/main.pdf has changed diff -r c05bc62b50e6 -r 70c1c17d8ece paper/main.tex --- a/paper/main.tex Mon Feb 15 18:18:22 2016 +0900 +++ b/paper/main.tex Tue Feb 16 15:22:23 2016 +0900 @@ -72,6 +72,34 @@ % はじめに \chapter{画面共有を利用したコミュニケーション} +授業やゼミ等で、それぞれが PC 端末を持っている場合では、 +PC の機能を活かしたコミュニケーションが可能である。 + +通常の授業では先生の用意した資料、 PC 画面を見ながら授業が進むことが多い。 +ゼミでは発表者を切り替えながら発表を行う。 + +通常これらの画面を表示するためにプロジェクタが使用されている。 +しかし、プロジェクタでは通常の授業の際、参加者はプロジェクタに集中するため、手元の PC をほぼ使用することができない。 +更に手元の PC を使う際はプロジェクタと PC を行き来するため、目に負担がかかってしまう。 +またゼミの際には発表者を切り替えるたびにプロジェクタにケーブルを差し替える必要がある。 +ケーブルの差し替えの際に発表者の PC によってアダプターの種類や解像度の設定によって正常に PC 画面を表示できない場合もある。 + +画面配信システム TreeVNC\cite{taninari:2011a}は発表者の画面を参加者の PC に表示する。 +そのため、参加者は不自由なく手元の PC を使用しながら授業を受ける事が可能になる。 +更に発表者の切り替えの際もケーブルの差し替えずに共有する画面の切替を可能としている。 + +Tree VNC は VNC\cite{vnc} を使用した画面配信を行っている。 +しかし通常の VNC では配信側に全ての参加者が接続するため、多人数の際の処理性能が落ちてしまう。 +Tree VNC では有線でネットワークに接続した参加者をバイナリツリー状に接続し、 配信コストをクライアントに分散させる仕組みになっている。 +そのため、授業で先生の画面を表示する際、多人数の生徒が参加しても処理性能が下がらない。 +また、ツリーのルートが参照している VNC サーバーを変更することで、共有する画面の切替が可能となる。 + +しかし TreeVNC を授業やゼミで使用している中、 様々な問題が発生した。 +NATを越えたネットワーク接続に対応しておらず、遠隔地などで授業やゼミに参加することが出来ない。 +また、ゼミの際に、マルチディスプレイを使用して画面配信を行う際、すべての画面が配信され、不必要な画面まで表示されてしまう。 + +そこで、本研究では上記の問題点を解決し、TreeVNCの有用性を評価することで授業やゼミを円滑に行えることを目標とする。 + \label{chap:introduction} \pagenumbering{arabic} @@ -338,8 +366,8 @@ TreeVNC の Root Node は配信者の VNC サーバーと通信を行っている。 VNC サーバーから画面データを受信し、そのデータを 子 Node へと送信している。 -配信者切り替え時に Share Screen ボタンが押されると、 -Root Node は Share Screen ボタン を押したクライアントの VNC サーバーと通信を始める。 +配信者切り替え時に Share Screen ボタンが押されると、 SERVER\_CHANGE\_REQUEST メッセージに Node 番号やディスプレイ情報 を付加し、Root Node に送信する。 +SERVER\_CHANGE\_REQUEST メッセージを受け取った Root Node は配信を行うクライアントの VNC サーバーと通信を始める。 そのため TreeVNC は配信者切り替えの度に VNC を終了し、再接続する必要がない。 \section{複数のネットワークの対応} @@ -415,7 +443,7 @@ \section{マルチディスプレイ対応} 画面配信側のPCがマルチディスプレイの場合 VNC サーバーからは複数の画面全体の画像データが送信されてしまう。 授業やゼミ等でTreeVNCを使用する場合、複数画面の表示は必要ない。 -そこで、画面を共有する際、ディスプレイを選択させ、画面共有を行う機能を追加した\ref{parusu:216a}。 +そこで、画面を共有する際、ディスプレイを選択させ、画面共有を行う機能を追加した\cite{parusu:2016a}。 ディスプレイの情報は個々のクライアントでしか取得ができない。 そのため、配信側は画面の切り替えを行う際に、ディスプレイを選択し、そのディスプレイの左上と右下の座標を取得する。 @@ -578,7 +606,12 @@ 今回追加した Direct Connection ではNATを越えたネットワークの画面の配信を行うのみであり、 TreeVNC の利点の1つである画面切り替えを行うことが出来ない。 そのため、NATを越えたネットワークでの画面切り替えの実装を行う必要がある。 -\ref{fig:directConnectionServerChange} は Direct Connection での画面切り替えの実装案である。 +図\ref{fig:directConnectionServerChange} は Direct Connection での画面切り替えの実装案である。 +まず Direct Connection した ネットワークのクライアントから SERVER\_CHANGE\_REQUEST メッセージが送信される。 +SERVER\_CHAGEN\_REQUEST メッセージを受け取った そのネットワークの Root Node は Direct Connection した先の Root Node へ SERVER\_CHANGE\_REQUEST を -1 を付加して送信する。 + -1 を送信することで、 受け取った Root Node は別のネットワークからの画面切り替え要求ということを判断することができる。 +別ネットワークからの切り替え要求を受け取った Root Node は読み込み用と書き込み用のソケットを入れ替える。 +ソケットを入れ替えることで、 切り替え要求した Root Node のデータを受け取ることが可能となる。 \begin{figure}[htbp] \begin{center} @@ -587,8 +620,10 @@ \label{fig:directConnectionServerChange} \end{center} \end{figure} -\subsection{共有機能の追加} +\subsection{音声機能の追加} +Direct Conenction により、遠隔地からの画面配信が可能となった。 +しかし、 ゼミや授業等では画面の表示のみではなく、 音声の配信も行う必要がある。 % 参考文献 \def\line{−\hspace*{-.7zw}−}