WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
-
Upload
kazuki-matsushita -
Category
Internet
-
view
243 -
download
1
Transcript of WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
P2P Web Proxy – 既存技術
• Web Proxy で通信を中継
– ピア同士で通信
– 通信を限られた NW 内で完結可能
3
キャッシュ を P2P で共有
P2PWeb Proxy
P2PWeb Proxy
Web サーバー
クライアント
P2P Web Proxy - 問題点
• 接続待ち受けが必要
→ セキュリティ上の懸念
• キャッシュの継続保持
→ ストレージ 圧迫
• 別途ソフトウェアが必要
4
既存 P2P Web Proxy には 多数の問題
5
ブラウザの プラグイン として動作
ウェブサーバー
シグナリングサーバー
WebRTC
HTTPHTTP
概要 (1/2) -WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
ブラウザの機能で通信を実現
• 拡張機能 API の利用
• WebRTCで直接通信
• 別途ソフトウェアが不要に
6
協調ダウンロードでキャッシュ保持不要
ウェブサーバー
• ストレージ圧迫 解消
• ダウンロード中ファイルのみ 共有
→ ダウンロード後 キャッシュを 削除
HTTP
クライアント
同時に DL
概要 (2/2) -WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
WebRTC – 利用技術
• 接続待ち受けが不要に
– 通信時のみ該当ピアでペアリング
• NAT 超えが非常に容易
7
ブラウザ間の 直接通信 が可能
NAT / NAPTブラウザ ブラウザ
直接通信
実装 (1/2) -
8
ウェブサーバー
シグナリングサーバー
WebRTC
基本的な機能は全て実装
JavaScript (Node.js)
• ピア情報の管理
ブラウザプラグイン
TypeScript
• HTTP クライアント• 内部 HTTP サーバー• WebRTC ノード
HTTP
WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
9
Chrome プラグインで通信を中継
内部 HTTPサーバ
ウェブページ
HTTP
プラグイン
実装 (2/2) -WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
• ウェブサーバーとの通信→ HTTP
• 他ピアとの通信→ WebRTC
ウェブサーバー
クライアント
WebRTC
結果 -
• キャッシュの継続保持が不要に
• 外部からの待ち受けが不要に
• 別途のソフトウェアが不要に
10
従来手法に比べ 導入が容易に
WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
既存の問題を解決
結論 -
P2P Web Proxy でトラフィック削減
11トラフィック削減による負荷減少
トラフィック急増による負荷増大
問題
結果
問題 解決案
帯域・ストレージ圧迫 協調ダウンロード
セキュリティ上の懸念 WebRTC の利用
要 別途ソフトウェア ブラウザプラグイン
実際に実装
WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
11