Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O.

Slides:



Advertisements
Similar presentations
The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Advertisements

PAGIS: An Architecture for Programming on the Grid Andrew Wendelborn Distributed & High Performance Computing Group Department of Computer Science, University.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
CS 582 / CMPE 481 Distributed Systems
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering.
FTMP: A Fault-Tolerant Multicast Protocol Louise E. Moser Department of Electrical and Computer Engineering University of California, Santa Barbara.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
II. Middleware for Distributed Systems
Constructing Reliable Software Components Across the ORB M. Robert Rwebangira Howard University Future Aerospace Science and Technology.
Institute of Computing Jaca: a Reflective Fault Injection Tool based on Patterns Eliane Martins Cecilia Rubira Nelson Leme Institute of Computing State.
.NET Mobile Application Development Remote Procedure Call.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Client/Server Software Architectures Yonglei Tao.
Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Fault Tolerant CORBA (FT-CORBA) - Modeling and Analysis.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
Presented at University of Alabama CIS, Birmingham Monday, April 9, 2001 Patterns-based Fault Tolerant CORBA Implementation for Predictable Performance.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Dependable Systems (CSE 890), Thursday, 27 th 2003 IRL Interoperable Replication Logic: A three-tier approach to FT-CORBA Infrastructures Authors: R. Baldoni,
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
Sunday, October 15, 2000 JINI Pattern Language Workshop ACM OOPSLA 2000 Minneapolis, MN, USA Fault Tolerant CORBA Extensions for JINI Pattern Language.
ISADS'03 Message Logging and Recovery in Wireless CORBA Using Access Bridge Michael R. Lyu The Chinese Univ. of Hong Kong
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
CprE 458/558: Real-Time Systems
FT-ERF Fault-Tolerance in an Event Rule Framework for Distributed Systems Hillary Caituiro-Monge, Graduate Student. Advisor: Javier Arroyo-Figueroa, Ph.D.
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Shuman Guo CSc 8320 Advanced Operating Systems
CRG talk on Tuesday, August 19, 2003 SeyedMasoud Sadjadi Software Engineering and Networking Systems Laboratory Department of.
Distributed Objects & Remote Invocation
Jim Dowling, DSG. Introduction to Reflection1 Reflection and the Metaobject Protocol paradigm by Jim Dowling.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
Middleware for Fault Tolerant Applications Lihua Xu and Sheng Liu Jun, 05, 2003.
Fault-tolerance for Component-based Systems – An Automated Middleware Specialization Approach Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale Abhishek.
Distributed objects and remote invocation Pages
Intrusion Tolerant Distributed Object Systems Joint IA&S PI Meeting Honolulu, HI July 17-21, 2000 Gregg Tally
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
The Role of Reflection in Next Generation Middleware
CORBA: An Overview Mojtaba Hosseini.
CORBA Alegria Baquero.
Programming Models for Distributed Application
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
CORBA Alegria Baquero.
Distributed Object-based systems
Quality-aware Middleware
Group Service in CORBA Xing Gang Supervisor: Prof. Michael R. Lyu
Presentation transcript:

Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O. Killijian, E. Marsden, F. Taïani DSN-2004, Florence, Italy, July 1 st Toulouse, France

2 DSN’04 Outline 1. Motivation 2. Background information Reflection FT-CORBA 3. Architecture and protocol Primary-backup replication mechanism 4. Performance evaluation 5. Conclusion Limits observed

3 DSN’04 Motivation Reflection as a means to implement FT  Transparent for application  Separation of concerns Reflection has been introduced into middleware  CORBA Portable Interceptors  Java Serialization COTS based systems are cheaper  Increasing COTS software for critical systems è Experiment using COTS reflective mechanisms for implementing FT

4 DSN’04 Principles of Reflection  separating fault-tolerance from functional concerns "the ability of a system to think and act about itself" original system fault-tolerance meta-interfaces meta-level base-level observationcontrol

5 DSN’04 From FRIENDS To DAISY Base Object Meta Object Interception  :  EVENTS Introspection  :  STATE Intercession  :  ACTION Source-to-source trans.  C++ classes  Add reflective features MetaObject Protocol  Object life cycle  Requests life cycle  State handling Limits  Language dependent  Access to source code  External state  Determinism

