comparison Slide/slide.html @ 34:5bfea3be9c5f

update slide ~13p
author e165729 <e165729@ie.u-ryukyu.ac.jp>
date Sun, 26 May 2019 18:01:14 +0900
parents 762fe0e406e4
children ebb35af869a7
comparison
equal deleted inserted replaced
33:762fe0e406e4 34:5bfea3be9c5f
105 105
106 106
107 <!-- _S9SLIDE_ --> 107 <!-- _S9SLIDE_ -->
108 <h2 id="画面配信システムの活用">画面配信システムの活用</h2> 108 <h2 id="画面配信システムの活用">画面配信システムの活用</h2>
109 <ul> 109 <ul>
110 <li> 110 <li>講義や発表の場では、プロジェクタが使用されることが多い。その場合接続不良など、アクシデントが起きる恐れがある</li>
111 <p>講義や発表の場では、プロジェクタが使用されることが多い。その場合接続不良など、アクシデントが起きる恐れがある</p> 111 <li>画面配信システムTreeVNCは、自身のPC画面を他者のPCに表示するソフトウェアである</li>
112 </li> 112 <li>TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている</li>
113 <li>
114 <p>画面配信システムTreeVNCは、自身のPC画面を他者のPCに表示するソフトウェアである</p>
115 </li>
116 <li>
117 <p>TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている</p>
118 </li>
119 </ul> 113 </ul>
120 114
121 115
122 116
123 </div> 117 </div>
124 118
125 <div class='slide'> 119 <div class='slide'>
126 <!-- _S9SLIDE_ --> 120 <!-- _S9SLIDE_ -->
127 <h2 id="treevncの現状">TreeVNCの現状</h2> 121 <h2 id="treevncの現状">TreeVNCの現状</h2>
128
129 <ul> 122 <ul>
130 <li>問題点 123 <li>問題点
131 <ul> 124 <ul>
132 <li>画面配信は送信するデータ量が多いため、TreeVNCでは無線接続の場合、画面配信の遅延が大きくなってしまう</li> 125 <li>画面配信は送信するデータ量が多いため、TreeVNCでは無線接続の場合、画面配信の遅延が大きくなってしまう</li>
133 <li>現在のTreeVNCのデータ転送方法だと、無線接続で送信するには大きすぎる</li> 126 <li>現在のTreeVNCのデータ転送方法だと、無線接続で送信するには大きすぎる</li>
155 148
156 <div class='slide'> 149 <div class='slide'>
157 <!-- _S9SLIDE_ --> 150 <!-- _S9SLIDE_ -->
158 <h2 id="treevnc">TreeVNC</h2> 151 <h2 id="treevnc">TreeVNC</h2>
159 <ul> 152 <ul>
160 <li> 153 <li>TreeVNC は本研究室で開発している画面配信システム</li>
161 <p>TreeVNC は本研究室で開発している画面配信システム</p> 154 <li>VNC(リモートデスクトップソフトウェア)を利用している</li>
162 </li> 155 <li>木構造の接続方式を採用し、配信側の負荷を分散し大人数での画面配信が可能</li>
163 <li>
164 <p>VNC(リモートデスクトップソフトウェア)を利用している</p>
165 </li>
166 <li>
167 <p>木構造の接続方式を採用し、配信側の負荷を分散し大人数での画面配信が可能</p>
168 </li>
169 </ul> 156 </ul>
170 157
171 158
172 159
173 </div> 160 </div>
189 176
190 <div class='slide'> 177 <div class='slide'>
191 <!-- _S9SLIDE_ --> 178 <!-- _S9SLIDE_ -->
192 <h2 id="rfb-プロトコル">RFB プロトコル</h2> 179 <h2 id="rfb-プロトコル">RFB プロトコル</h2>
193 <ul> 180 <ul>
194 <li> 181 <li>RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル</li>
195 <p>RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル</p> 182 <li>他人のPC画面が表示される側と、FrameBufferへの更新が行われる(自身のPC画面を送信する)側に分かれ、それぞれをRFBクライアント、RFBサーバと呼ぶ</li>
196 </li> 183 <li>FrameBufferは、メモリ上に置かれた画像データのこと</li>
197 <li>
198 <p>他人のPC画面が表示される側と、FrameBufferへの更新が行われる(自身のPC画面を送信する)側に分かれ、それぞれをRFBクライアント、RFBサーバと呼ぶ</p>
199 </li>
200 <li>
201 <p>FrameBufferは、メモリ上に置かれた画像データのこと</p>
202 </li>
203 </ul> 184 </ul>
204 185
205 186
206 187
207 </div> 188 </div>
253 234
254 <div class='slide'> 235 <div class='slide'>
255 <!-- _S9SLIDE_ --> 236 <!-- _S9SLIDE_ -->
256 <h2 id="共有画面切り替え">共有画面切り替え</h2> 237 <h2 id="共有画面切り替え">共有画面切り替え</h2>
257 <ul> 238 <ul>
258 <li>従来の VNC では、配信者が切り替わるたびに再起動、再接続を行う必要があった</li> 239 <li>従来のVNCでは、配信者が切り替わるたびに再起動、再接続を行う必要があった</li>
259 <li>TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えが実行できる</li> 240 <li>TreeVNCでは、画面上にあるShareScreenボタンを押すことで配信者の切り替えが実行できる</li>
260 <li>ShareScreen 実行後、Root Node に対し SERVER CHANGE REQUEST というメッセージが送信される。</li> 241 <li>ShareScreen実行後、Root Nodeに対しSERVER CHANGE REQUESTというメッセージが送信される</li>
261 <li>メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。</li> 242 <li>メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバーと通信を行い、切り替え作業に入る</li>
262 </ul> 243 </ul>
263 244
264 245
265 246
266 </div> 247 </div>
267 248
268 <div class='slide'> 249 <div class='slide'>
269 <!-- _S9SLIDE_ --> 250 <!-- _S9SLIDE_ -->
270 <h2 id="有線接続との接続の違い">有線接続との接続の違い</h2> 251 <h2 id="有線接続との接続の違い">有線接続との接続の違い</h2>
252 <ul>
253 <li>現状のTreeVNCでは画面配信のデータ量は多く、無線LAN接続を行うと画面配信の遅延が大きくなる</li>
254 <li>WifiのMulticast機能を利用し、UpdateRectangleを一度だけ送信することで無線LAN接続でも十分に遅延が抑えられると考える</li>
255 <li>HDや4kの画面更新には64MB程度となり、これを圧縮しつつwifiのMulticast paketの最大サイズ64KBに変換、送信する必要がある</li>
256 <li>paket lossがあった場合、再送処理は複雑であると予想できるため、まずBlokingによる実験を行う</li>
257 </ul>
271 258
272 259
273 260
274 </div> 261 </div>
275 262
276 <div class='slide'> 263 <div class='slide'>
277 <!-- _S9SLIDE_ --> 264 <!-- _S9SLIDE_ -->
278 <h2 id="rfbプロトコルのupdaterectangleの構成">RFBプロトコルのUpdateRectangleの構成</h2> 265 <h2 id="rfbプロトコルのupdaterectangleの構成">RFBプロトコルのUpdateRectangleの構成</h2>
279 <ul> 266 <ul>
280 <li>無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある</li> 267 <li>1つのUpdateRectangleには複数のRectangleが格納されている</li>
281 <li>大きなデータを小さい単位に分割する 268 <li>RectangleはZlibで圧縮されたデータが指定された長さだけ格納されており、そのデータはさらに64x64 ByteのTileに分割されている</li>
282 <ul> 269 <li>無線接続の場合、一度に送信できるデータ量が64KBしかないため、それに合わせて更新された部分のRectangleを分割する必要がある
283 <li>更新が行われた部分を1行ずつ圧縮していく</li> 270 <ul>
284 <li>書き込みのために用意した関数に入る限界値まで圧縮を行ない、関数に書き込む</li> 271 <li>Phase0 行の途中から始まる部分</li>
272 <li>Phase1 行の最初から最後までの部分</li>
273 <li>Phase2 行の途中で終わる部分</li>
285 </ul> 274 </ul>
286 </li> 275 </li>
287 </ul> 276 </ul>
288 277
289 <center><img src="./fig/FrameUpdateRectangle.svg" alt="message" width="400" height="250" /></center> 278 <center><img src="./fig/FrameUpdateRectangle.svg" alt="message" width="400" height="250" /></center>
294 283
295 <div class='slide'> 284 <div class='slide'>
296 <!-- _S9SLIDE_ --> 285 <!-- _S9SLIDE_ -->
297 <h2 id="木構造とマルチキャストの共存">木構造とマルチキャストの共存</h2> 286 <h2 id="木構造とマルチキャストの共存">木構造とマルチキャストの共存</h2>
298 <ul> 287 <ul>
299 <li>ツリーに無線接続の Node を加えてしまうと配信の遅延に繋がる</li> 288 <li>ツリーに無線接続のNodeを加えてしまうと全体の配信遅延に繋がる</li>
300 <li>Multicast の実装を提案</li> 289 <li>無線接続時のMulticastの実装を提案</li>
301 <li>Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない</li> 290 <li>Multicastならば、Serverからの送信は一度で済むため、ツリー構造の形成が必要ない</li>
302 <li>従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない</li> 291 <li>従って新しいNodeが無線接続であっても、有線接続のツリーの配信には影響が出ない</li>
303 </ul> 292 </ul>
304 293
305 <center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350" /></center> 294 <center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350" /></center>
306 295
307 296
310 299
311 <div class='slide'> 300 <div class='slide'>
312 <!-- _S9SLIDE_ --> 301 <!-- _S9SLIDE_ -->
313 <h2 id="まとめ">まとめ</h2> 302 <h2 id="まとめ">まとめ</h2>
314 <ul> 303 <ul>
315 <li>TreeVNC の改良と Multicast 対応のためのデータの Blocking を実装した。 304 <li></li>
316 <ul> 305 <li>
317 <li>VNCServer 側が接続を切断した場合でもクライアントが正しく終了する様にした。</li> 306 <p>Multicast対応のためのデータのBlockingを実装した</p>
318 <li>画面操作の許可を確認する authentication のポップアップが Root 側に表示されない様にした。</li> 307
319 <li>データの Blocking を行うことにより、無線接続での Multicast 対応を行えるようにした。</li> 308 <ul>
309 <li>データの Blocking を行うことにより、無線接続での Multicast 対応を行えるようにした</li>
320 </ul> 310 </ul>
321 </li> 311 </li>
322 <li>今後の課題 312 <li>今後の課題
323 <ul> 313 <ul>
324 <li>Multicast の実装</li> 314 <li>Multicast の実装</li>