WebRTC P2P,. Web,. WebRTC. WebRTC, P2P, i

Similar documents
WebRTC P2P Web Proxy P2P Web Proxy WebRTC WebRTC Web, HTTP, WebRTC, P2P i

Web Web ID Web 16 Web Web i

P2P P2P Winny 3 P2P P2P 1 P2P, i

DEIM Forum 2019 I7-2 WebRTC, UCLA Computer Science Department 3803 Boelter Hall, Los Angeles, CA

P2P Web Proxy P2P Web Proxy P2P P2P Web Proxy P2P Web Proxy Web P2P WebProxy i

LAN LAN LAN LAN LAN LAN,, i

Web Web Web Web i

soturon.dvi

7,, i

28 Docker Design and Implementation of Program Evaluation System Using Docker Virtualized Environment

untitled

Web Web Web Web Web, i

NAT-f SIP NAT 1 1, 2 1 IP SIP NAT NAT NAT NAT-f NAT-free protocol NAT-f SIP Session Initiation Protocol NAT-f SIP NAT Researches on NAT traversal for

IT,, i

25 About what prevent spoofing of misusing a session information


, IT.,.,..,.. i

29 jjencode JavaScript

P2P P2P peer peer P2P peer P2P peer P2P i

Web Basic Web SAS-2 Web SAS-2 i

