annotate Paper/riono-sigos.tex @ 29:ec8e1b783bb2

fix paper
author e165729 <e165729@ie.u-ryukyu.ac.jp>
date Thu, 09 May 2019 17:09:02 +0900
parents ef4d9aff7018
children 850e5397b13d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 %%
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 %% 研究報告用スイッチ
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 %% [techrep]
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 %%
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
5 %% 欧文表記無しのスイッチ(etitle,eabstractは任意)
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 %% [noauthor]
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 %%
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
9 \documentclass[submit,techrep]{ipsj} % 英文著者名を含む
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
10 %\documentclass[submit,techrep,noauthor]{ipsj} % 日本語のみ
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
14 %\usepackage[dvips]{graphicx}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
15 \usepackage[dvipdfmx]{graphicx}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \usepackage{latexsym}
20
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
17 \usepackage{url}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
18
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \def\|{\verb|}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 %
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 %\setcounter{巻数}{59}%vol59=2018
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 %\setcounter{号数}{10}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 %\setcounter{page}{1}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \begin{document}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 \title{画像配信システム TreeVNC のマルチキャストの導入}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
35 \etitle{Introduction of multicast of screen delivery software TreeVNC}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 %\affiliate{IPSJ}{情報処理学会\\
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 %IPSJ, Chiyoda, Tokyo 101--0062, Japan}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 \paffiliate{IEUR}{琉球大学工学部情報工学科\\
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 Information Engineering, University of the Ryukyus.}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
44 \author{安田 亮}{Ryo Yasuda}{IEUR}[riono210@cr.ie.u-ryukyu.ac.jp]
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
45 \author{大城 由也}{Yukiya Oshiro}{}[oshiro@cr.ie.u-ryukyu.ac.jp]
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
46 \author{河野 真治}{Shinji Kono}{IEUR}[kono@ie.u-ryukyu.ac.jp]
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 \begin{abstract}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
49 講義やゼミではPC画面で用意した資料を見ながら進行することが多い. しかし, 発表者のPC画面の切り替えでケーブルを差し替えを行う必要や, PCと接続するアダプターによっては正常にPC画面を表示できない場合がある. 参加者もプロジェクタに集中を割く必要があり, 手元のPCと相互に参照する場合, 負担になる場合がある. 当研究室で開発しているTreeVNCは, 発表者のPC画面を参加者のPCに表示する画面配信システムである. サーバに接続したクライアントをバイナリツリー状に接続し, 配信コストを分散させる仕組みを取ることで, 多人数が接続しても処理性能が下がらないような設計になっている. しかし, 画面共有は送信するデータ量が多いため, 無線 LAN 接続の場合, 画面の配信に遅延が生じてしまう. そこで, multicast でのデータ通信の実装やデータの分割・圧縮方法の評価を行い, TreeVNC のmulticastの有用性を評価する.
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 \end{abstract}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
52 \begin{eabstract}
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
53 In lectures and seminars, it often progresses while looking at the materials prepared on the PC screen. However, it may be necessary to replace the cable by switching the PC screen of the presenter, or the PC screen may not be displayed properly depending on the adapter connected to the PC. Participants also need to focus on the projector, which can be a burden when cross-referencing with a PC at hand. TreeVNC, developed by our laboratory, is a screen distribution system that displays the presenter's PC screen on the participant's PC. The client connected to the server is connected in a binary tree, and distribution cost is distributed, so that the processing performance does not decrease even if many people connect. However, since screen sharing involves a large amount of data to be transmitted, in the case of wireless LAN connection, there will be a delay in screen distribution. Therefore, we evaluate the implementation of data communication in multicast and the data division / compression method, and evaluate the usefulness of TreeVNC's multicast.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
54 \end{eabstract}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 \maketitle
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
57 \section{画面配信ソフトウェア TreeVNCの活用}
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
58 現代の講義や発表, プレゼンなどではPC画面で用意した資料を見ながら進行することが多い. ゼミでは発表者のPC画面を切り替えを行いながら発表を行う場合もある.
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
59
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
60 通常このような場面では資料やスライドを表示するためにプロジェクタが利用される. その際, 発表者のPC画面を切り替えるたびにケーブルを差し替える必要がある. 発表者のPCによっては接続するアダプターの種類や解像度の設定により, 正常にPC画面を表示できない場合がある. また, 参加者もプロジェクタに集中を割く必要があり, 手元のPCと相互に参照する場合, 負担になる場合がある.
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
61
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
62 当研究室で開発している画面配信システムTreeVNC\cite{taninari:2011a}は, 発表者の画面を参加者のPCに表示するソフトウェアである. そのため, 参加者は不自由なく手元のPCを操作しながら講義を受けることが可能になる. 更に発表者の切り替えの際もケーブルを差し替えずに, 共有する画面の切り替えが可能になっている.
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
64 しかし, 画面共有は送信するデータ量が多いため, 現在のTreeVNCでは無線LAN接続の場合, 画面の配信に遅延が生じてしまう場合がある. そこで本研究では, multicastでのデータ通信の実装やデータの分割・圧縮方法の評価を行うことにより, 無線LANでの配信環境の向上を目指し, TreeVNCの有用性を評価することで講義やゼミを円滑に行えることを目標とする.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
65
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
66 \section{TreeVNCの基本概念}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
67 VNC(Virtual Network Computing)は, クライアント(ビューワー)側とサーバ側からなるリモートデスクトップソフトウェアである. 遠隔操作にはサーバを起動し, クライアント側がサーバに接続をすることで可能としている. また, 動作にはRFBプロトコルを用いている.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
68
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
69 TreeVNCはVNC\cite{vnc}を利用した画面配信を行なっている. しかし通常のVNCでは配信側のPCに全ての参加者への配信を行う負荷がかかってしまう. (図\ref{fig:UntilVNC})
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
70
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
71 \begin{figure}[htb] %PDF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
72 \begin{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
73 \includegraphics[width=8cm]{Image/vnc-crop.pdf}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
74 \caption{従来のVNCの接続方法}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
75 \label{fig:UntilVNC}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
76 \end{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
77 \end{figure}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
79 RFB(Remote Frame Buffer)プロトコル\cite{rfbprotocol}とは, 自身のPC画面をネットワーク上に送信し他人の画面に表示を行うプロトコルである. 画面が表示されるユーザ側をRFBクライアントと呼び, 画面を送信のためにFramebufferの更新が行われる側をRFBサーバと呼ぶ.
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
80
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
81 Framebufferとは, メモリ上に置かれた画像データのことである. RFBプロトコルでは, 最初にプロトコルのバージョン確認や認証が行われる. その後, クライアントへ向けてFramebufferの大きさやデスクトップに付けられた名前などが含まれている初期メッセージを送信する.
7
8798f20ca953 paper section2-2 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
82
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
83 RFBサーバ側はFramebufferの更新が行われるたびに, RFBクライアントに対してFramebufferの変更部分のみを送信する. 更に, RFBクライアントのFramebufferUpdateRequestが来るとそれに答え返信する. 変更部分のみを送信する理由は, 更新がある度に全画面を送信すると, 送信するデータ面と更新にかかる時間面において効率が悪くなるからである.
8
8f5141beca7d paper section3 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
84
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
85 TreeVNCはサーバに接続してきたクライアントをバイナリツリー状に接続する. 接続してきたクライアントをノードとし, その下に新たなノード二つを接続していく.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
86 これにより, 人数分のコピーと送信の手間を分散することができる. (図\ref{fig:TreeStructure}).
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
87
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
88 バイナリツリー状に接続することで, N台のクライアントが接続しにきた場合, 従来のVNCではサーバ側がN回のコピーを行なって配信をする必要があるが, TreeVNCでは各ノードが2回ずつコピーをするだけで配信が可能となる.
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
89
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
90 送信されるデータは従来の方法ではNノードに対してN-1の通信が必要であるが, 木構造を用いても通信の数は変わらない.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
91
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
92 バイナリツリーのルートのノードをRoot Nodeと呼び, そこに接続されるノードをNodeと呼ぶ. Root Nodeは子Nodeにデータを渡す機能, 各Nodeの管理, VNCサーバから送られてきたデータの管理を行なっている. 各Nodeは, 親Nodeから送られてきたデータを自身の子Nodeに渡す機能, 子Nodeから送られてきたデータを親Nodeに渡す機能がある.
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
93
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
94 \begin{figure}[htb] %PDF
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
95 \begin{center}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
96 \includegraphics[width=8cm]{Image/treevnc-crop.pdf}
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
97 \caption{TreeVNCの接続方法}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
98 \label{fig:TreeStructure}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
99 \end{center}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
100 \end{figure}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
101
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
102 \section{TreeVNCの通信プロトコル}
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
103
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
104 TreeVNCの通信経路として以下の6つが挙げられる.
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
105
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
106
11
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
107 \begin{itemize} %箇条書き
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
108 \item Root Nodeから任意のNodeに直接通信を行う send direct message (Root to Node)
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
109 \item 任意のNodeからRoot Nodeに直接通信を行う send direct message (Node to Root)
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
110 \item Root Nodeから木の末端までの全てのNodeに通信を行う message down tree (Root to Node)
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
111 \item 任意のNodeから上に辿ってRoot Nodeまで通信を行う message up tree (Node to Root)
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
112 \item Root Nodeから配信者へのVNCサーバへの通信を行う send message (Root to VNCServer)
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
113 \item 配信者のVNCサーバからRoot Node への通信を行う send message (VNCServer to Root)
11
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
114 \end{itemize}
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
115
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
116
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
117 \subsection{メッセージ通信}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
118 TreeVNCの各NodeとVNCServer間で通信されるメッセージを表\ref{tb:message}に示す.
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
119
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
120 \begin{table*}[htbp]
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
121 \caption{通信経路とメッセージ一覧}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
122 \scalebox{1}{
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
123 \begin{tabular}{|l|l|l|} \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
124 通信経路 & message & 説明 \\ \hline \hline
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
125 & FIND\_ROOT & TreeVNC接続時にRoot Nodeを探す. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
126 send direct message & WHERE\_TO\_CONNECT & 接続先をRoot Nodeに聞く. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
127 (Node to Root) & LOST\_CHILD & 子Nodeの切断をRoot Nodeに知らせる. \\ \hline \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
128
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
129 & FIND\_ROOT\_REPLY & FIND\_ROOTへの返信. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
130 send direct message & CONNECT\_TO\_AS\_LEADER & 左子Nodeとして接続する. 接続先のNodeが含まれている. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
131 (Root to Node) & CONNECT\_TO & 右子Nodeとして接続する. 接続先のNodeが含まれている. \\ \hline \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
132
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
133 message down tree & FRAMEBUFFER\_UPDATE & 画像データ. EncodingTypeを持っている. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
134 (Root to Node) & CHECK\_DELAY & 通信の遅延を測定する. \\ \hline \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
135
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
136 message up tree & CHECK\_DELAY\_REPLY & CHECK\_DELAYへの返信. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
137 (Node to Root) & SERVER\_CHANGE\_REQUEST & 画面切り替え要求. \\ \hline \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
138
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
139 & FRAMEBUFFER\_UPDATE\_REPLY & 画像データの要求. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
140 send message & SET\_PIXEL\_FORMAT & pixel値の設定. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
141 (Root to VNCServer) & SET\_ENCODINGS & pixelデータのencodeTypeの設定. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
142 & KEY\_EVENT & キーボードからのイベント. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
143 & POINTER\_EVENT & ポインタからのイベント. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
144 & CLIENT\_CUT\_TEXT & テキストのカットバッファを持った際のmessage. \\ \hline \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
145
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
146 & FRAMEBUFFER\_UPDATE & 画像データ. EncodingTypeを持っている. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
147 send message & SET\_COLOR\_MAP\_ENTRIES & 指定されているpixel値にマップするRGB値. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
148 (VNCServer to Root) & BELL & ビープ音を鳴らす. \\ \cline{2-3}
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
149 & SERVER\_CUT\_TEXT & サーバがテキストのカットバッファを持った際のmessage. \\ \hline
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
150 \end{tabular}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
151 }
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
152 \label{tb:message}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
153 \end{table*}
14
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
154
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
155 \subsection{MulticastQueue}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
156 配信側の画面が更新されるとVNCServerから画像データがFRAME\_BUFFER\_UPDATEメッセージとして送られる. その際, 画像データの更新を複数のNodeに同時に伝えるためにMulticast Queueというキューに画像データを格納する.
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
157
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
158
13
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
159 \subsection{木構造の再構成}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
160 TreeVNCはバイナリツリーでの接続のため, Nodeが切断されたことを検知できないと構成した木構造が崩れてしまい, 新しいNodeを適切な場所に接続できなくなってしまう. そこで木構造を崩さないよう, Node同士の接続の再構成を行う必要がある.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
161
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
162 TreeVNCの木構造のネットワークトポロジーはRoot Nodeが持っているnodeListで管理している. Nodeの接続が切れた場合, Root Nodeに切断を知らせなければならない.
13
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
163
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
164 TreeVNCはLOST\_CHILDというメッセージ通信で, Nodeの切断を検知および木構造の再構成を行なっている. LOST\_CHILDの検出方法にはMulticastQueueを使用しており, ある一定時間MulticastQueueから画像データが取得されない場合, MemoryOverFlowを回避するためにTimeoutスレッドが用意されている. そして, Timeoutを検知した際にNodeとの接続が切れたと判断する.
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
165
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
166
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
167 \subsection{ZRLEE}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
168 TreeVNCでは, ZRLEE\cite{taninari:2012a}というエンコード方法でデータの圧縮を行う. ZRLEEはRFBプロトコルで使用できるZRLEというエンコードタイプを元に生成される.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
169
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
170 ZRLEはZlib\cite{zlib}で圧縮されたデータとそのデータのバイト数がヘッダーとして送信される. Zlibはjava.util.zip.deflaterとjava.util.zip.inflaterで圧縮と解凍が行える. しかしjava.util.zip.deflaterはデコードに必要な辞書を書き出す(flush)ことが出来ない. 従って, 圧縮されたデータを途中から受け取るとデータを正しく解凍することが出来ない.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
171
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
172 そこでZRLEEは一度Root Nodeで受け取ったZRLEのデータをunzipし, データをupdate rectangleと呼ばれる画面ごとのデータに辞書を付与してzipし直すことで初めからデータを読み込んでいなくても解凍できるようにした(図\ref{fig:ZRLEE}).
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
173 辞書をクリアすることによりadaptive compressionを実現していることになり圧縮率はむしろ向上する.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
174
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
175 \begin{figure}[htb] %PDF
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
176 \begin{center}
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
177 \includegraphics[width=8cm]{Image/EncodeZRLEE.pdf}
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
178 \caption{ZRLEE}
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
179 \label{fig:ZRLEE}
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
180 \end{center}
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
181 \end{figure}
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
182
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
183
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
184 \subsection{ShareScreen}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
185 従来のVNCでは, 配信者が切り替わるたびにVNCの再起動, サーバ, クライアント間の再接続を行う必要がある. TreeVNCは配信者の切り替えのた度に生じる問題を解決している.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
186
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
187 TreeVNCを立ち上げることで, ケーブルを使用する必要なしに, 各参加者の手元のPCに発表者の画面を共有することができる. 画面の切り替えについてはユーザがVNCサーバへの再接続を行うことなく, ビューワー側のShare Screenボタンを押すことで配信者の切り替えが可能になっている.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
188
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
189 TreeVNCのRoot Nodeは配信者のVNCサーバと通信を行なっている. VNCサーバから画面データを受信し, そのデータを子Nodeへと送信している. 配信者切り替え時にShare Screenを実行すると, Root Nodeに対し SERVER\_CHANGE\_REQUESTというメッセージが送信される. このメッセージにはShare Screenボタンを押したNodeの番号やディスプレイ情報が付加されている. メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバと通信を始める.
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
190
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
191 \begin{figure}[htb] %PDF
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
192 \begin{center}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
193 \includegraphics[width=8cm]{Image/MultiNetworkTree.pdf}
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
194 \caption{Multi Network Tree}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
195 \label{fig:multinetworktree}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
196 \end{center}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
197 \end{figure}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
198
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
199 \subsection{ネットワーク複数時の接続}
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
200 TreeVNCはRoot Nodeが複数のネットワークに接続している場合, 図\ref{fig:multinetworktree}のようにネットワーク別に木構造を形成する. TreeVNCはRoot NodeがTreeManagerというオブジェクトを持っている. TreeManagerはTreeVNCの接続部分を管理しており, 木構造を管理するnodeListを生成する. このnodeListを元に, 新しいNodeの接続や, 切断検出時の接続の切り替え等を行う.
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
201
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
202 Tree ManagerはRoot Nodeの保持しているネットワーク毎に生成される. 新しいNodeが接続してきた際, interfacesからNodeのネットワークと一致するTree Managerを取得し, Node接続の処理を任せる.
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
203
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
204
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
205
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
206 %\section{マルチキャストの導入}
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
207 \section{有線接続との接続形式の違い}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
208 画面配信のデータ量は膨大なため, 現在のTreeVNCでVNCServerに無線LAN接続を行なった場合, 画面配信の遅延が大きくなってしまう.
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
209
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
210 この場合でも画面切り替えの機能は有効である. つまり, 画面を提供するPCのみを無線経由で接続し, 配信を希望する側は有線を使用することができる. ここで, Wifi のMulticast の機能を用いて配信側にもWifiを使用することが可能であると考えられる. Tree Root は無線LANに対して, 変更する UpdateRectangle を Multicast で一度だけ送信する.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
211
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
212 Wifi のMulticast packet のサイズは 64kbyte が最大となっている. HDや4Kの大きさの画面更新は8Mb * 8byteで圧縮前で64MB程度になる.
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
213
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
214 これを圧縮しつつ, 64kbye 毎のパケットに変換して送る必要がある.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
215 Wifi のMulticast packet は確実に送られること保証されていない. 通し番号を付けて欠落を検出することはできるが, 再送処理は複雑であることが予想される.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
216
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
217 ここではまずBlocking について考察と実験を行う.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
218
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
219 \section{RFBのUpdateRectangle の構成}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
220
29
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
221 RFB のUpdateRectangle は以下の表\ref{tb:updateRectangle}の構成になっている. 一つのupdateRectangleには複数のRectangleは入っていて, さらに一つ一つのRectangleの encoding type がある. ここでは ZRLEで encode された Rectangle が一つサーバから送られてくる.
ec8e1b783bb2 fix paper
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
222 Rectangle には zlib で圧縮されたデータが指定された長さだけ付いてくる. このデータは, 64x64 の tile にさらに分割されている(図\ref{fig:rectangle}).
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
223 tile 内はパレットとかがある場合があるが, Run length encode されたRGBデータである.
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
224
27
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
225 \begin{figure}[htb] %PDF
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
226 \begin{center}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
227 \includegraphics[width=8cm]{Image/FrameUpdateRectangle.pdf}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
228 \caption{Rectangleの分割}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
229 \label{fig:rectangle}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
230 \end{center}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
231 \end{figure}
59e3ff9abfa8 add new English abstract
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
232
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
233 このパケットを64kbyteに収まる三つのRectangleに再構成する. この時に, tile 内部は変更する必要はないが, Rectangleの構成は変わる.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
234 ZRLE を展開しつつ, パケットを構成する必要がある.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
235
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
236 zlib はちょうど良い所で圧縮を flush する必要がある. このためには, zlib のAPIを用いて, 適当なタイミングで flush を呼ぶ.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
237 この時に1 tileずづ flush してしまうと圧縮率を下げる可能性がある.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
238
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
239 64kbyte のpacketの中には複数の tile が存在するが, 連続して Rectangle を構成する必要がある. 行の途中から始まり, 途中で終わる可能性があるので, 三つのRectangleが必要になる.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
240
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
241 \begin{table}[hp]
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
242 \caption{updateRectangleの構成}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
243 \begin{tabular}{|rrr|l|} \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
244 1 byte & & & messageID \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
245 1 byte & & & padding \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
246 2 byte & & & n of rectangles \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
247 & 2 byte & & U16 - x-position \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
248 & 2 byte & & U16 - y-position \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
249 & 2 byte & & U16 - width \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
250 & 2 byte & & U16 - height \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
251 & 4 byte & & S32 - encoding-type \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
252 & 4 byte & & U32 datalengths \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
253 & & 1 byte & subencoding of tile \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
254 & & n byte & Run Length Encoded Tile \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
255 \end{tabular}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
256 \label{tb:updateRectangle}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
257 \end{table}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
258
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
259 \section{木構造とマルチキャストの共存}
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
260 現在のTreeVNCでは有線接続と無線LAN接続のどちらでも, VNCサーバから画面配信の提供を受けることが可能である. しかし無線LANで接続しているNodeが存在すると, バイナリツリーを形成している全体の配信遅延に繋がってしまう.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
261 この問題点を解決するために, 有線接続時と無線LAN接続時でのVNCサーバの接続方法の分割を提案する.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
262
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
263 有線接続の場合は従来通り, VNCサーバ, Root Node, Nodeからなるバイナリツリー状に接続される.
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
264 無線LAN接続の場合は, Multicastで接続を行う. こうすることにより, 新しいNodeが無線LAN接続出会っても有線接続のバイナリツリーには影響を及ぼさない(図\ref{fig:interface}).
17
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
265
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
266 \begin{figure}[htb] %PDF
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
267 \begin{center}
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
268 \includegraphics[width=8cm]{Image/interface-crop.pdf}
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
269 \caption{接続方法の切り替え}
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
270 \label{fig:interface}
17
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
271 \end{center}
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
272 \end{figure}
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
273
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
274
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
275 \section{まとめ}
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
276
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
277 Tree VNC に Wifi 上の Multicast packet を用いる手法について考察した. 画面圧縮にHareware supported なMPEG4などを用いることができればより効率的な転送が可能であるが, ここでは Java 上で実装できる安易な方法をあえて選択した. Wifi の速度と Multicast の信頼性が高ければこれでも実用になると可能性がある.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
278
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
279
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
280 Blocking は実装中であり, 再圧縮の時間は前画面の時でも実用的な時間ですむことが予想されている. Wifi 上の Multicast packet のdrop 率は, 接続環境に依存すると思われるのでさらなる実験が必要だと思われる.
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
281
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
282 有線使用時よりも, 画面共有の質が落ちるのはある程度はやむを得ないが, 再送が必要である場合には, 必要なプロトコルを実装する.
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
283
28
ef4d9aff7018 fix punctuation marks
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
284 VNCサーバへの接続方法の分割についても, Node接続時のinterfacesから有線接続か無線LAN接続かを完全に区別出来ない. 接続時にユーザが選択するか, 接続時にある程度区別する処理を実装する必要がある.
26
749c91efcd9b paper wrote new column
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
285
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
286
19
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
287 \nocite{*}
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
288 \bibliographystyle{ipsjunsrt}
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
289 \bibliography{riono-sigos}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 \end{document}