Mobile Agents Mouse House Creative Technologies Mike OBrien.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Building Distributed Applications using JAVA - RMI
Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
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.
COM vs. CORBA.
A distributed method for mining association rules
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Mi-Joung choi, Hong-Taek Ju, Hyun-Jun Cha, Sook-Hyang Kim and J
Comparison of the RMI and the socket APIs
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
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.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
SaaS Software Container By Brian Moore Paul Kopacz.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.
Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
By Matt Deakyne, Adam Krasny, and Derek Meek. History of ICE ICE stands for Internet Communications Engine Object-oriented middleware allowed programmers.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Welcome to CSC 301 Web Programming Charles Frank.
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.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
System integration of WAP and SMS for home network system Editor : Chi-Hsiang Wu, Rong-Hong Jan School : the National Chiao Tung University Source : Computer.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Kemal Baykal Rasim Ismayilov
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Java Mobile Agents with Aglets End of studies report Responsible : M. Logothetis ERASMUS Exchange.
EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
C HAPTER 5.4 DISTRIBUTED PROCESS IMPLEMENTAION By: Nabina Pradhan 10/09/2013.
TOPIC: Applications of Web Technologies in Distributed Systems
#01 Client/Server Computing
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Mobile Agents M. L. Liu.
Architecture Competency Group
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
In Distributed Systems
#01 Client/Server Computing
Presentation transcript:

Mobile Agents Mouse House Creative Technologies Mike OBrien

Outline Introduction to Mobile Agents Where & Why use Mobile Agents Mobile Agent Architecture Some Problems Java based toolkit for Agents (ASDK) Introduction to Aglets Aglet Architecture The Road Ahead for Mobile Agents Competing Technologies Conclusions

What is a Mobile Agent? Program that can migrate from system to system within a network environment –Performs some processing at each host Agent decides when and where to move next How does it move? –Save state –Transport saved state to next system –Resume execution of saved state Machine AMachine B Search engine

Why Mobile Agents: Motivations Network Management Bottlenecks –Unnecessary Bandwidth Utilization (Client/Server) Low bandwidth connections –Users let the agent roam on their behalf –Wait for results Asynchronous transaction capabilities Agents can have Intelligence –Making decisions –Process Information –Communicating with other Agents

Where are Mobile Agents Used Today? Network Management Systems –Discovery Agents –Configuration Agents Information Retrieval –Best price, interesting news, music, monitor stock market Data Mining Search Engines

Mobile Agent Architecture Agent transfer protocols –Like all data transfer from one system to another, agents must adhere to a protocol Agent execution support –Networked systems that use agents, must support an environment for them to run in –AEE ( Agent Execution Environment ) Agent construction and applications –Construction tools allow users define the task, set the parameters and proceed to launch the agents onto the networks

Migration Technology Common execution language –Interpretive scripting language –Java Process persistence –convert the object's state (variables, stack, and possibly even the point of execution) into a data form suitable for transmission over a network. Communication mechanism between agent hosts –TCP/IP, or even higher level HTTP

Agent Host Requirements An agent host must allow multiple agents to co-exist and execute simultaneously An agent host must allow agents to communicate with each other and the agent host An agent host must be able to negotiate the exchange of agents An agent host must be able to freeze an executing agent and transfer it to another host An agent host must be able to thaw an agent transferred from another and allow it to resume execution

Agent Requirements An agent must have its own unique identity Agents must be able to determine what other agents are executing in the agent host Agents must be able to determine what messages other agents accept and send

Problems Security for hosts –As a system, how do I make sure that the agent I let into my AEE is not an evil agent? –Encrypted signature –Resource negotiation Security for agents Security for agents –protection against hostile hosts that would seek to dissect or modify them –Little to protect agents from snooping eyes!

Mobile Agents in Java A mobile agent in Java is called an Aglet –Light weight agent Why use Java –Platform independence! –Create once, go anywhere –Price ….. FREE TOOLKITS ( ASDK ) –Hosts can provide an environment for the aglet to execute within

Developing A Mobile Agent using the AGLETS SOFTWARE DEVELOPMENT KIT ( ASDK ) An environment for programming mobile Internet Agents in JAVA

ASDK System Goals Easy and Comprehensive model for programming agents without modifying the Java VM Support Dynamic and Powerful Communication with know and unknown agents Design a harmonious architecture with existing Web/Java Technology

What are Aglets ? Aglets are Java objects that can move from one host on the Internet to another. When an Aglet moves it takes along its program code as well as its data. How Does the ASDK Work ?

Aglet API Overview

Creating an Aglet First we determine what our Aglet is going to accomplish (or do). Extend the ABSTRACT class Aglet (this class is provided with the ASDK) –This abstract class provides the fundamental methods used to control both the mobility and the life cycle of the mobile agent.

Primary Methods for Lifecycle and Mobility Control * Some of these methods are final and cannot be overridden.

Specifying Behaviour

Aglets at Runtime Currently aglets use the Agent Transfer Protocol (ATP) as a default implementation of the communication layer (ATP is modeled after HTTP) Used on the Tahiti aglet server Use the Aglets Server Interface to write application capable of hosting, receiving and dispatching aglets

Future Applications

Future Applications 2

Competing Technologies Message passing systems Remote Method Invocation (RMI) Common Object Remote Broker Architecture (CORBA)

Conclusions Advantages –Bandwidth & Performance –Working offline –Monitor or find information Disadvantages –Security concerns for both hosts & agents –Tough competition