annotate prepaper/finalPre.tex @ 32:8972829988e6

Fix
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Wed, 17 Feb 2016 23:13:31 +0900
parents d8660bf1da6f
children a55afdfb536b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \documentclass[twocolumn,twoside,9.5pt]{jarticle}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 \usepackage[dvipdfmx]{graphicx}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 \usepackage{picins}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 \usepackage{fancyhdr}
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
5 \usepackage{abstract}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 \usepackage{url}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 %\pagestyle{fancy}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
8 \lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 卒業研究発表会}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 \rhead{}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 \cfoot{}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 \setlength{\headheight}{0mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 \setlength{\headsep}{5mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 \setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \setlength{\textwidth}{181mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \setlength{\textheight}{261mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \setlength{\footskip}{0mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \pagestyle{empty}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \input{dummy.tex}
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
23 \renewcommand{\abstractname}{Abstract}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 \begin{document}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
25 \title{PC画面配信システムTreeVNCの NAT への対応}
27
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
26 %\title{Supporting NAT in Screen Sharing System TreeVNC}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 \author{125716B 氏名 {伊波}{立樹} 指導教員 : 河野 真治}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 \date{}
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
29 \twocolumn [
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \maketitle
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
31 \begin{onecolabstract}
28
1e36dc43391b Add En abstract
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
32 An implementation of Screen sharing system is presented.
1e36dc43391b Add En abstract
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
33 TreeVNC supports multicasting high resolution PC screen using tree structured network over PCs.
1e36dc43391b Add En abstract
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
34 Copying costs are distributed instead of the centralized heavy costs on a VNC server.
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
35 It also possible to change screen server dynamically without changing display cables.
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
36 TreeVNC is useful in a lecture which contains 40-60 students or small seminar.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
37 We add several improvements on TreeVNC, such as new connection method for supporting NAT, screen change in a separated thread, multiple screen selection, notification of connection errors.
28
1e36dc43391b Add En abstract
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
38 We also show the delay time distribution in real environments
29
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
39 \end{onecolabstract}]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
40 \thispagestyle{fancy}
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
41
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
42 \section{画面共有を利用したコミュニケーション}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
43 授業やゼミ等で、それぞれが PC 端末を持っている場合では、
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
44 PC の機能を活かしたコミュニケーションが可能である。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
45
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
46 通常の授業では先生の用意した資料、 PC 画面を見ながら授業が進むことが多い。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
47 ゼミでは発表者を切り替えながら発表を行う。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
48
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
49 画面配信システム TreeVNC\cite{taninari:2011a}は発表者の画面を参加者の PC に表示する。
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
50 そのため、参加者は手元の PC を使用しながら授業を受ける事が可能になる。
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
51 更に発表者の切り替えの際もケーブルの差し替えずに共有する画面の切替を可能としている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
52
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
53 Tree VNC は VNC\cite{vnc} を使用した画面配信を行っている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
54 しかし通常の VNC では配信側に全ての参加者が接続するため、多人数の際の処理性能が落ちてしまう。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
55 Tree VNC では有線でネットワークに接続した参加者をバイナリツリー状に接続し、 配信コストをクライアントに分散させる仕組みになっている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
56 そのため、授業で先生の画面を表示する際、多人数の生徒が参加しても処理性能が下がらない。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
57 また、ツリーのルートが参照している VNC サーバーを変更することで、共有する画面の切替が可能となる。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
58
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
59 しかし TreeVNC を授業やゼミで使用している中、 様々な問題が発生した。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
60 NATを越えたネットワーク接続に対応しておらず、遠隔地などで授業やゼミに参加することが出来ない。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
61 また、ゼミの際に、マルチディスプレイを使用して画面配信を行う際、すべての画面が配信され、不必要な画面まで表示されてしまう。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
62
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
63 そこで、本研究では上記の問題点を解決し、TreeVNCの有用性を評価することで授業やゼミを円滑に行えることを目標とする。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
64
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 \section{画面配信システムTreeVNC}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
66 VNC(Virtual Network Computing) は、 RFBプロトコルを用いて遠隔操作を行うリモートデスクトップソフトウェアである。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
67
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
68 TreeVNC は Java を用いて作成された TightVNC(Tight Virtual Network Computing)\cite{tightvnc} を元に作成されている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
69
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
70 TreeVNC は クライアント同士を接続させ、画面描画のデータを受け取ったクライアントが次のクライアントにデータを流す方式を取っている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
71 また、サーバへ接続しに来たクライアントをバイナリツリー状に接続する(図\ref{fig:tree})。
25
004612152453 Add fit screen section
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
72 バイナリツリー状に接続することで、$N$ 台のクライアントが接続しに来た場合、画面配信の画像データをコピーする回数は従来の VNC ではサーバ側で$N$ 回する必要があるが、TreeVNCでは各ノードが2回ずつコピーするだけで済む。
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
73
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
74 \begin{figure}[htbp]
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
75 \begin{center}
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
76 \includegraphics[width=50mm]{./pic/treeVnc.pdf}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
77 \end{center}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
78 \caption{構成される木構造}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
79 \label{fig:tree}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
80 \end{figure}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
82 \section{NAT への対応}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
83 遠隔地からでもゼミや授業に参加できるよう、 NATを越えたネットワークから TreeVNC への接続を可能にした。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
84
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
85 図\ref{fig:directConnection} にNATを越えたネットワークからの接続を示す。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
86 別ネットワークからTreeVNCに参加する際、 直接配信側のネットワークの Root Node に接続を行う。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
87 この接続を Direct Connection と呼ぶ。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
88
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
89 Direct Connection した Node はそのネットワークの Root Node になる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
90 そのネットワークの他の Node はそのネットワークの Root Node に接続し、木構造を生成する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
91
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
92 配信側の Root Node は Direct Connection で接続された Root Node に対して Framebuffer Update で 画像データを送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
93 Framebuffer Update が送信された Root Node は そのネットワークの Node に対して Framebuffer Update を送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
94
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
95 これにより、NATを越えたネットワークの画面共有が可能となる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
96
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
97 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
98 \begin{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
99 \includegraphics[width=80mm]{./pic/directConnection.pdf}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
100 \caption{遠隔地 Node からの接続}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
101 \label{fig:directConnection}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
102 \end{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
103 \end{figure}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
104
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 \section{マルチディスプレイ対応}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
106 画面配信側のPCがマルチディスプレイの場合、 VNC サーバーからは複数の画面全体の画像データが送信されてしまう。
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
107 そこで、画面を共有する際、ディスプレイを選択させ、画面共有を行う機能を追加した\cite{parusu:2016a}。
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
108
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
109 ディスプレイの情報は個々のクライアントでしか取得ができない。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
110 そのため、配信側は画面の切替を行う際に、ディスプレイを選択し、そのディスプレイの左上と右下の座標を取得する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
111 その座標を Root Node への画面切り替えを要求する SERVER\_CHANGE\_REQUEST メッセージに付加させる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
112 Root Node は 配信側の VNC サーバー に画像データを要求する FRAMEBUFFER\_UPDATE\_REPLY メッセージに送信された座標を付加する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
113 VNC サーバーは要求された座標内の画像データを FRAMEBUFFER\_UPDATE メッセージで Root Node に送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
114 これにより、一画面のみの表示が可能となる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
115
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
116 図\ref{fig:multidisplay} は Display1 のみを画面共有する例を示している。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
117
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
118 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
119 \begin{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
120 \includegraphics[width=70mm]{./pic/shareScreenToMultiDisplay.pdf}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
121 \end{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
122 \caption{マルチディスプレイへの対応}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
123 \label{fig:multidisplay}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
124 \end{figure}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
125
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 \section{画面切り替えの安定化}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
127 画面切り替えを行う際、 配信中の画面を停止した後に画面の切り替え処理を実行していた。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
128 しかし、 切り替え先の VNC サーバーへの接続に時間がかかったり、 切り替え先の設定ミスなどで画面の切替がスムーズに行えない場合があった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
129
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
130 そこで、 画面切り替えを行う際に新しく切り替え用のスレッドを生成し処理する変更を行った。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
131 Root Node は SERVER\_CHANGE\_REQUEST を受け取ると、 配信状態を維持したまま、画面切り替え用に新しくスレッドを生成する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
132 切り替え用のスレッドは切り替えに必要なデータの設定、 VNC サーバー への接続など通常の切り替え処理を実行する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
133 切り替えが完了した後に、 現在配信中の画面を停止し、画面の切替を行う。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
134 切り替え用のスレッドを用意することで、配信状況を維持したままスムーズな画面切り替えが可能になった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
135
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 \section{クライアントへのエラー通知}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
137 TreeVNC には接続しているクライアントへのエラーの通知を行うことが出来なかった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
138 そのため、 画面切り替えを行う際に切り替え先が VNC サーバーの共有設定をしていない場合 Root Node に接続エラーのダイアログが表示されるという実装になっており、切り替えを行ったクライアントには通知されていなかった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
139
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
140 この問題を解決するために新しくERROR\_ANNOUNCE というメッセージを追加した。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
141 ERROR\_ANNOUNCE メッセージは Root Nodeから木構造を辿りながら末端の Node に通信を行うメッセージで、エラー通知したいクライアントの Node Nuber と エラー内容の文字列を付加して送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
142 付加した Node Number に一致する Node がメッセージを受け取ると、 付加されたエラーの文字列をダイアログで表示する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
143 エラー通知用のメッセージを追加することで、 各々のクライアントに対して通知を行うことが可能になった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
144
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
145 \section{TreeVNC の評価}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
146 VNC サーバー から受信する画像データ、 TreeVNC で扱われるメッセージ通信は構成された木を伝って伝達される。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
147 接続する人数が増える毎に木の段数は増えていく。 そこで Root Node から木の末端の Node までの画像データ伝達の遅延を検証する実験を行った。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
148
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
149 今回授業を受講している学生が TreeVNC を使用した状態で実験を行った。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
150 TreeVNC には最大で17名が接続していた。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
151 バイナリツリーで木を構成した場合、 Node 数が17台だと深さが4となる。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
152
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
153 図\ref{fig:depth}は深さ4 のち円の分布を示した散布図である。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
154 X軸はメッセージ伝達にかかった秒数(ms)、 Y軸は画像データのサイズ(Byte)である。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
155 画像データの伝達はほぼ1秒以内に収まっているが、容量が小さい場合でも時間がかかる場合がある。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
156 それはその送信の前に大容量の画像を送信した後の回線のDelayが残っているためだと考えられる。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
157
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
158 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
159 \begin{center}
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
160 \includegraphics[width=60mm]{./pic/depth4.eps}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
161 \end{center}
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
162 \caption{データサイズと遅延の関係 : 深さ4}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
163 \label{fig:depth}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
164 \end{figure}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
165
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
166 また、この実験で1つだけ極端に遅い Node が見られた。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
167 このような Node を木に配置した場合、その Node の 子 Node 以下に影響を及ぼすおそれがある。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
168
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
169 \section{ボトルネックになっている Node への対処}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
170 画像データを受け取る時間が遅い Node をそのまま木構造に配置しているとその子 Node 以下に影響を及ぼす。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
171 そのためネックになっている Node への対処が必要である。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
172
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
173 図\ref{fig:fixTree}は 6台の Node が接続している状態で Node1 がネックになっている場合の木の再構成を示している。
32
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 31
diff changeset
174 Root Node はその Node がボトルネックなっているかの判断を遅延の実験で使用したメッセージを使って行う。
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
175 ボトルネックになっているなら Root Node の nodeList からその Node を削除する。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
176 削除した Node の場所には末端の Node を配置するように CONNECT\_TO メッセージを送信する。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
177 nodeList から削除された Node は接続されたままなので、データの受信は行うが、 木構造には入らないため、ネックになっている Node の下に新しい Node が繋がることはない。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
178 そのためネックになっている Node 以下に影響を及ばすことがない。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
179
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
180 \begin{figure}[htbp]
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
181 \begin{center}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
182 \includegraphics[width=100mm]{./pic/fixTree.pdf}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
183 \end{center}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
184 \caption{ボトルネックになっている Node への対処}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
185 \label{fig:fixTree}
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
186 \end{figure}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
187
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
188 \section{まとめ}
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
189 本研究では画面配信システム TreeVNC での NAT 対応、 マルチディスプレイ対応、共有画面切り替えの安定化、 各 Node へのエラー通知、TreeVNC の評価を行った。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
190
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
191 NATを越えに対応した Direct Connection という接続方法を確立し実装した。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
192 これにより、NAT を越えた別ネットワークのユーザーが TreeVNC に参加することが可能となった。
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
193
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
194 マルチディスプレイの場合に画面を選択して配信することが可能になった。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
195
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
196 画面切り替えの際に切り替え用のスレッドを用意することでスムーズな画面切り替えが可能。
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
197
31
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
198 新しく ERROR\_ANNOUNCE メッセージを追加することで各Nodeにエラー通知を行える様になった。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
199
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
200 今回の画像データの遅延実験を行い、 ボトルネックになっているノードがあることがわかった。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
201 また、ボトルネックになっているノードへの対処を行った。
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
202
d8660bf1da6f Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 29
diff changeset
203 また今後の課題として音声配信機能の実装、マルチディスプレイ時の表示画面サイズの調整を行う
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 \nocite{*}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 \bibliographystyle{junsrt}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 \bibliography{reference}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 \end{document}