Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.

Slides:



Advertisements
Similar presentations
Agents & Mobile Agents.
Advertisements

Understanding Code Mobility
Agent agent Outline of Presentation Introduction: Inter-Agent Message Passing ARP: Design and Analysis Generalization: A Generic Framework Conclusion.
Distributed Systems Topics What is a Distributed System?
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Gaia: A Middleware Platform for Active Spaces Summarized by Dongjoo Lee, IDS Lab., Seoul National University.
Designing Distributed Applications with Mobile Code Paradigms Qinhai Xia 3/5/98.
The road to reliable, autonomous distributed systems
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Mobile Agents in High Performance Computing System Presentation by : MADHAN MOHAN NARLAPURAM User Id: mmnarlap.
Management of IP networks and services AIMS‘99 Workshop Heidelberg May, 1999 Dr. Stefan Covaci GMD FOKUS, Berlin Some Ideas on Management of IP Networks.
Terminal Bridge Extension Over Distributed Architecture MSc. Sami Saalasti.
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
Software Engineering and Middleware A Roadmap Author: Wolfgang Emmerich Presented by: Sam Malek.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
1 Designing Distributed Applications with Mobile Code Paradigms Antonio Carzaniga Politecnico di Milano Gian Pietro.
Distributed Systems: Client/Server Computing
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
Host Mobility for IP Networks CSCI 6704 Group Presentation presented by Ye Liang, ChongZhi Wang, XueHai Wang March 13, 2004.
MADE Mobile Agents based system for Distance Evaluation Vikram Jamwal KReSIT, IIT Bombay Guide : Prof. Sridhar Iyer.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
A Survey of Mobile Cloud Computing Application Models
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Cluster Reliability Project ISIS Vanderbilt University.
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
15/06/1999HP OVUA Workshop - Bologna - Italy1 An Integrated Environment for the Management of Network Resources and Services Paolo Bellavista, Antonio.
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.
Architecting Web Services Unit – II – PART - III.
BitTorrent enabled Ad Hoc Group 1  Garvit Singh( )  Nitin Sharma( )  Aashna Goyal( )  Radhika Medury( )
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.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
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.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Using SaaS and Cloud computing For “On Demand” E Learning Services Application to Navigation and Fishing Simulator Author Maha KHEMAJA, Nouha AMMARI, Fayssal.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
1 BRUSSELS - 14 July 2003 Full Security Support in a heterogeneous mobile GRID testbed for wireless extensions to the.
Computer Science Lecture 7, page 1 CS677: Distributed OS Multiprocessor Scheduling Will consider only shared memory multiprocessor Salient features: –One.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Bio-Networking: Biology Inspired Approach for Development of Adaptive Network Applications 21 May 2005Ognen Paunovski Bio-Networking: Biology Inspired.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
A Study of Context-Awareness: Gaia & SOCAM Presented by Dongjoo Lee IDS Lab., Seoul National University Gaia: A Middleware Infrastructure to.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
ProActive components and legacy code Matthieu MOREL.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Mobile agents based implementation of a distance evaluation system Vikram Jamwal Sridhar Iyer School of Information Technology IIT Bombay SAINT’2003.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Fundamentals of Visual Modeling with UML Module 1: Introduction to Object Technology.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
Architecting Web Services
Architecting Web Services
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Cloud Testing Shilpi Chugh.
Architectures of distributed systems Fundamental Models
Quality Assurance for Component-Based Software Development
Presentation transcript:

Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

Theme of this paper Field is still immature Confusion with terminology  “mobile agents” “Enable researchers and practitioners to asses and compare different solutions with respect to a common set of reference concepts and abstractions”

Theme of this paper Presents a framework to understand code mobility 3-dimensions discussed:  Technologies  Design paradigms  Applications

What is code mobility? Code mobility is the capability to dynamically change the bindings between code fragments and the location where they are executed Involves: a. Change in bindings dynamically b. Relocation of code

Code Mobility Network Node ANode B

