agents & mobile agents introduction – agents & mobile agents ©shonali krishnaswamy1

56
Agents & Agents & Mobile Mobile Agents Agents Introduction – Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy ©Shonali Krishnaswamy 1

Upload: valentine-gardner

Post on 11-Jan-2016

314 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Agents & Agents & Mobile Mobile AgentsAgents

Introduction – Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy©Shonali Krishnaswamy 11

Page 2: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Would you bet 11 Million Euros on Mobile Agents?

Page 3: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Agents - The ConceptAgents - The Concept software system which acts “intelligently” on your software system which acts “intelligently” on your

behalfbehalf convenient metaphorconvenient metaphor situated in an environment and exhibit behaviour situated in an environment and exhibit behaviour

which can be viewed as:which can be viewed as: pro-active, autonomous, communicative, pro-active, autonomous, communicative,

persistent, mobile, benevolent, persistent, mobile, benevolent, adaptive/learning, collaborative, reactive, adaptive/learning, collaborative, reactive, deliberative, ...deliberative, ...

stronger notions of agency: mentalistic notions such as stronger notions of agency: mentalistic notions such as knowledge, beliefs, desire, intention, goals, and a logic knowledge, beliefs, desire, intention, goals, and a logic for reasoning with themfor reasoning with them

Cutting out the hype – a kind of software and an Cutting out the hype – a kind of software and an approach to software designapproach to software design

Page 4: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

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

Page 5: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

What the Gurus Say…What the Gurus Say…• Wooldridge and Jennings

•A computer system situated in some environment

•Capable of Autonomous Action to meet its design objectives in this environment

• Autonomy – ability to act without direct human intervention

Page 6: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Objects and Agents – An Objects and Agents – An AnalogyAnalogy• Objects encapsulate state, Agents

encapsulate state + execution behaviour

• Objects have no control over the execution of methods

• Invocation of method m on object o – involuntary – whether object o likes it or not

Page 7: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Objects and Agents – An Objects and Agents – An AnalogyAnalogy• Agents have control of whether or not to

perform any given action• Request actions rather than invoke

methods

Page 8: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Agents - Current Research and Agents - Current Research and IndustryIndustry

theories, architectures, languages, systems theories, architectures, languages, systems agent (internal structure) and mult-agents agent (internal structure) and mult-agents

(collaboration, teamwork)(collaboration, teamwork) still thriving research -> emerging industrystill thriving research -> 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 organizations coordinating international

agent research: agent research: Agent Society, AgentLink, Agents-in-Agent Society, AgentLink, Agents-in-

MelbourneMelbourne

Page 9: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Agents - ApplicationsAgents - Applications

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, distributed artificial intelligence, distributed computing, software engineering computing, software engineering (ABSE), sociology, psychology, (ABSE), sociology, psychology, economics, object-oriented economics, object-oriented systems, artificial life, game systems, artificial life, game theory, ...theory, ...

a sampling... a sampling...

Page 10: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

The Internet and the The 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/HTML, technologies: NL processing, XML/HTML,

machine learning, knowledge engineeringmachine learning, knowledge engineering E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...

Page 11: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Electronic CommerceElectronic Commerce

automate CBB stages including automate CBB stages including

product advertising, product brokering, merchant product advertising, product brokering, merchant brokering, negotiation, purchase and delivery, brokering, negotiation, purchase and delivery, customer services customer services

examples for brokering and negotiation: examples for brokering and negotiation:

PersonaLogic, Firefly, BargainFinder, Jango, Kasbah, PersonaLogic, Firefly, BargainFinder, Jango, Kasbah, AuctionBot, Tete-a-tete, ShopBotAuctionBot, Tete-a-tete, ShopBot

needs: standards for unambiguous definition of needs: standards for unambiguous definition of commerce-related information such as goods, commerce-related information such as goods, services, customer and business profiles, electronic services, customer and business profiles, electronic formsforms