IPSJ SIG Technical Report Vol.2015-GN-93 No.29 Vol.2015-CDS-12 No.29 Vol.2015-DCC-9 No /1/27 1,a) 1 1 LAN IP 1), 2), 3), 4), 5) [

卒業論文2.dvi

28 NTMobile Java Proposal and Implementation of Java Wrapper for NTMobile ( : ) :

58 10

n 2 n (Dynamic Programming : DP) (Genetic Algorithm : GA) 2 i

Virtual Window System Virtual Window System Virtual Window System Virtual Window System Virtual Window System Virtual Window System Social Networking


24 Region-Based Image Retrieval using Fuzzy Clustering

PC PDA SMTP/POP3 1 POP3 SMTP MUA MUA MUA i

ITAOI2003第三屆離島資訊與應用研討會論文範例


(a) (b) 1 JavaScript Web Web Web CGI Web Web JavaScript Web mixi facebook SNS Web URL ID Web 1 JavaScript Web 1(a) 1(b) JavaScript & Web Web Web Webji

19 Systematization of Problem Solving Strategy in High School Mathematics for Improving Metacognitive Ability

DTN DTN DTN DTN i

1 Web Web 1,,,, Web, Web : - i -

paper.dvi

IPSJ SIG Technical Report * Wi-Fi Survey of the Internet connectivity using geolocation of smartphones Yoshiaki Kitaguchi * Kenichi Nagami and Yutaka

28 Horizontal angle correction using straight line detection in an equirectangular image

(Microsoft PowerPoint - 2.\(\220\274\222J\202\263\202\361\)JANOG ppt [\214\335\212\267\203\202\201[\203h])

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra

23 The Study of support narrowing down goods on electronic commerce sites

25 Removal of the fricative sounds that occur in the electronic stethoscope

Wi-Fi Wi-Fi Wi-Fi Wi-Fi SAS SAS-2 Wi-Fi i

fiš„v5.dvi

21 A contents organization method for information sharing systems

1 1 tf-idf tf-idf i

[2] , [3] 2. 2 [4] 2. 3 BABOK BABOK(Business Analysis Body of Knowledge) BABOK IIBA(International Institute of Business Analysis) BABOK 7

Mac OS X Server QuickTime Streaming Server 5.0 の管理(バージョン 10.3 以降用)

23 Study on Generation of Sudoku Problems with Fewer Clues

21 e-learning Development of Real-time Learner Detection System for e-learning


企業内システムにおけるA j a x 技術の利用

2

16_.....E...._.I.v2006

HP cafe HP of A A B of C C Map on N th Floor coupon A cafe coupon B Poster A Poster A Poster B Poster B Case 1 Show HP of each company on a user scree

SOM SOM(Self-Organizing Maps) SOM SOM SOM SOM SOM SOM i

21 Quantum calculator simulator based on reversible operation

provider_020524_2.PDF

1: MaidSafe [1] Tornet [2] 2

,,,, : - i -

2013 Future University Hakodate 2013 System Information Science Practice Group Report biblive : Project Name biblive : Recording and sharing experienc

17 Proposal of an Algorithm of Image Extraction and Research on Improvement of a Man-machine Interface of Food Intake Measuring System

book.dvi

生活設計レジメ

44 4 I (1) ( ) (10 15 ) ( 17 ) ( 3 1 ) (2)

I II III 28 29

IT i


_KAIT.pptx

3D UbiCode (Ubiquitous+Code) RFID ResBe (Remote entertainment space Behavior evaluation) 2 UbiCode Fig. 2 UbiCode 2. UbiCode 2. 1 UbiCode UbiCode 2. 2

..,,,, , ( ) 3.,., 3.,., 500, 233.,, 3,,.,, i

4.1 % 7.5 %

13 RoboCup The Interface System for Learning By Observation Applied to RoboCup Agents Ruck Thawonmas

橡最新卒論

(1) i NGO ii (2) 112

DEIM Forum 2010 D Development of a La

FAX-760CLT

IPSJ SIG Technical Report Vol.2016-CE-137 No /12/ e β /α α β β / α A judgment method of difficulty of task for a learner using simple

Lite 2 45 ECHONET Lite ECHONET Lite [2], [3], [4], [5], [6], [7] IoT WoT Web [8] HEMS [9] ECHONET Lite ECHONET Lite ECHONET Lite ECHONET Lite ECHONET

24 LED A visual programming environment for art work using a LED matrix

Web Stamps 96 KJ Stamps Web Vol 8, No 1, 2004

〈論文〉興行データベースから「古典芸能」の定義を考える

農研機構 食品総合研究所 研究報告 77号

1 Fig. 1 Extraction of motion,.,,, 4,,, 3., 1, 2. 2.,. CHLAC,. 2.1,. (256 ).,., CHLAC. CHLAC, HLAC. 2.3 (HLAC ) r,.,. HLAC. N. 2 HLAC Fig. 2

Takens / / 1989/1/1 2009/9/ /1/1 2009/9/ /1/1 2009/9/30,,, i

,,,,., C Java,,.,,.,., ,,.,, i

Web Web Web Web 1 1,,,,,, Web, Web - i -

kut-paper-template.dvi

( )

三税協力の実質化 : 住民税の所得税閲覧に関する国税連携の効果

IPSJ SIG Technical Report Vol.2010-SLDM-144 No.50 Vol.2010-EMB-16 No.50 Vol.2010-MBL-53 No.50 Vol.2010-UBI-25 No /3/27 Twitter IME Twitte

2017 (413812)

DEIM Forum 2009 E

Sobel Canny i

本資料について


untitled

20 Method for Recognizing Expression Considering Fuzzy Based on Optical Flow

1: ( 1) 3 : 1 2 4

,,.,.,,.,.,.,.,,.,..,,,, i

Transcription:

28 WebRTC Design of multi-platform file sharing system using WebRTC 1170336 2017 2 28

WebRTC P2P,. Web,. WebRTC. WebRTC, P2P, i

Abstract Design of multi-platform file sharing system using WebRTC Harumi Tsukamoto In the system, such as performing file sharing to build a P2P network, it is necessary to install a dedicated application on the computer. In order to solve this problem, there is a file sharing service that runs on a web browser, but there are problems that the smartphone is not sufficiently dealt with, and there is a problem that it can not be used on a network with a proxy server. In this research, we propose a multi-platform file sharing system using WebRTC which can operate on multiple platforms and solve the above problem. key words WebRTC, P2P, MultiPlatform ii

1 1 2 P2P 2 2.1................... 2 2.2................... 2 3 4 3.1................................... 6 3.1.1 WebRTC............................... 6 3.1.2 OAuth................................. 6 4 7 4.1............................. 7 4.1.1 WebAPI................................ 7 4.2 WebRTC................................ 8 4.3................................... 8 4.4............................. 22 5 24 25 26 iii

3.1................................ 5 4.1 ( ).......... 10 4.2 ( ).......... 10 4.3 ( )....... 11 4.4 ( )........ 13 4.5 ( )........ 13 4.6 ( )...... 14 4.7 ( )........ 16 4.8 ( )........ 16 4.9 ( )...... 17 4.10 ( )....... 19 4.11 ( )....... 19 4.12 ( )..... 20 4.13 TRUN............................. 21 iv

3.1................................ 4 4.1............................... 22 4.2 Node.js............................. 23 v

1,, P2P.,,. P2P,., Web. Web,. WebAPI. 1

2 P2P P2P. Web HTTP. 2.1 Resilio Sync (BitTorrent Sync) storj. Resilio Sync BitTorrent, BitTorrent [1]. BitTorrent P2P [2] [3]. storj, P2P [4]. 2.2 reep.io DirectSEND reep.io WebRTC [5]. TURN TURN, 2

2.2 DirectSEND Websocket [6] 3

3,., Javascript HTML WebRTC STUN TURN. WebAPI., WebAPI OAuth. 3.1, 3.1. API STUN TURN WebRTC STUN TURN 3.1 4

APIサーバシグナリングTURN STUNサーバサーバサーバ Appサーバ ユーザ情報や送信先情報ファイル情報のやり取り 利 者 A ( 送信側 ) WebRTC ファイル転送 利 者 B ( 受信側 ) 利 者 C ( 送信側 ) WebRTC ファイル転送 利 者 D ( 受信側 ) 利 者 E ( 送信側 ) WebRTC ファイル転送 利 者 F ( 受信側 ) 3.1 5

3.1 3.1 3.1.1 WebRTC WebRTC(Web Real-Time Communication) W3C(World Wide Web Consortium)., WebRTC IETF (Internet Engineering Task Force) [7]. WebRTC Web P2P., WebRTC, NAT(NAPT) STUN (Session Traversal Utilities for NATs) P2P. WebRTC TURN(Traversal Using Relay around NAT). STUN TURN ICE(Interactive Connectivity Establishment) SDP(Session Description Protocol) WebRTC. 3.1.2 OAuth OAuth [8], (RFC6749 RFC6750) OAuth 2.0 2012. OAuth.. OAuth. 6

4 4.1 4.1.1 WebAPI Node.js WebAPI. WebAPI OAuth. WebAPI. WebAPI URL JSON JSON. 1.., ID. OAuth. 2..,,,.. 3.. ID,. 4. 7

4.2 WebRTC.., ID. WebRTC ID. WebRTC ID ID. 5.. 4.2 WebRTC WebRTC P2P. 1. WebAPI ID. 2. WebAPI ID. WebRTC. SDP. SDP WebRTC. 4.3. 4.1 4.3 ( ), 4.4 4.6 (WebAPI ) ( ). 4.10 4.12. 4.13 TURN. 8

4.3 1. ( 4.1 4.3) a Web, API. STUN,. b, API. STUN, WebRTC. c WebRTC WebRTC. 9

4.3 2 ファイル情報 3 通信 情報 Appサーバ APIサーバシグナリングサーバ STUNサーバ PC 1 ( 送信側 ) PC 2 ( 受信側 ) 4.1 ( ) 2 転送要求 3 通信 情報 Appサーバ APIサーバシグナリングサーバ STUNサーバ PC 1 ( 送信側 ) PC 2 ( 受信側 ) 4.2 ( ) 10

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ 2 ファイル転送 PC 1 ( 送信側 ) PC 2 ( 受信側 ) 4.3 ( ) 11

4.3 2. ( 4.4 4.6) a API. STUN, API. b, API. STUN, WebRTC. c WebRTC WebRTC. 12

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ スマホ ( 送信側 ) PC ( 受信側 ) 4.4 ( ) 2 転送要求 3 通信 情報 Appサーバ APIサーバシグナリングサーバ STUNサーバ スマホ ( 送信側 ) PC ( 受信側 ) 4.5 ( ) 13

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ 2 ファイル転送 スマホ ( 送信側 ) 4.6 PC ( 受信側 ) ( ) 14

4.3 3. ( 4.7 4.9) a Web, API. STUN,. b API. STUN, API WebRTC. c WebRTC WebRTC. 15

4.3 2 ファイル情報 3 通信 情報 Appサーバ APIサーバシグナリングサーバ STUNサーバ PC ( 送信側 ) スマホ ( 受信側 ) 4.7 ( ) Appサーバ APIサーバシグナリングサーバ STUNサーバ PC ( 送信側 ) スマホ ( 受信側 ) 4.8 ( ) 16

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ 2 ファイル転送 PC ( 送信側 ) 4.9 スマホ ( 受信側 ) ( ) 17

4.3 4. ( 4.10 4.12) a API. STUN, API. b API. STUN, API WebRTC. c WebRTC WebRTC. 18

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ スマホ 1 ( 送信側 ) スマホ 2 ( 受信側 ) 4.10 ( ) Appサーバ APIサーバシグナリングサーバ STUNサーバ スマホ 1 ( 送信側 ) スマホ 2 ( 受信側 ) 4.11 ( ) 19

4.3 Appサーバ APIサーバシグナリングサーバ STUNサーバ 2 ファイル転送 スマホ 1 ( 送信側 ) 4.12 スマホ 2 ( 受信側 ) ( ) 20

4.3 5. TURN 4.13 STUN TURN TURN. Appサーバ APIサーバシグナリングサーバ STUNサーバ TURN サーバ 2 ファイル転送 スマホ 1 ( 送信側 ) スマホ 2 ( 受信側 ) 4.13 TRUN 21

4.4 4.4, Nginx WebAPI. WebAPI Node.js. Node.js, JavaScript [9]. Web PeerJS Web. STUN TURN TURN STUN coturn. 4.1. Node.js PostgreSQL SQLite. STUN coturn STUN. CentOS 7.3 nginx 1.11.7 Web MariaDB 5.5.52 Node.js 7.2.1 JavaScript coturn 4.5.0.6 TURN & STUN 4.1 4.2 WebAPI. 22

4.4 bcrypt knex koa oauth2-server nodemailer node-uuid validator OAuth UUID 4.2 Node.js 23

5, P2P,. WebRTC Web. WebRTC ( ) WebAPI. P2P TURN. 24

,.,.,,,,,,,,,., 4. 25

[1] P2P BitTorrent Sync (1) P2P available at http://news.mynavi.jp/articles/2013/04/26/ bittorrentsync/, ( 2017-02-27) [2] P2P available at http://tenjin. coara.or.jp/seinfo/p2p.html, ( 2017-02-27) [3] : @nifty available at http://support.nifty.com/cs/suptopics/detail/090410000057/ 1.htm, ( 2017-02-27) [4] Storj - Decentralized Cloud Storage. available at https://storj.io, ( 2017-02-27). [5] reep.io peer-to-peer filesharing made easy. available at https://reep.io, ( 2017-02-27). [6] DirectSEND - available at https: //directsend.me, ( 2017-02-27) [7] AlanJohnson/ Daniel C. Burnett[ ] [ ] WebRTC P2P 2014 [8] TCP/IP 2015 [9] Node.js 2013 26