changeset 3:5bb2d3078c38

update
author riono <e165729@ie.u-ryukyu.ac.jp>
date Mon, 04 May 2020 15:34:01 +0900
parents c52d91f27041
children f10372d51a83
files Paper/riono-sigos.pdf Paper/riono-sigos.tex
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
Binary file Paper/riono-sigos.pdf has changed
--- a/Paper/riono-sigos.tex	Fri May 01 22:23:46 2020 +0900
+++ b/Paper/riono-sigos.tex	Mon May 04 15:34:01 2020 +0900
@@ -111,14 +111,26 @@
 
 ZLREはZlibで圧縮されたデータとそのデータのバイト数がヘッダーとして付与され送信される。Zlibはjava.util.zip.deflaterとjava.util.zip.inflaterで圧縮と解凍が行える。しかしjava.util.zip.deflaterは解凍に必要な辞書を書き出す(flush)ことができない。従って、圧縮されたデータを途中から受け取ってもデータを正しく解凍することができない。
 
+そこでZRLEEは一度Root Nodeで受け取ったZRLEのデータをunzipし、データをupdate rectangleと呼ばれる画面ごとのデータに辞書を付与してzipし直すことで、始めからデータを読み込んでいなくても解凍をできるようになっている(図\ref{fig:ZRLEtoZRLEE})。
+
 \begin{figure}[htb] %PDF
 \begin{center}
-\includegraphics[width=8cm]{fig/EncodeZRLE.pdf}
-\caption{ZRLEでデータを途中から受け取った場合}
-\label{fig:ZRLE}
+\includegraphics[scale=0.5]{fig/EncodeZRLEtoZRLEE.pdf}
+\caption{ZRLEEへ再圧縮されたデータを途中から受け取った場合}
+\label{fig:ZRLEtoZRLEE}
 \end{center}
 \end{figure}
 
+一度ZRLEEに変換してしまえば、子Nodeはそのデータをそのまま流すだけでよい。ただし、deflaterとinflaterでは前回までの通信で得た辞書をクリアしないといけないため、Root Node側とNode側では毎回新しく作る必要がある。辞書をクリアすることで短時間で解凍され画面描画されるという、適応圧縮を実現していることになり圧縮率は向上する。
+
+\section{ShareScreen}
+従来のVNCでは、配信者が交代するたびにVNCの再起動、サーバ・クライアント間の再接続を行う必要がある。TreeVNCでは配信者の切り替えのたびに生じる問題を解決している。
+
+TreeVNCを立ち上げることでケーブルを使用せずに、各参加者の手元のPCに発表者の画面を共有することができる。画面の切り替えについてはユーザがVNCサーバへの再接続を行うことなく、ビューワー側のShere Screenボタンを押すことで配信者の切り替えが可能となっている。
+
+TreeVNCのROot Nodeは配信者のVNCサーバと通信を行なっている。VNCサーバから画面データを受信し、そのデータを子Nodeへと送信している。配信者切り替え時にShare Screenを実行すると、Root Nodeに対しSERVER\_CHANGE\_REQUESTというメッセージが送信される。このメッセージにはShare Screenボタンを押したNodeの番号やディスプレイ情報が付与されている。メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバと通信を始める。
+
+
 \section{Blockingの実装}
 
 \section{Multicast用のシステム構成}