跳到主要內容

臺灣博碩士論文加值系統

(44.200.101.84) 您好!臺灣時間:2023/09/25 14:04
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:陳宣甫
研究生(外文):CHEN, HSUAN-FU
論文名稱:利用函式呼叫圖分析大型專案的可能效能瓶頸:以WebRTC為例
論文名稱(外文):Using Function Call Graphs to Analyze Possible Performance Bottlenecks of Large-Scale Projects: A Case Study with WebRTC
指導教授:林啟芳
指導教授(外文):LIN, CHI-FANG
口試委員:王任瓚范欽雄
口試委員(外文):WANG, RAN-ZANFAHN, CHIN-SHYURNG
口試日期:2023-07-21
學位類別:碩士
校院名稱:元智大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2023
畢業學年度:111
語文別:中文
論文頁數:65
中文關鍵詞:即時傳輸網頁即時通訊呼叫圖效能分析可能效能瓶頸
外文關鍵詞:Real-Time CommunicationWeb Real-Time Communication (WebRTC)Call GraphPerformance AnalysisPossible Performance Bottlenecks
相關次數:
  • 被引用被引用:0
  • 點閱點閱:34
  • 評分評分:
  • 下載下載:4
  • 收藏至我的研究室書目清單書目收藏:0
在最近幾年,由於網際網路與行動裝置的快速發展與普及,對於實時影音串流(real time video streaming)的需求日漸增多,例如現場直播、線上會議、遠距教學等,為了確保視訊在傳輸過程中的穩定性與順暢度,必須不斷發展與制定新的視訊串流協議來保證傳輸品質的維持。
在眾多的協議中,本論文選擇分析WebRTC的視訊傳輸效能,因為WebRTC的普及度甚高,在傳輸延遲部分也是到目前為止仍可被接受的協議之ㄧ。影響WebRTC傳輸效能的因素很多,本論文利用自行架設的WebRTC即時通訊系統,並繪製出WebRTC的函式呼叫圖,再藉由此函式呼叫圖進一步分析出WebRTC四個主要模組,分別為SDP、DTLS、ICE、及SRTP的可能效能瓶頸(Possible Performance Bottlenecks)。最後實驗結果顯示SDP的可能效能瓶頸在函式PushdownMediaDescription。DTLS與SRTP兩者可能效能瓶頸在函式OnReadPacket及OnSentPacket。最後ICE的可能效能瓶頸為函式HandleInComing及OnReadPacket。

In recent years, the rapid development and widespread use of the Internet and mobile devices have led to a growing demand for real-time video streaming, for applications such as live broadcasts, online meetings, and distance learning. To ensure stability and fluidity in video transmission, it is necessary to continuously develop and formulate new video streaming protocols to ensure the maintenance of transmission quality.
Among various protocols, thesis chose to analyze the video transmission performance of WebRTC. WebRTC is highly popular, and its transmission latency remains acceptable to date. Several factors influence the performance of WebRTC. In this study, we established a WebRTC real-time communication system and drew a function call graph of WebRTC. Through this graph, we further analyzed the possible performance bottlenecks of the four major modules of WebRTC, namely, SDP, DTLS, ICE, and SRTP. The final results suggest that the potential performance bottleneck in SDP is in the PushdownMediaDescription function. Both DTLS and SRTP appear to have potential performance bottlenecks in the OnReadPacket and OnSentPacket functions. Finally, for ICE, potential performance bottlenecks are seen in the HandleInComing and OnReadPacket functions.

摘要 iii
致謝 vi
目錄 vii
表目錄 ix
圖目錄 x
第一章、 緒論 1
1.1 研究背景與動機 1
1.2 相關研究 2
1.3 方法概述 4
1.4 論文架構 5
第二章、 相關技術介紹 6
2.1 FFmpeg 6
2.2 防火牆簡介(Firewall) 7
2.3 函式呼叫圖(Call Graph) 10
2.4 WebRTC 12
第三章、 研究方法 18
3.1 研究架構及流程圖 18
3.2 WebRTC的建置架設 19
3.3 函式呼叫圖及函式執行時的時間計算 24
3.4 WebRTC溝通模組的架構圖 31
第四章、 實驗結果與討論 37
4.1 實驗環境 37
4.2 測試結果與分析 38
第五章、 結論與未來工作 50
5.1 結論 50
5.2 未來工作 50
參考文獻 51

