# HG changeset patch # User e165729 # Date 1557242835 -32400 # Node ID 9824722f2baac07bdf77426a0d964c563a7b9ebc # Parent 1d893453507d004ec2fcb28286d95f7acc13d68b paper section2-6 wrote diff -r 1d893453507d -r 9824722f2baa Paper/riono-sigos.pdf Binary file Paper/riono-sigos.pdf has changed diff -r 1d893453507d -r 9824722f2baa Paper/riono-sigos.tex --- a/Paper/riono-sigos.tex Tue May 07 23:24:35 2019 +0900 +++ b/Paper/riono-sigos.tex Wed May 08 00:27:15 2019 +0900 @@ -103,6 +103,47 @@ \end{itemize} +\subsection{メッセージ通信} +TreeVNCの各NodeとVNCServer間で通信されるメッセージを表\ref{tb:message}に示す。 + +\begin{table}[htbp] + \caption{通信経路とメッセージ一覧} + \scalebox{0.55}{ + \begin{tabular}{|l|l|l|} \hline + 通信経路 & message & 説明 \\ \hline \hline + & FIND\_ROOT & TreeVNC接続時にRoot Nodeを探す。 \\ \cline{2-3} + send direct message & WHERE\_TO\_CONNECT & 接続先をRoot Nodeに聞く。 \\ \cline{2-3} + (Node to Root) & LOST\_CHILD & 子Nodeの切断をRoot Nodeに知らせる。 \\ \hline \hline + + & FIND\_ROOT\_REPLY & FIND\_ROOTへの返信。 \\ \cline{2-3} + send direct message & CONNECT\_TO\_AS\_LEADER & 左子Nodeとして接続する。接続先のNodeが含まれている。 \\ \cline{2-3} + (Root to Node) & CONNECT\_TO & 右子Nodeとして接続する。接続先のNodeが含まれている。 \\ \hline \hline + + message down tree & FRAMEBUFFER\_UPDATE & 画像データ。EncodingTypeを持っている。\\ \cline{2-3} + (Root to Node) & CHECK\_DELAY & 通信の遅延を測定する。 \\ \hline \hline + + message up tree & CHECK\_DELAY\_REPLY & CHECK\_DELAYへの返信。 \\ \cline{2-3} + (Node to Root) & SERVER\_CHANGE\_REQUEST & 画面切り替え要求。 \\ \hline \hline + + & FRAMEBUFFER\_UPDATE\_REPLY & 画像データの要求。 \\ \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 \hline + + & FRAMEBUFFER\_UPDATE & 画像データ。EncodingTypeを持っている。 \\ \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} +\end{table} + +\subsection{MulticastQueue} +配信側の画面が更新されるとVNCServerから画像データがFRAME\_BUFFER\_UPDATEメッセージとして送られる。その際、画像データの更新を複数のNodeに同時に伝えるためにMulticast Queueというキューに画像データを格納する。 + \section{Multicastの導入}