Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.

Slides:



Advertisements
Similar presentations
Building Distributed Applications using JAVA - RMI
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.
Chapter 17: WEB COMPONENTS
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Java Network Programming Vishnuvardhan.M. Dept. of Computer Science - SSBN Java Overview Object-oriented Developed with the network in mind Built-in exception.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
The road to reliable, autonomous distributed systems
Technical Architectures
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Data Security in a Distributed Services Medical Imaging Network Zhihong Yang University of Connecticut.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Component-Based Software Engineering Introducing the Bank Example Paul Krause.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Institute for Visualization and Perception Research 1 © Copyright 1998 Haim Levkowitz Automated negotiations The best terms for all concerned Tuomas Sandholm.
Definitions, Definitions, Definitions Lead to Understanding.
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
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.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Chapter 4: Core Web Technologies
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
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.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
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.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
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.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
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.
Customer Interface for wuw.com 1.Context. Customer Interface for wuw.com 2. Content Our web-site can be classified as an service-dominant website. 3.
A Distributive Server Alberto Pareja-Lecaros. Introduction Uses of distributive computing - High powered applications - Ever-expanding server so there’s.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
Shuman Guo CSc 8320 Advanced Operating Systems
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
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.
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.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Java Network Programming Network Programming Spring 2000 Jeffrey E. Care
EEL 5937 Mobile agents EEL 5937 Multi Agent Systems Lotzi Bölöni.
UMBC Distributed Computing with Objects RMI/Corba CMSC 432 Shon Vick.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
A service Oriented Architecture & Web Service Technology.
Introduction to Mobile-Cloud Computing. What is Mobile Cloud Computing? an infrastructure where both the data storage and processing happen outside of.
Java Distributed Object System
Alternatives to Mobile Agents
What is RMI? Remote Method Invocation
Mobile Agents.
Mobile Agents M. L. Liu.
In Distributed Systems
Presentation transcript:

Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents

Institute for Visualization and Perception Research 2 © Copyright 1999 Haim Levkowitz Java effective for mobile agents in e-commerce

Institute for Visualization and Perception Research 3 © Copyright 1999 Haim Levkowitz Earlier technologies “Fathered” mobile agents Dev’d to improve RPC for distributed programming Process migration Remote evaluation Mobile objects

Institute for Visualization and Perception Research 4 © Copyright 1999 Haim Levkowitz Process migration Move entire address space among computers Reduce net BW compared to RPC Multiple RPCs to execute app ==> Entire process can migrate No way to return data back to source node wo entire process returning

Institute for Visualization and Perception Research 5 © Copyright 1999 Haim Levkowitz Remote evaluation Send request in form of program (not entire process address space) Remote executes + returns results No need to transmit process control data Lack ability to encapsulate more state info into program

Institute for Visualization and Perception Research 6 © Copyright 1999 Haim Levkowitz Mobile objects Extend remote eval Capture more program behavior within mobile object Objects migrate, carrying executable code, data (object specific properties), other objects Mobile agents improved …

Institute for Visualization and Perception Research 7 © Copyright 1999 Haim Levkowitz Mobile agents improved Reduce net traffic for app’s processing large quantities of data Earlier: client/server Ship data to program source Agents: ship program to data Also, autonomy: decide dynamically, where, when to travel

Institute for Visualization and Perception Research 8 © Copyright 1999 Haim Levkowitz Client/server vs. agent computing models ClientServer Network Interaction ClientServer Network Interaction Agent

Institute for Visualization and Perception Research 9 © Copyright 1999 Haim Levkowitz Mobile agents improvements (cont.) Adapt to changes in program state + net environment Asynchrounous interaction User can disconnect from net Store-and-forward mechanism Async + autonom ==> protect mission- critical app’s form unreliable net’s

Institute for Visualization and Perception Research 10 © Copyright 1999 Haim Levkowitz Mobile agent advantages (cont.) Traveling user Connect/disconnect Fault tolerance Security

