changeset 5:3275b58829c7

update
author oc
date Wed, 29 Oct 2014 18:17:25 +0900
parents f8cb6edde76f
children 4ce5009c07ff
files pic/MultiNetworkTree.bb pic/TreeVNC.bb report.aux report.dvi report.log report.pdf report.tex
diffstat 7 files changed, 190 insertions(+), 121 deletions(-) [+]
line wrap: on
line diff
--- a/pic/MultiNetworkTree.bb	Wed Oct 29 13:38:35 2014 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./MultiNetworkTree.pdf
-%%Creator: extractbb 20140317
-%%BoundingBox: 38 653 392 795
-%%CreationDate: Tue Oct 28 17:17:57 2014
-
--- a/pic/TreeVNC.bb	Wed Oct 29 13:38:35 2014 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-%%Title: ./TreeVNC.pdf
-%%Creator: extractbb 20140317
-%%BoundingBox: 35 639 211 795
-%%CreationDate: Tue Oct 28 17:17:54 2014
-
--- a/report.aux	Wed Oct 29 13:38:35 2014 +0900
+++ b/report.aux	Wed Oct 29 18:17:25 2014 +0900
@@ -5,15 +5,19 @@
 \@writefile{toc}{\contentsline {section}{\numberline {2}VNC}{1}}
 \@writefile{toc}{\contentsline {section}{\numberline {3}TreeVNC}{1}}
 \@writefile{toc}{\contentsline {section}{\numberline {4}動的なport番号の指定}{1}}
-\bibcite{1}{1}
-\bibcite{2}{2}
+\newlabel{tb:message}{{4}{2}}
+\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces 通信経路とmessage一覧}}{2}}
 \@writefile{toc}{\contentsline {section}{\numberline {5}Treeの構成の変更}{2}}
 \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces マルチネットワークに対応したTreeVNCの図}}{2}}
 \newlabel{fig:figure2}{{2}{2}}
 \@writefile{toc}{\contentsline {section}{\numberline {6}ホスト切り替え時の挙動の修正}{2}}
 \@writefile{toc}{\contentsline {section}{\numberline {7}まとめ}{2}}
-\@writefile{toc}{\contentsline {section}{\numberline {8}今後の課題}{2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}画像データの遅延}{2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}エラーハンドリング}{2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}音声データの共有}{2}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}画面の大きさをホスト側で変更できる}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {8}画像データの遅延}{2}}
+\bibcite{1}{1}
+\bibcite{2}{2}
+\bibcite{3}{3}
+\bibcite{4}{4}
+\bibcite{5}{5}
+\@writefile{toc}{\contentsline {section}{\numberline {9}クライアントのエラーメッセージの通知}{3}}
+\@writefile{toc}{\contentsline {section}{\numberline {10}音声データの配信}{3}}
+\@writefile{toc}{\contentsline {section}{\numberline {11}画面の大きさの制御}{3}}
Binary file report.dvi has changed
--- a/report.log	Wed Oct 29 13:38:35 2014 +0900
+++ b/report.log	Wed Oct 29 18:17:25 2014 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.14159265-p3.5-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=platex 2014.10.23)  29 OCT 2014 13:35
+This is e-pTeX, Version 3.14159265-p3.5-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=platex 2014.10.23)  29 OCT 2014 18:13
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -110,6 +110,9 @@
 \f@ncyO@olf=\skip51
 \f@ncyO@orf=\skip52
 )
+(/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/lscape.sty
+Package: lscape 2000/10/22 v3.01 Landscape Pages (DPC)
+)
 
 LaTeX Warning: Unused global option(s):
     [9.5pt].
@@ -117,38 +120,44 @@
 (./report.aux)
 \openout1 = `report.aux'.
 
-LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for JY1/mc/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
-LaTeX Font Info:    Checking defaults for JT1/mc/m/n on input line 20.
-LaTeX Font Info:    ... okay on input line 20.
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for JY1/mc/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
+LaTeX Font Info:    Checking defaults for JT1/mc/m/n on input line 22.
+LaTeX Font Info:    ... okay on input line 22.
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <12> on input line 24.
+(Font)              <12> on input line 26.
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <8> on input line 24.
+(Font)              <8> on input line 26.
 LaTeX Font Info:    External font `cmex10' loaded for size
