DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks.

Slides:



Advertisements
Similar presentations
Information Society Technologies programme 1 IST Programme - 8th Call Area IV.2 : Computing Communications and Networks Area.
Advertisements

Understanding Code Mobility
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
The road to reliable, autonomous distributed systems
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
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.
CSC-8530: Distributed Systems Christopher Salembier 28-Oct-2009.
490dp Synchronous vs. Asynchronous Invocation Robert Grimm.
Seyed Mohammad Ghaffarian ( ) Computer Engineering Department Amirkabir University of Technology Fall 2010.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Review For Midterm.
DOLCLAN Middleware Support for Peer-to-Peer Distributed Shared Objects Jakob E. Bardram and Martin Mogensen University of Aarhus, Denmark [Center for Pervasive.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
ABC - Ad-hoc collaboration - 24/03/ ABC Ad-hoc collaboration.
.NET Mobile Application Development Remote Procedure Call.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Client-Server Computing in Mobile Environments
Resource Fabrics: The Next Level of Grids and Clouds Lei Shi.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
Rüdiger Kapitza AspectIX Research Group University Erlangen-Nürnberg EDAS: Providing an Environment for Decentralized Adaptive Services.
1 G52IWS: Distributed Computing Chris Greenhalgh.
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
Information Management NTU Interprocess Communication and Middleware.
Crossing The Line: Distributed Computing Across Network and Filesystem Boundaries.
INMIDIO: an INteroperable MIddleware for service Discovery and service InteractiOn Daniele Sacchetti
Architectures of distributed systems Fundamental Models
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
EWHA Univ. SE Lab. DW Lecture1 Hive: Distributed Agents for Networking Things IEEE 2000 Nelson Minar, Matthew Gray, Oliver Roup, Raffi Krikorian and Pattie.
7/26/ Design and Implementation of a Simple Totally-Ordered Reliable Multicast Protocol in Java.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Workshop on Future Learning Landscapes: Towards the Convergence of Pervasive and Contextual computing, Global Social Media and Semantic Web in Technology.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Semantic Gadgets Pervasive Computing Meets the Semantic Web Reza Zakeri Sharif University of Technology.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Developing an Effective Wireless Middleware Strategy.
A Study of Context-Awareness: Gaia & SOCAM Presented by Dongjoo Lee IDS Lab., Seoul National University Gaia: A Middleware Infrastructure to.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
Jini Architectural Overview Li Ping
Agent Based Transaction System CS790: Dr. Bruce Land Sanish Mondkar Sandeep Chakravarty.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
.NET Mobile Application Development XML Web Services.
Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Cross-functional team who negotiates and implements changes in the FRAG Framework Responsible for finding common solutions that should be added to the.
Last Class: Introduction
Framework for Realtime Ad-hoc Games
Module 8: Networking Services
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Inventory of Distributed Computing Concepts and Web services
Tools for Composing and Deploying Grid Middleware Web Services
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
New Tools In Education Minjun Wang
Presentation transcript:

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks 1 DOLCLAN Distributed Objects in Loose Coupled Local Area Networks

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks2 Agenda 1: Motivation Concept 2: Language support System design 3: Evaluation StatusConclusion 4:Questions and discussion

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks3 Motivation  We are moving from single peer applications to multi peer applications  Pervasive applications involve information sharing and collaboration  Pervasive environments are transient due to network connections and device mobility  Existing technologies are ill suited to meet this challenge  A more suitable method would demand no existing infrastructure and automatically adapt to changes in the environment

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks4 Motivation - distributed systems Fixed distributed system Mobile DeviceFixedMobile Network connection PermanentSporadic Execution context StaticDynamic Mobile Computing Middleware, Mascolo et al., 2002

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks5 Motivation - related work RMI / RPC M-3 Network Objects COAST / Globe / CORE / etc. one.world Device [fixed / mobile] Fixed and mobile Network connection [permanent / sporadic] Permanent Permanent and sporadic Permanent Execution context [static / dynamic] StaticStaticDynamic

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks6 Design requirements  Easier is better Execution context is dynamic Execution context is dynamic Help the application programmer and the user Help the application programmer and the user  Disconnectedness is not an error Network connections are sporadic Network connections are sporadic  Encourage ad hoc composition Devices are mobile Devices are mobile  Recognize sharing as default Unforeseen sessions emerge Unforeseen sessions emerge

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks7 Concept

8 Concept

9 Hello World

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks10 Language support  Two modifiers distributed ephemeral distributed ephemeral distributed accountable distributed accountable  One super class DistributedObject DistributedObject

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks11 Hello World  One distributed object  One distributed variable  One input loop  One event handler  15 lines of code

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks12 Programming pattern

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks13 Language support - lifecycle events  instanceCreatedEvent  instanceDeletedEvent  stateChangedEvent

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks14 Language support - resolving conflicts  Disconnected continuous work => Divergent versions will emerge  We need an intelligent way to synchronize upon reconnection  Override the merge function in the DistributedObject class

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks15 Language support - custom binding  Sometimes the default naming scheme does not capture the semantics of the application  Override the getDistributedOID function in the DistributedObject class

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks16 EaterGame

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks17 System design - peer architecture

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks18 System design - communication channels  Communication One control channelOne control channel N*2 peer group channelsN*2 peer group channels Dynamic unicast connectionsDynamic unicast connections  Control channel Unreliable multicastUnreliable multicast HELLO / ANNOUNCE_NETHELLO / ANNOUNCE_NET  Peer group channels Un- and reliable multicastUn- and reliable multicast STATE_EVENTSTATE_EVENT CREATE / DELETE_OBJECTCREATE / DELETE_OBJECT  Unicast connections Reliable unicastReliable unicast HELLO_ACKHELLO_ACK JOIN / JOIN_ACKJOIN / JOIN_ACK

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks19 System design - synchronous state sharing

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks20 Evaluation  Completeness Can useful applications be build?Can useful applications be build?  Complexity How hard is it to write code using the framework?How hard is it to write code using the framework?  Performance Is the system performance acceptable?Is the system performance acceptable?  (Utility) Have we enabled others to be successful?Have we enabled others to be successful? System support for pervasive applications, Grimm et al., 2004

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks21 Status RMI / RPC M-3 Network Objects COAST / Globe / CORE / etc. one.worldDOLCLANDistributedObject Type of device Fixed and mobile Fixed (and mobile) Type of network connection Permanent Permanent or sporadic PermanentSporadic Type of execution context StaticStaticDynamicDynamic Easier is better  Service discovery  Language support NoYesNoSomeYesNoYesYes Disconnectedness is not an error  Disconnected continuous work  An intelligent synchronization upon reconnection NoNoSomeNoNoNoYesYes Encourage ad hoc composition  XML & open protocols SomeSomeYesYes Recognize sharing as default  Unforeseen sessions supported YesYesYesYes

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks22 Room for improvements  Language support.delete() (reference counting).delete() (reference counting).join_network() (really annoying…).join_network() (really annoying…) Meta dataMeta data  System architecture Multicast (limits devices and scope)Multicast (limits devices and scope) Physical scope (extending beyond LAN)Physical scope (extending beyond LAN) Application scope (extending beyond application)Application scope (extending beyond application)  Evaluation Utility (what are they really capable of?)Utility (what are they really capable of?)

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks23 Conclusion  A novel approach for creating distributed pervasive applications  Language support Distributed objects and variablesDistributed objects and variables Domain customizableDomain customizable  Supporting infrastructure Pure peer to peerPure peer to peer Full state replicationFull state replication  Implemented and evaluated Overall good resultsOverall good results Still room for improvementsStill room for improvements

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks24 Questions and discussion ?

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks25 Appendix

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks26 Modula-3 Network Objects  Uses inheritance  Concrete objects only resides on the serving host and can not be moved  Surrogates (proxies) points to concrete objects  Arguments and results are automatically marshalled (pickled)  Wirerep’s (RORs) can be parsed over the network  Dirty and clean calls provide network-wide reference counting for GC CS S S 1: Invocation 2: RPC 3: RPC 4: Result

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks27 Propagating an update

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks28 Propagating an update

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks29 Creating an object remote

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks30.join_network()  Current  Blocking  Non-blocking

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks31 Protocol  Syntax  Example  State representation example

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks32 Default naming scheme

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks33 Graphs - join time  Number of objects  Number of peers

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks34 Graphs - message RTT  Using PGM  Using UDP

DOLCLAN - Distributed Objects in Loose Coupled Local Area Networks35 Graphs - performance penalty and DGC  Performance penalty  Distributed GC