comparison blank.html @ 20:e570366e59dc default tip

update
author oc
date Wed, 18 Feb 2015 19:14:00 +0900
parents 5a7504044713
children
comparison
equal deleted inserted replaced
19:5a7504044713 20:e570366e59dc
86 86
87 <div class='slide cover'> 87 <div class='slide cover'>
88 <table width="90%" height="90%" border="0" align="center"> 88 <table width="90%" height="90%" border="0" align="center">
89 <tr> 89 <tr>
90 <td><div align="center"> 90 <td><div align="center">
91 <h1><font color="#808db5">画面共有システムTreeVNCの研究</font></h1> 91 <h1><font color="#808db5">授業やゼミで使える</font></h1>
92 <h1><font color="#808db5">面共有システムTreeVNCの機能拡張</font></h1>
92 </div></td> 93 </div></td>
93 </tr> 94 </tr>
94 <tr> 95 <tr>
95 <td><div align="left"> 96 <td><div align="left">
96 Miwa Oshiro 97 Miwa Oshiro
111 </tr> 112 </tr>
112 </table> 113 </table>
113 </div> 114 </div>
114 115
115 <div class='slide'> 116 <div class='slide'>
116 <h2>研究目的</h2> 117 <h2>PCを用いた多人数でのコミュニケーションの充実</h2>
117 <p>多人数で意見を交わし合い、モチベーションを高めたい。</p> 118 <p>ゼミや授業等、ひとりひとりがPCを持っている状況で、<br>
118 <p>並列信頼研のゼミでは、それぞれの学生の研究目的や進捗状況等を共有する。<br> 119 PCの機能を活かしたコミュニケーションが可能である </p>
119 共有した上で、教授や他の学生からアドバイスやアイデアを頂く。</p> 120 <p>授業での教授のPC画面をリアルタイムで配信したり、<br>
120 <p>このように多人数で情報を共有し、意見・質問等を交わし合いたい。 </p> 121 ゼミ等で、発表する学生のPC画面を切り替えることを可能にしたい</p>
121 </div> 122 </div>
122 123
123 124 <div class='slide'>
124 <div class='slide'> 125 <h2>TreeVNCを用いたコミュニケーションの充実</h2>
125 <h2>研究目的</h2> 126 <p>TreeVNCを用いることによって、多人数でのPC端末を用いたコミュニケーションの充実をはかる</p>
126 <p>TreeVNCを用いることによって、多人数でのコミュニケーションの充実をはかる。</p>
127 <ul> 127 <ul>
128 <li>ひとつの画面を多人数で共有する</li> 128 <li>ひとつの画面を多人数で共有する</li>
129 <li>画面の切り替えをスムーズにする</li> 129 <li>画面の切り替えをスムーズにする</li>
130 <li>綺麗な画質をリアルタイムで配信する</li> 130 <li>綺麗な画質をリアルタイムで配信する</li>
131 </ul> 131 <li>遠隔地からでもコミュニケーションに参加できる</li>
132 <p>これらの機能に加えて、遠隔地からでもコミュニケーションに参加出来るようにしたい。</p> 132 </ul>
133 </div> 133 </div>
134 134
135 135
136 <div class='slide'> 136 <div class='slide'>
137 <h2>やってきたこと</h2> 137 <h2>TreeVNCとは</h2>
138 <ul> 138 <p>今研究室で開発している多人数向けの画面共有システム</p>
139 <li>信頼性の向上</li> 139 <p>TreeVNC 画面配信システムは、参加したクライアントをバイナリツリー状に接続し、<br>
140 <ul> 140 配信コストをクライアントに バランスさせる仕組みになっている<br>
141 <li>log in 時の問題解決</li> 141 なので、多人数が参加しても処理性能が下がらない</p>
142 <ul> 142 <p>また、RFB プロトコルを用いているので、<br>
143 <li>lostChild 機能追加</li> 143 ケーブルの差し替えなしに共有している画面の切り替えが可能になっている</p>
144 </ul> 144 <img src="images/20150218/TreeVNC.png">
145 </ul> 145 </div>
146 </ul> 146
147 </div> 147 <div class='slide'>
148 148 <h2>機能向上のために行った機能拡張</h2>
149 <div class='slide'> 149 <p>以下のTreeVNCの機能拡張を行った</p>
150 <h2>lostChild 機能追加</h2> 150 <h3>リファクタリング</h3>
151 <h3>lostChild 機能とは</h3> 151 <ul>
152 <ul> 152 <li>1台のPCで複数のTreeVNCの立ち上げを可能にした</li>
153 <li>lostParent と逆の方法で死んだ node に対する検知</li> 153 <li>複数のネットワークインタフェースでの使用が可能になった</li>
154 <li>親 node が timer-discard-thread で子 node が死んだことを検知</li> 154 <li>切断の検知方法を解決した</li>
155 <ul> 155 </ul>
156 <li>それぞれの子 node には myId がふられている(左子 : 0, 右子 : 1)</li> 156 <h3>新機能実装</h3>
157 </ul> 157 <ul>
158 <li>root node へ command(lostLeftClient/lostRightCliet) を送信</li> 158 <li>描画速度の向上</li>
159 <li>root node は、 nodeList の更新を行い、死んだ node の代わりに nodeList の最後の node を割り当てる</li> 159 <li>シングルディスプレイのみの表示を可能にした</li>
160 </ul> 160 <li>遠隔地からの接続を可能にした</li>
161 </div> 161 </ul>
162 162 </div>
163 <div class='slide'> 163
164 <h2>lostParent と lostChild の違い</h2> 164
165 <h3>lostParent との違い</h3> 165 <div class='slide'>
166 <ul> 166 <h2>動的なport番号の割り当て</h2>
167 <li>lostParent は、子 node が死んだ親に気づく</li> 167 <h3>問題点</h3>
168 <li>lostChild は、親 node が死んだ子に気づく</li> 168 <p>固定port番号の使用をしていたため、1台のPCで複数台のTreeVNCを立ち上げることができなかった</p>
169 </ul> 169 <h3>解決方法</h3>
170 <h3>なぜ lostParent を消したのか</h3> 170 <p>接続してくるnodeに対して、動的にport番号を割り当てる様に変更を行った<br>
171 <ul> 171 node間のメッセージ通信は、割り当てられたport番号を用いて行う様にした</p>
172 <li>lostParent 中、接続が一旦切れると timer-discard-thread に検知されてしまうようになってしまった</li> 172 <h3>結果</h3>
173 <li>lostParent の処理で新しく node が接続されても、その node は lostChild として消されてしまうようになってしまった</li> 173 <p>1台のPCで複数台のTreeVNCの立ち上げが可能となった<br>
174 <li>lostParent と lostChild は検知する場所が違うだけで、同じ動作をする</li> 174 メッセージ通信に、どのportが使用されているかを意識する必要がなくなった</p>
175 </ul> 175 </div>
176 </div> 176
177 177 <!--
178 <div class='slide'> 178 <div class='slide'>
179 <h2>lostParent と lostChild の違い</h2> 179 <h2>ホスト切替時の挙動の変更</h2>
180 <img src="images/20150203/LostParent.png" width="600" height="450"> 180 <h3>問題点</h3>
181 </div> 181 <p>画面配信側にもviewerが表示されてしまい、ビデオフィードバッグが配信されてしまっていた。</p>
182 182 <h3>解決方法と結果</h3>
183 <div class='slide'> 183 <p>配信側になった場合、viewerを閉じる様にし、配信者が切り替わると立ち上がるように変更した。<br>
184 <h2>lostParent と lostChild の違い</h2> 184 </p>
185 <img src="images/20150203/LostChild1.png" width="550" height="450"> 185 </div>
186 <img src="images/20150203/LostChild2.png" width="550" height="400"> 186 -->
187 </div> 187
188 188 <div class='slide'>
189 <div class='slide'> 189 <h2>Treeの構成の変更</h2>
190 <h2>ルータ超えの実装案</h2> 190 <h3>問題点</h3>
191 <h3>rootと遠隔地nodeの接続</h3> 191 <p>単一のネットワークインタフェースのみでしか使用できなかった<br>
192 <ul> 192 構成される木構造がひとつであった</p>
193 <li>遠隔地nodeはrootのグローバルアドレスを指定してpacketを送信する。</li> 193 <h3>解決方法</h3>
194 <li>rootはpacketからnodeのIPAddressとport番号を取得する。</li> 194 <p>ネットワークインタフェース毎に木構造を構成する様変更した</p>
195 <li>遠隔地nodeの情報をrootのnodeListに追加する。</li> 195 <h3>結果</h3>
196 <img src="images/20150127/connectRemoteNode.png" width="800" height="500"> 196 <p>有線・無線、両方でのTreeVNCの使用が可能になった</p>
197 </ul> 197 <img src="images/20150218/MultiNetworkTree.png">
198 </div> 198 </div>
199 199
200 200 <div class='slide'>
201 <div class='slide'> 201 <h2>マルチディスプレイ対応</h2>
202 <h2>これからやること</h2> 202 <h3>問題点</h3>
203 <ul> 203 <p>配信者の画面がマルチディスプレイだった場合、2画面のデータが配信されてしまう<br>
204 <li>ルータを越えた接続の実装</li> 204 2画面の表示はプレゼンテーションには向いていない</p>
205 <li>音声共有機能の実装</li> 205 <img src="images/20150218/multidisplay.png">
206 <ul> 206 <h3>解決方法</h3>
207 <li>node -&gt; root間の送信方法変更</li> 207 <p>配信側のシングルディスプレイサイズを取得し、画面データのフィルタリングを行った</p>
208 <li>root -&gt; 他nodeへの送信</li> 208 <h3>結果</h3>
209 <li>送信・受信の終了処理追加</li> 209 <p>シングルディスプレイのみの表示が可能となった</p>
210 </ul></li> 210 </div>
211 <li>卒論</li> 211
212 </ul> 212 <div class='slide'>
213 </div> 213 <h2>遠隔地から接続を可能にした</h2>
214 <h3>結果</h3>
215 <img src="images/20150218/remoteTreeVnc.png">
216 </div>
217
218 <div class='slide'>
219 <h2>遠隔地からの接続の実装方法</h2>
220 <h3>実装方法</h3>
221 <ul>
222 <li>遠隔地 node から接続したい root に対して接続を要求する WHERE_TO_CONNECT_message を送信する</li>
223 <li>root は、遠隔地 node に対して接続先を含む CONNECT_TO message を送信する</li>
224 <li> 遠隔地 node は指定された接続先に対して接続しに行く </li>
225 </ul>
226 <img src="images/20150218/remoteVncConnect.png">
227 </div>
228
229
230 <div class='slide'>
231 <h2>その他の問題解決</h2>
232 <h3>ビデオフィードバッグを非表示にした</h3>
233 <h3>切断時の検知方法の変更</h3>
234 <h3>QUALITYモードとSPEEDモード</h3>
235 <h3>表示画面サイズ調整機能</h3>
236 </div>
237
238
239 <div class='slide'>
240 <h2>今後の課題</h2>
241 <h3>音声機能の追加</h3>
242 <h3>記録機能の追加</h3>
243 <h3>意見・質問等の共有機能の追加</h3>
244 </div>
245
246
247
214 248
215 </div> <!-- presentation --> 249 </div> <!-- presentation -->
216 </body> 250 </body>
217 </html> 251 </html>