-(Font)              <6> on input line 24.
+(Font)              <6> on input line 26.
 LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <14.4> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 27.
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 30.
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <14.4> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 27.
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 30.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line 40.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <5> on input line 40.
 File: pic/TreeVNC.eps Graphic file (type eps)
  <pic/TreeVNC.eps>
 LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <10> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 92.
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 125.
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <10> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 92.
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 125.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <9> on input line 138.
 File: pic/emblem-bitmap.pdf Graphic file (type eps)
  <pic/emblem-bitmap.pdf>
 
@@ -162,23 +171,16 @@
 
 ]
 File: pic/MultiNetworkTree.eps Graphic file (type eps)
- <pic/MultiNetworkTree.eps>
-Overfull \hbox (3.57736pt too wide) in paragraph at lines 131--132
- [] 
- []
+ <pic/MultiNetworkTree.eps> [2] [3
 
-LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <12> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 158.
-LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <12> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 158.
-[2] (./report.aux) ) 
+] (./report.aux) ) 
 Here is how much of TeX's memory you used:
- 853 strings out of 493807
- 9589 string characters out of 6151950
- 73447 words of memory out of 5000000
- 4358 multiletter control sequences out of 15000+600000
- 13884 words of font info for 54 fonts, out of 8000000 for 9000
+ 883 strings out of 493807
+ 9983 string characters out of 6151950
+ 82636 words of memory out of 5000000
+ 4380 multiletter control sequences out of 15000+600000
+ 14953 words of font info for 58 fonts, out of 8000000 for 9000
  929 hyphenation exceptions out of 8191
- 25i,15n,43p,250b,364s stack positions out of 5000i,500n,10000p,200000b,80000s
+ 25i,15n,43p,224b,366s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on report.dvi (2 pages, 12500 bytes).
+Output written on report.dvi (3 pages, 18152 bytes).
Binary file report.pdf has changed
--- a/report.tex	Wed Oct 29 13:38:35 2014 +0900
+++ b/report.tex	Wed Oct 29 18:17:25 2014 +0900
@@ -2,6 +2,8 @@
 \usepackage[dvips]{graphicx}
 \usepackage{picins}
 \usepackage{fancyhdr}
+\usepackage{lscape}
+%\usepackage{multicol}
 %\pagestyle{fancy}
 \lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}} 琉球大学主催 工学部情報工学科 中間発表予稿}
 \rhead{}
@@ -18,33 +20,46 @@
 \pagestyle{empty}
 
 \begin{document}
-\title{授業やゼミ向けの画面共有システムTreeVNCの機能拡張}
+\title{授業やゼミ向けの画面配信システムTreeVNCの機能拡張}
 \author{115747H 大城美和 {}{} 指導教員 : 河野真治}
 \date{}
 \maketitle
 \thispagestyle{fancy} 
 
+
 \section{はじめに}
 
-本研究室では、TreeVNCという画面共有システムを開発している。
+本研究室では、TreeVNCという画面配信システムを開発している。
 ゼミや講義の質を高め、快適にプレゼンテーションを聴講でき、
 参加者同士が充分なコミュニケーションを取れることを目的としている。
+% どこまでできてて今回の研究でなにをするか
 
 % TreeVNCの負荷分散の話
 TreeVNCは、接続しに来たクライアントをバイナリツリー状に接続する。
 バイナリツリーなら、各nodeに最大2台分のクライアントしか接続されない。
-従来のVNCの場合、rootに複数のクライアントが接続される。
-TreeVNCはVNCよりも配信時に画像データをコピーする回数が少ない。
+$N$台のクライアントが接続しに来た場合、
+画面配信の画像データをコピーする回数は、
+従来のVNCでは$N$回、TreeVNCでは$log N * 2$回となる。
 TreeVNCは、rootへの負荷を各nodeに分散することにより、
-処理性能の向上を計る。
+処理性能が向上している。
 
 % 画面共有ボタンの話
-ゼミで画面共有を行う場合、発表者が頻繁に入れ替わる。
+ゼミで画面配信を行う場合、発表者が頻繁に入れ替わる。
 プロジェクタを使用している場合、
 入れ替えの度にケーブルを挿し直す必要がある。
-TreeVNCには、画面共有ボタンが付いており、
+TreeVNCには、画面配信ボタンが付いており、
 発表者はそれを押すことによって、画面を切り替えをスムーズに行える。
 
