You are on page 1of 8

2014 IEEE International Conference on Web Services

Partial Selection: An Efcient Approach for QoS-Aware Web Service Composition


Ying Chen, Jiwei Huang, Chuang Lin
Tsinghua National Laboratory for Information Science and Technology
Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China
Email: chenying12@mails.tsinghua.edu.cn, huangjw05@gmail.com, chlin@tsinghua.edu.cn

The current web service QoS standards are focused on


several attributes, such as response time, throughput, reliability, security, etc. [4], [5]. Therefore, QoS-aware web service
composition has to be formulated as a multi-objective optimization problem. An existing idea for solving such problem
is to transform the problem into single objective optimization
by using a utility function for comprehensively evaluating
the multiple attributes of service composition, and thus it can
be formulated into a well known (traditional) optimization
problem which can be solved by techniques that have been
studied for years [3], [6], [7]. On the other hand, however,
another approach has been developed in recent years, which
is more general than the former ones and able to tackle the
tradeoff between various objectives [8]. The basic idea is to
nd the Pareto set of the solutions instead of a single one,
guaranteeing that at least one objective is optimal if all the
other objectives remain constant.
Nowadays, as the number of functionally-equivalent services with different QoS levels is increasing rapidly, the
search space size of compositions is growing dramatically.
The efciency of service composition algorithms becomes
a challenging issue. Heuristic algorithms can be applied to
nd the solutions with high efciency [9], [10]. However, the
optimality is usually unprovable. Another way to tackle this
challenge is to select an appropriate set of candidate services
at the rst step, pruning unpromising candidates before
composition [8]. It can reduce search space size signicantly
while it is proven able to guarantee the optimality as well
as satisfy QoS constraints.
In this paper, we focus on the problem of reducing search
space in multi-objective optimization, and propose a partial
selection technique for efcient web service composition
based on Pareto set model. More general than existing
approaches, we study the QoS attributes in web service comprehensively, and classify them into six categories according
to their properties in aggregation pattern. Besides additive
and multiplicative functions, we further study boolean operations, such as union and intersection, which are important
in web services but usually ignored by existing works. We
systematically dene the dominance relationship between
candidates and between workows, based on which we
theoretically prove that pruning candidates outside the local
Pareto sets can remarkably reduce the search space while
promising the optimality. Moreover, we dene the bad
cumulative effect of QoS attributes, and state how to move
the constraints validation to the candidates level, which

AbstractWith the increasing presence of web services on


the Internet, Quality of Service (QoS) is becoming important
for describing non-functional characteristics of web services,
and is often employed in web service composition. As QoS
is an aggregated concept consisting of several attributes,
service composition on enormous candidate sets is a challenging multi-objective optimization problem. In this paper,
we study the problem from a general Pareto-optimal angle,
seeking to reduce the search space in service composition.
QoS attributes are systematically studied according to their
different types of aggregation pattern in service composition,
and QoS-based dominance relationships between candidates
and between workows are dened. Taking advantage of
pruning candidates by dominance relationships and constraint
validations at candidate level, a service composition algorithm
using partial selection technique is proposed, which is able
to signicantly reduce the search space and achieve great
performance gains. A careful analysis of the optimality of our
approach is provided, and its efcacy is further validated by
empirical evaluation.
Keywords-Web services; service composition; quality of service (QoS); partial selection.

I. I NTRODUCTION
A web service is a software system providing accessibility
through standard communication protocols, which offers
a potential way to facilitate Business-to-Business (B2B)
collaboration [1]. With the emergence of Web services
and Service-Oriented Architecture (SOA) [2], many service
providers publish their services on a public services registry,
and a number of industry standards and specications for
web services have emerged, such as WSDL and SOAP, etc.
As multiple components and parties can be involved in
a business process, service composition which combines
multiple web services to collaborate with each other and
form a composite web service is necessary and important
[1]. With the increasing number and scale of services,
many providers have started to offer candidate services that
are functionally equivalent but have different Quality of
Service (QoS) levels [3]. In order to meet user demands
and serve business purposes, besides functionalities, nonfunctional requirement which is usually described by QoS
is often employed in web services [3][5], and Service
Level Agreement (SLA) is becoming a conventional concern
in web service composition. Web service composition has
become QoS-aware, which is to select candidates from each
service set and combine such candidates to achieve the
desired functionality as well as optimize QoS objectives
while satisfying users end-to-end constraints.
978-1-4799-5054-6/14 $31.00 2014 IEEE
DOI 10.1109/ICWS.2014.14

values, Pareto set model uses the original objective values


to represent the performance of a solution, which is more
general and the SAW techniques can be used based on it [6].
It is also more applicable and can deal with varying demands
well in web service composition. Consider a scenario where
the Pareto set has been obtained and a user with the same
request but different preference arrivals, we can search the
Pareto set for a new optimal composition without solving
the composition problem all over again, to avoid its timeconsuming and inefciency.
Nowadays, SLA is often employed in service composition
and many constraints are introduced. For example, response
time is required to be less than 5 seconds. QoS-aware web
service composition has turned to selecting candidates from
each service set to achieve the required functionality, and
optimize the non-functional (QoS) objectives while satisfying users end-to-end constraints. Some works formulated it
as Multiple-Choice Knapsack Problem (MCKP) or Mixed
Integer Programming (MIP) problem [3], [6], some works
studied it by using graph theory [14], while some researches
formulated the problem using Petri nets [15].