Why Code Mobility? Limitations and drawbacks with traditional approaches in large-scale distributed settings like the Internet a. Scalability (growing size of network, network partitions) b. Customizability (tailor functionality to specific needs) c. Flexibility (dynamic nature of comm. infrastructure) d. Extensibility (to add new features)

Advent of MCSs MCS: Mobile Code Systems Idea taken from process migration techniques used in distributed operating systems like: a. Locus b. Emerald c. COOL (Chorus)

Innovations of MCSs Code mobility is exploited on Internet-scale Programming is location aware Mobility is under programmer’s control Mobility is not performed just for load balancing - service customization - extensibility - autonomy  fault-tolerance - support for disconnected operations

3 Dimensional classification Application Domains  Applications that share same general role  E-commerce, distributed information retrieval Technologies  Languages and systems that facilitate code mobility Design Paradigms  I dentify specific configuration of components and their interaction Classes of Applications Mechanisms or Technologies Architectural Styles E.g. CS, P2P, etc

Mobile Code Technologies Traditional Systems (e.g. CORBA)

Mobile Code Technologies Mobile Code Systems

Comparison Traditional Systems True Distributed System (TDS) provide network transparency Distributed components are perceived as local MCSs Computational Environments (CE) Underlying structure of the network is made manifest to the users. Provides capability to relocate code dynamically  Execution units (EU)  Resources

Components of CE Execution Units (Threads) Resources (Files, operating system variable)

Classification of Mobility Mechanisms Code and Execution State Mobility  Strong mobility Supported by: migration and remote cloning  Weak mobility Supported by: Code shipping and Code Fetching

Data Space Management Data Space Management Upon migration of an EU to a new CE: The set of bindings to resources accessible by the EU must be rearranged Resources can be bound to an EU through 3 forms of binding:  By identifier (strongest)  By value  By type (weakest)

Bindings, Resources, DS Mgmt

DS Management Mechanisms

Survey of MC Technologies TechnologyAbstraction terminologyMobility Mechanisms AraEU – Agents CE – Place Strong (proactive migration) FacileEU – Threads CE – Nodes communication abstraction: “Channel” Strong and weak mobility JavaJVM – CEWeak mobility (No DS Mgmt) Java AgletsCE – ContextDispatch – code shipping Retract – code fetching M0EU – Messengers CE - Platforms Shipping of stand-alone code only MoleEU – Mole CE - Place Shipping of stand-alone code

ObliqCE – Execution engines EU – Thread Weak mobility – shipping of code Safe-TclNo terminology SumatraCE – Execution engines EU – Java Threads Weak and Strong mobility proactive migration, remote cloning, shipping TACOMAEU – Agents (Unix processes) Code shipping of stand- alone code TelescriptCE – Engines EU – Places and Agents Proactive migration and remote cloning

Design Paradigms Define architectural abstractions and reference structures that may be instantiated into actual software architectures. Architectural Concepts: a. Components (know-how, resource and computational components) b. Interactions (communication between components) c. Sites (host components/location)

Design Paradigms Major design paradigms a. Client/Server (CS) b. Remote Evaluation (REV) c. Code on Demand (COD) d. Mobile Agent (MA)

Mobile Code Paradigms

Benefits of Mobile Code Service Customization Supports last phase of software development  Deployment and maintenance (in distributed systems – to upgrade or add a new feature) Autonomy of application components Fault-tolerance Data management flexibility and protocol encapsulation

Mobile Code Applications Distributed Information Retrieval Active Documents Advanced Telecommunication Services (video conferencing, video on demand) Remote Device Control and Configuration Workflow management and Cooperation Active networks E-Commerce

Conclusions Code mobility is a promising solution for design and implementation of large-scale distributed systems However, field is still immature We need to improve our understanding of the properties and weaknesses of existing design paradigms

Strengths Papers sticks to its theme  Provides a conceptual framework for understanding code mobility Provides a case study to guide software engineers through the design and implementation phases of application development

Weaknesses Lacks motivation! Too many new terminologies introduced in one paper I was not too satisfied with the mobile code application section  The authors are very “hopeful” that code mobility can help these applications  No explained examples