Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence Peter Brezany.
Agents & Mobile Agents.
Comparison Study of Three Mobile Agent Systems Aglets, Grasshopper and Voyager Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
A distributed method for mining association rules
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Lesson 1-Introducing Basic Network Concepts
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Agent Caching in APHIDS CPSC 527 Computer Communication Protocols Project Presentation Presented By: Jake Wires and Abhishek Gupta.
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
MOBILITY SUPPORT IN IPv6
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Mobile Agents in High Performance Computing System Presentation by : MADHAN MOHAN NARLAPURAM User Id: mmnarlap.
Effective Agent Participation in Rescue Operations Brent Dutson CS7100 Fall 2009.
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
A. Frank 1 Internet Resources Discovery (IRD) Peer-to-Peer (P2P) Technology (1) Thanks to Carmit Valit and Olga Gamayunov.
Scenario Based Interaction Model for a Mobile Agent System
An Introduction to Internetworking. Why distributed systems - Share resources (devices & CPU) - Communicate people (by transmitting data)
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
More OOP Design Patterns
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Architectures of distributed systems Fundamental Models
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
The InetAddress Class A class for storing and managing internet addresses (both as IP numbers and as names). The are no constructors but “class factory”
Mobile Agent Migration Problem Yingyue Xu. Energy efficiency requirement of sensor networks Mobile agent computing paradigm Data fusion, distributed processing.
Processes Introduction to Operating Systems: Module 3.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Shuman Guo CSc 8320 Advanced Operating Systems
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Jini Architecture Introduction System Overview An Example.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Peer to Peer Network Design Discovery and Routing algorithms
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Java – in context Main Features From Sun Microsystems ‘White Paper’
Mobile Agents M. L. Liu. Distributed Computing, M. L. Liu2 Introduction Mobile agent is a distributed computing paradigm. It has become viable, with recent.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Peer-to-Peer (P2P) Networks By Bongju Yu. Contents  What is P2P?  Features of P2P systems  P2P Architecture  P2P Protocols  P2P Projects  Reference.
Java Mobile Agents with Aglets End of studies report Responsible : M. Logothetis ERASMUS Exchange.
CMSC 691B Multi-Agent System A Scalable Architecture for Peer to Peer Agent by Naveen Srinivasan.
EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Mobile Agents Technology - Programming with Aglet
Mobile Agents.
CLUSTER COMPUTING.
Mobile Agents M. L. Liu.
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
In Distributed Systems
Architectures of distributed systems Fundamental Models
Presentation transcript:

Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan

Reference [1] Shirky, C, What is P2P…And what isn’t. O’Reilly Network, 24/11/2000 [2]Napster, Inc., [4]ICQ, Inc, [5]eMikolo Networks, Inc., [6]Groove, Groove Networks Inc., [7]Caglayan, A. and Harrison, C. Agent Sourcebook. Wiley Computer Publishing, 1997

Reference (Contd.) [8] Green, S.et al., Software Agents: A review, Department of Computer Science, Trinity College Dublin, 1997 [9] Danny B.Lange and Mitsuru Oshima, Seven Good Reasons for Mobile Agents, Communications of the ACM, vol.42, No.3, March [10] Dan Connolly, Mobile Code Systems, [11] General Magic, Inc.,

Background Peer to Peer network is the movement away from traditional client server model to a network where each participating device is acting as both client and the server [1] some of the main advantage of P2P are greater storage, more computer cycles and greater bandwidth.

What is a Software Agent? No consensus definition yet Since agents can play roles in many different types of applications and since current agent research is so varied, there may never be a consensus But several key concepts have emerged

Software Agent (Contd.) Let’s look at some definitions: An agent is a component of software and/or hardware which is capable of acting exactingly in order to accomplish tasks on behalf of its user (Nwana, 1996) An agent is a computer system, situated in some environment, that is capable of flexible autonomous action in order to meet its design objectives (Jennings, Sycara and Wooldridge, 1998)

Stationary Agent Executes only on the system where it begins execution (Software agent) If it needs information on another system, or needs to interact with an agent on another system, it uses a standard client- server communication mechanism such as RPC, RMI, DCOM, CORBA

Mobile Agent Not bound to the system where it begins execution Can move from one system to another within the network Transports both its code and its state with it Decide itself where to go, what to do, how long to exist. (Autonomous)

