Deepfreeze: a Management Interface for ISEAGE Nathan Lyle Karstens Iowa State University
Total Page:16
File Type:pdf, Size:1020Kb
Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 2007 DeepFreeze: a management interface for ISEAGE Nathan Lyle Karstens Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Part of the Computer Sciences Commons Recommended Citation Karstens, Nathan Lyle, "DeepFreeze: a management interface for ISEAGE" (2007). Retrospective Theses and Dissertations. 14559. https://lib.dr.iastate.edu/rtd/14559 This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. DeepFreeze: a management interface for ISEAGE by Nathan Lyle Karstens A thesis submitted to the graduate faculty in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Co-majors: Information Assurance; Computer Engineering Program of Study Committee: Doug W Jacobson, Major Professor Thomas Earl Daniels Johnny S Wong Iowa State University Ames, Iowa 2007 Copyright © Nathan Lyle Karstens, 2007. All rights reserved. UMI Number: 1443093 UMI Microform 1443093 Copyright 2007 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.O. Box 1346 Ann Arbor, MI 48106-1346 ii TABLE OF CONTENTS LIST OF FIGURES.............................................................................................................iv ABSTRACT.........................................................................................................................v CHAPTER 1. INTRODUCTION..........................................................................................1 1.1 ISEAGE Architecture..................................................................................................1 1.2 DeepFreeze Architecture.............................................................................................3 1.3 Multicast IP.................................................................................................................5 1.4 Wake-on-LAN.............................................................................................................6 1.5 File Descriptors and Local Sockets..............................................................................7 1.6 XML, XML Schema, and the Xerces Parser................................................................8 1.7 GTK............................................................................................................................9 1.8 Review........................................................................................................................9 CHAPTER 2. RELATED TECHNOLOGY........................................................................11 2.1 inetd – The Internet Superserver................................................................................11 2.2 Simple Network Management Protocol......................................................................12 2.3 rdist – The Remote File Distribution Program............................................................13 CHAPTER 3. IMPLEMENTATION...................................................................................15 3.1 Router Configuration.................................................................................................15 3.2 Network Communication...........................................................................................16 3.3 The DeepFreeze Console...........................................................................................18 3.3.1 Configuration File...............................................................................................18 3.3.2 Host and Application Displays............................................................................19 3.3.3 Wake-on-LAN Packets.......................................................................................20 3.3.4 Message Display.................................................................................................21 3.3.5 Compiling, Initializing, and Destroying Plugins..................................................22 3.3.6 In-Band Plugin Communication..........................................................................24 3.3.7 Out-of-Band Plugin Communication...................................................................25 3.4 The DeepFreeze Daemon...........................................................................................25 3.4.1 System Daemon Setup and FreeBSD Configuration............................................26 3.4.2 Process Execution...............................................................................................27 3.4.3 Remote Application Communication..................................................................30 3.4.4 Detecting Premature Application Termination....................................................30 3.4.5 Terminating Applications...................................................................................31 3.5 Review and Refinement of Communication Sequence...............................................31 3.6 DeepFreeze’s Distributed File System Application....................................................34 3.7 The Traffic Mapper...................................................................................................36 4. CONCLUSIONS.............................................................................................................38 4.1 Future Work..............................................................................................................38 iii APPENDIX A: EXAMPLE DFC CONFIGURATION FILE..............................................40 APPENDIX B: DFD RC SCRIPT (DFD.SH)......................................................................41 BIBLIOGRAPHY...............................................................................................................42 ACKNOWLEDGEMENTS.................................................................................................43 iv LIST OF FIGURES Figure 1: ISEAGE Architecture.............................................................................................2 Figure 2: DeepFreeze Architecture........................................................................................3 Figure 3: Anatomy of a socketpair ........................................................................................8 Figure 4: The Host and Application Notebook Tabs............................................................19 Figure 5: The Message Notebook Tab.................................................................................22 Figure 6: File Descriptor Manipulation throughout Remote Application Launch.................28 Figure 7: The DFS Notebook Tab.......................................................................................34 Figure 8: The Traffic Mapper Notebook Tab.......................................................................36 v ABSTRACT DeepFreeze is a framework designed to provide a unified command and control interface for the ISEAGE project. Besides being a graphical interface, it includes an extensive API and methodology for authoring and controlling applications executing within ISEAGE. It utilizes a wide array of technologies in the computing field to provide functions such as power management, efficient one-to-many communication, and fault tolerance for executing processes. A concept application designed to aid in file distribution is presented. Also discussed are the modifications that were necessary to migrate the Traffic Mapper, a foundational component of ISEAGE, to the DeepFreeze environment. 1 CHAPTER 1. INTRODUCTION DeepFreeze arose from a need to provide a unified command and control interface for the ISEAGE project. On one level, it seems to be simply a graphical interface. However, this aspect of DeepFreeze operates on an extensive API and methodology for authoring and controlling applications executing within the ISEAGE environment. It is intended both to assist the user in monitoring and controlling ISEAGE applications, and to aid the developer in creating those applications. DeepFreeze has four goals: 1) provide a unified management interface for control of ISEAGE computers, 2) provide a degree of fault tolerance by monitoring applications running within the ISEAGE environment, 3) facilitate communication between applications and their controlling interface, and 4) aid developers in authoring ISEAGE applications. Although individual projects within ISEAGE have been completed, they have not been integrated into a central command console. It is hoped that providing a framework for this integration will encourage developers to author control components for their project, thereby changing the ISEAGE project’s culture from a group of individuals working on separate projects to a team of individuals contributing to the vision behind ISEAGE. This chapter will briefly discuss the design of ISEAGE and introduce DeepFreeze. Attention will be given to several technologies utilized by DeepFreeze that are perhaps not universally understood within the computing field. 1.1 ISEAGE Architecture A basic understanding