Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

21
Motivation - Desktop studies - Desktop systems - Enhancing TEL - Outlook Combining Global Optimization with Local Combining Global Optimization with Local Selection for Efficient QoS-aware Selection for Efficient QoS-aware Service Composition Service Composition Mohammad Alrifai and Thomas Risse Mohammad Alrifai and Thomas Risse The International WWW Conference – April 22 The International WWW Conference – April 22 th th , 2009 , 2009 L3S Research Center L3S Research Center University of Hanover University of Hanover Germany Germany

description

L3S Research Center University of Hanover Germany. Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition. Mohammad Alrifai and Thomas Risse The International WWW Conference – April 22 th , 2009. Introduction. QoS-aware Architecture*. Broker. - PowerPoint PPT Presentation

Transcript of Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Page 1: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Motivation - Desktop studies - Desktop systems - Enhancing TEL - Outlook

Combining Global Optimization with Local Selection Combining Global Optimization with Local Selection

for Efficient QoS-aware Service Compositionfor Efficient QoS-aware Service Composition

Mohammad Alrifai and Thomas RisseMohammad Alrifai and Thomas Risse

The International WWW Conference – April 22The International WWW Conference – April 22thth, 2009, 2009

L3S Research CenterL3S Research Center

University of HanoverUniversity of Hanover

GermanyGermany

Page 2: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

IntroductionIntroduction

Broker

QoS RegistryQoS Registry

Service provider

Service Consume

r

Fin

d s

ervi

ceQ

oS F

eedbac

k Update Q

oS

UDDIUDDI

Publish

Service invocation

QoS-aware Architecture*

Service provider

Service Consume

r

Find

serv

ice

UDDIUDDI

Publish

Service invocation

Web service Architecture

* Liu et al: QoS Computation and Policing in Dynamic Web Service Selection – in WWW 2004

Page 3: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

INPUT: Abstract Process

task

web service

WWWDiscovery

Abstract representation:

workflow-like languages: e.g.

BPEL

Web service discovery:

Matching functional

requirements:

e.g. credit card verification,

flight

booking, etc.

Web service selection:

Fulfilling Non-functional

requirements:

e.g. latency, availability, price, etc.

Dynamic Web Service Dynamic Web Service CompositionComposition

OUTPUT: Executable Web Process

QoS-based Selection

Alternative web services

Page 4: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

OutlineOutline

Introduction

QoS computation model

Global vs. Local QoS Optimization

A hybrid approach

Experimental evaluation

Conclusion and future work

Page 5: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

QoS Computation ModelQoS Computation Model

QoS Attributes (q): o Quantitative: e.g. price ($), availability (uptime%), response time (sec)o Positive (e.g. availability) o Negative (e.g. price)

QoS vector (Q):o Component service: Qs = {q1, q2, ..., qr}

o Composite service: Qcs = {q‘1, q‘2, ..., q‘r} where q‘ is the aggregated QoS value

QoS constraints vector(C):o Local constraints: Cs = {c1, ..., cr} upper bound values for Qs

o Global constraints: Ccs = {c‘1, ..., c‘r} end-to-end upper bound values for Qcs

Page 6: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Problem statement:

Given a composition request CS = {S1, S2, ..., Sn},

a list of service candidates for each service class Sj in CS,

a vector of m end-to-end QoS constraints Ccs = {c‘1, c‘2, ..., c‘m},

and a utility function,

select one web service sj for each service class Sj in CS such that:

(1) q‘k ≤ c‘k , 1 ≤ k ≤ m, i.e. all constraints are satisfied

(2) Overall utility is maximized

QoS Optimization ProblemQoS Optimization Problem

Feasible Solutions:

Any selection that fulfills (1)

Optimal Solution:

Any selection that fulfills (1) and (2)

Page 7: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Local QoS Optimization*:

o Component services are selected

independently

o Service candidates are ranked by utility

value

o Very efficient (linear complexity)

o Distributed computation

o Cannot satisfy end-to-end QoS constraints

Abstract services

Alt

ern

ati

ve

serv

ices

