Transcript
Page 1: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作山之上卓 小荒田裕理 小田謙太郎 下園幸一 鹿児島大学

2014 6/28 情報処理学会 IOT 研究会第26回 @ 新潟大学

Page 2: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

目次

• はじめに• System 概要• 負荷分散機能とプライベートネットワークをまたぐ

CDN 機能• 管理機能• 関連研究• おわりに

Page 3: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

はじめに

• 授業やゼミや会議– パソコン画面をプロジェクタでスクリーンに投影– -> 遠くから小さな字や絵を見ることが困難– このような問題に対処するため– -> SOLAR-CATS[1][4] や Multi VNC[7]– -> 会議参加者それぞれに , これらのソフトウェアをイン

ストールしたパソコンが必要 . – ( 市村先生の Quick Board はその問題はありません )

Page 4: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• 最近 , みんな、スマートフォンやノートパソコンを携帯– 発表者のパソコンのデスクトップ画像を , – このような機器で , – 特別なソフトウェアやアプリをインストールすることなし

に , • 共有したい• -> 「 Web Screen Share 」• 我々のゼミで利用

Page 5: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 6: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 7: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• Web Screen Share – HTML5 の Web Socket 技術– パソコンデスクトップ画面共有システム– 複数の , HTML5 対応 Web ブラウザに , 画像中継 Web

サーバを通じて , 送信元パソコンのデスクトップ画面をリアルタイムで配信

• Web Screen Share は , 参加者が20名程度までなら , 問題なく動作

• この人数を超えると , 動画を表示するときに , 動きの滑らかさが失われてしまう

Page 8: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• この問題を , – 平衡2分木上に接続されたサーバ間データ転送ノード– を使うことによって , 解消

• 送信元パソコンのデスクトップ画像を– サーバ間データ転送ノードを使って– 複数の画像中継 Web サーバに配送

• Web ブラウザ– 複数の画像中継 Web サーバに , 自動的に , 均等に , 接続

• 「 Distributed Web Screen Share 」

Page 9: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• Web ブラウザの均等割り当て

–トーナメントアルゴリズムを使って実現• Distributed Web Screen Share

– 動画表示の動きの滑らかさを損なうことなく , – より多くの Web クライアントで– 同じデスクトップ画面を共有

Page 10: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• 今回一種の CDN の仕組みを考案し , 試験的に実装– Distributed Web Screen Share のサーバをインター

ネットと階層的なプライベートネットワークの各所に配置– インターネットと階層的なプライベートネットワークのど

ちらにもサーバを配置することが可能– 授業や会議が遠隔地で分散して実施される場合にも対応– Web クライアントを自動的に適切なサーバに割り当てる

機能

Page 11: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• システムの管理者: Web 画面上でサーバを制御可能– 管理者が適切にサーバを加えたり減らしたり可能

• 端末数 , Web クライアントで表示される単位時間あたりの表示画面枚数 , Web クライアントにおけるネットワーク利用バンド幅などの変化も表示可能

• ログも採取• CDN for Web Screen Share, CDN4WSS

Page 12: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 13: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

2. システム概要

• CDN4DWSS– 大量のクライアント間の画面共有–異なるプライベートネットワークにあるクライアント間の

画面共有 … 遠隔地間の画面共有– 適切なサーバの自動選択

Page 14: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• CDN4WSS

Page 15: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 16: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 負荷分散機能とプライベートネットワークを またぐ CDN 機能• Web Screen Share• Distributed Web Screen Share• トーナメントアルゴリズムによる負荷分散• 階層的なネットワークにまたがった CDN

Page 17: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• Client-Server 型• HTML5 の Web Socket 技術を使った• パソコンデスクトップ画像の実時間共有システム• 構成

– 1台の Web Server– 複数の Web Client– 画像取得とその画面をサーバに送信する Screen Sender

3.0 Web Screen Share

Page 18: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 19: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• Screen Sender – デスクトップ画像を繰り返し取得– 通常の Socket を使って Web Server に送信

• Screen Sender から画像を受け取った Web Server– その画像を各 Web Client に対応した Queue の最後に追加

– Queue に溜まった画像の量が一定値を超えると , その値を超えないように Queue の先頭部分にある画像を削除

– 現在 , この一定値は 3 .

Page 20: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

• Web Client – HTML5 , Web Socket – Web Server に対して get コマンドを繰り返し発行

• Web Server が get コマンドを受け取ると– Web Client に対応した Queue の先頭にある画像を , – get コマンドを受け取った Socket に対して送信– その画像を Queue から削除

• 画像を受け取った Web Client … その画像を表示する . • Jetty を利用 (開発当時は Web Socket が利用できる Web

サーバ )

