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

Upload: denis

Post on 05-Jan-2016

33 views

Category:

Documents


1 download

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

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])