Page 12: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Business Process Business Process ManagementManagement streamline business processes in a more streamline business processes in a more

flexible and robust mannerflexible and robust manner e.g.: ADEPT [Jennings et al] e.g.: ADEPT [Jennings et al]

agents representing entities negotiate for agents representing entities negotiate for services from each otherservices from each other

negotiation rulesnegotiation rules applied to BT process for installing a network applied to BT process for installing a network

at a customer’s premisesat a customer’s premises prototypes based on mobile agents: intra- and prototypes based on mobile agents: intra- and

inter-organizational workflows, supply-chain inter-organizational workflows, supply-chain management in virtual enterprises, project management in virtual enterprises, project managementmanagement

Page 13: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

EntertainmentEntertainment visual manifestation of agent visual manifestation of agent

properties properties e.g.s (life-like interactive animated e.g.s (life-like interactive animated

characters): Creatures game [Grand characters): Creatures game [Grand and Cliff], Extempo, Microsoft’s and Cliff], Extempo, Microsoft’s Persona Project (3D, conversational Persona Project (3D, conversational parrot)parrot)

believable agents - illusion of life for believable agents - illusion of life for objectsobjects

Page 14: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Pilot TrainingPilot Training

DSTO and AAII’s SWARMM DSTO and AAII’s SWARMM systemsystem agents model pilot reasoning agents model pilot reasoning

and tactics in air battle and tactics in air battle simulationssimulations

plan and meta-plan languageplan and meta-plan language

Page 15: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

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 is each factory and factory component is

represented by an agentrepresented by an agent automates delegation of production automates delegation of production

orders via bidding between agentsorders via bidding between agents

Page 16: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

And More...And More...

agents for telecommunications: agents for telecommunications: network modelling and QoS network modelling and QoS managementmanagement

medical informatics: e.g., multi-agent medical informatics: e.g., multi-agent based distributed health care systemsbased distributed health care systems

communityware: agents represent communityware: agents represent people in virtual communitiespeople in virtual communities

distributed data miningdistributed data mining

Page 17: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Agents - StandardizationAgents - Standardization

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, Sun BT, Hitachi, NEC, Siemens, IBM, Sun Microsystems, Telia,...Microsystems, Telia,...

OMG: e.g. MASIFOMG: e.g. MASIF

Page 18: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

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 next lecture

Page 19: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

What is a What is a Mobile Mobile AgentAgent ? ? Software programSoftware program

Moves from machine to machine Moves from machine to machine under its under its own control….own control….

Suspend execution at any point in time, Suspend execution at any point in time, transport itself to a new machine and resume transport itself to a new machine and resume executionexecution

Once created, a mobile agent autonomously Once created, a mobile agent autonomously decides which locations to visit and what decides which locations to visit and what instructions to performinstructions to perform

Continuous interaction with the agent’s Continuous interaction with the agent’s originating source is not requiredoriginating source is not required

HOW? HOW? Implicitly specified through the agent codeImplicitly specified through the agent code Specified through a run-time modifiable Specified through a run-time modifiable

itineraryitinerary

Page 20: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

EvolutionEvolution

BOTTOMLINE: Mobile Agents are a distributed BOTTOMLINE: Mobile Agents are a distributed computing paradigmcomputing paradigm

End point in the incremental evolution of End point in the incremental evolution of mobile abstractions such as mobile abstractions such as mobile code, mobile code, mobile objects, mobile processes.mobile objects, mobile processes. Mobile Code – transfers codeMobile Code – transfers code Mobile Object – transfers code + dataMobile Object – transfers code + data Mobile Process – transfers Mobile Process – transfers

code + data + thread statecode + data + thread state Mobile Agent – transfers Mobile Agent – transfers

code + data + thread + authority of its code + data + thread + authority of its ownerowner

Page 21: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

RPC Vs Mobile Agents RPC 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 and and ResponsesResponses Procedure is “Procedure is “remoteremote” – i.e. it is local to the ” – i.e. it is local to the

