簡易檢索 / 詳目顯示

研究生: 戴驛權
Tai, Yi-Chuan
論文名稱: X視窗應用程式分享系統之設計與實作
The Design and Implementation of Application Sharing System for X Window
指導教授: 陳 敬
Chen, Jing
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 84
中文關鍵詞: 桌面分享X視窗系統
外文關鍵詞: Remote desktop sharing, X Window
相關次數: 點閱:56下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著網際網路(Internet)使用的普遍化,日常生活中不論在桌上型電腦、筆記型電腦、甚至各種手持式裝置之系統中,瀏覽器(Browser)已經成為必備的應用程式之一。為此本論文設計並建立一X視窗應用程式分享系統,可以分享遠端主機之X應用程式給不同使用者操作。不同於一般桌面分享是採用分享完整桌面方式,本論文採用以單一應用程式分享之方式;透過擷取X Server之應用程式畫面與網頁伺服器結合,讓使用者以瀏覽器為通用平台,操作遠端主機提供之X應用程式。因此本論文之目的在於透過此應用程式分享系統,讓遠端主機之應用程式得以被分享;使用者操作時僅需透過本地平台配備之瀏覽器,便可以使用遠端主機執行之X應用程式,而且無須事先於本地平台上安裝額外的工具程式或瀏覽器外掛(plug-in)。
    本論文實作內容包含:偵測X 應用程式執行之畫面更新與應用程式畫面擷取機制、使用者輸入事件處理機制,以及建立網頁伺服器與本論文實作之伺服器端應用程式間溝通協議等。為了使本論文實作之伺服器端應用程式與網頁伺服器間能進行訊息傳遞,本論文使用XML-RPC為基礎。XML-RPC是一種可以透過網路執行遠端程序呼叫之技術,並且利用延伸式描述語言(XML)可跨平台的特性,這些呼叫可以在不同之作業系統或異質環境下執行。因此本論文主要貢獻在於提供一基於網際網路,使X 應用程式能隨時隨地於Web應用環境下使用並且可以分享給不同之使用者操作之應用程式分享系統。

    Browser, a must-have application in Internet environment, has become a part of our daily life. This thesis presents the design and implementation of an application sharing system for X Window. The goal is to provide an application sharing model of using a browser to run X applications on remote hosts. It allows users to share the X applications running on remote host. The sharing mechanism is different from the remote desktop sharing; it is flexible for users to run applications on different servers over the Internet. In addition, no software other than browser is needed at user side and no plug-in installation in the browser is required. Therefore, X applications are made accessible from any browser.
    The design of this remote application sharing system includes three parts, namely screen update handler, user input handler, and server side communication mechanism. The server side communication mechanism handles the communication between web server and X applications running at remote servers which are not necessarily the same server. In order to coping the challenges in communication, the XML-RPC technology is adopted, which allows the software running on disparate operating systems and in different environments to make procedure calls over the Internet.
    The main contribution of this thesis is providing a more convenient way of using existing X applications over Internet communication, so that X applications will have no limitations in the implementation of Web application environments, and thus can be executed in anywhere, at anytime, by anyone using a browser.

    第一章 緒 論 1 1.1 研究背景 1 1.1.1 Web 2.0 1 1.1.2 WebOS 2 1.2 研究動機與目的 2 1.3 章節規劃 4 第二章 相關研究 5 2.1 桌面分享相關研究 5 2.1.1 Yuuguu 5 2.1.2 ShowMyPC 7 2.1.3 SkyFex 8 2.1.4 LogMeIn 10 2.1.5 討論 11 2.2 網頁客戶端與伺服器端互動模型 12 2.3 X視窗系統 15 2.3.1 X Server 16 2.3.2 X Client 16 2.3.3 X Protocol 17 2.3.4 X Window Manager 17 2.4 討論 17 第三章 系統設計與架構 19 3.1 系統架構 22 3.2 X Agent 24 3.2.1 X Agent與Web Server之間溝通機制 25 3.2.2 X Agent內部訊息傳遞機制 26 3.2.3 請求監控程序 27 3.2.4 畫面擷取程序 28 3.2.5 畫面更新處理程序 30 3.2.6 使用者端輸入處理程序 32 3.3 X Agent Manager 33 3.4 Application Launcher 34 第四章 系統實作 37 4.1 系統實作環境 37 4.2 系統實作架構 38 4.3 X Agent實作 39 4.3.1 請求監控程序實作 41 4.3.2 使用者互動代理程式實作 43 4.3.3 畫面擷取程序實作 46 4.3.3.1 處理map request之實作 48 4.3.3.2 處理unmap request之實作 54 4.3.3.3 處理mapnotify request之實作 54 4.3.4 接收網頁伺服器發送之請求實作 55 4.3.4.1 畫面更新處理程序實作 57 4.3.4.2 使用者端輸入處理程序實作 60 4.4 Application Launcher實作 62 4.5 X Agent Manager實作 66 第五章 系統測試與效能分析 67 5.1 系統測試環境 67 5.2 系統功能驗證 70 5.2.1 Application Launcher功能驗證 71 5.2.2 X Agent Manager功能驗證 72 5.2.3 X Agent功能驗證 73 5.3 系統效能測試 77 第六章 結論與展望 79 6.1 結論 79 6.2 未來展望 79 參考文獻 81

    [1] Linda Dailey Paulson, Building Rich Web Applications with Ajax, IEEE Computer, Volume 38, Issue 10, 2005.
    [2] George Lawton, New Ways to Build Rich Internet Applications, IEEE Computer, Volume 41, Issue 8, 2008.
    [3] Zhijie Lin, Jiyi Wu, Qifei zhang, and Hong Zhou, Research on Web Applications Using Ajax New Technologies, Proceedings of International Conference on Multimedia and Information Technology, 2008.
    [4] Jesse James Garrett, Ajax: A New Approach to Web Applications. http://www.adaptivepath.com/ideas/essays/archives/000385.php, 2005.
    [5] Tim O’Reilly, What is Web 2.0, http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html, 2005.
    [6] Web 2.0, http://en.wikipedia.org/wiki/Web_2.0.
    [7] Amin Vahdat, Michael Dahlin, Paul Eastham, and Chad Yoshikawa, WebOS Software Support for Scalable Web Services, The 6th Workshop on Hot Topics in Operating Systems, 1997.
    [8] Atero Taivalsarri, Tommi Mikkonen, Dan Ingalls, and Krzysztof Palacz, Web Browser as an Application Platform, Proceeding of the 34th Euromicro Conference Software Engineering and Advanced Applications, 2008.
    [9] Chromium OS, http://www.chromium.org/chromium-os.
    [10] Google App Engine, http://code.google.com/intl/zh-TW/appengine.
    [11] Remote Desktop Software, http://en.wikipedia.org/wiki/Remote_desktop_software.

    [12] Virtual Network Computing., http://en.wikipedia.org/wiki/Virtual_Network_Computing.
    [13] Windows Remote Desktop Services, http://en.wikipedia.org/wiki/Remote_Desktop_Services.
    [14] Yuuguu, http://www.yuuguu.com/home.
    [15] B/S Architecture(Browser/Server), http://zh.wikipedia.org/wiki/瀏覽器-伺服器.
    [16] ShowMyPC, http://showmypc.com.
    [17] SkyFex, http://skyfex.com.
    [18] LogMeIn, https://secure.logmein.com.
    [19] ActiveX, http://en.wikipedia.org/wiki/ActiveX.
    [20] 洪義欣, WebOS架構之設計與實作, 國立成功大學, 2009.
    [21] Farrell, J., Nezlek, G.S., “Rich Internet Applications The Next Stage of Application Development”, Proceedings the 29th International Conference on Electrical and Electronics Engineering, 2007.
    [22] Zepeda, J.S., Chapa, S.V., “From Desktop Applications Towards Ajax Web Applications”, Proceedings the 4th International Conference on Information Technology Interfaces, 2007.
    [23] 網頁模型比較圖, http://www.adaptivepath.com/ideas/essays/archives/000385.php.
    [24] X Window System, http://en.wikipedia.org/wiki/X_window_system.
    [25] X.Org, http://www.x.org/wiki.
    [26] Windowing system, http://en.wikipedia.org/wiki/Windowing_system.
    [27] GNOME, http://www.gnome.org.
    [28] KDE, http://www.kde.org.
    [29] Network transparency, http://en.wikipedia.org/wiki/Network_transparency.
    [30] X Protocol, http://en.wikipedia.org/wiki/X_Window_System_core_protocol.
    [31] X Server, http://en.wikipedia.org/wiki/X.Org_Server
    [32] X Window Manager, http://en.wikipedia.org/wiki/X_window_manager.
    [33] Pull technology, http://en.wikipedia.org/wiki/Pull_technology.
    [34] Window ID, http://fanqiang.chinaunix.net/a6/b9/20011008/1500011420_b.html.
    [35] PID, http://en.wikipedia.org/wiki/Process_identifier
    [36] XML-RPC Specification, http://www.XML-RPC.com/spec/.
    [37] XImage, http://en.wikipedia.org/wiki/XImage.
    [38] JPEG影像格式, http://en.wikipedia.org/wiki/JPEG.
    [39] GTK+, http://www.gtk.org.
    [40] XML-RPC-c-1.06.38套件, http://sourceforge.net/projects/XML-RPC-c/files/.
    [41] Unix Socket Server, http://en.wikipedia.org/wiki/Unix_domain_socket
    [42] Matchbox, http://en.wikipedia.org/wiki/Matchbox_(window_manager).
    [43] Xlib, http://en.wikipedia.org/wiki/Xlib.
    [44] Modifier_key, http://en.wikipedia.org/wiki/Modifier_key.
    [45] XOpenDisplay, http://tronche.com/gui/x/xlib/display/opening.html.
    [46] XDamage Extension, http://webcvs.freedesktop.org/xlibs/DamageExt/protocol?revision=1.3.
    [47] XFixes Extension, http://webcvs.freedesktop.org/xlibs/FixesExt/protocol?revision=1.4.
    [48] Xdotool, http://www.semicomplete.com/projects/xdotool/.
    [49] XTEST Extension Protocol, www.x.org/docs/Xext/xtest.pdf.

    下載圖示 校內:2012-09-09公開
    校外:2012-09-09公開
    QR CODE