Determining QoS of WS-BPEL Compositions

31
3 rd Dec, 2008 ICSOC, 2008 1 Determining QoS of WS-BPEL Compositions Debdoot Mukherjee, IBM Research Pankaj Jalote, IIT Delhi Mangala Gowri Nanda, IBM Research

description

With a large number of web services offering the same functionality, the Quality of Service (QoS) rendered by a web service becomes a key differentiator. WS-BPEL has emerged as the de facto industry standard for composing web services. Thus, determining the QoS of a composite web service expressed in BPEL can be extremely beneficial. While there has been much work on QoS computation of structured workflows, there exists no tool to ascertain QoS for BPEL processes, which are semantically richer than conventional workflows. We propose a model for estimating three key QoS parameters - Response Time, Cost and Reliability - of an executable BPEL process from the QoS information of its partner services and certain control flow parameters. We have built a tool to compute QoS of a WS-BPEL process that accounts for most workflow patterns that may be expressed by standard WS-BPEL. Another feature of our QoS approach and the tool is that it allows a designer to explore the impact on QoS of using different software fault tolerance techniques like Recovery blocks, N-version programming etc., thereby provisioning QoS computation of mission critical applications that may employ these techniques to achieve high reliability and/or performance.

Transcript of Determining QoS of WS-BPEL Compositions

Page 1: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 1

Determining QoS of WS-BPEL Compositions

Debdoot Mukherjee, IBM ResearchPankaj Jalote, IIT Delhi

Mangala Gowri Nanda, IBM Research

Page 2: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 2

Agenda Background and Motivation

Importance of WS-BPEL & QoS therein QoS in Structured Workflows WS-BPEL vs Structured Workflows

QoS Model for WS-BPEL Inputs Overall Approach Model Elements Algorithm Activity Specific QoS Rules

QoS Tool Conclusions

Page 3: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 3

Background With SOA gaining prominence

More composed services than written from scratch A number of services providing same functionality

in a marketplace for services Quality of Service (QoS) is the key differentiator

during orchestration BPEL is the de facto standard for composing web

services A Comprehensive QoS computation model for

WS-BPEL processes is required.

Page 4: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 4

QoS in Structured Workflows

Cardoso1 applies reduction rules on a structured workflow to compute its reliability, time and cost. Sequential Parallel Conditional Loop Fault Tolerance

1 Jorge A. Cardoso, Quality of Service and Semantic Composition of Workflows, Ph.D. Thesis, University of Georgia, 2002

Page 5: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 5

Workflow Reduction

R2 = 0.9T2 = 5

C2 = 10

R1 = 0.8T1 = 15 C1 = 5

R3 = 0.7T3 = 20 C3 = 15

R4 = 0.9T4 = 10 C4 = 10

Page 6: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 6

Workflow Reduction

R′ = R1 * R2 = 0.7T ′ = T1 + T2 = 20 C′ = C1 + C2 = 15

R′′ = R3 * R4 = 0.63T′′ = T3 + T4 = 30

C′′ = C3 + C4 = 25

Page 7: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 7

Workflow Reduction

R = R′ * R′′ = 0.43T = Max(T′, T′′) = 30

C = C′ + C′′ = 40

Page 8: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 8

Workflow Reduction

A D

C E

B

Page 9: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 9

Why is BPEL different ??

BPEL has features of both structured languages as well as graph based flow languages Greater expressive power arising from

synchronization links between activities possibly nested inside different structured constructs

Fault handling Event driven programming

Page 10: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 10

Lack of Structure…But more power !!

receive loanAmount

invoke LoanApprover invoke LoanAssessor

invoke LoanProcess

loanAmount >= $100K loanAmount < $100K

reply

risk = “low”

risk = “high”

Page 11: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 11

Passport Service Exampleflow

invoke ifinvoke invoke

invoke

Page 12: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 12

Inputs to the QoS Model

QoS parameters for all web services in the composition

Average Waiting Times for incoming messages: <receive> & <onMessage>

Control Flow parameters Branch Probabilities in <if> & <pick> Average number of unrolling for Loops Probability of success for <transitionCondition> Fraction of faults captured by <catch> blocks

Page 13: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 13

QoS Model Overview

Build an activity graph where activities / scopes / handlers are the nodes.

Each node X is annotated by its: Child Nodes – Activities directly contained within X Control Dependencies

Source of an incoming synchronization link to X An activity that precedes X in <sequence>

Catch blocks and all handlers Recursive QoS algorithm calculates QoS at

each node.

Page 14: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 14

QoS Elements

P(SX): Probability that X successfully executes in any run of the process

ETX: Expected time of completion of X measured relative to the start of the process

CostX: Sum of expected costs of all child nodes of X

Page 15: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 15

Auxiliary Elements