can further reduce the number of promising candidates. A


distributed service composition algorithm using partial selection technique is designed, whose optimality and efciency
are validated by both theoretical and experimental results.
The remainder of this paper is organized as follows.
Section II discusses related work of QoS-aware web service
composition. In Section III, we describe basic model of
service composition and QoS attributes, and dene the optimal composition solutions. In Section IV, we present partial
selection approach and propose the DPSA algorithm, which
can nd the optimal solutions efciently. The effectiveness
and optimality of our approach are validated experimentally
in Section V. Finally, we conclude the paper in Section VI.
II. R ELATED W ORK
In this section, we discuss related work regarding the
problem formulation and solutions of web service composition.
A. Problem Formulation
Generally, QoS-aware web service composition is often
formulated as an optimization problem, seeking to maximize
or minimize the QoS attributes, such as minimizing response
time, maximizing throughput, etc. Some works studied the
problem considering only one objective, while other researches introduced more than one QoS criteria and studied
them together, making QoS-aware web service composition
become multi-objective optimization problem [3][8].
With more and more QoS attributes being considered,
how to tackle the tradeoff between different objectives
becomes an important challenge. To deal with this challenge,
many researches use Simple Additive Weighting (SAW)
techniques, which allows a unied measurement of multiple
objectives regardless of their units and ranges [3], [6], [7].
The SAW techniques scale the QoS attributes values and
then aggregate the multiple objectives to a single one by giving them corresponding weights, transforming the problem
into single objective optimization. An overall utility value
is then used to represent the performance of a composition,
and the composition with higher utility value is preferred.
Although SAW techniques are simple, using a utility value
to represent a composition can lead to certain information
loss. Besides, determining appropriate weights for different
objectives needs to know user preferences, which is often not
easy to acquire in practice [11]. Even if user preferences
have been obtained, how to set the weights accurately
remains a problem.
To address these challenges, another service composition
approach based on Pareto set model is recently proposed [8].
A Pareto set is the set of feasible solutions that have at least
one objective optimized when keeping the other objectives
unchanged [12]. Pareto set model is widely used in multiobjective optimization and multi-criteria optimization [12],
[13], and it does not need to predene the weights of
objectives or use utility value to represent a solutions
performance. Instead of normalizing or scaling the objective

B. Solutions
Several approaches have been proposed for QoS-aware
web service composition, which has been proven NP-hard
in the strong sense [6]. One approach is to perform an
exhaustive search and emulate all the possible compositions.
This can guarantee to nd the optimal composition, but
it suffers from combinatorial explosion and is inefcient.
With the number of services and candidates increasing, the
composition space size will grow rapidly, making the searching process time-consuming and will violate the constraints
for real-time execution [6], thus exhaustive search is not
practical in this scenario.
To improve efciency and reduce execution time, some
heuristic algorithms based on global search have been
proposed. In [16], the authors model the problem in two
patterns, the combinatorial model and the graph model, and
proposed heuristic algorithms for each model. Also, there
have been some works studying the web service composition based on evolutionary algorithms, such as genetic
algorithm, immune algorithm, ant colony algorithm [9], [10].
These heuristic algorithms can speed up the search process,
whereas they can only nd near-to-optimal solutions. Unlike
these algorithms, our method in this paper can guarantee to
nd the optimal solutions.
There are also some researches focused on reducing the
number of candidates of service set, thus reducing the
search space size of service compositions. In [5], the authors
proposed task-based pruning to lter out uninteresting candidates and reduce the number of candidates to be considered
for each service. However, different from that work, our
work takes advantage of the bad cumulative effect of QoS
attributes and move the constraints validation to the candidate level, which can further prune unpromising candidates.
In [8], the authors also consider dominance relationship
between candidates, and they remove those candidates that

are not potential for optimal compositions to enhance the


efciency of their algorithm. Our work is more general,
which considers more types of QoS attributes on additional
aggregate functions such as boolean operations. According
to the dominance relationship between services, generalized
and rigorous proof is given, which elucidates the Paretooptimality of our approach.

dene the QoS constraints vector which consists of M


attributes. Each element of R is a tuple ar , opr , boundr ,
where ar represents the r-th QoS attribute, opr is the
comparison operator such as >, <, , , =, and boundr
is the bound value of the QoS constraint. For example,
a constraint requiring throughput larger than 10 can be
represented as throughput, >, 10. The constraint function
vector is expressed as (2)

III. M ODEL OF S ERVICE C OMPOSITION

R
FR = (f1R , f2R , . . . , frR , . . . , fM
),

In a web service system, the user submits a task which


