1 / 66

Building Reliable Web Services: Methodology, Composition, Modeling and Experiment

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

judson
Download Presentation

Building Reliable Web Services: Methodology, Composition, Modeling and Experiment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. UDDI Internet WSDL WSDL HTTP/SOAP Web Services Introduction

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. Different Approaches • Replication • Round-robin scheduling algorithm • Design Diversity • N-version programming • Recovery block Reliable Web Service Paradigm

  15. Replication: Round-robin Reliable Web Service Paradigm

  16. 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

  17. Design Diversity:Parallel N-Version Programming Reliable Web Service Paradigm

  18. Design Diversity: Recovery Block Reliable Web Service Paradigm

  19. Experiments Variations • A series of experiments are designed and performed for evaluating the reliability of the Web service. Reliable Web Service Paradigm

  20. 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

  21. Number of tries Reliable Web Service Paradigm

  22. Timeout period for retry in single server Reliable Web Service Paradigm

  23. Timeout period for retry in single server # of failure Timeout period Reliable Web Service Paradigm

  24. Timeout period for retry in our paradigm Reliable Web Service Paradigm

  25. Polling frequency Reliable Web Service Paradigm

  26. Polling frequency # of failure Polling frequency Reliable Web Service Paradigm

  27. Number of Replicas Reliable Web Service Paradigm

  28. Load of Web Server Reliable Web Service Paradigm

  29. 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

  30. 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

  31. System Architecture Reliable Web Service Paradigm

  32. 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

  33. Experimental Setup Reliable Web Service Paradigm

  34. 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

  35. Experimental Result with Round-robin (failures / response time in ms) Reliable Web Service Paradigm

  36. Experimental Result with N-Version (failures / response time in ms) Reliable Web Service Paradigm

  37. Experimental Result with Recovery Block (failures / response time in ms) Reliable Web Service Paradigm

  38. 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

  39. 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

  40. 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

  41. 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

  42. Web Service Composition

  43. 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

  44. Search Agent Bus Agent Train Agent Bus: KMB Train: MTR Starting P1 Starting P2 Web Service Composed Tree Web Service Composition

  45. Web Service Composition

  46. Petri-Net– Basic Activities Web Service Composition

  47. Petri-Net– Structure Activities Web Service Composition

  48. Composed Petri-Net Web Service Composition

  49. Web Service Composition

  50. Web Service Composition

More Related