Why use Mobile Agents? MA reduce the need for bandwidth. Peers perform multiple interactions over the communication channel, this generate the network traffic. MA allows the interactions among the peers to be packaged together and sent as a discrete piece of network traffic. Allows these interactions take place locally.

Why use MA? (Contd.) Encapsulate all the required data within themselves. Once a MA arrives on a computer with all its data, and need not to communicate with any other computers. Compared to conventional search protocol in which all the raw data travels over the network to be processed. MA reduce the network traffic by mo

Why use MA (Contd.) Mobile agents are asynchronous. When a mobile agent is dispatched there is no need to wait for it to return. The original peer does not need to remain connected to the network while the mobile agents are out

Why use MA (Contd.) MA is autonomous. MA is learning about the network as it progresses through it. The mobile agent will visit peers that were unknown when it was originally dispatched. At each peer it can make the decisions based on its history of visited peers and the current peer.

Why use MA (Contd.) Mobile agents have either new or more recent information about the resources. Information is being disseminated at every peer that the mobile agent visits. MA maybe easily be cloned and dispatched in different directions. MA based solution is very fault tolerant

What is Resource something that may have a perceived value to somebody or something. Source available in each peer

Current research solutions Napster Gnutella KaZaA Project Juxtaposition

Peer Discovery Algorithm The algorithm is making a trade-off between a more detailed network discovery and a more efficient and practical network discovery. The main algorithm is used to decide how the MA will behave in its search for other peers

Creator peer A mobile agent is created on a peer wishing to participate in the network. This peer is known as the “creator peer” for that particular mobile agent and all its future clones. The mobile agent updates itself with information about its creator peer.

Two important parameters A journey-time for the MA. It is set in terms of the maximum number of peers that may be visited before it returns to its creator peer Branching factor. It is used to determine how many times the MA maybe cloned at any peers. Control the depth and breadth of the search.

Algorithm (1) The mobile agent is given the address of some other peers participating in the network. The number of addresses provided should be small and should be less than the branching factor. These addresses should come from different sources.

Algorithm (2) Mobile agent clones itself enough times to allow a mobile agent to be sent to each of these peer.

Algorithm (3) After arriving at each peer. MA decrements its journey-time, and updates the peer with the information about its creator peer. Updates itself with information on the current peer.

Algorithm (3) (Contd.) If two mobile agents from the same creator peer arrive at the current peer within a preset time period. The second MA destroys itself. It keeps the information up to date and prevents peers form cycles from having to deal repeatedly with the MA from the same creator peer

Algorithm (4) If the MA’s journey-time has expired, it returns to its creator peer and updates its creator peer with all the information in has collected on its journeys. MA clones itself enough times to allow a clone of itself to be sent to each peer that was known to the current peer.

Implementation Implementing the mobile agent based solution using the Aglet Software Development Kit (ASDK) with the patch supplied by K.Muniandy[2]

Aglets Aglets is a Java mobile agent platform and library. Aglets has been developed at the IBM Tokyo Research Laboratory (TRL) from Mitsuro Oshima and Danny Lange.

Aglets (Contd.) Aglets includes both a complete Java mobile agent platform, with a stand-alone server called Tahiti, and a library that allows developer to build mobile agents. Its source is totally opened and is hosted on sourceforge.net

Architecture The general architecture of our proposed solution is built upon the existing Aglets architecture. The solution developed by us is an Aglet based protocol to be used as part of a larger solution rather than a stand- alone application.

Architecture (Contd.)

DiscoveryAglet DiscoveryAglet is the MA that travels the network. It implements the peer discovery algorithm. The Aglet takes its state with it by using its instance variables which can be type of boolean, int, string or vector. These classes are all part of the standard Java Virtual Machine. No need to transmit them with MA, save time and bandwidth.

AgletContext AgletContext class is part of ASDK. It is needed to maintain and manage Aglets within a secure environment. Aglet can communicate with other objects that are within the AgletContext. Provides methods allowing other objects to be placed within it.

PeerResource It is an object that holds the information about all resources at the current peer. It is placed within the AgletContext. MA within AgletContext can access it

PeerApplication A stand-alone java application that encapsulates all the software components. Use Tahiti, the default mobile agent server that comes with the ASDK. Use a new EmbeddedAgletServer containing an embedded mobile agent server, all the funcitonality needed to use the discoveryaglets..

Conclusion Characters of MA A MA solution Advantage of this solution Aglets Architecture of the solution and its implementation using Aglets

Thank you!