Page 21: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

CPU : intel インテル Celeron デュアルコア E1200 1.6GHz 相当Memory: 2GBScreen Sender : 5fps 解像度 : 1440 x 900 Network: 100Mbps(NIC: 1Gbps)

Page 22: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 1 Distributed Web Screen Share-1  

• 大規模な会議にも対応したい ->• 数百台の Web クライアントが画面共有できるよう

にしたい• Web クライアント増加による性能劣化を緩和したい

–Distributed Web Screen Share (DWSS) を開発

• DWSS– Node System を平衡 2 分木状に接続–葉の位置にある Node system の Web Server に Web

Client をできるだけ均等に割り当て

Page 23: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 1 Distributed Web Screen Share-2

Page 24: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 1 Distributed Web Screen Share-3• 平衡 2 分木のすべての ISC Node に画像を中継するため ,以下の multi-casting 手続きを利用する .

• 準備– すべてのノード( ISC ノード)は、

•親、左(の子)、右(の子)– の3つの全2重の TCP 接続を持つ null の場合もある

• 手続き– どれかの TCP 接続から multicast データを受け取ったら , それ

を他の接続に転送する–受け取った multicast データのノード内処理を行う

Page 25: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 1 ISC ノードによる平衡2分木の構成 -1• 特許 No. 5186624, (Feb. 2013)• 新規ノード追加時• 準備

– すべてのノードは、自分の左右それぞれの子孫の数を記憶• 葉ノードはそれぞれ0

–根以外のノードは、一定間隔で、   自分(1)+左の子孫の数+右の子孫の数を親ノードに通知

Page 26: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.1 ISC ノードによる平衡2分木の構成 -2• ノード追加処理 (recursive procedure)

– あるノードにおいて、•左右ともども子孫がいなかったら、左に追加•左に子孫がいて、右にいなかったら、右に追加• それ以外は子孫の数の少ない方に対してノード追加処理

– 新規ノードは(原則として) (グループの )根ノードから追加

Page 27: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.1 ISC ノードによる平衡2分木の構成 -3• グループ内ノード障害発生時・離脱時の処理

– ノード数情報を親ノードに送るとき、親から反応がない場合は親がいなくなったと判断

–根以外のグループ内の任意のノードは、親がいなくなったら、自分を新規ノードとして根に追加処理を依頼

• 一時的にバランスはくずれるが、徐々にバランスが保たれる方向にノードが追加される。

Page 28: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.2 トーナメントアルゴリズムによる負荷分散-1• 準備• 任意のノードは、以下の情報を持つ

– [ 自分の Web サーバの情報 , その Web Client の数 ]–左の子孫における [Web Client 接続先候補 , その Web

Client の数 ]–右の子孫における [Web Client 接続先候補 , その Web

Client の数 ]– ノードの [Web Client 接続先候補 , その Web Client の

数 ]

Page 29: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.2 トーナメントアルゴリズムによる負荷分散-2• 定期的に以下を行う

–葉ノードは、 [ 自分の Web サーバの情報 , その Web Client の数 ] を

   [Web Client 接続先候補 , その Web Client の数 ] とする–節ノードは、左右を比較して、 Web Client の数が少ない方 (勝った方 ) の   

     [Web Client 接続先候補 , その Web Client の数 ] を ノードの [Web Client 接続先候補 , その Web Client の数 ] とする

Page 30: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

–根ノード以外は ノードの [Web Client 接続先候補 , その Web Client の数 ] を親ノードに伝える

Page 31: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3. 2 トーナメントアルゴリズムによる負荷分散-3• 新規に Web Client が接続されるとき

– その Web Cliet は根ノードに接続する .– 次に、根ノードの Web Client 接続先候補に redirect

する。• 葉ノードの中で最も Web Client 数が少ない Web

サーバに接続する --- 負荷分散

Page 32: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.2 トーナメントアルゴリズムによる負荷分散-4

0 10 20 30 40 50 60 70 800

1

2

3

4

5

6

サーバ 7台 サーバ 3台

Number of Clients

fps

Page 33: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.2 アルゴリズムの拡張

• 1つの葉ノードに接続される Web Client の制限• 全Web Client 数のモニタ… Web Client 増加時に

は ノードを追加するなどに利用• (Web Client 数減少時)葉ノードへの Web Client

の接続制限 葉ノードを空にしてグループから削除

Page 34: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.3 階層的なネットワークにまたがったCDN• 3.3.1 階層的ネットワークのモデル• 3.3.2 CDN4WSS• 3.3.3 適切なサーバ割り当てアルゴリズム

Page 35: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.3.1 階層的ネットワークのモデル

Global Network

Private Private

Private

PrivatePrivate Private Priva

