跳到主要內容

簡易檢索 / 詳目顯示

研究生: 劉逸文
Yi-Wen Liu
論文名稱: WebSocket代理伺服器群組頻道與伺服端動態快取機制
WebSocket Proxy for group channel and server active cache mechanism
指導教授: 曾黎明
Li-Ming Tseng
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系在職專班
Executive Master of Computer Science & Information Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 中文
論文頁數: 47
中文關鍵詞: 伺服器推送網頁雙向通訊WebSocket代理伺服器群組頻道重複性連線合併動態快取
外文關鍵詞: WebSocket proxy, channel group, active cache, combine duplicate connection
相關次數: 點閱:16下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 於現行的Web雙向通訊協定技術(Bi-directional web technologies)之中,以WebSocket效率優於其他Web雙向通訊技術(例如:Ajax),並在2011年由IETF定為通訊協定標準RFC 6455,以及W3C將WebSocket API列入為HTML5的標準。
    本論文專注於WebSocket通訊協定的效率討論,在互動性影音傳輸服務或WebTV使用WebSocket通訊協定的情況下,不同使用者點閱同一部影音資料時,會造成相同資料的重複傳輸,因此本論文運用WebSocket代理伺服器實作群組頻道機制,以及伺服端動態快取機制,用以改善資料重複傳輸的問題。
    群組頻道機制,利用使用者端請求達到驅動共用頻道,相同頻道請求的使用者,即可合併伺服器端相同資料的連線,將使用者端視為群組傳播,使之可用於節省網路頻寬,但其有完全相同連線才能合併的限制,因此本文再發展另一伺服端動態快取機制。伺服端動態快取則是利用伺服器端回應以驅動快取,若無共用分享下會增加額外快取控制的頻寬負擔,需要留意快取控制傳輸的效益。
    本論文也討論群組頻道及伺服端動態快取的分散式架構,使這兩種機制均可運用於互動性影音傳輸服務或WebTV,助於提升WebSocket通訊協定使用的效率,使得WebSocket通訊協定更適合運用於頻寬成本較高的網路環境中。


    With current bi-directional web technologies, the efficiency of WebSocket is superior to other bi-directional web communication technologies (for example: Ajax). In 2011, it was defined by IETF as the RFC 6455 standard, and WebSocket API has been incorporated by W3C as a standard for HTML5.

    This paper focuses on the discussion of the efficiency of WebSocket protocol. When WebSocket is used for interactive video services or WebTV, access to the same video from different users causes repeated transmission of the same data. Therefore, in this paper, WebSocket proxy is utilized as a mechanism to group channels and another server Active Cache mechanism is to resolve the issue of repeated data transmission.

    The group channel mechanism is driven by the request of end users. When users make request on the same channel, the connection to the same information on the server can be merged, and information can be transmitted to the users as a group to save network bandwidth. However, it is limited by the fact that only completely identical connection can be merged. Therefore, another server Active Cache mechanism is developed. It works by initiating caching based on response from the server. Although it can resolve the limitation on the channel grouping mechanism, it creates additional bandwidth load because of caching control. Therefore, there is a need to discuss the benefits of transmission via caching control.

    This paper also discusses the distribution architecture of both mechanisms in order to improve the efficiency of WebSocket protocol application and make WebSocket protocol more suitable for network environment with high bandwidth cost.

    中文摘要 I Abstract II 序言 III 目錄 V 圖表目錄 VII 第一章 緒論 1 1.1 研究背景 1 1.2 研究動機 1 1.3 研究目標 2 1.4 論文架構 4 第二章 相關研究 5 2.1 WebSocket代理伺服器 5 2.2 WebSocket代理伺服器頻寬節省 5 2.3 WebSocket通訊協定 6 2.3.1 HTTP雙向通訊 6 2.3.2 WebSocket優勢與劣勢 8 2.3.3 WebSocket運作細節 9 2.3.4 WebSocket安全課題 14 2.4 WebSocket系統實作 15 2.4.1 WebSocket代理伺服器實作 15 2.4.2 WebSocket實作發展 16 第三章 群組頻道及伺服端動態快取 17 3.1 群組頻道與伺服端動態快取的差異 17 3.2 群組頻道 18 3.3 伺服端動態快取 18 3.4 WebSocket群組頻道合併機制 19 3.5 WebSocket代理動態快取機制 21 第四章 系統實作及討論 23 4.1 群組頻道流程圖 23 4.2 伺服端動態快取流程圖 26 4.4 分散式架構 28 4.5 原型程式的限制 30 第五章 結論及未來方向 32 參考文獻 34 附錄 原型程式開發及原始碼 37 開發環境及編譯工具 37 WebSocket群組頻道原始碼 38 WebSocket伺服端動態快取原始碼 42

    [1] Berners-Lee, Tim, Roy Fielding, and H. Frystyk, "RFC 1945: Hypertext Transfer Protocol—HTTP/1.0, May 1996," RFC 1945 May 1996.
    [2] Bozdag, Engin, Ali Mesbah, and Arie Van Deursen, "Performance Testing of Data Delivery Techniques for AJAX Applications," Journal of Web Engineering, vol. 8, no. 4, pp.287–315, 2009
    [3] Grigorik, Ilya, "High Performance Browser Networking: What Every Web Developer Should Know about Networking and Web Performance," O'Reilly Media Inc. 2013.
    [4] I. Fette and A. Melnikov, "The WebSocket protocol, " Internet Engineering Task Force(IETF)RFC6455.
    [5] Wikipedia http://en.wikipedia.org/wiki/WebSocket
    [6] Fukai, Y., Hirano, Y., Itoh, Y., Saga, S., & Kubo, R., "Web Browser based GUI for TV," 2012 IEEE 1st Global Conference on Consumer Electronics, IEEE, 2012. pp.579-580.
    [7] Prins, Martin, Prins, M., Niamut, O., van Brandenburg, R., Macq, J. F., Rondao Alface, P., & Verzijp, N., "A hybrid architecture for delivery of panoramic video," Proceedings of the 11th european conference on Interactive TV and video. Association for Computing Machinery(ACM), 2013. 2013. pp. 99-106.
    [8] Igor Sysoev, "Nginx," http://nginx.org
    [9] Cao, Pei, Jin Zhang, and Kevin Beach, "Active cache: Caching dynamic contents on the web," Distributed Systems Engineering 6.1(1999): 43.
    [10] Garrett, Jesse James, "Ajax: A new approach to web applications," Adaptive path,2005(http://www.adaptivepath.com/ideas/ajax-new-approach-web-
    applications)
    [11] Laine, Markku, and Kalle Säilä., "Performance Evaluation of XMPP on the Web (2012)," Aalto University, Tech. Rep., 2012(http://media.tkk.fi/webservices/
    personnel/markku_laine/performance_evaluation_of_xmpp_on_the_web.pdf)
    [12] Gutwin, Carl A., Michael Lippold, and T. C. Graham, "Real-time groupware in the browser: testing the performance of web-based networking," Proceedings of the Association for Computing Machinery(ACM)2011 conference on Computer supported cooperative work.(pp. 167-176)
    [13] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., & Berners-Lee, T., "Hypertext transfer protocol–HTTP/1.1, 1999," RFC2616
    [14] Tanenbaum, Andrew S, "Computer networks.(5th Edition)," Englewood Cliffs (NY): Prentice-Hall, 2010.
    [15] Koch, Robert, "On WebSockets in Penetration Testing," Faculty of Informatics at the Vienna University of Technology. (http://www.ub.tuwien.ac.at/dipl/2013/
    AC07815487.pdf)
    [16] Wang, Vanessa, Frank Salim, and Peter Moskovits, "The WebSocket API," The Definitive Guide to HTML5 WebSocket. Apress, 2013. pp.13-32.
    [17] WebSocket Protocol Registries http://www.iana.org/assignments/websocket/websocket.xml
    [18] Huang, L. S., Chen, E. Y., Barth, A., Rescorla, E., & Jackson, C., "Talking to yourself for fun and profit," Proceedings of Web 2.0 Security & Privacy(W2SP)(2011): pp.1-11. IEEE Computer Society, May 2011.
    [19] Lubbers, P., "How html5 web sockets interact with proxy servers(2010)," http://www.infoq.com/articles/Web-Sockets-Proxy-Servers
    [20] Khare, Rohit, and Scott Lawrence, "Upgrading to TLS within HTTP/1.1," RFC 2817, May, 2000.
    [21] Yu, Guo, Hiranaka Yukio, and Akatsuka Takao, "Autonomic buffer control of web proxy server," Worldwide Computing and Its Applications—WWCA'98. Springer Berlin Heidelberg, 1998. pp.428-438.
    [22] Peter Thorson, "websocketpp," http://www.zaphoyd.com/websocketpp
    [23] Meyers, Scott, "Effective STL: 50 specific ways to improve your use of the standard template library," Pearson Education, 2001.
    [24] Boost C++ Libraries http://www.boost.org/
    [25] Krishnamurthy, Balachander, and Jennifer Rexford, "Web protocols and practice: HTTP/1.1, Networking protocols, caching, and traffic measurement, " Addison-Wesley, 2001.

    QR CODE
    :::