machine that performs itmachine that performs it Client and Server agree in advance on the Client and Server agree in advance on the

protocol for communicationprotocol for communication Continuous on-going interaction and Continuous on-going interaction and

communication between the client and communication between the client and serverserver

CLIENT SERVERnetwork

Page 22: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

RPC Vs Mobile Agents RPC Vs Mobile Agents Mobile Agents Mobile Agents

Instead of calling a procedure, supply the procedure as Instead of calling a procedure, supply the procedure as wellwell

Messages: Messages: Mobile Agent ( procedure + data + state)Mobile Agent ( procedure + data + state) ““Sending” computer may have begun the procedure Sending” computer may have begun the procedure

and the receiving computer will continue the and the receiving computer will continue the procedureprocedure

On-going interaction, but NO on-going communicationOn-going interaction, but NO on-going communication

CLIENT

SERVER

network

Mobile

AgentService

Page 23: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Applets, Servlets and Applets, Servlets and Mobile AgentsMobile Agents

Applet – Downloaded from server Applet – Downloaded from server to clientto client

Servlet – Uploaded from client to Servlet – Uploaded from client to serverserver

Mobile Agents – Detached from Mobile Agents – Detached from client, can have multiple hopsclient, can have multiple hops

Page 24: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Advantages of the Advantages of the Mobile Agent ParadigmMobile Agent Paradigm

reduce bandwidth consumption and network reduce bandwidth consumption and network loadsloads

allow dynamic deployment of application allow dynamic deployment of application components to arbitrary network sitescomponents to arbitrary network sites

encapsulate protocolsencapsulate protocols execute asynchronously and autonomouslyexecute asynchronously and autonomously can adapt by movingcan adapt by moving run on heterogeneous platforms run on heterogeneous platforms most distributed applications fit naturally into the most distributed applications fit naturally into the

mobile agent modelmobile agent model intuitively suitable for mobile users and intuitively suitable for mobile users and

disconnected operationsdisconnected operations Mobile agents combine the strengths of Mobile agents combine the strengths of

techniques such as RPC, java applets etc. into a techniques such as RPC, java applets etc. into a single, convenient frameworksingle, convenient framework

Page 25: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent MythsMobile Agent Myths MYTH #1:MYTH #1: Mobile agents are risky to use.Mobile agents are risky to use. FACT #1 : FACT #1 : No different to allowing remote No different to allowing remote

access or accepting email that contains access or accepting email that contains active entitiesactive entities

MYTH #2: MYTH #2: Mobile agent paradigm needs a Mobile agent paradigm needs a killer application to survivekiller application to survive

FACT #2: FACT #2: Any technology needs time to Any technology needs time to mature. Several applications rather than mature. Several applications rather than one killer application can also contribute one killer application can also contribute towards pushing this technology furthertowards pushing this technology further

Page 26: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent MythsMobile Agent Myths MYTH #3:MYTH #3: Wide deployment of agent Wide deployment of agent

environments is unlikely to emerge….environments is unlikely to emerge…. Because agent’s execute within a Because agent’s execute 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 ubiquitousmake MA applications truly ubiquitous

Page 27: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent MythsMobile Agent Myths FACT #3 : No …Because…FACT #3 : No …Because…

JVM’s and ORB’s exist in each browser JVM’s and ORB’s exist in each browser (most MA applications are developed in Java (most MA applications are developed in Java and the OMG’s MASIF standards rely on and the OMG’s MASIF standards rely on CORBA compliant interfaces)CORBA compliant interfaces)

Development of PUSH technology can Development of PUSH technology can enable “uninvited” agents to execute on enable “uninvited” agents to execute on servers that are willing to accept themservers that are willing to accept them

MA toolkits are typically small in size and so MA toolkits are typically small in size and so are easy and inexpensive to download them are easy and inexpensive to download them on servers where they do not already existon servers where they do not already exist

