annotate Slide/slide.md @ 45:ddd0b2232465

update slide 11p
author e165729 <e165729@ie.u-ryukyu.ac.jp>
date Wed, 29 May 2019 22:36:31 +0900
parents 2709c4da4ba9
children 4a8bb459e283
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 title: 画面配信システム TreeVNC のマルチキャストの導入
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 author: Ryo Yasuda, Shinji Kono
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 profile: 並列信頼研
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 lang: Japanese
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 code-engine: coderay
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 <!-- <\!-- slideshow の command -\-> -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 <!-- slide.htmlでは通常キーでのコマンドが存在している -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 <!-- p,a,s : スライドを自動送り(1,2...) -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 <!-- : スライドを逆方向に自動送り(...,2,1) -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 <!-- n : Page数を on/off -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 <!-- f : 右下ロゴの on/off -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 <!-- t : slide.html.pdf に変更 -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 <!-- c : 右下スライド移動用UIの on/off -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 <!-- d : ロゴ部分の選択…? -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 <!-- [URL](http://~~~) -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 <!-- [FILE](file:///Users/ryokka/~~~) -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 <!-- slideshow build スライド.md -t s6cr -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 <!-- ## 目次
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 - **TreeVNC の概要**
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 - **基本概念**
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 - **構造**
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 - 研究内容
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 - TreeVNC の改良
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 - 送信データの Blocking
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 -->
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
30 ## 画面配信システムの活用
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
31 - 講義やゼミではプロジェクタを使用して、先生が用意した資料を見ることが多い。その際接続不良など、物理的アクシデントが起きる恐れがある
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
32 - 画面配信システムで代用する場合がある。画面配信システムのとしてはAppleTVやUstreamなどが挙げられる
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
33 - AppleTVは画面共有先がTVに限定されている
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
34 - Ustreamは画面の切り替えを行うことができない
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
35
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
36 <center><img src="./fig/AppleTVRogo.svg " alt="message" width="200" height="200">
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
37 <img src="./fig/UstreamRogo.svg" alt="message" width="200" height="150"></center>
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
38
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
39
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
40 ## 画面配信システムの活用
38
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
41 - 画面配信システムTreeVNCは、自身のPC画面を他者のPCと共有できるソフトウェアである
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
42 - javaで書かれているためOSに依存せず、物理的な制限なしに使用可能
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
43 - TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
44
42
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
45 ## VNC
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
46 - VNC(Virtual Network Computing)は、RFB(Remote Frame Buffer)プロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
47 - サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
48 - 全てのNodeが一台のサーバーに接続するため負担が大きい
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
49
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
50 <center><img src="./fig/vnc-crop.svg" alt="message" width="450" height="350"></center>
42
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
51
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
52
38
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
53 ## TreeVNCとは
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
54 - TreeVNCは本研究室で開発している画面配信システム
42
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
55 - 木構造の接続方式によりNode間で画像データのやりとりを行う
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
56 - 各ノードが2回ずつ画像データをコピーすることで配信側の負荷を分散し、大人数での画面配信が可能
38
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
57
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
58 <center><img src="./fig/treevnc-crop.svg" alt="message" width="450" height="350"></center>
3df74d1e66f2 fix slide introduction
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
59
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
60
39
a36e5abf494d update slide ~5p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 38
diff changeset
61 ## 本研究の概要
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
62 - 画面配信は送信するデータ量が多いため、TreeVNCでは無線接続の場合、画面配信の遅延が大きくなってしまう
39
a36e5abf494d update slide ~5p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 38
diff changeset
63 - 現在のTreeVNCのデータ転送方法だと、無線接続で送信するには大きすぎる
40
b48db21c9d66 comment out to
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
64 - 本研究ではMulticastを導入することで、Wifi環境下における画面配信の遅延対策の検討を行なった
39
a36e5abf494d update slide ~5p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 38
diff changeset
65
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
66 (途中に無線接続,全体delay図)
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
67
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
68 ## TreeVNCの画面配信方法
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
69 - RFB (Remote Frame Buffer) プロトコルを利用し、自身の画面をネットワークを通じて送信し他者の画面に表示する
42
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
70 - 他人のPC画面が表示される側と、FrameBufferへの更新が行われる(自身のPC画面を送信する)側に分かれ、それぞれをRFBクライアント、RFBサーバと呼ぶ
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
71 - FrameBufferは、メモリ上に置かれた画像データのこと
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
72 - RFBクライアントに送信するデータは画面全てではなく、変更があった部分のFrameBufferを送る
42
eeb79bcffe76 update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 41
diff changeset
73
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
74
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
75 ## Multicastによる画面配信
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
76 - 配信PC画面の変更があった部分のみをUpdateRectangleとしてマルチキャストで一度のみ送信する
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
77 - RFBプロトコルでは画像データをRectangleで送信しているため、UpdateRectangleには複数のRectangleが入るような構成をとる
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
78
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
79 <center><img src="./fig/UpdateRectangleStruct.svg" alt="message" width="450" height="350"></center>
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
80
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
81 ## Multicastの問題点
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
82 - wifiのMulticast Paketの最大サイズは64KBである
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
83 - HDや4Kの画面を更新するためのサイズは大きい
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
84 - 4Kの場合8MB x 8Byteで64MB
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
85 - 送信データの圧縮と64KB毎のパケット変換が必要
39
a36e5abf494d update slide ~5p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 38
diff changeset
86
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
87 ## RFBプロトコルのエンコードタイプ
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
88 - ZRLEとはRFBプロトコルでサポートされているエンコードタイプの1つ
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
89 - zlib圧縮、タイリング、run lengthエンコードを組み合わせている
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
90 - 解凍に必要な辞書を書き出すことができないため、途中からデータを受け取ると正確に解凍できなくなる
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
91
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
92 (タイリングとrun lengthの説明図)
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
93
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
94 ## TreeVNCの画像データ圧縮方法
45
ddd0b2232465 update slide 11p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 44
diff changeset
95 - ZRLEを改変したZRLEEを使用している
ddd0b2232465 update slide 11p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 44
diff changeset
96 - 辞書の書き出しを行えるようにし、データを途中から受け取っても解凍することが可能
ddd0b2232465 update slide 11p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 44
diff changeset
97 - ZRLEを一度解凍し、辞書を書き出して再圧縮を行う
41
565b8345d7ef update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 40
diff changeset
98
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
99 <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450"></center>
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
100
41
565b8345d7ef update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 40
diff changeset
101 ## ブロッキング
565b8345d7ef update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 40
diff changeset
102
44
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
103
2709c4da4ba9 update slide ~10p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 43
diff changeset
104 ## paket lossする可能性
43
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
105
444d5f272a92 update slide 8p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 42
diff changeset
106
41
565b8345d7ef update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 40
diff changeset
107
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108
40
b48db21c9d66 comment out to
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
109 <!-- ## TreeVNC の構造
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
110 - TreeVNCは接続してきたクライアントをNodeとし、木構造状に管理する
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
111 - ルートのノードをRoot Nodeと呼び、その下に新たなNodeを接続していく
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 - Root Nodeが参照しているVNCServerからFrameBufferUpdateを取得し、各Nodeに送信する
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
113 - 木構造状に接続することで、画像データのコピーを各Nodeに負担させることができる
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
115 <center><img src="./fig/treevnc-crop.svg" alt="message" width="450" height="350"></center>
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
117
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
118 ## 木構造の再構成
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
119 - Nodeが切断されたことを検知できなければ木構造が維持できない
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
120 - Root Nodeが木構造のネットワークトポロジーを管理しているため、Root NodeにNodeの切断を知らせる必要がある
35
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
121 - 切断検知には画像データが入っているMulticastQueueを使用
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
122 - MulticastQueueから画像データが一定時間取得されず、Timeoutを検知した場合切断したと判断する
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
123
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
124 ## 画像データのエンコード方法
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
125 - TreeVNCではZRLEというエンコードタイプを元にした、ZRLEEというエンコードを用いて画像データを圧縮を行う
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
126 - ZRLEはZlibで圧縮されたデータとそのデータのバイト数がヘッダーとして送られる
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
127 - Zlibとはデータの可逆圧縮アルゴリズムが実装されているライブラリ
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
128
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
129 ## 画像データのエンコード方法
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
130 - ZRLEでは解凍時に必要な辞書データを書き出すことができない
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
131 - ZRLEEはRoot Nodeで受け取ったZRLEのデータを一度解凍し、辞書データを付与して再圧縮している
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
132
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
133 <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450"></center>
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
134
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 ## 共有画面切り替え
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
136 - 従来のVNCでは、配信者が切り替わるたびに再起動、再接続を行う必要があった
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
137 - TreeVNCでは、画面上にあるShareScreenボタンを押すことで配信者の切り替えが実行できる
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
138 - ShareScreen実行後、Root Nodeに対しSERVER CHANGE REQUESTというメッセージが送信される
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
139 - メッセージを受け取ったRoot Nodeは配信を希望しているNodeのVNCサーバーと通信を行い、切り替え作業に入る
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
36
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
141 <center><img src="./fig/ShareScreenSS.svg" alt="message" width="400" height="300"></center>
322aad31566d fix slide and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
142
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
143 ## 有線接続との接続の違い
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
144 - 現状のTreeVNCでは画面配信のデータ量は多く、無線LAN接続を行うと画面配信の遅延が大きくなる
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
145 - WifiのMulticast機能を利用し、UpdateRectangleを一度だけ送信することで無線LAN接続でも十分に遅延が抑えられると考える
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
146 - HDや4kの画面更新には64MB程度となり、これを圧縮しつつwifiのMulticast paketの最大サイズ64KBに変換、送信する必要がある
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
147 - paket lossがあった場合、再送処理は複雑であると予想できるため、まずBlokingによる実験を行う
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
148
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
149 ## RFBプロトコルのUpdateRectangleの構成
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
150 - 1つのUpdateRectangleには複数のRectangleが格納されている
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
151 - RectangleはZlibで圧縮されたデータが指定された長さだけ格納されており、そのデータはさらに64x64 ByteのTileに分割されている
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
152
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
153 ## RFBプロトコルのUpdateRectangleの構成
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
154 - 無線接続の場合、一度に送信できるデータ量が64KBしかないため、それに合わせて更新された部分のRectangleを分割する必要がある
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
155 - Phase0 行の途中から始まる部分
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
156 - Phase1 行の最初から最後までの部分
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
157 - Phase2 行の途中で終わる部分
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
158
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
159 <center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="550" height="450"></center>
33
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
160
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
161
762fe0e406e4 add new imange and update slide
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
162 ## 木構造とマルチキャストの共存
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
163 - ツリーに無線接続のNodeを加えてしまうと全体の配信遅延に繋がる
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
164 - 無線接続時のMulticastの実装を提案
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
165 - Multicastならば、Serverからの送信は一度で済むため、ツリー構造の形成が必要ない
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
166 - 従って新しいNodeが無線接続であっても、有線接続のツリーの配信には影響が出ない
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167
37
eb2dbbcaa96e slide Rewriting and add images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 36
diff changeset
168 <center><img src="./fig/interface-crop.svg" alt="message" width="500" height="450"></center>
40
b48db21c9d66 comment out to
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 39
diff changeset
169 -->
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 ## まとめ
35
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
172 - WifiでMulticast paketを利用する手法についての考察を行なった
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
173 - Wifiの速度とMulticastの信頼性が高ければ実用的である可能性がある
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
174 - Blockingは実装中、再圧縮の時間は実用的な時間で済むと予想されている
34
5bfea3be9c5f update slide ~13p
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
175
32
6da32e2f11c2 add Slide and images
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 - 今後の課題
35
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
177 - Blockingの実装
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
178 - WifiのMulticast paket lossは接続環境や状況に依存すると思われるためさらなる実験が必要
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
179 - Node接続じの有線接続と無線接続の判断、区別処理の実装
ebb35af869a7 slide completed once
e165729 <e165729@ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
180