# HG changeset patch # User Nobuyasu Oshiro # Date 1315412098 -32400 # Node ID 5ec6fc18719106fd14b2082e4828f75525df0c21 # Parent 7451f481250bf4f915da0c7ba027c8a9be70f281 add some files diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/index.html --- a/OpenSourceConference/index.html Wed Sep 07 21:43:27 2011 +0900 +++ b/OpenSourceConference/index.html Thu Sep 08 01:14:58 2011 +0900 @@ -113,7 +113,7 @@

通常のVNCの問題点

  • - 1台と48台でVNCをかけた時のスループットとServer側のCPU使用率 + 1台と48台でVNCをかけた時のスループットとサーバ側のCPU使用率
  • @@ -138,43 +138,19 @@
  • VNCに使われるCPUの使用率が100%になり、スループットが5分の1まで下がっている。
  • -

    VNCの問題点の解決策

    -
  • + クライアントを木構造で接続させる

    - クライアント同士を接続させる

    TreeVNCの利点

    -
  • クライアントが増えても負荷がある程度以上は掛からない。
  • -
  • 1本のEthernetへの負荷が減り、安定した通信できる。
  • +
  • クライアントが増えてもかかる負荷一定。
  • +
  • 通信網1本に対する負荷が減り、安定した通信ができる(有線)。
  • @@ -182,10 +158,10 @@

    @@ -195,44 +171,11 @@

    TreeVNCの設計

    -
  • クライアント同士を木構造で接続させ、描画データをクライアントからクライアントへ転送させる。
  • -
  • 木構造を管理するTop Proxy(TreeVNC Proxy)が一台あり、このTop ProxyだけがVCN Serverへ接続する。
  • TreeVNCのクライアントは最初にTop Proxyに接続を行う。
  • - +
  • データは木の下へと流していく。
  • tightVNC ViewerのJava版(ver 1.3)を元にTreeVNCの実装を行う。
  • - -

    発表内容

      @@ -249,7 +192,27 @@

      RFB protocol

    • Remote Frame Buffer Protocol :
      GUI操作によるリモートアクセス用の通信プロトコル。VNCで用いられる。
    • 転送される画面(フレームバッファ)のデータは変更があった部分(差分)だけが矩形単位で送られる。
    • -
    • キーイベントやマウスイベントも扱っている。
    • +
    通常のVNC
    - + - +
    + + + + + +
    + + + + + +
    + +

    で囲まれている矩形のデータだけが送られてくる。

    +
    +
    @@ -257,33 +220,25 @@
    - + - -
  • 1~5までは使用するプロトコルのバージョン、認証方法、エンコーディング等の決定を行う。
  • -
  • 6からフレームバッファや、リモート操作の為キーボード・マウスの入力情報を行う通信が行われる。
  • -
    + +
  • 1~5まではinitial seaquenceとなる。
  • +
  • 6以降は繰り返し行われる処理。画面のデータが転送されてくる。
  • +
    -

    RFB protocol

    -
  • FramebufferUpdateが描画のデータを転送する部分となる。
  • -
  • クライアントはFramebufferUpdateRequestで、VNC Serverへ関心のある領域についてリクエストを出す。
  • -
  • リクエストに対してのサーバの返信がFramebufferUpdateとなる。
  • -
  • Requestを出してupdateを受け取るということを繰り返し行い画面の共有を行っている。
  • -
    - -

    RFB Protocol

  • FramebufferUpdateRequestの内容
  • - +
    - +
    diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/NormalVNC3.png Binary file OpenSourceConference/pix/NormalVNC3.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/TreeVNC0.png Binary file OpenSourceConference/pix/TreeVNC0.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/TreeVNC3.png Binary file OpenSourceConference/pix/TreeVNC3.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/VNC-Sequence-.png Binary file OpenSourceConference/pix/VNC-Sequence-.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/after.png Binary file OpenSourceConference/pix/after.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/after2.png Binary file OpenSourceConference/pix/after2.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/before.png Binary file OpenSourceConference/pix/before.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/blueBox.png Binary file OpenSourceConference/pix/blueBox.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/rfb1.png Binary file OpenSourceConference/pix/rfb1.png has changed diff -r 7451f481250b -r 5ec6fc187191 OpenSourceConference/pix/rightArrow.png Binary file OpenSourceConference/pix/rightArrow.png has changed
    バイト数
    型   [値]