26 WebRTC The data distribution system using browser cache sharing and WebRTC 1150361 2015/02/27
WebRTC P2P Web Proxy P2P Web Proxy WebRTC WebRTC Web, HTTP, WebRTC, P2P i
Abstract The data distribution system using browser cache sharing and WebRTC Kazuki Matsushita In recent years, broadband connections to the Internet environment have spread, thus traffic delivery and the retrieval of large-volume content such as videos have soared. P2P Web Proxy is present as an existing technique for solving the problem. However, it is difficult to use for client because it has two problems. It is a problem of retaining the cache after download of the content, a problem that it is necessary to open the port toward the outside. In this paper, by using technologies of browser plug-in and WebRTC to propose a system which solves the aforementioned problems. And implement as browser cache sharing system using WebRTC. key words Web, HTTP, WebRTC, P2P ii
1 1 2 2 2.1 Web......................... 2 2.2 Web Proxy.................................. 2 2.3 P2P Web Proxy............................... 3 2.4 WebRTC................................... 3 3 5 3.1................................. 5 3.2.............................. 6 3.3............................ 6 3.3.1......................... 7 3.4................................ 7 4 9 4.1.......................... 10 4.1.1..................... 11 4.1.2 Web.......................... 12 4.1.3 WebRTC....................... 12 4.2........................ 13 5 15 16 iii
17 iv
2.1 P2P Web Proxy................................ 4 3.1.................. 6 3.2............... 7 4.1................ 9 4.2................... 10 v
4.1................................ 13 vi
1 [1] [2] HTTP P2P Web Proxy P2P Web Proxy HTTP P2P P2P Web Proxy P2P WebRTC P2P Web Proxy 1
2 Web P2P Web Web Web Web Web P2P Web WebRTC 2.1 Web Web Web Web Web 2.2 Web Proxy Web Proxy HTTP HTTP Web Proxy Web Proxy 2
2.3 P2P Web Proxy Web Proxy Web Proxy Web Proxy Web Proxy 2.3 P2P Web Proxy P2P Web Proxy 2.2 Web Proxy P2P Web Proxy ( 2.1) P2P Web Proxy P2P P2P Web Proxy P2P Web Proxy 2.4 WebRTC WebRTC (Web Real-Time Communication) W3C (World Wide Web Consortium) [3] WebRTC WebRTC P2P NAT STUN UDP WebRTC Google Chrome Firefox 3
2.4 WebRTC Web サーバー Web コンテンツ P2P Web Proxy P2P Web Proxy P2P Web Proxy P2P ネットワーク Web ブラウザ Web ブラウザ 2.1 P2P Web Proxy 4
3 2.3 P2P Web Proxy P2P HTTP P2P WebRTC [3] 3.1 PC ( 3.1) HTTP HTTP 5
3.2 クライアント (A) ウェブサーバー クライアント (B) クライアント (C) シグナリングサーバー 3.1 3.2 Web Web Web 3.3 WebRTC [3] 6
3.4 Google Chrome プラグインウェブサーバーシグナリングサーバ他ピア (1) (2) (3) (4) (5) コンテンツ (HTTP) コンテンツ (WebRTC) シグナリング (HTTP) 3.2 3.3.1 Web Web 3.4 HTTP WebRTC 1. HTTP ( 3.2 (1)) Web HTTP Web 7
3.4 ( ) 2. ( 3.2 (2)) HTTP Web 3. ( 3.2 (2)) (2) 4. Web ( 3.2 (4)) Web Web 5. ( 3.2 (5)) (4) WebRTC Web 8
ピア 1 ピア 2 中継終了 サーバーから取得済 他ピアから取得済 4.1 4 Google Chrome Google Chrome ( 4.1) Google Chrome CPU 9
4.1 クライアント サーバ 通常の HTTP 通信 転送される通信 ブラウザ ウェブページ Location ヘッダ挿入による転送 内部 HTTP コネクション 内部 HTTP サーバ WebRTC による他ピアとの通信 4.2 4.1 Google Chrome Google Chrome JavaScript Google Chrome V8 JavaScript TypeScript JavaScript Web HTTP ( 4.2) Web Google Chrome API Web Web API 10
4.1 4.1.1 Web HTTP Web P2P: on Web Web P2P-WebRTC P2P-WebRTC: PeerJS peerjs api key@0.peerjs.com:9000 localhost:1337 P2P-WebRTC 3 1 ID P2P-WebRTC ID PeerJS ID PeerJS WebRTC IP ID ID PeerJS 2 3 2 ID 3 P2P-WebRTC 11
4.1 Web 4.1.2 Web Web Web Web WebRTC Web WebRTC Web 4.1.3 WebRTC WebRTC 3 JSON TypeScript 12
4.2 interface PeerjsDataConnectionMessage { hadblocks?: boolean[]; blocknumber?: number; blockdata?: ArrayBuffer; } 4.1 hadblocks blocknumber blockdata 4.2 API REST (Representational State Transfer) API Node.js API API API HTTP JSON 13
4.2 14
5 P2P Web Proxy P2P Web Proxy WebRTC Web Web HTTP WebRTC P2P Web Proxy 3 WebRTC 3 15
,,,, 16
[1], 25, 2013. http://www.soumu.go.jp/ johotsusintokei/whitepaper/ja/h25/z. [2] Cisco System, Cisco visual networking index 2012 2017, 2013. http://www.cisco.com/web/jp/solution/isp/ipngn/literature/ pdf/white_paper_c11-481360.pdf. [3] Alan B. Johnston, Daniel C. Burnett,, WebRTC P2P, 2014. 17