(3.235.108.188) 您好!臺灣時間:2021/03/03 20:13
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:林庭延
研究生(外文):Ting-YenLin
論文名稱:XBinder之設計與實作
論文名稱(外文):The Design and Implementation of XBinder
指導教授:陳敬陳敬引用關係
指導教授(外文):Jing Chen
學位類別:碩士
校院名稱:國立成功大學
系所名稱:電腦與通信工程研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2015
畢業學年度:103
語文別:中文
論文頁數:102
中文關鍵詞:AndroidBinderIPCRPC遠端服務
外文關鍵詞:AndroidBinderIPCRPCRemote Cooperative
相關次數:
  • 被引用被引用:1
  • 點閱點閱:122
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:5
  • 收藏至我的研究室書目清單書目收藏:0
隨著行動裝置日趨普及,行動裝置已成為多樣化應用之平台。然而行動應用程式之發展仍受限於硬體平台之限制,將行動應用程式佈署於伺服器執行,可克服行動裝置計算能力、資源、電池容量有限等問題。然而,此一架構僅適用於可獨立運作之應用程式,尚不足以支援執行於遠端之程式需要與執行於行動計算平台之程式互相合作之服務模式。為此,本論文以Linux作業系統環境為基礎設計並實作一XBinder,並以Android系統為示範,使執行於Linux伺服器之服務能與遠端Android應用程式相互合作。

本文闡述XBinder之設計與實作。使用者透過此XBinder能達到四項好處:(1)Linux與Android系統之行程能遠端溝通;本論文設計之XBinder能安裝於Android、Linux系統平台上,各平台間透過XBinder使其應用程式與服務相互溝通、合作。(2)簡化遠端物件之開發與使用;開發者不需考慮使用遠端物件之封包傳輸及封裝,遠端物件不需修改即可執行於本機或遠端。(3)對等式之XBinder;每一個安裝XBinder之系統平台具有相同之功能,每一個系統平台可視為一個節點,且節點間能相互連線、提供服務,建構多節點之服務環境。(4)支援多人同時使用;本論文設計多人連線管理,使每一節點皆能提供服務給遠端節點,在多對一環境中不互相干擾。

XBinder之實作以Android系統之行程溝通之機制 Binder為基礎,Binder 提供訊息傳遞與物件導向式合作。實作內容包含:Linux系統之XBinder,修改Android Binder Driver與Android系統以建構行程之遠端溝通機制、遠端服務管理機制、管理資料之傳送以支援多人同時使用等功能。

Mobile device nowadays not only has become more and more popular, but also is considered as a multifunctional platform definitely. Nevertheless, mobile applications are still restricted by its hardware platform environment. Offload mobile application to a virtual machine deployed on cloud server is currently a common solution, which may overcome the limitations of hardware resources. However, this method appears to be effective only for the cases of running stand-alone applications and can’t support cooperative operations of service invocation across platform boundary. For this purpose, this thesis takes Android system as an example and expands the Inter-Process Communication (IPC) mechanism to build a collaborative and cooperative work environment. The new IPC mechanism is called XBinder.

The development of XBinder presents four important features. First, it provides a cross-platform communication mechanism. XBinder could be installed on Linux or Android system, then all processes, whether applications or services, can cooperate with each other running on the same platform or different platform through the functionality of XBinder. Second, XBinder helps simplify the development and usage of remote objects. It works well without the programmer explicitly coding the details for low-level socket operations and remote interactions. Third, every platform with XBinder installed is a peer node which, by directly transmitting network packets to other nodes, provides and applies remote services. Fourth, XBinder supports concurrent operations for multiple connections. The connections and services of different nodes are isolated, and therefore there is no interference when the nodes are working concurrently.

The main contributions of this thesis are providing a way for mobile applications to cooperate with local or remote services without designing complicate network transmission mechanism. Moreover, mobile applications can effectively and efficiently communicate with services which execute either on local node or remote node.
第1章 緒論 1
1.1 研究背景 1
1.2 研究動機與目的 3
1.3 研究方法 4
1.4 章節規劃 5
第2章 相關研究 6
2.1 行程溝通機制 6
2.1.1 Linux IPC 6
2.1.2 Android IPC 11
2.1.3 討論 16
2.2 Android as a Server Platform 17
2.3 Toward Remote Service Invocation in Android 18
2.4 RSP: A Remote OSGi Service Sharing Scheme 20
2.5 Distributed IPC using Virtual Device Driver in Monolithic Kernel 21
2.6 討論 23
第3章 架構與設計 24
3.1 概述 24
3.2 服務提供者 31
3.3 行程溝通管理員 32
3.4 XCOMM管理員 35
3.4.1 遠端溝通介面 36
3.4.2 XCOMM管理員與遠端節點之連線機制 37
3.4.3 遠端請求處理程序 38
3.4.4 服務提供者請求處理程序 39
3.5 服務管理員 41
第4章 實作 45
4.1 實作環境 45
4.2 服務提供者實作 46
4.3 XCOMM管理員實作 50
4.3.1 XCOMM管理員運作 50
4.3.2 服務提供者請求處理程序 52
4.3.3 遠端請求處理程序 54
4.4 行程溝通管理員實作 56
4.4.1 行程與行程溝通管理員 56
4.4.2 服務名稱處理機制 58
4.4.3 遠端溝通機制 61
4.5 服務管理員實作 70
第5章 測試與效能分析 74
5.1 測試環境 74
5.2 XBinder功能驗證 76
5.2.1 Linux與Android行程遠端溝通 77
5.2.2 不同節點之Android行程遠端溝通 79
5.2.3 多個不同系統節點相連 80
5.2.4 服務可選性 85
5.3 XBinder效能測試 86
5.3.1 遠端溝通 86
5.3.2 本機溝通 89
第6章 結論與未來展望 91
6.1 結論 91
6.2 未來展望 92
參考文獻 93
附錄 A 96

