Date post: | 07-Apr-2018 |
Category: |
Documents |
Upload: | shruthi-mrinal |
View: | 216 times |
Download: | 0 times |
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 1/56
Agents &Agents &Mobile AgentsMobile Agents
IntroductionIntroduction ± ± Agents & Mobile Agents Agents & Mobile Agents ©Shonali Krishnaswamy©Shonali Krishnaswamy 11
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 2/56
Would you bet 11 Million Euros onMobile Agents?
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 3/56
AgentsAgents -- The ConceptThe Concept
software system which acts ´intelligentlyµ onsoftware system which acts ´intelligentlyµ on your behalf your behalf
convenient metaphorconvenient metaphor situated in an environment and exhibitsituated in an environment and exhibit
behaviour which can be viewed as:behaviour which can be viewed as:propro--active, autonomous, communicative,active, autonomous, communicative,persistent, mobile, benevolent,persistent, mobile, benevolent,adaptive/learning, collaborative, reactive,adaptive/learning, collaborative, reactive,
deliberative, ...deliberative, ... stronger notions of agency: mentalistic notionsstronger notions of agency: mentalistic notionssuch as knowledge, beliefs, desire, intention,such as knowledge, beliefs, desire, intention,goals, and a logic for reasoning with themgoals, and a logic for reasoning with them
Cutting out the hypeCutting out the hype ²² a kind of software anda kind of software andan approach to software designan approach to software design
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 4/56
Agent DefinitionsAgent Definitions
� Mission Impossible
� No consensus on a single definition
� New Buzzword
� Everybody wants to call their software´Agentsµ!
� Many synonyms ² just to add to the
confusion
� knowbots, softbots, personal assistants
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 5/56
What the Gurus Say«What the Gurus Say«
� Wooldridge and Jennings� A computer system situated in some
environment
� Capable of Autonomous Action tomeet its design objectives in thisenvironment
� Autonomy ² ability to act without directhuman intervention
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 6/56
Objects and AgentsObjects and Agents ² ² AnAn
AnalogyAnalogy
� Objects encapsulate state, Agentsencapsulate state + execution behaviour
� Objects have no control over theexecution of methods
� Invocation of method m on object o ²involuntary ² whether object o likes it ornot
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 7/56
Objects and AgentsObjects and Agents ² ² AnAn
AnalogyAnalogy� Agents have control of whether or not to
perform any given action
� Request actions rather than invokemethods
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 8/56
AgentsAgents -- Current Research andCurrent Research and
IndustryIndustry
theories, architectures, languages, systemstheories, architectures, languages, systems agent (internal structure) and multagent (internal structure) and mult--agentsagents
(collaboration, teamwork)(collaboration, teamwork) still thriving researchstill thriving research --> emerging industry> emerging industry
>20 companies including IBM, BT, HP,>20 companies including IBM, BT, HP,Microsoft, Fujitsu, AgentSoft, Verity, AOS,Microsoft, Fujitsu, AgentSoft, Verity, AOS,Extempo, ...Extempo, ...
>40 books on ´software agentsµ at Amazon>40 books on ´software agentsµ at Amazon
>50 research laboratories worldwide>50 research laboratories worldwide organizations coordinating international agentorganizations coordinating international agent
research:research:Agent Society, AgentLink, AgentsAgent Society, AgentLink, Agents--inin--
MelbourneMelbourne
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 9/56
AgentsAgents -- ApplicationsApplications
many due to:many due to:
appeal of the agent abstractionappeal of the agent abstraction
agent research spans disciplines:agent research spans disciplines:artificial intelligence, distributedartificial intelligence, distributedcomputing, software engineeringcomputing, software engineering(ABSE), sociology, psychology,(ABSE), sociology, psychology,
economics, objecteconomics, object--oriented systems,oriented systems,artificial life, game theory, ...artificial life, game theory, ...
a sampling...a sampling...
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 10/56
The Internet and theThe Internet and the
WWWWWW impetus for information agentsimpetus for information agents
gathering, filtering, sharing, monitoring,gathering, filtering, sharing, monitoring,recommending, comparing informationrecommending, comparing information
guiding Web surfersguiding Web surfers
email filtering, autoresponders (e.g., Snoop,email filtering, autoresponders (e.g., Snoop,Smartbot)Smartbot)
technologies: NL processing, XML/HT ML,technologies: NL processing, XML/HT ML,machine learning, knowledge engineeringmachine learning, knowledge engineering
E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 11/56
Electronic CommerceElectronic Commerce
automate CBB stages includingautomate CBB stages including
product advertising, product brokering,product advertising, product brokering,merchant brokering, negotiation, purchase andmerchant brokering, negotiation, purchase anddelivery, customer servicesdelivery, customer services
examples for brokering and negotiation:examples for brokering and negotiation:
PersonaLogic, Firefly, BargainFinder, Jango,PersonaLogic, Firefly, BargainFinder, Jango,
Kasbah, AuctionBot, TeteKasbah, AuctionBot, Tete--aa--tete, ShopBottete, ShopBot needs: standards for unambiguous definition ofneeds: standards for unambiguous definition of
commercecommerce--related information such as goods,related information such as goods,services, customer and business profiles,services, customer and business profiles,
electronic formselectronic forms
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 12/56
Business ProcessBusiness Process
ManagementManagement streamline business processes in a more flexiblestreamline business processes in a more flexible
and robust mannerand robust manner
e.g.: ADEPT [Jennings et al]e.g.: ADEPT [Jennings et al]
agents representing entities negotiate foragents representing entities negotiate forservices from each otherservices from each other
negotiation rulesnegotiation rules
applied to BT process for installing a networkapplied to BT process for installing a networkat a customer·s premisesat a customer·s premises
prototypes based on mobile agents: intraprototypes based on mobile agents: intra-- andandinterinter--organizational workflows, supplyorganizational workflows, supply--chainchainmanagement in virtual enterprises, projectmanagement in virtual enterprises, project
managementmanagement
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 13/56
EntertainmentEntertainment
visual manifestation of agentvisual manifestation of agentpropertiesproperties
e.g.s (lifee.g.s (life--like interactive animatedlike interactive animatedcharacters): Creatures game [Grandcharacters): Creatures game [Grandand Cliff], Extempo, Microsoft·sand Cliff], Extempo, Microsoft·sPersona Project (3D, conversationalPersona Project (3D, conversational
parrot)parrot) believable agentsbelievable agents -- illusion of life forillusion of life for
objectsobjects
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 14/56
Pilot TrainingPilot Training
DST O and AAII·s SWARMM DST O and AAII·s SWARMM systemsystem
agents model pilot reasoning andagents model pilot reasoning andtactics in air battle simulationstactics in air battle simulations
plan and metaplan and meta--plan languageplan language
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 15/56
ManufacturingManufacturing
agents systems for:agents systems for:
controlling manufacturing robotscontrolling manufacturing robots
managing factory production processesmanaging factory production processes e.g.: YAMSe.g.: YAMS
each factory and factory component iseach factory and factory component is
represented by an agentrepresented by an agent automates delegation of productionautomates delegation of production
orders via bidding between agentsorders via bidding between agents
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 16/56
And More...And More...
agents for telecommunications:agents for telecommunications:network modelling and QoSnetwork modelling and QoS
managementmanagement medical informatics: e.g., multimedical informatics: e.g., multi--agentagent
based distributed health care systemsbased distributed health care systems
communityware: agents representcommunityware: agents representpeople in virtual communitiespeople in virtual communities
distributed data miningdistributed data mining
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 17/56
AgentsAgents -- StandardizationStandardization
Agent Communication Languages:Agent Communication Languages: KQML, ...KQML, ...
Agent Lifecycle Management, etc...Agent Lifecycle Management, etc...
Organizations creating specifications:Organizations creating specifications: FIPA: >40 participants including Alcatel,FIPA: >40 participants including Alcatel,
BT, Hitachi, NEC, Siemens, IBM, SunBT, Hitachi, NEC, Siemens, IBM, SunMicrosystems, Telia,...Microsystems, Telia,...
OMG: e.g. MASIFOMG: e.g. MASIF
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 18/56
Important Types of AgentsImportant Types of Agents
� Collaborative
� Interface
� Mobile� Information / Internet
� Others ² Reactive, Hybrid, Smart
� Many Classification Schemes &Typologies exist => to come in the nextlecture
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 19/56
What is aWhat is a Mobile AgentMobile Agent ?? Software programSoftware program Moves from machine to machineMoves from machine to machine under its ownunder its own
control«.control«. Suspend execution at any point in time,Suspend execution at any point in time,
transport itself to a new machine and resumetransport itself to a new machine and resume
executionexecution Once created, a mobile agent autonomouslyOnce created, a mobile agent autonomously
decides which locations to visit and whatdecides which locations to visit and whatinstructions to performinstructions to perform
Continuous interaction with the agent·sContinuous interaction with the agent·soriginating source is not requiredoriginating source is not required
HOW? HOW? Implicitly specified through the agent codeImplicitly specified through the agent code Specified through a runSpecified through a run--time modifiabletime modifiable
itineraryitinerary
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 20/56
EvolutionEvolution
BOTT OMLINE: Mobile Agents are a distributedBOTT OMLINE: Mobile Agents are a distributedcomputing paradigmcomputing paradigm
End point in the incremental evolution of mobileEnd point in the incremental evolution of mobileabstractions such asabstractions such as mobile code, mobile objects,mobile code, mobile objects,
mobile processes.mobile processes. Mobile CodeMobile Code ²² transfers codetransfers code
Mobile ObjectMobile Object ²² transfers code + datatransfers code + data
Mobile ProcessMobile Process ²² transferstransferscode + data + thread statecode + data + thread state
Mobile AgentMobile Agent ²² transferstransferscode + data + thread + authority of itscode + data + thread + authority of itsownerowner
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 21/56
RPC Vs Mobile AgentsRPC Vs Mobile Agents Remote Procedure Calls (RPC)Remote Procedure Calls (RPC)
One computer calls procedures on anotherOne computer calls procedures on another
Messages:Messages: RequestsRequests andand ResponsesResponses
Procedure is ´Procedure is ´remoteremoteµµ ²² i.e. it is local to thei.e. it is local to the
machine that performs itmachine that performs it Client and Server agree in advance on theClient and Server agree in advance on the
protocol for communicationprotocol for communication
Continuous onContinuous on--going interaction andgoing interaction and
communication between the client and servercommunication between the client and server
CLIENT SERVERnetwork
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 22/56
RPC Vs Mobile AgentsRPC Vs Mobile Agents Mobile AgentsMobile Agents
Instead of calling a procedure, supply theInstead of calling a procedure, supply theprocedure as wellprocedure as well
Messages:Messages: Mobile Agent ( procedure + data +Mobile Agent ( procedure + data +state)state)
´Sendingµ computer may have begun the´Sendingµ computer may have begun theprocedure and the receiving computer willprocedure and the receiving computer willcontinue the procedurecontinue the procedure
OnOn--going interaction, but NO ongoing interaction, but NO on--goinggoing
communicationcommunication
CLIENT
SERVER
network
Mobile
AgentService
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 23/56
Applets, Ser vlets andApplets, Ser vlets and
Mobile AgentsMobile Agents
AppletApplet ²² Downloaded from server toDownloaded from server toclientclient
ServletServlet ²² Uploaded from client toUploaded from client toserverserver
Mobile AgentsMobile Agents ²² Detached fromDetached fromclient, can have multiple hopsclient, can have multiple hops
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 24/56
Advantages of theAdvantages of the
Mobile Agent ParadigmMobile Agent Paradigm reduce bandwidth consumption and network loadsreduce bandwidth consumption and network loads allow dynamic deployment of application componentsallow dynamic deployment of application components
to arbitrary network sitesto arbitrary network sites encapsulate protocolsencapsulate protocols execute asynchronously and autonomouslyexecute asynchronously and autonomously can adapt by movingcan adapt by moving run on heterogeneous platformsrun on heterogeneous platforms most distributed applications fit naturally into themost distributed applications fit naturally into the
mobile agent modelmobile agent model
intuitively suitable for mobile users and disconnectedintuitively suitable for mobile users and disconnectedoperationsoperations Mobile agents combine the strengths of techniquesMobile agents combine the strengths of techniques
such as RPC, java applets etc. into a single, convenientsuch as RPC, java applets etc. into a single, convenientframeworkframework
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 25/56
Mobile Agent MythsMobile Agent Myths
MYTH #1:MYTH #1: Mobile agents are risky toMobile agents are risky touse.use.FACT #1 :FACT #1 : No different to allo wingNo different to allo wingremote access or acce pting e mail t hat re mote access or acce pting e mail t hat
contains a cti ve entities contains a cti ve entities
MYTH #2:MYTH #2: Mobile agent paradigm Mobile agent paradigm needs a killer application to survive needs a killer application to survive
FACT #2:FACT #2: An y tec hnolog y needs time An y tec hnolog y needs time to mature . Several applications rat her to mature . Several applications rat her t han one killer application can also t han one killer application can also contribute to wards pus hing t his contribute to wards pus hing t his
tec hnolog y furt her tec hnolog y furt her
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 26/56
Mobile Agent MythsMobile Agent Myths
MYTH #3:MYTH #3: W ide deployment of agent W ide deployment of agent environments is unlikely to emerge «.environments is unlikely to emerge «.
B ecause agent·s e xecute within a B ecause agent·s e xecute within a
given environment . It is unlikely for given environment . It is unlikely for such agent environments to be such agent environments to be available on a base of computers available on a base of computers world wide that is large enough to world wide that is large enough to
make MA applications truly ubiquitous make MA applications truly ubiquitous
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 27/56
Mobile Agent MythsMobile Agent Myths FACT #3 : No «Because«FACT #3 : No «Because«
JVM·s and ORB·s exist in each browserJVM·s and ORB·s exist in each browser(most MA applications are developed in Java(most MA applications are developed in Javaand the OMG·s MASIF standards rely onand the OMG·s MASIF standards rely onCORBA compliant interfaces)CORBA compliant interfaces)
Development of PUSH technology canDevelopment of PUSH technology canenable ´uninvitedµ agents to execute onenable ´uninvitedµ agents to execute onservers that are willing to accept themservers that are willing to accept them
MA toolkits are typically small in size and soMA toolkits are typically small in size and soare easy and inexpensive to download themare easy and inexpensive to download themon servers where they do not already existon servers where they do not already exist
Emerging standards are likely to lead toEmerging standards are likely to lead to
´interoperable agent environmentsµ´interoperable agent environmentsµ
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 28/56
Mobile Agent MythsMobile Agent Myths
MYTH #4:MYTH #4: Most things that Most things that mobile agents can do, static mobile agents can do, static agents can do as well agents can do as well
FACT #4:FACT #4: True«but theTrue«but the
performance benefitsperformance benefitsassociated with mobile agentsassociated with mobile agentscan be highercan be higher
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 29/56
Mobile Agent MythsMobile Agent Myths MYTH #5:MYTH #5: T he Mobile A gent T he Mobile A gent
paradigm can solve all distributed paradigm can solve all distributed computing issues computing issues
FACT #5: NO!FACT #5: NO! Mobile Agents areMobile Agents arenot a substitute for clientnot a substitute for client--serverservertechniques. The two techniquestechniques. The two techniquesaugment each other and very oftenaugment each other and very oftena combination of the two is thea combination of the two is themost appropriate.most appropriate.
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 30/56
Levels of MobilityLevels of Mobility
Weak MobilityWeak Mobility When moving a mobile agentWhen moving a mobile agent
carriescarries code + data statecode + data state Data StateData State -- global or instanceglobal or instance
variablevariable On moving, execution has to startOn moving, execution has to start
from the beginningfrom the beginning
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 31/56
Levels of MobilityLevels of Mobility
Strong MobilityStrong Mobility When moving a mobile agent carriesWhen moving a mobile agent carries
code + data state + executioncode + data state + execution
statestate Data StateData State -- global or instanceglobal or instance
variablevariable Execution StateExecution State ²² local variables andlocal variables and
threadsthreads On moving, execution can continueOn moving, execution can continue
from the point it stopped on thefrom the point it stopped on theprevious hostprevious host
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 32/56
Mobile Agent ToolkitsMobile Agent Toolkits
What a DB
MS is to Data, a
Mobile Agent
What a DB
MS is to Data, a
Mobile Agent
Toolkit is to Mobile AgentsToolkit is to Mobile Agents Provides the infrastructure for mobile agents:Provides the infrastructure for mobile agents:
to interact with the underlying computerto interact with the underlying computersystemsystem ²² provide a ´homeµ, a ´placeµ, aprovide a ´homeµ, a ´placeµ, a
´contextµ´contextµ ²² for agents to reside in andfor agents to reside in andperform their tasks on a given hostperform their tasks on a given host to move from host to hostto move from host to host to communicate with each other, with usersto communicate with each other, with users
and with host serversand with host servers to maintain privacy and integrity (of agentsto maintain privacy and integrity (of agentsas well as hosts)as well as hosts)
Current trend: Java basedCurrent trend: Java based
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 33/56
JavaJava ² ² Lingua Franca for Lingua Franca for
Mobile AgentMobile Agent ToolkitsToolkits
BENEFITSBENEFITS Platform independencePlatform independence Secure executionSecure execution Dynamic class loadingDynamic class loading MultiMulti--threaded programmingthreaded programming Object serialisationObject serialisation
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 34/56
JavaJava ² ² Lingua Franca for Lingua Franca for
Mobile AgentMobile Agent ToolkitsToolkits
LIMITATIONSLIMITATIONS Inadequate support for resourceInadequate support for resource
controlcontrol No protected referencesNo protected references ²² needneed
for a proxy object to shieldfor a proxy object to shield
access to public methodsaccess to public methods No support for preservation andNo support for preservation andresumption of execution stateresumption of execution state
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 35/56
IBM·s Aglet ToolkitIBM·s Aglet Toolkit An AppletAn Applet--like programming modellike programming model
for mobile agentsfor mobile agents Java (as many mobile agent toolkitsJava (as many mobile agent toolkits
are! )are! )
Aglet = Agent + AppletAglet = Agent + Applet Aglet·s API facilitates mobileAglet·s API facilitates mobile
technologytechnology
Aglet:Aglet: mobile java object that mobile java object that visits aglet enabled hosts in a visits aglet enabled hosts in a computer network computer network
An Aglet = Instance of a Java classAn Aglet = Instance of a Java class
extending the Aglet Classextending the Aglet Class
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 36/56
IBM·s Aglet ToolkitIBM·s Aglet Toolkit An Aglet =An Aglet =
Aglet state (values inAglet state (values invariables)variables)
++
Aglet code (classAglet code (classimplementation)implementation) AutonomousAutonomous ²² runs its own threadruns its own thread
after arriving at a hostafter arriving at a host ReactiveReactive ²² responds to incomingresponds to incomingmessagesmessages
Weak MobilityWeak Mobility
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 37/56
IBM·s Aglet Mobile AgentIBM·s Aglet Mobile Agent
SystemSystem
System elements: host, engine,System elements: host, engine,
context, proxy, agletcontext, proxy, aglet Aglet Transfer Protocol e.g.Aglet Transfer Protocol e.g.
´atp://hostname:port/context/µ´atp://hostname:port/context/µ
AgletID: systemAgletID: system--given globallygiven globallyunique identifier for lifeunique identifier for life
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 38/56
IBM·s Aglet Mobile AgentIBM·s Aglet Mobile Agent
SystemSystem
aglet proxy
proxyaglet
context
aglet proxy
proxyaglet
contextengine host
user
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 39/56
IBM·s Aglet SystemIBM·s Aglet System
Proxy:Proxy: representative of an aglet.representative of an aglet. Shields and protects an aglet from directShields and protects an aglet from direct
access to its public methodsaccess to its public methods
Provides location transparency for theProvides location transparency for theobjectobject
Context:Context: an aglet·s work place.an aglet·s work place.
A server can have several contexts.A server can have several contexts.
NamedNamed StationaryStationaryMessage:Message: objects exchanged between agletsobjects exchanged between aglets
Synchronous and Asynchronous messagingSynchronous and Asynchronous messagingusin FUTURE REPLYusin FUTURE REPLY
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 40/56
The Aglet ModelThe Aglet Model Operations on aglets:Operations on aglets:
creationcreation ²² within a context. Assign id,within a context. Assign id,initialise and execute.initialise and execute.
runrun
ccloningloning ²² identical copy in the sameidentical copy in the samecontextcontext. Different id and execution. Different id and executionthreadthread
ddispatchingispatching ²² move from one contextmove from one context
to another where execution will reto another where execution will re--start (i.e. threads do not migrate)start (i.e. threads do not migrate) rretractionetraction ²² pull from currentpull from current
context and insert into the contextcontext and insert into the context
from whichfrom which retractionretraction was requestedwas requested
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 41/56
The Aglet ModelThe Aglet Model activation & deactivationactivation & deactivation ²²
temporary halt and store intemporary halt and store insecondary storagesecondary storage
ddisposalisposal ²² halt execution and removehalt execution and removefrom current contextfrom current context
EventEvent--based control via userbased control via user--defineddefinedmethods: onCreation, onDisposing,methods: onCreation, onDisposing,onCloning, onDispatching, onReverting,onCloning, onDispatching, onReverting,onArrival, onActivation,onArrival, onActivation,onDeactivating,«onDeactivating,«
Messaging between aglets: messaging viaMessaging between aglets: messaging viaproxy, a message invokes a methodproxy, a message invokes a method
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 42/56
Several Other Several Other
ToolkitsToolkits GossipGossip -- TryllianTryllian
Grasshopper Grasshopper ± ± IKV++ TechnologiesIKV++ Technologies
D¶AgentsD¶Agents -- Dartmouth UniversityDartmouth University
Voyager Voyager -- ObjectSpaceObjectSpace
MOAMOA -- Mobile Objects and AgentsMobile Objects and Agents -- The OpenThe Open
Group Research InstituteGroup Research Institute ConcordiaConcordia -- Mitsubishi Electric LabMitsubishi Electric Lab
JSeal, Gypsy, GossipJSeal, Gypsy, Gossip ± ± Many, many more«Many, many more«
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 43/56
Mobile Agent ApplicationsMobile Agent Applications
WWW Information RetrievalWWW Information Retrieval
Electronic MarketplaceElectronic Marketplace
DDistributed Data Miningistributed Data Mining MMobileobile CComputingomputing
SSpacepace PPresenceresence
OthersOthers ± ± Network Management,Network Management,
Distributed Database AccessDistributed Database Access
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 44/56
Mobile Web Mobile Web
Robots/SpidersRobots/Spiders Send mobile agents to the server side toSend mobile agents to the server side to
search/filter through web pages andsearch/filter through web pages and
send only the relevant pages (or parts of send only the relevant pages (or parts of pages) backpages) back
Deploy mobile agents to index webDeploy mobile agents to index web
pagespages ± ± analyse and construct partialanalyse and construct partialindexes on the server sideindexes on the server side ± ±and sendand send
back the indexback the index
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 45/56
Mobile Web Mobile Web
Robots/SpidersRobots/Spiders Effective use of internet bandwidthEffective use of internet bandwidth
Better performanceBetter performance
Filtering of data and avoiding transfer of Filtering of data and avoiding transfer of
intermediate dataintermediate data
Better load distributionBetter load distribution
Continue scanning and screening even if Continue scanning and screening even if
the link goes downthe link goes down
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 46/56
Electronic MarketplaceElectronic Marketplace
Widely quoted application domain for mobileWidely quoted application domain for mobileagentsagents
Electronic Marketplace:Electronic Marketplace: SuppliersSuppliers,, DealersDealers,,
BuyersBuyers andand BrokersBrokers
Buyers are generally the most benefited byBuyers are generally the most benefited bymobile agentsmobile agents
Transaction PhasesTransaction Phases
Information PhaseInformation Phase ± ± buyer collects informationbuyer collects information
from many prospective suppliersfrom many prospective suppliers
Negotiation PhaseNegotiation Phase ± ± buyer and supplier negotiatebuyer and supplier negotiate
the conditions of the transactionthe conditions of the transaction
Execution PhaseExecution Phase ± ± Actual exchange of goods Actual exchange of goods
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 47/56
Electronic MarketplaceElectronic Marketplace
Market StructuresMarket Structures Direct Search MarketsDirect Search Markets
Buyer directly contacts different suppliersBuyer directly contacts different suppliers
Buyer has to perform the entire informationBuyer has to perform the entire informationphasephase
Time consuming and expensiveTime consuming and expensive
Mobile Agents are ideally suited to performMobile Agents are ideally suited to perform
the searchthe search
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 48/56
Electronic MarketplaceElectronic Marketplace
Brokered MarketsBrokered Markets
Brokers perform the search for a certain feeBrokers perform the search for a certain fee
Here brokers use mobile agents instead of theHere brokers use mobile agents instead of the
buyersbuyers
Dealer MarketsDealer Markets
Dealers are required to buy products in advance andDealers are required to buy products in advance and
offer them at set prices to buyersoffer them at set prices to buyers
Buyer asks different dealers for prices andBuyer asks different dealers for prices and
immediately buys the product at the cheapest dealer immediately buys the product at the cheapest dealer
Mobile agents can be used to find the cheapest priceMobile agents can be used to find the cheapest price
offeredoffered
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 49/56
MA Applications:MA Applications:
Electronic MarketplaceElectronic Marketplace Auction MarketsAuction Markets
Centralise supplies and demands on a singleCentralise supplies and demands on a single
virtual market placevirtual market place
Less need for mobile agents as suppliers andLess need for mobile agents as suppliers andbuyers can see the potential trading partnersbuyers can see the potential trading partners
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 50/56
Electronic MarketplaceElectronic Marketplace
Information Phase :Information Phase : Mobile agents are very useful andMobile agents are very useful andvery easy to use, definite performance benefitvery easy to use, definite performance benefit
Negotiation Phase :Negotiation Phase : Mobile agents can be used toMobile agents can be used to
reduce traffic, but there is more complexity involved inreduce traffic, but there is more complexity involved innegotiation than in mere searching. Intelligent Mobilenegotiation than in mere searching. Intelligent Mobile
Agents? Also increased security requirements Agents? Also increased security requirements
Execution Phase :Execution Phase : Mobile agents can be used if theMobile agents can be used if the
transaction involves digital goods. However, agenttransaction involves digital goods. However, agent
needs to carry digital cash and sign on behalf of theneeds to carry digital cash and sign on behalf of the
user. How much do you trust your agent ?user. How much do you trust your agent ?
Distributed DataDistributed Data
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 51/56
Distributed DataDistributed Data
MiningMining Data Mining (DM):Data Mining (DM): Discovery of hitherto unknownDiscovery of hitherto unknown
patterns from very large databasespatterns from very large databases
Distributed Data Mining (DDM):Distributed Data Mining (DDM): Data mining ofData mining ofdistributed data sourcesdistributed data sources
Characteristics:Characteristics: Distribution of data, users, mining algorithms andDistribution of data, users, mining algorithms and
computational resourcescomputational resources
Heterogeneity of dataHeterogeneity of data
Large data volumesLarge data volumes DDM = DM + Knowledge IntegrationDDM = DM + Knowledge Integration
Distributed DataDistributed Data
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 52/56
Distributed DataDistributed Data
MiningMining
Client Server Model for DDM:Client Server Model for DDM: Bring data fromBring data fromdistributed sources into a data mining server fordistributed sources into a data mining server formining.mining.
D isadvantage: D isadvantage: Communi cati on Ove rhead Communi cati on Ove rhead
Mobile Agent Model:Mobile Agent Model: Dispatch mining agents to theDispatch mining agents to thedistributed data sites.distributed data sites.
Overcomes the communication bottleneckOvercomes the communication bottleneck
But the problem of nonBut the problem of non--dedicated computationaldedicated computational
resourcesresources Our WorkOur Work ²² Hybrid DDM ModelHybrid DDM Model
D li i S i tD li i S i t
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 53/56
Delivering Ser vices toDelivering Ser vices to
Mobile DevicesMobile Devices Environment: a set of wireless/wired networkedEnvironment: a set of wireless/wired networked
mobile/fixed computersmobile/fixed computers dynamic environment: computational resources, batterydynamic environment: computational resources, battery
power, memory, bandwidth (with frequentpower, memory, bandwidth (with frequentdisconnections)disconnections) limitedlimited andand varyingvarying for thefor the s am es am ec ompu terc ompu ter andand ac ross c ompu ters; ac ross c ompu ters; s et of c ompu ters in as et of c ompu ters in adom aindom ain varyingvarying
some uses of mobile software/agents:some uses of mobile software/agents: move/offmove/off--load (multiple) computations to other sitesload (multiple) computations to other sites
(e.g., processing at database, Web and WAP servers):(e.g., processing at database, Web and WAP servers):
no need to maintain connection, depleting resources,no need to maintain connection, depleting resources,move to discovered resourcesmove to discovered resources software components only when and where needed:software components only when and where needed:
cope with limited memory, zerocope with limited memory, zero--maintenance mobilemaintenance mobilecomputers, different versions for different hardwarecomputers, different versions for different hardwarecharacteristicscharacteristics
D li i S i tD li i S i t
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 54/56
Delivering Ser vices toDelivering Ser vices to
Mobile DevicesMobile Devices user·s service environment can follow user·suser·s service environment can follow user·s
mobile device (e.g., VHE, NetChaser)mobile device (e.g., VHE, NetChaser) agents move to mobile devices to performagents move to mobile devices to perform
tasks (e.g., monitor and gather informationtasks (e.g., monitor and gather information
from deployed mobile devices)from deployed mobile devices) research: mobile places, docking stations e.g.research: mobile places, docking stations e.g.
SOMA, AgentTcl, MASE (ACTS CLIMAT E),SOMA, AgentTcl, MASE (ACTS CLIMAT E),Magenta, Tacoma, DiscoveryMagenta, Tacoma, Discovery
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 55/56
Current Areas of WorkCurrent Areas of Work
mobile agent theories: Pimobile agent theories: Pi--calculus extensions,calculus extensions,Mobile Ambients, Agent ItinerariesMobile Ambients, Agent Itineraries
mobile agent model: some componentmobile agent model: some component--based,based,
AIAI--basedbased mobile agent infrastructure: environmentmobile agent infrastructure: environment
supporting mobile agentssupporting mobile agents -- security, naming,security, naming,domain crossing, etcdomain crossing, etc
mobile agent programming: languages, toolkits,mobile agent programming: languages, toolkits,abstractionsabstractions
mobile agent applications: mobile agentmobile agent applications: mobile agentstandards: OMG·s MASIF, FIPAstandards: OMG·s MASIF, FIPA
8/6/2019 Mobile Agents 101 (1)
http://slidepdf.com/reader/full/mobile-agents-101-1 56/56
Research IssuesResearch Issues Security: protect host from agents, protect agentsSecurity: protect host from agents, protect agents
from agents,from agents, protect agents from hostprotect agents from host
Performance: if Java or Python, performancePerformance: if Java or Python, performancepenalities with interpretation (esp. for performancepenalities with interpretation (esp. for performancecritical applications), butcritical applications), but not for long? not for long?
Strong mobility: move full execution state (stacksStrong mobility: move full execution state (stacksetc), stacks not accessible with current Java? etc), stacks not accessible with current Java?
MA management:MA management:
how control and manage deployed agentshow control and manage deployed agents
issues: fault tolerance (e.g., agent fails, hostissues: fault tolerance (e.g., agent fails, hostfails), recalling agents, tracking agents, servicingfails), recalling agents, tracking agents, servicingagents (esp. longer living agents)agents (esp. longer living agents)