view 2015/2015_12_22/slide.md @ 15:374be92a8d73

Add slides
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Sat, 23 Apr 2016 17:49:34 +0900
parents
children
line wrap: on
line source

title: 有線 LAN 上のPC画面配信システムTreeVNCの改良
author: Tatsuki IHA
profile:
lang: Japanese
code-engine: coderay

# 研究目的
授業やゼミ等で、それぞれがPC端末を持っている場合では、PCの機能を活かしたコミュニケーションが可能である。教員が操作する画面をそのまま学生に配信したり, ゼミなどで、発表する学生の画面を切り替えたりすることを可能にしたい。
画面配信システムTreeVNCは参加したクライアントをバイナリツリー状に接続し、配信コストを分散させる仕組みを取っている。そのため,多人数が参加しても処理性能が下がらない。また、ツリーのルートが参照しているVNC サーバーを変更することで、ケーブルの差し替えなしに画面の切替が可能となる。
本研究ではTreeVNCの改良として、複数のネットワークへの対応、 WANへの対応、 マルチディスプレイへの対応を行うとともに、TreeVNC 有用性を示すために画像データの遅延時間計測を行う

# 近況
- 発表資料
- multi display の対応

# 実装法
- 共有したいDisplay の左上と右下の座標を取得。
- その座標を SERVER\_CHANGE\_REQUEST メッセージに付加
- Root Node は 配信側の VNC サーバー に画面データを要求する FRAMEBUFFER\_UPDATE\_REPLY メッセージに送信された座標を付加する。
- VNC サーバーは要求された座標内の画像データを FRAMEBUFFER\_UPDATE メッセージで Root Node に送信する。 
<img src="./pictures/shareScreenToMultiDisplay.svg" alt="multiDisplay" width="400">

# 動かない
- 途中でFRAMEBUFFER\_UPDATE\_REPLY が送信されない
- ReceiverTaskのループが途中から止まっている

# 最近見つけたバグ?
- Root NodeがLost Childを検出してないっぽい

``` java
if (!isTreeManager) {
    ...
    echo.lostChild(..);
}
```