Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Database Architectures and the Web
Programming Paradigms and languages
Database Systems: Design, Implementation, and Management Tenth Edition
Introduction to Corporate Planning. Corporate planning – MDAs ‘fit for purpose’ Corporate planning is a way of helping MDAs ensure.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
The road to reliable, autonomous distributed systems
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Technical Architectures
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
Program and deploy your SN in minutes  Program: Single System Image  “Write Once, Run… Wherever”  Each program runs on an SN “slice” i.e., a Virtual.
ATSN 2009 Towards an Extensible Agent-based Middleware for Sensor Networks and RFID Systems Dirk Bade University of Hamburg, Germany.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Case Study: The E1 Distributed Operating System Chris Krentz 3/20/2007.
Dynamic layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Executive Overview. PLEASE READ (hidden slide) To deliver this presentation effectively, you need to be familiar with Windows Server 2008 R2 management.
Technical Overview. PLEASE READ (hidden slide) To deliver this presentation effectively, you need to be familiar with Windows Server 2008 R2 management.
Domain-Specific Software Engineering Alex Adamec.
Introduction to Databases and Database Languages
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
SOA, BPM, BPEL, jBPM.
“Behind the Scenes” of the Enterprise Development Reference Architecture (EDRA) Jonathan Wanagel Microsoft patterns & practices
JavaScript and The Document Object Model MMIS 656 Web Design Technologies Acknowledgements: 1.Notes from David Shrader, NSU GSCIS 2.Some material adapted.
MVC pattern and implementation in java
Free Mini Course: Applying SysML with MagicDraw
KARMA with ProActive Parallel Suite 12/01/2009 Air France, Sophia Antipolis Solutions and Services for Accelerating your Applications.
What is Enterprise Architecture?
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
CSC271 Database Systems Lecture # 4.
Database Systems: Design, Implementation, and Management Ninth Edition
Cluster Reliability Project ISIS Vanderbilt University.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Relational Database. Database Management System (DBMS)
Prologue A: Hola! Want to know about ‘ConMan’, the new interactive tool?? B: Thanks, I had enough of this already. I came across enough cool ones in Dr.
1 Mobility Support by the Common API for Transparent Hybrid Multicast draft-irtf-samrg-common-api-03 Project Matthias Wählisch,
CPSC 871 John D. McGregor Module 4 Session 1 Architecture Analysis/Design.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Replica Management Kelly Clynes. Agenda Grid Computing Globus Toolkit What is Replica Management Replica Management in Globus Replica Management Catalog.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
A Programming Model and System Support for Disconnected-Aware Applications on Resource-Constrained Devices (FarGo-DA) MSc seminar by Weinsberg Yaron
Orion Contextbroker PROF. DR. SERGIO TAKEO KOFUJI PROF. MS. FÁBIO H. CABRINI PSI – 5120 – TÓPICOS EM COMPUTAÇÃO EM NUVEM
1 © 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
System Design and Modeling
Chapter 18 MobileApp Design
GSAF Grid Storage Access Framework
Silverlight Technology
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Database Management Systems
The Anatomy and The Physiology of the Grid
Enterprise Java Beans.
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
EKSE: A Command Line Interface for EGS-CC based Systems
Presentation transcript:

Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999

Overview Motivation FarGo Programming model TODO Application Layout Programming in FarGo Implementation Strengths, weaknesses and relevance to embedded systems References

Motivation Growing adoption of large scale networking infrastructure Large deployment space Constantly changing environments Need for scalability

What do we need? Distributed programming model that provides a dynamic layout capability without compromising on explicit programmability of the layout and yet retains as much as the local programming language.

FarGo Extension of Java Separation between programming application logic and programming application layout. Provides extensive dynamic layout capability Programming model to specify co-location relationships Monitoring service

Programming Model Complets  Basic building block  Collection of local objects  Minimal unit of relocation Complet references  Connection between complets  Set of complet references define relationships between complets  Controls layout of applications Core objects  Make up the light runtime infrastructure  Provide system support

Programming Model (2)… Anchor  Object whose interface is the interface of the complet Complet Closure  Defined by the reachability graph of objects and references starting from the anchor except complet references

Semantics of intra and inter complet references Deals with relocatability and cross address-space operation Within a complet  All objects -> by local reference Across complets  Regular objects -> by value  Anchor objects -> by complet reference

Complet reference types Link(  )  Basic complet reference from  to  with no constraints on co/re-location semantics Co-location:  and  may or may not be co-located Re-location: relocation of  does not affect the location of  and vice versa  Used when no layout programming is used

Complet reference types Pull(  )  Ensures co and re-location between complet Co-location:  and  are co-located Re-location: If  relocates,  moves to the locality of    can be referenced by at most one Pull reference  It is transitive  Useful when the two complets need to interact frequently and/or require heavy data-transfer on each interaction yet they cannot be programmed inside a single complet

Complet reference types Duplicate(  )  Ensures co and re-location between complet with a copy of  Co-location:  and  are co-located Re-location: If  relocates, a copy of  moves to the locality of   Useful when target complet can be easily replicated without violating logical semantics of the application  Replication can speed up performance and increase reliability

Complet reference types Stamp (  )  Ensures co-location between complet by using a local instance of target complet type Co-location:  and some instance of  ’s type  are co- located Re-location: If  relocates, an instance of  ’s type  is located in  ’s new locality and gets attached to it  Instance of  ’s type is free to move regardless of   Used for facilitating a constant connection from a mobile complet to a non-mobile complet

Complet reference types Bi-directional Pull (  )  Ensures co-location between complet Co-location:  and  are co-located Re-location: If  relocates,  moves to the locality of  and vice versa  Most powerful but expensive relocation reference  Effectively defines group re-location semantics  Requires a hidden back-reference from target to each of its sources

TODO Application A multi-user tool for management of a project’s to do list

Monitoring facility in FarGo Monitor measures performance and resource consumption Notifies application upon occurrence of events This service (provided by core) can be used through – Layout (Monitoring) API High-level scripting language

Layout Programming in FarGo The three layers : Layout API High-level Scripting language Graphical tool for Layout Management

Layout API (1) Application can ask monitor to perform measurements Provides means to register for events Simple distributed extension of standard Java event model

Layout API (2) Provides for means to interact with core and its services. Movement of Complets Manipulation of Relocators Interaction with Naming service Interaction with Monitor service

High-level Scripting language For (dynamically) embedding relocation scripts to the application Scripts are written in event-action style On event [at core] do actions E.g. completArrival(complet, sourceCore)

High-level Scripting Language (2)

FarGo Graphical Monitor Visualizes state of FarGo application used by an administrator to view and manipulate the layout of applications using easy point-and- click operations. used by an administrator

Implementation

How does FarGo differ from Aglets, Voyager? Aglets do not support tracking Aglets do not communicate using simple Java invocations Relocation policy tightly integrated with application logic Fargo has internal monitoring and profiling service

People and Roles Dr. Issy Ben-Shaul - Head of research Ophir Holder (Ph.D. Candidate) - Chief architect and project leader - Runtime environment - FarGo Shell - Examples and documentation Hovav Gazit (M.Sc. Student) - Monitoring and profiling service - FarGo Compiler v0.1 - Significant contribution to the overall design. Boris Lavva (Research Staff) - FarGo demonstration for ICSE'99 - FarGo's website design and maintenance - Extensive technical help

Related links The FarGo Toolkit is available from this website: Also includes FarGo toolkit documentation and FarGo programming guide General mobility bibliography bib/index.html

Example Applications PingPong Boomerang Reporter Informer TODO

Strengths Weaknesses Relevance to Embedded systems