# HG changeset patch # User Yu Taninari # Date 1343421152 -32400 # Node ID ab2220cd9ba5101dae702f5f52755525b37511c6 # Parent cf4023c9f88ddfb9c02fa5990a6489c7cc992fa2 modify diff -r cf4023c9f88d -r ab2220cd9ba5 yuu-preliminary.tex --- a/yuu-preliminary.tex Sat Jul 28 05:23:54 2012 +0900 +++ b/yuu-preliminary.tex Sat Jul 28 05:32:32 2012 +0900 @@ -3,7 +3,7 @@ \usepackage{picins} \usepackage{fancyhdr} \pagestyle{fancy} -\lhead{Technical Reading Writing} +\lhead{\parpic{\includegraphics[height=1zw,clip,keepaspectratio]{pic/emblem-bitmap.eps}}琉球大学主催 工学部情報工学科 卒業研究発表会} \rhead{} \cfoot{} @@ -18,114 +18,133 @@ \pagestyle{empty} \begin{document} -\title{System design and implementation for the class using the VNC screen sharing} -\author{School register number:085734D Name:Yu Taninari Instructor:Shinji Kono} +\title{VNCを用いた授業用画面共有システムの設計と実装} +\author{学籍番号:085734D 氏名:谷成雄 指導教員:河野真治} \date{} \maketitle \thispagestyle{fancy} -\section{First} -When usually performing teaching,In many cases performed using the projector. -but, when performed using the projector It is difficult to be visible at rear side seat. -If participation class students have personal computer that it can the teacher's screen display. -If it makes students at rear side seat can be seen easily to teachers display. -Using VNC can display the teacher's screen to students display. -However, the screen will no longer keep up with the progress of the class fell and process it may end up connecting to a PC at the same time teacher of students of multiplayer. -This problem happen at same time access to teacher display. +\section{はじめに} +普段授業を行う際、プロジェクタを使用して授業を進めることが多い。 +しかし、後ろの席から見えにくいなどの不便を感じることがよくある。 +授業を受けている生徒の手元にパソコンがあるならば、そこに先生の画面を表示して授業をすすめることが出来れば、 +後ろの席に座っていても見えづらいという問題は解消される。 -In this study, the client into a tree structure so that you can share the screen in multiplayer -Do the design and implementation of (TreeVNC) system that is sharing the screen in such a way that will sink the data in order from top to be connected. +VNCを用いることで、先生の画面を生徒の手元の画面に表示することができる。 +しかし、多人数の生徒が先生のパソコンに同時に接続してしまうと処理性のが落ちて授業の進行に画面がついていかなくなってしまう。 +この問題は一つのコンピュータ多人数が同時につながるときに起こる問題である。 -\section{About VNC} -VNC(Virtual Network Computing) is Remote Desktop software. It is can be remote operation using 'RFB Protocol'. -VNC is divided into the client side and server side, start the server, the client makes a connection to the server. +そこで、本研究では多人数で画面が共有できるようにクライアントをツリー構造に +接続させ上から順番にデータを流していくという方法で画面を共有するシステム(TreeVNC)の設計と実装を行う。 + -\section{Rfb Protocol} +\section{VNCについて} +VNC(Virtuual Network Computing)は、RFBプロトコルを用いて遠隔操作を行うリモートデスクトップソフトである。 +VNCはサーバ側とクライアント(ビューア)側に分かれていて、サーバを起動し、クライアントがサーバに接続を行い遠隔操作を可能にする。 -\section{Design policy for TreeVNC} -First, problem arises when using VNC multiplayer. Since there is many connection,Processing performance falls. it will go down. -In order to solve this problem . I developed how the client which received the data of screen drawing pours data to the following client was considered. -A client to do screen sharing to becomes VNC server itself. -Moreover, I were considered as it is better to connect by a tree structure. -PC (Top) which is present in the top of a tree performs management of connection of clients, Only Top node is made to connect with a VNC server. \\ -This time is created Tree VNC is The above-mentioned method. only screen sharing do(not allow Operation). +\section{TreeVNCの設計方針} +まず、多人数が参加している授業でVNCを使う場合に起こる問題は、前でも述べたように、 +一つのコンピュータに多人数が繋がり、処理性能が大幅に落ちてしまうところが問題である。 +この問題を解決する為に、クライアント同士を接続させ、画面描画のデータを受け取った +クライアントが次のクライアントにデータを流すという方法を考えた。 +画面共有を行いたいクライアントが一種のVNCサーバ自体にもなる。 +また、クライアント同士の接続はツリー構造で行うことで管理がしやすくなると考えた。 +クライアント同士の接続の管理はツリーの一番上にいるPC(Top)で行い、 +このTopだけがVNCサーバへ接続を行うようにする。 + +今回作成したTreeVNCは、上記の実装でツリー状にクライアントを接続していくように実装を行った。 +画面の共有だけを行うように実装した。 -\section{Precedence example} -There are Vnc Reflector and VNc Projector in order to reduce the load to a Vnc server. +\section{先行事例} +Vncサーバへの負荷を軽減する先行事例としてはVnc ReflectorやVNc Projectorがある。 \subsection{VNC Reflector} -Vnc Reflector is a program which enters between a Vnc server and a client and performs communication with a Vnc server instead. -Because the only client to connect to the Vnc Reflector. we can reduce the load on the Vnc server in order to the connection with a Vnc server serves as only Vnc Reflector. +Vnc Reflectorは、Vncサーバとクライアントとの間に入り、Vncサーバとの通信を代わりに行うプログラムである。 +クライアントはVnc Reflectorへ接続するので、Vncサーバとの接続はVnc Reflectorのみとなり、Vncサーバ側の負荷を減らすことができる。 \subsection{Vnc Projector} -Vnc Projector is screen sharing software using by Broadcast. - -Since Broadcasting is used, there is little load to a server. - -This software is a charge. -It is possible to correspond to the wireless LAN, because not use Broadcast. +Vnc Projectorはブロードキャストを用いて、画面共有を行うソフトウェアである。 +ブロードキャストを用いているので、サーバへの負荷が少ない。 +このソフトウェアは有料である。 +Tree VNCはブロードキャストを用いていないので無線LANに対応できる。 -\section{Impliments of TreeVNC} -TreeVNC created based on the java version of TightVNCVirewer.TightVNC is free software for VNC. -VNC servers created by C++ the Windows version and the Java version is published as of August 9, 2011. - +\section{TreeVNCの実装} +TreeVNCはTightVNCのjava版のビューアを元に作成を行った。TightVNCはフリーのVNC用ソフトである。 +2011年8月9日現在とC++で作成されたVNC サーバ用とWindows版、それとJava版のビューアが公開されている。 -\subsection{construction of Tree} -ients connected to a host as tree structure. The following procedures perform composition of a tree. +\subsection{Treeの構成} +今回は、ホストに対しクライアントがツリー状に繋がっていくように実装した。ツリーの構成は以下の手順で行う。  \begin{enumerate} - \item When a client connects, it connects with the proxy (this proxy will be described to be Top from now on) linked to a host. - \item The Top teaches the place which should be connected to a client. (It is taught at this time whether you are parents' number, your and number together) - \item A client connects with the node specified from Top. + \item クライアントが接続する際、ホストに接続をしているプロキシ(今後このプロキシのことをTopと記述する)に接続する。 + \item Topはクライアントにどこに接続すれば良いかを知らせる。(このときに親の番号と自分の番号それからリーダーであるかどうかを一緒に知らせる) + \item クライアントはTopから指定されたノードに接続を行う。  \end{enumerate} -\subsection{reconstruction of Tree} -Since the client is connected in the shape of a tree as for this mounting, if a parent node falls, a child node will also fall together. \\ -Therefore, reconstruction of a tree is needed. The procedure which reconstructs Tree is followed as follows. +\subsection{Treeの再構成} +今回の実装はクライアントがツリー状に繋がっているので、親ノードが落ちると子ノードも一緒に落ちてしまう。\\ +そこで、ツリーの再構成が必要になる。 \begin{enumerate} - \item A child reports to root that parents be down state. - \item when root is reported. orders to become instead of the parents who fell to largest number node. - \item The client which received the command from root reconnects with the place where root was specified. - \item root updates the list of clients -- new parents' information is taught to the children to whom parents state down. - \item The child who doesn't have parents connect to new parents. + \item 親ノードが落ちた際に、子ノードの中で一番若い番号の子ノードがTopに対して自分の親ノードが落ちたこ\ +とを報告する。(親ノードの番号を知らせる) + \item Topは木の番号が一番大きいノードに対して1で報告を受けた親ノードの代わりになるように命令を出す。$\ +\\$ + \item 親ノードがいなくなった子ノードたちはTopに対して、2で新しく繋がった親ノードのIPアドレスを教えて\\ +もらいそのアドレスに対して接続をおこなう。 +上記の構成の場合、一つのノードが落ちた場合に再接続を行うノードは2分木の場合3ノードである。 + +図1、図2が再接続の様子である。  \end{enumerate} -In this way, Tree can be reconstructed.$\\$ -When the child to whom the following sauce and parents fell has connected, it is a part of code of the portion which waits for all children's connection. -\section{Evaluation} -TreeVNC was implemented and comparison with Vnc Reflector was performed. -Test environment prepares 48 VM(s) on a Blade server, and is TreeVNC and Vnc Reflector besides a Blade server. -PC was placed and it experimented by making 48 VM(s) access. +\begin{figure}[!htbp] +\begin{center} +\scalebox{0.80}{\includegraphics{pic/reconnection1.eps}} +\end{center} +\caption{子ノードの番号が若いほう(3番)がTopに報告してツリーの番号が一番大きいノードに対して報告を行う。\ +(TはTop)} +\label{figure:splaying} +\end{figure} -\subsection{Compare VncReflector to TreeVNC} -As for overconcentrated type Vnc Reflector, the throughput fell from 20 mega to five mega. -On the other hand, it has checked that the direction of TreeVNC saved as [ 20 mega ] for a throughput. -This is unlike Vnc Reflector 48 units to gain access to a communication band of this is because the client will communicate with each other. +\begin{figure}[!htbp] +\begin{center} +\scalebox{0.80}{\includegraphics{pic/reconnection2.eps}} +\end{center} +\caption{番号の一番大きいノードが報告を受け指定された場所(1番)に接続を行う。(TはTop)} +\label{figure:splaying} +\end{figure} -\subsection{The advantage and fault of TreeVNC} +\section{評価} +TreeVNCの実装を行い、Vnc Reflectorとの比較を行った。 +テスト環境はBlade サーバ上にVMを48台用意し、Blade サーバの外にTreeVNCとVnc Reflectorを +起動させたPCを置き、VM48台にアクセスさせて実験を行った。 -Since clients exchange data, there is little load to a Vnc server. +\subsection{Vnc Reflectorとの比較結果} +一極集中型のVnc Reflectorは、スループットが20メガから5メガまで落ちた。 +一方TreeVNCの方はスループットを20メガのままをキープすることが確認できた。 +これは、1本の通信帯へ48台がアクセスするVnc Reflectorと違い、クライアント同士が通信を行う為である。 -Since it is not an overconcentrated type, when using by a lot of people, there is little stress of a display. +\subsection{TreeVNCの利点と欠点} + +クライアント同士がデータのやり取りをするのでVnc サーバへ負荷が少ない。 -The Top itself can also have a viewer. +一極集中型ではないので、多人数で使う際に画面表示のストレスが少ない。 -Communication speed of minutes all up, high load to the switch. +Top自身がビューアを持つこともできる。 + +みんなの通信速度上がる分、スイッチへの負荷が高い。 -\section{Result and Future works} -In this research, the screen shared system was developed using VNC and a tree structure. -A result a throughput without dropping its connection at 48 sets. +\section{まとめと今後の課題} +本研究では、VNCとツリー構造を用いて画面共有システムを開発した。結果スループットを落とすことなく48台で接続を行うことができた。 -Since the test in an actual lesson etc. is omitted, I would like to test whether it can use by actual lesson, although the test on a virtual machine was done this time. +今回、仮想マシーン上でのテストは行ったが、実際の授業などでのテストは行なっていないので実際の授業で使えるのかのテストを行いたい。 -Since the portion of UI of a client is not made, I would like to enrich UI and to design an easy-to-use system. - +クライアントのUIの部分ができていないので、UIを充実させ使いやすいシステムを設計したい。 \thispagestyle{fancy} \begin{thebibliography}{9}