mobile agents 101
TRANSCRIPT
-
8/12/2019 Mobile Agents 101
1/56
Agents &Mobile Agents
IntroductionAgents & Mobile Agents Shonali Krishnaswamy 1
-
8/12/2019 Mobile Agents 101
2/56
Would you bet 11 Million Euros onMobile Agents?
-
8/12/2019 Mobile Agents 101
3/56
Agents - The Concept software system which acts intelligently on
your behalf convenient metaphor situated in an environment and exhibit
behaviour which can be viewed as:pro-active, autonomous, communicative,persistent, mobile, benevolent,adaptive/learning, collaborative, reactive,
deliberative, ... stronger notions of agency: mentalistic notionssuch as knowledge, beliefs, desire, intention,goals, and a logic for reasoning with them
Cutting out the hype a kind of software andan approach to software design
-
8/12/2019 Mobile Agents 101
4/56
Agent Definitions Mission Impossible No consensus on a single definition
New Buzzword
Everybody wants to call their softwareAgents!
Many synonyms just to add to the
confusion knowbots, softbots, personal assistants
-
8/12/2019 Mobile Agents 101
5/56
What the Gurus Say Wooldridge and Jennings
A computer systemsituated in someenvironment
Capable of Autonomous Action tomeet its design objectives in thisenvironment
Autonomy ability to act without directhuman intervention
-
8/12/2019 Mobile Agents 101
6/56
-
8/12/2019 Mobile Agents 101
7/56
Objects and Agents An
Analogy Agents have control of whether or not to
perform any given action
Request actions rather than invoke
methods
-
8/12/2019 Mobile Agents 101
8/56
Agents - Current Research andIndustry theories, architectures, languages, systems agent (internal structure) and mult-agents
(collaboration, teamwork) still thriving research -> emerging industry
>20 companies including IBM, BT, HP,Microsoft, Fujitsu, AgentSoft, Verity, AOS,Extempo, ...
>40 books on software agents at Amazon
>50 research laboratories worldwide organizations coordinating international agent
research:Agent Society, AgentLink, Agents-in-
Melbourne
-
8/12/2019 Mobile Agents 101
9/56
Agents - Applications many due to: appeal of the agent abstraction
agent research spans disciplines:artificial intelligence, distributedcomputing, software engineering(ABSE), sociology, psychology,
economics, object-oriented systems,artificial life, game theory, ...
a sampling...
-
8/12/2019 Mobile Agents 101
10/56
The Internet and theWWW impetus for information agents
gathering, filtering, sharing, monitoring,recommending, comparing information
guiding Web surfers email filtering, autoresponders (e.g., Snoop,
Smartbot)
technologies: NL processing, XML/HTML,machine learning, knowledge engineering
E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...
-
8/12/2019 Mobile Agents 101
11/56
Electronic Commerce automate CBB stages including
product advertising, product brokering,merchant brokering, negotiation, purchase and
delivery, customer services examples for brokering and negotiation:
PersonaLogic, Firefly, BargainFinder, Jango,
Kasbah, AuctionBot, Tete-a-tete, ShopBot needs: standards for unambiguous definition of
commerce-related information such as goods,services, customer and business profiles,
electronic forms
-
8/12/2019 Mobile Agents 101
12/56
Business ProcessManagement streamline business processes in a more flexible
and robust manner
e.g.: ADEPT [Jennings et al]
agents representing entities negotiate forservices from each other
negotiation rules
applied to BT process for installing a network
at a customers premises prototypes based on mobile agents: intra- and
inter-organizational workflows, supply-chainmanagement in virtual enterprises, project
management
-
8/12/2019 Mobile Agents 101
13/56
Entertainment visual manifestation of agent
properties
e.g.s (life-like interactive animatedcharacters): Creatures game [Grandand Cliff], Extempo, MicrosoftsPersona Project (3D, conversational
parrot) believable agents - illusion of life for
objects
-
8/12/2019 Mobile Agents 101
14/56
-
8/12/2019 Mobile Agents 101
15/56
Manufacturing agents systems for:
controlling manufacturing robots
managing factory production processes e.g.: YAMS
each factory and factory component is
represented by an agent automates delegation of production
orders via bidding between agents
-
8/12/2019 Mobile Agents 101
16/56
And More... agents for telecommunications:
network modelling and QoS
management medical informatics: e.g., multi-agent
based distributed health care systems
communityware: agents representpeople in virtual communities
distributed data mining
-
8/12/2019 Mobile Agents 101
17/56
-
8/12/2019 Mobile Agents 101
18/56
Important Types of Agents
Collaborative
Interface
Mobile Information / Internet
Others Reactive, Hybrid, Smart
Many Classification Schemes &Typologies exist => to come in the nextlecture
-
8/12/2019 Mobile Agents 101
19/56
What is a Mobile gent? Software program
Moves from machine to machine under its owncontrol. Suspend execution at any point in time,
transport itself to a new machine and resume
execution Once created, a mobile agent autonomouslydecides which locations to visit and whatinstructions to perform
Continuous interaction with the agentsoriginating source is not required
HOW? Implicitly specified through the agent code Specified through a run-time modifiable
itinerary
-
8/12/2019 Mobile Agents 101
20/56
Evolution BOTTOMLINE: Mobile Agents are a distributed
computing paradigm End point in the incremental evolution of mobile
abstractions such as mobile code, mobile objects,
mobile processes. Mobile Code transfers code
Mobile Object transfers code + data
Mobile Process transferscode + data + thread state
Mobile Agent transfers
code + data + thread + authority of itsowner
-
8/12/2019 Mobile Agents 101
21/56
RPC Vs Mobile Agents Remote Procedure Calls (RPC)
One computer calls procedures on another Messages: Requestsand Responses
Procedure is remote i.e. it is local to the
machine that performs it Client and Server agree in advance on the
protocol for communication
Continuous on-going interaction and
communication between the client and server
CLIENT SERVERnetwork
-
8/12/2019 Mobile Agents 101
22/56
RPC Vs Mobile Agents Mobile Agents
Instead of calling a procedure, supply theprocedure as well
Messages: Mobile Agent ( procedure + data +state)
Sending computer may have begun theprocedure and the receiving computer willcontinue the procedure
On-going interaction, but NO on-going
communication
CLIENT
SERVER
network
Mobile
AgentService
-
8/12/2019 Mobile Agents 101
23/56
Applets Servlets andMobile Agents Applet Downloaded from server to
client
Servlet Uploaded from client toserver
Mobile Agents Detached fromclient, can have multiple hops
-
8/12/2019 Mobile Agents 101
24/56
Advantages of theMobile Agent Paradigm
reduce bandwidth consumption and network loads allow dynamic deployment of application componentsto arbitrary network sites
encapsulate protocols execute asynchronously and autonomously
can adapt by moving run on heterogeneous platforms most distributed applications fit naturally into the
mobile agent model
intuitively suitable for mobile users and disconnectedoperations Mobile agents combine the strengths of techniques
such as RPC, java applets etc. into a single, convenientframework
-
8/12/2019 Mobile Agents 101
25/56
Mobile Agent Myths MYTH #1:Mobile agents are risky to
use.FACT #1 : No different to allowingremote access or accepting email thatcontains active entities
MYTH #2: Mobile agent paradigmneeds a killer application to survive
FACT #2: Any technology needs timeto mature. Several applications ratherthan one killer application can alsocontribute towards pushing this
technology further
-
8/12/2019 Mobile Agents 101
26/56
Mobile Agent Myths
MYTH #3:Wide deployment of agentenvironments is unlikely to emerge.
Because agents execute within agiven environment. It is unlikely forsuch agent environments to beavailable on a base of computersworld wide that is large enough to
make MA applications truly ubiquitous
-
8/12/2019 Mobile Agents 101
27/56
Mobile Agent Myths FACT #3 : No Because
JVMs and ORBs exist in each browser(most MA applications are developed in Javaand the OMGs MASIF standards rely onCORBA compliant interfaces)
Development of PUSH technology canenable uninvited agents to execute onservers that are willing to accept them
MA toolkits are typically small in size and soare easy and inexpensive to download themon servers where they do not already exist
Emerging standards are likely to lead to
interoperable agent environments
-
8/12/2019 Mobile Agents 101
28/56
Mobile Agent Myths MYTH #4:Most things that
mobile agents can do, static
agents can do as well FACT #4: Truebut the
performance benefitsassociated with mobile agentscan be higher
-
8/12/2019 Mobile Agents 101
29/56
-
8/12/2019 Mobile Agents 101
30/56
Levels of Mobility Weak Mobility When moving a mobile agent
carries code + data state
Data State - global or instancevariable
On moving, execution has to start
from the beginning
-
8/12/2019 Mobile Agents 101
31/56
Levels of Mobility Strong Mobility When moving a mobile agent carries
code + data state + execution
state Data State - global or instancevariable
Execution State local variables and
threads On moving, execution can continue
from the point it stopped on theprevious host
-
8/12/2019 Mobile Agents 101
32/56
Mobile Agent Toolkits What a DBMS is to Data, a Mobile Agent
Toolkit is to Mobile Agents Provides the infrastructure for mobile agents:
to interact with the underlying computersystem provide a home, a place, a
context for agents to reside in andperform their tasks on a given host to move from host to host to communicate with each other, with users
and with host servers to maintain privacy and integrity (of agentsas well as hosts)
Current trend: Java based
-
8/12/2019 Mobile Agents 101
33/56
Java Lingua Franca forMobile Agent Toolkits BENEFITS Platform independence Secure execution Dynamic class loading Multi-threaded programming Object serialisation
-
8/12/2019 Mobile Agents 101
34/56
Java Lingua Franca forMobile Agent Toolkits LIMITATIONS Inadequate support for resource
control No protected references need
for a proxy object to shield
access to public methods No support for preservation andresumption of execution state
-
8/12/2019 Mobile Agents 101
35/56
IBMs glet Toolkit An Applet-like programming model
for mobile agents Java (as many mobile agent toolkitsare! )
Aglet = Agent + Applet Aglets API facilitates mobiletechnology
Aglet:mobile java object thatvisits aglet enabled hosts in acomputer network
An Aglet = Instance of a Java class
extending the Aglet Class
-
8/12/2019 Mobile Agents 101
36/56
IBMs glet Toolkit An Aglet =
Aglet state (values invariables)+
Aglet code (classimplementation) Autonomousruns its own thread
after arriving at a host Reactive responds to incoming
messages Weak Mobility
-
8/12/2019 Mobile Agents 101
37/56
IBMs glet Mobile gentSystem System elements: host, engine,
context, proxy, aglet Aglet Transfer Protocol e.g.
atp://hostname:port/context/
AgletID: system-given globallyunique identifier for life
-
8/12/2019 Mobile Agents 101
38/56
IBMs glet Mobile gentSystem
agletproxy
proxyaglet
context
aglet proxyproxy aglet
contextengine host
user
-
8/12/2019 Mobile Agents 101
39/56
IBMs glet System
Proxy: representative of an aglet. Shields and protects an aglet from directaccess to its public methods
Provides location transparency for the
objectContext: an aglets work place.
A server can have several contexts.
Named StationaryMessage: objects exchanged between aglets
Synchronous and Asynchronous messagingusin FUTURE REPLY
-
8/12/2019 Mobile Agents 101
40/56
The Aglet Model Operations on aglets:
creationwithin a context. Assign id,initialise and execute. run
cloningidentical copy in the samecontext. Different id and executionthread
dispatching move from one context
to another where execution will re-start (i.e. threads do not migrate) retractionpull from current
context and insert into the context
from which retractionwas requested
-
8/12/2019 Mobile Agents 101
41/56
The Aglet Model activation & deactivation
temporary halt and store insecondary storage disposal halt execution and remove
from current context
Event-based control via user-definedmethods: onCreation, onDisposing,onCloning, onDispatching, onReverting,onArrival, onActivation,
onDeactivating, Messaging between aglets: messaging via
proxy, a message invokes a method
-
8/12/2019 Mobile Agents 101
42/56
Several OtherToolkits Gossip - Tryllian
GrasshopperIKV++ Technologies
DAgents - Dartmouth University
Voyager - ObjectSpace
MOA - Mobile Objects and Agents - The Open
Group Research Institute Concordia - Mitsubishi Electric Lab
JSeal, Gypsy, GossipMany, many more
-
8/12/2019 Mobile Agents 101
43/56
Mobile Agent Applications WWW Information Retrieval Electronic Marketplace
Distributed Data Mining Mobile Computing
Space Presence
OthersNetwork Management,
Distributed Database Access
-
8/12/2019 Mobile Agents 101
44/56
Mobile WebRobots/Spiders Send mobile agents to the server side to
search/filter through web pages and
send only the relevant pages (or parts ofpages) back
Deploy mobile agents to index web
pagesanalyse and construct partialindexes on the server sideand send
back the index
-
8/12/2019 Mobile Agents 101
45/56
Mobile WebRobots/Spiders Effective use of internet bandwidth
Better performance
Filtering of data and avoiding transfer ofintermediate data
Better load distribution
Continue scanning and screening even ifthe link goes down
-
8/12/2019 Mobile Agents 101
46/56
Electronic Marketplace Widely quoted application domain for mobile
agents
Electronic Marketplace: Suppliers, Dealers,
Buyersand Brokers
Buyers are generally the most benefited bymobile agents
Transaction Phases
Information Phasebuyer collects information
from many prospective suppliers
Negotiation Phasebuyer and supplier negotiate
the conditions of the transaction
Execution PhaseActual exchange of goods
-
8/12/2019 Mobile Agents 101
47/56
Electronic Marketplace Market Structures
Direct Search Markets
Buyer directly contacts different suppliers
Buyer has to perform the entire information
phase
Time consuming and expensive
Mobile Agents are ideally suited to perform
the search
-
8/12/2019 Mobile Agents 101
48/56
Electronic Marketplace Brokered Markets
Brokers perform the search for a certain fee
Here brokers use mobile agents instead of the
buyers
Dealer Markets Dealers are required to buy products in advance and
offer them at set prices to buyers
Buyer asks different dealers for prices and
immediately buys the product at the cheapest dealer
Mobile agents can be used to find the cheapest price
offered
-
8/12/2019 Mobile Agents 101
49/56
MA Applications:Electronic Marketplace Auction Markets
Centralise supplies and demands on a single
virtual market place
Less need for mobile agents as suppliers andbuyers can see the potential trading partners
-
8/12/2019 Mobile Agents 101
50/56
-
8/12/2019 Mobile Agents 101
51/56
Distributed DataMining
Data Mining (DM):Discovery of hitherto unknownpatterns from very large databases
Distributed Data Mining (DDM):Data mining ofdistributed data sources
Characteristics: Distribution of data, users, mining algorithms and
computational resources
Heterogeneity of data
Large data volumes DDM = DM + Knowledge Integration
-
8/12/2019 Mobile Agents 101
52/56
Distributed DataMining Client Server Model for DDM:Bring data from
distributed sources into a data mining server formining.
Disadvantage:Communication Overhead
Mobile Agent Model:Dispatch mining agents to thedistributed data sites.
Overcomes the communication bottleneck
But the problem of non-dedicated computational
resources Our Work Hybrid DDM Model
-
8/12/2019 Mobile Agents 101
53/56
Delivering Services toMobile Devices Environment: a set of wireless/wired networkedmobile/fixed computers dynamic environment: computational resources, battery
power, memory, bandwidth (with frequentdisconnections) limitedand varyingfor the same
computerand across computers; set of computers in adomain varying some uses of mobile software/agents:
move/off-load (multiple) computations to other sites(e.g., processing at database, Web and WAP servers):
no need to maintain connection, depleting resources,move to discovered resources software components only when and where needed:
cope with limited memory, zero-maintenance mobilecomputers, different versions for different hardware
characteristics
-
8/12/2019 Mobile Agents 101
54/56
Delivering Services toMobile Devices users service environment can follow usersmobile device (e.g., VHE, NetChaser) agents move to mobile devices to perform
tasks (e.g., monitor and gather information
from deployed mobile devices) research: mobile places, docking stations e.g.SOMA, AgentTcl, MASE (ACTS CLIMATE),Magenta, Tacoma, Discovery
-
8/12/2019 Mobile Agents 101
55/56
Current Areas of Work mobile agent theories: Pi-calculus extensions,Mobile Ambients, Agent Itineraries
mobile agent model: some component-based,AI-based
mobile agent infrastructure: environmentsupporting mobile agents - security, naming,domain crossing, etc
mobile agent programming: languages, toolkits,abstractions
mobile agent applications: mobile agentstandards: OMGs MASIF, FIPA
-
8/12/2019 Mobile Agents 101
56/56
Research Issues Security: protect host from agents, protect agents
from agents,protect agents from host Performance: if Java or Python, performance
penalities with interpretation (esp. for performancecritical applications), but not for long?
Strong mobility: move full execution state (stacksetc), stacks not accessible with current Java?
MA management:
how control and manage deployed agents
issues: fault tolerance (e.g., agent fails, hostfails), recalling agents, tracking agents, servicingagents (esp. longer living agents)