changeset 20:e570366e59dc default tip

update
author oc
date Wed, 18 Feb 2015 19:14:00 +0900
parents 5a7504044713
children
files blank.html images/20150122/sendInitData.png images/20150127/connectRemoteNode.png images/20150203/LostChild1.png images/20150203/LostChild2.png images/20150203/LostParent.png images/20150218/MultiNetworkTree.png images/20150218/TreeVNC.png images/20150218/multidisplay.png images/20150218/remoteNetwork2.png images/20150218/remoteNetwork4.png images/20150218/remoteTreeVnc.png images/20150218/remoteVncConnect.png
diffstat 13 files changed, 107 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/blank.html	Wed Feb 04 02:24:29 2015 +0900
+++ b/blank.html	Wed Feb 18 19:14:00 2015 +0900
@@ -88,7 +88,8 @@
         <table width="90%" height="90%" border="0" align="center">
           <tr>
             <td><div align="center">
-                <h1><font color="#808db5">画面共有システムTreeVNCの研究</font></h1>
+                <h1><font color="#808db5">授業やゼミで使える</font></h1>
+                <h1><font color="#808db5">面共有システムTreeVNCの機能拡張</font></h1>
               </div></td>
           </tr>
           <tr>
@@ -113,105 +114,138 @@
       </div>
 
       <div class='slide'>
-        <h2>研究目的</h2>
-        <p>多人数で意見を交わし合い、モチベーションを高めたい。</p>
-        <p>並列信頼研のゼミでは、それぞれの学生の研究目的や進捗状況等を共有する。<br>
-        共有した上で、教授や他の学生からアドバイスやアイデアを頂く。</p>
-        <p>このように多人数で情報を共有し、意見・質問等を交わし合いたい。 </p>
+        <h2>PCを用いた多人数でのコミュニケーションの充実</h2>
+        <p>ゼミや授業等、ひとりひとりがPCを持っている状況で、<br>
+        PCの機能を活かしたコミュニケーションが可能である </p>
+        <p>授業での教授のPC画面をリアルタイムで配信したり、<br>
+        ゼミ等で、発表する学生のPC画面を切り替えることを可能にしたい</p>
       </div>
 
-
       <div class='slide'>
-        <h2>研究目的</h2>
-        <p>TreeVNCを用いることによって、多人数でのコミュニケーションの充実をはかる。</p>
+        <h2>TreeVNCを用いたコミュニケーションの充実</h2>
+        <p>TreeVNCを用いることによって、多人数でのPC端末を用いたコミュニケーションの充実をはかる</p>
         <ul>
           <li>ひとつの画面を多人数で共有する</li>
           <li>画面の切り替えをスムーズにする</li>
           <li>綺麗な画質をリアルタイムで配信する</li>
+          <li>遠隔地からでもコミュニケーションに参加できる</li>
         </ul>
-        <p>これらの機能に加えて、遠隔地からでもコミュニケーションに参加出来るようにしたい。</p>
       </div>
 
 
       <div class='slide'>
-        <h2>やってきたこと</h2>
-        <ul>
-          <li>信頼性の向上</li>
-          <ul>
-            <li>log in 時の問題解決</li>
-            <ul>
-              <li>lostChild 機能追加</li>
-            </ul>
-          </ul>
-        </ul>
-      </div>
-
-      <div class='slide'>
-        <h2>lostChild 機能追加</h2>
-        <h3>lostChild 機能とは</h3>
-        <ul>
-          <li>lostParent と逆の方法で死んだ node に対する検知</li>
-          <li>親 node が timer-discard-thread で子 node が死んだことを検知</li>
-          <ul>
-            <li>それぞれの子 node には myId がふられている(左子 : 0, 右子 : 1)</li>
-          </ul>
-          <li>root node へ command(lostLeftClient/lostRightCliet) を送信</li>
-          <li>root node は、 nodeList の更新を行い、死んだ node の代わりに nodeList の最後の node を割り当てる</li>
-        </ul>
+        <h2>TreeVNCとは</h2>
+        <p>今研究室で開発している多人数向けの画面共有システム</p>
+        <p>TreeVNC 画面配信システムは、参加したクライアントをバイナリツリー状に接続し、<br>
+        配信コストをクライアントに バランスさせる仕組みになっている<br>
+        なので、多人数が参加しても処理性能が下がらない</p>
+        <p>また、RFB プロトコルを用いているので、<br>
+        ケーブルの差し替えなしに共有している画面の切り替えが可能になっている</p>
+        <img src="images/20150218/TreeVNC.png">
       </div>
 
       <div class='slide'>
