2 AgentsAn agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuatorsHuman agent: eyes, ears, and other organs for sensors; hands,legs, mouth, and other body parts for actuatorsRobotic agent: cameras and infrared range finders for sensors;various motors for actuators
3 Agents and environments The agent function maps from percept histories to actions:[f: P* A]The agent program runs on the physical architecture to produce fagent = architecture + program
4 Vacuum-cleaner world Percepts: location and contents, e.g., [A,Dirty] Actions: Left, Right, Suck, NoOp
6 Objects and Agents – An Analogy Objects encapsulate state, Agents encapsulate state + execution behaviourObjects have no control over the execution of methodsInvocation of method m on object o – involuntary – whether object o likes it or not
7 Objects and Agents – An Analogy Agents have control of whether or not to perform any given actionRequest actions rather than invoke methods
10 Rational agentsAn agent should strive to "do the right thing", based on what it can perceive and the actions it can perform. The right action is the one that will cause the agent to be most successfulPerformance measure: An objective criterion for success of an agent's behaviorE.g., performance measure of a vacuum-cleaner agent could be amount of dirt cleaned up, amount of time taken, amount of electricity consumed, amount of noise generated, etc.
14 What is a Mobile Agent ? Software program Moves from machine to machine under its own control….Suspend execution at any point in time, transport itself to a new machine and resume executionOnce created, a mobile agent autonomously decides which locations to visit and what instructions to performContinuous interaction with the agent’s originating source is not requiredHOW?Implicitly specified through the agent codeSpecified through a run-time modifiable itinerary
15 Mobile Agent Derives from AI and distributed systems Agent that migrates under its own control in a heterogeneous environmentMobility can beStrong: move code with current execution stateWeak: move only codeAgentServerClientServer
16 Evolution Mobile Agent – transfers BOTTOMLINE: Mobile Agents are a distributed computing paradigmEnd point in the incremental evolution of mobile abstractions such as mobile code, mobile objects, mobile processes.Mobile Code – transfers codeMobile Object – transfers code + dataMobile Process – transferscode + data + thread stateMobile Agent – transferscode + data + thread + authority of its owner
17 Inter-Agent Message Passing - Requirements EfficiencyLow location updating overheadLow message delivery overheadAsynchronyAsynchronous executionLittle constraint on the mobile agent mobility.AdaptabilitySuit different Communication and Migration Pattern
18 Inter-Agent Message Passing - Requirements Location TransparencyMessage sender does not need to know the physical location of the receiver agent, whose address changes frequently by moving from one host to another.ReliabilityThe concurrent and asynchronous nature of message forwarding and agent migration may cause message loss or chasing problem.By reliability we mean the message can reach the target agent by a bounded number of forwarding.
19 RPC Vs Mobile Agents Mobile Agents Instead of calling a procedure, supply the procedure as wellMessages: Mobile Agent ( procedure + data + state)“Sending” computer may have begun the procedure and the receiving computer will continue the procedureOn-going interaction, but NO on-going communicationRequests include data which are sent as arguments to the procedureResponses include data which are sent as resultsProtocol for communication : which procedures are remotely accessible, the types of arguments and resultsCLIENTSERVERnetworkMobileAgentService
20 Applets, Servlets and Mobile Agents Applet – Downloaded from server to clientServlet – Uploaded from client to serverMobile Agents – Detached from client, can have multiple hops
21 Advantages of the Mobile Agent Paradigm reduce bandwidth consumption and network loadsallow dynamic deployment of application components to arbitrary network sitesencapsulate protocolsexecute asynchronously and autonomouslycan adapt by movingrun on heterogeneous platformsmost distributed applications fit naturally into the mobile agent modelintuitively suitable for mobile users and disconnected operationsMobile agents combine the strengths of techniques such as RPC, java applets etc. into a single, convenient framework
22 Levels of Mobility Weak Mobility When moving a mobile agent carries code + data stateOn moving, execution has to start from the beginning
23 Levels of Mobility Strong Mobility When moving a mobile agent carries code + data state + execution stateExecution State – local variables and threadsOn moving, execution can continue from the point it stopped on the previous host
27 Design of ARP Mobile IP solution No Reliability SupportExtention1: Mobile IP +SynchronizationThe agent home coordinates message passing and agent migrationExtension2: Distributed Home SchemeExtension3: Mailbox-Based Scheme = ARP
28 Mobile IP + Synchronization MAPMAP-HomeRegACKDeregMAPMAP
29 Mobile IP + Synchronization MAPMAP-HomeRegACKDeregMAPMAP
31 Properties of ARP Location Transparency Reliability Home + Caching MechanismReliabilitySynchronization is usedAsynchronous MigrationAdaptabilityMobile IP + SynchronizationDistributed Home SchemeEfficiency
32 IBM’s Aglet Toolkit An Applet-like programming model for mobile agents Java (as many mobile agent toolkits are! )Aglet = Agent + AppletAglet’s API facilitates mobile technologyAglet: mobile java object that visits aglet enabled hosts in a computer networkAn Aglet = Instance of a Java class extending the Aglet Class
33 IBM’s Aglet Toolkit An Aglet =Aglet state (values in variables) + Aglet code (class implementation)Autonomous – runs its own thread after arriving at a hostReactive – responds to incoming messagesWeak Mobility
Your consent to our cookies if you continue to use this website.