comparison blank.html @ 8:0ca3c4d09044

update
author oc
date Tue, 09 Dec 2014 18:03:18 +0900
parents 50e97c0235df
children 7c15f8662c72
comparison
equal deleted inserted replaced
4:50e97c0235df 8:0ca3c4d09044
135 <li>同一ネットワークの外からTreeVNCに接続できるように</li> 135 <li>同一ネットワークの外からTreeVNCに接続できるように</li>
136 <li>遠距離なので、音声の共有も必要になる</li> 136 <li>遠距離なので、音声の共有も必要になる</li>
137 </ul> 137 </ul>
138 </div> 138 </div>
139 139
140
141 <div class='slide'> 140 <div class='slide'>
142 <h2>やってきたこと</h2> 141 <h2>やってきたこと</h2>
143 <p>共有する画面サイズを固定することができるオプションを追加しました。</p> 142 <ul>
144 <p>共有する画面サイズをホスト側で指定できるオプションを追加しているところです。</p> 143 <li>JavaKucheでLT</li>
145 </div> 144 <li>tree-find-listenerで出たエラーの解決</li>
146 145 <li>コンソール出力をファイル出力へ変更</li>
147 <div class='slide'> 146 <li>画面サイズ指定のユースケース図作成</li>
148 <h2>共有する画面サイズを固定する上での知識</h2> 147 </ul>
149 <h3>画面データ(全画面更新・差分更新)の送受信の流れ</h3> 148 </div>
150 <ul> 149
151 <li>framebufferUpdateというメッセージに付加される。</li> 150 <div class='slide'>
152 <li>クライアントからサーバへ、framebufferUpdateRequestを送信する。</li> 151 <h2>JavaKucheでのLT</h2>
153 <li>サーバからクライアントへ、framebufferUpdateが送信される。</li> 152 <ul>
154 </ul> 153 <li>LT用の資料の作成方法が全くわかっていなかった</li>
155 <h3>framebufferUpdateRequest</h3> 154 <li>発表時には、
156 <ul> 155 <strong>スクリーンに対する文字の大きさを確認する</strong>
157 <li>クライアントがサーバに送信してほしい範囲をリクエストすることができる。</li> 156 ことを忘れてはいけないという事を学びました</li>
158 <ul> 157 </ul>
159 <li>incremental : 全画面更新 or 差分更新</li> 158 </div>
160 <li>x-position : x座標</li> 159
161 <li>y-position : y座標</li> 160 <div class='slide'>
162 <li>width : 幅</li> 161 <h2>tree-find-listenerで出たエラーの原因</h2>
163 <li>height : 高さ</li> 162 <ul>
164 </ul> 163 <li>Multicast通信を行う際、InetAddressに、マルチキャストアドレス224.0.0.1を利用していた</li>
165 </ul> 164 <li><p>IPv4のアドレスを指定して、joinGroup()していたので、IPv6アドレスに対応しきれなかったんじゃないか</p></li>
166 </div> 165 <li><p>ネットワークインターフェースがMulticast通信に対応しているかどうかは、検知した段階でチェックしていた</p></li>
167 166 </ul>
168 <div class='slide'> 167 </div>
169 <h2>共有する画面サイズを固定するための変更</h2> 168
170 <h3>framebufferUpdateRequestの要素の変更</h3> 169 <div class='slide'>
171 <ul> 170 <h2>解決方法</h2>
172 <li>リクエストする画面サイズを1280 x 800としました。</li> 171 <ul>
173 </ul> 172 <li>joinGroupの引数として、SocketAddressを使用した(以前の引数は、InetAddress = 224.0.0.1でした)</li>
174 <h3>Timerの追加</h3> 173 <li>SocketAddressは、IPアドレス+ポート番号の組から生成される</li>
175 <ul> 174 <li>これでエラーは解決した</li>
176 <li>いままで全画面更新をしていたframebufferUpdateRequestを変更する。</li> 175 <li>ただ、ここで使用しているIPアドレスは224.0.0.1である</li>
177 <li>Requestする画面サイズを変更すると、framebufferUpdateが滞ってしまった。</li> 176 <li>IPv6でないのに、なぜエラーが出なくなったのかがわからない</li>
178 <li>tightVNCでも試したが、同じような症状が発生してしまう。</li> 177 </ul>
179 <li>定期的(100ミリ秒毎)に差分をRequestするよう、Timerを追加しました。</li> 178 </div>
180 </ul> 179
181 </div> 180 <div class='slide'>
182 181 <h2>コンソール出力をファイル出力へ変更</h2>
183 <div class='slide'> 182 <p>標準出力outを、ファイル出力outへと変更しました。</p>
184 <h2>画面サイズをホスト側で変更できるようにしたい</h2> 183
185 <h3>viewerのサイズをそのまま利用</h3> 184 <div class="code-frame">
186 <ul> 185 <div class="highlight">
187 <li>share buttonを押した時点のサイズを取得</li> 186 <pre><code class="avrasm">PrintStream <span class="keyword">out</span> = new PrintStream(<span class="string">"log/log.txt"</span>)<span class="comment">;</span>
188 <li>取得したサイズを、framebufferUpdateRequestに当てはめる</li> 187 System<span class="preprocessor">.setOut</span>(<span class="keyword">out</span>)<span class="comment">;</span>
189 <li>オプションでON/OFFを行う</li> 188 </code></pre></div></div>
190 </ul> 189
191 </div> 190 <p>これで、</p>
192 191
193 192 <div class="code-frame"><div class="highlight"><pre><code class="avrasm">System<span class="preprocessor">.out</span><span class="preprocessor">.println</span>(<span class="string">"hogehoge"</span>)<span class="comment">;</span>
194 <div class='slide'> 193 </code></pre></div></div>
195 <h2>画面サイズを変更できる枠を作成したい</h2> 194
196 <h3>枠をどのように使うか</h3> 195 <p>は、log/log.txtへと書きだされる。</p>
197 <ul> 196 </div>
198 <li>共有する画面サイズを指定するための枠を作りたい。</li>
199 <li>枠の内側を透明化する。</li>
200 <li>host側で、viewerを閉じる代わりに、この枠を表示する。</li>
201 <li>枠にボタンを設置しそれを押すと、rootに枠のサイズ(幅・高さ・x-position・y-position)が送信されるように。</li>
202 <li>rootからVNCServerへと取得したサイズを利用した、framebufferUpdateRequestを送信されるように。</li>
203 </ul>
204 </div>
205
206
207
208 <div class='slide'>
209 <h2>今後の課題</h2>
210 <h3>OS授業で実験した際に起こった問題</h3>
211 <ul>
212 <li>awdl0というネットワークインターフェースが起動しているとエラーが出た問題</li>
213 <li>lostparent時に落ちる問題</li>
214 <li>死んだ子nodeに接続しようとし失敗する問題</li>
215 </ul>
216 <h3>解決と今後の課題</h3>
217 <ul>
218 <li></li>
219 <li>枠の追加をし、host側で指定した画面サイズが共有できるようにする。</li>
220 <li>画面更新が頻繁な時、余計なアニメーションは読み飛ばすという処理の追加。</li>
221 </ul>
222 </div>
223
224 <div class='slide'>
225 <h2>グラフ</h2>
226 <ul>
227 <li>CheckDelayを利用したグラフを作成したい。</li>
228 <h3>作るとしたら、どういったグラフが良いか</h3>
229 <ul>
230 <li>更新される画面サイズの量と画面更新時の遅延が関係してるのではないかと考えている。</li>
231 <li>折れ線グラフを、木構造の各階層毎・各ネットワーク毎に作成する。</li>
232 <li>[ x軸 : 更新された画面のサイズ、y軸 : 遅延時間 ]</li>
233 <li>授業中に不具合が生じてしまって、あまりデータが取得できていない問題を解決・・・。</li>
234 </ul>
235 </ul>
236 </div>
237
238 <div class='slide'>
239 <h2>現在取得できているデータからのグラフ</h2>
240 <ul>
241 <li>取得できているデータが少ない。</li>
242 <li>画面サイズが大きいほど遅延が生じているという予想に反してバラバラになってる。</li>
243 <li>send checkDelayとreceive checkDelayの間に更新されているデータを、画面サイズとしている。</li>
244 <li>有線接続だと、checkDelayの間に画面サイズのデータが取得できない。</li>
245 </ul>
246 <center>
247 <object data="images/node1.pdf" width="600" height="600">
248 </center>
249 </div>
250
251 197
252 198
253 199
254 200
255 201