1 / 21

T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O. Killijian , E. Marsden, F. Taïani

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. Toulouse, France. DSN-2004, Florence, Italy, July 1 st. Outline. Motivation Background information

duer
Download Presentation

T. Bennani, L. Blain, L. Courtes, J.-C. Fabre, M.-O. Killijian , E. Marsden, F. Taïani

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Toulouse, France DSN-2004, Florence, Italy, July 1st

  2. Outline • Motivation • Background information • Reflection • FT-CORBA • Architecture and protocol • Primary-backup replication mechanism • Performance evaluation • Conclusion • Limits observed

  3. 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. fault-tolerance Principles of Reflection "the ability of a system to think and act about itself" meta-level observation control meta-interfaces base-level original system • separatingfault-tolerancefromfunctional concerns

  5. Meta Object From FRIENDS To DAISY • 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 • Interception: EVENTS • Introspection : STATE • Intercession : ACTION Base Object

  6. FT Portable Interceptor From FRIENDS To DAISY • 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 COTS • Interception: EVENTS • Introspection : STATE • Intercession : ACTION COTS Java CORBA Object

  7. FT-CORBA • Augment CORBA with FT capabilities • Object Group Addressing (IOGRs)Transparent reference to group of servers • Extensions to failover semanticUnique request’s Ids and Retries upon request failures • Replication ManagementCreation, modification of groups • Fault ManagementFaults detection, report • Recovery ManagementState handling and checkpointing • Very few implementations yet • not a COTS

  8. The DAISY PlatformJava based Object Request Broker Client Server IIOP Requests ORB ORB JVM JVM

  9. The DAISY PlatformCORBA Portable Interceptors • Observe, delay and retarget out/in requests/exceptions • Cannot modify requests/replies (bad for SWIFI) REQUEST REQUEST Client Server IIOP Requests PIC PIS ORB ORB JVM JVM

  10. The DAISY PlatformJava Serialization • Save and restore state of Java objects State of Server Client Server IIOP Requests PIC PIS Serialization ORB ORB JVM JVM

  11. The DAISY PlatformDependableAdaptiveInterceptors & Serialization-basedsYstem Primary Server PIS ORB Client PIC JVM ORB Backup Server PIS JVM ORB JVM

  12. The DAISY PlatformDependableAdaptiveInterceptors & Serialization-basedsYstem Primary Server PIS FTAlgorithm ORB Client PIC JVM ORB Backup Server PIS JVM ORB JVM

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

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

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

  16. 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 Primary Server PIS ORB ? JVM Backup Server PIS ORB JVM

  17. Recovery • Crash occures when • Primary idle • Handling request • 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 Primary Server PIS ORB JVM Backup Server PIS ORB JVM

  18. 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. 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 PI Drawbacks

  20. 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 Toulouse, France DSN-2004, Florence, Italy, July 1st

More Related