changeset 23:e18aecd16936

add new chapter4 and add coexistence img
author riono <e165729@ie.u-ryukyu.ac.jp>
date Fri, 14 Feb 2020 18:21:24 +0900
parents 0f95ad78a36c
children fce3f9c18d8d
files FinalThesis/chapter3.tex FinalThesis/chapter4.tex FinalThesis/fig/FrameUpdateRectangle.graffle FinalThesis/fig/FrameUpdateRectangle.pdf FinalThesis/fig/coexistence.graffle FinalThesis/fig/coexistence.pdf FinalThesis/main.pdf FinalThesis/main.tex riono-thesis.mm
diffstat 9 files changed, 42 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/FinalThesis/chapter3.tex	Fri Feb 14 03:36:26 2020 +0900
+++ b/FinalThesis/chapter3.tex	Fri Feb 14 18:21:24 2020 +0900
@@ -1,10 +1,22 @@
-\chapter{MalticastのためのBlockingの実装}
+\chapter{Multicastに向けたBlockingの実装}
 \label{chap:poordirection}
 
 \section{有線接続と無線LAN接続との違い}
-画像配信のデータ量は膨大なため、現在のTreeVNCでVNCサーバに無線LAN接続を行なった場合、画面配信の遅延が大きくなってしまう。
+現在のTreeVNCでは有線接続と無線LAN接続のどちらでも、VNCサーバから画面配信の提供を受けることが可能である。しかし画像配信のデータ量は膨大なため、現在のTreeVNCでVNCサーバに無線LAN接続を行なった場合、画面配信の遅延が大きくなってしまう。
+
+無線LAN接続時の場合でも画面切り替えの機能は有効であるため、VNCサーバ側が無線LANで接続を行い、クライアント側は有線接続を行うことで画面配信が可能となる。ここで、WifiのMulticastの機能を用いてクライアント側でもWifiを使用することが可能であると考えられる。Root Nodeは無線LANに対して、変更するUpdate RectangleをMulticastで一度だけ送信する。
+
+有線接続の場合は従来通り、VNCサーバ、Root Node、Nodeからなるバイナリツリー状に接続されるため、有線接続時と無線LAN接続時でのVNCサーバの接続方法を分割することが可能である(図\ref{fig:coexistence})。こうすることにより、新しいNodeが無線LAN接続であっても有線接続の木構造には影響を及ぼさない。
 
-この場合でも画面切り替えの機能は有効であるため、VNCサーバ(配信)側が無線LANで接続を行い、クライアント側は有線接続を行うことで画面配信が可能となる。ここで、WifiのMulticastの機能を用いてクライアント側でもWifiを使用することが可能であると考えられる。Root Nodeは無線LANに対して、変更するUpdate RectangleをMulticastで一度だけ送信する。
+\begin{figure}[htb] %PDF
+\begin{center}
+\includegraphics[scale=0.35]{fig/coexistence.pdf}
+\figcaption{接続方法の分割}
+\label{fig:coexistence}
+\end{center}
+\end{figure}
+
+\newpage
 
 WifiのMulticast Packetのサイズは64KByteが最大となっている。4Kディスプレイを例にとると、4Kディスプレイの大きさの画面更新には8MByte(画素数) \* 8Byte(色情報)で圧縮前で、64MByte程度となる。
 
@@ -32,12 +44,12 @@
     \label{tb:updateRectangle}
 \end{table}
 
