AN AUTONOMIC SOFTWARE ARCHITECTURE FOR DISTRIBUTED APPLICATIONS by Mohammad Muztaba Fuad A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science MONTANA STATE UNIVERSITY Bozeman, Montana June 2007 © COPYRIGHT by Mohammad Muztaba Fuad 2007 All Rights Reserved ii APPROVAL of a dissertation submitted by Mohammad Muztaba Fuad This dissertation has been read by each member of the dissertation committee and has been found to be satisfactory regarding content, English usage, format, citations, bibliographic style, and consistency, and is ready for submission to the Division of Graduate Education. Professor Michael J. Oudshoorn Approved for the Department of Computer Science Professor Michael J. Oudshoorn Approved for the Division of Graduate Education Dr. Carl Fox, Vice Provost iii STATEMENT OF PERMISSION TO USE In presenting this dissertation in partial fulfillment of the requirements for a doctoral degree at Montana State University, I agree that the Library shall make it available to borrowers under rules of the Library. I further agree that copying of this dissertation is allowable only for scholarly purposes, consistent with “fair use” as prescribed in the U. S. Copyright Law. Requests for extensive copying or reproduction of this dissertation should be referred to ProQuest Information and Learning, 300 North Zeeb Road, Ann Arbor, Michigan 48106, to whom I have granted “the exclusive right to reproduce and distribute my dissertation in and from microform along with the non- exclusive right to reproduce and distribute my abstract in any format in whole or in part.” Mohammad Muztaba Fuad June 2007 iv To My Mom v ACKNOWLEDGMENTS I would like to thank my wife Debzani for all her support during the course of my Ph.D. She deserves more than a mere acknowledgement. My advisor Prof. Michael J. Oudshoorn was always there for me. His support and encouragement rescued me from frustration and guided me to my research. Without his kind help it would have been impossible to finish this work. I would like to express my gratitude to my Ph.D. committee members for their constant support. I am fortunate to do my Ph.D. in a department where all the faculty members showed interest in my work and gave constant feedback. I thank them for their active interest in my research. I specially like to thank Ms. Jeannette Radcliffe, Ms. Kathy Hollenback and Scott Dowdle of Computer Science department for providing me with a wonderful logistical support for my research and education. I like to thank Benjamin Ph.D. Fellowship foundation for awarding me with a fellowship. I thank Montana NASA EPSCoR for providing financial support for my research. I would like to thank the people of Bozeman for providing me with a perfect atmosphere to finish my education. I am fortunate to be in the Big Sky Country. Finally, I would like to thank my family and friends for always looking after me and wishing the best for me. Thank you. vi TABLE OF CONTENTS 1. INTRODUCTION .......................................................................................................... 1 Problem Specification..................................................................................................... 4 Rationale for Autonomic Systems .................................................................................. 6 Motivation....................................................................................................................... 8 Goals ............................................................................................................................. 10 Scope of This Research................................................................................................. 12 Challenges..................................................................................................................... 14 Methodology................................................................................................................. 16 Contributions ................................................................................................................ 17 Outline of the Thesis..................................................................................................... 18 2. BACKGROUND .......................................................................................................... 20 What is Autonomic Computing? .................................................................................. 20 Why Java?..................................................................................................................... 25 Which JVM?................................................................................................................. 29 Source Code or Byte Code?.......................................................................................... 30 Summary....................................................................................................................... 30 3. JVM AND JAVA CLASS FILE................................................................................... 32 Structure of the JVM..................................................................................................... 32 Data Types and Values ............................................................................................ 35 Variables .................................................................................................................. 35 Fields and Methods.................................................................................................. 36 Structure of Java Class File .......................................................................................... 36 Code Attribute.......................................................................................................... 40 Local Variable Attribute. ......................................................................................... 40 Line Number Attribute............................................................................................. 40 Exception. ................................................................................................................ 40 Byte Code Instructions.................................................................................................. 41 An Example .................................................................................................................. 43 Byte Code Modification Tools ..................................................................................... 46 Summary....................................................................................................................... 50 4. RELATED RESEARCH .............................................................................................. 51 Existing Middleware Technologies .............................................................................. 51 Automatic Partitioning.................................................................................................. 54 Automatic Distribution ................................................................................................. 57 Autonomic Systems ...................................................................................................... 58 Autonomizing Existing Systems................................................................................... 60 Autonomic Programming Environment........................................................................ 63 Autonomic Element Architecture ................................................................................. 65 Self-healing Transformation......................................................................................... 67 vii TABLE OF CONTENTS - CONTINUED Other Related Autonomic Systems............................................................................... 68 How This Work is Different? ....................................................................................... 69 5. SYSTEM ARCHITECTURE ....................................................................................... 72 Requirements ................................................................................................................ 72 Service Architecture ..................................................................................................... 75 System Operation.......................................................................................................... 78 Policies.......................................................................................................................... 80 Management Operations............................................................................................... 82 Autonomic Properties ................................................................................................... 83 Self-configuration. ................................................................................................... 84 Self-healing.............................................................................................................. 86 Self-optimization...................................................................................................... 87 Self-protection.......................................................................................................... 89 Distribution Transformation ......................................................................................... 89 Autonomic Transformation..........................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages190 Page
-
File Size-