consists of a set of m services denoted as I = {1, 2 . . . m}.
For each service i I, there are ni candidate services proper
to nish it, represented by Ci = {ci1 , ci2 , . . . , cini } . The total
candidate services in the system that are properfor the task
are dened
as J = {1, 2 . . . n}. Hence, n = iI ni and

J = iI Ci . Let SP = (c1j1 , c2j2 , . . . , cm
jm ) represent a composition solution which forms a concrete workow, where
ciji Ci represents the candidate selected to accomplish
service i. All the compositions form a composition space
S = C1 C2 . . . Cm , which is the cartesian product of each
service set Ci and we have SP S.

represents the aggregate function of the rth


where
constraint attribute. For example, the aggregate function of
throughput is minimum. Let Rr denote the r-th attribute
value obtained by function frR , and the constraint value
vector of a solution SP S can be expressed as
VR = FR (SP ) = (R1 , R2 , . . . , Rr , . . . , RM ).

(3)

So a solution SP can be validated by comparing each of its


QoS value Rr with the corresponding bound boundr .
The system objectives dene the QoS attributes to be
maximized or minimized. Let O denote the QoS objectives
vector which consists of N attributes. Each element in O is
represented as a tuple ak , obk , where ak is the k-th objective attribute and obk is the optimization operator like maximize, minimize. For instance, seeking to minimize response
time can be represented as response time, minimize. Let
the objective function vector be dened by (4),

A. QoS Attributes
Let A = (a1 , a2 , . . . , aL ) denote the vector of L QoS
attributes of the system. We assume all the services in
the system have the same QoS attributes, i.e., Aj1 =
Aj2 , j1 , j2 J. The performance of a workow SP is
the cumulative effect of the performance of m candidates
that compose it. We dene the aggregate function of the
candidates QoS values to the workows QoS values as (1)
F : (c1j1 , c2j2 , . . . , cm
jm ) SP ,

(2)

frR

O
FO = (f1O , f2O , . . . , fkO , . . . , fN
),

(4)

fkO

is the aggregate function of the k-th attribute. Let


where
Ok represent the objective value obtained by fkO , and the
objective value vector of SP can be expressed as (5),

(1)

VO = FO (SP ) = (O1 , O2 , . . . , Ok , . . . , ON ).

which describes how to obtain the workows QoS values


according to candidates QoS values.
In this paper, we consider not only regular operations but
also boolean operations of QoS attributes. The QoS attributes
in web service system are classied into six categories
based on their properties of aggregate functions, which
are additive, multiplicative, minimum, maximum, union and
intersection. We study the QoS attributes according to their
categories of aggregate functions instead of paying attention
to the concrete individual QoS attributes, which makes our
model more general and scalable. For example, the attribute
security can be represented by an 0-1 variable denoting
whether the service is encrypted or not, and the aggregate function of it is boolean operation. Examples of QoS
attributes belonging to other categories include response
time, reliability, throughput, etc. Note that the classications
of QoS attributes are not limited to sequential workows.
For instance, the execution time of a parallel workow
with synchronized merge can be classied into maximum
aggregate function, the security in a serial workow is
classied into intersection category, while security in parallel
pattern can be classied into union category.
In QoS-aware web service composition, several QoS
constraints should be satised according to SLA. Let R

(5)

B. Pareto Set of the Composition Solutions


To tackle the tradeoff between different objectives, we
combine the whole attributes together and use original QoS
values to nd the optimal compositions, which is convenient
and will not lose information of QoS attributes.
We focus on the good enough solutions in composition
solution space, which are the solutions that are not worse
than any other solutions. For example, a composition solution SP with the objectives response time and throughput
values of (22, 8) is worse than a solution SP with the
objectives values (20, 10). Thus, SP is not a good solution.
In this paper, we search the good composition solutions
based on Pareto set model [9], which is widely used in
multiple criteria optimization. Actually, the optimal compositions should be solutions that are feasible (if such a
solution exists). So we rst present the denition of feasible
composition solutions, which are described in Denition 1.
Denition 1: (Feasible Composition Solution) Given any
task composed of services I = {1, 2 . . . m} and the QoS
constraints vector R = (ar , opr , boundr , 1 r M ), a
feasible solution is a composition solution SP that selects a
candidate service ciji from each service set Ci and satises

all the QoS constraints, i.e., every ar = Rr , opr , boundr 


is satised.

For any two feasible composition solutions SP , SP , they
can be compared according to their corresponding objective
values represented by (5) and (6).


VO = FO (SP ) = (O1 , O2 , . . . , Ok , . . . , ON ),

workow with only one service, the comparison operation


