Mercurial > hg > Papers > 2019 > riono-sigos
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の信頼性が高ければ実用的である可能性がある |