-1つのUpdate Rectangleには複数のRectangleが入っており、さらに1つ1つのRectangleにはx,y座標や縦横幅、encoding type が含まれているRectangle Headerを持っている。ここではZRLEで圧縮されたRectangleが1つ、VNCサーバから送られてくる。RectangleにはZlib圧縮されたデータが、datelengthsと呼ばれる指定された長さだけ付いてくる。このデータは、さらに64x64のtileに分割されている\ref{fig:BlockingUpdateRectangle}中 Tile)。
+1つのUpdate Rectangleには複数のRectangleが入っており、さらに1つ1つのRectangleにはx,y座標や縦横幅、encoding type が含まれているRectangle Headerを持っている。ここではZRLEで圧縮されたRectangleが1つ、VNCサーバから送られてくる。RectangleにはZlib圧縮されたデータが、datelengthsと呼ばれる指定された長さだけ付いてくる。このデータは、さらに64x64のtileに分割されている(図\ref{fig:BlockingUpdateRectangle}中 Tile)。
 
 \newpage
 
 tile内はパレットなどがある場合があるが、通常はRun Length encodeされたRGBデータである。
-これまでのTreeVNCではVNCサーバから受け取ったRectangleを分割せずにZRLEEへ再構成を行なっていた。これをMluticastのためにデータを64KByteに収まる最大3つのRectangleに再構成する(図\ref{fig:BlockingUpdateRectangle})。この時に、tile内部は
+これまでのTreeVNCではVNCサーバから受け取ったRectangleを分割せずにZRLEEへ再構成を行なっていた。これをMluticastのためにデータを64KByteに収まる最大3つのRectangleに再構成する(図\ref{fig:BlockingUpdateRectangle})。この時にtile内部は変更する必要はないが、Rectangleの構成は変わる。ZLREを展開しつつ、Packetを構成する必要がある。
 
 
 \begin{figure}[htb] %PDF
@@ -49,10 +61,16 @@
 \end{figure}
 
 
-Zlibは丁度良い所で圧縮をflushする必要がある。
-このためには
+Zlibは丁度良い所で圧縮をflushする必要がある。このためには、ZlibのAPIを用いて、適当なタイミングでflushを呼ぶ。この時に1tileずつflushしてしまうと圧縮率を下げる可能性がある。
+
+64KByteのPacketの中には複数のtileが存在するが、連続してRectangleを構成する必要がある。3つの
+Rectangleの構成を下記に示す。
 
-
+\begin{itemize}
+\item 行の途中から始まり、行の最後までを構成するRectangle(図\ref{fig:BlockingUpdateRectangle}中 Phase0)
+\item 行の初めから最後までを構成するRectangle(図\ref{fig:BlockingUpdateRectangle}中 Phase1)
+\item 行の初めから、行の途中までを構成するRectangle(図\ref{fig:BlockingUpdateRectangle}中 Phase2)
+\end{itemize}
 
 
 \section{TileLoop}
@@ -60,4 +78,4 @@
 \section{Packet Lost}
 WiftのMulticast Packetは確実に送られることが保証されていない。データに通し番号をつけて、欠落を検出することはできるが、再送処理は複雑であることが予想される。そこで、一定時間ごとに全画面のデータを送信することによってPacket Lostしても画面共有に影響はないと考える。
 
-\section{木構造とマルチキャストの共存}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FinalThesis/chapter4.tex	Fri Feb 14 18:21:24 2020 +0900
@@ -0,0 +1,10 @@
+\chapter{TreeVNCのソースコードの修正改善}
+\label{chap:otherInplementation}
+
+\section{Gradle 6.1対応}
+
+
+\section{java9以降のRetinaAPI対応}
+
+
+\section{デバッグ環境の構築}
Binary file FinalThesis/fig/FrameUpdateRectangle.graffle has changed
Binary file FinalThesis/fig/FrameUpdateRectangle.pdf has changed
Binary file FinalThesis/fig/coexistence.graffle has changed
Binary file FinalThesis/fig/coexistence.pdf has changed
Binary file FinalThesis/main.pdf has changed
--- a/FinalThesis/main.tex	Fri Feb 14 03:36:26 2020 +0900
+++ b/FinalThesis/main.tex	Fri Feb 14 18:21:24 2020 +0900
@@ -62,12 +62,12 @@
 % 基礎概念
 \input{chapter2.tex}
 
-% 実験
+% Blockingの実装
 \input{chapter3.tex}
 
 
 % 他の論文との比較
