comparison study of three mobile agent systems aglets, grasshopper and voyager qunhua zhao, hua wang...
TRANSCRIPT
Comparison Study of Three Mobile Agent SystemsAglets, Grasshopper and Voyager
Qunhua Zhao, Hua Wang and Yi ZhangDepartment of Computer Science and
EngineeringUniversity 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
Sender Receiver
Network
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
Life Cycle of a Mobile Agent.(Aglets example)
Aglet
AgletClone
Context A Context B
ClassFile
DiskStorage
Create ActiveDeactivate
Dispose
Agents Travel Among Places within the Network.
Agent
place
The InternetList of
Locations
place
place
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 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
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
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
Components in Grasshopper Agent System.
Agent inheritance in Aglets and Grasshopper.
Agent
<<Interface>>
IAgent
<<Interface>>
IMobileAgent
<<Interface>>
IStationaryAgent
MobileAgentStationaryAgent
SAgent MAgent
Grasshopper
Aglet
agent
Aglet
Voyager’s Agent Concept.
Primary
Object
Facet FacetFacet
(Agent)
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
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.
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
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
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
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
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
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
Experiment Results (cont.)
Comparison of n search agents
0
1000
2000
3000
4000
5000
6000
1 10 100 1000 10000agent number
Aglet
Voyager
Grasshopper
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
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 Voyager’s resource reuse.