(Special Paper) 24 2, 2019 3 (JBE Vol. 24, No. 2, March 2019) https://doi.org/10.5909/jbe.2019.24.2.251 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) WebRTC P2P DASH a), a), b), b), a) A transport-history-based peer selection algorithm for P2P-assisted DASH systems based on WebRTC Ju Ho Seo a), Seong Hyun Choi a), Sang Jin Kim b), Jae Young Jeon b), and Yong Han Kim a) CDN(Content Delivery Network). CDN WebRTC(Web Real-Time Communication) P2P(Peer-to-Peer) DASH(Dynamic Adaptive Streaming over HTTP)., (peer), CDN., CDN. Abstract Recently the huge demand for Internet media streaming has dramatically increased the cost of the CDN (Content Delivery Network) and the need for a means to reduce it is increasing day by day. In this situation, a P2P-assisted DASH technology has recently emerged, which uses P2P (Peer-to-Peer) communications based on WebRTC (Web Real-Time Communication) standards to reduce the CDN cost. This paper proposes an algorithm that can significantly improve CDN cost savings in this technology by selecting peers based on the transport history. Also we implemented this algorithm in an experimental system and, after setting experimental conditions that emulate the actual mobile network environment, we measured the performance of the experimental system. As a result, we demonstrated that the proposed algorithm can achieve higher CDN cost savings compared to the conventional algorithm where peers are selected at random. Keywords: P2P-assisted streaming, DASH, WebRTC, CDN cost savings a) (Department of Electrical and Computer Engineering, Graduate School, University of Seoul) b) SBS(SBS Co. Ltd.) Corresponding Author : (Yong Han Kim) E-mail: yhkim@uos.ac.kr Tel: +82-2-6490-2330 ORCID: https://orcid.org/0000-0001-9470-6060 This work was supported by Institute of Information & Communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT). (2017-0-00176, Hybrid Platform and Service Technology Development Based on Terrestrial UHD Broadcast) 2018. Manuscript received January 15, 2019; Revised March 11, 2019; Accepted March 11, 2019. Copyright 2019 Korean Institute of Broadcast and Media Engineers. All rights reserved. This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.
(JBE Vol. 24, No. 2, March 2019). 2012 90% [1]. HTTP. CDN(Content Delivery Network) HTTP (cache), CDN.,, ISP(Internet Service Provider) HTTP, CDN HTTP CDN. CDN CDN HTTP. WebRTC API(Application Programming Interface) [2] WebRTC,,. WebRTC P2P HTTP [3]. Roverso [4] SmoothCache, WebRTC. [3] Hive, HTTP DASH. Hive DASH (segment), CDN, (peer) DASH CDN HTTP. QoS(Quality of Service) CDN., P2P, WebRTC, API,, (plug-in). [3] P2P,.. CDN., P2P CDN CDN (P2P / ). Hive [3], Varma [5] DASH HLS(HTTP Live Streaming) [6] LAN Hive CDN 75%., Liu [7] P2P CDN. SmoothCache [4] Hive [3] (mesh) P2P (overlay), [7] (tree) P2P. P2P,,, Hive, SmoothCache (throughput)., (client) P2P P2P
Hive. SmoothCache, SmoothCache [4]. [5]., Hive CDN.. II WebRTC P2P DASH Hive, III. IV, V. VI. II. WebRTC P2P DASH 1. WebRTC P2P DASH (tracking), (signaling),, 4. P2P.., P2P GUID(Globally Unique Identifier). P2P IP. P2P IP.. DASH CDN. P2P (source)., DASH MPD(Media Presentation Description) URL Hive. 2. P2P 4 WebRTC P2P DASH P2P [8] 1., P2P GUID. GUID 15 5. GUID 5 15,. 10 GUID. WebRTC API SDP(Session Description Protocol) [9] IP IP SDP. Offer/Answer SDP. GUID. WebRTC DataChannel, P2P WebRTC DataChannel. WebRTC DataChannel (neighbor).
(JBE Vol. 24, No. 2, March 2019) 1. P2P DASH P2P Fig. 1. P2P connection process for P2P-assisted DASH 3. DASH P2P DASH 2. P2P ID, ID. ID GUID (index). ID. ID. Hive,,., ID. P2P. 2. P2P Fig. 2. Transmission and reception process of DASH segments using P2P
WebRTC P2P DASH 3., (websocket)., XHR(XmlHttpRequset) HTTP. P2P, UDP WebRTC DataChannel. DASH,, DASH. Hive (stack) [3]. 4. Fig. 4. Peer selection algorithm using random method 3 Hive Fig. 3. The client-side structure of the Hive system III. [3] 4. ID.,.,. P2P CDN. P2P DASH. (random) P2P, P2P
(JBE Vol. 24, No. 2, March 2019). CDN.. IV., RTT(Round-Trip Time). 5. Fig. 5. Peer selection algorithm using priority
5. ID (priority).,. 1 5. P2P, (default) 3. P2P., 2 (ping) RTT. 4. ( / ).,.,. RTT. 2, 1,200KB/s 1, 2,400KB/s 1., 1,200KB/s 2,400KB/s. 2,400KB/s LTE [10] (upload) 4.05MB/s.,, 5.,,.. CDN. RTT,. RTT, RTT., RTT. V RTT. V. 1. WebRTC (69.0.3497.81 )., DASH-IF(Industry Forum), 91MB 260s Envivio DASH [11]. NetBalancer(9.12.9 ) [12].,, Hive [13]., Hive, (15 ),
(JBE Vol. 24, No. 2, March 2019) (5 ), P2P (10 ), (5 ), DASH (10 ) Hive. 9,. CDN (P2P / ). 9 0, 2, 4, 6, 8 5, 3 CDN., 2017 [10] LTE, 15.85MB/s 4.05MB/s,,, 200KB/s., 30ms.,,. 9 4, 5, 2,. 2. 6.,. 6, CDN. 6. Fig. 6. Performance comparison of the two algorithms. CDN.. CDN. CDN 100%., CDN. 5, 4 15. 5,. 6 8.
. 8,, 10%, 93% CDN.. 7,. 7 9, 8,, (0 ) (64 ). 7 1 8 9, CDN source. *,. 3, 7 RTT 3., 30msec, 3, 1, 7, 8 9. 9 RTT, 9.,, RTT,., RTT,., 1 8, 9. DASH, DASH 7. 8 Fig. 7. Peers selected for segment requests in the experiment with 8 throttled peers
(JBE Vol. 24, No. 2, March 2019), 3. 3, 7., 1,200KB/s 3 2, 1. 3., CDN. 1, 7, 8 3 1.. 9, 9 2,400KB/s 4,., 5. 9. CDN. CDN. 8. CDN, 3, 86.53%. 8 1 ~ 5, 6 ~ 9, 2 1 ~ 5, 6 ~ 9. 8 7. 7. 5, 9., 9 41 42 8. Fig. 8. Delivering peers according to segment order of additional experiment
5 3, 3 1. 1 5 9 3,. 7 8, 6(DASH 2 ), 7, 1. CDN. 7 8,.. CDN.,.. Hive.,,. CDN. CDN (tradeoff)., P2P Hive QoS. Hive DASH CDN,. Hive DASH, CDN.,., DASH DASH. Hive QoS. Hive. CDN., CDN,. Hive QoS., Hive CDN, QoS., QoS. VI. WebRTC P2P DASH
(JBE Vol. 24, No. 2, March 2019) CDN VoD(Video-on-Demand).,. CDN., CDN... (live).., CDN. P2P QoS.,.,. (References) [1] H. Tsukayama, Youtube: The future of entertainment is on the web, https://www.washingtonpost.com/business/technology/youtubethe-future-of-entertainment-is-on-the-web/2012/01/12/ giqadpdbup_story.html?utm_term=.82f602999ad5 (accessed Dec 26, 2018). [2] W3C, WebRTC 1.0: Real-time Communication between Browsers, https://w3c.github.io/webrtc-pc/, Sept. 2018. [3] R. Roverso and M. H ogqvist, Hive.js: Browser-Based Distributed Caching for Adaptive Video Streaming in 2014 IEEE International Symposium on Multimedia, pp. 143-146, 2014. [4] R. Roverso, S. El-Ansary, and S. Haridi, Smoothcache: Http-live streaming goes peer-to-peer, in IFIP NETWORKING 2012, pp. 29-43, May 2012. [5] M. Varma, H. K. Yarnagula, and V. Tamarapalli, "WebRTC-based peer assisted framework for HTTP live streaming," Proceedings of the 9th International Conference on Communication Systems and Networks (COMSNETS), pp. 415-416, Jan., 2017. [6] R. Pantos and W. May, HTTP Live Streaming, IETF RFC 8216, Aug. 2017. [7] J. Liu, L. Shang, H. Jin, et al., Bluetooth P2P Architecture for Transporting Streaming Media on the Internet, 2009 IEEE IMSAA, Dec. 2009. [8] B. Sredojev, D. Samardzija, and D. Posarac. WebRTC technology overview and signaling solution design and implementation in 2015 38th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pp. 1006-1009, May 2015. [9] M. Handley, V. Jacobson, and C. Perkins, SDP: Session Description Protocol, IETF RFC 4566, July 2006. [10] MSIT (Ministry of Science and Information Technology) Press Release, Quality assessment results of 2017 telecommunication services, https://www.msit.go.kr/web/msipcontents/contentsview.do?cateid =mssw311&artid=1371275, Dec. 26, 2017. [11] Dash media server, http://dash.edgesuite.net/envivio/. [12] Netbalancer, https://netbalancer.com/. [13] Https://github.com/Peerialism/hive.js.
- 2017 8 : - 2017 9 ~ : - ORCID : https://orcid.org/0000-0002-7140-0816 - :, P2P, - 2017 2 : - 2019 2 : - ORCID : https://orcid.org/0000-0002-3207-0463 - :,, - 1989 2 : () - 1991 2 : ( ) - 2018 2 : (Ph.D.) - 2016 ~ 2017 : SBS - 2018 ~ : SBS - 2016 ~ : TTA TC8( ) - 2015 ~ : TTA PG802 - ORCID : https://orcid.org/0000-0003-2142-4972 - :, - 2014 2 : (KAIST) - 2014 1 ~ : ( ) SBS(Seoul Broadcasting System) - ORCID : https://orcid.org/0000-0002-5501-0703 - :, - 1982 2 : () - 1984 2 : ( ) - 1990 12 : (Rensselaer Polytechnic Institute, RPI) (Ph.D.) - 1984 3 ~ 1996 3 : ( ) - 1991 10 ~ 1992 9 : NTT - 1996 3 ~ : - 2017 1 ~ 2017 12 : - 2014 1 ~ : ( ) - 2000 1 ~ : MPEG( MPEG ) / - ORCID : https://orcid.org/0000-0001-9470-6060 - :,,