Mercurial > hg > Papers > 2019 > oshiro-thesis
comparison slide/slide.html @ 29:fc6174d8f6ab
update slide
author | e155702 |
---|---|
date | Wed, 20 Feb 2019 11:53:17 +0900 |
parents | 04d0b9bac8f1 |
children | fe9f7c5b5920 |
comparison
equal
deleted
inserted
replaced
28:04d0b9bac8f1 | 29:fc6174d8f6ab |
---|---|
84 | 84 |
85 <div class='slide '> | 85 <div class='slide '> |
86 <!-- === begin markdown block === | 86 <!-- === begin markdown block === |
87 | 87 |
88 generated by markdown/1.2.0 on Ruby 2.6.1 (2019-01-30) [x86_64-darwin17] | 88 generated by markdown/1.2.0 on Ruby 2.6.1 (2019-01-30) [x86_64-darwin17] |
89 on 2019-02-20 11:48:31 +0900 with Markdown engine kramdown (2.0.0) | 89 on 2019-02-20 11:52:55 +0900 with Markdown engine kramdown (2.0.0) |
90 using options {} | 90 using options {} |
91 --> | 91 --> |
92 <!-- <\!-- slideshow の command -\-> --> | 92 <!-- <\!-- slideshow の command -\-> --> |
93 <!-- slide.htmlでは通常キーでのコマンドが存在している --> | 93 <!-- slide.htmlでは通常キーでのコマンドが存在している --> |
94 | 94 |
101 <!-- d : ロゴ部分の選択…? --> | 101 <!-- d : ロゴ部分の選択…? --> |
102 <!-- [URL](http://~~~) --> | 102 <!-- [URL](http://~~~) --> |
103 <!-- [FILE](file:///Users/ryokka/~~~) --> | 103 <!-- [FILE](file:///Users/ryokka/~~~) --> |
104 <!-- slideshow build スライド.md -t s6cr --> | 104 <!-- slideshow build スライド.md -t s6cr --> |
105 | 105 |
106 | 106 <h2 id="section">画面配信システムの活用</h2> |
107 <!-- _S9SLIDE_ --> | |
108 <h1 id="section">画面配信システムの活用</h1> | |
109 <ul> | 107 <ul> |
110 <li>講義や発表の場では、プロジェクタが使用されることが多い。その場合、アクシデント発生の恐れがある</li> | 108 <li>講義や発表の場では、プロジェクタが使用されることが多い。その場合、アクシデント発生の恐れがある</li> |
111 <li>画面配信システム TreeVNC は、自身の PC 画面を他者の PC に表示するソフトウェアである</li> | 109 <li>画面配信システム TreeVNC は、自身の PC 画面を他者の PC に表示するソフトウェアである</li> |
112 <li>TreeVNC を使用することで、参加者は手元の PC を使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている</li> | 110 <li>TreeVNC を使用することで、参加者は手元の PC を使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている</li> |
113 </ul> | 111 </ul> |
114 | 112 |
115 | 113 </div> |
116 </div> | 114 <div class='slide '> |
117 <div class='slide '> | 115 <!-- _S9SLIDE_ --> |
118 <!-- _S9SLIDE_ --> | 116 |
119 <h1 id="treevnc-">TreeVNC の問題点</h1> | 117 <h2 id="treevnc-">TreeVNC の問題点</h2> |
120 <ul> | 118 <ul> |
121 <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> | 119 <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> |
122 <li>有線接続時のデータ転送方法だと、無線接続で送信するには大きすぎる</li> | 120 <li>有線接続時のデータ転送方法だと、無線接続で送信するには大きすぎる</li> |
123 </ul> | 121 </ul> |
124 | 122 |
125 | 123 </div> |
126 </div> | 124 <div class='slide '> |
127 <div class='slide '> | 125 <!-- _S9SLIDE_ --> |
128 <!-- _S9SLIDE_ --> | 126 |
129 <h1 id="section-1">目次</h1> | 127 <h2 id="section-1">目次</h2> |
130 <ul> | 128 <ul> |
131 <li>TreeVNC の概要 | 129 <li>TreeVNC の概要 |
132 <ul> | 130 <ul> |
133 <li>基本概念</li> | 131 <li>基本概念</li> |
134 <li>構造</li> | 132 <li>構造</li> |
140 <li>送信データの Blocking</li> | 138 <li>送信データの Blocking</li> |
141 </ul> | 139 </ul> |
142 </li> | 140 </li> |
143 </ul> | 141 </ul> |
144 | 142 |
145 | 143 </div> |
146 </div> | 144 <div class='slide '> |
147 <div class='slide '> | 145 <!-- _S9SLIDE_ --> |
148 <!-- _S9SLIDE_ --> | 146 |
149 <h1 id="treevnc">TreeVNC</h1> | 147 <h2 id="treevnc">TreeVNC</h2> |
150 <ul> | 148 <ul> |
151 <li>TreeVNC は本研究室で開発している画面配信システム</li> | 149 <li>TreeVNC は本研究室で開発している画面配信システム</li> |
152 <li>VNC (リモートデスクトップソフトウェア) を利用している</li> | 150 <li>VNC (リモートデスクトップソフトウェア) を利用している</li> |
153 <li>配信側の負荷を分散し、大人数での画面配信が可能</li> | 151 <li>配信側の負荷を分散し、大人数での画面配信が可能</li> |
154 </ul> | 152 </ul> |
155 | 153 |
156 | 154 </div> |
157 </div> | 155 <div class='slide '> |
158 <div class='slide '> | 156 <!-- _S9SLIDE_ --> |
159 <!-- _S9SLIDE_ --> | 157 |
160 <h1 id="vnc">VNC</h1> | 158 <h2 id="vnc">VNC</h2> |
161 <ul> | 159 <ul> |
162 <li>VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> | 160 <li>VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> |
163 <li>サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている</li> | 161 <li>サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている</li> |
164 </ul> | 162 </ul> |
165 | 163 |
166 <p><img src="./fig/vnc-crop.svg" alt="message" width="400" height="250" /></p> | 164 <p><img src="./fig/vnc-crop.svg" alt="message" width="400" height="250" /></p> |
167 | 165 |
168 | 166 </div> |
169 </div> | 167 <div class='slide '> |
170 <div class='slide '> | 168 <!-- _S9SLIDE_ --> |
171 <!-- _S9SLIDE_ --> | 169 |
172 <h1 id="rfb-">RFB プロトコル</h1> | 170 <h2 id="rfb-">RFB プロトコル</h2> |
173 <ul> | 171 <ul> |
174 <li>RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル</li> | 172 <li>RFB (Remote Frame Buffer) プロトコルは、自身の画面をネットワークを通じて送信し他者の画面に表示するプロトコル</li> |
175 <li>ユーザがいる (画面を表示される) 側と FrameBuffer への更新が行われる (自身の画面を送信する) 側に分かれ、それぞれを RFB クライアント、RFB サーバと呼ぶ</li> | 173 <li>ユーザがいる (画面を表示される) 側と FrameBuffer への更新が行われる (自身の画面を送信する) 側に分かれ、それぞれを RFB クライアント、RFB サーバと呼ぶ</li> |
176 <li>FrameBuffer は、メモリ上に置かれた画像データのこと</li> | 174 <li>FrameBuffer は、メモリ上に置かれた画像データのこと</li> |
177 </ul> | 175 </ul> |
178 | 176 |
179 | 177 </div> |
180 </div> | 178 <div class='slide '> |
181 <div class='slide '> | 179 <!-- _S9SLIDE_ --> |
182 <!-- _S9SLIDE_ --> | 180 |
183 <h1 id="treevnc--1">TreeVNC の構造</h1> | 181 <h2 id="treevnc--1">TreeVNC の構造</h2> |
184 <ul> | 182 <ul> |
185 <li>TreeVNC は接続してきたクライアントを Node とし、バイナリツリー状に管理する。</li> | 183 <li>TreeVNC は接続してきたクライアントを Node とし、バイナリツリー状に管理する。</li> |
186 <li>ルートのノードを Root Node と呼び、その下に新たな Node を接続していく</li> | 184 <li>ルートのノードを Root Node と呼び、その下に新たな Node を接続していく</li> |
187 <li>Root Node が参照している VNCServer から FrameBufferUpdate を取得し、各 Node に送信する</li> | 185 <li>Root Node が参照している VNCServer から FrameBufferUpdate を取得し、各 Node に送信する</li> |
188 <li>バイナリツリー状に接続することで、画像データのコピーを各 Node に負担させることができる</li> | 186 <li>バイナリツリー状に接続することで、画像データのコピーを各 Node に負担させることができる</li> |
189 </ul> | 187 </ul> |
190 | 188 |
191 <p><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="250" /></p> | 189 <p><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="250" /></p> |
192 | 190 |
193 | 191 </div> |
194 </div> | 192 <div class='slide '> |
195 <div class='slide '> | 193 <!-- _S9SLIDE_ --> |
196 <!-- _S9SLIDE_ --> | 194 |
197 <h1 id="section-2">共有画面切り替え</h1> | 195 <h2 id="section-2">共有画面切り替え</h2> |
198 <ul> | 196 <ul> |
199 <li>従来の VNC では、配信者が切り替わるたびに再起動、再接続を行う必要があった</li> | 197 <li>従来の VNC では、配信者が切り替わるたびに再起動、再接続を行う必要があった</li> |
200 <li>TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えが実行できる</li> | 198 <li>TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えが実行できる</li> |
201 <li>ShareScreen 実行後、Root Node に対し SERVER CHANGE REQUEST というメッセージが送信される。</li> | 199 <li>ShareScreen 実行後、Root Node に対し SERVER CHANGE REQUEST というメッセージが送信される。</li> |
202 <li>メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。</li> | 200 <li>メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。</li> |
203 </ul> | 201 </ul> |
204 | 202 |
205 | 203 </div> |
206 </div> | 204 <div class='slide '> |
207 <div class='slide '> | 205 <!-- _S9SLIDE_ --> |
208 <!-- _S9SLIDE_ --> | 206 |
209 <h1 id="treevnc--2">TreeVNC の問題点</h1> | 207 <h2 id="treevnc--2">TreeVNC の問題点</h2> |
210 <ul> | 208 <ul> |
211 <li>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</li> | 209 <li>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</li> |
212 <li>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</li> | 210 <li>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</li> |
213 <li>膨大なデータを無線接続で配信した場合、配信の遅延が大きくなる</li> | 211 <li>膨大なデータを無線接続で配信した場合、配信の遅延が大きくなる</li> |
214 </ul> | 212 </ul> |
215 | 213 |
216 | 214 </div> |
217 </div> | 215 <div class='slide '> |
218 <div class='slide '> | 216 <!-- _S9SLIDE_ --> |
219 <!-- _S9SLIDE_ --> | 217 |
220 <h1 id="multicast-">Multicast 対応</h1> | 218 <h2 id="multicast-">Multicast 対応</h2> |
221 <ul> | 219 <ul> |
222 <li>有線接続の Node で形成されたツリーに無線接続の Node を加えてしまうと通信の遅延が発生し、ツリー全体の配信遅延に繋がる</li> | 220 <li>有線接続の Node で形成されたツリーに無線接続の Node を加えてしまうと通信の遅延が発生し、ツリー全体の配信遅延に繋がる</li> |
223 <li>Multicast の実装を提案</li> | 221 <li>Multicast の実装を提案</li> |
224 <li>Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない</li> | 222 <li>Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない</li> |
225 <li>従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない</li> | 223 <li>従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない</li> |
226 </ul> | 224 </ul> |
227 | 225 |
228 <p><img src="./fig/interface-crop.svg" alt="message" width="400" height="250" /></p> | 226 <p><img src="./fig/interface-crop.svg" alt="message" width="400" height="250" /></p> |
229 | 227 |
230 | 228 </div> |
231 </div> | 229 <div class='slide '> |
232 <div class='slide '> | 230 <!-- _S9SLIDE_ --> |
233 <!-- _S9SLIDE_ --> | 231 |
234 <h1 id="blocking">Blocking</h1> | 232 <h2 id="blocking">Blocking</h2> |
235 <ul> | 233 <ul> |
236 <li>無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある</li> | 234 <li>無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある</li> |
237 <li>大きなデータを小さい単位に分割する手法</li> | 235 <li>大きなデータを小さい単位に分割する手法</li> |
238 </ul> | 236 </ul> |
239 | 237 |
240 | 238 </div> |
241 </div> | 239 <div class='slide '> |
242 <div class='slide '> | 240 <!-- _S9SLIDE_ --> |
243 <!-- _S9SLIDE_ --> | 241 |
244 <h1 id="section-3">まとめ</h1> | 242 <h2 id="section-3">まとめ</h2> |
245 <ul> | 243 <ul> |
246 <li>TreeVNC の改良と Multicast 対応のためのデータの Blocking を実装した。 | 244 <li>TreeVNC の改良と Multicast 対応のためのデータの Blocking を実装した。 |
247 <ul> | 245 <ul> |
248 <li>VNCServer 側が接続を切断した場合でもクライアントが正しく終了する様にした。</li> | 246 <li>VNCServer 側が接続を切断した場合でもクライアントが正しく終了する様にした。</li> |
249 <li>画面操作の許可を確認する authentication のポップアップが Root 側に表示されない様にした。</li> | 247 <li>画面操作の許可を確認する authentication のポップアップが Root 側に表示されない様にした。</li> |