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

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

Programming Paradigms and languages
Robot Sensor Networks. Introduction For the current sensor network the topography and stability of the environment is uncertain and of course time is.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
The road to reliable, autonomous distributed systems
 User Interface - Raeha Sandalwala.  Introduction to UI  Layouts  UI Controls  Menus and ‘Toasts’  Notifications  Other interesting UIs ◦ ListView.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Application Server Lecture Paulo Barroso Kris Carver Todd Kitterman Eric Silva.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Introduction to Remote Method Invocation (RMI)
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.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
G Robert Grimm New York University Fine-grained Mobility (in Emerald)
1 Network Management Active Networks. 2 Network Management.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Communication in Distributed Systems –Part 2
Dynamic Layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit 1999.
M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
1.eCognition Overview. 1 eCognition eCognition is a knowledge utilisation platform based on Active Knowledge Network technology eCognition covers the.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Cluster Reliability Project ISIS Vanderbilt University.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
18/05/2012RCIS 2012 – Valencia, Spain, May 17 th 1 Jérémie Melchior, Jean Vanderdonckt and Peter Van Roy Researcher at LiLab,
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Distributed Component Object Model (DCOM)
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
CSE 425: Object-Oriented Programming I Object-Oriented Programming A design method as well as a programming paradigm –For example, CRC cards, noun-verb.
A Survey on Programming Model Context Toolkit Gaia ETC (of Equator Project) Tentaculus.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Lorenz: Visitor Beans: An Aspect-Oriented Pattern Aspect-oriented pattern: describes a solution to a tangling problem in a particular context.
1 Middleware and future telecom ’platform’ By Lill Kristiansen, ntnu.
A Programming Model and System Support for Disconnected-Aware Applications on Resource-Constrained Devices (FarGo-DA) MSc seminar by Weinsberg Yaron
Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada,
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.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Java Distributed Object System
Java Beans Sagun Dhakhwa.
Introduction to Unified Modeling Language (UML)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Lecture 3 From process-oriented to agent-oriented programming.
Inventory of Distributed Computing Concepts and Web services
CORBA Object-by-Value
Unified Modeling Language
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Chapter 40 Remote Method Invocation
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
A GUI Based Aid for Generation of Code-Frameworks of TMOs
Chapter 46 Remote Method Invocation
WebServices Using JAX-RPC
Chapter 46 Remote Method Invocation
Enterprise Java Beans.
11.1 Applets & graphics.
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

Overview  Motivation  FarGo  Programming Model  Layout Programming  Implementation  Related Work

Motivation  Large deployment space  Changing nature of environments  Static approaches for the layout  Dynamic approaches to defer decisions till runtime  Challenge to design a model that provides a dynamic layout which has a good mix of both approaches

FarGo  Extension of Java  Provides extensive dynamic layout capability  Monitoring Service  Separation between the application logic and the application layout

Programming Model  Complets Basic building blocks(modules) Relocation Collection of objects (one such called anchor)  Complet References Connect complets Same complet reference can be local or remote  Anchor It’s interface is the interface of the complet

Programming Model  Complet Closure Defined by the reachability graph of objects and references starting from the anchor except complet references  Core objects Support relocation

Complet References  Link() Default complet reference from  to with no constraints on co-location or relocation  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 has been performed

Complet References  Pull () This reference used to ensures co-location between complets  Co-location: and are co-located  Re-location: If  relocates,  moves to the locality of  can be referenced by at most one Pull reference Used when the two complets need to interact frequently they cannot be programmed inside a single complet

Complet References  Duplicate () Similar to Pull Co-location and re-location with a copy of   Co-location: and are co-located  Re-location: If  relocates, a copy of  moves to the locality of  Used when target complet can be easily replicated without violating semantics of the application This speeds up performance and increase reliability by reducing network messages

Complet References  Stamp () Similar to duplicate locates a local instance of 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 Facilitates a constant connection from a mobile complet to a non-mobile complet

Complet References  Bi-directional Pull () Most powerful but expensive Similar to Pull but the target can pull the souce as well  Co-location: and are co-located  Re-location: If  relocates,  moves to the locality of and vice versa

Layout Programming  Layout API Enables embedding of layout algorithms within application Provides means to register events and perform measurements The API is based on a simple distributed extension of standard Java event model  High Level Scripting Language Scripts written in an Event-Action style on event [at core] do actions eg. completArrival(complet, sourceCore)  Graphical tool for Layout Management Visualizes the state of a FarGo application Used to control and manipulate running applications

Implementation

Strengths  Separation between the application logic and the application layout  Support dynamic relocation of distributed objects not supported in distributed computing environments like CORBA, DCOM or RMI  Above mentioned environments provide movement primitives and leave the rest to the programmer. Fargo uses references that occupy relocation semantics  Monitoring information is provided by FarGo  Flexible and dynamic component relocation

Weaknesses  No deletion of complets  Difficult to copy a complet to another core example: if we would like to have the same instance of a complet at 2 different cores we need to create a dummy complet with duplicate connection

QUESTIONS ???