Implementing simple replication protocols using corba portable interceptors and java serialization
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

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


  • 50 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Implementing simple replication protocols using corba portable interceptors and java serialization

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


Outline

Outline

  • Motivation

  • Background information

    • Reflection

    • FT-CORBA

  • Architecture and protocol

    • Primary-backup replication mechanism

  • Performance evaluation

  • Conclusion

    • Limits observed


Motivation

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


Principles of reflection

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


From friends to daisy

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


From friends to daisy1

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


Ft corba

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


The daisy platform java based object request broker

The DAISY PlatformJava based Object Request Broker

Client

Server

IIOP Requests

ORB

ORB

JVM

JVM


The daisy platform corba portable interceptors

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


The daisy platform java serialization

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


The daisy platform d ependable a daptive i nterceptors s erialization based s y stem

The DAISY PlatformDependableAdaptiveInterceptors & Serialization-basedsYstem

Primary

Server

PIS

ORB

Client

PIC

JVM

ORB

Backup

Server

PIS

JVM

ORB

JVM


The daisy platform d ependable a daptive i nterceptors s erialization based s y stem1

The DAISY PlatformDependableAdaptiveInterceptors & Serialization-basedsYstem

Primary

Server

PIS

FTAlgorithm

ORB

Client

PIC

JVM

ORB

Backup

Server

PIS

JVM

ORB

JVM


Algorithm overview

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


Client side fault handling

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


Primary side

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


Backup side

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


Recovery

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


Performance evaluation

Performance Evaluation

  • Simple banking application

    • Account management

    • Withdrawal, deposit, etc.

  • Testbed

    • I686 1Ghz

    • Linux 2.4

    • 100 Mb/s Ethernet

  • 1000 experiments

  • 1000 operations


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

PI Drawbacks


Conclusion

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 serialization1

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


  • Login