Download presentation
Presentation is loading. Please wait.
Published byBethany Dixon Modified over 9 years ago
1
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
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
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
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
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
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
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
8 DSN’04 The DAISY Platform Java based Object Request Broker Server Client ORB JVM ORB JVM IIOP Requests
9
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
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
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
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
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
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
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
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
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
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
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
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
21
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.