Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization

Description:

Implementing Simple Replication Protocols. using CORBA Portable ... STATE. Intercession : ACTION. Source-to-source trans. C classes. Add reflective features ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 22
Provided by: francoi8
Learn more at: http://homepages.laas.fr
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Implementing Simple Replication Protocols using CORBA Portable Interceptors and Java Serialization


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
Principles of Reflection
  • "the ability of a system to think and act about
    itself"

meta-level
observation
control
meta-interfaces
base-level
original system
  • separating fault-tolerance from functional
    concerns

5
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
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 requests
    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
Server
Client
IIOP Requests
ORB
ORB
JVM
JVM
9
The DAISY PlatformCORBA Portable Interceptors
REQUEST
REQUEST
Server
Client
IIOP Requests
PIC
PIS
ORB
ORB
JVM
JVM
  • Observe, delay and retarget out/in
    requests/exceptions
  • Cannot modify requests/replies (bad for SWIFI)

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

11
The DAISY PlatformDependable Adaptive
Interceptors Serialization-based sYstem
Primary Server
PIS
ORB
Client
PIC
JVM
ORB
Backup Server
PIS
JVM
ORB
JVM
12
The DAISY PlatformDependable Adaptive
Interceptors Serialization-based sYstem
Primary Server
PIS
FT Algorithm
ORB
Client
PIC
JVM
ORB
Backup Server
PIS
JVM
ORB
JVM
13
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
Primary Server
Exceptions
  • Main role  detecting faults 
  • Simple detection scheme
  • Transient communication faults
  • Upon exception
  • ForwardRequest trick
  • N retries
  • Switch to backup

PIS
ORB
Client
PIC
JVM
ORB
Backup Server
PIS
JVM
ORB
JVM
15
Primary Side
Primary Server
  • Main role  handling requests 
  • Upon request
  • Invoke the request
  • Obtain servers state
  • Forwards to backup
  • Request Info
  • Reply message
  • State

PIS
ORB
JVM
Backup Server
PIS
ORB
JVM
16
Backup Side
Primary Server
  • 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

PIS
ORB
?
JVM
Backup Server
PIS
ORB
JVM
17
Recovery
Primary Server
  • 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

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
PI Drawbacks
  • Cant modify input params
  • Prohibit mechanisms
  • E.g. ciphering
  • Cant 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
  • Dont have a thread
  • No I am alive messages
  • Cannot reorder requests
  • Limit complexity of strategies

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
About PowerShow.com