Existing Solutions IExisting Solutions I

* Liu et al: QoS Computation and Policing in Dynamic Web Service Selection – in WWW 2004

Concrete services

Page 8: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Global QoS Optimization*:

o The problem is modeled as a Mixed Integer Linear Program

Existing Solutions IIExisting Solutions II

* Zeng et al: Quality Driven Web Services Composition – in WWW 2003* Ardagna et al: Adaptive Service Composition in Flexible Processes - in IEEE Trans. on Software Eng. 2007

Service composer

Service Broker 1

Service Broker 2

Service Broker n

Candi

date

Ser

vice

s

Candidate

Services

Can

did

ate

S

erv

ices

QoS Registry

QoS Registry

QoS Registry

OUTPUT: Executable composite service INPUT: Abstract composite service

Page 9: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Global QoS Optimization*:

o Existing MILP solvers can be used to find the optimal solution

o Can satisfy end-to-end QoS constraints

o Inefficient: exponential complexity w.r.t. number of services

o Supports only linear utility functions

o Centralized computation

o Re-computation is required in case of service failure

Existing Solutions IIExisting Solutions II

* Zeng et al: Quality Driven Web Services Composition – in WWW 2003* Ardagna et al: Adaptive Service Composition in Flexible Processes - in IEEE Trans. on Software Eng. 2007

Page 10: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

• Our goal: a compromise between performance and optimality

• Divide the problem into two sub-problems that can be solved more efficiently than the original problem

A Hybrid ApproachA Hybrid Approach

Constraint Decomposition

Global QoS constraints

Local QoS constraints

Local Selection

QoS Registry

QoS Registry

QoS Registry

Step1 (Global optimization): each global QoS constraint is decomposed into a set of local constraints

Step2 (Local Optimization): the best service candidate that satisfies local constraints is selected

Local Selection

Local Selection

Page 11: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

A non-trivial tasko Different service classes can have different distributions of

QoS values

Proposed approach:

Decomposition of QoS Decomposition of QoS Constraints IConstraints I

o Map global constraints into local quality levels, such that:

• Selected quality levels serve as conservative local constraints

• Local constraints are relaxed as much as possible

o Extract quality levels for each class based on local characteristics

Page 12: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

1. Extracting Quality levels of service class Sj:

a) , divide the QoS value range into d sub-

ranges

b) Randomly select one value qkz from each sub-range, 1 ≤ z ≤ d

c) Assign each level qkz a value pk

z between 0 and 1, which estimates

the benefit of using this level as local constraint:

Decomposition of QoS Decomposition of QoS Constraints IIConstraints II

dz1 q

pz

kzk ,