te

HalfConnectableharfConnectable

fullConnnectableaddress(h)addressAt(h,H)host(a,H)NAT ではなく NAPT を想定

Page 36: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.3.2 CDN4WSS

connectedS をノードとする木S : 一つのネットワークにある CDN4WSSのサーバの集合

communicable(h1,h2)

Page 37: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

3.3.3 適切なサーバ割り当てアルゴリズム

• privateRootServers(s∊S)= {addressAt(sxr,Sx)| connected(sxr,sy) where s∊Sy, sy∊Sy, sxr∊Sx, and (sx,sy)∊D}

Page 38: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Procedure connectToAnAppropriateServer(aA)begin connect to privates←privateRootServers(); default if privates then for each if connectable() then connectToAnAppropriateServer() ; connect to default as a client;end;

Page 39: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen Sender

Private network-2L Private network-2RPrivate network-1

Global InternetRoot Node System

New Web Client ?

Private IP:PA2L0 Private IP: PA2R0

Node-LNode-R

Node-L is a leaf node in theglobal Internet, and it has the smallest number of web clientsor node systems at private networks.

Private IP: PA0

Private network-0

Page 40: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Global InternetRoot Node System

New Web Client ?

Private IP:PA2L1 Private IP: PA2R1

Node-LNode-R

Node-L is a leaf node in theglobal Internet, and it has the smallest number of web clientsor node systems at private networks.

Private IP: PA0

Private network-0

I’d like to joinyour group.

Global IP address is GA0

Temporal WebSocket Connection

Page 41: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Global InternetRoot Node System

New Web Client ?

Private IP:PA2L1 Private IP: PA2R1

Node-LNode-R

Private IP: PA0

Private network-0

Global IP address is GA0

Does anyone has the private node link, the address of which is GA0?.

Page 42: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Global InternetRoot Node System

New Web Client ?

Private IP:PA2L1 Private IP: PA2R1

Node-L Node-R

Private IP: PA0

Private network-0

Global IP address is GA0

I have it. The private addresses of it is PA0.

Page 43: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L1 Private IP: PA2R1

Node-L Node-R

Private IP: PA0

Private network-0

Try to connect to PA0.If failed to connect to it, try to connect to Node-L

Page 44: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L1Private IP: PA2R1

Node-L Node-R

Private IP: PA0

Private network-0

Is it possible to connect to PA0?If yes, …

Page 45: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L1Private IP: PA2R1

Node-L Node-R

Private IP: PA0

Private network-0

I’d like to join your group.

Page 46: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L1Private IP: PA2R1

Node-L Node-R

Private IP: PA0

Private network-0

Does anyone has the private node link, the address of which is P10?.

Private IP address is P10

Page 47: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Private IP address is P10

I have it. The private addresses of it is PA2R0.

I have it. The private addresses of it is PA2L0.

Page 48: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Try to connect to PA2R0 or PA2L0.If failed to connect to it, try to connect to Node-P0L

Node-P0L

Page 49: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0L

Is it possible to connect to PA2R0?If No, …

Page 50: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0L

Is it possible to connect to PA2L0?If Yes, …

Page 51: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0L

I’d like to join your group

Page 52: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0L

I have no children Nodes.So the new web client can connect to me as my web client.

Page 53: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client ?

Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0LConnect to me as my web client.

Page 54: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

Screen SenderPrivate network-2L Private network-2R

Private network-1

Root Node System

New Web Client

Private IP:PA2L0

Private IP: PA2R0

Node-L Node-R

Private IP: PA0

Private network-0

Node-P0L

Connect as a web client

Page 55: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 56: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 57: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

4. 管理機能

• Web GUI• Node System の追加と削除• Node System の接続状況の把握• 接続クライアントの把握• 変化の把握

– Node system 数– クライアント数– Fps, バンド幅

Page 58: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 59: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 60: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26
Page 61: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

7. 関連研究

• SOLAR-CATS … Web Client ではない• 拡張 Edutab … 負荷分散はない• AKAMAI … 限られた IP範囲内の、せいのでドーン

には向かない• FCAN … 特殊な DNS を利用• Ustream Live Producer … 遅延が大きい– Web RTC … DWSS に使えるかも

Page 62: HTML5 技術を利用した授業や会議向けデスクトップ画面実時間配信システムとその管理システムの試作, 情報処理学会IOT研究会26

7. おわりに

• CDN4DWSS– 大量のクライアント間の画面共有–異なるプライベートネットワークにあるクライアント間の

画面共有 … 遠隔地間の画面共有– 適切なサーバの自動選択

• 今後–モデルと現実の違いの対策– 上田らの研究成果の利用–セキュリティ


Recommended