Emerging standards are likely to lead to Emerging standards are likely to lead to “interoperable agent environments” “interoperable agent environments”

Page 28: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

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 wellagents can do as well

FACT #4: FACT #4: True…but the True…but the performance benefits performance benefits associated with mobile associated with mobile agents can be higheragents can be higher

Page 29: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent Mobile Agent Myths Myths

MYTH #5:MYTH #5: The Mobile Agent The Mobile Agent paradigm can solve all paradigm can solve all distributed computing issuesdistributed computing issues

FACT #5: NO! FACT #5: NO! Mobile Agents Mobile Agents are not a substitute for client-are not a substitute for client-server techniques. The two server techniques. The two techniques augment each other techniques augment each other and very often a combination of and very often a combination of the two is the most appropriate.the two is the most appropriate.

Page 30: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Levels of MobilityLevels of Mobility

Weak Mobility Weak Mobility When moving a mobile agent When moving a mobile agent

carries carries code + data statecode + data state Data State Data State - global or - global or

instance variableinstance variable On moving, execution has to On moving, execution has to

start from the beginning start from the beginning

Page 31: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Levels of MobilityLevels of Mobility

Strong MobilityStrong Mobility When moving a mobile agent carries When moving a mobile agent carries

code + data state + code + data state + execution stateexecution state

Data State Data State - global or instance - global or instance variablevariable

Execution State – Execution State – local variables local variables and threadsand threads

On moving, execution can continue On moving, execution can continue from the point it stopped on the from the point it stopped on the previous hostprevious host

Page 32: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent ToolkitsMobile Agent Toolkits What a DBMS is to Data, a Mobile Agent Toolkit What a DBMS is to Data, a Mobile Agent Toolkit

is to Mobile Agentsis to Mobile Agents Provides the infrastructure for mobile agents:Provides the infrastructure for mobile agents:

to interact with the underlying computer to interact with the underlying computer system – provide a “home”, a “place”, a system – provide a “home”, a “place”, a “context” – for agents to reside in and “context” – for agents to reside in and perform 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 users to communicate with each other, with users

and with host serversand with host servers to maintain privacy and integrity (of agents to maintain privacy and integrity (of agents

as well as hosts) as well as hosts) Current trend: Java basedCurrent trend: Java based

Page 33: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Java – Lingua Franca for Java – Lingua Franca for Mobile AgentMobile Agent Toolkits Toolkits

BENEFITSBENEFITS Platform independencePlatform independence Secure executionSecure execution Dynamic class loadingDynamic class loading Multi-threaded programmingMulti-threaded programming Object serialisationObject serialisation

Page 34: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Java – Lingua Franca for Java – Lingua Franca for Mobile AgentMobile Agent Toolkits Toolkits

LIMITATIONSLIMITATIONS Inadequate support for resource Inadequate support for resource

controlcontrol No protected references – need No protected references – need

for a proxy object to shield for a proxy object to shield access to public methodsaccess to public methods

No support for preservation and No support for preservation and resumption of execution stateresumption of execution state

Page 35: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

IBM’s Aglet ToolkitIBM’s Aglet Toolkit An Applet-like programming An Applet-like programming

model for mobile agentsmodel for mobile agents Java (as many mobile agent Java (as many mobile agent

toolkits are! )toolkits are! ) Aglet = Agent + AppletAglet = Agent + Applet Aglet’s API facilitates mobile Aglet’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 networkcomputer network

An Aglet = Instance of a Java An Aglet = Instance of a Java class extending the Aglet Classclass extending the Aglet Class

Page 36: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

IBM’s Aglet ToolkitIBM’s Aglet Toolkit An Aglet =An Aglet = Aglet state (values in Aglet state (values in

variables) variables) + + Aglet code (class Aglet code (class

implementation)implementation) AutonomousAutonomous – runs its own – runs its own