P(startX): Probability that X may start execution in a state that is semantically in accordance with one which is expected at that point. P(SX) = F(P(startX), f (P(Schild1

), P(Schild2), ..))

STX: Denotes the time instant when X is ready to start all its dependencies have ended. ETX = STX + Time taken by children of X

PCX: Conditional probability that X will start execution given that the parent of X starts. CostX = Σ (PCX * Costchildi

)

Page 16: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 16

Algorithm : setQoS(X)

for all Z such that X is dependent on Z dosetQoS(Z)

end for

Compute P(startX), STX and PCX // Aux.for all Z such that Z is a child of X do

setQoS(Z)end for

Compute P(SX), ETX and CostX according to rules specific to Type of X

Page 17: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 17

Determine P(startX)

For each incoming link Ai , find the probability that it evaluates to true:

Represent the Join Condition in Sum of Products form and apply standard laws of union & intersection to evaluate P(joinCondition = true)

To compute P(startX) we take a product of the following probabilities, if they are applicable: P(startparentX

), if X starts along with parent(X)

P(S ) of predecessor in sequence P(joinConditionX = true)

)().()( )( trueConditiontransitionPPtrueAP ii AAsourcei S

Page 18: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 18

P(startX) Calculation Example1.0

0.8

R = 0.9 R = 0.9R = 0.8

0.7 0.9

0.8

1.0 1.01.0

1.0

P(X) = 0.64 P(Y) = 0.63 P(Z) = 0.81

P((X U Y) ∩ Z) = 0.7

0.7R = 0.9

Page 19: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 19

Compute STX and PCX

STX is taken to be the maximum of: ET of predecessor in <sequence> ET of source activities of all incoming links STparent(X)

PCX is calculated as:)|( )(XparentXX startstartPPC

1))(|( Since ,)(

)()(

)(

XXparentXparent

X startPstartPstartP

startP

Page 20: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 20

QoS for <invoke>

Rws : Conditional probability that an invocation to an external web service fails even if the call is made with proper arguments

P(S invoke) = Rws x P(start invoke) ETinvoke = STinvoke + Tws

Costinvoke = Cws

Rws and Tws incorporate failures and latencies respectively that arise both at the service site or from the network

Page 21: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 21

QoS in Structured Activities

Activity P(S ) ET Cost

Sequence

Flow

If

Pick

Loop

)( lastChildP S lastChildET

i

childchild iiCostPC

ii

P )( sinkS )( sink iETMax i

i

bri iPselP )()( S

i

evti iPselP )()( S

i

bri iETselP )(

i

evti iETselP )( ii evt

ievti CostPCselP )(

ii bri

bri CostPCselP )(

nchildi PstartP )()( S loopChildloop ETnST loopChildCostn

i

childchild iiCostPC

Page 22: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 22

Reliability of Passport Service

1.0

0.8

R = 0.9 R = 0.9R = 0.8

0.7 0.9

0.8

1.0 1.01.0

1.0

P(X) = 0.64 P(Y) = 0.63 P(Z) = 0.81

P((X U Y) ∩ Z) = 0.7

0.7R = 0.9

, 0.63

, 0.704

, 0.704

, 0.8 , 0.9 , 0.9

Page 23: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 23

Tool Screenshot

Page 24: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 24

Conclusions

QoS computation of WS-BPEL processes requires special attention because of the unique features supported by it

Fault handler, event handlers need to dealt with in the same light as other activities

Mechanism to estimate QoS improvement derived from Fault Tolerance constructs is important.

Page 25: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 25

Thank You!!

Page 26: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 26

Backup

Page 27: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 27

Fault Handlers

Page 28: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 28

Motivation – Fault Tolerance

High levels of reliability, strict adherence to performance limits required in mission critical applications

Create dependable apps out of undependable services

High risk is involved because software is not owned

One does not build redundant services, only pays a certain fee

Page 29: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 29

QoS in Structured WorkflowsCardoso gives reduction rules for structured constructs

Construct Reliability Response Time Cost

Sequential

Parallel

Conditional

Loop

i

iR i

iT i

iC

i

iR

ii

i Cp

i

iC}Max{ iT

i

i

p

T

1 i

i

p

C

1ii

ii

Rp

Rp

1

)1(

* In addition, he specifies QoS rule for a Fault Tolerant construct.

ii

i Tp ii

i Rp

Page 30: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 30

Quality vs Quality of Service

Software Quality Quality of Service

Subjective Objective

Contains both external and internal

characteristics

Contains only external attributes that are

unambiguously measurable

Reliability, Execution Time, Understandability

Portability, Maintainability

Reliability, Availability, Response Time, Cost.

Page 31: Determining QoS of WS-BPEL Compositions

3rd Dec, 2008 ICSOC, 2008 31

Passport Service Inputs