6 DSN’04 From FRIENDS To DAISY Java CORBA Object FT Portable Interceptor Interception  :  EVENTS Introspection  :  STATE Intercession  :  ACTION Source-to-source trans.  C++ classes  Add reflective features MetaObject Protocol  Object life cycle  Requests life cycle  State handling Limits  Language dependent  Access to source code  External state  Determinism  DAISY COTS

7 DSN’04 FT-CORBA Augment CORBA with FT capabilities  Object Group Addressing (IOGRs) Transparent reference to group of servers  Extensions to failover semantic Unique request’s Ids and Retries upon request failures  Replication Management Creation, modification of groups  Fault Management Faults detection, report  Recovery Management State handling and checkpointing Very few implementations yet  not a COTS

8 DSN’04 The DAISY Platform Java based Object Request Broker Server Client ORB JVM ORB JVM IIOP Requests

9 DSN’04 Server Client ORB JVM ORB JVM IIOP Requests PIC PIS REQUES T The DAISY Platform CORBA Portable Interceptors  Observe, delay and retarget out/in requests/exceptions  Cannot modify requests/replies (bad for SWIFI)

10 DSN’04 The DAISY Platform Java Serialization Server Client ORB JVM ORB JVM IIOP Requests PIC PIS State of Server Serialization  Save and restore state of Java objects

11 DSN’04 The DAISY Platform Dependable Adaptive Interceptors & Serialization-based sYstem Primar y Server Client ORB JVM ORB JVM PIC PIS Backu p Server ORB JVM PIS

12 DSN’04 The DAISY Platform Dependable Adaptive Interceptors & Serialization-based sYstem Primar y Server Client ORB JVM ORB JVM PIC PIS Backu p Server ORB JVM PIS FT Algorith m

13 DSN’04 Primary Server Client ORB JVM ORB JVM PIC PIS Backup Server ORB JVM PIS Algorithm Overview Primary-backup strategy PIC responsible for  ID requests  Managing faults PIS responsible for  Requests handling  State Management  Replica Management

14 DSN’04 Primary Server Client ORB JVM ORB JVM PIC PIS Backup Server ORB JVM PIS Client Side Fault Handling Main role: « detecting faults » Simple detection scheme Transient communication faults Upon exception  ForwardRequest trick  N retries  Switch to backup Exceptions

15 DSN’04 Primary Server ORB JVM PIS Backup Server ORB JVM PIS Primary Side Main role: « handling requests » Upon request  Invoke the request  Obtain server’s state  Forwards to backup  Request Info  Reply message  State

16 DSN’04 Primary Server ORB JVM PIS Backup Server ORB JVM PIS Backup Side Main role: « recover primary failures » Buffer and manage  « Primary packets »  Request Info  Reply message  State  Apply previous one Upon request reception  Ping primary  Enter recovery mode ?

17 DSN’04 Recovery Primary Server ORB JVM PIS Backup Server ORB JVM PIS Crash occures when 1. Primary idle 2. Handling request 3. Primary packet delivered but not the reply Case 1 & 2  Apply buffered state  Handle request Case 3  Discard buffered state  Re-execute request Multi-client more complex

18 DSN’04 Performance Evaluation Simple banking application  Account management  Withdrawal, deposit, etc. Testbed  I686 1Ghz  Linux 2.4  100 Mb/s Ethernet 1000 experiments 1000 operations

19 DSN’04 PI Drawbacks Can’t modify input params  Prohibit mechanisms  E.g. ciphering Can’t modify output params  Cannot forge replies  Complexifies implementation Must invoke every requests  Cannot prevent invocation  Must raise exceptions  PB for some mechanisms  E.g. leader-follower Not CORBA objects  Cannot implement easily non-functional interface  Not transparent for the application Don’t have a thread  No “I am alive” messages Cannot reorder requests  Limit complexity of strategies

20 DSN’04 Conclusion Middleware standards embbed  Simple reflective mechanisms  CORBA Portable Interceptors  Java Serialization  Useful for implementing  simple FT mechanisms  Simple wrapping techniques –IIOP level CRC32 –Synchronization interface (libc) But new generation of Portable Interceptors  More complex mechanisms (active replication)  Better implementation  Without being too intrusive

Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O. Killijian, E. Marsden, F. Taïani DSN-2004, Florence, Italy, July 1 st Toulouse, France