-        <h2>lostParent と lostChild の違い</h2>
-        <h3>lostParent との違い</h3>
+        <h2>機能向上のために行った機能拡張</h2>
+        <p>以下のTreeVNCの機能拡張を行った</p>
+        <h3>リファクタリング</h3>
         <ul>
-          <li>lostParent は、子 node が死んだ親に気づく</li>
-          <li>lostChild は、親 node が死んだ子に気づく</li>
-        </ul>
-        <h3>なぜ lostParent を消したのか</h3>
-        <ul>
-          <li>lostParent 中、接続が一旦切れると timer-discard-thread に検知されてしまうようになってしまった</li>
-          <li>lostParent の処理で新しく node が接続されても、その node は lostChild として消されてしまうようになってしまった</li>
-          <li>lostParent と lostChild は検知する場所が違うだけで、同じ動作をする</li>
+          <li>1台のPCで複数のTreeVNCの立ち上げを可能にした</li>
+          <li>複数のネットワークインタフェースでの使用が可能になった</li>
+          <li>切断の検知方法を解決した</li>
         </ul>
-      </div>
-
-      <div class='slide'>
-        <h2>lostParent と lostChild の違い</h2>
-          <img src="images/20150203/LostParent.png" width="600" height="450">
-      </div>
-
-      <div class='slide'>
-        <h2>lostParent と lostChild の違い</h2>
-          <img src="images/20150203/LostChild1.png" width="550" height="450">
-          <img src="images/20150203/LostChild2.png" width="550" height="400">
-      </div>
-
-      <div class='slide'>
-        <h2>ルータ超えの実装案</h2>
-        <h3>rootと遠隔地nodeの接続</h3>
+        <h3>新機能実装</h3>
         <ul>
-          <li>遠隔地nodeはrootのグローバルアドレスを指定してpacketを送信する。</li>
-          <li>rootはpacketからnodeのIPAddressとport番号を取得する。</li>
-          <li>遠隔地nodeの情報をrootのnodeListに追加する。</li>
-          <img src="images/20150127/connectRemoteNode.png" width="800" height="500">
+          <li>描画速度の向上</li>
+          <li>シングルディスプレイのみの表示を可能にした</li>
+          <li>遠隔地からの接続を可能にした</li>
         </ul>
       </div>
 
 
       <div class='slide'>
