Www.objectweb.org Dream A Fractal-based communication framework ObjectWeb Architecture Meeting July, 8th 2004 M. Leclercq, V. Quéma, J.-B. Stefani Sardes.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Mobile Agents Mouse House Creative Technologies Mike OBrien.
A component- and message-based architectural style for GUI software
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
9.5 Software Architecture
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
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.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
An Architectural Approach to Robotics Software Design, Implementation, and Deployment Brian D’Souza Joshua Garcia Ivo Krka Natachart Laotheppitak Hossein.
Communication in Distributed Systems –Part 2
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
Intro to dot Net Dr. John Abraham UTPA – Fall 09 CSCI 3327.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Inter-process Communication and Coordination Chaitanya Sambhara CSC 8320 Advanced Operating Systems.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Architecting Web Services Unit – II – PART - III.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
9 September 2008CIS 340 # 1 Topics reviewTo review the communication needs to support the architectures variety of approachesTo examine the variety of.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
1 UNIT –II Architecting Web Service. 2 Why SOA? – business point of view  Information Technology (IT) workers face many challenges, including: Limited.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Middleware Services. Functions of Middleware Encapsulation Protection Concurrent processing Communication Scheduling.
CSC480 Software Engineering Lecture 10 September 25, 2002.
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.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
SEDA An architecture for Well-Conditioned, scalable Internet Services Matt Welsh, David Culler, and Eric Brewer University of California, Berkeley Symposium.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Designing a Middleware Server for Abstract Database Connection.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
TNA Mobility II By Henry N Jerez. TNA Principles Persistent Identification of all:  Network Components  Services  Users Functionality Abstraction 
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
SPL/2010 Reactor Design Pattern 1. SPL/2010 Overview ● blocking sockets - impact on server scalability. ● non-blocking IO in Java - java.niopackage ●
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
© ScalAgent Distributed Technologies – October Objectweb ESB Initiative ObjectWeb ESB Initiative ScalAgent’s vision and proposal Roland.
GridOS: Operating System Services for Grid Architectures
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Architecting Web Services
The GEMBus Architecture and Core Components
Architecting Web Services
Presented by Jinpeng Zhou
Replication Middleware for Cloud Based Storage Service
Message Queuing.
Design Yaodong Bi.
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Dream A Fractal-based communication framework ObjectWeb Architecture Meeting July, 8th 2004 M. Leclercq, V. Quéma, J.-B. Stefani Sardes Project, INRIA-LSR-IMAG

Architecture Meeting - D2 - 07/08/2004 Outline è Motivations è Dream è Experiments è Future work

Architecture Meeting - D3 - 07/08/2004 Motivations è Existing communication middleware (CM)  Provide a fixed communication model RPC (CORBA, RMI, SOAP, …) JMS (JORAM, WebSphere MQ, iBus, …) Ad-Hoc (BEA MessageQ, Gryphon, SIENA, …)  But… share a lot of architectural components  Provide several non-functional properties  Are not extensively (re)configurable Fixed monolithic architecture with few parameters to configure  The application developer is constrained to fixed abstractions

Architecture Meeting - D4 - 07/08/2004 What do we need? è (re)configurable CMs  Functionally Build various communication paradigms –RPC, Message passing, event/reaction, publish/subscribe  Non functionally Provide various non-functional properties –Security, transactions, persistency, ordering, …  Architecturally Adapt to various kind of execution environments –PC, PDA, cell phones, …

Architecture Meeting - D5 - 07/08/2004 What is Dream? è A framework for building CMs  Core Abstractions and tools for resource management –Messages –Activities  ADL for the configuration and deployment of CMs  A component library Components commonly found in CMs è Used to build several personalities  JMS, Probabilistic broadcast, Internet services, … è Integrated in LeWYS

Architecture Meeting - D6 - 07/08/2004 Outline è Motivations è Dream  Core  ADL  Component library è Experiments è Future work

Architecture Meeting - D7 - 07/08/2004 Dream core è Define abstractions and tools to manage resources  Messages  Activities è 105 classes (12054 lines) è dream-core.jar = 113k

Architecture Meeting - D8 - 07/08/2004 Messages è Messages are fractal composites encapsulating  Chunks Unit of data allocation Implement a Fractal server interface  Sub messages è Two interfaces  Message Methods to retrieve chunks and sub messages  ExtensibleMessage extends Message Methods to add/remove chunks and sub messages

Architecture Meeting - D9 - 07/08/2004 Message managers è Shared components that manage messages and chunks  Implement the MessageManager interface  Methods to create, delete, duplicate chunks and messages è Pool messages and chunks for efficiency è Generic versus specific implementations è Future work: dynamic generation of messages using ASM

