Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mobile Agents Niranjan Suri University of West Florida.

Similar presentations


Presentation on theme: "Mobile Agents Niranjan Suri University of West Florida."— Presentation transcript:

1 Mobile Agents Niranjan Suri nsuri@ai.uwf.edu University of West Florida

2 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 2 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

3 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 3 Definition of Software Agents Computer program Autonomous behavior Represents some entity Has authority (delegation) Reacts and learns about environment Communicates using high-level Agent Communication Languages (ACLs)

4 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 4 Mobile Agents Definition – Software agents – Move from one computer to another User-directed or autonomous

5 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 5 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

6 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 6 Characterizing Mobility Three capabilities – Mobile code – Mobile computation – Mobile state Various combinations are possible

7 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 7 Mobile Code Allows executable code to be moved to a new host May use the push or pull model – Pull: Applets – Push: Remote Installation Mobile agents use push – Sometimes, an agent push may result in a code pull Code may be binary (intermediate or native) or source

8 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 8 Mobile Code Advantages: – Dynamically change capabilities Download new code to add / change / update capabilities of platform Remove code when no longer needed Problems: – Security concerns due to untrusted / unchecked code Code could be malicious, buggy, and/or tampered

9 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 9 Mobile Computation Evolution of Remote Computation – RPC, RSH, RMI, Servlets, Stored Procedures, CORBA Allows one system to run a computation on another system Utilize resources on remote system – CPU, memory Access resources on remote system – Files, databases, etc.

10 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 10 Mobile State Evolution of State Capture – Checkpointing Allows execution state of a process to be captured and moved State may be machine specific or machine independent May contain – State of single or multiple threads – Code

11 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 11 Combinations of Capabilities

12 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 12 Strong Mobility Move execution state with agent Why is it important? – Computationally equivalent to weak mobility – However, simpler, more natural abstraction – Therefore, easier to write mobile agents More importantly – mobile state allows forced mobility