and dominance relationship between candidates can be obtained according to (7). We let ciji dominates cij  expressed
i
by ciji
cij  . Based on the comparison results, the potential
i
candidates of each service class are selected and they form
the service Pareto set, which are dened in Denition 3.
Denition 3: (Service Pareto Set) Given a service set
Ci = {ci1 , ci2 , . . . , cini }, each candidate ciji s QoS values Vcij
i
and the QoS objectives vector O = (ak , obk , 1 k N ),
the service Pareto set P ar(i) of each service i is the set of
candidates that are non-dominated by any other candidates,
i.e., P ar(i) = {ciji Ci | cij 
ciji , cij  Ci }.
i
i
Next we study how to obtain the optimal compositions
based on service Pareto set. We dene a Monotonous Condition that the aggregate functions of attributes in web service
composition are monotonous, which means that a workow
derived from a better candidate ciji can not be worse than
a workow derived from a worse candidate cij  , if all the
i
other candidates k=i ckjk in the workow are the same. We
rst present a lemma that the six categories of aggregate
functions in this paper are monotonous in web service
composition. The lemma will be proven in Appendix A.
LEMMA 1: The six categories of aggregate functions
(i.e., additive, multiplicative, minimum, maximum, union
and intersection) dened in web service composition are
monotonous.
Next, Theorem 1 elucidates that the optimal solutions of
the composed workows (when such a feasible solution exists) can be obtained by keeping only the service Pareto sets
under the follow two conditions. 1) Monotonous Condition:
the aggregate functions for web service composition are
monotonous, which has been dened above; 2) Independent
Condition: the services are independent of each other.
THEOREM 1: Service composition on the service Pareto
sets can nd the optimal solution (if exists) of the original
service composition problem, under the monotonous and
independent conditions.
Proof: We prove Theorem 1 by demonstrating that
either one of the following two proposition holds for any
optimal composition. 1) All of the selected candidates are
in their corresponding Pareto sets; or 2) for any candidate
ciji in the optimal composition that does not lie in its Pareto
set P ar(i), there must exist at least one candidate in P ar(i)
which can replace ciji without affecting the objective values.
We prove this by reduction to absurdity.
Assume there exists an optimal solution SP =
(c1j1 , . . . , ciji , . . . , cm
jm ) which conrms to none of the two
propositions. Since SP does not conrm to the rst proposition, SP has at least one candidate ciji such that ciji
/
P ar(i). Then we can always nd a candidate cij  P ar(i)
i
and cij 
ciji , otherwise if none of the candidates in P ar(i)
i
dominates ciji , ciji should be in P ar(i), which implies a
contradiction. Let SP = (c1j1 , . . . , cij  , . . . , cm
jm ) be another
i
composition. Because services are independent, replacing
candidate ciji by cij  with all the other candidates unchanged

(6)

where N is the number of objectives.


The comparison

between the two solutions SP , SP is dened as below,


VO VO , if k {1, 2, . . . , N }, Ok Ok
VO = VO , if k {1, 2, . . . , N }, Ok = Ok


(7)


VO
VO , if VO VO and 1 k N, Ok
Ok


where Ok Ok means Ok is better than or equal to Ok ,


and they can be compared according to the optimization
direction of the k-th objective. For those objectives that are
to be maximized , the values larger are better, vise versa.

VO VO holds when all the objectives values of VO are


better than or equal to those of VO . VO
VO holds when


VO VO and there exists at least one k such that Ok
Ok .

VO = VO means all the corresponding objective values are

equal. So we have SP dominates SP expressed by SP





SP when VO
VO , and SP = SP when VO = VO . Based
on the results, we can dene the Pareto-optimal composition
solutions by Denition 2.
Denition 2: (Pareto-optimal Composition) Given a task
consisting of services I = {1, 2 . . . m}, the QoS constraints
vector R = (ar , opr , boundr , 1 r M ) and the QoS
objectives vector O = (ak , obk , 1 k N ), a Paretooptimal composition is the feasible composition solution SP
that is non-dominated by any other feasible
compositions,


i.e., there exists no feasible solution SP such that SP
SP .
Finding the Pareto-optimal solutions by exhaustive search
and pairwise comparison of all possible solutions is timeconsuming, which makes it quite difcult to deploy such
approach in real-time services systems. In this paper, we
take advantage of partial selection approach to remove
those candidates that are not potential ones for composing
optimal solutions, reducing search space size. The details
are described in Section IV.
IV. A PPROACH

FOR

F INDING O PTIMAL C OMPOSITIONS

In this part, we discuss how to extract the promising candidates from each service set by partial selection approach,
which can reduce the search space signicantly, then we
prove that such approach can obtain the optimal solutions.
Taking advantage of partial selection, we propose an efcient
composition algorithm.
A. Partial Selection
Based on the QoS values, we can compare the candidates
in a service set and prune the candidates unpromising for
optimal compositions. Let ciji , cij  Ci be two candidates
i
of service i. Since a candidate can be viewed as a special

After comparing each value Rr with the corresponding


bound boundr based on comparison operation opr , we can
validate whether the r-th constraint is violated. We let
d(SP ) = (d1 , d2 , . . . , dM ) represent the indicator variable
vector, with each dr expressed in (11),

1, ar = Rr , opr , boundr  is violated;
(11)
dr =
0, otherwise.

will not have inuence on the other services. Together with