Architecture Meeting - D /08/2004 Inputs/outputs è Fractal interfaces that allow message exchanges between components push(message, ctxt) ; void push(Message m, Map ctxt){ // Processing of message m } Push connection Message m = pull(ctxt); // Processing of // message m Message pull (Map ctxt){ // Returns a message } Pull connection Component A Component B Input Output Principle

Architecture Meeting - D /08/2004 Activities è Components can be active or passive è Active components define tasks to be executed è For a task to be executed, it must be registered to one activity manager component

Architecture Meeting - D /08/2004 Activity managers è Shared components that encapsulates tasks and schedulers Activity manager Task (thread) FIFO Scheduler Task A1Task A2Task B Component A Third party Component B taskManager schedulerManager taskController Task (thread) schedule execute register(A1 )

Architecture Meeting - D /08/2004 Schedulers and tasks è Schedulers are responsible for mapping higher level tasks onto lower-level tasks  Schedule server interface  Execute client interface  Implement a scheduling policy FIFO, round-robin, with priority,... è Tasks  Execute server interface  Schedule client interface  Three kinds of tasks Higher-level tasks = applicative tasks Lowest-level tasks = threads ( Execute = Runnable ) Middle-level tasks = allow inter-schedulers scheduling è Note: shares a lot of similarities with P. Merle’s orchestration framework… should be merged soon !

Architecture Meeting - D /08/2004 Outline è Motivations è Dream  Core  ADL  Component library è Experiments è Future work

Architecture Meeting - D /08/2004 ADL è Use Fractal ADL  All this work is not Dream specific è Added modules  Description of legacy components  Class loading management (uses OSCAR’s module loader) è Future work  Extend (re)configuration capabilities  Support for distributed asynchronous deployment

Architecture Meeting - D /08/2004 Outline è Motivations è Dream  Core  ADL  Component library è Experiments è Future work

Architecture Meeting - D /08/2004 Component library (1) è Components commonly found in CMs  Fine grain components Ease reuse Improve configurability è 76 classes (9025 lines) è dream-lib.jar = 116k

Architecture Meeting - D /08/2004 Component library (2) è Message queue  Ordering (FIFO, causal, …)  Behavior in the different states (empty, full) è Router  Routing policy (round-robin, chunk name, …) è Aggregator  Aggregate messages received on the input(s)  Deliver a message on its output è Pump  Periodically pull a message on its input and then push it è Channel  Allow message exchanges between different address spaces (TCP socket, …) è Protocol components, Transformers, Filters …

Architecture Meeting - D /08/2004 Outline è Motivations è Dream è Experiments è Future work

Architecture Meeting - D /08/2004 Experiments è Goals  Check that Various personalities can be built There is a gain in configurability Performances for functionally equivalent CMs are comparable Performances can be better when CMs are adequately configured è Experiments  Joram, an open-source implementation of the JMS API  Lightweight Probabilistic Broadcast (LPBCast)  Staged Event-Driven Architecture (SEDA)

Architecture Meeting - D /08/2004 Joram

Architecture Meeting - D /08/2004 Performances (1) è Compare performance of the same application running on Joram agent server and its Dream based implementation  Four Agent servers  Each server hosts an agent  Agents are organized in a virtual ring  A message is forwarded by each agent around the ring  Measure Number of rounds made by the message per second Memory footprint

Architecture Meeting - D /08/2004 Performances (2) Nb of Rounds / secMemory footprint (KB) 0 kB1 kB Joram x 1447 Dream (non-reconf) x 1580 Dream (reconf) x 1587 è Dream non-reconf  Optimized binding Interface object bypassed  No lifecycle interceptor Non stoppable application è Julia has no execution cost and low memory cost

Architecture Meeting - D /08/2004 Configurability assessment (1) è Allow changing non functional properties  Causal ordering  Atomic reaction è Allow changing the architecture è Allow changing the concurrency model è Allow building an architecture for mobile devices

Architecture Meeting - D /08/2004 Configurability assessment (2) è An Agent Server for mobile devices Router Atomic Reactor Agent Factory Agent Repository MessageToNotif NotifToMessage TCPChannelIn (Pull) TCPChannelOut (Push) Repository AtomicityProtocol Engine ChannelOut (Pull) TCPChannelI n (Push) Conduit Network (details not shown) RemoteRepresentative Towards other agent servers Mobile deviceProxy

Architecture Meeting - D /08/2004 SEDA (Staged Event-Driven Architecture) è UC Berkeley project (SOSP 2001, USITS 2003) è Dedicated to the construction of highly concurrent Internet services è Service = network of event-driven stages è Stage  Event queue (incoming events)  Event handler  Thread pool

Architecture Meeting - D /08/2004 SEDA architecture Event Handler Thread Pool Controller Event Queue Outgoing Events

Architecture Meeting - D /08/2004 SEDA-Dream architecture

Architecture Meeting - D /08/2004 Configurability assessment è Event handlers have direct control over threads  Allows avoiding the use of locks, … è Activity managers can be shared between several stages  Common scheduling policy for accessing shared state è Every architectural element is a component  Reconfiguration  Ordered queues è Allows changing the concurrency model

Architecture Meeting - D /08/2004 Outline è Motivations è Dream è Experiments è Future work

Architecture Meeting - D /08/2004 Future work è Improving Dream  Persistency, transactions  Improving resource management è Integrating Dream with other projects (CLIF, LeWYS)  Binding factory for Julia è Building other personalities  Synchronous middleware (requires Jonathan concepts)  Group communication library (with JGroups as a basis)  Implementing various publish/subscribe middleware

Architecture Meeting - D /08/2004 Questions?