Professional Documents
Culture Documents
MA Tutorial 3
MA Tutorial 3
MA Tutorial 3
LanguageID 3
Spanish Filter
User 1
documents
Agent pool
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
140 140
AutoPilot Components AutoPilot Components
l Service Provider Places
ServiceProvider is an abstract class from which all Places inherit
Provides methods for:
Loading and instantiating the Places configuration parameters
Registering with the nearest Workflow Service Broker the following attributes:
data type handled, cost of service and quality of service
Recording processing statistics: number of documents processed, errors,
average CPU time, average document size
Shutting down the Place
71
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
141 141
AutoPilot Components AutoPilot Components
l Workflow Server Brokers (WSB)
Distributed, multi-tiered hierarchy of WSB Places
Our current implementation uses a Master WSB at a well-known location
with local WSBs at each host
Local WSBs store information about the Places available on the local host
Agents consult the local WSB first
To ensure that local resources are used when available
If a desired service type is not registered with the local WSB, the query is then
passed up to the WSB at the next higher level
The WSB recommends the next Place in the agent's processing path
The recommendation is based on data type handled, "service quality" and
"service cost
Information in the WSB is stored as a four-tuple representing service type,
service name, data type processed, and location
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
142 142
AutoPilot Components AutoPilot Components
l Workflow Server Brokers (WSB)
WSB queries are formatted like DNS names with wildcards. The format is
serviceType.serviceName.dataType.location
Example: Translate.MerlinTerp.Spanish.Host:8001
Agents query WSB by data type
For example, the query (Translate.*.Spanish.*) would return all
services at all locations which provide Spanish machine translation
All entries in the WSB are created when a Place registers with the WSB
A simple leasing mechanism allows the WSB to maintain a list of entries
that represent Places that are truly available
72
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
143 143
AutoPilot Components AutoPilot Components
l Agent Pool
Used to limit the number of agents that are in the system at any given time
Agent Pool is populated at system start-up time
Size of pool is determined by the system configuration
When an agents returns from processing it is returned to the pool
l Agents
Agent Itinerary Stack
Used to pre-plan part or all of an agents processing path
Can be used to deliver a document to several people
Each service provider can push one or more items onto the stack
Each service provider can pop one or more items from the stack
Used to dynamically determine the route through the various processing places
(one node look ahead)
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
144 144
AutoPilot Components AutoPilot Components
l Agents
Basic Agent Control Loop
control() {
// Anything to do?
if (itineraryStack.empty() || currentState.equals(TERMINATE)
|| (place = getNextPlace(itineraryStack)) == null)
homePlace.agentPoolReturn();
appendTravelogue(place);
// Move to next place and invoke atPlace()
moveTo(place, "atPlace");
}
atPlace() {
// Do local processing.
process(document);
// What next?
control();
}
73
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
145 145
AutoPilot Implementation AutoPilot Implementation
l Early Implementations
Telescript: powerful agent development language; poor overall system
performance
C++: implementation facilitated by Agent/Place/WSB metaphor; single
machine only
l Java Implementations
Odyssey: based on RMI serialization mechanism; better performance than
Telescript
Voyager: based on proprietary high-speed serialization mechanism; easy to
mix remote object messaging and object mobility
l Current implementation uses ObjectSpace's Voyager
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
146 146
AutoPilot Performance Enhancements AutoPilot Performance Enhancements
l Co-location of lightweight services
By co-locating services whose processing cost is less than or equal to the
cost of agent movement overall system performance can be increased
l Simplifying the Agent payload
Representing the same data in a less complex state, for example XML, can
represent a considerable cost saving in the critical serialization operation
l Minimizing off machine querying of the WSB
Have local WSBs at each host
l Remote reference data only when necessary
In some circumstances, it is better to move the data with the agent than
remotely reference it
It is the responsibility of the system designer to decide, based on the
specific nature of the application, how much of the data to move, the
circumstances under which data should move, and how best to optimize the
data for serialization
74
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
147 147
Application of Mobile Agents to
Distributed Databases
Application of Mobile Agents to
Distributed Databases
l Problem
Providing users with relevant and up-to-date information from multiple
data sources
Complex task because:
Data sources can be distributed across the network
Heterogeneity at various levels: hardware, software and terminology
l Approach
System of collaborating autonomous agents (both static and mobile) to
interact with distributed information sources, gather, merge and present
query results to the user
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
148 148
Agent-Based Distributed Data Access Agent-Based Distributed Data Access
Meta-Schema Agent
InfoSource1: CarDealers
InfoSource2: Consumer Reviews
InfoSource3: Car Insurance
InfoSource4: Govt Recall/Safety
InfoSource1 Agent
InfoSource4 Agent
InfoSource3 Agent
InfoSource2 Agent
Mobile Query
Agent
What are the best deals on
highly rated and safe minivans?
75
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
149 149
Types of Agents for Distributed Data
Access
Types of Agents for Distributed Data
Access
l InfoSource Agent
Static agent co-located with the information source
Provides a common interface for mobile query agents
Knows the information source protocols to submit requests and how the returned
results are formatted
l Meta-Schema Agent
Static agent
Maintains information published by various information sources about
their contents and location
l Query Agent
Mobile to migrate between distributed information sources to gather data
Carries, merges and formats the gathered data
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
150 150
References References
l Aglets
www.trl.ibm.co.jp/aglets/index.html
Lange and Oshima, Programming and Deploying Java Mobile Agent with Aglets, Addison-
Wesley, 1998
l CORBA/MASIF
www.omg.org/
l CoABS/DAML
www.darpa.mil/
l FIPA
www.fipa.org/
l Hive
www.hivecell.net/
l Java Spaces
http://www.javasoft.com/products/javaspaces/
Freeman, Humpfer, Arnold, JavaSpaces Principles, Patterns, and Practices, Addison-Wesley,
1999
76
Mobile Agents Tools USA Tools USA 2000
Mobile Agent Systems and Applications Mobile Agent Systems and Applications
151 151
References References
l Jumping Beans
http://www.jumpingBeans.com/
l Jini
www.sun.com/jini/
www.jini.org/
Arnold, OSullivan, Scheifler, Waldo, Wollrath, The Jini Specification, Addison Wesley,
1999
l The Mobile Agent List
www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole/mal/mal.html
l Mole
www. mole.informatik.uni-stuttgart.de/docs/
l RMI
java.sun.com/products/jdk/rmi/
l Voyager
www.objectspace.com/downloads/