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

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

Scenario: EOT/EOT-R/COT Resident admitted March 10th Admitted for PT and OT following knee replacement for patient with CHF, COPD, shortness of breath.
Simplifications of Context-Free Grammars
Threads Chapter 4 Threads are a subdivision of processes
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
Process Description and Control
AP STUDY SESSION 2.
1
Distributed Systems Architectures
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Fixture Measurements Doug Rytting.
1 Hyades Command Routing Message flow and data translation.
David Burdett May 11, 2004 Package Binding for WS CDL.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Custom Services and Training Provider Details Chapter 4.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt BlendsDigraphsShort.
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Chapter 6 File Systems 6.1 Files 6.2 Directories
1 Chapter 12 File Management Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez.
© SafeNet Confidential and Proprietary Administering SafeNet StorageSecure Smart Card Module 3: Lesson 5 SafeNet StorageSecure Storage Security Course.
Break Time Remaining 10:00.
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Turing Machines.
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
ACT User Meeting June Your entitlements window Entitlements, roles and v1 security overview Problems with v1 security Tasks, jobs and v2 security.
PP Test Review Sections 6-1 to 6-6
1 DARTBOARD Tutorial: DARTBOARD Access and Use for Faculty and Staff Tutorial: DARTBOARD Access and Use for Faculty and Staff.
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Agents & Mobile Agents.
Chapter 10: Virtual Memory
Mobile Agents. 2 Introduction Mobile agent is a distributed computing paradigm. It has become viable, with recent technologies such as those provided.
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
Operating Systems Operating Systems - Winter 2011 Dr. Melanie Rieback Design and Implementation.
Operating Systems Operating Systems - Winter 2012 Dr. Melanie Rieback Design and Implementation.
Operating Systems Operating Systems - Winter 2010 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
Sample Service Screenshots Enterprise Cloud Service 11.3.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Adding Up In Chunks.
SLP – Endless Possibilities What can SLP do for your school? Everything you need to know about SLP – past, present and future.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
By CA. Pankaj Deshpande B.Com, FCA, D.I.S.A. (ICA) 1.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Types of selection structures
Speak Up for Safety Dr. Susan Strauss Harassment & Bullying Consultant November 9, 2012.
Essential Cell Biology
Clock will move after 1 minute
PSSA Preparation.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 13 - Exception Handling Outline 13.1 Introduction 13.2 Exception-Handling Overview 13.3 Other.
Physics for Scientists & Engineers, 3rd Edition
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.
Mobile Agents M. L. Liu.
Presentation transcript:

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

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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) Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

Outline Characterization of Mobility 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Mobile Code Advantages: Problems: 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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. Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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”); Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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”); } Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Outline Advantages of Mobile Agents 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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

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

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) Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Outline System Components 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

Outline Language / Design Issues 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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! Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

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

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

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Outline Applications 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

Outline Challenges 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Outline Survey of Mobile Agent Systems 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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

Survey of Mobile Agent Systems Research Systems NOMADS KAoS D’Agents 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

NOMADS Java-based mobile agent system Strong mobility Strong security 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Resource Control Quantity control Control quantity of resources used Disk Usage Quantity 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Benefits of Resource Control Protect host from malicious agents Prevent denial of service attacks Simplify agent writer’s 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

Outline Summary 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 Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

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