| 研究生: |
戴驛權 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] 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.