# HG changeset patch # User Nobuyasu Oshiro # Date 1315428896 -32400 # Node ID d1f572bde42f51fb1150e36fc1cc2974b27dcb43 # Parent 0604a55dd286c7b1b7415dbbbd337ef5b122bdb1 modify diff -r 0604a55dd286 -r d1f572bde42f OpenSourceConference/index.html --- a/OpenSourceConference/index.html Thu Sep 08 04:15:54 2011 +0900 +++ b/OpenSourceConference/index.html Thu Sep 08 05:54:56 2011 +0900 @@ -194,8 +194,8 @@ 最大負荷 - N (クライアントの数に比例) - M+1 + N * データ量 (クライアントの数に比例) + (M+1) * データ量

クライアントの数をN、木構造の子供の数をMとする

@@ -231,26 +231,19 @@
- - + - - +

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

-
@@ -419,30 +412,26 @@

RFB Protocol

- - -

- 例:Framebufferupdate -

+
  • 例:FramebufferUpdate
  • - + - + - + - + @@ -454,19 +443,18 @@ -
    x-position224336
    y-position146388
    width800724
    height521449
    ZRLE ...
    - +
    - + - +
    @@ -486,13 +474,13 @@ - 800 * 521 + 724 * 449 - 1.6M - 0.3M + 1.3M + 0.8M @@ -524,12 +512,58 @@
    -

    データ量の見積もり

    -
  • FramebufferUpdate(以下update)毎にデータを扱うためには、update1回分で送られてくるバイト量を知る必要がある -
    (どこまで読みこめば終わりなのか知る必要がある)。
  • -
  • 先頭の20バイトを読むことでupdate1回分のバイト量を知ることができる(厳密にはエンコード次第だが...)。
  • -
  • updateは最初に送られてくる情報に矩形の横と縦幅(width,height)が含まれていてそれと扱われるエンコードによって全体のデータ量を計算することができる。
  • +

    データ転送量

    +
  • クライアントが60台の時の通常のVNCと、2分木構成にしたTreeVNCの通信網への負荷について考える。
  • + + + + + + + + + + + +
    通常のVNCTreeVNC
    最大負荷 N * データ量(クライアントの数に比例) (M+1) * データ量
    +

    クライアントの数をN、木構造の子供の数をMとする

    +
  • N = 60、 M = 1 となる。
  • +
  • 724 * 449 の画面分のデータ(0.8M)を送信するとする。
  • + + + + + + + + + + + + +
    通常のVNCTreeVNC
    最大負荷48M2.4M
    + +
    + + + + + + + + + + +

    +
    通常のVNCTreeVNC
    + + + +
    + + +

    データ量の見積もり

    @@ -566,15 +600,6 @@
    -

    データ転送量

    - - - -
    - -
    - -

    データ量の見積もり

  • 先頭20バイトを読みupdate一回分のデータ量を調べる。
  • update1回分のデータを読み込み次のクライアントに送信する。