[1]Aleksandar Gargenta, “Deep Dive into Android IPC/Binder Framework, Android Builders Summit, 2013.
[2]Android Developer, http://developer.android.com/index.html, accessed on 2014-03-22.
[3]Android Emulator – Android Developer, http://developer.android.com/tools/help/emulator.html, accessed on 2014-04-20.
[4]Android, http://en.wikipedia.org/wiki/Android_(operating_system), accessed on 2014-05-11.
[5]Android Interface Definition Language, http://developer.android.com/guide/components/aidl.html, accessed on 2014-09-28.
[6]Android SDK tools, http://developer.android.com/tools/sdk/tools-notes.html, accessed on 2014-09-28.
[7]Android專用驅動, http://blog.csdn.net/luoshengyang/article/details/12957169, accessed on 2014-06-02.
[8]BlackBerry 10, http://en.wikipedia.org/wiki/BlackBerry_10, accessed on 2014-05-14.
[9]Eunhoe Kim, Kihyun Yun, Jaeyoung Choi, RSP: A Remote OSGi Service Sharing Scheme, Ubiquitous, Autonomic and Trusted Computing, 2009.
[10]Eric Y. Chen, Mistutaka Itoh, Virtual Smartphone over IP, International Symposium on a World of Wireless Mobile and Multimedia Networks, 2010.
[11]Google Maps – Google Play, https://play.google.com/store/apps/details?id=com.google.android.apps.maps&hl=en, accessed on 2014-08-25.
[12]iOS, http://en.wikipedia.org/wiki/IOS_(Apple), accessed on 2014-05-14.
[13]Inter Process Communication, http://en.wikipedia.org/wiki/Inter-process_communicationm, accessed on 2014-05-25.
[14]Java RMI, http://en.wikipedia.org/wiki/Java_remote_method_invocation, accessed on 2014-06-09.
[15]Juraj Somorovsky, Daniel BuBmeyer, Android Binder, Seminarthesis, 2011.
[16]Karthik Kumar, Yung-Hsiang Lu, “Cloud Computing for Mobile Users: Can Offloading Computation Save Energy ?, IEEE Computer, Vol. 43, Issue 4, 2010.
[17]Kazuhiro Nakao, Yukikazu Nakamoto, “Toward Remote Service Invocation in Android, 9th International Conference on Ubiquitous Intelligence and Computing, 2012.
[18]Kernel Debug Tool, https://www.kernel.org/doc/htmldocs/kgdb/EnableKGDB.html, accessed on 2014-09-29.
[19]Mahadev Satyanarayanan, Paramvir Bahl, Ramon Caceres, Nigel Davies, The Case for VM-Based Cloudlets in Mobile Computing, IEEE Pervasive Computing, Vol. 8, Issue 4, 2009.
[20]Masashi Toyama, Shunsuke Kurumatani, Joo Heo, Kenji Terada, Eric Y. Chen, “Android as a Server Platform, The 8th Annual IEEE Consumer Communications and Network Conference, 2011.
[21]Mobile Operating System, http://en.wikipedia.org/wiki/Mobile_operating_system, accessed on 2014-05-14.
[22]Network Socket , http://en.wikipedia.org/wiki/Network_socket, accessed on 2014-09-15.
[23]OpenBinder, http://www.angryredplanet.com/~hackbod/openbinder/docs/html, accessed on 2014-05-11.
[24]OSGi, http://en.wikipedia.org/wiki/OSGi, accessed on 2014-06-11.
[25]Richard Stones, Neil Matthew, “Beginning Linux Programming, 4th edition, Wiley Publishing Inc., 2008.
[26]Software development kit, http://en.wikipedia.org/wiki/Software_development_kit, accessed on 2014-05-14.
[27]Sourabh Ghorpade, Nikhil Chavan, Akash Gokhale, Deepak Sapkal, “Framework For Executing Android Applications On The Cloud , ICACCI, 2013.
[28]Susmit Bagchi, Distributed IPC using Virtual Device Driver in Monolithic Kernel, IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, 2012.
[29]Thin_client, http://en.wikipedia.org/wiki/Thin_client , accessed on 2014-09-29.
[30]Windows Phone , http://en.wikipedia.org/wiki/Windows_Phone, accessed on 2014-05-14.
[31]宋卓翰, “Thin-client應用呈現平台的最佳化設計與實作, 碩士論文, 國立交通大學, 2006.
[32]王裴立, “Linux作業系統統一化硬體抽象層之設計與實作, 碩士論文, 國立成功大學, 2014.



QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