Institute for Visualization and Perception Research 11 © Copyright 1999 Haim Levkowitz Java as a language for mobile agent dev Concordia Odyssey Voyager

Institute for Visualization and Perception Research 12 © Copyright 1999 Haim Levkowitz Java for mobile agents Multiplatform support “Write once, run anywhere” Ubiquity of JVM ==> Facilitate dissemination

Institute for Visualization and Perception Research 13 © Copyright 1999 Haim Levkowitz Java unique features Object serialization ==> Convert agent + state -->suitable form for net transmission Remote sys reconstruct

Institute for Visualization and Perception Research 14 © Copyright 1999 Haim Levkowitz Java unique features (cont.) Persistent agent state info Serialize agent’s state Write to persistent storage Retrieve state + use to reconstruct agent

Institute for Visualization and Perception Research 15 © Copyright 1999 Haim Levkowitz Java unique features (cont.) Network support Sockets URL comm. Distributed object protocol RMI: Remote method invocation Prog. Access to dist. object simple RMI handled by local proxy

Institute for Visualization and Perception Research 16 © Copyright 1999 Haim Levkowitz Java unique features (cont.) Class loading mechanism ==> Facilitate migration of code + state Dynamically load classes Classpath / net Code subject to security restrictions Fine-grain, configurable security policies Tight integration with Web...

Institute for Visualization and Perception Research 17 © Copyright 1999 Haim Levkowitz Tight integration with Web Applets can launch mobile agents Receive returning agents when done Servlets: function like CGI script May launch + receive mobile agents JNDI: Java Naming & Directory Interface ==> seamless connectivity via unified access to multi naming + directory services

Institute for Visualization and Perception Research 18 © Copyright 1999 Haim Levkowitz Generic mobile agent architecture Security Manager Generic Mobile Agent Server Generic Mobile Agent Server Interagent Communication Manager Application Gateway Directory Manager Agent Reliability Manager Agent Manager Network External Application Generic Mobile Agent Server

Institute for Visualization and Perception Research 19 © Copyright 1999 Haim Levkowitz Generic mobile agent architecture Six major components Agent manager Interagent communications manager Security manager Reliability manager Application gateway Directory manager

Institute for Visualization and Perception Research 20 © Copyright 1999 Haim Levkowitz Agent manager Send agents to remote hosts Receive agents for execution on local host Serialize agent prior to transport Pass serialized form to counterpart on destination Really to reliability manager Ensure reception on other side

Institute for Visualization and Perception Research 21 © Copyright 1999 Haim Levkowitz Agent manager Upon reception Reconstruct Agent + objects ref’d Create execution context

Institute for Visualization and Perception Research 22 © Copyright 1999 Haim Levkowitz Mobile agent system (JVM) Auto invoke security manager Authorize any op’s using sys resources Request agent manager to transport agent to correct location

Institute for Visualization and Perception Research 23 © Copyright 1999 Haim Levkowitz Security manager Protect host + mobile agents against unauthorized code Authenticate received agent Encrypt agents before Transmission Saving to storage Digitally sign agents Exchange certificates

Institute for Visualization and Perception Research 24 © Copyright 1999 Haim Levkowitz Reliability manager Ensure robustness of mobile agent system Shield agents from server / sys crash Guarantee persistence of State associated with agents Mobile agent sys Use transactional queuing to ensure agents reach destination even during sys crashes

Institute for Visualization and Perception Research 25 © Copyright 1999 Haim Levkowitz Interagent communications manager

Institute for Visualization and Perception Research 26 © Copyright 1999 Haim Levkowitz Application gateway

Institute for Visualization and Perception Research 27 © Copyright 1999 Haim Levkowitz Directory manager

Institute for Visualization and Perception Research 28 © Copyright 1999 Haim Levkowitz Find me a ski vacation

Institute for Visualization and Perception Research 29 © Copyright 1999 Haim Levkowitz A killer opp

Institute for Visualization and Perception Research 30 © Copyright 1999 Haim Levkowitz What’s next?