Mobile Agents Technology - Programming with Aglet

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Institut für Softwarewissenschaft - Universität WienP.Brezany 1 Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence Peter Brezany.
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.
COS 461 Fall 1997 Network Objects u first good implementation: DEC SRC Network Objects for Modula-3 u recent implementation: Java RMI (Remote Method Invocation)
A distributed method for mining association rules
On Coordinating Information Agents and Mobility 컴퓨터공학과 김상태.
Java Mobile Agents with Aglets Wolfgang Schreiner
Mobile Agents with Aglets By Shane Lunceford. Objectives By the end of this presentation you should be able to: Describe what a mobile agent is Explain.
移动 A GENT 系统 ——Aglets. 提纲 Aglets 简介 Aglets 模型 Aglets API Aglets 样例 2.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Winter, 2004CSS490 Process Migration1 Textbook Ch8 Instructor: Munehiro Fukuda These slides were compiled from the course textbook, the reference books,
GRASSHOPPER-a mobile agent platform mailto:
UDP - User Datagram Protocol UDP – User Datagram Protocol Author : Nir Shafrir Reference The TCP/IP Guide - ( Version Version.
Chapter 29 Structure of Computer Names Domain Names Within an Organization The DNS Client-Server Model The DNS Server Hierarchy Resolving a Name Optimization.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
CSS434 Process Migration1 Textbook and Non-Textbook Contents Professor: Munehiro Fukuda.
Definitions, Definitions, Definitions Lead to Understanding.
1 Chapter 4 Threads Threads: Resource ownership and execution.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
Copyright 2003 CCNA 1 Chapter 9 TCP/IP Transport and Application Layers By Your Name.
Networks QUME 185 Introduction to Computer Applications.
Using Mobile Agents for Network Resource Discovery in P2P Network Zhengzheng Wan.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Locating Mobile Agents in Distributed Computing Environment.
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
MODULE I NETWORKING CONCEPTS.
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.
代理人技術應用於全球運籌管理之 即時線上訂單追蹤 Using Agent technology on Online Order-Tracing in Global Logistics 系別 工業工程與工程管理學系 組別 工業工程組 學生姓名 陳卓觀 同學 指導教授 張瑞芬 博士.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
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.
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
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.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web fundamentals: Clients, Servers, and Communication
MCA – 405 Elective –I (A) Java Programming & Technology
#01 Client/Server Computing
Chapter 2 Introduction Application Requirements VS. Transport Services
User Interface Agent Matias Kassala JYPE
Lecture 3 From process-oriented to agent-oriented programming.
Computer Communication & Networks
An Introduction to Computer Networking
DISTRIBUTED COMPUTING
Mobile Agents.
Mobile Agents M. L. Liu.
Introduction to Web Services
Applications Layer Functionality & Protocols
An Introduction to Internetworking
In Distributed Systems
Computer Networks Protocols
#01 Client/Server Computing
Presentation transcript:

Mobile Agents Technology - Programming with Aglet Felix T-L Lin KE TA IEEM, NTHU 2018/11/20

Reference D. B. Lange and M. Oshima, Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, 1998 http://www.trl.ibm.com/aglets/ 2018/11/20

Introduction – 1/2 Software agents Features A software agent is one kind of computer software that executes a specific task Features Autonomous, goal-oriented, collaborative, flexible, adaptive, and mobile characteristics (Maamar, 2002) 2018/11/20

Introduction – 2/2 Mobile agents It can be defined as a software agent that is able to migrate autonomously from one host to another in a computer network (Papaioannou and Edwards, 1999) 2018/11/20

Mobility – 1/3 Mobility is a special ability of a mobile agent It means the agent is movable. It has the unique ability to transport itself from one system to another in a network Divide agents into 2 types (based on mobility) Stationary agent vs. mobile agent RPC vs. remote programming 2018/11/20

Mobility – 2/3 Remote Procedure Call Stationary agent It always operates in a specific host It often involves multiple interactions to accomplish a given task Increase the network traffic The operation style is called Remote Procedure Call, RPC model(Dalmeijer, Hammer, and Aerts, 2000) 2018/11/20

Mobility – 3/3 Remote programming Mobile agent It allows you to dispatch it to a remote host The interactions can take place locally Systems can be improved by reducing the flow of row data The operation style is called Remote Programming model (Walter, Rudigr, and Hartmut, 1998 ) 2018/11/20

Aglet Concept of Aglet Originated at IBM’s research laboratory in Japan A small application program or applet with the capability to serve as a mobile agent of services in a computer network Java objects can move from one host on the network to another Users can receive, manage and send aglets from Tahiti aglet server 2018/11/20

Tahiti Server 2018/11/20

Agent Transfer Network Sender Receiver Suspend Execution Serialize Agent Encode Agent Transfer Agent Receiver Resume Execution Deserialize Agent Decode Agent Receive Agent 2018/11/20

Aglet Life-Cycle Model – 1/4 3 Context A Context B Dispatch Aglet Aglet Dispose 4 Clone 2 6 Retract 5 Create Deactivate Activate 1 Class File Disk Storage 2018/11/20

Aglet Life-Cycle Model – 2/4 Ex1: Aglet creation public class CreationExample extends Aglet { public void run() { try { getAgletContext().createAglet( getCodeBase(), “CreationChild”, null ); } catch (Exceptioin e) { System.out.println(e.getMessage()); } Public class CreationChild extends Aglet { public CreateChild() { … } public void onCreation(Object init) { … } public void run() { … } } createAglet() Aglet() onCreation() 2018/11/20 run()

Aglet Life-Cycle Model – 3/4 Ex2: Aglet dispatch run() Original host dispatch() onDispatching() onArrival() Destination host run() 2018/11/20

Aglet Life-Cycle Model – 4/4 public class DispatchingExample extends Aglet { boolean theRemote = false; public void onCreation(object init) { addMobilityListener( new MobilityAdapter() { public void onDispatching(MobilityEvent e) { //…… } public void onArrival(MobilityEvent e) { theRemote = true; ); public void run() { if(!theRemote) { try { URL destination = new URL( (String)getAgletContext(). getProperty(“location”) ); dispatch( destination ); } catch (Exception e) { System.out.println(e.getMessage()); } else { // The remote aglet runs here 2018/11/20

Aglet Event Model CloneListener Aglet MobilityListener Clone Events CloneListener Mobility Events Aglet MobilityListener Persistence Events PersistencyListener 2018/11/20

Aglet Communication Model Message Message Aglet/Application Proxy Aglet Reply Reply 2018/11/20

Agent Transfer Protocol, ATP It is a simple application-level protocol modeled on HTTP. ATP is designed to transmit an agent of the agent system An ATP request consists a request line headers fields contents 2018/11/20

Application – 1/5 Background A well-designed matching model can reduce the trading time and improve its efficiency A complex model for SIP trading The concept of matching model for SIP trading 2018/11/20

Application – 2/5 Scenario 2018/11/20

Application – 3/5 it is assumed that you setup m indices and membership functions for evaluating partners. Now, you want to evaluate the j th trading partner. The performance value of the j th trading partner can be defined as a formula means the i th index value of the j th trading object means the weight of the i th index 2018/11/20 means the membership function of the i th index

Application – 4/5 The collaboration of agents and the matching process 2018/11/20

Application – 5/5 Scenario assumption Buyers Sellers Felix, 140.114.53.57 Trappey, 140.114.53.39 Umc, 140.114.53.39 Sellers Dora, 140.114.214.92 Joanne, 140.114.54.147 Paul, 140.114.54.147 The product is IEEE 1394a Device Controller 2018/11/20

ASDK Installation Copy the ASDK source to a folder http://www.trl.ibm.com/aglets/idoagree11b.htm Setup the environment variables Add aglet_home (d:\Aglet1.1_\aglets1.1.0) Add jdk_home (d:\Aglet1.1_\jdk1.1.8) Set classpath (d:\Aglet1.1_\aglets1.1.0\lib;d:\Aglet1.1_\aglets1.1.0\public;) Set path (d:\Aglet1.1_\aglets1.1.0\bin;) 2018/11/20

Demonstration 2018/11/20

Demonstration Scenario assumption Buyers Sellers Broker, 140.114.53.57 Felix, 140.114.53.57 Trappey, 140.114.53.39 Umc, 140.114.53.39 Sellers Dora, 140.114.214.92 Joanne, 140.114.54.147 Paul, 140.114.54.147 Broker, 140.114.53.57 The product is IEEE 1394a Device Controller 2018/11/20