Professional Documents
Culture Documents
(Doi 10.1109 - Icws.2014.14) Y. Chen J. Huang C. Lin - Partial Selection - An Efficient Approach For QoS-Aware Web Service Composition
(Doi 10.1109 - Icws.2014.14) Y. Chen J. Huang C. Lin - Partial Selection - An Efficient Approach For QoS-Aware Web Service Composition
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
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
R
FR = (f1R , f2R , . . . , frR , . . . , fM
),
(3)
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
(1)
VO = FO (SP ) = (O1 , O2 , . . . , Ok , . . . , ON ).
(5)
VO = FO (SP ) = (O1 , O2 , . . . , Ok , . . . , ON ),
(6)
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
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
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
(14)
B. Composition Algorithm
1 C
2 . . . C
m .
S = C
(13)
(10)
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
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)
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
DPSA
Partial selection without pruning
Regular service selection
10
3.5
10
10
10
10
R EFERENCES
10
10
Figure 2.
6
7
8
number of services
10
10
11
6
7
8
number of services
10
11
Execution time
10
10
10
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.
[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.
A PPENDIX A.
P ROOF OF L EMMA 1
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 )
v(ckjk ) + v(ciji )
k=i+1
m
k=1
i1
v(ckjk ) =
v(ckjk )
k=1
i1
k=1
m
k=i+1
v(ckjk )
m
v(ckjk ) v(ciji )
k=i+1
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