mobile agents 101 (1)

56
Agents & Agents & Mobile Agents Mobile Agents Introduction Introduction ±  ± Agent s & Mobile Agent s  Agents & Mobile Agents ©Shonali Krishnaswamy ©Shonali Krishnaswamy 1 1

Upload: shruthi-mrinal

Post on 07-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

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)