-%\input{chapter4.tex}
+\input{chapter4.tex}
 
 % 今後の課題
 \input{future.tex}
--- a/riono-thesis.mm	Fri Feb 14 03:36:26 2020 +0900
+++ b/riono-thesis.mm	Fri Feb 14 18:21:24 2020 +0900
@@ -32,7 +32,9 @@
 </node>
 <node CREATED="1580927716648" ID="ID_4678920" MODIFIED="1580927734514" POSITION="right" TEXT="Multicast&#x306e;&#x5c0e;&#x5165;"/>
 <node CREATED="1580927735309" ID="ID_457187552" MODIFIED="1580927741703" POSITION="right" TEXT="Blocking&#x306e;&#x624b;&#x6cd5;">
-<node CREATED="1581580704582" ID="ID_1024302905" MODIFIED="1581581055406" TEXT="&#x6709;&#x7dda;&#x63a5;&#x7d9a;&#x3068;&#x7121;&#x7dda;&#x63a5;&#x7d9a;&#x306e;&#x9055;&#x3044;"/>
+<node CREATED="1581580704582" ID="ID_1024302905" MODIFIED="1581581055406" TEXT="&#x6709;&#x7dda;&#x63a5;&#x7d9a;&#x3068;&#x7121;&#x7dda;&#x63a5;&#x7d9a;&#x306e;&#x9055;&#x3044;">
+<node CREATED="1581581199650" ID="ID_1429909220" MODIFIED="1581581229650" TEXT="&#x6728;&#x69cb;&#x9020;&#x30de;&#x30eb;&#x30c1;&#x30ad;&#x30e3;&#x30b9;&#x30c8;&#x306e;&#x5171;&#x5b58;"/>
+</node>
 <node CREATED="1581581055942" ID="ID_630342983" MODIFIED="1581581076180" TEXT="UpdateRectangle&#x306e;&#x69cb;&#x6210;">
 <node CREATED="1581591179689" ID="ID_1334851042" MODIFIED="1581591185747" TEXT="&#x5148;&#x884c;&#x7814;&#x7a76;">
 <node CREATED="1581591189182" ID="ID_194833918" MODIFIED="1581591201877" TEXT="1&#x30e9;&#x30a4;&#x30f3;&#x3067;&#x534a;&#x5206;&#x3001;&#x534a;&#x5206;"/>
@@ -46,9 +48,6 @@
 <node CREATED="1581580289617" ID="ID_1404765388" MODIFIED="1581580714225" TEXT="ex:MulticastPut&#x306e;&#x30b3;&#x30fc;&#x30c9;&#x8cbc;&#x308b;?"/>
 </node>
 <node CREATED="1581590989597" ID="ID_1277778866" MODIFIED="1581590995262" TEXT="&#x30d1;&#x30b1;&#x30c3;&#x30c8;&#x30ed;&#x30b9;&#x30c8;&#x306b;&#x3064;&#x3044;&#x3066;"/>
-<node CREATED="1581581199650" ID="ID_1429909220" MODIFIED="1581581229650" TEXT="&#x6728;&#x69cb;&#x9020;&#x30de;&#x30eb;&#x30c1;&#x30ad;&#x30e3;&#x30b9;&#x30c8;&#x306e;&#x5171;&#x5b58;">
-<node CREATED="1581581792598" ID="ID_369116373" MODIFIED="1581581803640" TEXT="INITData&#x306f;Tree&#x3092;&#x5229;&#x7528;&#x3057;&#x3066;&#x9001;&#x4fe1;"/>
-</node>
 </node>
 <node CREATED="1581578986016" ID="ID_953146837" MODIFIED="1581582025419" POSITION="right" TEXT="TreeVNC&#x306e;&#x4fee;&#x6b63;">
 <node CREATED="1581579001483" ID="ID_460490271" MODIFIED="1581579012139" TEXT="Gradle&#x306e;&#x6700;&#x65b0;&#x7248;&#x5bfe;&#x5fdc;"/>