660 likes | 796 Views
Building Reliable Web Services: Methodology, Composition, Modeling and Experiment. Pat. P. W. Chan Supervised by Michael R. Lyu Department of Computer Science and Engineering The Chinese University of Hong Kong. 29 November 2007. Outline. Introduction Contribution Related Work
E N D
Building Reliable Web Services: Methodology,Composition, Modeling and Experiment Pat. P. W. Chan Supervised by Michael R. Lyu Department of Computer Science and Engineering The Chinese University of Hong Kong 29 November 2007
Outline • Introduction • Contribution • Related Work • Web Services • Problem Statement • Methodologies for Web Service Reliability • New Reliable Web Service Paradigm • Optimal Parameters • Experimental Results • Web Service Composition Algorithm • Experimental Results • Discussion • Modeling of the Paradigm • Conclusion and Future Work
Introduction • Service-oriented computing is becoming a reality. • Web Service is a promoting technique in the internet. • The benefit of interoperability, reusability, and adaptability. • The problems of service dependability, security and timeliness are becoming critical. • Reliability is an important issue. • Existing web service model needs to be extended to assure reliability. • We propose experimental settings and offer a roadmap to dependable Web services. Introduction
Contribution • Surveyed on reliability methodologies • Surveyed on Web services reliability and Web service composition techniques • Proposed an architecture for dependable Web services • Proposed an algorithm for Web services composition • Developed reliability models for the proposed scheme • Performed experiments for evaluating the reliability of the system and the correctness of the algorithm Introduction
Reliability • "a measure of the success with which the system conforms to some authoritative specification" • Guaranteed delivery • Duplicate elimination • Ordering • Crash tolerance • State synchronization Introduction
What are Web Services ? • Self-contained, modular applications built on deployed network infrastructure including XML and HTTP • Use open standards for description (WSDL), discovery (UDDI) and invocation (SOAP) Introduction
UDDI Internet WSDL WSDL HTTP/SOAP Web Services Introduction
Inter Application Protocols Reliable Messaging Eventing Transactions Building Block Modules Directory Referral Security … Inspection … Routing License Description SOAP The Internet TCP/IP XML HTTP/SMTP Web Services Architecture Introduction
Simplicity Dynamic Standard Web Services Web Services • Benefits of WS • Service-oriented • Highly accessible • Open specification • Easy integration • Number of system using Web service including: shopping, e-banking… Build common infrastructure reducing the barriers of business integration with lower costs and faster speed. Introduction
Problems of Web Services • Transaction • Atomicity is not provided • Security • Insecure Internet transportation • Reliability • The internet is inherently unreliable • No single underlying “transport protocols” address all the reliability issues. Introduction
Problem Statement • Fault-tolerant techniques • Replication • Diversity • Replication is one of the efficient ways for providing reliable systems by time or space redundancy. • Increasing the availability of distributed systems • Key components are re-executed or replicated • Protect against hardware malfunctions or transient system faults • Another efficient technique is design diversity • Employ independently designed software systems or services with different programming teams, • Defend against permanent software design faults. • We focus on the analysis of the replication techniques when applied to Web services. • A generic Web service system with spatial as well as temporal replication is proposed and investigated. Introduction
Road Map for Research • Redundancy in time • Retry • Reboot • Redundancy in space • Sequentially • Parallel • Majority voting using N modular redundancy • Diversified version of different services Introduction
Replication Manager Web Service RR Algorithm / Voting Web Service Web Service IIS Application IIS IIS Database WatchDog Application Application Invoke web service Database Database Client Port Application UDDI Update the WSDL Register Database Registry Keep check the availability of all the web. If Web service failed, update the list of availability of Web services WSDL Look up Get WSDL Proposed Paradigm Reliable Web Service Paradigm
Different Approaches • Replication • Round-robin scheduling algorithm • Design Diversity • N-version programming • Recovery block Reliable Web Service Paradigm
Replication: Round-robin Reliable Web Service Paradigm
Get reply Do not get reply Update the Web service availability list RM sends message to the Web Service All Service failed System Fail Map the new address to the WSDL after RR Work Flow of the Replication Manager Reliable Web Service Paradigm
Design Diversity:Parallel N-Version Programming Reliable Web Service Paradigm
Design Diversity: Recovery Block Reliable Web Service Paradigm
Experiments Variations • A series of experiments are designed and performed for evaluating the reliability of the Web service. Reliable Web Service Paradigm
Varying the parameters • Number of tries • Timeout period for retry in single server • Timeout period for retry in our paradigm • Polling frequency • Number of replicas • Load of server Reliable Web Service Paradigm
Number of tries Reliable Web Service Paradigm
Timeout period for retry in single server Reliable Web Service Paradigm
Timeout period for retry in single server # of failure Timeout period Reliable Web Service Paradigm
Timeout period for retry in our paradigm Reliable Web Service Paradigm
Polling frequency Reliable Web Service Paradigm
Polling frequency # of failure Polling frequency Reliable Web Service Paradigm
Number of Replicas Reliable Web Service Paradigm
Load of Web Server Reliable Web Service Paradigm
Summary of Parameters • Number of tries = 2 • Timeout period for retry in single server = 10s • Timeout period for retry in our paradigm = 5s • Polling frequency = 10 request per min • Number of replicas = 3 • Load of server < 75% Reliable Web Service Paradigm
Testing system • Best Route Finding. • Provide traveling suggestions for users. • Starting point and destination. • The system needs to provide the best route and the price for the users. Reliable Web Service Paradigm
System Architecture Reliable Web Service Paradigm
Experimental Setup • Examine the computation to communication ratio • Examine the request frequency to limit the load of the server to 75% • Fix the following parameters • Computation to communication ratio (e.g 10:1) • Request frequency Reliable Web Service Paradigm
Experimental Setup Reliable Web Service Paradigm
Experiment Parameters • Fault mode • Temporary (fault probability: 0.01) • Permanent (fault probability: 0.001) • Experiment time 5 days (7200 requests) • Measure: • Number of failures • Average response time (ms) • Failure definition: • 5 retries are allowed. If there is still no correct result from the Web service after 5 retries, it is considered as a failure. Reliable Web Service Paradigm
Experimental Result with Round-robin (failures / response time in ms) Reliable Web Service Paradigm
Experimental Result with N-Version (failures / response time in ms) Reliable Web Service Paradigm
Experimental Result with Recovery Block (failures / response time in ms) Reliable Web Service Paradigm
Summary of the proposed paradigm • Temporal replication improves the reliability. • Spatial replication further improves the reliability of Web services. • N-version programming approach is the most reliable and efficient. Reliable Web Service Paradigm
Web Service Composition Algorithm • N-version programming • Reliable • Efficient • Composition • WSDL – Web Services Description Language • WSCI – Web Services Choreography Interface • Verification • BPEL – Business Process Execution Language • Petri-Net Web Service Composition
WSDL <?xmlversion="1.0" encoding="UTF-8"?> … <portTypename=“BRF"> <operationname=“shortestpath"> <inputmessage="tns:startpointDestination"/> <outputmessage="tns:pathArray"/> </operation> <operationname=“addCheckpoint"> <inputmessage="tns:pathArray"/> <outputmessage="tns:addAcknowledgement"/> </operation> … </operation> </portType> </definitions> Web Service Composition
WSCI <correlationname=“pathCorrelation”property=“tns:pathID”></correlation> <interfacename=“busAgent”> <processinstantiation="message"> <sequence> <actionname="ReceiveStartpointDest“role="tns:busAgent“ operation="tns:BRF/shortestpath"> </action> <actionname="Receivecheckpoint“role=" tns:busAgent“ operation="tns:BRF/addCheckpoint"> <correlatecorrelation=“tns: pathCorrelation”/> <callprocess=“tns:SearchPath”/> </action> </sequence> </process> … Web Service Composition
CP4 CP7 CP10 Else, till the root of WSCI Web service composition • Output • Operation in WSDL • Find the output information in CP1 (Web service component) • If Input of the operation == required input CP1 • Else • search in the WSCI of CP1 to find action == operation • Get the pervious action involved • Search in WSDL to find operation == action • If Input of the operation == required input Web Service Composition
Search Agent Bus Agent Train Agent Bus: KMB Train: MTR Starting P1 Starting P2 Web Service Composed Tree Web Service Composition
Petri-Net– Basic Activities Web Service Composition
Petri-Net– Structure Activities Web Service Composition
Composed Petri-Net Web Service Composition