1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun.

Slides:



Advertisements
Similar presentations
Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence Peter Brezany.
Advertisements

Agents & Mobile Agents.
Comparison Study of Three Mobile Agent Systems Aglets, Grasshopper and Voyager Qunhua Zhao, Hua Wang and Yi Zhang Department of Computer Science and Engineering.
Mobile Agents Mouse House Creative Technologies Mike OBrien.
The Mobile Code Paradigm and Its Security Issues Anthony Chan and Michael Lyu September 27, 1999.
Agent Caching in APHIDS CPSC 527 Computer Communication Protocols Project Presentation Presented By: Jake Wires and Abhishek Gupta.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Technical Architectures
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
The Mobile Code Paradigm and Its Security Issues Anthony Chan September 13, 1999.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
MADE Mobile Agents based system for Distance Evaluation Vikram Jamwal KReSIT, IIT Bombay Guide : Prof. Sridhar Iyer.
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.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.
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.
Summary of Distributed Computing Security Yifeng Zou Georgia State University
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
Shuman Guo CSc 8320 Advanced Operating Systems
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Mobile Agents M. L. Liu. Distributed Computing, M. L. Liu2 Introduction Mobile agent is a distributed computing paradigm. It has become viable, with recent.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
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.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
Distributed Computing
#01 Client/Server Computing
Mobile Agents.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Mobile Agents M. L. Liu.
บทที่ 3 เอเจนต์แบบเคลื่อนที่ (Mobile Agent)
In Distributed Systems
#01 Client/Server Computing
Presentation transcript:

1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun

2 Outline Introduction to Mobile Agent(MA) Introduction to Mobile Agent System(MAS) Some issues of Mobile Agent Mobile Agent application Concluding remarks

3 What is mobile agent? Mobile agents are defined as active objects (or clusters of objects) that have behavior, state and location. Mobility: Agents that can travel in network Autonomy: Agent itself decides when and where to migrate next Opposite : Stationary agent Mobile code (Applets)

4 Comparison of 3 Network computing paradigm Client-Server Paradigm Code-on-Demand Paradigm Know- how Client Server Client Know- how Know how Server Download (Applet) Agent Know- how Host Network Mobile Agent Paradigm

5 A Mobile Agent Dissected A mobile agent contains the following 3 components: Code - the program (in a suitable language) that defines the agent's behavior. State - the agent's internal variables etc., which enable it to resume its activities after moving to another host. Attributes - information describing the agent, its origin and owner, its movement history, resource requirements, authentication keys etc. Part of this may be accessible to the agent itself, but the agent must not be able to modify the attributes

6 Events in Mobile Agent’s life-time Creation: a brand new agent is born and its state is initialized. Dispatch: an agent travels to a new host. Cloning: a twin agent is born and the current state of the original is duplicated in the clone. Deactivation: an agent is put to sleep and its state is saved in persistent storage. Activation: a deactivated agent is brought back to life and its state is restored from persistent storage.

7 Contd Retraction: an agent is brought back from a remote host along with its state to the home machine. Disposal: an agent is terminated and its state is lost forever. Communication: Notifies the agent to handle messages incoming from other agents, which is the primary means of inter-agent correspondence.

8 MA System Arichitecture The main components include mobile agents (defined before) places supports the execution of particular procedures and provides access to local resources. agent systems Places inside an agent system may share resources, code, or security mechanisms and, in general, have a privileged relationship with each other and less expensive mobility. Regions Agent systems may be grouped in regions. A region represents a security domain where network-wide resources are accessed following a uniform policy. Principals Agents, places, agent systems, and regions are associated with a number of principals that represent real-world entities such as a person, an organization, or a company.

9

10 Requirement of a MAS Agent Execution Support, Management Support, Security Support, Mobility Support, Unique Identification of Agents Support, Transaction Support, and Communication Support.

11 Object mobility Strong Mobility Migration of agent code, data and execution state Weak Mobility Migration of only the agent code and data Strong mobility is difficult to accomplish! If the agent code is interpreted, access to the execution state is difficult to obtain If the agent code is compiled before execution, the execution state is represented by the stack. Transporting the stack and rebuilding it on a different host, which can be an entirely different architecture, is a nontrivial task.

12 Support Languages for mobile agent The first language for programming mobile agents called TeleScript was introduced in Mobile agent could be implement by various languages, but java language is the most popular because: Platform independence. Create once, go everywhere. Object-oriented feature Security model

13 Security issue - host security Authentication of user Determination of whether the user has the authorization to execute Determination of agents ability to pay for the service provided by the server

14 Trusted and un-trusted mobile agent Some MA platform treat trusted and untrusted agent differently Untrusted agents are prohibited to run dangerous command.

15 Agent Security- agent security Example: An agent roams around the Internet to look for the lowest price of a air ticket; it remembers the lowest price it finds most recently Data tampering: change of execution state of agents by malicious hosts ( “ brain-flush ” the agent of the lowest price it remembers) Solution: Agent tampering detection (e.g. cryptographic watermarks) Prevention (e.g. execution of encrypted functions)

16 Virus detection One Solution: to make the system Turing-complete. Consider an mobile agent only have the following limited power: to alter its own internal state variables to make database queries in the current server to move to another server to send text message back to its owner

17 Standardization of mobile agent There are various mobile agent system available such as AgentTcl, Aglets, MOA, Grasshopper and Odyssey. These differ widely in architecture and implementation. thereby impeding interoperability, rapid proliferation of agent technology

18 Standardization of mobile agent (contd) MASIF is a Standardization effort by the Object Management Group (OMG) to enable different mobile agent systems to interoperate. MASIF provide 2 sets of interfaces to standardizes: Agent Management Agent Transfer Agent and Agent System Names. Agent System Type and Location Syntax.

19 Standardization of mobile agent (contd) Other standardization effort include developing a common Agent Communication Languages (e.g., KQML) to improve interoperability between agents, and between agents and mobile agent middleware

20 other issues related to mobile agent Execution performance Execution performance is often sacrificed in order to achieve portability via code interpretation. Justintime compilation is one way towards better performance. Robustness. Adding robustness involves fault tolerance schemes (e.g., coping with hosts crashing) and is key for trust and acceptance of the technology in companies.

21 Competing Technologies Message passing systems Remote Method Invocation (RMI) Common Object Remote Broker Architecture (CORBA) etc. Distributed objects frameworks are de- centralized but their functionality is fixed

22 Mobile Agent vs. Remote Procedure Call(RPC) RPC: using Synchronous protocol-High Efficiency and low latency Scaling -- Multiple servers Mobile Agent: Messaging(Asynchronous) :Robustness, especially in wide area network Every node is a server

23 Application Areas for Mobile Agents Data collection from many places Searching and filtering Monitoring Negotiating

24 Application area for Mobile Agent(cont’) Bartering Parallel processing Entertainment Targeted information dissemination

25 Potential usage for mobile client Mobile clients’ feature: 1. They only intermittently connected to a network, 2. Even when connected they have limited bandwidth 3. They have limited storage and processing capability Mobile agents’ feature: 1. Reduction of Network traffic 2. Asynchronous interaction 3. Remote searching and filtering

26 Concluding Remarks Achievement: MA can effectively reduce network load and overcome network latency. MA can improve both flexibility and communication robustness. MA has proved to be beneficial to information collection and monitoring. Open issue: Security, secrecy and complexity(easy to deploy but hard to debug), and execution performance remain a big challenge for its industrial use. Limited availability of quantitative performance evaluation Further standardization work still required for heterogeneous environments

27 Reference

28 Thanks. Questions and Answers