[1]N. J. N. g. m. n. Alliance, white paper, "5G white paper," vol. 1, no. 2015, 2015.
[2]S. Loreto and S. P. Romano, Real-time communication with WebRTC: peer-to-peer in the browser. " O'Reilly Media, Inc.", 2014.
[3]Streaming Protocols WOWZA [Online]. Available: https://www.wowza.com/blog/streaming-protocols
[4]Iab. Live Video Streaming: A Global Perspective [Online]. Available: https://www.iab.com/insights/live-video-streaming-2018/
[5]MPEG-DASH [Online]. Available: https://mpeg.chiariglione.org/standards/mpeg-dash
[6]R. Pantos and W. May, "HTTP live streaming," 2070-1721, 2017.
[7]T. Kinoshita and H. J. J. o. A. i. C. N. Hisamatsu, "Low Latency Live Streaming System with Congestion Control," vol. 9, no. 1, 2021.
[8]P. Cluff. The community gave us low-latency live streaming. Then Apple took it away. [Online]. Available: https://www.mux.com/blog/the-community-gave-us-low-latency-live-streaming-then-apple-took-it-away
[9]A. Kaur and S. Singh, "A Survey of Streaming Protocols for Video Transmission," in Proceedings of the International Conference on Data Science, Machine Learning and Artificial Intelligence, 2021, pp. 186-191.
[10]Flash & the Future of Interactive Content [Online]. Available: https://blog.adobe.com/en/publish/2017/07/25/adobe-flash-update
[11]A. Aloman, A. Ispas, P. Ciotirnae, R. Sanchez-Iborra, and M.-D. Cano, "Performance evaluation of video streaming using MPEG DASH, RTSP, and RTMP in mobile networks," in 2015 8th IFIP Wireless and Mobile Networking Conference (WMNC), 2015, pp. 144-151: IEEE.
[12]SRT Open Source Protocol [Online]. Available: https://www.haivision.com/products/srt-secure-reliable-transport/
[13]J. Jang-Jaccard, S. Nepal, B. Celler, and B. J. C. Yan, "WebRTC-based video conferencing service for telehealth," vol. 98, no. 1-2, pp. 169-193, 2016.
[14]D. Ammar, K. De Moor, M. Xie, M. Fiedler, and P. Heegaard, "Video QoE killer and performance statistics in WebRTC-based video communication," in 2016 IEEE Sixth International Conference on Communications and Electronics (ICCE), 2016, pp. 429-436: IEEE.
[15]M. Schmitt, S. Gunkel, P. Cesar, and D. Bulterman, "Asymmetric delay in video-mediated group discussions," in 2014 sixth international workshop on quality of multimedia experience (QoMEX), 2014, pp. 19-24: IEEE.
[16]J. B. Husić, A. Alić, S. Baraković, and M. Mrkaja, "QoE Prediction of WebRTC Video Calls Using Google Chrome Statistics," in 2021 20th International Symposium INFOTEH-JAHORINA (INFOTEH), 2021, pp. 1-6: IEEE.
[17]K. Brunnström et al., "Qualinet white paper on definitions of quality of experience," 2013.
[18]J. B. Husić, S. Baraković, and A. Veispahić, "What factors influence the quality of experience for WebRTC video calls?," in 2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2017, pp. 428-433: IEEE.
[19]FFmpeg Protocols [Online]. Available: https://ffmpeg.org/ffmpeg-protocols.html
[20]H. J. T. Abie, "An overview of firewall technologies," vol. 96, no. 3, pp. 47-52, 2000.
[21]K. Egevang and P. Francis, "The IP network address translator (NAT)," 2070-1721, 1994.
[22]D. Anderson. How NAT traversal works [Online]. Available: https://tailscale.com/blog/how-nat-traversal-works/
[23]D. Grove, G. DeFouw, J. Dean, and C. Chambers, "Call graph construction in object-oriented languages," in Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, 1997, pp. 108-124.
[24]E. Gansner, E. Koutsofios, and S. North, "Drawing graphs with dot," ed: Technical report, AT&T Research. URL https://labs.onb.ac.at/gitlab/wobweger/h_howto/-/raw/8e8aed73e99899f2f2447098343e83cfd6481bba/0_gen/x_gv/dotguide.pdf, 2006.
[25]J. Ellson, E. R. Gansner, E. Koutsofios, S. C. North, and G. J. G. d. s. Woodhull, "Graphviz and dynagraph—static and dynamic graph drawing tools," pp. 127-148, 2004.
[26]G. Antal, P. Hegedus, Z. Tóth, R. Ferenc, and T. Gyimóthy, "Static javascript call graphs: A comparative study," in 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), 2018, pp. 177-186: IEEE.
[27]gunar. js_call_graph [Online]. Available: https://www.npmjs.com/package/callgraph
[28]tceetree [Online]. Available: https://sourceforge.net/projects/tceetree/
[29]W3C_IETF_Webrtc [Online]. Available: https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en
[30]Z. T. Nayyef, S. F. Amer, Z. J. I. J. o. E. Hussain, and Technology, "Peer to peer multimedia real-time communication system based on WebRTC technology," vol. 7, no. 2.9, pp. 125-130, 2018.
[31]E. A. TARIM and H. C. Tekin, "Performance evaluation of WebRTC-based online consultation platform," vol. 27, no. 6, pp. 4314-4327, 2019.
[32]MDN WebRTC [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
[33]J. Rosenberg, "Interactive connectivity establishment (ICE): A protocol for network address translator (NAT) traversal for offer/answer protocols," 2070-1721, 2010.
[34]Heroku [Online]. Available: https://www.heroku.com/
[35]WebRTC_Firebase [Online]. Available: https://webrtc.org/getting-started/firebase-rtc-codelab?hl=zh-tw
[36]WebRTC_Coturn [Online]. Available: https://webrtc.org/getting-started/turn-server?hl=zh-tw
[37]stun_turn_server_list [Online]. Available: https://gist.github.com/sagivo/3a4b2f2c7ac6e1b5267c2f1f59ac6c6b
[38]Coturn_project [Online]. Available: https://github.com/coturn/coturn
[39]Trickle ICE [Online]. Available: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
[40]NPM_Website [Online]. Available: https://www.npmjs.com/
[41]UglifyJS [Online]. Available: https://github.com/mishoo/UglifyJS
[42]Kcachegrind [Online]. Available: https://kcachegrind.github.io/html/Home.html
[43]D. v. Heesch. doxygen [Online]. Available: https://www.doxygen.nl/
[44]V. Jacobson. SDP: Session Description Protocol [Online]. Available: https://datatracker.ietf.org/doc/html/rfc2327
[45]N. Modadugu. Datagram Transport Layer Security [Online]. Available: https://datatracker.ietf.org/doc/html/rfc4347
[46]E. Rescorla. TLS Handshake [Online]. Available: https://datatracker.ietf.org/doc/html/rfc5246#section-7.3
[47]N. Modadugu. DTLS handshake [Online]. Available: https://datatracker.ietf.org/doc/html/rfc6347#section-4.2.4
[48]言劍. WebRTC ICE and NAT [Online]. Available: https://zhuanlan.zhihu.com/p/351105085
[49]E. C. M. Naslund, K. Norrman. The Secure Real-time Transport Protocol (SRTP) [Online]. Available: https://datatracker.ietf.org/doc/html/rfc3711


QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top