Alternatives to Mobile Agents

Slides:



Advertisements
Similar presentations
Understanding Code Mobility
Advertisements

Christian Devalez (Sunday, 19 April 2015) Mobility and Progressive Application Streaming.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Technical Architectures
Servlets and a little bit of Web Services Russell Beale.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Efficiently Distributing Component-Based Applications Across Wide-Area Environments D. Llambiri, A. Totok, V. Karamcheti New York University.
MADE Mobile Agents based system for Distance Evaluation Vikram Jamwal KReSIT, IIT Bombay Guide : Prof. Sridhar Iyer.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
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.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
Chapter 4: Core Web Technologies
Performance of Web Applications Introduction One of the success-critical quality characteristics of Web applications is system performance. What.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Infrastructure for Better Quality Internet Access & Web Publishing without Increasing Bandwidth Prof. Chi Chi Hung School of Computing, National University.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Fundamentals of Database Chapter 7 Database Technologies.
Copyright, 1996 © Dale Carnegie & Associates, Inc. Presented by Hsiuling Hsieh Christine Liu.
Independent Study. Visual LookVisual Look IntroductionIntroduction SRSSRS SDDSDD ImplementationImplementation TestsTests Conclusion and Future PlansConclusion.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
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.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Introduction and Principles Web Server Scripting.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
IPS Infrastructure Technological Overview of Work Done.
Grid Services for Digital Archive Tao-Sheng Chen Academia Sinica Computing Centre
Zoljargal.M  Introduction  Methods, approaches  Specifics of Web architecture  Typical components of architectures.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
CS122B: Projects in Databases and Web Applications Spring 2017
CX Introduction to Web Programming
CS122B: Projects in Databases and Web Applications Winter 2017
Web-based Software Development - An introduction
Software Hardware refers to the physical devices of a computer system.
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Web Concepts Lesson 2 ITBS2203 E-Commerce for IT.
WWW and HTTP King Fahd University of Petroleum & Minerals
N-Tier Architecture.
Introduction and Principles
A Framework for Object-Based Event Composition in Distributed Systems
Introduction to J2EE Architecture
University of Technology
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
Chapter 27 WWW and HTTP.
DISTRIBUTED COMPUTING
CS122B: Projects in Databases and Web Applications Winter 2018
Distributed System Using Java 2 Enterprise Edition (J2EE)
Mobile Agents.
CS122B: Projects in Databases and Web Applications Spring 2018
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
J2EE Lecture 1:Servlet and JSP
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Architectures of distributed systems Fundamental Models
EE 122: Lecture 22 (Overlay Networks)
Internet: Quality of Service Mechanisms at Application Level
Calypso Service Architecture
Web Application Development Using PHP
Presentation transcript:

Alternatives to Mobile Agents An appendix to AFRL talk David Kotz

Other techniques work ... Remote Procedure Calls (RPC) Stored Procedures Java Applets and servlets Load balancing in homogeneous networks Application-specific solutions ( eg. adaptive meshes) Distributed document retrieval Distributed simulation

Call to server procedure RPC and queued RPC RPC Call to server procedure Dataset Client Server Procedure results Dataset Client Server 3 5 4 1 2 Queued calls Queued results Queued RPC No mobile code Client constrained to server’s interface All requests and results over client’s network link No latency or bandwidth reduction, and blocked if link goes down

Stored procedures and REV Dataset Client Server Proc 1. Send procedure code to server 2. Call procedure Dataset Server Client Proc 2. Send results (and maybe a server procedure) 1. Send procedure code and arguments to server - procedure called immediately 3. Send results Serv Proc Client Perfect if accessing one server Difficulties if accessing more than one server Procedures usually can not communicate with each other Procedures usually can not send out their own procedures (e.g., no proxy)

Applets and servlets Applets Servlets Web Pages Server Servlet Browser 2. Receive page and “embedded” applet; execute applet Web Pages Browser Server Applet 1. Request Web page Servlet 1. Send servlet 2. Get results Servlets Same limitations as stored procedures and REV Implementations pay more attention to security than stored procedures and REV

Load balancing MPI, Condor and Legion: Load balancing can be done - statically (for a heterogeneous network); - dynamically through data movement. Much programmer effort required to achieve even limited solutions. Not much security support. Often pre-loaded code or homogeneous network.

Application-specific solutions Example: Modeling of complex mechanical structures Predefined, fixed distributed solution 3. Domain decomposition 2. Grid/mesh generation 4. Visualization 1. Database of physical components “Hardwired” approach….nothing dynamic.

TR without agents ... ... 1. Lot of work. Queued RPC Queued RPC ... Pre-installed application-specific proxy Higher-level database interface 2. Much less work, but now try extending the TR app. Client Code “Queued” REV “Queued” REV ... Client Code Client Code Proxy

… but takes several techniques That is, the research community is developing several different approaches to deal with problems of efficiency, robustness, adaptability and flexibility for distributed computing and information systems. We propose a single technology, mobile agents based on strong code mobility, to solve many problems in a unified framework.

Why not extend other techniques? MPI - dynamic process creation Legion - checkpointing to support process migration Java - process serialization and state capture for persistence (rumor!) Are these all going to end up supporting code mobility? Many different systems are heading in the direction of mobile code. Let’s go there directly!

Big picture: A uniform framework SUMMARY (so far) There are several different strengths of mobile agents. Mobile code helps solve various performance and robustness problems. Idiosyncratic solutions exist in each problem domain. Mobile agents provide a unified framework, a single technology for solving many problems. Let’s go directly to where many different systems are evolving, now.