the monotonous condition, the composition SP cannot be
worse than SP , i.e., SP SP . Since SP is optimal, it
can not be the case that SP
SP , which will yield
contradiction. So SP = SP holds, thus we can always
replace ciji by cij  while not inuencing the objective values,
i
so we have SP conrms to the second proposition. However,
this implies contradiction since SP does not conrm to either
of the two propositions.
Thus, for any optimal composition solution, it conrms
to either of the two propositions, which demonstrates that
the optimal composition can be achieved by composing the
candidates in P ar(i).
To fully explore the properties of QoS attributes and their
aggregate functions, we consider those attributes that have
bad cumulative effect, which means that the performance
will become worse during the process of service composition. For example, consider response time with additive
aggregate function, and a candidate ciji with response time of
10 seconds is selected, then the response time of a workow
containing ciji cannot be less than 10 seconds. If there is a
constraint that the response time should be no more than 9
seconds, then ciji can be removed since it is not a potential
component of an optimal composition solution.
Let IA (ar ) be the indicator variable denoting whether ar
has bad cumulative effect, which is dened in (8),

1, the attribute ar has bad cumulative effect;
IA (ar ) =
0, otherwise.
(8)
So for those attributes with IA (ar ) = 1, we can make full
use of QoS constraints and perform constraints validation in
candidate level, which can further reduce the candidate space
i be the set of potential candidates chosen by our
size. Let C
i | |P ar(i)|.
partial selection approach, and we have |C

Let I(SP ) be the indicator variable denoting whether SP


violates constraints, where

1, SP violates constraints;
(12)
I(SP ) =
0, otherwise.
Since SP satises constraints if and only if all the M
constraints are satised, and once there is one constraint
unsatised, SP is regarded as violating constraints. I(SP )
can be obtained as follows,
I(SP ) = d1 d2 . . . dr . . . dM .

For the solution SP S with I(SP ) = 1, it is not a


feasible composition and can be removed from the solution
space. Let S be the solution space after constraints pruning,
so we have
S = S  {SP |(SP S  ) (I(SP ) = 1)}.

Algorithm 1 Distributed Partial Selection Algorithm


(DPSA)
1: for all service i {1, 2 . . . m} do
2:
for r = 1 to r = M do
3:
if IA (ar ) == 1 then
4:
Check the candidates and remove those candidates violating ar , opr , boundr 
5:
end if
6:
end for
i of service i
7:
Find the potential candidates set C
8: end for
i of each service i to form the composition
9: Compose C
solution space S 
10: for all solutions SP S  do
11:
if I(SP ) == 1 then
12:
Remove the solution SP
13:
end if
14: end for

15: Obtain the feasible solutions space S


of S.

16: Find the Pareto-optimal solutions Opr(S)

17: return Opr(S);

In this subsection, we discuss how to obtain the optimal


compositions based on our partial selection approach. Let
i ,
S  represent the set of composition solutions based on C

which is the cartesian product of Ci expressed by (9),
(9)

Note that the compositions in S  violating QoS constraints


are not feasible solutions, and they are also not optimal
solutions. So we can validate each solution in S  and remove
those not satisfying constraints before performing pairwise
comparison on the solutions, which can reduce space and
save time.
Let SP S  be a composition solution, and the vector of
its constraints values is
VR = FR (SP ) = (R1 , R2 , . . . , Rr , . . . , RM ).

(14)

The Pareto-optimal solutions can be found by comparing


the solutions in S and extract the compositions that are not
dominated by any other solution. Next, based on Theorem
1 and constraints pruning, we present the Distributed Partial
Selection Algorithm (DPSA) which can nd the optimal
compositions by partial selection and composing the potential candidates. The details are shown in Algorithm 1.

B. Composition Algorithm

1 C
2 . . . C
m .
S = C

(13)

(10)

Recall that Rr is the r-th QoS constraint value of SP , and


M is the number of QoS constraints.

all the possible composition solutions. We omit the comparison to heuristic algorithms since they cannot guarantee to
nd the optimal solutions and the performance are unpredictable. Fig. 1 plots the response time and throughput of
the optimal solutions obtained by our DPSA algorithm and
regular service selection approach. As it can be seen in Fig.
1, the optimal solutions of our DPSA algorithm are the same
as those of regular service selection approach. The response
time of every obtained solution is less than 4, and the
throughput is larger than 0.2, all satisfying the constraints.
The Pareto-optimal solutions differ in response time and
throughput, some solutions have larger throughput but the
response time is also larger, and these solutions cannot
dominate each other unless there is priority between the two
attributes. To this end, we have validated the optimality of
our DPSA algorithm.
Next, we evaluate the efciency of the DPSA algorithm.
We compare it with regular service selection approach
and partial selection without pruning approach. The partial
selection without pruning approach does not remove the
candidates based on the constraints of the QoS attributes
which have bad cumulative effect, while the rest is the same
as our DPSA algorithm. Fig. 2 plots the search space size
and execution time (millisecond) under the three approaches.
The number of services is varied from 4 to 10, and each
service has 5 candidates. For each case, we run more than
10 experiments by varying the response time and throughput
values of each candidate, and calculate the average search
space size and execution time.
As it can be seen in Fig. 2, the search space sizes of all
the three approaches rise with the increase of number of
services, but the increasing rate of our DPSA algorithm is
slower than that of regular selection approach, and the DPSA
algorithm can reduce the search space size signicantly. The
search space size of the partial selection without pruning
approach is larger than the DPSA approach, because both
response time and throughput have bad cumulative effect,
so compared with partial selection without pruning, our
DPSA algorithm can further reduce the number of potential
candidates of each service set. Besides, the execution time
of the DPSA algorithm is much less than that of regular
selection. Consider when the number of services rises to
10, the average search space size of regular selection is
9,765,625 and the execution time is 24,780 ms, while the
search space size of the DPSA algorithm is 1,204 and
execution time is 9 ms, which shows the effectiveness and
efciency of the DPSA algorithm.
Fig. 3 plots the search space size and execution time with
varying number of candidates under the three approaches.
The number of services in the task is xed to 5, while the
number of candidates of each service is varied from 30 to
60. Also, for each case we run more than 10 experiments
and calculate the average space size and execution time.
As it can be seen in Fig. 3, both search space size and
execution time rise when the number of candidates increases.
Our DPSA algorithm achieves the smallest search space