-        <h2>これからやること</h2>
+        <h2>動的なport番号の割り当て</h2>
+        <h3>問題点</h3>
+        <p>固定port番号の使用をしていたため、1台のPCで複数台のTreeVNCを立ち上げることができなかった</p>
+        <h3>解決方法</h3>
+        <p>接続してくるnodeに対して、動的にport番号を割り当てる様に変更を行った<br>
+        node間のメッセージ通信は、割り当てられたport番号を用いて行う様にした</p>
+        <h3>結果</h3>
+        <p>1台のPCで複数台のTreeVNCの立ち上げが可能となった<br>
+        メッセージ通信に、どのportが使用されているかを意識する必要がなくなった</p>
+      </div>
+
+      <!--
+      <div class='slide'>
+        <h2>ホスト切替時の挙動の変更</h2>
+        <h3>問題点</h3>
+        <p>画面配信側にもviewerが表示されてしまい、ビデオフィードバッグが配信されてしまっていた。</p>
+        <h3>解決方法と結果</h3>
+        <p>配信側になった場合、viewerを閉じる様にし、配信者が切り替わると立ち上がるように変更した。<br>
+        </p>
+      </div>
+      -->
+
+      <div class='slide'>
+        <h2>Treeの構成の変更</h2>
+        <h3>問題点</h3>
+        <p>単一のネットワークインタフェースのみでしか使用できなかった<br>
+        構成される木構造がひとつであった</p>
+        <h3>解決方法</h3>
+        <p>ネットワークインタフェース毎に木構造を構成する様変更した</p>
+        <h3>結果</h3>
+        <p>有線・無線、両方でのTreeVNCの使用が可能になった</p>
+        <img src="images/20150218/MultiNetworkTree.png">
+      </div>
+
+      <div class='slide'>
+        <h2>マルチディスプレイ対応</h2>
+        <h3>問題点</h3>
+        <p>配信者の画面がマルチディスプレイだった場合、2画面のデータが配信されてしまう<br>
+        2画面の表示はプレゼンテーションには向いていない</p>
+        <img src="images/20150218/multidisplay.png">
+        <h3>解決方法</h3>
+        <p>配信側のシングルディスプレイサイズを取得し、画面データのフィルタリングを行った</p>
+        <h3>結果</h3>
+        <p>シングルディスプレイのみの表示が可能となった</p>
+      </div>
+
+      <div class='slide'>
+        <h2>遠隔地から接続を可能にした</h2>
+        <h3>結果</h3>
+        <img src="images/20150218/remoteTreeVnc.png">
+      </div>
+
+      <div class='slide'>
+        <h2>遠隔地からの接続の実装方法</h2>
+        <h3>実装方法</h3>
         <ul>
-          <li>ルータを越えた接続の実装</li>
-          <li>音声共有機能の実装</li>
-          <ul>
-            <li>node -&gt; root間の送信方法変更</li>
-            <li>root -&gt; 他nodeへの送信</li>
-            <li>送信・受信の終了処理追加</li>
-          </ul></li>
-          <li>卒論</li>
+          <li>遠隔地 node から接続したい root に対して接続を要求する WHERE_TO_CONNECT_message を送信する</li>
+          <li>root は、遠隔地 node に対して接続先を含む CONNECT_TO message を送信する</li>
+          <li> 遠隔地 node は指定された接続先に対して接続しに行く </li>
         </ul>
+        <img src="images/20150218/remoteVncConnect.png">
       </div>
 
+
+      <div class='slide'>
+        <h2>その他の問題解決</h2>
+        <h3>ビデオフィードバッグを非表示にした</h3>
+        <h3>切断時の検知方法の変更</h3>
+        <h3>QUALITYモードとSPEEDモード</h3>
+        <h3>表示画面サイズ調整機能</h3>
+      </div>
+
+
+      <div class='slide'>
+        <h2>今後の課題</h2>
+        <h3>音声機能の追加</h3>
+        <h3>記録機能の追加</h3>
+        <h3>意見・質問等の共有機能の追加</h3>
+      </div>
+
+
+
+
     </div> <!-- presentation -->
   </body>
 </html>
Binary file images/20150122/sendInitData.png has changed
Binary file images/20150127/connectRemoteNode.png has changed
Binary file images/20150203/LostChild1.png has changed
Binary file images/20150203/LostChild2.png has changed
Binary file images/20150203/LostParent.png has changed
Binary file images/20150218/MultiNetworkTree.png has changed
Binary file images/20150218/TreeVNC.png has changed
Binary file images/20150218/multidisplay.png has changed
Binary file images/20150218/remoteNetwork2.png has changed
Binary file images/20150218/remoteNetwork4.png has changed
Binary file images/20150218/remoteTreeVnc.png has changed
Binary file images/20150218/remoteVncConnect.png has changed