# HG changeset patch # User Tatsuki IHA # Date 1453898555 -32400 # Node ID bb0326d253f1fc5d827e1314cb037bce28a9dc88 # Parent 4af284fa50717b7864e21708febcfac164e5390c Update diff -r 4af284fa5071 -r bb0326d253f1 2016/2016_01_12/slide.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2016/2016_01_12/slide.md Wed Jan 27 21:42:35 2016 +0900 @@ -0,0 +1,5 @@ +title: 有線 LAN 上のPC画面配信システムTreeVNCの改良 +author: Tatsuki IHA +profile: +lang: Japanese +code-engine: coderay diff -r 4af284fa5071 -r bb0326d253f1 2016/2016_01_19/slide.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2016/2016_01_19/slide.md Wed Jan 27 21:42:35 2016 +0900 @@ -0,0 +1,25 @@ +title: 有線 LAN 上のPC画面配信システムTreeVNCの改良 +author: Tatsuki IHA +profile: +lang: Japanese +code-engine: coderay +# 研究目的 +授業やゼミ等で、それぞれがPC端末を持っている場合では、PCの機能を活かしたコミュニケーションが可能である。教員が操作する画面をそのまま学生に配信したり, ゼミなどで、発表する学生の画面を切り替えたりすることを可能にしたい。 +画面配信システムTreeVNCは参加したクライアントをバイナリツリー状に接続し、配信コストを分散させる仕組みを取っている。そのため,多人数が参加しても処理性能が下がらない。また、ツリーのルートが参照しているVNC サーバーを変更することで、ケーブルの差し替えなしに画面の切替が可能となる。 +本研究ではTreeVNCの改良として、複数のネットワークへの対応、 WANへの対応、 マルチディスプレイへの対応を行うとともに、TreeVNC 有用性を示すために画像データの遅延時間計測を行う + +# 近況 +- multi display が途中から動かなくなる原因の特定 + +# 動かなくなる原因 +- VNC サーバー から画像データを取得する FrameBufferUpdateReqeust Message を send する Thread が途中から止まっている + +# 詳細 +- FrameBufferUpdateReqeust Message を send するのは ReceiverTask というデータを受け取っていろいろやってくれるクラスでやってる +- 止まる場所は Reader からデータを受け取るときに返ってこない(socketRead0) + +# 次 +- そつろん +- いろいろバグ修正 + - lostChild + - Root Node のserver Change diff -r 4af284fa5071 -r bb0326d253f1 2016/2016_01_26/slide.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2016/2016_01_26/slide.md Wed Jan 27 21:42:35 2016 +0900 @@ -0,0 +1,55 @@ +title: 有線 LAN 上のPC画面配信システムTreeVNCの改良 +author: Tatsuki IHA +profile: +lang: Japanese +code-engine: coderay +# 研究目的 +授業やゼミ等で、それぞれがPC端末を持っている場合では、PCの機能を活かしたコミュニケーションが可能である。教員が操作する画面をそのまま学生に配信したり, ゼミなどで、発表する学生の画面を切り替えたりすることを可能にしたい。 +画面配信システムTreeVNCは参加したクライアントをバイナリツリー状に接続し、配信コストを分散させる仕組みを取っている。そのため,多人数が参加しても処理性能が下がらない。また、ツリーのルートが参照しているVNC サーバーを変更することで、ケーブルの差し替えなしに画面の切替が可能となる。 +本研究ではTreeVNCの改良として、複数のネットワークへの対応、 WANへの対応、 マルチディスプレイへの対応を行うとともに、TreeVNC 有用性を示すために画像データの遅延時間計測を行う + +# 近況 +- multi display +- Root Node での Lost Child + +# Multi Display +- share する側の画面の座標情報をRoot に送信 +- Root は FrameBufferUpdateReqeust で座標情報を送って画面データを取得 + +# Multi Display +- 途中で止まる + +# 止まる原因 +- SenderTask で FrameBufferUpdateReqeust Message を send するはずだが、Message Queue にデータが入っていない +- ReceiverTask で Message Queue に FrameBufferUpdateReqeust を入れている + +# 止まる原因 +- Reader から readByte する際に止まっている(socketRead0) +- コード 読むとどこかでずれているわけでもなく +- 別の Thread からFrameBufferUpdateReqeust を送ると動く(viewer の更新ボタンを連打すると動く) + +# 解決法 +- 別ThreadでFrameBufferUpdateReqeust を一定時間毎に送信するようにする(先週) +- しかし, ServerChange ができない場合がある事が判明 +- ReceiverTask を stop させるときに Reader が止まって, thread が止まるのに時間がかかる場合がある +- 止まる時間がまちまち + +# 解決法 +- Reader に timeout つけました +- この Reader は元はSocket の InputStream なので Socket に timeout を付けました + +``` java +socket.setSoTimeout(time) +``` + +# Root Node の Lost Child + +# 次 +- そつろん +- Root Node のserver Change +- なせがいろいろな状況で Sound のport に繋がる +- sound のコード +- 書き込みと読み込みの並行 +- -d で接続した時自分のが消えない場合がある +- Nat越えた ServerChange ができるといいな +- multi display のサイズ