thread after arriving at a hostthread after arriving at a host Reactive Reactive – responds to – responds to

incoming messagesincoming messages Weak MobilityWeak Mobility

Page 37: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

IBM’s Aglet Mobile Agent IBM’s Aglet Mobile Agent SystemSystem

System elements: host, System elements: host, engine, context, proxy, aglet engine, context, proxy, aglet

Aglet Transfer Protocol e.g. Aglet Transfer Protocol e.g. “atp://hostname:port/context/”“atp://hostname:port/context/”

AgletID: system-given globally AgletID: system-given globally unique identifier for lifeunique identifier for life

Page 38: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

IBM’s Aglet Mobile Agent IBM’s Aglet Mobile Agent SystemSystem

agletagletproxyproxyproxyproxy

agletagletcontext

agletagletproxyproxyproxyproxy

agletagletcontext engine host

user

Page 39: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

IBM’s Aglet SystemIBM’s Aglet System Proxy: Proxy: representative of an aglet.representative of an aglet.

Shields and protects an aglet from direct Shields and protects an aglet from direct access to its public methodsaccess to its public methods

Provides location transparency for the Provides location transparency for the objectobject

Context: Context: an aglet’s work place. an aglet’s work place.

A server can have several contexts. A server can have several contexts. Named Named StationaryStationaryMessage: Message: objects exchanged between agletsobjects exchanged between aglets

Synchronous and Asynchronous Synchronous and Asynchronous messaging (using FUTURE REPLYmessaging (using FUTURE REPLY))

Page 40: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

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 same – identical copy in the same

contextcontext. Different id and execution . Different id and execution threadthread

ddispatchingispatching – move from one context – move from one context to another where execution will re-to another where execution will re-start (i.e. threads do not migrate)start (i.e. threads do not migrate)

rretractionetraction – pull from current context – pull from current context and insert into the context from which and insert into the context from which retractionretraction was requested was requested

Page 41: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

The Aglet ModelThe Aglet Model activation & deactivationactivation & deactivation – –

temporary halt and store in temporary halt and store in secondary storagesecondary storage

ddisposalisposal – halt execution and – halt execution and remove from current contextremove from current context

Event-based control via user-defined Event-based control via user-defined methods: onCreation, onDisposing, methods: onCreation, onDisposing, onCloning, onDispatching, onCloning, onDispatching, onReverting, onArrival, onActivation, onReverting, onArrival, onActivation, onDeactivating,… onDeactivating,…

Messaging between aglets: messaging via Messaging between aglets: messaging via proxy, a message invokes a methodproxy, a message invokes a method

Page 42: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Several Other Several Other ToolkitsToolkits

Gossip - TryllianGossip - Tryllian Grasshopper – IKV++ TechnologiesGrasshopper – IKV++ Technologies D’Agents - D’Agents - Dartmouth University Dartmouth University Voyager - ObjectSpaceVoyager - ObjectSpace MOA - Mobile Objects and Agents - MOA - Mobile Objects and Agents - The Open The Open

Group Research InstituteGroup Research Institute Concordia - Concordia - Mitsubishi Electric LabMitsubishi Electric Lab JSeal, Gypsy, Gossip – Many, many more…JSeal, Gypsy, Gossip – Many, many more…

Page 43: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Agent Mobile Agent ApplicationsApplications WWW Information Retrieval WWW Information Retrieval Electronic MarketplaceElectronic Marketplace DDistributed Data Miningistributed Data Mining MMobile obile CComputingomputing SSpace pace PPresence resence Others – Network Management, Others – Network Management,

Distributed Database AccessDistributed Database Access

Page 44: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Web Mobile Web Robots/SpidersRobots/Spiders

Send mobile agents to the server side to Send mobile agents to the server side to search/filter through web pages and search/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 web Deploy mobile agents to index web pages – analyse and construct partial pages – analyse and construct partial indexes on the server side –and send indexes on the server side –and send back the indexback the index