13 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 13 Weak Mobility Example public class Example extends Aglet { boolean _theRemote = false; public void onCreation (Object init) { addMobilityListener( new MobilityAdapter() { public void onArrival (MobilityEvent e) { _theRemote = true; } ); } public void run() { if (!_theRemote) { System.out.println (On Source); dispatch(destination); } else { System.out.println (On Destination); }

14 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 14 Strong Mobility Example public class Example extends Agent { public static void main (String[] args) { System.out.println (On source); go (destination); System.out.println (On destination); }

15 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 15 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

16 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 16 Client-Server Versus Mobile Agents Client Server Client Agent Server Client Agent Server Client Agent TraditionalMobile Agent-Based

17 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 17 Advantages of Mobile Agents Reduced network bandwidth Disconnected operation – Short On-Line times – Low-power requirements – Support for mobile units Low-latency interaction

18 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 18 Jini Versus Mobile Agents Client Device Client Device Proxy Client Device Client Device Agent Client Device Agent

19 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 19 Advantages of Mobile Agents Highly Dynamic and Flexible Systems – Enabled my mobile code – Download new capabilities / services – Remove old / unused capabilities Swapping for memory constrained devices – Structure systems around mobile code Universal server Open Services Gateway Initiative (OSGI)

20 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 20 Advantages of Mobile Agents Unique capability: Send an executable program that does your bidding on someone elses computer Very powerful but… can be dangerous! – Only one step removed from a Virus

21 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 21 Agent Programming Paradigms Itinerant Agents – Use an itinerary that dictates mobility of agents Reactive Agents – Event-based approach – Events trigger mobility of agents Agent-Minion – Minions: Small mobile agents spawned by larger agents

22 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 22 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Challenges Survey of Mobile Agent Systems Summary

23 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 23 System Components Execution Environment Execution Environment Agent Transfer Protocol Directory Service Messaging Service Policy Manager Interpreter Visualization Tools Administration Tools Agent Messaging Protocol Authentication Encryption Global Directory Service Logging Service Global Logging Service Other Frameworks (DARPA CoABS Grid, etc.) Persistence Service

24 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 24 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

25 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 25 Languages for Mobile Agents Java – Numerous Systems TCL – DAgents, SMIA C/C++ – Omniware Miscellaneous – Telescript – Lisp, Scheme, custom, etc.

26 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 26 Advantages of Java Platform independent Virtual Machine execution environment – Important for isolation Small footprint Real programming language – Compared to TCL Most security conscious – Though still not adequate!

27 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 27 Limitations of Java No state capture Importance: – Mobile state Mobile agent systems Load balancing (distributed systems) Forced migration Cloning (fault tolerance) – Checkpointing Faster VM startup Restarting crashed applications Persisting processes for later resumption

28 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 28 Limitations of Java No resource control Importance: – Protect against denial-of-service attacks Malicious code Buggy code – Prioritize tasks – Foundation for providing QoS guarantees

29 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 29 Limitations of Java No resource accounting Importance: – Measuring resource consumption Charging / billing resource usage – Observing behavior of code

30 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 30 Directory Service Issues Difficult to find an agent – Chase agent around Fast Moving Agents – May be difficult/inefficient to update directory service

31 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 31 Authentication Issues Agent Anonymity – Agent may want to be anonymous on a host – Analogy: Window shopping Multiple Hop – Agent may not want to carry credentials Credentials could be stolen by malicious hosts

32 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 32 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

33 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 33 Applications of Mobile Agents Information Retrieval – Mobile agents reduce network bandwidth – Depends on: Quantity of information searched Quantity of information retrieved Size of mobile agent – Comprehensive study for DARPA Dartmouth College, Lockheed Martin ATL, University of West Florida

34 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 34 Applications of Mobile Agents Monitoring – Computer programs can be very patient Remote Control Dynamic Systems – Universal servers Active Mail – Send executable content as email

35 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 35 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

36 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 36 Challenges for Mobile Agents Security Issues – Protecting network communication – Protecting hosts from agents Illegal access Denial of service – Protecting agents from hosts Tampering Extracting information Capture / Replay System-wide Administration / Management – Policies – Tracking / Visualization

37 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 37 Challenges for Mobile Agents Access to non-mobile resources – Network endpoints – Files Deployment (of environments) Interoperability – OMG MASIF – Not successful – DARPA CoABS – We shall see… Debugging – Highly Asynchronous

38 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 38 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

39 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 39 Survey of Mobile Agent Systems Commercial Systems – Telescript/Odyssey - General Magic – Voyager - ObjectSpace – Aglets - IBM – Concordia - Mitsubishi Electric ITA – Jumping Beans - AdAstra

40 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 40 Survey of Mobile Agent Systems Research Systems – NOMADS – KAoS – DAgents – Agents for Remote Action (ARA) – Mole – Sumatra – Many others... Mobile Agent List: http://www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole/mal/mal.html

41 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 41 NOMADS Java-based mobile agent system – Strong mobility Capture full execution state of running agents Provides anytime mobility – simplifies writing mobile agents Provides forced mobility – arbitrary Java code can be moved – Strong security Dynamically control resource usage (rates and quantities) Allows platform owner full control over agent execution Protect against denial of service attacks

42 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 42 Strong Security Limitations of current Java systems – Rely on JDK security Does not provide resource control – Either assume agents are safe Does not scale – Or rely on code signing Not a preventive measure Goal: Build secure execution environments – Run untrusted or partially-trusted code

43 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 43 Aroma Virtual Machine Clean-room implementation State capture mechanism Dynamic, fine-grained resource control – Disk, Network, CPU JDK 1.2.2 compatible – Uses Java Platform API from JRE 1.2.2 – No AWT / Swing Ported to Win32 (x86), Linux (x86), Solaris (SPARC) No Just-In-Time compilation (Almost) No optimization

44 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 44 State Capture Aroma supports two modes – Full VM state All threads, loaded classes, objects State may be restored into a blank VM Size: Approx 1.5 MB – Individual thread state Method stack and all reachable objects Thread may be restored into running VM Size: Approx 4 KB

45 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 45 State Capture State capture is fine-grained – Between any two Java bytecode instructions – Supports blocked, waiting, sleeping, and suspended threads State is platform independent State may be stored in memory, saved to disk, or streamed over the network

46 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 46 Resource Control Rate control – Control rate at which resources are used – Dynamically adjustable – Fine grained – Examples: CPU limited to 10% Disk write rate limited to 30 KB/sec Network read rate limited to 10 KB/sec Disk Usage Rate

47 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 47 Resource Control Quantity control – Control quantity of resources used – Dynamically adjustable – Fine grained – Examples: Disk space limited to 1.8 MB Total network writes limited to 1024 KB – Still needed: memory Disk Usage Quantity

48 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 48 Benefits of Resource Control Protect host from malicious agents – Prevent denial of service attacks Simplify agent writers task – Agents do not need to worry about resource control / limits Means of prioritization – Raising limits increases priority Basis for Quality of Service Means of accounting

49 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 49 Outline Overview of Agents and Mobile Agents Characterization of Mobility Advantages of Mobile Agents System Components Language / Design Issues Applications Challenges Survey of Mobile Agent Systems Summary

50 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida 50 Summary Mobile Agents are Good – Code mobility adds significant flexibility Security is Critical Deployment is Difficult No Interoperability MHMPMPD


Download ppt "Mobile Agents Niranjan Suri University of West Florida."

Similar presentations


Ads by Google