Download Them from the Computer on Which the File Resides

Download Them from the Computer on Which the File Resides

A Framework for Enabling Distributed Applications on the Internet by Mark Anthony McLaughlin A thesis presented for the degree of Master of Engineering Science National University of Ireland, Maynooth Department of Electronic Engineering October 2006 Head of Department: Dr. Frank Devitt Supervisors: Dr. Tomás Ward Thomas J. Naughton Abstract The last five years have seen the rapid rise in popularity of what we term internet distributed applications (IDAs). These are internet applications with which many users interact simultaneously. IDAs range from P2P file-sharing applications, to collaborative distributed computing projects, to massively multiplayer online games (MMOGs). Currently, there is no framework that combines IDAs collectively within a single context. We provide a basis for such a framework here. In considering IDAs collectively, we found that there was no generic description that had been applied to them as a group. We have therefore put forward such a description here. In our description, IDAs are functionality separated into three logic layers, which are designed and built individually. Each layer is represented by functionality on the software client running on each participating computer, which together comprise the overall IDA. The core contribution of this work is a framework, called the Internet Distributed Application Framework (IDAF), which outlines how IDAs can be designed, built and run. The IDAF outlines a set of constraints that each implementing software system must abide by. To verify the IDAF, we have built a system prototype implementation called the Internet Distributed Application System (IDAS). The IDAS includes an implementation of the IDAF layer model, which specifies IDAs are built. The IDAS also includes a generic software client that is capable of simultaneously running and managing arbitrary IDAs. We provide sample IDAs and demonstrations to verify both that the IDAF is implementable and that the IDAS is a workable usable system. ii Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of Masters in Electronic Engineering Science is entirely my own work and has not been taken from the work of others save to the extent that such work has been cited and acknowledged within the test of my work. This thesis contains no material that has been accepted for the award of any other degree or diploma in any university. Mark McLaughlin iii Dedication I would like to thank Tomás and Tom for giving up their time to supervise me for this masters project. I would doubly like to thank them for correcting my thesis as it evolved over many months. In doing so, they helped me to bring my technical writing skills up to the required standard. I would also like to express my appreciation to the institution that is NUI Maynooth for giving me the opportunity to pursue further study, and the Electronic Engineering dept. (and the fine people that staff it) for supplying me with the resources that I needed. Aside from that, there was only one person who lost sleep over this, and I will be rewarding him personally with a well deserved holiday very soon! iv Table of Contents Chapter 1 Introduction...................................................................................................1 1.1 Motivation.................................................................................................................1 1.2 Objectives and Approaches...........................................................................................2 1.3 Contributions.............................................................................................................2 1.4 Outline......................................................................................................................3 1.5 Important Definitions...................................................................................................3 1.5.1 Internet Distributed Applications............................................................................3 1.5.2 Topology Structure..............................................................................................4 Chapter 2 Developments in Internet Distributed Applications......................................6 2.1 Client-server Applications............................................................................................7 2.2 Distributed Computing Applications...............................................................................9 2.3 Grid Computing........................................................................................................11 2.4 Massively Multiplayer Online Games............................................................................12 2.5 Peer 2 Peer Applications............................................................................................14 2.6 Bittorrent.................................................................................................................17 2.7 JXTA......................................................................................................................19 Chapter 3 Background to an IDA Framework ............................................................23 3.1 IDA Participation and Network Infrastructure................................................................23 3.1.1 IDA Discovery and Participation..........................................................................23 3.1.2 Overcoming Network Issues................................................................................26 3.2 A P2P Network Infrastructure for the IDAF...................................................................29 3.3 Topology Structures...................................................................................................32 Chapter 4 An Internet Distributed Application Framework.........................................39 4.1 IDAF Topologies.......................................................................................................39 4.1.1 Topology Definition...........................................................................................39 4.1.2 Describing the Topology Structure........................................................................42 4.1.3 Building Configurations from Topologies...............................................................49 4.2 The IDAF Layer Model..............................................................................................54 4.2.1 The Network Layer............................................................................................54 4.2.2 The Topology Layer...........................................................................................54 4.2.3 The Application Layer........................................................................................55 4.2.4 Summary of IDAF Layers...................................................................................55 4.3 IDAF Constraints......................................................................................................57 4.3.1 Primary IDA Management Mechanisms.................................................................57 4.3.2 From the Developer's Perspective.........................................................................58 4.3.3 From the User's Perspective................................................................................58 Chapter 5 An Internet Distributed Application System................................................60 5.1 IDAS Design & Implementation...................................................................................60 v Table of Contents 5.2 Software on the Client................................................................................................61 5.2.1 Software Overview............................................................................................61 5.2.2 Java Class Structure..........................................................................................62 5.2.3 IDAS Execution and Threading Model...................................................................64 5.2.4 Inter-node Communication..................................................................................67 5.2.5 Extending the IDAS with Topologies and Applications..............................................68 5.3 IDAS Layer Model Specifications and APIs....................................................................69 5.3.1 The Network Layer............................................................................................69 5.3.2 The Topology Layer...........................................................................................71 5.3.3 The Application Layer........................................................................................73 5.4 IDA Context and Regulatory Processes.........................................................................74 5.4.1 IDAS Context...................................................................................................74 5.4.2 The Join Process...............................................................................................75 5.4.3 Other Processes................................................................................................77 Chapter 6 Testing and Sample IDAs............................................................................80 6.1 Approach to Testing...................................................................................................80

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    133 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us