Rogério de Lemos ICSE WADS 2004 – May 2004 – 1
An Architectural Approach for Improving Availability in Web Services - - PowerPoint PPT Presentation
An Architectural Approach for Improving Availability in Web Services - - PowerPoint PPT Presentation
An Architectural Approach for Improving Availability in Web Services Evangelos Parchas and Rogrio de Lemos Computing Laboratory - University of Kent at Canterbury, UK Motivation Architectural pattern Implementation and results
Rogério de Lemos ICSE WADS 2004 – May 2004 – 2
Motivation
Dependable systems that are built from existing
components/systems/services;
existing systems cannot be trusted, they are not under the
control of the architect;
the system has to be protected against faults;
A good architecture improves the handling of faults:
error confinement, and reduction of system complexity;
Application of traditional fault tolerant techniques:
Components – self-checking and comparison for error
detection and confinement ;
System – system dynamic reconfiguration for fault handling;
Rogério de Lemos ICSE WADS 2004 – May 2004 – 3
Motivation
Not quite ‘Web services’:
HTML and text, but we are getting there;
Rogério de Lemos ICSE WADS 2004 – May 2004 – 4
Architectural Solution
For improving the reliability and availability of systems by using multiple sources of information:
Components implement crash-failure semantics;
- plus timing self-checks;
System dynamic reconfiguration;
Rogério de Lemos ICSE WADS 2004 – May 2004 – 5
Architectural Solution
i I n p u t B r i d g e _ 1 B r i d g e _ 2 C
- m
p a r a t
- r
M a n a g e r i O u t p u t i I n p u t
Failure assumptions:
Bridge: arbitrary failures; Comparator: crash-failures;
- n failures for n+1 Bridges;
Manager: does not fail;
Rogério de Lemos ICSE WADS 2004 – May 2004 – 6
Architectural Solution
i I n p u t B r i d g e _ 1 B r i d g e _ 2 C
- m
p a r a t
- r
M a n a g e r i O u t p u t i I n p u t
Rogério de Lemos ICSE WADS 2004 – May 2004 – 7
Architectural Solution
i I n p u t B r i d g e _ 1 B r i d g e _ 2 C
- m
p a r a t
- r
M a n a g e r i O u t p u t i I n p u t
Rogério de Lemos ICSE WADS 2004 – May 2004 – 8
Architectural Solution
i I n p u t B r i d g e _ 1 B r i d g e _ 2 B r i d g e _ 3 B r i d g e _ 4 C
- m
p a r a t
- r
M a n a g e r C
- m
p a r a t
- r
i O u t p u t i I n p u t i I n p u t i I n p u t
Rogério de Lemos ICSE WADS 2004 – May 2004 – 9
N Self-Checking Programming
NSCP is a design diverse technique that uses redundancies to check its own behaviour during execution.
iInput Variant1 Variant2 Variant3 Variant4 Comparator 12 Comparator Final Comparator 34
NSCP
iOutput
Rogério de Lemos ICSE WADS 2004 – May 2004 – 10
Case Study: Stock Quotes
iWeb Bridge Yahoo Bridge Lycos Bridge Quicken Bridge MSN Comparator Manager Comparator iWeb iWeb iWeb Client StockQuotes Yahoo StockQuotes Lycos StockQuotes Quicken StockQuotes MSN Lookup Services iManager
Implemented in Jini: set of APIs and network protocols that help in building and deploying distributed systems;
Rogério de Lemos ICSE WADS 2004 – May 2004 – 11
Implementation Analysis
System statistics: total restoration time (ms) Reliability and availability of the services and final system
205 Total restoration 123 Stream restoration 2 Reconfiguration 80 Failure detection Average time (ms) 0.999 0.6 f/p System Service 0.998 6.9 f/p MSN 0.998 8.4 f/p Quicken 0.983 81.3 f/p Lycos 0.999 4.2 f/p Yahoo Availability Reliability
(failure rate)
Rogério de Lemos ICSE WADS 2004 – May 2004 – 12
Concluding Remarks
Architectural solution for improving the reliability and
availability of Web services:
it might be naïve but it does the job;
- its feasibility was shown in the context of stock quote
information; Current and future work:
apply the architectural solution in the context of Web
services;
special attention will be given to the Bridge component for
the purpose of fault tolerance:
- addition of the non-functional interface;
- automatic generation of an implementation;