Page 45: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Mobile Web Mobile Web Robots/SpidersRobots/Spiders

Effective use of internet bandwidthEffective use of internet bandwidth Better performance Better performance Filtering of data and avoiding transfer of Filtering of data and avoiding transfer of

intermediate data intermediate 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

Page 46: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Electronic MarketplaceElectronic Marketplace Widely quoted application domain for mobile agentsWidely quoted application domain for mobile agents Electronic Marketplace: Electronic Marketplace: SuppliersSuppliers, , DealersDealers, , BuyersBuyers

and and BrokersBrokers Buyers are generally the most benefited by mobile Buyers are generally the most benefited by mobile

agentsagents Transaction PhasesTransaction Phases

Information PhaseInformation Phase – buyer collects information from many – buyer collects information from many prospective suppliersprospective suppliers

Negotiation PhaseNegotiation Phase – buyer and supplier negotiate the – buyer and supplier negotiate the conditions of the transactionconditions of the transaction

Execution PhaseExecution Phase – Actual exchange of goods – Actual exchange of goods

Page 47: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Electronic MarketplaceElectronic Marketplace Market StructuresMarket Structures Direct Search MarketsDirect Search Markets

Buyer directly contacts different suppliers Buyer directly contacts different suppliers Buyer has to perform the entire information Buyer has to perform the entire information

phasephase Time consuming and expensiveTime consuming and expensive Mobile Agents are ideally suited to perform Mobile Agents are ideally suited to perform

the searchthe search

Page 48: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Electronic MarketplaceElectronic Marketplace

Brokered Markets Brokered Markets Brokers perform the search for a certain feeBrokers perform the search for a certain fee Here brokers use mobile agents instead of the Here brokers use mobile agents instead of the

buyersbuyers

Dealer MarketsDealer Markets Dealers are required to buy products in advance and Dealers 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 and Buyer asks different dealers for prices and

immediately buys the product at the cheapest dealerimmediately buys the product at the cheapest dealer Mobile agents can be used to find the cheapest price Mobile agents can be used to find the cheapest price

offeredoffered

Page 49: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

MA Applications: MA Applications: Electronic MarketplaceElectronic Marketplace Auction Markets Auction Markets

Centralise supplies and demands on a single Centralise supplies and demands on a single virtual market placevirtual market place

Less need for mobile agents as suppliers and Less need for mobile agents as suppliers and buyers can see the potential trading partnersbuyers can see the potential trading partners

Page 50: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Electronic MarketplaceElectronic Marketplace Information Phase :Information Phase : Mobile agents are very useful and Mobile agents are very useful and

very easy to use, definite performance benefit very easy to use, definite performance benefit

Negotiation Phase :Negotiation Phase : Mobile agents can be used to Mobile agents can be used to reduce traffic, but there is more complexity involved in reduce traffic, but there is more complexity involved in negotiation than in mere searching. Intelligent Mobile negotiation than in mere searching. Intelligent Mobile Agents? Also increased security requirementsAgents? Also increased security requirements

Execution Phase :Execution Phase : Mobile agents can be used if the Mobile agents can be used if the transaction involves digital goods. However, agent transaction involves digital goods. However, agent needs to carry digital cash and sign on behalf of the needs 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 ?

Page 51: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Distributed Data Distributed Data MiningMining

Data Mining (DM):Data Mining (DM): Discovery of hitherto Discovery of hitherto unknown patterns from very large databasesunknown patterns from very large databases

Distributed Data Mining (DDM):Distributed Data Mining (DDM): Data mining Data mining of distributed data sourcesof distributed data sources

Characteristics:Characteristics: Distribution of data, users, mining algorithms Distribution of data, users, mining algorithms

and computational resourcesand computational resources Heterogeneity of dataHeterogeneity of data Large data volumesLarge data volumes

DDM = DM + Knowledge IntegrationDDM = DM + Knowledge Integration