To analyze the effectiveness of our DPSA Algorithm,


we consider a task which consists of m services, and each
service has ni candidates providing the same functionality
but differ in QoS performance. Then the search space of the
original composition solutions is |S| = n1 n2 . . . nm .
Let pi be the percent of number of candidates belonging to
service set i that are kept by our approach, then for each
i I, the number of left candidates is ni = pi ni , and the
= n n . . . n . The ratio of
new search space is |S|
1
2
m
space size reduction can be expressed as (15),

Reductions = |S|/|S|
= p 1 p2 . . . pm .

(15)

Consider using regular methods which needs pairwise comparison to obtain the Pareto-optimal solution, and the worst
case can take O(|S|2 ) operations. So the operation number
2 ) and the
under our approach can be reduced to O(|S|
operation number reduction ratio is represented in (16).
2 /|S|2 = (p1 p2 . . . pm )2 .
Reductiont = |S|

(16)

To be more intuitive, assume the task is composed of


5 services, and each service can reduce the number of
candidates by 10%, so there are pi = 90% of candidates
left for each service i . Then the total search space size
can be reduced to (90%)5 59.0% and the worse case
operation time can be reduced to (59.0)%2 34.9%, so
we can see that about one third of time is saved. If the task
consists of 20 services and the reduction rate of each service
set size remains the same, then our approach can reduce the
search space size to (90%)20 12.2% and the worst case
operation time can be reduced to (12.2)%20 1.5%, which
demonstrates the effectiveness of our approach.
V. E VALUATION
We conduct experiments to validate the optimality and
effectiveness of our DPSA algorithm. We focus on a task in
the form of a sequential workow (other structures can be
transformed to sequential workow by existing techniques
[17]). There are 5 services in the task, and each service has
20 candidates which can offer the same functionality but
have different QoS values. Constraints and objectives based
on two common and important QoS attributes are considered
in the experiments, which are response time and throughput.
The corresponding aggregate functions of the two attributes
are additive and minimum, while the optimization directions
of them are minimization and maximization. Using two
objectives which have different optimization directions can
help test the dominance relationship and tradeoff between
solutions, and choose the optimal solutions. The response
time and throughput values of each candidate are generalized
randomly between 0 and 1. The response time constraint of
the task is set as 0.5 multiplied by the number of services,
and the throughput constraint is set as 0.2.
First, we validate the optimality of our DPSA algorithm.
We compare it with regular service selection which nds the
Pareto-optimal solutions by exhaustive search and emulating

effectiveness by empirical evaluations.


In the future, we will further consider dependencies and
correlations among services, which we do not discuss in this
paper. This will make our approach more general and applicable for more complex scenarios. Moreover, we will deploy
our approach in real web service systems. Experiments
based on real-world data can provide better understanding
of system behavior, and make the evaluation more reliable
and precise.

Optimal solutions
1
0.9

throughput

0.8
0.7
0.6
0.5
0.4

DPSA
Regular service selection

0.3
0.2
0

Figure 1.

0.5

1.5

2
2.5
response time

Space size

This work is supported by the National Grand Fundamental Research 973 Program of China (No. 2010CB328105,
No. 2013CB329105), the National Natural Science Foundation of China (No. 61020106002), and Tsinghua University
Initiative Scientic Research Program (No. 20121087999).

10

DPSA
Partial selection without pruning
Regular service selection

10
execution time (ms)

space size

ACKNOWLEDGMENT

Execution time

Optimal solutions of DPSA and regular service selection.

DPSA
Partial selection without pruning
Regular service selection

10

3.5

10

10

10

10

R EFERENCES

10

10

[1] L.-J. Zhang, J. Zhang, and H. Cai, Services Computing.


Springer and Tsinghua University Press, 2007.
[2] E. Newcomer and G. Lomow, Understanding SOA with Web
Services (Independent Technology Guides). Addison-Wesley
Professional, 2004.
[3] L. Qi, Y. Tang, W. Dou, and J. Chen, Combining local
optimization and enumeration for QoS-aware web service
composition, in 8th IEEE International Conference on Web
Services (ICWS 10), 2010, pp. 3441.
[4] L. Zeng, B. Benatallah, M. Dumas, J. Kalagnanam, and Q. Z.
Sheng, Quality driven web services composition, in 12th
International Conference on World Wide Web (WWW 03),
2003, pp. 411421.
[5] L. Barakat, S. Miles, I. Poernomo, and M. Luck, Efcient
multi-granularity service composition, in 9th IEEE International Conference on Web Services (ICWS 11), 2011, pp.
227234.
[6] M. Alrifai, D. Skoutas, and T. Risse, Selecting skyline
services for QoS-based web service composition, in 19th
international conference on World Wide Web (WWW 10),
2010, pp. 1120.
[7] L. Zeng, B. Benatallah, A. H. H. Ngu, M. Dumas,
J. Kalagnanam, and H. Chang, QoS-aware middleware for
web services composition, IEEE Transactions on Software
Engineering, vol. 30, no. 5, pp. 311327, 2004.
[8] H. Ma, F. Bastani, I.-L. Yen, and H. Mei, QoS-driven service
composition with recongurable services, IEEE Transactions
on Services Computing, vol. 6, no. 1, pp. 2034, 2013.
[9] H. Liu, F. Zhong, B. Ouyang, and J. Wu, An approach
for QoS-aware web service composition based on improved
genetic algorithm, in 2010 International Conference on Web
Information Systems and Mining (WISM 10), vol. 1, 2010,
pp. 123128.
[10] J. Xu and S. Reiff-Marganiec, Towards heuristic web services composition using immune algorithm, in 6th IEEE
International Conference on Web Services (ICWS 08), 2008,
pp. 238245.
[11] D. Skoutas, D. Sacharidis, A. Simitsis, and T. Sellis, Ranking
and clustering web services using multicriteria dominance
relationships, IEEE Transactions on Services Computing,
vol. 3, no. 3, pp. 163177, 2010.
[12] C. Vira and Y. Y. Haimes, Multiobjective decision making:
theory and methodology. North-Holland, 1983.

Figure 2.

6
7
8
number of services

10

10

11

6
7
8
number of services

10

11

Space size and execution time with varying service numbers.


Space size

Execution time

10

10

10

execution time (ms)

10

space size

10

DPSA
Partial selection without pruning
Regular service selection

10

10

10

DPSA
Partial selection without pruning
Regular service selection

10

10

10

10

25

30

35

40
45
50
number of candidates

55

60

65

10

25

30

35

40
45
50
number of candidates

55

60

65

Figure 3. Space size and execution time with varying candidate numbers.

size and execution time among the three approaches. When


the number of candidates becomes larger, the superiority of
our DPSA algorithm over regular service selection becomes
more obvious. Also, our approach outperforms the partial
selection without pruning approach.
VI. C ONCLUSION
In this paper, we study QoS-aware web service composition focusing on nding the Pareto-optimal solutions. We
present a partial selection approach, which can signicantly
reduce search space and improve efciency while guaranteeing the optimality of service composition. Six categories
of QoS attributes are systematically studied, and aggregate
functions of them are discussed. Based on them, dominance
relationships between service candidates are carefully dened, and bad cumulative effect of QoS attributes in service
composition is introduced. A distributed service composition
algorithm is proposed, in which we only select the potential
candidates in the Pareto set, and move constraints validation
to candidate level. We theoretically prove the optimality
of such approach for service composition, and validate its

1) v(w) v(cij  ) v(ciji ). Since v(w) is the smallest


