Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.

Slides:



Advertisements
Similar presentations
Understanding Code Mobility
Advertisements

Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Designing Distributed Applications with Mobile Code Paradigms Qinhai Xia 3/5/98.
The road to reliable, autonomous distributed systems
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.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
CS 603 Threads, Processes, and Agents March 18, 2002.
For more Lectures and Notes Visit
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
1 Designing Distributed Applications with Mobile Code Paradigms Antonio Carzaniga Politecnico di Milano Gian Pietro.
Sanzaru Capability-Based Interactions for Web Applications Raluca Sauciuc Shaunak Chatterjee University of California, Berkeley Motivation Limitations.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
+ Java vs. Javascript Jessi Style. + Java Compiled Can stand on its own Written once, run anywhere Two-stage debugging Java is an Object Oriented Programming.
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)
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
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.
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Architecting Web Services Unit – II – PART - III.
Distributed Systems: Concepts and Design Chapter 1 Pages
Architectures of distributed systems Fundamental Models
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
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.
Chapter 1 Computer Systems. Why study Computer Architecture? Examples Web Browsing - how does the browser access pages from a server? How can we create.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Code Migration Russell T. Potee, III. Overview Why Code Migration? Code Migration Models Migration and Handling Resources Heterogeneous Systems Migration.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
ProActive components and legacy code Matthieu MOREL.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
WEB SERVER SOFTWARE FEATURE SETS
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Java – in context Main Features From Sun Microsystems ‘White Paper’
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.
Introduction to Programming 1 1 2Introduction to Java.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
World Wide Web policy.
Architecting Web Services
Architecting Web Services
Inventory of Distributed Computing Concepts and Web services
NASPAC 2.0 Architecture January 27, 2010
Architectures of distributed systems Fundamental Models
Unit V Mobile Middleware.
Architectures of distributed systems Fundamental Models
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
Chapter 6: Architectural Design
Chapter 2: System models
Presentation transcript:

Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing

Problem code mobility –the capability to dynamically change the bindings between code fragments and the location where they are executed

Problem Although code mobility is not a new concept, the field is still immature We lack a framework of well-defined: –Terminology –Methodology

Understanding Code Mobility Kendrick J. Hang April 5, 2000

Agenda Characteristics of mobile code systems Survey of a framework: –Technologies –Design Paradigms –Application Domains Summary Questions

Mobile Code Systems Process Migration –Transfer of an OS process between machines Object Migration –Transfer of objects between address spaces Not enough for large-scale systems

Mobile Code Systems Code mobility exploited on an Internet scale Programming is location aware Mobility is under programmer control

Mobile Code Systems Goal: address a wide range of requirements –Service customization –Dynamic extension of application functionality –Autonomy –Support for disconnected operations

Technologies Programming languages and (runtime) supports that provide mechanisms that enable and support code mobility Used by the application developer

Technologies Distributed System vs. Mobile Code System w.r.t. the Virtual Machine

Technologies Two forms of mobility Strong mobility –Migration of code and execution state of an executing unit (a thread) Weak mobility –Migration of code –Possibly some initialization information

Technologies Mechanisms that support mobility Strong mobility –Migration –Remote cloning Weak mobility –Fetch or ship –Standalone or fragment –Synchronous or asynchronous

Technologies What happens during migration? Data Space Management Resources are bound to execution units by: –Identifier –Value –Type

Technologies Examples of technologies described in Fuggetta, et. al. Java (Sun Microsystems) –Mobility was not the original goal, but it is now –Weak mobility for fetching code (only) –No bindings or data space management

Design Paradigms The architectural styles that the application designer uses in defining the application architecture Architectural style = configuration for system components and their mutual interaction

Design Paradigms Technology does not determine the design paradigm A good programming language does not imply a good program Traditional approaches are not enough

Design Paradigms Concepts –Components (code and resource) are the basic units –Interactions are events between components –Sites host and support execution of components

Design Paradigms Three main design paradigms –Remote evaluation –Code on demand –Mobile agent

Design Paradigms Characteristics of paradigms –Location of components before and after execution of service –Computational component which is responsible for execution –Location where service takes place

Application Domains Classes of applications that share a common goal But first, the benefits…

Application Domains Benefit: S/W Deployment and Maintenance –Upgrading programs over the Internet –Can be automated

Application Domains Benefit: Fault Tolerance –Partial failures and consistency issues –Computational state is encapsulated –Better fault tolerance compared to the client-server model

Application Domains Benefit: Service Customization –Protect the server from change when services need to be changed or customized –Server provides basic operations only –Interface is dynamic

Application Domains One application domain stands out… Electronic Commerce –Evolving Transactions –Customization –Move application to information instead of vice-versa

Application Domains Other Applications –Distributed Information Retrieval –Active Documents (Java applets on the Web) –Advanced Telecom Services –Remote Device Control –Workflow Management

Summary Research in mobile code technologies alone, no formal discipline exists Proposed Conceptual Framework –Applications –Design paradigms –Technologies