Extensions of JADE and JXTA for Implementing a Distributed System
Total Page:16
File Type:pdf, Size:1020Kb
EXTENSIONS OF JADE AND JXTA FOR IMPLEMENTING A DISTRIBUTED SYSTEM Edward Kuan-Hua Chen A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE School of Engineering Science O Edward Kuan-Hua Chen 2005 SIMON FRASER UNIVERSITY Spring 2005 All rights reserved. This work may not be reproduced in whole or in part, by photocopy or other means, without the permission of the author. APPROVAL Edward Kuan-Hua Chen Master of Applied Science Extensions of JADE and JXTA for Implementing a Distributed System EXAMINING COMMITTEE Chair: John Jones Professor, School of Engineering Science William A. Gruver Academic Supervisor Professor, School of Engineering Science Dorian Sabaz Technical Supervisor Chief Technology Officer Intelligent Robotics Corporation Shaohong Wu External Examiner National Research Council Date Approved: April 8, 2004 SIMON FRASER UNIVERSITY PARTIAL COPYRIGHT LICENCE The author, whose copyright is declared on the title page of this work, has granted to Simon Fraser University the right to lend this thesis, project or extended essay to users of the Simon Fraser University Library, and to make partial or single copies only for such users or in response to a request from the library of any other university, or other educational institution, on its own behalf or for one of its users. The author has further granted permission to Simon Fraser University to keep or make a digital copy for use in its circulating collection. The author has further agreed that permission for multiple copying of this work for scholarly purposes may be granted by either the author or the Dean of Graduate Studies. It is understood that copying or publication of this work for financial gain shall not be allowed without the author's wrirten permission. Permission for public performance, or limited permission for private scholarly use, of any multimedia materials forming part of this work, may have been granted by the author. This information may be found on the separately catalogued multimedia material and in the signed Partial Copyright Licence. The original Partial Copyright Licence attesting to these terms, and signed by this author, may be found in the original bound copy of this work, retained in the Simon Fraser University Archive. W. A. C. Bennett Library Simon Fraser University Burnaby, BC, Canada ABSTRACT Distributed systems offer a useful approach for resolving critical networking limitations that result from the use of centralized topologies. Currently available distributed software platforms, however, have limitations that can limit their usefulness. This thesis examines the architectures of two distributed software platforms, JADE and JXTA, and compares their strengths and weaknesses. It is shown that JADE is a superior platform in terms of efficiency and latency, mainly due to the partially centralized approach of its Agent Management System. On the other hand, the decentralized management system and unrestricted scalability of JXTA has the advantage that it is not critically dependent on any node. iii ACKNOWLEDGEMENTS I would like to thank William A. Gruver and Dorian Sabaz for their guidance and support throughout the course of this thesis. I am grateful for their continuous and unwavering support. I would also like to thank John Jones of the School of Engineering Science, Simon Fraser University, and Shaohong Wu of the National Research Council of Canada. CONTENTS .. Approval ............................................................................................................................11 ... Abstract ............................................................................................................................. 111 Acknowledgements ..........................................................................................................iv Contents .............................................................................................................................v List of Figures ................................................................................................................. vlll... List of Tables .....................................................................................................................x Glossary ............................................................................................................................xi 1 Introduction ..............................................................................................................1 1.1 Limitations of Centralized Networks ..................................................................... 1 1.1.1 Scalability ........................................................................................................ 2 1.1.2 Fault Tolerance ................................................................................................ 3 1.1.3 Security and Privacy ........................................................................................4 . 1.1.4 Connectivity.................................................................................................. 4 1.1.5 Infrastructure Cost ...........................................................................................6 . 1.2 Distnbuted Systems.............................................................................................. 7 1.2.1 Distributed System Privacy and Security ........................................................ 8 1.2.2 Distributed System Fault Tolerance ................................................................8 1.2.3 Distributed System Scalability ........................................................................9 1.2.4 Distributed System Connectivity ...................................................................10 1.2.5 Distributed System Infrastructure Cost ......................................................... 10 1.2.6 Implementation Issues ...................................................................................11 1.3 Distributed Computing Models and Architectures .............................................. 13 1.3.1 Common Object Request Broker Architecture (CORBA) ............................ 14 1.3.2 Distributed Component Object Model (DCOM) ........................................... 14 1.3.3 Remote Method Invocation (RMI) ................................................................ 14 1.3.4 Distributed Application Development ........................................................... 16 1.4 Overview .............................................................................................................. 17 1.4.1 Objective ...................................................................................................... 17 1.4.2 Outline ........................................................................................................... 17 2 Distributed Software Platforms ............................................................................19 2.1 JADE Overview ................................................................................................... 21 2.1.1 JADE Agent Platform ...................................................................................22 2.1.2 JADE Software Architecture and Behaviours ............................................... 26 2.1.3 Issues for JADE as a Distributed System ...................................................... 30 2.2 JXTA .................................................................................................................... 32 2.2.1 JXTA Protocols ............................................................................................. 33 2.2.2 JXTA Platform .............................................................................................. 37 2.2.3 JXTA Communication................................................................................... 40 2.2.4 Issues for JXTA as a Distributed System ...................................................... 45 2.3 Differences between JADE and JXTA in Distributed Systems ........................... 47 3 JADE/ JXTA Extensions for Improved Distributed Systems ............................ 49 3.1 Virtual Wireless Environment .............................................................................. 49 3.2 JADE Architecture Extension ............................................................................. 52 3.2.1 Wireless Agent Communication Channel (WACC) ...................................... 53 3.2.2 Global Directory Facilitator (GDF) ...............................................................54 3.2.3 Global Agent Management System (GAMS) ................................................55 3.3 JADE Software Architecture Overview ...............................................................56 3.3.1 Broadcast Agent ........................................................................................... 57 3.3.2 Receiver Agent .............................................................................................. 57 3.3.3 Sender Agent ................................................................................................. 59 3.4 JXTA Architecture Extension ..............................................................................60 3.4.1 Wireless Peer Pipes (WPP) ............................................................................ 61 3.4.2 Global Peer Monitoring (GPM) ..................................................................... 62 3.4.3 Global Peer Administration (GPA) ..............................................................