Comparison Study of Three Mobile Agent Systems Aglets, Grasshopper and Voyager Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering.

Slides:



Advertisements
Similar presentations
--- IT Acumens. COMIT Acumens. COM SNMP Project. AIM The aim of our project is to monitor and manage the performance of a network. The aim of our project.
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence Peter Brezany.
Web Service Architecture
Agents & Mobile Agents.
Mobile Agents. 2 Introduction Mobile agent is a distributed computing paradigm. It has become viable, with recent technologies such as those provided.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
COM vs. CORBA.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
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.
RPC Robert Grimm New York University Remote Procedure Calls.
Java Mobile Agents with Aglets Wolfgang Schreiner
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
GRASSHOPPER-a mobile agent platform mailto:
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Outline : Motivation & background Mobile agents and enterprise computing Algebra of itineraries Implementation and applications Demo Scripting Mobile Agents.
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Scenario Based Interaction Model for a Mobile Agent System
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Introduction to distributed systems Dr. S. Indran 23 January 2004.
H Research Issues in CORBA Peter de Jong Hewlett-Packard Usenix 8/12/97 Research Issues in CORBA What keeps CORBA people awake at Night! Peter de Jong.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Analysis, Design, and Implementation of an Agent Based Management Information System Management Information System Supervisor: Dr. Razzazi Supervisor:
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan.
15/06/1999HP OVUA Workshop - Bologna - Italy1 An Integrated Environment for the Management of Network Resources and Services Paolo Bellavista, Antonio.
Lecture 15 Introduction to Web Services Web Service Applications.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Information Management NTU Interprocess Communication and Middleware.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
The OMG Mobile Agent System Interoperability Facility.
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
MODULE I NETWORKING CONCEPTS.
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.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
1 010/02 Aspect-Oriented Interceptors Pattern 1/4/2016 ACP4IS 2003John Zinky BBN Technologies Aspect-Oriented Interceptors Pattern Dynamic Cross-Cutting.
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima.
Mobile Agents M. L. Liu. Distributed Computing, M. L. Liu2 Introduction Mobile agent is a distributed computing paradigm. It has become viable, with recent.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Java Mobile Agents with Aglets End of studies report Responsible : M. Logothetis ERASMUS Exchange.
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.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
What is RMI? Remote Method Invocation
Mobile Agents Technology - Programming with Aglet
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Mobile Agents M. L. Liu.
Network Layer The network layer is responsible for the source-to-destination delivery of a packet, possibly across multiple networks (links). Whereas the.
In Distributed Systems
Presentation transcript:

Comparison Study of Three Mobile Agent Systems Aglets, Grasshopper and Voyager Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering University of Connecticut

What is Software Agent? Debated for a long time and no unique definition. End user view: An agent is a program that assists people and acts on their behalf. Agents function by allowing people to delegate work to them. System view: A software object that Is situated within an execution environment. Reactive, Autonomous, Goal-Driven, Temporally continuous. Communicative, Mobile, Learning, Believable. Lange, D and Oshima, M. (1998)

What is a Mobile Agent? An mobile agent is not bound to the system where it begins execution. It can transport itself from one system in a network to another, and resume its execution. It can bring its state to a new remote host.

Why Use Mobile Agents? Reduce Network load. Overcome network latency. Encapsulate protocols. Execute asynchronously and autonomously. Naturally heterogeneous. Robust.

Mobile Agents Applications. Electronic commerce: e.g. stock quote. Personal assistant: e.g. meeting scheduler. Distributed information retrieval. Monitoring and notification. Parallel processing. Game on the Internet.

What is the Mobile Agent System? An agent system is a platform that can create, interpret, execute, transfer, and terminate agents. Components: Agents. Places: an environment in which an agent execute.

Aglets System. A A A Network Daemon Security Manager Network User Interface

Agent System. Agents Place Engine Resources Host

Agent Properties. Interface Implementation State Identifier

Agent Transfer Resume Execution Deserialize Agent Decode Data Receive DataTransfer Data Encode Data Serialize Agent Suspend Execution SenderReceiver Network

Agent Code Transfer. Agent Class Code DestinationOrigin Class Code Server (c) Class at Server (b) Class at Origin(a) Class at destination

Life Cycle of a Mobile Agent. (Aglets example) Agle t Clone Context AContext B Class File Disk Storage CreateActiveDeactivate Dispose

