comparison study of three mobile agent systems aglets, grasshopper and voyager qunhua zhao, hua wang...

37
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

Upload: ashtyn-yarde

Post on 31-Mar-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

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

Comparison Study of Three Mobile Agent SystemsAglets, Grasshopper and Voyager

Qunhua Zhao, Hua Wang and Yi ZhangDepartment of Computer Science and

EngineeringUniversity of Connecticut

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

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)

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

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.

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

Why Use Mobile Agents?

Reduce Network load. Overcome network latency. Encapsulate protocols. Execute asynchronously and autonomously. Naturally heterogeneous. Robust.

Page 5: 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 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.

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

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.

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

Aglets System.

A

A

A

Network Daemon

Security Manager

Network

User Interface

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

Agent System.

Agents

Place

Engine

Resources

Host

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

Agent Properties.

Interface

Implementation

State

Identifier

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

Agent Transfer

Resume Execution

Deserialize Agent

Decode Data

Receive DataTransfer Data

Encode Data

Serialize Agent

Suspend Execution

Sender Receiver

Network

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

Agent Code Transfer.

Agent Agent

Class Code Class Code

DestinationOrigin

Class Code

Server(c) Class at Server

(b) Class at Origin (a) Class at destination

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

Life Cycle of a Mobile Agent.(Aglets example)

Aglet

AgletClone

Context A Context B

ClassFile

DiskStorage

Create ActiveDeactivate

Dispose

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

Agents Travel Among Places within the Network.

Agent

place

The InternetList of

Locations

place

place

place

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

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

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

Three Chosen Mobile Agent Systems.

Aglets IBM http://www.trl.ibm.com/aglets/index_e.htm http://sourceforge.net/projects/aglets/

Grasshopper IKV++ http://www.grasshopper.de/

Voyager Objectspace Recursion Software http://www.recursionsw.com

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

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 OMG’s 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

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

Description of Three Agent Systems.

Aglets Grasshopper Voyager

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

No Yes No

Control of Migration

Agent itself or others.

Agent itself or others.

Agent itself or others.

Communication Type

Message passing Method invocation

Method invocation

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

Components in Grasshopper Agent System.

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

Agent inheritance in Aglets and Grasshopper.

Agent

<<Interface>>

IAgent

<<Interface>>

IMobileAgent

<<Interface>>

IStationaryAgent

MobileAgentStationaryAgent

SAgent MAgent

Grasshopper

Aglet

agent

Aglet

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

Voyager’s Agent Concept.

Primary

Object

Facet FacetFacet

(Agent)

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

Description of Three Agent Systems. (cont.)

Aglets Grasshopper Voyager

Synchronous Communication

Yes Yes Yes

Asynchronous Communication

Yes Yes Yes

One-way Communication

Yes Yes Yes

Multicast Communication

Yes Yes Yes

Message Forwarding

No Yes Yes

Scope of Directory Service

Host Region Global

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

Description of Three Agent Systems. (cont.)

Aglets Grasshopper Voyager

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

No X.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. 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.3 or later 1.2 or later.

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

Design Pattern for Agent Application.

Traveling patterns

Task Patterns

Interaction Patterns

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

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.

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

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.

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

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.

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

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.

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

Experiment Design – Coop Agent

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

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

Experiment Design – Class Diagram

interfaceCIAgent

+setHost:void+setNextHost:void+wait:void+move:void+move:void+move:void+getMessage:Message+sendMessage:void+Duplicate:Agent+Work:void

host:url nextHost:url path:ArrayList meetingLocation:url

CIAgentCoopAgent

#currentHost:url#path:ArrayList#meetingLocation:url#workName:String#workBase:url

MeetingManager

-r:double-s:double-sum:double-counter:int-regOne:int-regTwo:int

#receiveMessage:void#sum:double#checkSum:boolean#noticeAll:void

Message

#flag:String#prices:ArrayList#r:double

Bookkeeper

-prices:ArrayList

#receiveMessage:void#tellMessage:void

CIAgentSearchAgent

#currentHost:url#path:ArrayList#workName:String#workBase:url

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

Experiment Results

Comparison of local & network itinerary

0

200

400

600

800

1000

1200

1400

1600

1800

2000

local netw ork

millis

ec

on

d

AgletVoyagerGrassHopper

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

Experiment Result (cont.)Aglet: Histogram of local and

network itinerary

0

2

4

6

8

10

Bin

100

120

140

160

180

200

220

240

Fre

qu

en

cy

localnetw ork

Voyager: Histogram of local&network

0

2

4

6

8

500 520 540 560 580 600 620 640 660millisecondfreq

uen

cy

local

netw ork

Grasshopper: Histogram of local&network

0

1

2

3

4

5

6

7

8local

netw ork

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

Experiment Results (cont.)

Comparison of n-node itinerary

0

500

1000

1500

2000

2500

3000

3500

1-node 2-node 3-node

mill

isec

ond

Aglet

Voyager

Grasshopper

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

Experiment Result (cont.)Aglet: Histogram of n-node itinerary

0

2

4

6

8

10

12

100 110 120 130 140 150 160 170 180millisecond

1-node

2-node

3-node

Voyager: Historgram of n-node itinerary

0

2

4

6

8

10

12

600 700 800 900 1000 1100 1200 1300 1400 1500mi l l i second

freq

uenc

y

1-node

2-node

3-node

Grasshopper: Historgram of n-node itinerary

0

1

2

3

4

5

6

mil l i second

1-node

2-node

3-node

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

Experiment Results (cont.)

Comparison of n search agents

0

1000

2000

3000

4000

5000

6000

1 10 100 1000 10000agent number

Aglet

Voyager

Grasshopper

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

Experiment Result (cont.)

Comparison of Coop Agents in meeting pattern

0

2000

4000

6000

8000

10000

12000

14000

16000

1

mil

lise

con

d

Aglet

Voyager

Grasshopper

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

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.

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

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 Voyager’s resource reuse.