Page 52: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Distributed Data Distributed Data MiningMining

Client Server Model for DDM:Client Server Model for DDM: Bring data from Bring data from distributed sources into a data mining server for distributed sources into a data mining server for mining.mining. Disadvantage:Disadvantage: Communication Overhead Communication Overhead

Mobile Agent Model:Mobile Agent Model: Dispatch mining agents Dispatch mining agents to the distributed data sites.to the distributed data sites. Overcomes the communication bottleneckOvercomes the communication bottleneck But the problem of non-dedicated But the problem of non-dedicated

computational resourcescomputational resources Our Work – Hybrid DDM ModelOur Work – Hybrid DDM Model

Page 53: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Delivering Services to Delivering Services to Mobile DevicesMobile Devices

Environment: a set of wireless/wired networked mobile/fixed Environment: a set of wireless/wired networked mobile/fixed computerscomputers

dynamic environment: computational resources, battery dynamic environment: computational resources, battery power, memory, bandwidth (with frequent disconnections) power, memory, bandwidth (with frequent disconnections) limitedlimited and and varyingvarying for the for the same computersame computer and and across across computers; computers; set of computers in a domain set of computers in a domain varyingvarying

some uses of mobile software/agents:some uses of mobile software/agents: move/off-load (multiple) computations to other sites (e.g., move/off-load (multiple) computations to other sites (e.g.,

processing at database, Web and WAP servers): no need processing at database, Web and WAP servers): no need to maintain connection, depleting resources, move to to maintain connection, depleting resources, move to discovered resourcesdiscovered resources

software components only when and where needed: cope software components only when and where needed: cope with limited memory, zero-maintenance mobile with limited memory, zero-maintenance mobile computers, different versions for different hardware computers, different versions for different hardware characteristicscharacteristics

Page 54: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Delivering Services to Delivering Services to Mobile DevicesMobile Devices user’s service environment can follow user’s service environment can follow

user’s mobile device (e.g., VHE, user’s mobile device (e.g., VHE, NetChaser)NetChaser)

agents move to mobile devices to perform agents move to mobile devices to perform tasks (e.g., monitor and gather information tasks (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 CLIMATE), SOMA, AgentTcl, MASE (ACTS CLIMATE), Magenta, Tacoma, DiscoveryMagenta, Tacoma, Discovery

Page 55: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Current Areas of WorkCurrent Areas of Work

mobile agent theories: Pi-calculus extensions, Mobile mobile agent theories: Pi-calculus extensions, Mobile Ambients, Agent ItinerariesAmbients, Agent Itineraries

mobile agent model: some component-based, AI-mobile agent model: some component-based, AI-basedbased

mobile agent infrastructure: environment supporting mobile agent infrastructure: environment supporting mobile agents - security, naming, domain crossing, mobile agents - security, naming, domain crossing, etcetc

mobile agent programming: languages, toolkits, mobile agent programming: languages, toolkits, abstractions abstractions

mobile agent applications: mobile agent standards: mobile agent applications: mobile agent standards: OMG’s MASIF, FIPAOMG’s MASIF, FIPA

Page 56: Agents & Mobile Agents Introduction – Agents & Mobile Agents ©Shonali Krishnaswamy1

Research IssuesResearch Issues Security: protect host from agents, protect Security: protect host from agents, protect

agents from agents, agents from agents, protect agents from hostprotect agents from host Performance: if Java or Python, performance Performance: if Java or Python, performance

penalities with interpretation (esp. for penalities with interpretation (esp. for performance critical applications), but performance critical applications), but not for not for long?long?

Strong mobility: move full execution state (stacks Strong mobility: move full execution state (stacks etc), 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, host issues: fault tolerance (e.g., agent fails, host

fails), recalling agents, tracking agents, fails), recalling agents, tracking agents, servicing agents (esp. longer living agents) servicing agents (esp. longer living agents)