utility max

)utility(highest

services candidate of num. total

services qualified of num.

rk1Qqk ,

100

95

80...

65

45

30

15

100

95

80

79

70

65

45

30

15

100 1.0

65

30

100

65 0.7

30 0.25

Quality Levels

qkz pk

z

Page 13: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

2. Mapping global QoS constraints into local quality levels:o using Mixed Integer Linear Programming

o Objective function:

Decomposition of QoS Constraints Decomposition of QoS Constraints IIIIII

oA binary variable xjkz for each quality level qjk

z:

classth - for the selected is if 1otherwise 0 jq z

jkzjkx

oObjective function:

zjk

n

j

zjk

zjk

n

j

zjk

xpln

xp

d

1z 1

d

1z 1

)( maximize i.e

maximize

oConstraints:

nj1x

cxq

zjk

k

d

z

n

j

zjk

zjk

, 1 with

' )(

d

1z

1 1

Page 14: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

o Local constraints are sent to service brokers to perform local selection

Local Selection ILocal Selection I

Service composer

Service Broker 1

Service Broker 2

Service Broker n

Qua

lity

leve

ls

Loca

l con

stra

ints

Loca

l co

nst

rain

ts

Quality levels

Local constraints

Qu

ali

ty l

eve

ls

QoS Registry

QoS Registry

QoS Registry

INPUT: Abstract composite service

Step 1: Decomposition of global QoS constraints

Service composer

Service Broker 1

Service Broker 2

Service Broker n

Best

loca

l

cand

idat

e 1 B

est local

candidate n

Best

loca

l ca

nd

idate

2

QoS Registry

QoS Registry

QoS Registry

OUTPUT: Executable composite service

Step 2: Local selection of best candidates

Page 15: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

o Filtering:

Service brokers filter out services that violate local constraints

o Ranking (Simple Additive Weighting method):

o Normalization: relative distance to worse value

o Weighting: represents user priorities

wk = weight(qk), 0 ≤ wk ≤ 1 , ∑ wk =1

)( minmax

max

k

r

1k kk

ikki w

QQ

qQsU

Local Selection IILocal Selection II

Page 16: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

16040.150

200101.010

20065.035

14035.020

Q

Serv

ice

can

did

ate

s

QoS attributes

8.04.00.10.1

0.10.11.02.0

0.16.05.07.0

7.03.05.04.0

15.08.005.04.02.00.16.00.1

15.00.105.00.12.01.06.02.0

15.00.105.06.02.05.06.07.0

15.07.005.03.02.05.06.04.0

94.0

34.0

70.0

46.0

Utility values

normalization

weighting

Serv

ice

Can

did

ate

s

sum

Local Selection IIILocal Selection III

Page 17: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Evaluation methodology

1. Two datasets: Real dataset (QWS*) and synthetic dataset (normally

distributed)

2. Random assignment of services to classes

3. Given a set of global QoS constraints select the best component

services using:

a. Global optimization approach (Mixed-Integer Linear Programming)

b. Our hybrid approach

4. Measure the performance of both approaches (computation time)

5. Measure the distance to optimal results: optimality (%) = utility of obtained solution / utility of optimal

solution

Experimental EvaluationExperimental Evaluation

* Al-Masri et al: Investigating web services on the world wide web-in WWW2008

Page 18: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

1

10

100

1000

10000

50 100 150 200 250 300 350 400 450 500

Com

puta

tion

tim

e (m

sec)

num of alternative web services

QWS dataset

Global

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50

Results IResults I

90

92

94

96

98

100

102

50 100 150 200 250 300 350 400 450 500

Opti

mal

ity

(%)

num of alternative web services

QWS dataset

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50

1

10

100

1000

10000

100000

Com

puta

tion

tim

e (m

sec)

num of alternative web services

Random Dataset

Global

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50 93

94

95

96

97

98

99

100

101

Opti

mal

ity

(%)

num of alternative web services

Random Dataset

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50

Page 19: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Results IIResults II

1

10

100

1000

10000

5 10 15 20 25

Com

puta

tion

tim

e (m

sec)

num of service classes

QWS dataset

Global

Hybrid_5

Hybrid_10

Hybrid_15

Hybrid_20

Hybrid_25 93

94

95

96

97

98

99

100

101

5 10 15 20 25

Opti

mal

ity

(%)

num of service classes

QWS dataset

Hybrid_5

Hybrid_10

Hybrid_15

Hybrid_20

Hybrid_25

1

10

100

1000

10000

100000

1000000

10 20 30 40 50 60 70 80 90 100

Com

puta

tion

tim

e (m

sec)

num of service classes

Random dataset

Global

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50 96

96.5

97

97.5

98

98.5

99

99.5

100

100.5

10 20 30 40 50 60 70 80 90 100

Opti

mal

ity

(%)

num of service classes

Random dataset

Hybrid_10

Hybrid_20

Hybrid_30

Hybrid_40

Hybrid_50

Page 20: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

We have proposed a scalable service selection method that is able to achieve close-to-optimal results with low cost and can be implemented in a distributed infrastructure.

The idea: divide the problem into two sub-problems:

1. Constraint decomposition: solved by global optimization

2. QoS optimization: solved by guided local selection

Next steps:o Developing adaptive methods for determining quality levelso Scalability with respect to num. of service classes

Conclusion and Future WorkConclusion and Future Work

Page 21: Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition

Thank you!

Mohammad Alrifai ([email protected])

Thomas Risse ([email protected])