EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.

Slides:



Advertisements
Similar presentations
Agents & Mobile Agents.
Advertisements

Mobile Agents Mouse House Creative Technologies Mike OBrien.
Database Architectures and the Web
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Chapters 14 & 15 Internet Databases. E-Commerce  Bringing new products, services, or ideas to market, supporting and enhancing business operations 
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
The road to reliable, autonomous distributed systems
1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun.
Lecture 2: Do you speak Java?. From Problem to Program Last Lecture we looked at modeling with objects! Steps to solving a business problem –Investigate.
Threads Clients Servers Code Migration Software Agents Summary
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 1.
Security Management IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introduction to Web Interface Technology (CSE2030)
Interpret Application Specifications
For more Lectures and Notes Visit
Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Web server security Dr Jim Briggs WEBP security1.
Computer Security and Penetration Testing
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
INTRODUCTION TO WEB DATABASE PROGRAMMING
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
EEL 5937 Mutable agents EEL 5937 Multi Agent Systems Lecture 21, March 23, 2003 Lotzi Bölöni.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
EEL 6938 Mobile agents EEL 6938 Engineering Applications of Autonomous Agents Lotzi Bölöni.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Fundamentals of Database Chapter 7 Database Technologies.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Accessing to Spatial Data in Mobile Environment Presented By Jekkin Shah.
EEL 5937 What makes an agent? EEL 5937 Multi Agent Systems Lotzi Bölöni.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Virtual Workspaces Kate Keahey Argonne National Laboratory.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Distributed Databases
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
WEB SERVER SOFTWARE FEATURE SETS
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Java – in context Main Features From Sun Microsystems ‘White Paper’
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
CS223: Software Engineering
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.
Presentation 3: Designing Distributed Objects. Ingeniørhøjskolen i Århus Slide 2 af 16 Outline Assumed students are knowledgeable about OOP principles.
NET8 Protocol Analysis & Emulation Guided by Dr. Ran Giladi Students: Michal Bukai Ran Steinherz.
JAVA TRAINING IN NOIDA. Introduction to Java:  Java training in noida is a general-purpose computer programming language that is concurrent, class-based,
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Alternatives to Mobile Agents
World Wide Web policy.
Chapter 1 Introduction to Computers, Programs, and Java
Introduction Enosis Learning.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction Enosis Learning.
Mobile Agents.
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Presentation transcript:

EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni

EEL 5937 Mobile agents Mobile agents are autonomous programs which move though a network and maintain their identity through this move. This is a stronger concept than “code mobility” such as Java applets, or client-side Javascript. Many agent systems were implemented with support for mobility. –And for many researchers, agents == mobile agents

EEL 5937 Motivation for mobility (cont’d) Mobile agents can provide better support for mobile clients. –Reduction of network traffic –Asynchronous interaction (good in case of intermittent connection) –Remote searching and filtering Mobile agents facilitate semantic information retrieval. –Move one step above simple keyword based search. Mobile agents facilitate real-time interaction with a server –Eg. space probes, real time control of a machine tool Mobile agent based transactions avoid the need to preserve process state in clients and servers –Instead, the process state is carried in an agent

EEL 5937 Motivations for mobility (cont’d) Agent based transactions scale better than RPC- based transactions Secure agent-based transactions have lower overhead than secure RPC. Mobile agents allow users to personalize server behaviour. Agents enable semantic routing. Not all these arguments are valid.

EEL 5937 Counter arguments and answers Most counter arguments are based on the fact that –What can be done with mobile agents can be done with RPC or –What can be done on the server, you can do it on the client. The “software engineering counterargument”: whereas each individual case can be addressed in some (ad-hoc) manner without mobile agents, a mobile agent framework addresses them all of them at once.

