簡易檢索 / 詳目顯示

研究生: 林佳男
Lin, Jia-Nan
論文名稱: 基於快速啟動JAVA虛擬機器之OSGi服務包集合置換方法
OSGi Bundle-Bucket Replacement Based on a Fast Start-up JVM
指導教授: 侯廷偉
Hou, Ting-Wei
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2010
畢業學年度: 98
語文別: 英文
論文頁數: 71
中文關鍵詞: OSGi 平台JavaJava 虛擬機智慧家庭啟動
外文關鍵詞: OSGi platform, Java, JVM, smart home, startup
相關次數: 點閱:181下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著OSGi在智慧家庭應用中逐漸受到歡迎,許多基於OSGi的服務也應運而生。居家照護、保全系統、家庭娛樂等服務逐一出現。使用者面對琳瑯滿目的服務開始感到複雜。為了讓使用者將不必再為了需要哪些服務以及如何啟動相關服務而煩惱,我們提出了bundle-bucket的模型。
    主要概念是以情境(Scenario)為執行單位,每個bundle-bucket對應到一特定情境所需之相關服務包(Bundles)。使用者可依照需求以及所處的情境(如: 外出、娛樂、睡眠)來選擇對應的bundle-bucket,進而啟動該情境所需要的服務。此外,使用者可以順暢地在不同bundle-bucket中切換。
    為此,我們設計並實作了一個修改自JamVM的Java虛擬機,名叫FS-VM。同時也提出一個負責管理及切換bundle-bucket的元件,稱為 Bundle-Bucket Manager。根據實驗結果,藉由FS-VM等相關技術的輔助,Java以及OSGi執行環境的啟動時間可獲得高達77%的改善;而切換bundle-bucket 所需之啟動時間亦有高達44.8%的效能提升。這些實驗結果顯示出,使用者可透過Bundle-Bucket Manager選擇所需之bundle-bucket,達到快速置換整個bundle-bucket以及執行環境的目的。而且置換過的系統依然穩定。

    As the OSGi platforms have gradually been accepted in smart homes, more and more services and applications based on OSGi, such as home care, security systems, home entertainments have emerged. Users may be forced to face an array of services and begin to feel complicated. To relieve the penalties of having to worry about what services they need and how to start services, this thesis proposes a bundle-bucket model.
    The main idea of the novel model is that users can smoothly switch between scenarios, such as out, entertainment and sleeping, by simply selecting a corresponding bundle-bucket. The selected bundle-bucket logically contains all the needed services for a particular scenario.
    To this end, we design and implement a fast Start-up JVM called FS-VM, which is modified from JamVM. We also develop a component called Manger UI for managing and switching bundle-buckets. Our experimental results show that FS-VM reduces the startup time of the OSGi and the JVM up to 77 % and the startup time of bundles (or bundle-bucket) up to 44.8%. The results indicate that we achieve fast switching between bundle-buckets. In addition, the replacement (i.e., switching between bundle-buckets) is quite reliable.

    中文摘要 IV ABSTRACT V TABLE OF CONTENTS VI LIST OF TABLES VIII LIST OF FIGURES IX Chapter I – INTRODUCTION 1 Chapter II – Background and Related Works 5 2.1 Researches on fast startup Java Applications 5 2.2 Open Service Gateway Initiative (OSGi) 7 2.2.1 Bundle 9 2.3 Java virtual machine (JVM) 11 2.3.1 Heap 11 2.3.2 Method Area 12 2.3.3 Runtime Constant Pool 12 2.3.4 Class Loader 13 2.3.5 Loading, Linking and Initializing 13 2.4 Challenges 15 2.4.1 Challenges on bundle-bucket identification 16 2.4.2 Challenges on fast startup bundles 16 Chapter III – Requirements and Design 18 3.1 Requirements 18 3.1.1 Bundle-Bucket Identification 18 3.1.2 Quick replacement of bundle-buckets 18 3.1.3 Interface for Replacing Bundle-Buckets 19 3.2 OSGi Bundle-Bucket Replacement Model 20 3.2.1 Model A 20 3.2.2 Model B 21 3.2.3 Summary 22 Chapter IV – Implementation 23 4.1 JamVM Overview 23 4.1.1 Class Structure in JamVM 23 4.1.2 JamVM Structure 29 4.2 Fast Start-up VM 36 4.2.1 Key concept of the FS-VM 36 4.2.2 Profiling mode and Running mode 38 4.2.3 The structure of the FS-VM 38 4.2.4 The mmap () function 40 4.2.5 Persistence Module 41 4.2.6 Variables Pool 42 4.2.7 HashTable 44 4.2.8 Persistent Data Heap Construction 46 4.2.9 Class Loader recovery 48 4.2.10 Class Data Profile and Restore 50 4.2.11 Runtime Resolution 54 4.2.12 JNI Recovery 57 4.2.13 Unmapping Procedure 58 4.3 Bundle-Bucket Manager 58 Chapter V – Result and Discussion 61 5.1 Executing Environment 61 5.2 Performance Evaluation 62 5.2.1 System Start-up Time 62 5.2.2 Bundle Start-up Time 63 5.3 Summary 65 Chapter VI – Conclusions 67 Reference 69 APPENDIX 71

    [1] M. Atkinson, R. Morrison, “Orthogonally persistent object systems,” The VLDB Journal, Vol. 4, No. 3, pp. 319-402, Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1995.
    [ 2] G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, M. Andwolczko, “Tuning garbage collection for reducing memory system energy in an embedded java environment,” ACM Transactions on Embedded Computing Systems, Vol. 1, issue 1, pp. 27–55, 2002.
    [ 3] Y. Choi, H. Han, “Shared heap management for memory-limited java virtual machines,” ACM Transactions on Embedded Computing Systems, Vol. 7, Issue 2, No. 13, pp. 1-32, February 2008.
    [4] D. Detlefs, O. Agesen, “Inlining of virtual methods,” Proceedings of the European Conference on Object-Oriented Programming, Lecture Notes in Computer Science; Vol. 1628, Springer, pp. 258–278, 1999.
    [5] J. Gosling, B. Joy, G. Steele, G. Bracha, “The Java Language Specification,” Third Edition, Addison Wesley, 2005.
    [6] GNU org, “GNU Classpath” available at http://www.gnu.org/software/classpath
    /home.html.
    [7] IBM Corporation, “Persistent Reusable Java Virtual Machine User’s Guide, “, SC34-6201-04, Eighth Edition 2008, available at http://www-03.ibm.com/systems/resources/servers_eserver_zseries_software_java_pdf_prjvm142.pdf .
    [8] K. Kawachiya, K. Ogata, D. Silva, T. Onodera, H. Komatsu, T. Nakatani, “Cloneable JVM: a new approach to start isolated java applications faster,” Proceedings of the 3rd international conference on Virtual execution environments, Faster high-level language virtual machines, New York, pp. 1-11, 2007.
    [9] T. Lindholm, F. Yellin, “The JavaTM Virtual Machine Specification,” available at http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html.
    [10] R. Lougher, “JamVM Web pages,” available at http://jamvm.sourceforge.net/ .
    [11] C. Lee, D. Nordstedt, S. Helal, “Enabling smart spaces with OSGi,” IEEE. Pervasive Computing, Vol.2, No.3, pp. 89-94, 2003.
    [12] Makewave, “Knopflerfish OSGi,” available at http://www.knopflerfish.org/.
    [13] V. Nikolov, R. Kapitza, F. J. Hauck, “Recoverable Class Loaders for a Fast Restart of Java Applications,” Mobile Networks and Applications, Vol. 14, Issue 1, pp. 53-64, 2009.
    [14] OSGi Alliance, available at http://www.osgi.org/Main/HomePage.
    [15] F. Qian, L. Hendren, “A study of type analysis for speculative method inlining in a JIT environment,” Proceedings of the International Conference on Compiler Construction (CC), Lecture Notes in Computer Science, Springer, pp. 255–270, 2005.
    [16] The OSGi Alliance, “OSGi Service Platform Core Specification,” Release 4, Version 4.2, June 2009.
    [17] G. Xu, A. Rountev, Y. Tang, F. Qin, “Efficient Checkpointing of Java Software Using Context-Sensitive Capture and Replay,” Proceedings of the 6th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 85–94, 2007.

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