# HG changeset patch # User e155702 # Date 1550351343 -32400 # Node ID 1f35e28d486cceda3dcafb06f8f3fea5fb3b322b # Parent 0e8b9646d43f90eb51f8df05f13e7811bb6c1c4a update tex diff -r 0e8b9646d43f -r 1f35e28d486c final_main/chapter1.tex --- a/final_main/chapter1.tex Sun Feb 17 05:39:59 2019 +0900 +++ b/final_main/chapter1.tex Sun Feb 17 06:09:03 2019 +0900 @@ -31,6 +31,3 @@ % 現在の TreeVNC は無線接続だと多人数での接続や動画配信を行なった際、画面共有が遅くなる場合があるので、multicast でデータの通信を行えば、クライアント側の負担が軽減され、通信速度の改善が見られやすいと考えるから -%\section{論文の構成} - -%\section{Introduction} diff -r 0e8b9646d43f -r 1f35e28d486c final_main/chapter2.tex --- a/final_main/chapter2.tex Sun Feb 17 05:39:59 2019 +0900 +++ b/final_main/chapter2.tex Sun Feb 17 06:09:03 2019 +0900 @@ -23,19 +23,20 @@ \section{TreeStructure} -TreeVNC はサーバーに接続してきたクライアントをバイナリツリー状に接続している。また、接続してきたクライアントをノードとし、その下に新たなクライアントを接続していくことでサーバーが画面のデータを配信する回数を抑えることで負荷分散している(図)。バイナリツリー状に接続することで、画像データのコピーを各ノードに負担させることができ、従来の VNC ではクライアントが N 台接続するとサーバー側が N 回コピーを行なって配信していたが、この接続方法であれば各ノードが 2 回ずつコピーすることで配信を可能にしている。 +TreeVNC はサーバーに接続してきたクライアントをバイナリツリー状に接続している。また、接続してきたクライアントをノードとし、その下に新たなクライアントを接続していくことでサーバーが画面のデータを配信する回数を抑えることで負荷分散している(図\ref{fig:vnc} 図\ref{fig:treevnc})。バイナリツリー状に接続することで、画像データのコピーを各ノードに負担させることができ、従来の VNC ではクライアントが N 台接続するとサーバー側が N 回コピーを行なって配信していたが、この接続方法であれば各ノードが 2 回ずつコピーすることで配信を可能にしている。 \begin{figure}[htpb] \begin{center} - \scalebox{0.55}{\includegraphics{fig/vnc.pdf}} + \scalebox{0.55}{\includegraphics{fig/vnc-crop.pdf}} \end{center} \caption{従来の VNC の接続方法} \label{fig:vnc} \end{figure} + \begin{figure}[htpb] \begin{center} - \scalebox{0.55}{\includegraphics{fig/treevnc.pdf}} + \scalebox{0.55}{\includegraphics{fig/treevnc-crop.pdf}} \end{center} \caption{TreeVNC の接続方法} \label{fig:treevnc} @@ -45,6 +46,8 @@ \section{画面配信の切り替え} 従来の VNC では、配信者が切り替わるたびに VNC の再起動、サーバー、クライアント間の再接続を行う必要がある。TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えを実行できるように設定し、この問題に対処している。 -ShareScreen 実行後、 Root Node に対し SERVER_CHANGE_REQUEST というメッセージが送信される。このメッセージには ShereScreen ボタンを押した Node の番号やディスプレイの情報が付加されている。メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。 +ShareScreen 実行後、 Root Node に対し SERVER\_CHANGE\_REQUEST というメッセージが送信される。このメッセージには ShereScreen ボタンを押した Node の番号やディスプレイの情報が付加されている。メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。 -%切り替え実行時の図 \ No newline at end of file +%切り替え実行時の図 + + diff -r 0e8b9646d43f -r 1f35e28d486c final_main/fig/treevnc-crop.pdf Binary file final_main/fig/treevnc-crop.pdf has changed diff -r 0e8b9646d43f -r 1f35e28d486c final_main/fig/vnc-crop.pdf Binary file final_main/fig/vnc-crop.pdf has changed diff -r 0e8b9646d43f -r 1f35e28d486c final_main/main.pdf Binary file final_main/main.pdf has changed diff -r 0e8b9646d43f -r 1f35e28d486c final_main/main.tex --- a/final_main/main.tex Sun Feb 17 05:39:59 2019 +0900 +++ b/final_main/main.tex Sun Feb 17 06:09:03 2019 +0900 @@ -33,7 +33,7 @@ \def\lstlistingname{リスト} \def\lstlistlistingname{リスト目次} \setlength{\itemsep}{-1zh} -\title{TreeVNC} +\title{画面配信システム TreeVNC の改良} \icon{ \includegraphics[width=80mm,bb=0 0 595 642]{fig/ryukyu.pdf} %%元は 642じゃなくて842 } @@ -73,107 +73,22 @@ %章分けは個人で違うので下のフォーマットを参考にして下さい。 % はじめに -\chapter{画面配信ソフトウェア TreeVNC の活用} -\label{chap:introduction} -%\pagenumbering{arabic} - -% 序論の目安としては1枚半ぐらい. -% 英語発表者は,最終予稿の「はじめに」の英訳などを載せてもいいかも. - - - - 現代の講義や発表、プレゼンなどは、用意された資料や PC 画面を見ながら進行することが多い。ゼミなどでは発表者を切り替えながら発表を行う場合もある。通常このような場面では、資料やスライドを表示するためにプロジェクタが使用されている。ゼミの際には発表者を切り替えるたびにプロジェクタにケーブルを差し替える必要がある。ケーブルの差し替えの際に発表者の PC によってはアダプターの種類や解像度の設定により、正常に PC 画面を表示できない場合がある。また、参加者もプロジェクタに集中を割く必要があり、手元の PC と交互に参照する場合、負担になる可能性がある。 - -当研究室で開発している画面配信システム TreeVNC は、発表者の画面を参加者の PC に表示するソフトウェアである。そのため TreeVNC を使用することで、参加者は不自由なく手元の PC を使用しながら講義を受ける事が可能になる。更に発表者の切り替えの際も、ケーブルの差し替えを行わずに共有する画面の切替を可能としている。 - -TreeVNC は VNC(Virtual Network Computing) を使用した画面配信を行っている。通常の VNC では配信側の PC に全ての参加者が接続するため、多人数が接続した際処理しきれず、最悪の場合ソフトウェアが落ちてしまう。TreeVNC ではネットワークに接続した参加者をバイナリツリー状に接続し、 配信コストをクライアントに分散させる仕組みをとっている。そのため、講義で発表者の画面を表示する際、多人数の生徒が参加しても処理性能が下がらない。また、ツリーのルートが参照している VNC サーバーを変更することで、共有する画面の切替が可能となっている。 - -しかし、画面共有は送信するデータ量が多いため、現在の TreeVNC では無線 LAN 接続の場合、画面の配信に遅延が生じてしまう場合がある。そこで本研究では、multicast でのデータ通信の実装やデータの分割・圧縮方法の評価を行うことにより、無線 LAN での配信環境の向上を目指し、TreeVNC の有用性を評価することで講義やゼミを円滑に行えることを目標とする。 - - - -%% TreeVNC を 有線・無線接続の両方で快適に使用できるようにしたい - -%% そのため当研究室では無線接続の際、multicast で通信を行う手法を提案する - -%% multicast 接続で、TreeVNC の実用性を向上させたい - -%%% -% やってること、やりたいことは TreeVNC 上で multicast を実装し、無線接続でも問題なく使用できるようにすること -%%% - -% なんで multicast で実装するの ? -% 現在の TreeVNC は無線接続だと多人数での接続や動画配信を行なった際、画面共有が遅くなる場合があるので、multicast でデータの通信を行えば、クライアント側の負担が軽減され、通信速度の改善が見られやすいと考えるから - - -%\section{論文の構成} - -%\section{Introduction} - +\input{chapter1.tex} % 基礎概念 -\chapter{TreeVNC の基本概念} -% VNCとはなにか?どのようなものか?どのようにしてなりたっているか? - - TreeVNC は当研究室で開発している画面配信ソフトウェアである。 - -本章は TreeVNC の基本概念となっている技術について説明する。 - -% どういう概念? どうしてそうするの? どうやってつかうの? -\section{Virtual Network Computing} - -TreeVNC の名前にも用いられている VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェアである。 - -サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている。 - - -\section{RFB プロトコル} - -RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコルである。 - -ユーザがいる(画面を表示される)側と FrameBuffer への更新が行われる(自身の画面を送信する)側に分かれ、それぞれを RFB クライアント、RFB サーバと呼ぶ。FrameBuffer は、メモリ上に置かれた画像データのことである。 - -RFB プロトコルでは、始めにプロトコルバージョンの確認、認証を行う。その後クライアントに向けて FrameBuffer の大きさやデスクトップに付けられた名前などが含まれている初期メッセージが送信される。RFB サーバ側は FrameBuffer の更新が行われるたびに RFB クライアントに対して FrameBuffer の変更部分だけを送信する。更に、RFB クライアントの FramebufferUpdateRequest が来るとそれに答え返信する。変更部分だけを送信する理由は、更新がある度に全画面を送信していると、送信するデータ面、更新にかかる時間面において効率が悪いからである。 - - -\section{TreeStructure} -TreeVNC はサーバーに接続してきたクライアントをバイナリツリー状に接続している。また、接続してきたクライアントをノードとし、その下に新たなクライアントを接続していくことでサーバーが画面のデータを配信する回数を抑えることで負荷分散している(図)。バイナリツリー状に接続することで、画像データのコピーを各ノードに負担させることができ、従来の VNC ではクライアントが N 台接続するとサーバー側が N 回コピーを行なって配信していたが、この接続方法であれば各ノードが 2 回ずつコピーすることで配信を可能にしている。 - -\begin{figure}[htpb] - \begin{center} - \scalebox{0.55}{\includegraphics{fig/vnc.pdf}} - \end{center} - \caption{従来の VNC の接続方法} - \label{fig:vnc} -\end{figure} - -\begin{figure}[htpb] - \begin{center} - \scalebox{0.55}{\includegraphics{fig/treevnc.pdf}} - \end{center} - \caption{TreeVNC の接続方法} - \label{fig:treevnc} -\end{figure} - - -\section{画面配信の切り替え} -従来の VNC では、配信者が切り替わるたびに VNC の再起動、サーバー、クライアント間の再接続を行う必要がある。TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えを実行できるように設定し、この問題に対処している。 - -ShareScreen 実行後、 Root Node に対し SERVER\_CHANGE\_REQUEST というメッセージが送信される。このメッセージには ShereScreen ボタンを押した Node の番号やディスプレイの情報が付加されている。メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。 - -%切り替え実行時の図 +\input{chapter2.tex} % 実験 - +%\input{chapter3.tex} % 実装 - +%\input{chapter4.tex} % 評価 - +%\input{chapter5.tex} % 結論 - +%\input{chapter6.tex} % 参考文献 %% こっちで書きたいよね