+既に、クライアントがツリー状に接続する設計や画面切り替え等の、
+基本機能はできていた。
+
+しかし、画面切り替えのプロトコルに不備があり、
+リファクタリングをすると共に、port番号の割り当てや、
+その他のプロトコルの見直しを行ってきた。
+今研究では、更にTreeVNCに新しい機能を実装していく。
+
+
+
 \begin{figure}[htpb]
   \begin{center}
     \includegraphics[width=70mm]{pic/TreeVNC.eps}
@@ -62,7 +77,7 @@
 
 \section{TreeVNC}
 TreeVNCは、TightVNCのjava版のビューアを元に
-作成された画面共有システムである。
+作成された画面配信システムである。
 接続しにきたクライアントは図\ref{fig:treeVNC}の様に、
 ツリー状に構成される。
 
@@ -84,33 +99,84 @@
 以前は固定長portを使用しmessageの通信を行っていたが、
 一意なportを割り当てられているnodeが通信を行うことによって、
 どのport番号が使用されているかを意識する必要がなくなった。
+通信しているmessageの一覧を表1に示す。
 
-rootと子node間の通信を行うmessageは以下である。
+%\begin{description}
+%    \setlength{\parskip}{0cm} % 段落間
+%  \setlength{\itemsep}{0cm} % 項目間
+%  \item[CONNECT\_TO\_AS\_LEADER、CONNECT\_TO]\mbox{}\\
+%    node間の接続を行うmessage
+%  \item[WHERE\_TO\_CONNECT]\mbox{}\\
+%    どのnodeと接続するかを知らせるmessage
+%  \item[LOST\_PARENT]\mbox{}\\
+%    親nodeとの接続が切れてしまった場合のmessage
+%  \item[NEW\_NODE]\mbox{}\\
+%    新しいnodeが接続した場合のmessage
+%  \item[SERVER\_CHANGE\_REQUEST]\mbox{}\\
+%    クライアントが画面共有ボタンを押した際のmessage
+%  \item[CHECK\_DELAY\_REPLY]\mbox{}\\
+%    rootとnode間の通信における遅延を計測するためのmessage
+%\end{description}
+
+messageの通信経路一覧は以下である。
 \begin{description}
     \setlength{\parskip}{0cm} % 段落間
   \setlength{\itemsep}{0cm} % 項目間
-  \item[CONNECT\_TO\_AS\_LEADER、CONNECT\_TO]\mbox{}\\
-    node間の接続を行うmessage
-  \item[WHERE\_TO\_CONNECT]\mbox{}\\
-    どのnodeと接続するかを知らせるmessage
-  \item[LOST\_PARENT]\mbox{}\\
-    親nodeとの接続が切れてしまった場合のmessage
-  \item[NEW\_NODE]\mbox{}\\
-    新しいnodeが接続した場合のmessage
-  \item[SERVER\_CHANGE\_REQUEST]\mbox{}\\
-    クライアントが画面共有ボタンを押した際のmessage
-  \item[CHECK\_DELAY\_REPLY]\mbox{}\\
-    rootとnode間の通信における遅延を計測するためのmessage
+  \item[send direct message]\mbox{}\\
+    直接メッセージを送信する
+  \item[message down tree]\mbox{}\\
+    ツリー状に下りながらメッセージを送信する
+  \item[message up tree]\mbox{}\\
+    ツリー状に上りながらメッセージを送信する
+  \item[send message]\mbox{}\\
+    メッセージを送信する
 \end{description}
 