i
value among all v(ckjk ), introducing a value v(cij  ) that is
i
larger than or equal to v(w) will not change the smallest
value. Thus, we have v(w) = v(w ).
2) v(cij  ) < v(w) v(ciji ). Since we have v(w ) =
i
i
min{v(c1j1 ), . . . , v(cij  ), . . . , v(cm
jm )} v(cji ) < v(w),
i

so v(w) > v(w ) holds. To sum up, for both cases,
v(w) v(w ) holds, and the minimum aggregate function
is monotonous.
Fourth, we study the maximum aggregate function. We
have

[13] R. E. Steuer, Multiple criteria optimization: theory, computation, and application. Krieger Malabar, 1989.
[14] P. Hennig and W.-T. Balke, Highly scalable web service
composition using binary tree-based parallelization, in 8th
IEEE International Conference on Web Services (ICWS 10),
2010, pp. 123130.
[15] P. Xiong, Y. Fan, and M. Zhou, Web service conguration
under multiple quality-of-service attributes, IEEE Transactions on Automation Science and Engineering, vol. 6, no. 2,
pp. 311321, 2009.
[16] T. Yu, Y. Zhang, and K.-J. Lin, Efcient algorithms for web
services selection with end-to-end QoS constraints, ACM
Transactions on the Web, vol. 1, no. 1, May 2007.
[17] J. Cardoso, A. Sheth, J. Miller, J. Arnold, and K. Kochut,
Quality of service for workows and web service processes,
Web Semantics: Science, Services and Agents on the World
Wide Web, vol. 1, pp. 281308, 2004.

