motivation - desktop studies - desktop systems - enhancing tel - outlook combining global...
TRANSCRIPT
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
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
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
OutlineOutline
Introduction
QoS computation model
Global vs. Local QoS Optimization
A hybrid approach
Experimental evaluation
Conclusion and future work
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
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)
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
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
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
• 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
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
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
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
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
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
qQsU
Local Selection IILocal Selection II
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
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
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
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
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