-\newpage
+
+\begin{table*}[htb]
+  \small
+  \begin{tabular}{|l|l|l|} \hline
+    通信経路            & message                    & 説明 \\ \hline \hline
+                        & FIND\_ROOT                 & 子node接続時にrootを探す。 \\ \cline{2-3}
+    send direct message & WHERE\_TO\_CONNECT         & どのnodeに接続すれば良いかを聞く。 \\ \cline{2-3}
+    (child to root)     & LOST\_PARENT               & 親nodeの接続が切れた時にrootに知らせる。 \\ \hline
+
+                        & FIND\_ROOT\_REPLY          & FIND\_ROOTへの返信。 \\ \cline{2-3}
+    send direct message & CONNECT\_TO                & nodeとnodeの接続をする。 \\ \cline{2-3}
+    (root to child)     & CONNECT\_TO\_AS\_LEADER    & 左子nodeとして、nodeとnodeの接続をする。 \\ \hline
+
+    message down tree   & FRAMEBUFFER\_UPDATE        & TreeVNC用に圧縮されている、画面の差分の画像データ。\\ \cline{2-3}
+    (root to child)     & CHECK\_DELAY               & 通信の遅延を測定するmessage。 \\ \hline
+
+    message up tree     & CHECK\_DELAY\_REPLY        & CHECK\_DELAYへの返信。 \\ \cline{2-3}
+    (child to root)     & SERVER\_CHANGE\_REQUEST    & 画面切り替えのリクエスト。 \\ \hline
+
+                        & FRAMEBUFFER\_UPDATE\_REPLY & FRAMEBUFFER\_UPDATEのリクエスト。 \\ \cline{2-3}
+    send message        & SET\_PIXEL\_FORMAT         & pixel値の設定。 \\ \cline{2-3}
+    (root to VNCServer) & SET\_ENCODINGS             & pixelデータのencodeTypeの設定。 \\ \cline{2-3}
+                        & KEY\_EVENT                 & キーボードからのイベント。 \\ \cline{2-3}
+                        & POINTER\_EVENT             & ポインタからのイベント。 \\ \cline{2-3}
+                        & CLIENT\_CUT\_TEXT          & テキストのカットバッファを持った際のmessage。 \\ \hline
+
+                        & FRAMEBUFFER\_UPDATE        & 画面の差分の画像データ。 \\ \cline{2-3}
+    send message        & SET\_COLOR\_MAP\_ENTRIES   & 指定されているpixel値にマップするRGB値。 \\ \cline{2-3}
+    (VNCServer to root) & BELL                       & ビープ音を鳴らす。 \\ \cline{2-3}
+                        & SERVER\_CUT\_TEXT          & サーバがテキストのカットバッファを持った際のmessage。 \\ \hline
+
+  \end{tabular}
+  \label{tb:message}
+  \caption{通信経路とmessage一覧}
+\end{table*}
+
+
 
 
 \section{Treeの構成の変更}
 
-従来のTreeVNCには、クライアントの木構造は単一であった。
+従来のTreeVNCは、クライアントの接続する木構造が単一であった。
 そのため、ネットワークインターフェースが違うクライアントが
 同じ木に混在している状況が生じた。
+
 速度の遅いクライアントが木に存在すると、
 そのクライアント以下の通信速度が遅くなってしまう。
 
@@ -126,9 +192,9 @@
 こうすることによって、TreeVNCを複数のネットワークインターフェイス別に
 木構造を構成することができる。
 
-\begin{figure}[htpd]
+\begin{figure}[!h]
   \begin{center}
-    \includegraphics[width=90mm]{pic/MultiNetworkTree.eps}
+    \includegraphics[width=80mm]{pic/MultiNetworkTree.eps}
   \end{center}
   \caption{マルチネットワークに対応したTreeVNCの図}
   \label{fig:figure2}
@@ -138,7 +204,7 @@
 
 \section{ホスト切り替え時の挙動の修正}
 画面の切り替えを行う際、新しいホスト側の画面に生じた
-ビデオフィードバックが他のユーザに共有されてしまう問題があった。
+ビデオフィードバックが他のユーザに配信されてしまう問題があった。
 
 ホストの切り替えの際、
 新しいホスト側のviewerを閉じることで問題を解決した。
@@ -147,66 +213,73 @@
 
 \section{まとめ}
 TreeVNCにリファクタリングを行うことによって、
-有線LANや無線LANといった
-複数のネットワークインターフェイスで通信することができる。
+開発環境を整え、
+複数のネットワークインターフェイスでの通信が遅い問題を解消し、
 これは開発環境を整えることや、利便性の向上に繋がる。
 
 
 
 
-\section{今後の課題}
-  \subsection{画像データの遅延}
-  現在のTreeVNCでは、
-  全画像データの書き換えが立て続けに起こってしまった場合、
-  データの受け渡し処理で遅延が発生する。
+\section{画像データの遅延}
+現在のTreeVNCでは、
+全画像データの書き換えが立て続けに起こってしまった場合、
+データの受け渡し処理で遅延が発生する。
 