EEL 5937 Mobile code != mobile agents –But, the majority of mobile agent systems imply mobile code Transferring code between (heterogeneous) machines. Implies machine independent code. –Usually, it is implemented with some kind of virtual machine –But it can be also implemented with adaptation, recompilation etc. Types of mobile code: –Partially Turing machine complete languages (e.g. SQL, SVG) –Interpreted programming languages (Perl, Python, Javascript) –Virtual machine based compiled languages (Java, Telescript)

EEL 5937 Mobile code - applications Client-server queries (SQL) Client side browser applets: –Java applets –Javascript –ActiveX controls Remote code updates: –Software updates –Plugins Active –Confirmations –Javascript, Visual Basic for Applications – viruses and worms Mobile agents

EEL 5937 Mobile agents without code mobility Seeing control handoff as mobility –No code mobility involved. –Multithreading involves problems. Distributed systems as mobile agent systems In this approach, mobility is an analysis approach, not a design principle.

EEL 5937 Strong mobility

EEL 5937 Strong mobility Strong mobility assumes that agents can move at any point during their execution They are usually relying on: –Specially designed programming languages (eg. Telescript). –Modified virtual machines (eg. NOMADS / AromaVM)

EEL 5937 Custom language: Telescript Proprietary language, created by General Magic around –Highly influential, without being highly successful Interpreted language, which runs on a Telescript engine. –The company implemented engines running on PDA’s, PC’s etc “High Telescript”: –Object oriented language, inspired by Smalltalk –Compiled to Low Telescript “Low Telescript” –Postfix syntax for stack based implementation

EEL 5937 Telescript (cont’d) The basic network configuration is to run a Telescript Engine on each node of the network. A network of Telescript Engines provides a homogenous environment on which to build distributed systems. Basic class: Process. Telescript supports preemptive, prioritized multi-tasking of Process objects. A Process instance can be thought of as an object with a life of its own. A Place object represents a virtual space in which other objects can interwork (through local communication). Each Telescript Engine can support a number of places.

EEL 5937 Telescript (cont’d) An Agent object is a Process object which can migrate between Places. An agent may move between Places on the same Engine, or between Places which exist on different Engines. –The Telescript notion of a distributed system is a number of distinctly located places and a number of Agents which move between these Places. Places provide meeting locations for Agents. At a Place, Agents can exchange information and perform computation. Places also route travelling Agents. Persistent Objects --- Telescript Engines implicitly save and recover object state information. The Telescript world is divided into "regions". Each Engine uses a "regions" database to route migrating Agents. Places and Agents are identified using "Telenames": – Telename(Locally-Unique-Name, Region-Name)

EEL 5937 Telescript security Agents have "attributes" such as "identify" and "owning authority" which uniquely identify the Agent and the entity responsible for it. These attributes may be used for authentication. Telescript objects also have a "permit" attribute which may be used to limit the amount of resources which they may consume (e.g. a Place may ask an Agent to pay it 30 "Teleclicks" before granting it access to some resource). A secure "permits" feature is crucial to stop Agents from creating a crash-limited number of clones of themselves, exhausting resources, or other such anti-social behaviour. – Apparently you can't define a legal Telescript Place which holds visiting Agents to ransom unless you can circumvent security features and hack the Interpreter code!)

EEL 5937 Specialized JVM: NOMADS/Aroma NOMADS/Aroma is a Java based agent system with strong mobility support, developed at Boeing and University of West Florida. The standard Java JVM does not allow explicit execution state capture, thus we can not implement hard mobility. There are several solutions: –Modify (patch) the Sun JVM »Difficulty because of the native thread usage. –Implement a new JVM –Use preprocessors and a standard JVM.

EEL 5937 NOMADS Is composed of two parts: the agent execution environment (called Oasis) and the AromaVM. This provides two key enhancements: Strong mobility: the ability to capture and transfer the full execution state. Safe execution: the ability to control the resources consumed by the agents thereby facilitating guarantees of quality of service and protecting against denial of service attacks. These features, however come with a performance penalty.