QoS for Distributed Objects by Generating Tailored Protocols
|
|
- Marlene Simpson
- 5 years ago
- Views:
Transcription
1 QoS for Distributed Objects by Generating Tailored Protocols Matthias Jung, Ernst W. Biersack Institut Eurécom, 2229 Route des Crêtes, Sophia Antipolis, France In ECOOP 00 Workshop on QoS for Distributed Object Systems, Cannes, France Abstract This paper presents a way to introduce quality of service management in distributed object systems based on the idea of tailorable and configurable protocol components. 1 Introduction Distributed object systems (DOS) 1 (like DCOM [4], CORBA [9], or RMI [10]) allow to simplify the implementation of distributed systems by hiding distribution concerns and allowing the programmer to concentrate on the application logic. However, todays DOS provide almost no support to accommodate the quality of service requirements of distributed applications. Developers thus either must accept service mismatches or make large efforts to integrate possibly complex communications related functions into the application, which clearly contradicts the objectives of middle-ware systems. Integrating QoS management into DOS is a challenging research topic that concerns different components of the system. One research direction proposes to integrate QoS management into the middle-ware system by modifying and extending it. TAO [8] extends a CORBA Object Request 1 Also refered to as middle-ware systems
2 Broker by real-time facilities. The Object Management Group (OMG) published specifications for real-time and fault-tolerant services. Other examples for specialized middleware systems are Electra [5], Eternal [6], or DOORS [11]. A second approach proposes to extend the programming model to make QoS concerns explicit. Examples for this approach are QualityObjects (QuO) [12], MAQS [1], and the Squirrel project [3]. Another approach proposed by [7] introduces interceptor layers between the middleware infrastructure and the application to avoid changing neither the middleware system nor the application logic. We believe that one reason for the inflexibility of common DOSs is due to the fact that distributed object services are generally built on top of TCP. The stream based nature of TCP does not match very well the request/response character of distributed object calls and does not provide any QoS differentiation. Consider a distributed game in the Internet: multicast, real-time services, and security functions are required in one distributed application, even expected from a single distributed object. None of these services are supported by TCP and are impossible to be realized efficiently on top of TCP. Building a distributed object system on top of a light-weight protocol like UDP, which performs only de-multiplexing and guarantees that a delivered packet is not corrupted, gives more flexibility in applying QoS. However, building own protocols requires a lot of efforts in design and implementation, especially when reliability is required. If it would be possible to generate protocols dynamically in dependence of interface specifications of distributed objects and allow to integrate them with specialized protocols (each of which is responsible for a certain QoS criterion), the efforts of integrating QoS into the protocols of distributed objects can be minimized. 2 Proposal Our work comprises two parts: the first part tackles structuring of protocol software and responds to the question how protocol software can be structured and organized to reduce crosstalk of protocol streams of different objects assure different QoS for different methods of distributed objects allow easy modification, extension, and tailoring of protocol software We identified a system of architectural design patterns [2] that follow a vertical structure to overcome the problems of simply layering protocol ser- 2
3 vices. We propose to vertically slice protocols into data paths, divide data paths into a chain of protocol function objects, encapsulate message headers in objects, and decouple function and header objects. The architecture has been implemented in a protocol environment prototype in Java. The fine granularity of the protocol function objects and the highly reflective character of the framework allow to easily combine and configure new protocols out of re-usable components. Furthermore, the vertical structure allows to extend and remove new services without interfering with other services. This is the key requirement to allow for different QoS in a single protocol session. Interface Proxy Compiler Server- Proxy Client- Proxy Interface Protocol Generator client representation protocol server representation protocol service protocols Protocol Editor tailored object protocols representation protocols Figure 1: Generation tools The second part consists of a set of tools to generate and integrate protocols and proxies. The protocol generator takes a Java interface as input, maps methods to data paths, constructs message formats in dependence of parameters, and produces representation protocol code. A representation 3
4 Remotely Accessible Object Server- Proxy Client- Proxy tailored object protocols UDP UDP Figure 2: System Integration protocol performs parameter conversion and maps communication data to methods. Example code for a client protocol based on an interface that defines the method int add(int,int) is depicted in Figure 3. The protocol editor allows to integrate the generated object specific representation protocol code with pre-implemented service protocol code such that different methods can be associated with different service characteristics. A service protocol may be a real-time protocol, it may manage multicast groups, or perform admission control; service protocols are thus the core of QoS management. Some kind of specification is needed for each method to express how representation and service protocols should be combined (e.g. in form of an IDL extension for QoS). In our prototype implementation of the protocol editor, the server side programmer does this by hand, i.e. he is free to choose any existing service protocol he wants and combine it accordingly with the generated representation protocol. The proxy compiler generates server and client proxies for the Java interface and links them with the generated protocol code. The server proxy reads requests from the generated protocol, performs method calls to its remotely accessible object, and sends the responses via the generated protocol. The client proxy represents the server object in the client application. Figure 5 and Figure 4 give an impression how the generated code looks like. The 4
5 tools used are illustrated in Figure 1. Building a distributed application comprises the following steps: 1. the application developer writes a Java interface, which declares all methods that a distributed object is supposed to implement 2. the application developer implements a class considered to be remotely accessible (based on the defined interface) 3. the protocol-generator uses the interface as input to produce code that constructs a representation protocol 4. the proxy generator tool generates code that serves as proxy between application (server or client) and the protocol code 5. the application developer uses the protocol-editor tool to combine the produced representation protocol with protocol components required by the application (e.g. real-time, multicast-management, admission control) 6. by using the generated proxies, a distributed object can be easily and transparently be integrated in the client application The interaction of the components at runtime is depicted in Figure 2. 3 Benefits Our approach promotes an open, extensible system that allows to integrate any QoS criteria at any time by just integrating a new service protocol that supports it. Tackling QoS integration at the lowest level promises to be the most efficient approach, since QoS are managed close to where they originate. It also fits well into existing middle-ware systems since it avoids complexity and modification on higher levels. Transparency for the application is also guaranteed; compared to Java s RMI things are getting even easier since distributed objects are not obliged to extend special classes. Acknowledgments This work is sponsered by Siemens ZT IK2, Munich. 5
6 References [1] C. Becker and K. Geihs, MAQS - Management for Adaptive QoSenabled Services, InIEEE Workshop on Middleware for Distributed Real-Time Systems and Service, San Francisco, USA, [2] M. Jung and E. Biersack, Order-Worker-Entry: A System of Patterns to Structure Communication Protocol Software, In Proc. of Euro- PLoP, Bad Irsee, Germany, July [3] R. Koster and T. Kramp, Structuring QoS-Supporting Services with Smart Proxies, InIFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, Hudson River Valley, USA, April [4] D. Krieger and R. M. Adler, The Emergence of Distributed Component Platforms, IEEE Computer, pp , March [5] S. Maffeis, Adding Group Communication and Fault Tolerance to CORBA, InProceedings of USENIX Conference on OO Technologies, Monterey, CA, June [6] L. Moser, P. Melliar-Smith, P. Narasimham, L. Tewksbury, and V. Kalogeraki, The Eternal System: An Architecture for Enterprise Applications,In3rd International Enterprise Distributed Object Computing Conference (EDOC), University of Mannheim, Germany, sep [7] J. Pruyne, Enabling QoS via Interception in Middleware,, Hewlett- Packard Labatories, [8] D. Schmidt, D. Levine, and T. Harrison, The Design and Performance of a Real-time CORBA Object Event Service, InProceedings of OOPSLA, Atlanta, Georgia, April [9] J. Siegel, CORBA Fundmentals and Programming, John Wiley and Sons, Inc., [10] Sun Microsystems, The Java Remote Method Invocation Specification, 1999, [11] S. Yajnik, DOORS: Fault Tolerance for CORBA Applications, In FIP International Conference on Distributed Systems Platforms and Open Distributed Processing, The Lake District, England, September
7 [12] J. Zinky, R. Schantz, J. Loyall, K. Anderson, and J. Megquier, The Quality Objects (QuO) Middleware Framework, In RM Workshop on Reflective Middleware, New York, USA, April
8 public void init() throws ProtocolConstructionException { Environment env=getenvironment(); //ORDER DEFINITIONS OrderRegistrar orderreg=new OrderRegistrar(); env.setorderregistrar(orderreg);... // Definition of the order-type add_callout OutputOrderType O7_addc=new OutputOrderType(); orderreg.addorder(o7_addc); StructureRegistrar r_o7_addc=new StructureRegistrar(); O7_addc.setStructureRegistrar(r_O7_addc); O7_addc.setName("add_callOut"); O7_addc.setPriority(5); O7_addc.setNrOutputSAP(0); O7_addc.setOrderID(4); //Define all ENTRYs probeans.entries.integerentrytype O7_addc_E6 =new probeans.entries.integerentrytype() r_o7_addc.addentry(o7_addc_e6 ); O7_addc_E6.setVisibleFlag(true); O7_addc_E6.setInitFlag(true); O7_addc_E6.setSize(4); probeans.entries.integerentrytype O7_addc_E7 =new probeans.entries.integerentrytype() r_o7_addc.addentry(o7_addc_e7 ); O7_addc_E7.setVisibleFlag(true); O7_addc_E7.setInitFlag(true); O7_addc_E7.setSize(4); //Define all PARAMETER-relations // Definition of the order-type add_respin InputOrderType O8_addr=new InputOrderType(); orderreg.addorder(o8_addr); StructureRegistrar r_o8_addr=new StructureRegistrar(); O8_addr.setStructureRegistrar(r_O8_addr); O8_addr.setName("add_respIn"); O8_addr.setPriority(5); O8_addr.setNrInputSAP(0); O8_addr.setOrderID(11); //Define all ENTRYs probeans.entries.integerentrytype O8_addr_E8 =new probeans.entries.integerentrytype() r_o8_addr.addentry(o8_addr_e8 ); O8_addr_E8.setVisibleFlag(true); O8_addr_E8.setInitFlag(true); O8_addr_E8.setSize(4);... return env; Figure 3: Generated Client Protocol Code 8
9 CLIENT-STUB: public int add(int p1, int p2) { int methodnr=4; try { Object[] param={new Integer(p1), new Integer(p2); allwriteapis[methodnr-1].accept(param); try { synchronized(blocking[methodnr-1]) { blocking[methodnr-1].wait(); catch(exception e) { throw new RuntimeException("remote error calling add(int p1, int p2)"); return ((Integer)results[methodNr-1]).intValue(); catch(exception e) { throw new RuntimeException("local system error in add(int p1, int p2)"); public void deliver(object[] o, Deliverable d) { try { int i=((inputorder)d).getorderid()-numberofmethods; if (o.length!=0) results[i-1]=o[0]; //set return value synchronized(blocking[i-1]) { blocking[i-1].notify(); catch(exception e) { throw new RuntimeException("incoming information is unusable"); Figure 4: Generated Code of Client Stub 9
10 public void deliver(object[] o, Deliverable d) { try { int i=((inputorder)d).getorderid(); Address a=((inputorder)d).getaddress(); switch (i) { case 1: { callmethod1(o,a); break; case 2: { callmethod2(o,a); break; case 3: { callmethod3(o,a); break; case 4: { callmethod4(o,a); break; catch(exception e) { throw new RuntimeException("incoming information is unusable"); private void callmethod4(object[] o, Address a) { //code for add int methodnr=4; try { int p1=((integer)o[0]).intvalue(); int p2=((integer)o[1]).intvalue(); Object[] ret={ new Integer(myObj.add(p1, p2)) ; allwriteapis[methodnr-1].accept(ret,a); catch(exception e) { throw new RuntimeException("local system error in add(p1, p2)"); Figure 5: Generated Code of Server Skeleton 10
ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE
ASPECTIX: A QUALITY-AWARE, OBJECT-BASED MIDDLEWARE ARCHITECTURE Franz J. Hauck, Ulrich Becker, Martin Geier, Erich Meier, Uwe Rastofer, Martin Steckermeier Informatik 4, University of Erlangen-Nürnberg,
More informationQuality of Service and Object-Oriented Middleware Multiple Concerns and their Separation
Quality of Service and Object-Oriented Middleware Multiple Concerns and their Separation Christian Becker becker@cs.uni-frankfurt.de Department of Computer Science University of Frankfurt/Main Germany
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationMiddleware in Context: 2016 David E. Bakken. Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019
Middleware in Context Prof. Dave Bakken Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 30, 2019 Sources of Info D. Bakken, Middleware, unpublished article (from an Encyclopedia of Distributed
More informationDistributed Objects. Object-Oriented Application Development
Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming
More informationQuality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS
Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz BBN Technologies/GTE Technology Organization Cambridge, Massachusetts,
More informationCpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, Middleware in Context: 2016 David E. Bakken
Middleware in Context Prof. Dave Bakken Cpt. S 464/564 Lecture Auxiliary Material (not from text) January 29-31, 2017 1 Sources of Info D. Bakken, Middleware, unpublished article (from an Encyclopedia
More informationAdaptive Middleware. Self-Healing Systems. Guest Lecture. Prof. Priya Narasimhan. Assistant Professor of ECE and ISRI Carnegie Mellon University
Adaptive Middleware Self-Healing Systems Guest Lecture Prof. Priya Narasimhan Assistant Professor of ECE and ISRI Carnegie Mellon University Recommended readings and these lecture slides are available
More informationIntegrating Fragmented Objects into a CORBA Environment
Integrating ed Objects into a CORBA Environment Hans P. Reiser 1, Franz J. Hauck 2, Rüdiger Kapitza 1, and Andreas I. Schmied 2 1 Dept. of Distributed Systems and Operating System, University of Erlangen-
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationDistributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.
Distributed Systems Lecture 2 1 Today s Topics External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.4) Distributed Objects and Remote Invocations (5.1)
More information03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invoaction Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/23 Remote invocation Mechanisms for process communication on a Built on top of interprocess communication primitives Lower
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationApplication Servers in E-Commerce Applications
Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand
More informationDS 2009: middleware. David Evans
DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between
More informationReplica consistency of CORBA objects in partitionable distributed systems*
Distrib. Syst. Engng 4 (1997) 139 150. Printed in the UK PII: S0967-1846(97)82270-X Replica consistency of CORBA objects in partitionable distributed systems* P Narasimhan, L E Moser and P M Melliar-Smith
More informationACT: An Adaptive CORBA Template to Support Unanticipated Adaptation
To appear in Proceedings of the 2004 IEEE International Conference on Distributed Computing (ICDCS- 2004), Tokyo Japan, March 2004. ACT: An Adaptive CORBA Template to Support Unanticipated Adaptation S.
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 3: Communication (Part 2) Remote Procedure
More informationFundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy
System Models and Networking Chapter 2,3 Bina Ramamurthy Fundamental Issues There is no global time. All communications are by means of messages. Message communication may be affected by network delays
More informationTransparent Self-Optimization in Existing CORBA Applications
To appear in Proceedings of the 2004 IEEE International Conference on Autonomic Computing (ICAC- 04), New York, NY, May 2004. Transparent Self-Optimization in Existing CORBA Applications S. M. Sadjadi
More informationChapter 15: Distributed Communication. Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration
Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote Method Invocation (RMI) CORBA Object Registration Sockets Defined as an endpoint for communcation Concatenation of IP
More informationPhD Student E&CE Department University of Waterloo Spring 2005
Dynamic Adaptation CBSS Course Presentation Instructor: Dr. Ladan Tahvildari Provided by: Mazeiar Salehie PhD Student E&CE Department University of Waterloo Spring 2005 References Main references M. Sadjadi,
More informationSlides for Chapter 5: Remote Invocation
Slides for Chapter 5: Remote Invocation From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Text extensions to slides David E. Bakken,
More informationToday: Distributed Objects. Distributed Objects
Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.
More informationRMI-P4. Harsimrankaur PDMCEW, Bahadurgarh
RMI-P4 Harsimrankaur PDMCEW, Bahadurgarh Abstract: SAP is one of the leading providers of business software. Its product portfolio for enterprise application software is organized around the various key
More informationRPC and RMI. 2501ICT Nathan
RPC and RMI 2501ICT Nathan Contents Client/Server revisited RPC Architecture XDR RMI Principles and Operation Case Studies Copyright 2002- René Hexel. 2 Client/Server Revisited Server Accepts commands
More informationThe implementation and analysis of OCI-based group communication support in CORBA
Regular paper The implementation and analysis of OCI-based group communication support in CORBA Dukyun Nam, Dongman Lee, and Chansu Yu School of Engineering Information and Communications University Taejon,
More informationDesign and Implementation of High Performance and Availability Java RMI Server Group
Design and Implementation of High Performance and Availability Java RMI Group 1. Introduction Tianjing Xu University of Auckland, Auckland, New Zealand txu012@ec.auckland.ac.nz Nowadays, providing high
More informationAQUILA. Project Defense. Sandeep Misra. (IST ) Development of C++ Client for a Java QoS API based on CORBA
AQUILA (IST-1999-10077) Adaptive Resource Control for QoS Using an IP-based Layered Architecture Project Defense Development of C++ Client for a Java QoS API based on CORBA http://www-st st.inf..inf.tu-dresden.de/aquila/
More informationJava RMI Middleware Project
Java RMI Middleware Project Nathan Balon CIS 578 Advanced Operating Systems December 7, 2004 Introduction The semester project was to implement a middleware similar to Java RMI or CORBA. The purpose of
More informationOctober 2006 (vol. 7, no. 10), art. no ox IEEE Published by the IEEE Computer Society
October 2006 (vol. 7, no. 10), art. no. 0610-ox001 1541-4922 2006 IEEE Published by the IEEE Computer Society Object Modeling FORMI: Integrating Adaptive Fragmented Objects into Java RMI Rüdiger Kapitza
More informationRMI: Design & Implementation
RMI: Design & Implementation Operating Systems RMI 1 Middleware layers Applications, services RMI and RPC request-reply protocol marshalling and external data representation Middleware layers UDP and TCP
More informationExploiting the Internet Inter-ORB Protocol Interface to Provide CORBA with Fault Tolerance
The following paper was originally published in the Proceedings of the Third USENIX Conference on Object-Oriented Technologies and Systems Portland, Oregon, June 1997 Exploiting the Internet Inter-ORB
More informationConstraint-based Generation of Connectors
Constraint-based Generation of Connectors Tomas Bures Charles University, Faculty of Mathematics and Physics, Prague, Czech Republic Abstract. In this paper we discuss the a typical use-case of connector
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationDistributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.
Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA
More informationManaging Complexity of Designing Routing Protocols Using a Middleware Approach
Managing Complexity of Designing Routing Protocols Using a Middleware Approach Cosmina Ivan 1, Vasile Dadarlat 2, and Kalman Pusztai 3 1 Department of Computer Science & Information Systems University
More informationCOMERA: COM Extensible Remoting Architecture
The following paper was originally published in the Proceedings of the 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS) Santa Fe, New Mexico, April 27-30, 1998 COMERA: COM Extensible
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationCHAPTER - 4 REMOTE COMMUNICATION
CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
More informationMTAT Enterprise System Integration. Lecture 2: Middleware & Web Services
MTAT.03.229 Enterprise System Integration Lecture 2: Middleware & Web Services Luciano García-Bañuelos Slides by Prof. M. Dumas Overall view 2 Enterprise Java 2 Entity classes (Data layer) 3 Enterprise
More informationPROFESSOR: DR.JALILI BY: MAHDI ESHAGHI
PROFESSOR: DR.JALILI BY: MAHDI ESHAGHI 1 2 Overview Distributed OZ Java RMI CORBA IDL IDL VS C++ CORBA VS RMI 3 Distributed OZ Oz Language Multi paradigm language, strong support for compositionality and
More informationA Scalable and Reliable Message Transport Service for the ATLAS Trigger and Data Acquisition System
A Scalable and Reliable Message Transport Service for the ATLAS Trigger and Data Acquisition System Andrei Kazarov, CERN / Petersburg NPI, NRC Kurchatov Institute 19th IEEE Real Time Conference 2014, Nara
More informationOverview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host
Distributed Software Architecture Using Middleware Mitul Patel 1 Overview Distributed Systems Middleware What is it? Why do we need it? Types of Middleware Example Summary 2 Distributed Systems Components
More informationDistributed Technologies - overview & GIPSY Communication Procedure
DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component
More informationObject-Oriented Middleware for Distributed Systems
Object-Oriented Middleware for Distributed Systems Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic
More informationComponent-Based Applications: A Dynamic Reconfiguration Approach with Fault Tolerance Support
Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 9 pages Component-Based Applications: A Dynamic Reconfiguration Approach with Fault
More informationAn Object-level Gateway Supporting Integrated-Property Quality of Service
An Object-level Gateway Supporting Integrated-Property Quality of Service Richard Schantz, John Zinky, David Karr, David Bakken, James Megquier, Joseph Loyall BBN Technologies/GTE Internetworking 10 Moulton
More informationChapter 5: Remote Invocation. Copyright 2015 Prof. Amr El-Kadi
Chapter 5: Remote Invocation Outline Introduction Request-Reply Protocol Remote Procedure Call Remote Method Invocation This chapter (and Chapter 6) Applications Remote invocation, indirect communication
More informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationA Grid-Enabled Component Container for CORBA Lightweight Components
A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications
More informationMiddleware for Dependable Network Services in Partitionable Distributed Systems
Middleware for Dependable Network Services in Partitionable Distributed Systems Alberto Montresor Renzo Davoli Özalp Babaoğlu Abstract We describe the design and implementation of Jgroup: a middleware
More information5.4. Events and notifications
5.4. Events and notifications Distributed event-based systems extend local event model Allowing multiple objects at diff. locations to be notified of events taking place at an object Two characteristics:
More informationCSci Introduction to Distributed Systems. Communication: RPC
CSci 5105 Introduction to Distributed Systems Communication: RPC Today Remote Procedure Call Chapter 4 TVS Last Time Architectural styles RPC generally mandates client-server but not always Interprocess
More informationEngineering CORBA-based Distributed Systems
Engineering CORBA-based Distributed Systems Ramón Juanes +, Fernando Bellas *, Nieves Rodríguez * and Ángel Viña * + Departamento de Electrónica y Sistemas, Universidad Alfonso X El Sabio, Madrid, CP/
More informationContents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A
Contents Java RMI G53ACC Chris Greenhalgh Java RMI overview A Java RMI example Overview Walk-through Implementation notes Argument passing File requirements RPC issues and RMI Other problems with RMI 1
More informationIntegration of Non-Functional Properties in Containers
Integration of Non-Functional Properties in Containers Denis Conan, Erik Putrycz Nicolas Farcet, Miguel DeMiguel Institut National des Télécommunications THALES 9, rue Charles Fourier Corporate Research
More information3. Remote Procedure Call
3. Remote Procedure Call Master II Software Engineering Imed Bouchrika Dept of Mathematics & Computer Science University of Souk-Ahras imed@imed.ws Imed Bouchrika. Distributed Objects, Uni of Souk-Ahras
More informationProtecting the Hosted Application Server
Protecting the Hosted Application Server Paola Dotti, Owen Rees Extended Enterprise Laboratory HP Laboratories Bristol HPL-1999-54 April, 1999 E-mail: {Paola_Dotti,Owen_Rees}@hpl.hp.com application server,
More information3C05 - Advanced Software Engineering Thursday, April 29, 2004
Distributed Software Architecture Using Middleware Avtar Raikmo Overview Middleware What is middleware? Why do we need middleware? Types of middleware Distributed Software Architecture Business Object
More informationLecture 15: Network File Systems
Lab 3 due 12/1 Lecture 15: Network File Systems CSE 120: Principles of Operating Systems Alex C. Snoeren Network File System Simple idea: access disks attached to other computers Share the disk with many
More informationDeveloping Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach
Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart
More informationConsistency of Partitionable Object Groups in a CORBA Framework
Consistency of Partitionable Object Groups in a CORBA Framework P. Narasimhan, L. E. Moser, P. M. Melliar-Smith Department of Electrical and Computer Engineering University of California, Santa Barbara,
More informationDistribution Transparencies For Integrated Systems*
Distribution Transparencies For Integrated Systems* Janis Putman, The Corporation Ground System Architectures Workshop 2000 The Aerospace Corporation February 2000 Organization: D500 1 * The views and
More informationRIKA: Component Architectures
RIKA: Component Architectures Dr. Detlef Kreuz Telematik kreuz@tuhh.de TUHH - TELEMATIK Agenda Introduction What you should learn from this talk N-Tier applications Designing with components What is a
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationCORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) René de Vries (rgv@cs.ru.nl) Based on slides by M.L. Liu 1 Overview Introduction / context Genealogical of CORBA CORBA architecture Implementations Corba
More informationCommunication. Overview
Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport
More informationIrbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems
Developing Enterprise Systems with CORBA and Java Integrated Technologies Safwan Al Salaimeh, Amer Abu Zaher Irbid National University, Irbid, Jordan ABSTRACT: The questions of corporate systems development
More informationIPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)
IPC Communication Chapter 2 Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: RPC RMI MOM (Message Oriented
More informationOutline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4
EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks
More informationCheckpoint. Object. Object Stub. Proxy. Request. Request. Proxy
CORBA Based Runtime Support for Load Distribution and Fault Tolerance Thomas Barth, Gerd Flender, Bernd Freisleben, Manfred Grauer, and Frank Thilo University of Siegen, Hölderlinstr.3, D 57068 Siegen,
More informationITRA: Inter-Tier Relationship Architecture for End-to-end QoS
ITRA: Inter-Tier Relationship Architecture for End-to-end QoS Eliezer Dekel and Gera Goft IBM Haifa Research Laboratory MATAM - Advanced Technology Center Haifa 31905, Israel {dekel, gera}@ilibm Abstract
More informationA Survey of Adaptive Middleware
A Survey for Ph.D. Qualifier Exam. A Survey of Adaptive Middleware S. M. Sadjadi Software Engineering and Network Systems Laboratory Department of Computer Science and Engineering Michigan State University
More informationCOMMUNICATION IN DISTRIBUTED SYSTEMS
Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network
More informationPatterns for Asynchronous Invocations in Distributed Object Frameworks
Patterns for Asynchronous Invocations in Distributed Object Frameworks Patterns for Asynchronous Invocations in Distributed Object Frameworks Markus Voelter Michael Kircher Siemens AG, Corporate Technology,
More informationDistributed Systems. Chapter 02
Distributed Systems Principles and Paradigms Chapter 02 (version 31st August 2001) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20.
More informationMessage Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1
Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects
More informationMiddleware for Robots?
Middleware for Robots? Christopher D. Gill and William D. Smart Department of Computer Science Washington University in St. Louis One Brookings Drive St. Louis, MO 63130 United States {cdgill,wds}@cs.wustl.edu
More informationDelivering QoS in Open Distributed Systems
\ Delivering QoS in Open Distributed Systems Frank Siqueira and Vinny Cahill Distributed Systems Group, Department of Computer Science, Trinity College Dublin, Ireland Frank. Siqueira @ cs. tcd. ie, Vinny.
More informationLookup. Michael Kircher & Prashant Jain Siemens AG, Corporate Technology Munich, Germany
Lookup Michael Kircher & Prashant Jain {Michael.Kircher,Prashant.Jain}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Copyright 2000 by Prashant Jain and Michael Kircher The lookup pattern
More informationDistributed Systems. 5. Remote Method Invocation
Distributed Systems 5. Remote Method Invocation Werner Nutt 1 Remote Method Invocation 5.1 Communication between Distributed Objects 1. Communication between Distributed Objects 2. RMI 2 Middleware Middleware
More informationPerformance Evaluation of Java And C++ Distributed Applications In A CORBA Environment
Performance Evaluation of Java And C++ Distributed Applications In A CORBA Environment Sanjay P. Ahuja Roger Eggen Cheryl Daucher Department of Computer and Information Sciences University of North Florida
More informationFTRMI: Fault-Tolerant Transparent RMI
FTRMI: Fault-Tolerant Transparent RMI Diogo Reis and Hugo Miranda University of Lisbon LaSIGE SAC, March 28th, 2012 Remote Procedure Calls What? A simple approach for distributed computing Hides the network
More informationC 1. Recap: Finger Table. CSE 486/586 Distributed Systems Remote Procedure Call. Chord: Node Joins and Leaves. Recall? Socket API
Recap: Finger Table Finding a using fingers CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo N102" 86 + 2 4! N86" 20 +
More informationSoftware Architecture Patterns
Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding
More informationMiddleware Design Framework for Mobile Computing
ISSN: 2222-4254 IJES Middleware Design Framework for Mobile Computing Imran Sarwar Bajwa School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK i.s.bajwa@cs.bham.ac.uk Abstract.
More informationObject-Oriented Systems Design RMI
Object-Oriented Systems Design RMI Michael Hauser November 2001 Workshop: AW3 Module: EE5029A Tutor: Mr. Müller Course: M.Sc Distributes Systems Engineering Lecturer: Mr. Prowse CONTENTS Contents 1 Aims
More informationEnhancing Java RMI with Asynchrony through Reflection
Enhancing Java RMI with Asynchrony through Reflection Orhan Akın, Nadia Erdoğan Istanbul Technical University, Computer Sciences, Informatics Institute, Maslak-34469, Istanbul, Turkey {orhan}@.engineer.com,
More informationFederating Heterogeneous Event Services
Federating Heterogeneous Event Services Conor Ryan, René Meier, and Vinny Cahill Distributed Systems Group, Department of Computer Science, Trinity College Dublin, Ireland cahryan@eircom.net, rene.meier@cs.tcd.ie,
More information5 Distributed Objects: The Java Approach
5 Distributed Objects: The Java Approach Main Points Why distributed objects Distributed Object design points Java RMI Dynamic Code Loading 5.1 What s an Object? An Object is an autonomous entity having
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationChapter 16. Layering a computing infrastructure
: Chapter 16 by David G. Messerschmitt Layering a computing infrastructure Applications Application components Middleware Operating system Network 2 1 Spanning layer Application Distributed object management
More informationEnhancing Jini with Group Communication
Enhancing Jini with Group Communication Alberto Montresor Renzo Davoli Özalp Babaoğlu Technical Report UBLCS-2000-16 December 2000 (Revised January 2001) Department of Computer Science University of Bologna
More informationReflective Java and A Reflective Component-Based Transaction Architecture
Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,
More informationREPLICATING CORBA OBJECTS: A MARRIAGE BETWEEN ACTIVE AND PASSIVE REPLICATION
REPLICATING CORBA OBJECTS: A MARRIAGE BETWEEN ACTIVE AND PASSIVE REPLICATION Pascal Felber Xavier Défago Patrick Eugster André Schiper Swiss Federal Institute of Technology Operating Systems Lab. CH-1015
More informationRemote Invocation Vladimir Vlassov and Johan Montelius
KTH ROYAL INSTITUTE OF TECHNOLOGY Middleware Remote Invocation Vladimir Vlassov and Johan Montelius Application layer Remote invocation / indirect communication Socket layer Network layer ID2201 DISTRIBUTED
More information