仮想デスクトップ配信を最適化する シスコと VMware の共同ソ … · 仮想デスクトップ配信最適化のためにシスコと VMware が共同で提供するこのソリューション
Dicomo 2013,...
-
Upload
takashi-yamanoue -
Category
Technology
-
view
621 -
download
3
description
Transcript of Dicomo 2013,...
デスクトップ画像共有システムのための , トーナメントアルゴリズムを使った負荷分散機構
山之上卓† 1 杉田裕次郎† 1 小荒田裕理† 1 小田謙太郎† 1 下園幸一† 1
鹿児島大学
マルチメディア,分散,協調とモバイル (DICOMO2013)シンポジウム2F-4, 2013 7/10@ 北海道十勝川温泉 ホテル大平原
目次 1. はじめに 2. Web Screen Share 3. Distributed Web Screen Share 4. ISC ノードによる平衡2分木の構成 5. トーナメントアルゴリズムによる負荷分散 6. アルゴリズムの拡張 7. 関連研究 8. おわりに
1. はじめに -1
授業やゼミや会議 パソコン画面をプロジェクタでスクリーンに投影 -> 遠くから小さな字や絵を見ることが困難 このような問題に対処するため -> SOLAR-CATS[1][4] や Multi VNC[7] -> 会議参加者それぞれに , これらのソフトウェアをインストー
ルしたパソコンが必要 . ( 市村先生の Quick Board はその問題はありません )
1. はじめに -2
最近 , みんな、スマートフォンやノートパソコンを携帯 発表者のパソコンのデスクトップ画像を , このような機器で , 特別なソフトウェアやアプリをインストールすることなしに ,
共有したい -> 「 Web Screen Share 」 我々のゼミで利用
1. はじめに -3
Web Screen Share HTML5 の Web Socket 技術 パソコンデスクトップ画面共有システム 複数の , HTML5 対応 Web ブラウザに , 画像中継 Web サーバを
通じて , 送信元パソコンのデスクトップ画面をリアルタイムで配信
Web Screen Share は , 参加者が20名程度までなら , 問題なく動作
この人数を超えると , 動画を表示するときに , 動きの滑らかさが失われてしまう
1. はじめに -4
この問題を , 平衡2分木上に接続されたサーバ間データ転送ノード を使うことによって , 解消
送信元パソコンのデスクトップ画像を サーバ間データ転送ノードを使って 複数の画像中継 Web サーバに配送
Web ブラウザ 複数の画像中継 Web サーバに , 自動的に , 均等に , 接続
「 Distributed Web Screen Share 」
1. はじめに -5
Web ブラウザの均等割り当てトーナメントアルゴリズムを使って実現
Distributed Web Screen Share 動画表示の動きの滑らかさを損なうことなく , より多くの Web クライアントで 同じデスクトップ画面を共有
1. はじめに -6
2. Web Screen Share-1
Client-Server 型 HTML5 の Web Socket 技術を使った パソコンデスクトップ画像の実時間共有システム 構成
1 台の Web Server 複数の Web Client 画像取得とその画面をサーバに送信する Screen Sender
2. Web Screen Share-2
2. Web Screen Share-3
Screen Sender デスクトップ画像を繰り返し取得 通常の Socket を使って Web Server に送信
Screen Sender から画像を受け取った Web Server その画像を各 Web Client に対応した Queue の最後に追加 Queue に溜まった画像の量が一定値を超えると , その値を超え
ないように Queue の先頭部分にある画像を削除 現在 , この一定値は 3 .
2. Web Screen Share-4
Web Client HTML5 , Web Socket Web Server に対して get コマンドを繰り返し発行
Web Server が get コマンドを受け取ると Web Client に対応した Queue の先頭にある画像を , get コマンドを受け取った Socket に対して送信 その画像を Queue から削除
画像を受け取った Web Client … その画像を表示する . Jetty を利用 ( 開発当時は Web Socket が利用できる
Web サーバ )
2. Web Screen Share-5
CPU : intel インテル Celeron デュアルコア E1200 1.6GHz 相当Memory: 2GBScreen Sender : 5fps 解像度 : 1440 x 900 Network: 100Mbps(NIC: 1Gbps)
3. Distributed Web Screen Share-1 大規模な会議にも対応したい -> 数百台の Web クライアントが画面共有できるようにした
い Web クライアント増加による性能劣化を緩和したい
Distributed Web Screen Share (DWSS) を開発
DWSS Node System を平衡 2 分木状に接続 葉の位置にある Node system の Web Server に Web Client
をできるだけ均等に割り当て
3. Distributed Web Screen Share-2
3. Distributed Web Screen Share-3
平衡 2 分木のすべての ISC Node に画像を中継するため ,以下の multi-casting 手続きを利用する .
準備 すべてのノード( ISC ノード)は、
親、左(の子)、右(の子) の3つの全2重の TCP 接続を持つ null の場合もある
手続きどれかの TCP 接続から multicast データを受け取ったら , それ
を他の接続に転送する 受け取った multicast データのノード内処理を行う
4. ISCノードによる平衡2分木の構成 -1
特許 No. 5186624, (Feb. 2013)新規ノード追加時 準備
すべてのノードは、自分の左右それぞれの子孫の数を記憶 葉ノードはそれぞれ0
根以外のノードは、一定間隔で、 自分(1)+左の子孫の数+右の子孫の数を親ノードに通知
4. ISCノードによる平衡2分木の構成 -2
ノード追加処理 (recursive procedure) あるノードにおいて、
左右ともども子孫がいなかったら、左に追加左に子孫がいて、右にいなかったら、右に追加それ以外は子孫の数の少ない方に対してノード追加処理
新規ノードは(原則として) (グループの )根ノードから追加
4. ISCノードによる平衡2分木の構成 -3
グループ内ノード障害発生時・離脱時の処理 ノード数情報を親ノードに送るとき、親から反応がない場合は親
がいなくなったと判断根以外のグループ内の任意のノードは、親がいなくなったら、自
分を新規ノードとして根に追加処理を依頼 一時的にバランスはくずれるが、徐々にバランスが保たれ
る方向にノードが追加される。
5. トーナメントアルゴリズムによる負荷分散 -1 準備任意のノードは、以下の情報を持つ
[ 自分の Web サーバの情報 , その Web Client の数 ] 左の子孫における [Web Client 接続先候補 , その Web Client
の数 ] 右の子孫における [Web Client 接続先候補 , その Web Client
の数 ] ノードの [Web Client 接続先候補 , その Web Client の数 ]
5. トーナメントアルゴリズムによる負荷分散 -2 定期的に以下を行う
葉ノードは、 [ 自分の Web サーバの情報 , その Web Client の数 ] を [Web Client 接続先候補 , その Web Client の数 ] とする節ノードは、左右を比較して、 Web Client の数が少ない方
( 勝った方 ) の [Web Client 接続先候補 , その Web Client の数 ] を ノードの [Web Client 接続先候補 , その Web Client の数 ]とする根ノード以外は ノードの [Web Client 接続先候補 , その Web Client の数 ] を親ノードに伝える
5. トーナメントアルゴリズムによる負荷分散 -3新規に Web Client が接続されるとき
その Web Cliet は根ノードに接続する .次に、根ノードの Web Client 接続先候補に redirect する。
葉ノードの中で最も Web Client 数が少ない Web サーバに接続する --- 負荷分散
5. トーナメントアルゴリズムによる負荷分散 -4
0 10 20 30 40 50 60 70 800
1
2
3
4
5
6
サーバ 7台 サーバ 3台
Number of Clients
fps
6. アルゴリズムの拡張1つの葉ノードに接続される Web Client の制限 全 Web Client 数のモニタ… Web Client 増加時には
ノードを追加するなどに利用 ( Web Client 数減少時)葉ノードへの Web Client の接
続制限 葉ノードを空にしてグループから削除
7. 関連研究 SOLAR-CATS … Web Client ではない 拡張 Edutab … 負荷分散はない AKAMAI … 限られた IP範囲内の、せいのでドーンには向
かない FCAN … 特殊な DNS を利用 Ustream Live Producer … 遅延が大きい Web RTC … DWSS に使えるかも
7. おわりに 大量のクライアント間の画面共有システムの負荷分散 大量の Wi-Fi 端末を使う会議や授業のための「ポータブル
クラウド」開発中。これに組み込み予定 ノード数が減っていくとき対策として、 Web Client にお
ける定期的な接続やり直しの方法もあり