The Fault Tolerant Web  Amanjeev Sethi Under pertinent guidance of Prof. Ravindran
Fault Tolerant Web – An Idea <ul><li>A property that would enable a system to continue operating properly in the event of ...
Fault Tolerant Web – Requirements <ul><li>No single point of failure. </li></ul><ul><li>Fault isolation to the failing com...
FTW Implementation <ul><li>Chosen Platform – Java (with some implementation in C) </li></ul><ul><li>MidClient and Sharer c...
MidSession <ul><li>Efforts to try to bring session maintenance to the client-side </li></ul><ul><li>Session checking avail...
FTW Architecture  Client MidClient  Sharer-1 Sharer-2 Sharer-N
FTW Architecture …contd. Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT F...
FTW - A Case Scenario…1 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Fr...
FTW - A Case Scenario…2 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Fr...
FTW - A Case Scenario…3 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Fr...
FTW - A Case Scenario…4 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Fr...
Demo
FTW – Requirements (Revisited) <ul><li>[ X ] No single point of failure. (Technically the Front is a single point failure ...
How NOT to make a Fault Tolerant system <ul><li>Do not have a single Front. This is a single point failure. </li></ul><ul>...
Future <ul><li>This is a very primitive form of FT implementation </li></ul><ul><li>Common Points yet to be achieved: </li...
Simplicity is a prerequisite for reliability. -E. W. Dijkstra
Upcoming SlideShare
Loading in...5
×

Fault Tolerant Web

1,936

Published on

A little something that I had to present. The work I had done during my Masters.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,936
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • . I had real trouble re-inviting a newly revived Sharer to the System. But I have used Java Interfaces and available libraries to achieve the closest possible implementation. Java.io.serializable is widely used and has to be in every implemented class. We know that Web services are absolutely dependent on Session. We cannot ignore this part. Even SOAP needs session -- an enterprise web service cannot sustain itself unless the session concept burns into Web service engines. In other words, it is wrong to say that each and every SOAP web service engine should maintain sessions because you can have services that do not require maintaining sessions. A good example could be a Google search service and a Google spell checker service. Managing sessions directly causes an increase of the memory footprint and to slow down performance, but you need to have a compromise: whether or not you support the session and provide state full service development. Axis2 is meant to be an enterprise Web service engine, so it has to support session management. fault tolerance in web -- the paradigm. Client &lt;----&gt; Mid-Client &lt;----&gt; Server Cluster Why mid-client and not mid-server? 1. We are already dealing with server cluster 2. it is more client oriented, does session keeping jobs but in itself is a client awaiting server acks and messages. Why Sharer?-- A word derived from Sharing and Server. Consistency check at the mid-client.. Choosing a new Primary is based on the priority given to the nodes using configuration files along with the concept of the oldest alive node registered with system.
  • Fault Tolerant Web

    1. 1. The Fault Tolerant Web Amanjeev Sethi Under pertinent guidance of Prof. Ravindran
    2. 2. Fault Tolerant Web – An Idea <ul><li>A property that would enable a system to continue operating properly in the event of one or more than one (there is a limit) failures. </li></ul><ul><li>Web Services require Fault Tolerant mechanisms to achieve reliability. </li></ul><ul><li>Replication and Redundancy are integral. </li></ul>
    3. 3. Fault Tolerant Web – Requirements <ul><li>No single point of failure. </li></ul><ul><li>Fault isolation to the failing component. </li></ul><ul><li>Fault containment to prevent propagation of the failure. </li></ul><ul><li>Availability of reversion modes. </li></ul><ul><li>Replication-Redundancy combination. </li></ul>
    4. 4. FTW Implementation <ul><li>Chosen Platform – Java (with some implementation in C) </li></ul><ul><li>MidClient and Sharer combination. </li></ul><ul><li>MidClient includes: </li></ul><ul><ul><li>Admin/Delegator: Directs the requests to appropriate Sharer coming from Front with monitoring. </li></ul></ul><ul><ul><li>MidSession: Assumes the session checking and helps Delegator in sending the request. </li></ul></ul><ul><ul><li>Front: Receives the request from client to be processed by one of the sharers. </li></ul></ul>
    5. 5. MidSession <ul><li>Efforts to try to bring session maintenance to the client-side </li></ul><ul><li>Session checking available in MidClient </li></ul><ul><li>RMI based system - Stub-Skeleton architecture within MidSession </li></ul><ul><li>A JAR to be included in every machine including all the back-end servers </li></ul><ul><li>Binds the sessions and context of sharers </li></ul>
    6. 6. FTW Architecture Client MidClient Sharer-1 Sharer-2 Sharer-N
    7. 7. FTW Architecture …contd. Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Front Session Session Session
    8. 8. FTW - A Case Scenario…1 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Front Request from the client Goes to the Front. Sharer-1 Sharer-2 Sharer-N Session Session Session
    9. 9. FTW - A Case Scenario…2 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Front Front checks with Admin for the current Primary. Passes the request to be forwarded to the appropriate Sharer Sharer-1 Sharer-2 Sharer-N Session Session Session
    10. 10. FTW - A Case Scenario…3 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Front Once the response is sent back from a sharer, all secondary Sharers are sent the update after the session is checked in MidSession. Sharer-1 Sharer-2 Sharer-N Session Session Session
    11. 11. FTW - A Case Scenario…4 Sharer-1 Sharer-2 Sharer-N ADMIN / DELEGATOR Monitor / Dispatcher MIDSESSION Detector MIDCLIENT Front <ul><li>In case of Primary Failure, the detection is done at 2 levels. </li></ul><ul><li>ICMP – Machine Ping. Implement a simple Echo message </li></ul><ul><li>Web Server availability (Port Check) – </li></ul><ul><li>if the server is listening on port 8080 </li></ul>Sharer-1 Sharer-2 Sharer-N Session Session Session
    12. 12. Demo
    13. 13. FTW – Requirements (Revisited) <ul><li>[ X ] No single point of failure. (Technically the Front is a single point failure here) </li></ul><ul><li>[ √ ] Fault isolation to the failing component. </li></ul><ul><li>[ √ ] Fault containment to prevent propagation of the failure. </li></ul><ul><li>[ √ ] Availability of reversion modes. </li></ul><ul><li>[ √ ] Replication-Redundancy combination. </li></ul>
    14. 14. How NOT to make a Fault Tolerant system <ul><li>Do not have a single Front. This is a single point failure. </li></ul><ul><li>Not having proper Logging mechanism attached to the detector. </li></ul><ul><li>Over modularize. </li></ul><ul><li>Mix Sessions at Client and Sessions at the Server side. Keep one. </li></ul><ul><li>Implement fragmented system (with multiple layers of request forwarding) unless you fix security issues. </li></ul><ul><li>Not using Multicast </li></ul><ul><li>Manage Sessions more efficiently – Real-Time-Sync is not performed, it is always last access which overrides all other requests </li></ul><ul><li>Incorporate the Ad-hoc ability of the system. </li></ul>
    15. 15. Future <ul><li>This is a very primitive form of FT implementation </li></ul><ul><li>Common Points yet to be achieved: </li></ul><ul><ul><li>Incorporate SOAP completely </li></ul></ul><ul><ul><li>Make modules separable </li></ul></ul><ul><ul><li>Generalize to include Persistent Objects </li></ul></ul><ul><ul><li>Make Security an important aspect (esp. in Path – 2) </li></ul></ul><ul><li>Path – 1: </li></ul><ul><ul><li>Maintain Server Side FT </li></ul></ul><ul><li>Path – 2: </li></ul><ul><ul><li>Take FT to Client Side (so that it truly becomes transparent) </li></ul></ul>
    16. 16. Simplicity is a prerequisite for reliability. -E. W. Dijkstra

    ×