-  送られてきた全てのデータを画面に出力するのではなく、
-  VNCServerから立て続けに大きい画像データが送信されたことを検知し、
-  最新のデータのみを取得し出力するといった実装を行う。
+送られてきた全てのデータを画面に出力するのではなく、
+VNCServerから立て続けに大きい画像データが送信されたことを検知し、
+最新のデータのみを取得し出力するといった実装を行う。
 
+\newpage
 
-  \subsection{エラーハンドリング}
-  クライアントが画面の切替を行う際、
-  接続が確立する前に、通信の段階でエラーが生じた場合、
-  そのエラーメッセージがrootに出力されるという問題がある。
+\section{クライアントのエラーメッセージの通知}
+クライアントが画面の切替を行う際、
+接続が確立する前に、通信の段階でエラーが生じた場合、
+そのエラーメッセージがrootに出力されるという問題がある。
 
-  クライアントのエラーを検出した際にそのクライアントのIDを取得する。
-  木構造を下に辿って、
-  エラーメッセージを含むデータを
-  クライアントに送信する。
-  下へと降る際、各nodeでIDの確認をし、
-  一致した箇所でエラーメッセージを出力するような実装を行う。
+クライアントのエラーを検出した際にそのクライアントのIDを取得する。
+木構造を下に辿って、
+エラーメッセージを含むデータを
+クライアントに送信する。
+下へと降る際、各nodeでIDの確認をし、
+一致した箇所でエラーメッセージを出力するような実装を行う。
 
 
 
-  \subsection{音声データの共有}
-  現在TreeVNCが共有しているのは画面のデータのみである。
-  遠隔からプレゼンテーションや授業を聴講したい場合、
-  画面のデータに加えて音声データが欲しい。
+\section{音声データの配信}
+現在TreeVNCが配信しているのは画面のデータのみである。
+遠隔からプレゼンテーションや授業を聴講したい場合、
+画面のデータに加えて音声データが欲しい。
 
-  TreeVNCに、画像データと共に音声データを追加する。
+TreeVNCに、画像データと共に音声データを追加する。
 
 
 
-  \subsection{画面の大きさをホスト側で変更できる}
-  現在のTreeVNCは、ホスト側の画面全体を送信している。
-  マルチディスプレイを持っているホストだと、
-  2つの画面が共有されてしまう。
-  共有する画面をホスト側で指定できる様にする。
+\section{画面の大きさの制御}
+現在のTreeVNCは、ホスト側の画面全体を送信している。
+マルチディスプレイを持っているホストだと、
+2つの画面が配信されてしまう。
+配信する画面をホスト側で指定できる様にする。
 
-  ホスト側にviewerの代わりに枠を用意し、
-  その枠内のデータのみを共有するといった機能を追加する。
-  この機能を追加することによって、
+ホスト側にviewerの代わりに枠を用意し、
+その枠内のデータのみを配信するといった機能を追加する。
+この機能を追加することによって、
 
 
 
 \begin{thebibliography}{9}
 
-\bibitem{1}
-  TightVNC: VNC-Compatible Free Remote Control / Remote Desktop Software\\
-  \verb|http://www.tightvnc.com/|
-\bibitem{2}
-  谷成雄, 河野真治, 授業やゼミ向けの画面共有システムTreeVNCの設計と実装 A Screen Sharing System using Tree Structure for Seminar and Classwork 平成25年度 学位論文(修士)
+  \bibitem{1}
+    TightVNC: VNC-Compatible Free Remote Control / Remote Desktop Software\\
+    \verb|http://www.tightvnc.com/|
+  \bibitem{2}
+    RFB Protocol - rfbproto.pdf\\
+    \verb|http://www.realvnc.com/docs/rfbproto.pdf|
+  \bibitem{3}
+    谷成雄, 河野真治, 授業やゼミ向けの画面共有システムTreeVNCの設計と実装 A Screen Sharing System using Tree Structure for Seminar and Classwork 平成25年度 学位論文(修士)
+  \bibitem{4}
+    谷成雄, 大城信康, 河野真治. VNCを用いた授業用画面共有システムの設計・開発 Design and implementation of Screen Sharing System with VNC for lecture 情報処理学会論文誌 Vol.53 No.2 (Feb. 2012)
+  \bibitem{5}
+    谷成雄, 大城信康, 河野真治. VNC を用いた授業用画面共有システムの設計と実装. 日本ソフトウェア科学会第 28 会大会(2011 年度) 講演論文集
 
 
 \end{thebibliography}