Mercurial > hg > Papers > 2015 > oc-thesis
changeset 7:f6b14e3b72e0
add pdf
author | oc |
---|---|
date | Mon, 16 Feb 2015 18:22:56 +0900 (2015-02-16) |
parents | 1bc81f8b7517 |
children | 42b6994eac80 |
files | chapter1.tex chapter3.tex chapter4.tex chapter6.tex thesis-paper.pdf thesis-paper.tex |
diffstat | 6 files changed, 58 insertions(+), 72 deletions(-) [+] |
line wrap: on
line diff
--- a/chapter1.tex Mon Feb 16 17:20:04 2015 +0900 +++ b/chapter1.tex Mon Feb 16 18:22:56 2015 +0900 @@ -3,40 +3,27 @@ \section{研究背景と目的} -多人数で意見を交わし合い、モチベーションを高めたいといった場面がある。 -多人数でコミュニケーションを取るためには、目的を共有し、意見・アイデア・質問を交わし合う必要がある。 -話し合いの場として、授業やゼミ、会議等がある。 -そういった場では、PCを用いて個人がプレゼンテーションを行ったり、書記として集まりの内容をまとめる等が必要となる。 - -プロジェクタに画面を映すという方法があるが、発表者毎にケーブルの抜き差しを行わなければいけないといった煩わしさがある。 - -これらの問題は、オープンソースなアプリケーションであるVNCを用いることで解決することができる。 -VNCとは、RFBプロトコルを使用して、画面のデータを配信するシステムであり、RFBプロトコルは自身の画面をネットワークを介して他の画面に配信するためのプロトコルである。 - -しかし、従来のVNCに多人数で接続すると、配信側に負荷がかかり処理性能が落ちてしまう。 -発表者を入れ替える際にも、いちいち接続し直さないといけない。 - - -ケーブルの話 -画面切り替えの話 -遠隔地の話 -音声共有の話 +%多人数で意見を交わし合い、モチベーションを高めたいといった場面がある。 +%多人数でコミュニケーションを取るためには、目的を共有し、意見・アイデア・質問を交わし合う必要がある。 +%話し合いの場として、授業やゼミ、会議等がある。 +%そういった場では、PCを用いて個人がプレゼンテーションを行ったり、書記として集まりの内容をまとめる等が必要となる。 +% +%プロジェクタに画面を映すという方法があるが、発表者毎にケーブルの抜き差しを行わなければいけないといった煩わしさがある。 +% +%これらの問題は、オープンソースなアプリケーションであるVNCを用いることで解決することができる。 +%VNCとは、RFBプロトコルを使用して、画面のデータを配信するシステムであり、RFBプロトコルは自身の画面をネットワークを介して他の画面に配信するためのプロトコルである。 +% +%しかし、従来のVNCに多人数で接続すると、配信側に負荷がかかり処理性能が落ちてしまう。 +%発表者を入れ替える際にも、いちいち接続し直さないといけない。 +% +%多人数で意見を交わし合い、モチベーションを高めたい。 +%そこで多人数でのコミュニケーションの充実を測る。 +%コミュニケーションの要素として、 +%目的を共有し、意見・アイデア・質問を交わし合うことが必要である。 +% +%TreeVNCでは、多人数に画面を配信することによって、 +%手元のPCで一つの画面を共有することができる。 +% +%画面の切り替えをスムーズに切り替えることができ、 +%綺麗な画質を保ちながらリアルタイムで共有することができる。 - - -%いつものslide研究目的 - -多人数で意見を交わし合い、モチベーションを高めたい。 -そこで多人数でのコミュニケーションの充実を測る。 -コミュニケーションの要素として、 -目的を共有し、意見・アイデア・質問を交わし合うことが必要である。 - -TreeVNCでは、多人数に画面を配信することによって、 -手元のPCで一つの画面を共有することができる。 - -画面の切り替えをスムーズに切り替えることができ、 -綺麗な画質を保ちながらリアルタイムで共有することができる。 - -更に、遠隔地からでもコミュニケーションに参加できるように、 -ルータを超えて画面を配信することができるようになる予定である。 -遠隔地から接続できる機能を追加するとともに音も共有する予定である。
--- a/chapter3.tex Mon Feb 16 17:20:04 2015 +0900 +++ b/chapter3.tex Mon Feb 16 18:22:56 2015 +0900 @@ -1,16 +1,16 @@ \chapter{TreeVNC のリファクタリング} \section{動的な port 番号の指定} -TreeVNCは複雑な分散アルゴリズムを用いたシステムであり、 +TreeVNC は複雑な分散アルゴリズムを用いたシステムであり、 デバッグを行う環境を整える必要がある。 -従来のTreeVNCでは、固定port番号を複数利用していた。 -port番号は一意なので、1台で複数のTreeVNCを立ち上げることができない。 +従来の TreeVNC は、メッセージ通信の際に固定 port 番号を複数利用していた。 +port 番号は一意なので、1台で複数の TreeVNC を立ち上げることができなかった。 -動的にport番号を割り当てることで、 -1つのnodeに対して複数のTreeVNCを起動することを可能にした。 -最低限のソケットポートを開けることによって、 -メモリの使用量を抑えることにも繋がる。 +今回、動的に port 番号を割り当てることで、 +1つの PC で複数の TreeVNC を起動することを可能にした。 +そして、最低限のソケットポートを開けることによって、 +メモリの使用量を抑えることにも繋がった。 以下に、動的に port 番号を割り当てているソースコード\ref{selectport}を記述する。 @@ -41,34 +41,35 @@ \newpage - selectPort メソッドは、TreeVNC を立ち上げた際に呼ばれる。 ソースコード\ref{selectport}の try 節で ServerSocket を生成する。 ServerSocket 生成の際に port 番号を結びつける。 -この時に既に port 番号が使用されている場合、 +この時、既に port 番号が使用されている場合、 BindException error が起こる。 その場合、catch 節に処理が移行する。 -port をインクリメントし、 -continue でもう一度 ServerSocket を生成しに行く。 +catch 節では port をインクリメントし、 +continue でもう一度 ServerSocket を生成する try 節に戻る。 成功するまで port はインクリメントされるので、 ユニークな port 番号を使用することが可能となる。 -以前は固定port番号を使用しmessageの通信を行っていたが、 -一意なportを割り当てられているnodeが通信を行うことによって、 -どのport番号が使用されているかを意識する必要がなくなった。 +以前は固定 port 番号を使用し message の通信を行っていたが、 +一意な port を割り当てられている node が通信を行うことによって、 +通信の際にどの port 番号が使用されているかを意識する必要がなくなった。 -\section{QUALITYモードとSPEEDモード} +\section{QUALITY モードと SPEED モード} 高解像度のまま拡大・縮小の処理を行うと、 -PCのスペックによって描画処理に時間がかかってしまうことがある。 -授業中に TreeVNC を使用する際、 +PC のスペックによって描画処理に時間がかかってしまうことがある。 + +画像描画処理には、 +高画質優先の QUALITY モードと描画速度優先の SPEED モードがある。 +今まで TreeVNC は QUALITY モードで使用していた。 + +しかし、授業中に TreeVNC を使用する際、 拡大・縮小をしてしまうと描画処理が重くなり遅延が生じていた。 -画像描画処理には、品質優先( QUALITY モード)・スピード優先( SPEED モード)がある。 -今まで TreeVNC は基本的に QUALITY モードを設定していた。 - -どちらのモードを使用するかをビューワから変更出来るようにした。 +今回、どちらのモードを使用するかをビューワから変更出来るようにした。 これにより、描画処理の遅延を解決することができた。 @@ -77,7 +78,7 @@ ビデオフィードバックが他のユーザに配信されてしまう問題があった。 ホストの切り替えの際、 -新しいホスト側のviewerを閉じることで問題を解決した。 +新しいホスト側のviewerを閉じることでこの問題を解決した。 \newpage @@ -85,7 +86,7 @@ \section{Tree の構成の変更} -従来のTreeVNCは、クライアントの接続する木構造が単一であった。 +従来の TreeVNC は、クライアントの接続する木構造が単一であった。 そのため、ネットワークインターフェースが違うクライアントが 同じ木に混在している状況が生じた。 速度の遅いクライアントが木に存在すると、 @@ -108,8 +109,8 @@ TreeManager では木構造を管理する nodeList が生成される。 この nodeList を元に、新しい node の接続や、node の切断検出時の接続の切り替え等を行う。 -今回 TreeManager を、 root の保持しているネットワークインタフェース毎に -生成する様に変更した。 +今回、root の保持しているネットワークインタフェース毎に +TreeManager を生成する様に変更した。 ソースコード\ref{createtreemanager}に、nodeList を生成する部分を示す。 \newpage
--- a/chapter4.tex Mon Feb 16 17:20:04 2015 +0900 +++ b/chapter4.tex Mon Feb 16 18:22:56 2015 +0900 @@ -23,9 +23,8 @@ 指定した幅・高さの画面サイズのみを配信することができる。 起動方法をソースコード\ref{fixsize}に記述する。 -% あとでコメントアウトはずす \begin{lstlisting}[caption=オプション--fixSize,label=fixsize] - $ java -jar TreeVNC.java -d --fixSize 1920 1080 + java -jar TreeVNC.java -d --fixSize 1920 1080 \end{lstlisting} VNCServer からは、配信する側の画面全体のデータが送信される。 @@ -49,22 +48,22 @@ そこで、一画面のみをフィルタリングし表示するためのオプション機能(${\mathchar`-}$${\mathchar`-}$filterSingleDisplay)を追加した。 オプションを追加した起動方法をソースコード\ref{filtersingledisplay}に記述する。 -% あとでコメントアウトはずす \begin{lstlisting}[caption=オプション--filterSingleDisplay,label=filtersingledisplay] - $ java -jar TreeVNC.java -d --filterSingleDisplay + java -jar TreeVNC.java -d --filterSingleDisplay \end{lstlisting} root は全画面データから一画面のみをフィルタリングする必要がある。 シングルディスプレイサイズは、個々のクライアントでしか取得できない。 -配信側は画面切り替えを行う際に、シングルディスプレイサイズを取得する。 -そして、画面切り替えを行う際に root へ送信する serverChangeRequset message に +配信側は画面の切り替えを行う際に、シングルディスプレイサイズを取得する。 +そして、root へ送信する画面切り替えの要求メッセージ SERVER\_CHANGE\_REQUEST に シングルディスプレイサイズを付加する。 root はメッセージを受け取り initData を変更する。 本来 initData は、RFB プロトコルで行われる通信中に VNCServer から受信する ServerInit message から生成される。 -マルチディスプレイの場合、ServerInit message をそのまま使用すると、複数画面全体を描画してしまう。 -それを避けるため、initData をシングルディスプレイサイズ用に生成し直す(oritinalInitData)。 -そして、接続されている node へも originalInitData を送信する(図\ref{fig:initdata})。 +マルチディスプレイの場合、ServerInit message は全画面サイズ様に生成されている。 +なので、そのままの initData を使用すると複数画面全体を描画してしまう。 +それを避けるため、initData をシングルディスプレイサイズ用の originalInitData に生成し直す。 +図\ref{fig:initdata}の様に、root は接続されている node へ originalInitData を送信する。 \begin{figure}[htpd] \begin{center}
--- a/chapter6.tex Mon Feb 16 17:20:04 2015 +0900 +++ b/chapter6.tex Mon Feb 16 18:22:56 2015 +0900 @@ -4,7 +4,6 @@ 今回の TreeVNC のリファクタリング・新機能実装を終えて、 改良した点を以下に箇条書きにまとめる。 - \begin{itemize} \item 1台の PC で TreeVNC を複数台立ち上げることが可能になり、デバッグしやすくなった \item 共有された画面の描画モードの切り替え(QUALITY モード・SPEED モード)が可能になった
--- a/thesis-paper.tex Mon Feb 16 17:20:04 2015 +0900 +++ b/thesis-paper.tex Mon Feb 16 18:22:56 2015 +0900 @@ -18,7 +18,7 @@ \input{dummy.tex} %% font \jtitle{授業やゼミ向けの画面配信システムTreeVNCの機能拡張} -\etitle{} +\etitle{Improvements of Screen Sharing System TreeVNC} \year{平成25年度} \affiliation{\center% \includegraphics[clip,keepaspectratio,width=.15\textwidth]