Mercurial > hg > Papers > 2019 > riono-sigos
changeset 15:095e808d1ee2
paper section2 wrote
author | e165729 <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 08 May 2019 03:14:43 +0900 |
parents | d958a06673f4 |
children | 86575cab4d17 |
files | Image/MultiNetworkTree.pdf Paper/riono-sigos.pdf Paper/riono-sigos.tex |
diffstat | 3 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/riono-sigos.tex Wed May 08 02:30:13 2019 +0900 +++ b/Paper/riono-sigos.tex Wed May 08 03:14:43 2019 +0900 @@ -159,6 +159,29 @@ そこでZRLEEは一度Root Nodeで受け取ったZRLEのデータをunzipし、データをupdate rectangleと呼ばれる画面ごとのデータに辞書を付与してzipし直すことで初めからデータを読み込んでいなくても解凍できるようになった(図\ref{fig:ZRLEE})。一度ZRLEEに変換してしまえば子Nodeはそのデータを渡すだけで良い。ただしdeflaterとinflaterでは前回までの通信で得た辞書をクリアしなければならないため、Root NodeとNode側では毎回新しく作成する必要がある。 + +\subsection{ShareScreen} +従来のVNCでは、配信者が切り替わるたびにVNCの再起動、サーバ、クライアント間の再接続を行う必要がある。TreeVNCは配信者の切り替えのた度に生じる問題を解決している。 +TreeVNCを立ち上げることで、ケーブルを使用する必要なしに、各参加者の手元のPCに発表者の画面を共有することができる。画面の切り替えについてはユーザがVNCサーバへの再接続を行うことなく、ビューワー側のShare Screenボタンを押すことで配信者の切り替えが可能になっている。 + +TreeVNCのRoot Nodeは配信者のVNCサーバと通信を行なっている。VNCサーバから画面データを受信し、そのデータを子Nodeへと送信している。配信者切り替え時にShare Screenを実行すると、Root Nodeに対し SERVER\_CHANGE\_REQUESTというメッセージが送信される。このメッセージにはShare Screenボタンを押したNodeの番号やディスプレイ情報が付加されている。メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバと通信を始める。 + + +\subsection{ネットワーク複数時の接続} +TreeVNCはRoot Nodeが複数のネットワークに接続している場合、図\ref{fig:multinetworktree}のようにネットワーク別に木構造を形成する。 + +\begin{figure}[htb] %PDF +\begin{center} +\includegraphics[scale=0.4]{../Image/MultiNetworkTree.pdf} +\caption{Multi Network Tree} +\label{fig:multinetworktree} +\end{center} +\end{figure} + +TreeVNCはRoot NodeがTreeManagerというオブジェクトを持っている。TreeManagerはTreeVNCの接続部分を管理しており、木構造を管理するnodeListを生成する。このnodeListを元に、新しいNodeの接続や、切断検出時の接続の切り替え等を行う。Tree ManagerはRoot Nodeの保持しているネットワーク毎に生成される。新しいNodeが接続してきた際、interfacesからNodeのネットワークと一致するTree Managerを取得し、Node接続の処理を任せる。 + + + \section{Multicastの導入} \section{Blokingの手法}