annotate prepaper/finalPre.tex @ 27:81199769134b

Fix
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Wed, 17 Feb 2016 16:42:42 +0900
parents 004612152453
children 1e36dc43391b
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}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 \usepackage{url}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 %\pagestyle{fancy}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
7 \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
8 \rhead{}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 \cfoot{}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 \setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 \setlength{\headheight}{0mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 \setlength{\headsep}{5mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 \setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 \setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 \setlength{\textwidth}{181mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \setlength{\textheight}{261mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \setlength{\footskip}{0mm}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \pagestyle{empty}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \input{dummy.tex}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \begin{document}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
23 \title{PC画面配信システムTreeVNCの NAT への対応}
27
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
24 %\title{Supporting NAT in Screen Sharing System TreeVNC}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 \author{125716B 氏名 {伊波}{立樹} 指導教員 : 河野 真治}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \date{}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 \maketitle
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 \thispagestyle{fancy}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \section{Abstract}
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
31 Screen sharing system TreeVNC multicast high resolution PC screen using tree structured network over client's PCs.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
32 Copying costs are balanced among these PC instead of centralize heavy costs on a VNC server.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
33 It also possible to change screen server dynamically without changing display cables.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
34 TreeVNC is useful in a lecture which contains 40-60 students or small seminar.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
35
27
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
36 We add several improvements on TreeVNC.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
37 By supporting NAT.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
38 By refactoring TreeVNC.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
39 create screen change thread. it stabilize screen change.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
40 in case of sharing multiple screen, selected one screen sharing.
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
41 本研究ではTreeVNCの改良として、NATへの対応を行った。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 25
diff changeset
42 また、リファクタリングとして、マルチディスプレイへの対応、画面切り替えの安定化、エラー通知用のメッセージの追加等を行うとともに、TreeVNC 有用性を示すために画像データの遅延時間計測を行った。
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
43
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
44 \section{画面共有を利用したコミュニケーション}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
45 授業やゼミ等で、それぞれが PC 端末を持っている場合では、
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 通常の授業では先生の用意した資料、 PC 画面を見ながら授業が進むことが多い。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
49 ゼミでは発表者を切り替えながら発表を行う。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
50
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 しかし、プロジェクタでは通常の授業の際、参加者はプロジェクタに集中するため、手元の PC をほぼ使用することができない。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
53 更に手元の PC を使う際はプロジェクタと PC を行き来するため、目に負担がかかってしまう。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
54 またゼミの際には発表者を切り替えるたびにプロジェクタにケーブルを差し替える必要がある。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
55 ケーブルの差し替えの際に発表者の PC によってアダプターの種類や解像度の設定によって正常に PC 画面を表示できない場合もある。
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 画面配信システム TreeVNC\cite{taninari:2011a}は発表者の画面を参加者の PC に表示する。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
58 そのため、参加者は不自由なく手元の PC を使用しながら授業を受ける事が可能になる。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
59 更に発表者の切り替えの際もケーブルの差し替えずに共有する画面の切替を可能としている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
60
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
61 Tree VNC は VNC\cite{vnc} を使用した画面配信を行っている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
62 しかし通常の VNC では配信側に全ての参加者が接続するため、多人数の際の処理性能が落ちてしまう。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
63 Tree VNC では有線でネットワークに接続した参加者をバイナリツリー状に接続し、 配信コストをクライアントに分散させる仕組みになっている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
64 そのため、授業で先生の画面を表示する際、多人数の生徒が参加しても処理性能が下がらない。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
65 また、ツリーのルートが参照している VNC サーバーを変更することで、共有する画面の切替が可能となる。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
66
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
67 しかし TreeVNC を授業やゼミで使用している中、 様々な問題が発生した。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
68 NATを越えたネットワーク接続に対応しておらず、遠隔地などで授業やゼミに参加することが出来ない。
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
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
71 そこで、本研究では上記の問題点を解決し、TreeVNCの有用性を評価することで授業やゼミを円滑に行えることを目標とする。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
72
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 \section{画面配信システムTreeVNC}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
74 VNC(Virtual Network Computing) は、 RFBプロトコルを用いて遠隔操作を行うリモートデスクトップソフトウェアである。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
75
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
76 TreeVNC は Java を用いて作成された TightVNC(Tight Virtual Network Computing)\cite{tightvnc} を元に作成されている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
77
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
78 TreeVNC は クライアント同士を接続させ、画面描画のデータを受け取ったクライアントが次のクライアントにデータを流す方式を取っている。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
79 また、サーバへ接続しに来たクライアントをバイナリツリー状に接続する(図\ref{fig:tree})。
25
004612152453 Add fit screen section
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
80 バイナリツリー状に接続することで、$N$ 台のクライアントが接続しに来た場合、画面配信の画像データをコピーする回数は従来の VNC ではサーバ側で$N$ 回する必要があるが、TreeVNCでは各ノードが2回ずつコピーするだけで済む。
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
81
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
82 \begin{figure}[htbp]
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
83 \begin{center}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
84 \includegraphics[width=60mm]{./pic/treeVnc.pdf}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
85 \end{center}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
86 \caption{構成される木構造}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
87 \label{fig:tree}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
88 \end{figure}
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
21
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
90 \section{NAT への対応}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
91 遠隔地からでもゼミや授業に参加できるよう、 NATを越えたネットワークから TreeVNC への接続を可能にした。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
92
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
93 図\ref{fig:directConnection} にNATを越えたネットワークからの接続を示す。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
94 別ネットワークからTreeVNCに参加する際、 直接配信側のネットワークの Root Node に接続を行う。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
95 この接続を Direct Connection と呼ぶ。
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 Direct Connection した Node はそのネットワークの Root Node になる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
98 そのネットワークの他の Node はそのネットワークの Root Node に接続し、木構造を生成する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
99
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
100 配信側の Root Node は Direct Connection で接続された Root Node に対して Framebuffer Update で 画像データを送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
101 Framebuffer Update が送信された Root Node は そのネットワークの Node に対して Framebuffer Update を送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
102
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
103 これにより、NATを越えたネットワークの画面共有が可能となる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
104
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
105 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
106 \begin{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
107 \includegraphics[width=80mm]{./pic/directConnection.pdf}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
108 \caption{遠隔地 Node からの接続}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
109 \label{fig:directConnection}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
110 \end{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
111 \end{figure}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
112
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 \section{マルチディスプレイ対応}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
114 画面配信側のPCがマルチディスプレイの場合、 VNC サーバーからは複数の画面全体の画像データが送信されてしまう。
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 授業やゼミ等でTreeVNCを使用する場合、複数画面の表示は必要ない。
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
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
119 ディスプレイの情報は個々のクライアントでしか取得ができない。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
120 そのため、配信側は画面の切替を行う際に、ディスプレイを選択し、そのディスプレイの左上と右下の座標を取得する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
121 その座標を Root Node への画面切り替えを要求する SERVER\_CHANGE\_REQUEST メッセージに付加させる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
122 Root Node は 配信側の VNC サーバー に画像データを要求する FRAMEBUFFER\_UPDATE\_REPLY メッセージに送信された座標を付加する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
123 VNC サーバーは要求された座標内の画像データを FRAMEBUFFER\_UPDATE メッセージで Root Node に送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
124 これにより、一画面のみの表示が可能となる。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
125
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
126 図\ref{fig:multidisplay} は Display1 のみを画面共有する例を示している。
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 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
129 \begin{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
130 \includegraphics[width=70mm]{./pic/shareScreenToMultiDisplay.pdf}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
131 \end{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
132 \caption{マルチディスプレイへの対応}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
133 \label{fig:multidisplay}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
134 \end{figure}
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 画面切り替えを行う際、 配信中の画面を停止した後に画面の切り替え処理を実行していた。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
138 しかし、 切り替え先の VNC サーバーへの接続に時間がかかったり、 切り替え先の設定ミスなどで画面の切替がスムーズに行えない場合があった。
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 そこで、 画面切り替えを行う際に新しく切り替え用のスレッドを生成し処理する変更を行った。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
141 Root Node は SERVER\_CHANGE\_REQUEST を受け取ると、 配信状態を維持したまま、画面切り替え用に新しくスレッドを生成する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
142 切り替え用のスレッドは切り替えに必要なデータの設定、 VNC サーバー への接続など通常の切り替え処理を実行する。
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 切り替え用のスレッドを用意することで、配信状況を維持したままスムーズな画面切り替えが可能になった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
145
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 \section{クライアントへのエラー通知}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
147 TreeVNC には接続しているクライアントへのエラーの通知を行うことが出来なかった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
148 そのため、 画面切り替えを行う際に切り替え先が VNC サーバーの共有設定をしていない場合 Root Node に接続エラーのダイアログが表示されるという実装になっており、切り替えを行ったクライアントには通知されていなかった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
149
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
150 この問題を解決するために新しくERROR\_ANNOUNCE というメッセージを追加した。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
151 図\ref{fig:errorAnnounce} は Node3 に対してエラー通知を行っている例を示している。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
152 ERROR\_ANNOUNCE メッセージは Root Nodeから木構造を辿りながら末端の Node に通信を行うメッセージで、エラー通知したいクライアントの Node Nuber と エラー内容の文字列を付加して送信する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
153 付加した Node Number に一致する Node がメッセージを受け取ると、 付加されたエラーの文字列をダイアログで表示する。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
154 エラー通知用のメッセージを追加することで、 各々のクライアントに対して通知を行うことが可能になった。
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
155
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
156 \begin{figure}[htbp]
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
157 \begin{center}
23
01831426db98 Add images to prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
158 \includegraphics[width=70mm]{./pic/errorAnnounce.pdf}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
159 \end{center}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
160 \caption{ERROR\_ANNOUNCE メッセージの挙動}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
161 \label{fig:errorAnnounce}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
162 \end{figure}
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
163
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 \section{TreeVNC の評価}
22
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 21
diff changeset
165
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
166 \section{まとめ}
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
167 本研究では画面配信システム TreeVNC での NAT 対応、 リファクタリングによる機能改良、 TreeVNC の評価を行った。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
168 NATを越えに対応した Direct Connection という接続方法を確立し実装した。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
169 これにより、NAT を越えた別ネットワークのユーザーが TreeVNC に参加することが可能となった。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
170 また、リファクタリングによって以下の機能の改良を行い、安定性の向上をおこなった。
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
171
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 \section{今後の課題}
24
ad8f3cea4a16 Update prepaper
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
173 今回追加した Direct Connection では NAT を 越えたネットワークの画面の配信を行うのみであ り、 TreeVNC の利点の 1 つである画面切り替え を行うことが出来ない。そのため、NAT を越えた ネットワークでの画面切り替えの実装を行う。
20
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 \nocite{*}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 \bibliographystyle{junsrt}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 \bibliography{reference}
d6897e4dfbb3 Add prepaper templete
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 \end{document}