Agents Travel Among Places within the Network. Agent place The Internet List of Locations place

Goal. Experience with agent programming. Focus on the performance comparison of different mobile agent systems. We define the performance of an agent system as the total completion time of a certain task by a program, which is implemented by this agent system package

Three Chosen Mobile Agent Systems. Aglets IBM Grasshopper IKV++ Voyager Objectspace Recursion Software

Why Choosing these three Systems? Popularity Representative Aglets: Focus of mobile agent. Grasshopper: A mobile agent system built on top of a distributed processing environment. The first mobile system compliant to OMGs MASIF specification. Voyager: An agent enhanced ORB. Programming language (JAVA) Availability Compatibility to latest version of JDK (1.3.1/1.4.1) Document and support

Description of Three Agent Systems. AgletsGrasshopperVoyager Architecture and Components Aglets as agents, Context as host/interface to runtime environment. Mobile and Stationary Agents. Region, Agency, Place. Distributed object connected by an ORB. Space for broadcasting. Transport and Communication Technology Agent Transfer Protocol (ATP). Socket, RMI, CORBA, Socket+SSL, RMI+SSL Socket, CORBA, RMI, DCOM. Concept of Stationary Agent NoYesNo Control of Migration Agent itself or others. Communication Type Message passingMethod invocation

Components in Grasshopper Agent System.

Agent inheritance in Aglets and Grasshopper. Agent > IAgent > IMobileAgent > IStationaryAgent MobileAgentStationaryAgent SAgentMAgent Grasshopper Aglet agent Aglet

Voyagers Agent Concept. Primary Object Facet (Agent)

Description of Three Agent Systems. (cont.) AgletsGrasshopperVoyager Synchronous Communication Yes Asynchronous Communication Yes One-way Communication Yes Multicast Communication Yes Message Forwarding NoYes Scope of Directory Service HostRegionGlobal

Description of Three Agent Systems. (cont.) AgletsGrasshopperVoyager Internal Security Aglets Security Manager based on Java Security Manager Grasshopper Security Manager based on Java Security Manager Voyager Security Manager based on Java Security Manger External Security NoX.509 certification, SSL. No Documentation Incomplete (no API or Doc for new version) Complete. User guide and API. Complete. User guide and API. Technical Support Mailing list. Full support if licensed. Mailing list (link broken) Full support if licensed Version 2.02 (2002)2.2.4b (2002)4.5 Compatible JDK 1.3 or later 1.2 or later.

Design Pattern for Agent Application. Traveling patterns Task Patterns Interaction Patterns

Agent Design Pattern (cont.) Traveling Itinerary: routes among destinations. Forwarding: a host forwards an arrived agent to another host. Ticket: objectifies a destination address and encapsulates the quality of service and permissions needed to dispatch an agent to a host address and to execute it there. Task Master-Slave: an agent delegate a task to another Plan: organize multiple tasks to be performed in sequence or in parallel by multiple agents.

Agent Design Pattern (cont.) Interaction Meeting: two or more agents initiate local interaction at a given host. Locker: defines a storage and come back for data later. Messenger: an agent carries a remote message from one agent to another. Facilitator: an agent provides services for naming and locating agents. Organized Group: travel together.

Experiment Design Search Agent Search Agent goes through a list of hosts one by one, collects information from them and finally reports to the sender. Coop Agents Coop Agents need to do a simple calculation job co- operatively while moving around within the network.

Experiment Design – Search Agent Search Agent goes through a list of hosts one by one, collects information from them and finally reports to the sender.

Experiment Design – Coop Agent Coop Agents need to do a simple calculation job co-operatively while moving around within the network.

Experiment Design – Class Diagram

Experiment Results

Experiment Result (cont.)

Experiment Results (cont.)

Experiment Result (cont.)

Experiment Results (cont.)

Experiment Result (cont.)

Conclusion & Future Work Performance Comparison in our project Aglet performs best; Voyager is better than Grasshopper; Different JDK environment influenced the experiment result. It is one of reasons that Voyager is slower than Aglet.

Conclusion & Future Work (cont.) Compare system performance with different communication methods. Compare system performance with security settings. Voyager ORB 4.5. Improve robustness of the systems (configuration?) Experiments with Voyagers resource reuse.