v(w) = max{v(ckjk ), 1 k m} v(ckjk ), 1 k m.


Thus, it can be derived that v(w) v(ciji ). Together with
v(cij  ) v(ciji ), only one case holds, i.e., v(cij  ) v(ciji )
i
i
v(w). Similarly, it can be derived that

A PPENDIX A.
P ROOF OF L EMMA 1

v(w) = max{v(c1j1 ), . . . , v(ciji ), . . . , v(cm


jm )}

Proof: For brevity, we only consider the cases that the


optimization directions are maximization, since the cases
of minimization can be transformed to be maximization by
taking the opposite value, which will not change the proof
or result. Let us consider a workow with objective value
v(w) = f (c1j1 , c2j2 , . . . , ciji , . . . , cm
jm ) under the aggregate
function f , where ciji stands for the selected candidate from
service i. The value of another workow is represented by
i
v(w ) = f (c1j1 , c2j2 , . . . , cij  , . . . , cm
jm ). Let v(cji ) denote the
i
i
i
value of candidate cji , and we assume v(cji ) v(cij  ).
i
First, to prove that the additive aggregate function is
monotonous, it can be derived that
v(w) =

m


v(ckjk ) =

k=1

i1


i1


v(ckjk ) +

k=1

v(ckjk ) +

k=1

m

k=i+1

m



max{v(c1j1 ), . . . , v(ciji ), . . . , v(cm
jm )} = v(w )

so the the maximum aggregate function is also monotonous.


Next we consider the union function. We have
v(w) = v(c1j1 ) v(c2j2 ) . . . v(ciji ) . . . v(cm
jm )

v(w ) = v(c1j1 ) v(c2j2 ) . . . v(ciji ) . . . v(cm


jm )

where each variable takes the value of 0 or 1. Since we have


v(ciji ) v(cij  ), only three cases exist, which are v(ciji ) =
i
v(cij  ) = 0, v(ciji ) = v(cij  ) = 1, and v(ciji ) = 1 while
i
i
v(cij  ) = 0. The rst two cases will not introduce any change
i
to the nal result. Now let us consider the third case. If all
the other values v(ckjk ) = 0 hold for all k = i, then we have
v(w) = 1, v(w ) = 0, so v(w) > v(w ). If at least one
value v(ckjk ) = 1, k = i holds, then we have both v(w) = 1
and v(w ) = 1. Together, we have v(w) v(w ), which
proves that the union function in web service composition
is monotonous.
Finally we discuss the intersection function. Since

v(ckjk ) + v(ciji )

k=i+1

v(ckjk ) + v(ciji ) = v(w )

Second, we consider the multiplicative aggregate function.


Generally , we assume the QoS values in web service
systems are nonnegative, it can be derived that
v(w) =

m


k=1
i1


v(ckjk ) =

v(ckjk )

k=1

i1

k=1

m

k=i+1

v(ckjk )

m


v(w) = v(c1j1 ) v(c2j2 ) . . . v(ciji ) . . . v(cm


jm )

v(w ) = v(c1j1 ) v(c2j2 ) . . . v(ciji ) . . . v(cm


jm )

v(ckjk ) v(ciji )

Similarly, only three cases exist, v(ciji ) = v(cij  ) = 0,


i
v(ciji ) = v(cij  ) = 1, and v(ciji ) = 1 while v(cij  ) = 0. Also,
i
i
the rst two cases will not introduce any change and we have
v(w) = v(w ). We consider the third case. When v(w) = 1,
it infers that all the values v(ckjk ) = 1, 1 k m, then
replacing v(ciji ) by v(cij  ) will result in v(w ) = 0, so we
i
have v(w) > v(w ). When v(w) = 0, then at least one
k
v(cjk ) = 0, 1 k m, k = i exists, and replace v(ciji ) by
v(cij  ) results in v(w ) = 0, so we have v(w) = v(w ). Thus
i
v(w) v(w ) holds, which proves that the union aggregate
function in web service composition is monotonous.
To this, we have proven all the six aggregate functions in
web service composition are monotonous.

k=i+1

v(ckjk ) v(ciji ) = v(w )

Third, we discuss the minimum aggregate function, as


v(w) = min{v(ckjk ), 1 k m} v(ckjk ), 1 k m.
Thus, it holds that v(w)

v(ciji ). Let
v(w ) dene the smallest value among the set
{v(c1j1 ), . . . , v(cij  ), . . . , v(cm
jm )}. Under the conditions
i
v(cij  ) v(ciji ) and v(w) v(ciji ), only two situations
i
exist, which are,1) v(w) v(cij  ) v(ciji ), 2)
i
v(cij  ) < v(w) v(ciji ). We discuss both cases.
i

You might also like