41
1 Building Reliable Web Services: Methodology, Composition, Modeling and Experiment Pat. P. W. Chan Department of Computer Science and Engineering The Chinese University of Hong Kong 23 October 2007

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

Embed Size (px)

DESCRIPTION

Building Reliable Web Services: Methodology, Composition, Modeling and Experiment. Pat. P. W. Chan Department of Computer Science and Engineering The Chinese University of Hong Kong. 23 October 2007. Outline. Introduction to Web Services Problem Statement - PowerPoint PPT Presentation

Citation preview

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

1

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

Pat. P. W. Chan

Department of ComputerScience and EngineeringThe Chinese University of Hong Kong

23 October 2007

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

2

Outline Introduction to Web Services Problem Statement Methodologies for Web Service Reliability New Reliable Web Service Paradigm Web Service Composition Algorithm Experimental Results and Discussion Conclusion

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

3

Introduction Service-oriented computing is becoming a reality. The problems of service dependability, security and

timeliness are becoming critical. We propose experimental settings and offer a

roadmap to dependable Web services.

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

4

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.

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

5

Proposed Paradigm

Replication Manager

RR Algorithm / Voting

WatchDog

UDDI

Registry

WSDL

Web ServiceIIS

Application

Database

Web ServiceIIS

Application

Database

Web ServiceIIS

Application

Database

Client

Port

Application

Database Register

Look up

Get WSDL

Invoke web service

Keep check the availability of all the web.If Web service failed, update the list of availability of Web services

Update the WSDL

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

6

Round Robin

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

7

Parallel N-Version Programming

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

8

Recovery Block

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

9

Experiments A series of experiments are designed and performed for

evaluating the reliability of the Web service,

Spatial replication 0 0 0 0 1 1 1 1

Reboot 0 0 1 1 0 0 1 1

Retry 0 1 0 1 0 1 0 1

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

10

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.

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

11

System Architecture

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

12

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

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

13

Experimental Setup

Communication time: Computation time

143:14 (10:1)

Request frequency 1 request per min

Load 78.5%

Timeout period of retry 1 min

Timeout for Web service in RM 1s (web service specific)

Polling frequency 10 requests per min

Number of replicas 5

Max number of retries 5

Round-robin rate 1 s

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

14

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.

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

15

Experimental Result with Round-robin (failures / response time in ms)

Experiments Single server Single server with retry

Single server with reboot (continues no response for 3 requests)

Single server with retry and reboot

Spatial ReplicationRR

Hybrid approachRR+Retry

Hybrid approachRR+Reboot

All round approach RR spatial + Retry(5 times) + reboots

Normal case 0 / 183 0 / 193 0 / 190 0 / 187 0 / 188 0 / 195 0 / 193 0 / 190

Temp 705 / 190 0 / 223 723 / 231 0 / 238 711 / 187 0 / 233 726 / 188 0 / 231

Perm 6144 / -- 6337 / -- 1064 / -- 5 / 2578 5637 / -- 5532 / -- 152 / 187 0 / 191

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

16

Experimental Result with N-Version (failures / response time in ms)

Experiments Single server Single server with retry

Single server with reboot (continues no response for 3 requests)

Single server with retry and reboot

Spatial ReplicationVoting

Hybrid approachVoting+Retry

Hybrid approachVoting +Reboot

All round approach Votingspatial + Retry(5 times) + reboots

Normal case 0 / 183 0 / 193 0 / 190 0 / 187 0 / 189 0 / 190 0 / 188 0 / 188

Temp 705 / 190 0 / 223 723 / 231 0 / 238 0 / 190 0 / 190 0 / 189 0 / 187

Perm 6144 / -- 6337 / -- 1064 / -- 5 / 2578 3125 / 191 3418 / 192 40 / 189 0 / 188

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

17

Experimental Result with Recovery Block (failures / response time in ms)

Experiments Single server Single server with retry

Single server with reboot (continues no response for 3 requests)

Single server with retry and reboot

Spatial ReplicationVoting

Hybrid approachVoting+Retry

Hybrid approachrollback

+Reboot

All round approach

rollback spatial + Retry(5 times) + reboots

Normal case 0 / 183 0 / 193 0 / 190 0 / 187 0 / 191 0 / 189 0 / 193 0 / 188

Temp 705 / 190 0 / 223 723 / 231 0 / 238 0 / 205 0 / 203 0 / 204 0 / 201

Perm 6144 / -- 6337 / -- 1064 / -- 5 / 2578 3478 / 215 3245 / 208 201 / 211 0 / 201

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

18

Web Service Composition Algorithm N-version programming

Reliable Efficient

Composition WSDL WSCI

Verification BPEL Petri-Net

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

19

<?xml version="1.0" encoding="UTF-8"?>…<portType name=“BRF"> <operation name=“shortestpath"> <input message="tns:startpointDestination"/> <output message="tns:pathArray"/> </operation>

<operation name=“addCheckpoint"> <input message="tns:pathArray"/> <output message="tns:addAcknowledgement"/> </operation>…</operation></portType></definitions>

WSDL

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

20

<correlation name=“pathCorrelation” property=“tns:pathID”></correlation>

<interface name=“busAgent”> <process instantiation="message"> <sequence> <action name="ReceiveStartpointDest“ role="tns:busAgent“ operation="tns:BRF/shortestpath"> </action> <action name="Receivecheckpoint“ role=" tns:busAgent“ operation="tns:BRF/addCheckpoint"> <correlate correlation=“tns: pathCorrelation”/> <call process=“tns:SearchPath”/> </action></sequence></process>…

WSCI

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

21

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

22

1. Output2. Operation in WSDL3. Find the output information in CP1 (Web

service component)4. If Input of the operation == required input

CP1

5. Elsesearch in the WSCI of CP1 to find action == operation

6. Get the pervious action involved7. Search in WSDL to find operation == action 8. If Input of the operation == required input

CP4

Else, till the root of WSCI

Web service composition

CP7 CP10

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

23

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

24

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

25

Petri-Net– Basic Activities

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

26

Petri-Net– Structure Activities

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

27

Composed Petri-Net

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

28

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

29

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

30

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

31

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

32

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

33

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

34

Petri-Net (Four identical replicas)

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

35

Petri-Net (N-version Web service with voting)

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

36

Petri-Net (Recovery Block)

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

37

(a)

(b)

P1

λ1

μ1c2

S-j

P2

μ2c2

λ2

S-j-1

S

S-n

F

λN

μ*c2

(1-c1)μ*

λ* S-1 S-2

λ*

μ*c2

λ*

(1-c1)μ*(1-c1)μ*

F

(1-c1)μ1

(1-c1)μ2

(1-c2)μ1

(1-c2)μ2

Reliability Model

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

38

Reliability Model

1 2 1 2 2 2* (1 ) (1 )C C 1 1 2 2*

ID Description Value

λn Network failure rate 0.02

λ* Web service failure rate 0.025

λ1 Resource problem rate 0.142

λ2 Entry point failure rate 0.150

μ* Web service repair rate 0.286

μ1 Resource problem repair rate 0.979

μ2 Entry point failure repair rate 0.979

C1 Probability that the RM response on time 0.9

C2 Probability that the server reboot successfully 0.9

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

39

Outcome (SHARPE)

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

40

Conclusion Surveyed replication and design diversity techniques

for reliable services. Proposed a hybrid approach to improving the

availability of Web services. Proposed a Web service composition algorithm and

verified by Petri-Net. Carried out a series of experiments to evaluate the

availability and reliability of the proposed Web service system.

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

41

Q&A