annotate Paper/riono-sigos.tex @ 24:f854857fdbf6

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 May 2019 20:20:37 +0900
parents 29e9430a532e
children 749c91efcd9b
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 %%
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 %% 欧文表記無しのスイッチ(etitle,eabstractは任意)
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
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 %\documentclass[submit,techrep]{ipsj}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \documentclass[submit,techrep,noauthor]{ipsj}
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
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 \etitle{}
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]
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 \author{大城 由也}{Yuya Oshiro}{}
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}
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 TreeVNCとは当研究室で開発している画面配信システムである。しかし、画面共有は送信するデータ量が多いため、無線 LAN 接続の場合、画面の配信に遅延が生じてしまう。そこで、multicast でのデータ通信の実装やデータの分割・圧縮方法の評価を行い、TreeVNC のmulticastの有用性を評価する。
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
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 \maketitle
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
56 \section{画面配信ソフトウェア TreeVNCの活用}
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
57 現代の講義や発表、プレゼンなどではPC画面で用意した資料を見ながら進行することが多い。ゼミでは発表者のPC画面を切り替えを行いながら発表を行う場合もある。通常このような場面では資料やスライドを表示するためにプロジェクタが利用される。その際、発表者のPC画面を切り替えるたびにケーブルを差し替える必要がある。発表者のPCによっては接続するアダプターの種類や解像度の設定により、正常にPC画面を表示できない場合がある。また、参加者もプロジェクタに集中を割く必要があり、手元のPCと相互に参照する場合、負担になる場合がある。
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
58
7
8798f20ca953 paper section2-2 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
59 当研究室で開発している画面配信システムTreeVNC\cite{taninari:2011a}は、発表者の画面を参加者のPCに表示するソフトウェアである。そのため、参加者は不自由なく手元のPCを操作しながら講義を受けることが可能になる。更に発表者の切り替えの際もケーブルを差し替えずに、共有する画面の切り替えが可能になっている。
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
61 \begin{figure}[htb] %PDF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
62 \begin{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
63 \includegraphics[width=8cm]{Image/vnc-crop.pdf}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
64 \caption{従来のVNCの接続方法}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
65 \label{fig:UntilVNC}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
66 \end{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
67 \end{figure}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
7
8798f20ca953 paper section2-2 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
69 VNC(Virtual Network Computing)は、クライアント(ビューワー)側とサーバ側からなるリモートデスクトップソフトウェアである。遠隔操作にはサーバを起動し、クライアント側がサーバに接続をすることで可能としている。また、動作にはRFBプロトコルを用いている。
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
70 TreeVNCはVNC\cite{vnc}を利用した画面配信を行なっている。しかし通常のVNCでは配信側のPCに全ての参加者への配信を行う負荷がかかってしまう。(図\ref{fig:UntilVNC})
7
8798f20ca953 paper section2-2 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
71
8
8f5141beca7d paper section3 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
72 RFB(Remote Frame Buffer)プロトコル\cite{rfbprotocol}とは、自身のPC画面をネットワーク上に送信し他人の画面に表示を行うプロトコルである。画面が表示されるユーザ側をRFBクライアントと呼び、画面を送信のためにFramebufferの更新が行われる側をRFBサーバと呼ぶ。Framebufferとは。メモリ上に置かれた画像データのことである。RFBプロトコルでは、最初にプロトコルのバージョン確認や認証が行われる。その後、クライアントへ向けてFramebufferの大きさやデスクトップに付けられた名前などが含まれている初期メッセージを送信する。RFBサーバ側はFramebufferの更新が行われるたびに、RFBクライアントに対してFramebufferの変更部分のみを送信する。更に、RFBクライアントのFramebufferUpdateRequestが来るとそれに答え返信する。変更部分のみを送信する理由は、更新がある度に全画面を送信すると、送信するデータ面と更新にかかる時間面において効率が悪くなるからである。
8f5141beca7d paper section3 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
73
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
74 TreeVNCはサーバに接続してきたクライアントをバイナリツリー状に接続する。接続してきたクライアントをノードとし、その下に新たなノード二つを接続していく。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
75 これにより、人数分のコピーと送信の手間を分散することができる。(図\ref{fig:TreeStructure})。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
76 バイナリツリー状に接続することで、N台のクライアントが接続しにきた場合、従来のVNCではサーバ側がN回のコピーを行なって配信をする必要があるが、TreeVNCでは各ノードが2回ずつコピーをするだけで配信が可能となる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
77 送信されるデータは従来の方法ではNノードに対してN-1の通信が必要であるが、木構造を用いても通信の数は変わらない。
8
8f5141beca7d paper section3 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
78
8f5141beca7d paper section3 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
79 バイナリツリーのルートのノードを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
80
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
81 \begin{figure}[htb] %PDF
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
82 \begin{center}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
83 \includegraphics[width=8cm]{Image/treevnc-crop.pdf}
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
84 \caption{TreeVNCの接続方法}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
85 \label{fig:TreeStructure}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
86 \end{center}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
87 \end{figure}
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
88
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
89 \section{TreeVNCの通信プロトコル}
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
90
11
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
91 TreeVNCの通信経路として以下の6つが挙げられる。
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
92
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
93
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
94 \begin{itemize} %箇条書き
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
95 \item Root Nodeから任意のNodeに直接通信を行う send direct message (Root to Node)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
96 \item 任意のNodeからRoot Nodeに直接通信を行う send direct message (Node to Root)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
97 \item Root Nodeから木の末端までの全てのNodeに通信を行う message down tree (Root to Node)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
98 \item 任意のNodeから上に辿ってRoot Nodeまで通信を行う message up tree (Node to Root)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
99 \item Root Nodeから配信者へのVNCサーバへの通信を行う send message (Root to VNCServer)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
100 \item 配信者のVNCサーバからRoot Node への通信を行う send message (VNCServer to Root)
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
101 \end{itemize}
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
102
1d893453507d paper section2-4 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
103
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
104 \subsection{メッセージ通信}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
105 TreeVNCの各NodeとVNCServer間で通信されるメッセージを表\ref{tb:message}に示す。
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
106
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
107 \begin{table*}[htbp]
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
108 \caption{通信経路とメッセージ一覧}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
109 \scalebox{1}{
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
110 \begin{tabular}{|l|l|l|} \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
111 通信経路 & message & 説明 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
112 & FIND\_ROOT & TreeVNC接続時にRoot Nodeを探す。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
113 send direct message & WHERE\_TO\_CONNECT & 接続先をRoot Nodeに聞く。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
114 (Node to Root) & LOST\_CHILD & 子Nodeの切断をRoot Nodeに知らせる。 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
115
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
116 & FIND\_ROOT\_REPLY & FIND\_ROOTへの返信。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
117 send direct message & CONNECT\_TO\_AS\_LEADER & 左子Nodeとして接続する。接続先のNodeが含まれている。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
118 (Root to Node) & CONNECT\_TO & 右子Nodeとして接続する。接続先のNodeが含まれている。 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
119
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
120 message down tree & FRAMEBUFFER\_UPDATE & 画像データ。EncodingTypeを持っている。\\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
121 (Root to Node) & CHECK\_DELAY & 通信の遅延を測定する。 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
122
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
123 message up tree & CHECK\_DELAY\_REPLY & CHECK\_DELAYへの返信。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
124 (Node to Root) & SERVER\_CHANGE\_REQUEST & 画面切り替え要求。 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
125
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
126 & FRAMEBUFFER\_UPDATE\_REPLY & 画像データの要求。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
127 send message & SET\_PIXEL\_FORMAT & pixel値の設定。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
128 (Root to VNCServer) & SET\_ENCODINGS & pixelデータのencodeTypeの設定。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
129 & KEY\_EVENT & キーボードからのイベント。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
130 & POINTER\_EVENT & ポインタからのイベント。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
131 & CLIENT\_CUT\_TEXT & テキストのカットバッファを持った際のmessage。 \\ \hline \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
132
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
133 & FRAMEBUFFER\_UPDATE & 画像データ。EncodingTypeを持っている。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
134 send message & SET\_COLOR\_MAP\_ENTRIES & 指定されているpixel値にマップするRGB値。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
135 (VNCServer to Root) & BELL & ビープ音を鳴らす。 \\ \cline{2-3}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
136 & SERVER\_CUT\_TEXT & サーバがテキストのカットバッファを持った際のmessage。 \\ \hline
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
137 \end{tabular}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
138 }
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
139 \label{tb:message}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
140 \end{table*}
14
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
141
12
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
142 \subsection{MulticastQueue}
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
143 配信側の画面が更新されるとVNCServerから画像データがFRAME\_BUFFER\_UPDATEメッセージとして送られる。その際、画像データの更新を複数のNodeに同時に伝えるためにMulticast Queueというキューに画像データを格納する。
9824722f2baa paper section2-6 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
144
10
bc2fba6636b7 add new Images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
145
13
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
146 \subsection{木構造の再構成}
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
147 TreeVNCはバイナリツリーでの接続のため、Nodeが切断されたことを検知できないと構成した木構造が崩れてしまい、新しいNodeを適切な場所に接続できなくなってしまう。そこで木構造を崩さないよう、Node同士の接続の再構成を行う必要がある。
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
148 TreeVNCの木構造のネットワークトポロジーはRoot Nodeが持っているnodeListで管理している。Nodeの接続が切れた場合、Root Nodeに切断を知らせなければならない。
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
149 TreeVNCはLOST\_CHILDというメッセージ通信で、Nodeの切断を検知および木構造の再構成を行なっている。LOST\_CHILDの検出方法にはMulticastQueueを使用しており、ある一定時間MulticastQueueから画像データが取得されない場合、MemoryOverFlowを回避するためにTimeoutスレッドが用意されている。そして、Timeoutを検知した際にNodeとの接続が切れたと判断する。
422802774e74 paper section2-7 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
150
14
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
151 \subsection{ZRLEE}
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
152 TreeVNCでは、ZRLEE\cite{}というエンコード方法でデータの圧縮を行う。ZRLEEはRFBプロトコルで使用できるZRLEというエンコードタイプを元に生成される。
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
153 ZRLEはZlib\cite{}で圧縮されたデータとそのデータのバイト数がヘッダーとして送信される。Zlibはjava.util.zip.deflaterとjava.util.zip.inflaterで圧縮と解凍が行える。しかしjava.util.zip.deflaterはデコードに必要な辞書を書き出す(flush)ことが出来ない(図\ref{fig:ZRLE})。従って、圧縮されたデータを途中から受け取るとデータを正しく解凍することが出来ない。
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
154 そこでZRLEEは一度Root Nodeで受け取ったZRLEのデータをunzipし、データをupdate rectangleと呼ばれる画面ごとのデータに辞書を付与してzipし直すことで初めからデータを読み込んでいなくても解凍できるようにした(図\ref{fig:ZRLEE})。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
155 辞書をクリアすることによりadaptive compressionを実現していることになり圧縮率はむしろ向上する。
14
d958a06673f4 paper section2-8 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
156
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
157 \begin{figure}[htb] %PDF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
158 \begin{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
159 \includegraphics[width=8cm]{Image/EncodeZRLEE.pdf}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
160 \caption{Multi Network Tree}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
161 \label{fig:multinetworktree}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
162 \end{center}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
163 \end{figure}
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
164
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
165 \subsection{ShareScreen}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
166 従来のVNCでは、配信者が切り替わるたびにVNCの再起動、サーバ、クライアント間の再接続を行う必要がある。TreeVNCは配信者の切り替えのた度に生じる問題を解決している。
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
167 TreeVNCを立ち上げることで、ケーブルを使用する必要なしに、各参加者の手元のPCに発表者の画面を共有することができる。画面の切り替えについてはユーザがVNCサーバへの再接続を行うことなく、ビューワー側のShare Screenボタンを押すことで配信者の切り替えが可能になっている。
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
168
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
169 TreeVNCのRoot Nodeは配信者のVNCサーバと通信を行なっている。VNCサーバから画面データを受信し、そのデータを子Nodeへと送信している。配信者切り替え時にShare Screenを実行すると、Root Nodeに対し SERVER\_CHANGE\_REQUESTというメッセージが送信される。このメッセージにはShare Screenボタンを押したNodeの番号やディスプレイ情報が付加されている。メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバと通信を始める。
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
170
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
171
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
172 \subsection{ネットワーク複数時の接続}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
173 TreeVNCはRoot Nodeが複数のネットワークに接続している場合、図\ref{fig:multinetworktree}のようにネットワーク別に木構造を形成する。
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
174
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
175 \begin{figure}[htb] %PDF
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
176 \begin{center}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
177 \includegraphics[width=8cm]{Image/MultiNetworkTree.pdf}
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
178 \caption{Multi Network Tree}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
179 \label{fig:multinetworktree}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
180 \end{center}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
181 \end{figure}
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
182
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
183 TreeVNCはRoot NodeがTreeManagerというオブジェクトを持っている。TreeManagerはTreeVNCの接続部分を管理しており、木構造を管理するnodeListを生成する。このnodeListを元に、新しいNodeの接続や、切断検出時の接続の切り替え等を行う。Tree ManagerはRoot Nodeの保持しているネットワーク毎に生成される。新しいNodeが接続してきた際、interfacesからNodeのネットワークと一致するTree Managerを取得し、Node接続の処理を任せる。
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
184
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
185
18
278b4978c914 paper section3-2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
186 \section{マルチキャストの導入}
17
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
187 \subsection{有線接続との接続形式の違い}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
188 画面配信のデータ量は膨大なため、現在のTreeVNCでVNCServerに無線LAN接続を行なった場合、画面配信の遅延が大きくなってしまう。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
189 この場合でも画面切り替えの機能は有効である。つまり、画面を提供するPCのみを無線経由で接続し、配信を希望する側は有線を
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
190 使用することができる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
191
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
192 ここで、Wifi のMulticast の機能を用いて配信側にもWifiを使用することが可能であると考えられる。Tree Root は無線LANに対して、
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
193 変更する UpdateRectangle を Multicast で一度だけ送信する。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
194
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
195 Wifi のMulticast packet のサイズは 64kbyte が最大となっている。HDや4Kの大きさの画面更新は8Mb * 8byteで圧縮前で64MB程度になる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
196 これを圧縮しつつ、64kbye 毎のパケットに変換して送る必要がある。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
197
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
198 Wifi のMulticast packet は確実に送られること保証されていない。通し番号を付けて欠落を検出することはできるが、再送処理は
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
199 複雑であることが予想される。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
200
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
201 ここではまずBlocking について考察と実験を行う。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
202
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
203 \section{RFBのUpdateRectangle の構成}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
204
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
205 RFB のUpdateRectangle は以下の構成になっている。一つのupdateRectangleには複数のRectangleは入っていて、
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
206 さらに一つ一つのRectangleの encoding type がある。ここでは ZRLEで encode された rectangle が一つサーバから送られてくる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
207 rectangle には zlib で圧縮されたデータが指定された長さだけ付いてくる。このデータは、64x64 の tile にさらに分割されている。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
208 tile 内はパレットとかがある場合があるが、Run length encode されたRGBデータである。
15
095e808d1ee2 paper section2 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 14
diff changeset
209
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
210 \begin{table}[htbp]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
211 \caption{updateRectangleの構成}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
212 \begin{tabular}{|rrr|l|} \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
213 1 byte & & & messageID \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
214 1 byte & & & padding \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
215 2 byte & & & n of rectangles \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
216 & 2 byte & & U16 - x-position \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
217 & 2 byte & & U16 - y-position \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
218 & 2 byte & & U16 - width \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
219 & 2 byte & & U16 - height \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
220 & 4 byte & & S32 - encoding-type \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
221 & 4 byte & & U32 datalengths \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
222 & & 1 byte & subencoding of tile \\
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
223 & & n byte & Run Length Encoded Tile \\ \hline
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
224 \end{tabular}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
225 \label{tb:updateRectangle}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
226 \end{table}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
227
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
228 このパケットを64kbyteに収まる三つのRectangleに再構成する。この時に、tile 内部は変更する必要はないが、Rectangleの構成は変わる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
229 ZRLE を展開しつつ、パケットを構成する必要がある。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
230
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
231 zlib はちょうど良い所で圧縮を flush する必要がある。このためには、zlib のAPIを用いて、適当なタイミングで flush を呼ぶ。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
232 この時に1 tileずづ flush してしまうと圧縮率を下げる可能性がある。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
233
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
234 64kbyte のpacketの中には複数の tile が存在するが、連続して Rectangle を構成する必要がある。行の途中から始まり、途中で
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
235 終わる可能性があるので、三つのRectangleが必要になる。
17
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
236
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
237 \begin{figure}[htb] %PDF
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
238 \begin{center}
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
239 \includegraphics[width=8cm]{Image/FrameUpdateRectangle.pdf}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
240 \caption{Multi Network Tree}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
241 \label{fig:multinetworktree}
17
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
242 \end{center}
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
243 \end{figure}
2cd3823d5a44 paper section3-1 wrote
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
244
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
245
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
246 \section{まとめ}
5
4dcce060bcc8 paper section1 writing
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
247
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
248 Tree VNC に Wifi 上の Multicast packet を用いる手法について考察した。画面圧縮にHareware supported なMPEG4などを用いることができれば
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
249 より効率的な転送が可能であるが、ここでは Java 上で実装できる安易な方法をあえて選択した。Wifi の速度と Multicast の信頼性が高ければ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
250 これでも実用になると可能性がある。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
251
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
252 Blocking は実装中であり、再圧縮の時間は前画面の時でも実用的な時間ですむことが予想されている。Wifi 上の Multicast packet の
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
253 drop 率は、接続環境に依存すると思われるのでさらなる実験が必要だと思われる。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
254
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
255 有線使用時よりも、画面共有の質が落ちるのはある程度はやむを得ないが、再送が必要である場合には、必要なプロトコルを実装する。
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257
19
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
258 \nocite{*}
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
259 \bibliographystyle{ipsjunsrt}
13a9b16b31c4 add MulticastNetworkTree.pdf source
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
260 \bibliography{riono-sigos}
2
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261
d5ccc36d12b1 add Paper TEXsource and PDF
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 \end{document}