Mercurial > hg > Papers > 2019 > riono-sigos
diff Paper/riono-sigos.tex @ 8:8f5141beca7d
paper section3 writing
author | e165729 <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 07 May 2019 22:59:51 +0900 |
parents | 8798f20ca953 |
children | bc2fba6636b7 |
line wrap: on
line diff
--- a/Paper/riono-sigos.tex Tue May 07 21:19:04 2019 +0900 +++ b/Paper/riono-sigos.tex Tue May 07 22:59:51 2019 +0900 @@ -63,7 +63,13 @@ VNC(Virtual Network Computing)は、クライアント(ビューワー)側とサーバ側からなるリモートデスクトップソフトウェアである。遠隔操作にはサーバを起動し、クライアント側がサーバに接続をすることで可能としている。また、動作にはRFBプロトコルを用いている。 \subsection{RFBプロトコルについて} -RFB(Remote Frame Buffer)プロトコル\cite{rfbprotocol}とは、自身のPC画面をネットワーク上に送信し他人の画面に表示を行うプロトコルである。画面が表示されるユーザ側をRFBクライアントと呼び、画面を送信のためにFramebufferの更新が行われる側をRFBサーバと呼ぶ。Framebufferとは。メモリ上に置かれた画像データのことである。RFBプロトコルでは、最初にプロトコルのバージョン確認や認証が行われる。その後、クライアントへ向けてFramebufferの大きさやデスクトップに付けられた名前などが含まれている初期メッセージを送信する。RFBサーバ側はFrame +RFB(Remote Frame Buffer)プロトコル\cite{rfbprotocol}とは、自身のPC画面をネットワーク上に送信し他人の画面に表示を行うプロトコルである。画面が表示されるユーザ側をRFBクライアントと呼び、画面を送信のためにFramebufferの更新が行われる側をRFBサーバと呼ぶ。Framebufferとは。メモリ上に置かれた画像データのことである。RFBプロトコルでは、最初にプロトコルのバージョン確認や認証が行われる。その後、クライアントへ向けてFramebufferの大きさやデスクトップに付けられた名前などが含まれている初期メッセージを送信する。RFBサーバ側はFramebufferの更新が行われるたびに、RFBクライアントに対してFramebufferの変更部分のみを送信する。更に、RFBクライアントのFramebufferUpdateRequestが来るとそれに答え返信する。変更部分のみを送信する理由は、更新がある度に全画面を送信すると、送信するデータ面と更新にかかる時間面において効率が悪くなるからである。 + + +\subsection{TreeStructure} +TreeVNCはサーバに接続してきたクライアントをバイナリツリー状に接続している。また、接続してきたクライアントをノードとし、その下に新たなノードを接続していくことでサーバが画面のデータを配信する回数を抑え、負荷分散を行なっている(図\ref{fig:TreeStructre})。バイナリツリー状に接続することで、N台のクライアントが接続しにきた場合、従来のVNCではサーバ側がN回のコピーを行なって配信をする必要がある(図\ref{fig:UntilVNC})が、TreeVNCでは各ノードが2回ずつコピーをするだけで配信が可能となる。 + +バイナリツリーのルートのノードをRoot Nodeと呼び、そこに接続されるノードをNodeと呼ぶ。Root Nodeは子Nodeにデータを渡す機能、各Nodeの管理、VNCサーバから送られてきたデータの管理を行なっている。各Nodeは、親Nodeから送られてきたデータを自身の子Nodeに渡す機能、子Nodeから送られてきたデータを親Nodeに渡す機能がある。 \section{Multicastの導入}