mobile agents 101

Upload: buddhika-prabath

Post on 03-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Mobile Agents 101

    1/56

    Agents &Mobile Agents

    IntroductionAgents & Mobile Agents Shonali Krishnaswamy 1

  • 8/12/2019 Mobile Agents 101

    2/56

    Would you bet 11 Million Euros onMobile Agents?

  • 8/12/2019 Mobile Agents 101

    3/56

    Agents - The Concept software system which acts intelligently on

    your behalf convenient metaphor situated in an environment and exhibit

    behaviour which can be viewed as:pro-active, autonomous, communicative,persistent, mobile, benevolent,adaptive/learning, collaborative, reactive,

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

    Cutting out the hype a kind of software andan approach to software design

  • 8/12/2019 Mobile Agents 101

    4/56

    Agent Definitions Mission Impossible No consensus on a single definition

    New Buzzword

    Everybody wants to call their softwareAgents!

    Many synonyms just to add to the

    confusion knowbots, softbots, personal assistants

  • 8/12/2019 Mobile Agents 101

    5/56

    What the Gurus Say Wooldridge and Jennings

    A computer systemsituated in someenvironment

    Capable of Autonomous Action tomeet its design objectives in thisenvironment

    Autonomy ability to act without directhuman intervention

  • 8/12/2019 Mobile Agents 101

    6/56

  • 8/12/2019 Mobile Agents 101

    7/56

    Objects and Agents An

    Analogy Agents have control of whether or not to

    perform any given action

    Request actions rather than invoke

    methods

  • 8/12/2019 Mobile Agents 101

    8/56

    Agents - Current Research andIndustry theories, architectures, languages, systems agent (internal structure) and mult-agents

    (collaboration, teamwork) still thriving research -> emerging industry

    >20 companies including IBM, BT, HP,Microsoft, Fujitsu, AgentSoft, Verity, AOS,Extempo, ...

    >40 books on software agents at Amazon

    >50 research laboratories worldwide organizations coordinating international agent

    research:Agent Society, AgentLink, Agents-in-

    Melbourne

  • 8/12/2019 Mobile Agents 101

    9/56

    Agents - Applications many due to: appeal of the agent abstraction

    agent research spans disciplines:artificial intelligence, distributedcomputing, software engineering(ABSE), sociology, psychology,

    economics, object-oriented systems,artificial life, game theory, ...

    a sampling...

  • 8/12/2019 Mobile Agents 101

    10/56

    The Internet and theWWW impetus for information agents

    gathering, filtering, sharing, monitoring,recommending, comparing information

    guiding Web surfers email filtering, autoresponders (e.g., Snoop,

    Smartbot)

    technologies: NL processing, XML/HTML,machine learning, knowledge engineering

    E.g.s: Verity, Autonomy, AgentSoft, CiFi, ...

  • 8/12/2019 Mobile Agents 101

    11/56

    Electronic Commerce automate CBB stages including

    product advertising, product brokering,merchant brokering, negotiation, purchase and

    delivery, customer services examples for brokering and negotiation:

    PersonaLogic, Firefly, BargainFinder, Jango,

    Kasbah, AuctionBot, Tete-a-tete, ShopBot needs: standards for unambiguous definition of

    commerce-related information such as goods,services, customer and business profiles,

    electronic forms

  • 8/12/2019 Mobile Agents 101

    12/56

    Business ProcessManagement streamline business processes in a more flexible

    and robust manner

    e.g.: ADEPT [Jennings et al]

    agents representing entities negotiate forservices from each other

    negotiation rules

    applied to BT process for installing a network

    at a customers premises prototypes based on mobile agents: intra- and

    inter-organizational workflows, supply-chainmanagement in virtual enterprises, project

    management

  • 8/12/2019 Mobile Agents 101

    13/56

    Entertainment visual manifestation of agent

    properties

    e.g.s (life-like interactive animatedcharacters): Creatures game [Grandand Cliff], Extempo, MicrosoftsPersona Project (3D, conversational

    parrot) believable agents - illusion of life for

    objects

  • 8/12/2019 Mobile Agents 101

    14/56

  • 8/12/2019 Mobile Agents 101

    15/56

    Manufacturing agents systems for:

    controlling manufacturing robots

    managing factory production processes e.g.: YAMS

    each factory and factory component is

    represented by an agent automates delegation of production

    orders via bidding between agents

  • 8/12/2019 Mobile Agents 101

    16/56

    And More... agents for telecommunications:

    network modelling and QoS

    management medical informatics: e.g., multi-agent

    based distributed health care systems

    communityware: agents representpeople in virtual communities

    distributed data mining

  • 8/12/2019 Mobile Agents 101

    17/56

  • 8/12/2019 Mobile Agents 101

    18/56

    Important Types of Agents

    Collaborative

    Interface

    Mobile Information / Internet

    Others Reactive, Hybrid, Smart

    Many Classification Schemes &Typologies exist => to come in the nextlecture

  • 8/12/2019 Mobile Agents 101

    19/56

    What is a Mobile gent? Software program

    Moves from machine to machine under its owncontrol. Suspend execution at any point in time,

    transport itself to a new machine and resume

    execution Once created, a mobile agent autonomouslydecides which locations to visit and whatinstructions to perform

    Continuous interaction with the agentsoriginating source is not required

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

    itinerary

  • 8/12/2019 Mobile Agents 101

    20/56

    Evolution BOTTOMLINE: Mobile Agents are a distributed

    computing paradigm End point in the incremental evolution of mobile

    abstractions such as mobile code, mobile objects,

    mobile processes. Mobile Code transfers code

    Mobile Object transfers code + data

    Mobile Process transferscode + data + thread state

    Mobile Agent transfers

    code + data + thread + authority of itsowner

  • 8/12/2019 Mobile Agents 101

    21/56

    RPC Vs Mobile Agents Remote Procedure Calls (RPC)

    One computer calls procedures on another Messages: Requestsand Responses

    Procedure is remote i.e. it is local to the

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

    protocol for communication

    Continuous on-going interaction and

    communication between the client and server

    CLIENT SERVERnetwork

  • 8/12/2019 Mobile Agents 101

    22/56

    RPC Vs Mobile Agents Mobile Agents

    Instead of calling a procedure, supply theprocedure as well

    Messages: Mobile Agent ( procedure + data +state)

    Sending computer may have begun theprocedure and the receiving computer willcontinue the procedure

    On-going interaction, but NO on-going

    communication

    CLIENT

    SERVER

    network

    Mobile

    AgentService

  • 8/12/2019 Mobile Agents 101

    23/56

    Applets Servlets andMobile Agents Applet Downloaded from server to

    client

    Servlet Uploaded from client toserver

    Mobile Agents Detached fromclient, can have multiple hops

  • 8/12/2019 Mobile Agents 101

    24/56

    Advantages of theMobile Agent Paradigm

    reduce bandwidth consumption and network loads allow dynamic deployment of application componentsto arbitrary network sites

    encapsulate protocols execute asynchronously and autonomously

    can adapt by moving run on heterogeneous platforms most distributed applications fit naturally into the

    mobile agent model

    intuitively suitable for mobile users and disconnectedoperations Mobile agents combine the strengths of techniques

    such as RPC, java applets etc. into a single, convenientframework

  • 8/12/2019 Mobile Agents 101

    25/56

    Mobile Agent Myths MYTH #1:Mobile agents are risky to

    use.FACT #1 : No different to allowingremote access or accepting email thatcontains active entities

    MYTH #2: Mobile agent paradigmneeds a killer application to survive

    FACT #2: Any technology needs timeto mature. Several applications ratherthan one killer application can alsocontribute towards pushing this

    technology further

  • 8/12/2019 Mobile Agents 101

    26/56

    Mobile Agent Myths

    MYTH #3:Wide deployment of agentenvironments is unlikely to emerge.

    Because agents execute within agiven environment. It is unlikely forsuch agent environments to beavailable on a base of computersworld wide that is large enough to

    make MA applications truly ubiquitous

  • 8/12/2019 Mobile Agents 101

    27/56

    Mobile Agent Myths FACT #3 : No Because

    JVMs and ORBs exist in each browser(most MA applications are developed in Javaand the OMGs MASIF standards rely onCORBA compliant interfaces)

    Development of PUSH technology canenable uninvited agents to execute onservers that are willing to accept them

    MA toolkits are typically small in size and soare easy and inexpensive to download themon servers where they do not already exist

    Emerging standards are likely to lead to

    interoperable agent environments

  • 8/12/2019 Mobile Agents 101

    28/56

    Mobile Agent Myths MYTH #4:Most things that

    mobile agents can do, static

    agents can do as well FACT #4: Truebut the

    performance benefitsassociated with mobile agentscan be higher

  • 8/12/2019 Mobile Agents 101

    29/56

  • 8/12/2019 Mobile Agents 101

    30/56

    Levels of Mobility Weak Mobility When moving a mobile agent

    carries code + data state

    Data State - global or instancevariable

    On moving, execution has to start

    from the beginning

  • 8/12/2019 Mobile Agents 101

    31/56

    Levels of Mobility Strong Mobility When moving a mobile agent carries

    code + data state + execution

    state Data State - global or instancevariable

    Execution State local variables and

    threads On moving, execution can continue

    from the point it stopped on theprevious host

  • 8/12/2019 Mobile Agents 101

    32/56

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

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

    to interact with the underlying computersystem provide a home, a place, a

    context for agents to reside in andperform their tasks on a given host to move from host to host to communicate with each other, with users

    and with host servers to maintain privacy and integrity (of agentsas well as hosts)

    Current trend: Java based

  • 8/12/2019 Mobile Agents 101

    33/56

    Java Lingua Franca forMobile Agent Toolkits BENEFITS Platform independence Secure execution Dynamic class loading Multi-threaded programming Object serialisation

  • 8/12/2019 Mobile Agents 101

    34/56

    Java Lingua Franca forMobile Agent Toolkits LIMITATIONS Inadequate support for resource

    control No protected references need

    for a proxy object to shield

    access to public methods No support for preservation andresumption of execution state

  • 8/12/2019 Mobile Agents 101

    35/56

    IBMs glet Toolkit An Applet-like programming model

    for mobile agents Java (as many mobile agent toolkitsare! )

    Aglet = Agent + Applet Aglets API facilitates mobiletechnology

    Aglet:mobile java object thatvisits aglet enabled hosts in acomputer network

    An Aglet = Instance of a Java class

    extending the Aglet Class

  • 8/12/2019 Mobile Agents 101

    36/56

    IBMs glet Toolkit An Aglet =

    Aglet state (values invariables)+

    Aglet code (classimplementation) Autonomousruns its own thread

    after arriving at a host Reactive responds to incoming

    messages Weak Mobility

  • 8/12/2019 Mobile Agents 101

    37/56

    IBMs glet Mobile gentSystem System elements: host, engine,

    context, proxy, aglet Aglet Transfer Protocol e.g.

    atp://hostname:port/context/

    AgletID: system-given globallyunique identifier for life

  • 8/12/2019 Mobile Agents 101

    38/56

    IBMs glet Mobile gentSystem

    agletproxy

    proxyaglet

    context

    aglet proxyproxy aglet

    contextengine host

    user

  • 8/12/2019 Mobile Agents 101

    39/56

    IBMs glet System

    Proxy: representative of an aglet. Shields and protects an aglet from directaccess to its public methods

    Provides location transparency for the

    objectContext: an aglets work place.

    A server can have several contexts.

    Named StationaryMessage: objects exchanged between aglets

    Synchronous and Asynchronous messagingusin FUTURE REPLY

  • 8/12/2019 Mobile Agents 101

    40/56

    The Aglet Model Operations on aglets:

    creationwithin a context. Assign id,initialise and execute. run

    cloningidentical copy in the samecontext. Different id and executionthread

    dispatching move from one context

    to another where execution will re-start (i.e. threads do not migrate) retractionpull from current

    context and insert into the context

    from which retractionwas requested

  • 8/12/2019 Mobile Agents 101

    41/56

    The Aglet Model activation & deactivation

    temporary halt and store insecondary storage disposal halt execution and remove

    from current context

    Event-based control via user-definedmethods: onCreation, onDisposing,onCloning, onDispatching, onReverting,onArrival, onActivation,

    onDeactivating, Messaging between aglets: messaging via

    proxy, a message invokes a method

  • 8/12/2019 Mobile Agents 101

    42/56

    Several OtherToolkits Gossip - Tryllian

    GrasshopperIKV++ Technologies

    DAgents - Dartmouth University

    Voyager - ObjectSpace

    MOA - Mobile Objects and Agents - The Open

    Group Research Institute Concordia - Mitsubishi Electric Lab

    JSeal, Gypsy, GossipMany, many more

  • 8/12/2019 Mobile Agents 101

    43/56

    Mobile Agent Applications WWW Information Retrieval Electronic Marketplace

    Distributed Data Mining Mobile Computing

    Space Presence

    OthersNetwork Management,

    Distributed Database Access

  • 8/12/2019 Mobile Agents 101

    44/56

    Mobile WebRobots/Spiders Send mobile agents to the server side to

    search/filter through web pages and

    send only the relevant pages (or parts ofpages) back

    Deploy mobile agents to index web

    pagesanalyse and construct partialindexes on the server sideand send

    back the index

  • 8/12/2019 Mobile Agents 101

    45/56

    Mobile WebRobots/Spiders Effective use of internet bandwidth

    Better performance

    Filtering of data and avoiding transfer ofintermediate data

    Better load distribution

    Continue scanning and screening even ifthe link goes down

  • 8/12/2019 Mobile Agents 101

    46/56

    Electronic Marketplace Widely quoted application domain for mobile

    agents

    Electronic Marketplace: Suppliers, Dealers,

    Buyersand Brokers

    Buyers are generally the most benefited bymobile agents

    Transaction Phases

    Information Phasebuyer collects information

    from many prospective suppliers

    Negotiation Phasebuyer and supplier negotiate

    the conditions of the transaction

    Execution PhaseActual exchange of goods

  • 8/12/2019 Mobile Agents 101

    47/56

    Electronic Marketplace Market Structures

    Direct Search Markets

    Buyer directly contacts different suppliers

    Buyer has to perform the entire information

    phase

    Time consuming and expensive

    Mobile Agents are ideally suited to perform

    the search

  • 8/12/2019 Mobile Agents 101

    48/56

    Electronic Marketplace Brokered Markets

    Brokers perform the search for a certain fee

    Here brokers use mobile agents instead of the

    buyers

    Dealer Markets Dealers are required to buy products in advance and

    offer them at set prices to buyers

    Buyer asks different dealers for prices and

    immediately buys the product at the cheapest dealer

    Mobile agents can be used to find the cheapest price

    offered

  • 8/12/2019 Mobile Agents 101

    49/56

    MA Applications:Electronic Marketplace Auction Markets

    Centralise supplies and demands on a single

    virtual market place

    Less need for mobile agents as suppliers andbuyers can see the potential trading partners

  • 8/12/2019 Mobile Agents 101

    50/56

  • 8/12/2019 Mobile Agents 101

    51/56

    Distributed DataMining

    Data Mining (DM):Discovery of hitherto unknownpatterns from very large databases

    Distributed Data Mining (DDM):Data mining ofdistributed data sources

    Characteristics: Distribution of data, users, mining algorithms and

    computational resources

    Heterogeneity of data

    Large data volumes DDM = DM + Knowledge Integration

  • 8/12/2019 Mobile Agents 101

    52/56

    Distributed DataMining Client Server Model for DDM:Bring data from

    distributed sources into a data mining server formining.

    Disadvantage:Communication Overhead

    Mobile Agent Model:Dispatch mining agents to thedistributed data sites.

    Overcomes the communication bottleneck

    But the problem of non-dedicated computational

    resources Our Work Hybrid DDM Model

  • 8/12/2019 Mobile Agents 101

    53/56

    Delivering Services toMobile Devices Environment: a set of wireless/wired networkedmobile/fixed computers dynamic environment: computational resources, battery

    power, memory, bandwidth (with frequentdisconnections) limitedand varyingfor the same

    computerand across computers; set of computers in adomain varying some uses of mobile software/agents:

    move/off-load (multiple) computations to other sites(e.g., processing at database, Web and WAP servers):

    no need to maintain connection, depleting resources,move to discovered resources software components only when and where needed:

    cope with limited memory, zero-maintenance mobilecomputers, different versions for different hardware

    characteristics

  • 8/12/2019 Mobile Agents 101

    54/56

    Delivering Services toMobile Devices users service environment can follow usersmobile device (e.g., VHE, NetChaser) agents move to mobile devices to perform

    tasks (e.g., monitor and gather information

    from deployed mobile devices) research: mobile places, docking stations e.g.SOMA, AgentTcl, MASE (ACTS CLIMATE),Magenta, Tacoma, Discovery

  • 8/12/2019 Mobile Agents 101

    55/56

    Current Areas of Work mobile agent theories: Pi-calculus extensions,Mobile Ambients, Agent Itineraries

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

    mobile agent infrastructure: environmentsupporting mobile agents - security, naming,domain crossing, etc

    mobile agent programming: languages, toolkits,abstractions

    mobile agent applications: mobile agentstandards: OMGs MASIF, FIPA

  • 8/12/2019 Mobile Agents 101

    56/56

    Research Issues Security: protect host from agents, protect agents

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

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

    Strong mobility: move full execution state (stacksetc), stacks not accessible with current Java?

    MA management:

    how control and manage deployed agents

    issues: fault tolerance (e.g., agent fails, hostfails), recalling agents, tracking agents, servicingagents (esp. longer living agents)