220 likes | 455 Views
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002. Outline. Introduction to CORBA and Wireless CORBA What is Fault Tolerance Fault Tolerant CORBA Fault Tolerance in Wireless CORBA Conclusion Future Work. What is CORBA. Common Object Request Broker Architecture
E N D
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002
Outline • Introduction to CORBA and Wireless CORBA • What is Fault Tolerance • Fault Tolerant CORBA • Fault Tolerance in Wireless CORBA • Conclusion • Future Work
What is CORBA • Common Object Request Broker Architecture • A Distributed Object Computing (DOC) open standard • Compare to platform/language specific alternatives • e.g., Java RMI, Microsoft’s DCOM • A language-neutral environment • A middleware infrastructure specification • Administered by the Object Management Group • a.k.a., the OMG
Wireless CORBA Architecture • Keeps track of the associated access bridges • Redirects requests for services on the terminal • Abstract transport-independent tunnel for GIOP messages • Concrete tunnels for TCP/IP, UDP/IP and WAP. • Only one GIOP tunnel • Encapsulates, forwards or ignores incoming GIOP messages • Decapsulates and forwards messages from the GIOP tunnel • Generates mobility events • Lists available services • Similar to the Access Bridge • Does not provide forwarding • Generates mobility events • Does not list services Source: Telecom Wireless CORBA, OMG Doucment dtc/01-06-02
Wireless CORBA CORBA GIOP GTP GIOP IIOP Access Point Key: TCP/IP Network CORBA objects may be invoked anywhere along the “end to end” path GTP Tunnel
Fault tolerant mechanisms Fault, Error and Failure Fault Fault tolerance is the ability of a system to continue providing its specified service despite component failure Error Failure an anomalous condition occurring in the system hardware or software the part of the system state that is liable to lead to a failure occurs when the delivered service of a system or a component deviates from its specification
Fault Tolerant CORBA Architecture Source: Bell Labs Research
Object Replication Styles • Passive Replication • Only one replica processes each request, other replicas are available as backups • Lower memory and processing costs • Slower recovery from faults • Duplicate message detection during recovery from faults • Active Replication • Several replicas process each request • Faster recovery from faults • State transfer to initialize new replicas
Object Object Object Object Object Object Object Object Only primary replica of Server A executes the method Reliable totally ordered multicast Reliable totally ordered multicast for state transfer Only primary replica of Server B executes the method Reply returned from primary replica of Server B to primary replica of Server A Passive Replication Client invokes a method of Server A Primary replica Server A ORB ORB ORB ORB ORB Primary replica Server B ORB ORB ORB Source: Eternal Systems, Inc
Object Object Object Object Object Object Object Object STOP STOP Duplicate invocations suppressed Reliable totally ordered multicasts for requests and replies STOP STOP Duplicate replies suppressed Active Replication Client invokes a method of Server A Server A ORB ORB ORB ORB ORB Reliable totally ordered multicast Server B ORB ORB ORB Source: Eternal Systems, Inc
Applying Mobile Host as Stable Storage Applying Access Bridge as Stable Storage Uncoordinated checkpointing Pessimistic message logging a large number of system messages or a large size of information carried in a message Checkpoints and Logs collection Device, Wireless & Mobile Issues • Device Issues • Slow processor • Small memory • Small disk space • Low power supply • Physical damage • Wireless Issues • High bit error rate • Little bandwidth • Long transfer delay • Mobile Issue • Handoff
Recovery Scheme • Uncoordinated checkpointing • time • predefined number of messages • Pessimistic message logging • no extra communication overhead • Independent rollback recovery • only failed objects rollback
Client Object Server Replica Multicast Messages GIOP Tunnel Access Bridge Mobile Side Fixed Side Fault Tolerance Architecture Mobile Host Access Bridge Remote Server ORB Terminal Bridge ORB ORB Recovery Mechanism Logging Mechanism Recovery Mechanism Logging Mechanism Recovery Mechanism Platform Platform Platform
Checkpoint and Logs Collection Strategies • Pessimistic • checkpoint and logs are transferred during handoff • generates heavy volume of data transfer • Lazy • creates a linked list of Access Bridges • complicated recovery • Frequency-based • the number of handoffs • Distance-based • the distance between mobile host and the Access Bridge carrying its latest checkpoint
Access Bridge 1 Access Bridge 2 Access Bridge 3 Home Location Agent Handoff Location Update Mobile Host Crash
Access Bridge 1 Access Bridge 2 Access Bridge 3 Home Location Agent Location Update Handoff Mobile Host Crash
Access Bridge 1 Access Bridge 2 Access Bridge 3 Home Location Agent Mobile Host Crash
Access Bridge 1 Access Bridge 2 Access Bridge 3 Home Location Agent Collect last checkpoint and succeeded message logs Reconnect Sorted by Ack. SN Messages Replay Mobile Host Crash
Conclusion • Fault Tolerant CORBA is based on Object Replication • Fault tolerance in Wireless CORBA is based on Rollback-Recovery Protocol • Checkpoint and message logs collection is important in Wireless CORBA
Future Work • Low-cost Checkpointing Algorithm • forces a minimum number of objects to take checkpoints • minimizes the number of synchronization messages • makes checkpointing nonblocking • Failure Detection in Wireless Environment