comparison Slide/slide.md @ 37:eb2dbbcaa96e

slide Rewriting and add images
author e165729 <e165729@ie.u-ryukyu.ac.jp>
date Tue, 28 May 2019 22:45:05 +0900
parents 322aad31566d
children 3df74d1e66f2
comparison
equal deleted inserted replaced
36:322aad31566d 37:eb2dbbcaa96e
26 - TreeVNC の改良 26 - TreeVNC の改良
27 - 送信データの Blocking 27 - 送信データの Blocking
28 --> 28 -->
29 29
30 ## 画面配信システムの活用 30 ## 画面配信システムの活用
31 - 講義や発表の場では、プロジェクタが使用されることが多い。その場合接続不良など、アクシデントが起きる恐れがある 31 - 講義やゼミではプロジェクタを使用して、先生が用意した資料を見ることが多い。その際接続不良など、物理的アクシデントが起きる恐れがある
32 - 画面配信システムで代用する場合がある。画面配信システムのとしてはAppleTVやUstreamなどが挙げられる
33 - AppleTVは画面共有先がTVに限定されている
34 - Ustreamは画面の切り替えを行うことができない
35
36 <center><img src="./fig/AppleTVRogo.svg " alt="message" width="200" height="200">
37 <img src="./fig/UstreamRogo.svg" alt="message" width="200" height="150"></center>
38
39
40 ## 画面配信システムの活用
32 - 画面配信システムTreeVNCは、自身のPC画面を他者のPCに表示するソフトウェアである 41 - 画面配信システムTreeVNCは、自身のPC画面を他者のPCに表示するソフトウェアである
42
33 - TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている 43 - TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている
34 44
35 45
36 ## TreeVNCの問題点 46 ## TreeVNCの問題点
37 - 画面配信は送信するデータ量が多いため、TreeVNCでは無線接続の場合、画面配信の遅延が大きくなってしまう 47 - 画面配信は送信するデータ量が多いため、TreeVNCでは無線接続の場合、画面配信の遅延が大きくなってしまう
46 ## VNC 56 ## VNC
47 - VNC(Virtual Network Computing)は、RFBプロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア 57 - VNC(Virtual Network Computing)は、RFBプロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア
48 - サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている 58 - サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている
49 - 全てのNodeが一台のサーバーに接続するため負担が大きい 59 - 全てのNodeが一台のサーバーに接続するため負担が大きい
50 60
51 <center><img src="./fig/vnc-crop.svg" alt="message" width="400" height="300"></center> 61 <center><img src="./fig/vnc-crop.svg" alt="message" width="500" height="400"></center>
52 62
53 ## RFB プロトコル 63 ## RFB プロトコル
54 - RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル 64 - RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル
55 - 他人のPC画面が表示される側と、FrameBufferへの更新が行われる(自身のPC画面を送信する)側に分かれ、それぞれをRFBクライアント、RFBサーバと呼ぶ 65 - 他人のPC画面が表示される側と、FrameBufferへの更新が行われる(自身のPC画面を送信する)側に分かれ、それぞれをRFBクライアント、RFBサーバと呼ぶ
56 - FrameBufferは、メモリ上に置かれた画像データのこと 66 - FrameBufferは、メモリ上に置かれた画像データのこと
59 - TreeVNCは接続してきたクライアントをNodeとし、木構造状に管理する 69 - TreeVNCは接続してきたクライアントをNodeとし、木構造状に管理する
60 - ルートのノードをRoot Nodeと呼び、その下に新たなNodeを接続していく 70 - ルートのノードをRoot Nodeと呼び、その下に新たなNodeを接続していく
61 - Root Nodeが参照しているVNCServerからFrameBufferUpdateを取得し、各Nodeに送信する 71 - Root Nodeが参照しているVNCServerからFrameBufferUpdateを取得し、各Nodeに送信する
62 - 木構造状に接続することで、画像データのコピーを各Nodeに負担させることができる 72 - 木構造状に接続することで、画像データのコピーを各Nodeに負担させることができる
63 73
64 <center><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="300"></center> 74 <center><img src="./fig/treevnc-crop.svg" alt="message" width="450" height="350"></center>
65 75
66 76
67 ## 木構造の再構成 77 ## 木構造の再構成
68 - Nodeが切断されたことを検知できなければ木構造が維持できない 78 - Nodeが切断されたことを検知できなければ木構造が維持できない
69 - Root Nodeが木構造のネットワークトポロジーを管理しているため、Root NodeにNodeの切断を知らせる必要がある 79 - Root Nodeが木構造のネットワークトポロジーを管理しているため、Root NodeにNodeの切断を知らせる必要がある
70 - 切断検知には画像データが入っているMulticastQueueを使用 80 - 切断検知には画像データが入っているMulticastQueueを使用
71 - MulticastQueueから画像データが一定時間取得されず、Timeoutを検知した場合切断したと判断する 81 - MulticastQueueから画像データが一定時間取得されず、Timeoutを検知した場合切断したと判断する
72 82
73 ## 画像データのエンコード方法 83 ## 画像データのエンコード方法
74 - TreeVNCではZRLEというエンコードタイプを元にした、ZRLEEというエンコードを用いて画像データを圧縮を行う 84 - TreeVNCではZRLEというエンコードタイプを元にした、ZRLEEというエンコードを用いて画像データを圧縮を行う
75 85 - ZRLEはZlibで圧縮されたデータとそのデータのバイト数がヘッダーとして送られる
86 - Zlibとはデータの可逆圧縮アルゴリズムが実装されているライブラリ
76 87
77 ## 画像データのエンコード方法 88 ## 画像データのエンコード方法
78 - ZRLEでは解凍時に必要な辞書データを書き出すことができない 89 - ZRLEでは解凍時に必要な辞書データを書き出すことができない
79 - ZRLEEはRoot Nodeで受け取ったZRLEのデータを一度解凍し、辞書データを付与して再圧縮している 90 - ZRLEEはRoot Nodeで受け取ったZRLEのデータを一度解凍し、辞書データを付与して再圧縮している
80 91
81 <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="400" height="300"></center> 92 <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450"></center>
82 93
83 ## 共有画面切り替え 94 ## 共有画面切り替え
84 - 従来のVNCでは、配信者が切り替わるたびに再起動、再接続を行う必要があった 95 - 従来のVNCでは、配信者が切り替わるたびに再起動、再接続を行う必要があった
85 - TreeVNCでは、画面上にあるShareScreenボタンを押すことで配信者の切り替えが実行できる 96 - TreeVNCでは、画面上にあるShareScreenボタンを押すことで配信者の切り替えが実行できる
86 - ShareScreen実行後、Root Nodeに対しSERVER CHANGE REQUESTというメッセージが送信される 97 - ShareScreen実行後、Root Nodeに対しSERVER CHANGE REQUESTというメッセージが送信される
95 - paket lossがあった場合、再送処理は複雑であると予想できるため、まずBlokingによる実験を行う 106 - paket lossがあった場合、再送処理は複雑であると予想できるため、まずBlokingによる実験を行う
96 107
97 ## RFBプロトコルのUpdateRectangleの構成 108 ## RFBプロトコルのUpdateRectangleの構成
98 - 1つのUpdateRectangleには複数のRectangleが格納されている 109 - 1つのUpdateRectangleには複数のRectangleが格納されている
99 - RectangleはZlibで圧縮されたデータが指定された長さだけ格納されており、そのデータはさらに64x64 ByteのTileに分割されている 110 - RectangleはZlibで圧縮されたデータが指定された長さだけ格納されており、そのデータはさらに64x64 ByteのTileに分割されている
111
112 ## RFBプロトコルのUpdateRectangleの構成
100 - 無線接続の場合、一度に送信できるデータ量が64KBしかないため、それに合わせて更新された部分のRectangleを分割する必要がある 113 - 無線接続の場合、一度に送信できるデータ量が64KBしかないため、それに合わせて更新された部分のRectangleを分割する必要がある
101 - Phase0 行の途中から始まる部分 114 - Phase0 行の途中から始まる部分
102 - Phase1 行の最初から最後までの部分 115 - Phase1 行の最初から最後までの部分
103 - Phase2 行の途中で終わる部分 116 - Phase2 行の途中で終わる部分
104 117
105 <center><img src="./fig/FrameUpdateRectangle.svg" alt="message" width="400" height="250"></center> 118 <center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="550" height="450"></center>
106 119
107 120
108 ## 木構造とマルチキャストの共存 121 ## 木構造とマルチキャストの共存
109 - ツリーに無線接続のNodeを加えてしまうと全体の配信遅延に繋がる 122 - ツリーに無線接続のNodeを加えてしまうと全体の配信遅延に繋がる
110 - 無線接続時のMulticastの実装を提案 123 - 無線接続時のMulticastの実装を提案
111 - Multicastならば、Serverからの送信は一度で済むため、ツリー構造の形成が必要ない 124 - Multicastならば、Serverからの送信は一度で済むため、ツリー構造の形成が必要ない
112 - 従って新しいNodeが無線接続であっても、有線接続のツリーの配信には影響が出ない 125 - 従って新しいNodeが無線接続であっても、有線接続のツリーの配信には影響が出ない
113 126
114 <center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350"></center> 127 <center><img src="./fig/interface-crop.svg" alt="message" width="500" height="450"></center>
115 128
116 129
117 ## まとめ 130 ## まとめ
118 - WifiでMulticast paketを利用する手法についての考察を行なった 131 - WifiでMulticast paketを利用する手法についての考察を行なった
119 - Wifiの速度とMulticastの信頼性が高ければ実用的である可能性がある 132 - Wifiの速度とMulticastの信頼性が高ければ実用的である可能性がある