Two-stage approachforreliable dynamicWeb servicecompositionstatic.tongtianta.site/paper_pdf/cc75490a-4e1d-11e9-85d1...software and hardware facilities and have sufficient computing
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Knowledge-Based Systems 97 (2016) 123–143
Contents lists available at ScienceDirect
Knowledge-Based Systems
journal homepage: www.elsevier.com/locate/knosys
Two-stage approach for reliable dynamic Web service composition�
Zhi-Zhong Liu a,b,∗, Dian-Hui Chu b, Zong-Pu Jia a, Ji-Quan Shen a, Lei Wang a
a College of Computer Sciences and Technology, Henan Polytechnic University, Jiaozuo 454000, Chinab College of Computer Science and Technology, Harbin Institute of Technology, Harbin 150006, China
a r t i c l e i n f o
Article history:
Received 30 November 2014
Revised 7 January 2016
Accepted 9 January 2016
Available online 16 January 2016
Keywords:
Web service
Web service composition
Quality of service
QoS prediction
a b s t r a c t
Web service composition is a key technology for creating value-added services by integrating available
services. With the rapid development of Service Computing, Cloud Computing, Big Data, and the Internet
of Things, mass services with the same functionalities and different quality of service (QoS) values are
available on the Internet. Moreover, due to the uncertainties of services’ application environment, a ser-
vice’s QoS is highly dynamic; these two factors cause reliable dynamic Web service composition to be a
challenge. To address this issue, this paper proposes a two-stage approach for reliable dynamic Web ser-
vice composition. In the first stage, the top K Web service composition schemes based on each service’s
historical QoS values are selected with the proposed algorithm named Culture Genetic Algorithm (CGA).
Then, component services in the top K schemes are filtered out and employed as the candidate services
for dynamic service composition. This operation can greatly reduce the number of available services and
filter out better candidate services for dynamic service composition. Next, the global QoS constraints are
decomposed into local QoS constraints with the CGA algorithm, and the global optimal problem of ser-
vice composition is transformed into a local optimal service selection problem; this conversion increases
the flexibility of dynamic service composition and provides a chance to predict QoS values of services
before service selection. In the second stage, before selecting the best service for each task during the
running of the service composition workflow, QoS values of each candidate service are predicted based
on the improved case-based reasoning, and the best service is selected according to the predicted QoS
values. Through QoS prediction, the reliability of the composite Web service can be greatly enhanced.
Finally, experimental results show that the proposed method is feasible and effective.
Web service is a type of distributed computing model that
s self-contained, modular, loosely coupled, standards-based, and
igh capacity. Web services can provide a type of distributed in-
ormation sharing computing technology that can be used on the
nternet or an intranet with standard XML protocols and mes-
age formats to eliminate the discrepancies of different applica-
ion systems [1–3]. Industry standards such as WSDL, UDDI, and
S-BPEL have been provided for describing, locating, and combin-
ng Web services. The service-oriented computing paradigm and
ts realization through standardized Web service technologies pro-
ide an encouraging solution for the seamless integration of busi-
ess applications. Currently, composite Web services (CWSs) [4–6]
ave been used in many areas, such as virtual enterprise, supply
� Fully documented templates are available in the elsarticle package on CTAN.∗ Corresponding author at: College of Computer Sciences and Technology, Henan
In the CGA-SCS, a one-point mutation model is adopted, that is,
randomly select one gene of the chromosome, then randomly se-
lect a new service from the candidate service set that corresponds
to the selected gene, and replace the new selected service with the
service in the selected gene.
5.1.5. Learning operation in the CGA-SCS
Individuals in the swarm intelligence algorithms do not learn
from one another; if individuals can learn from one another, the
performance of swarm intelligent algorithms could be effectively
improved. In human society, collaborative learning is a situation in
which two or more people attempt to learn something together
[68]. Unlike individual learning, people engaged in collaborative
learning capitalize on one another resources and skills [69]. More
specifically, collaborative learning is based on the model that new
knowledge can be created within a population in which members
actively interact by sharing experiences and take on asymmetric
roles. To improve the performance of the CGA-SCS, based on the
idea of collaborative learning, a learning operator for finding the
top K service composition schemes is proposed.
The learning process is described as follows. First, randomly
select several individuals from the population to form a collabo-
rative learning group. Second, divide each individual into several
segments. A segment is a part of a solution (chromosome), and
segments are produced by dividing the solution averagely. Third,
compare the same segments of individuals in the group and select
the best segments. Finally, combine the selected segments to form
a new individual. The learning operator in the CGA-SCS is illus-
trated in Fig. 7; here, I1, I2, ...,Ik are k different individuals that form
a learning group. Segments marked with color are the best seg-
ments among the same segments of individuals. The best segments
are extracted through learning, and form a new individual INew.
The process of the CGA-SCS is described with Algorithm 2.
5.1.6. The complexity of the CGA-SCS
For the CGA-SCS algorithm, let n be the scale of the initial indi-
viduals, m be the number of tasks in the service composition work-
flow, N be the number of the available services for each task, P be
the number of individuals that form a learning group, and L be the
number of segments of the learning individuals. The complexities
of the CGA-SCS in each generation are shown in Table 2. In the
CGA-SCS, typical roulette wheel selection needs n roulette opera-
tions to generate the new population. Each roulette operation con-
tains at least 1 and at most n times comparisons according to the
relative fitness values of individuals. Thus, the average complex-
ity of the selection operator is O(n2). Moreover, the crossover and
mutation operations in the CGA-SCS are only just executed once
for each individual, the complexities are both at least O(nm) and
at most O(nm), and the complexity of the learning operation is
O(nLP). Therefore, the time complexity of the CGA-SCS is O(n2).
.2. Filter out candidate services for each task
Assume that the top K service composition schemes
ound by CGA-SCS are SCSK = {SCS1, SCS2, . . . , SCSK}, assume
hat SCS1 = 〈s1i, s2 j
, . . . , smu〉, SCS2 = 〈s1 j, s2t
, . . . , smp〉, . . . , and
CSK = 〈s1r, s2q
, . . . , sm f〉, where sxy indicates services in service
omposition schemes. Then, collect services at the same position
f the K service composition schemes to form a candidate service
et for the corresponding task, that is, SC1 = 〈s1i, s1 j
, . . . , s1r〉,
C2 = 〈s2 j, s2t
, . . . , s2q〉, . . . , and SCm = 〈smu , smp , . . . , sm f
〉 >. Take
ervice classes SC1, SC2, …, and SCm as the candidate service sets
or the m tasks T1, T2, …, and Tm. The process of filtering out
andidate services can be illustrated as Fig. 8.
By filtering out services from the K service composition
chemes, the number of candidate services will be significantly re-
uced. This reduction can enhance the efficiency of QoS prediction
n the second stage to improve the effectiveness of Web service
ynamic composition.
Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 131
Fig. 8. Filter better candidate services.
5
s
o
t
d
m
p
n
t
f
c
o
a
e
t
t
Q
o
n
f
5
i
q
k
L
s
Q
Q
c
i
s
f
f
f
d
o
b
n
F
w
c
d
o
m
l
i
t
d
M
t
a
d
i
a
f
5
m
.3. Decomposition of global QoS constraints
To improve the flexibility of dynamic Web service compo-
ition and provide opportunities for QoS prediction, the global
ptimization problem of QoS-aware Web service composition is
ransformed to a local optimal Web service selection problem by
ecomposing global QoS constraints into local QoS constraints, the
ain idea is that, first, each global QoS constraint Ci is decom-
osed into a set of m local constraints {c1, c2, . . . , cm} (m is the
umber of tasks in the service composition workflow). Then, set
hese local QoS constraints as conservative upper or lower bounds
or the local optimal service selection for each task. Global QoS
onstraint decomposition should ensure the following two points:
(1) If a candidate service for a task can meet the local QoS con-
straints, then the aggregated QoS values of the candidate
services for all of the tasks should satisfy the global QoS
constraints.
(2) The local QoS constraints should be relaxed as much as pos-
sible to avoid missing any candidate service that might be
part of a feasible CWS.
To decompose global QoS constraints optimally, the value range
f each QoS attribute of all of the service classes is divided into
set of discrete quality values that are called quality levels. Then,
ach global QoS constraint is mapped onto a set of quality levels
hat will be used as local QoS constraints.
Usually, a user always proposes several global QoS constraints;
hus, each service class should satisfy the same number of local
oS constraints simultaneously. The aim of global QoS constraints
ptimal decomposition is to find an optimal quality level combi-
Fig. 9. The process of prod
ation for each service class. To solve this problem, an evaluation
unction for quality level combination must be constructed.
.3.1. Evaluation function for global QoS constraints decomposition
Quality levels for each service class Sj are initialized by divid-
ng the value range of each QoS attribute qk into a set of discrete
uality values as depicted in Fig. 9. q jktindicates the value of the
th QoS attribute of the tth candidate service in service class Sj,djk
represents the dth quality level of the kth QoS attribute in the
ervice class Sj, and
min( j, k) ≤ L1jk ≤ L2
jk ≤ · · · ≤ Ldjk ≤ Qmax( j, k).
Because each service class has several QoS attributes and each
oS attribute has a set of quality levels, these quality levels can
onstitute many quality level combinations. To evaluate these qual-
ty level combinations, an evaluation function F(EQLCij) is con-
tructed to compute the fitness of quality level combinations. The
unction estimates the benefit of using a quality level combination
or service class Sj. The motivation for constructing the evaluation
unction is that a greater number of candidate Web services un-
er a quality level combination is better, and larger utility values
f candidate Web services under a quality level combination are
etter. The evaluation function for evaluating quality level combi-
ations is defined as (7).
(QlCi j) = n(QlCj)
q· Umax
QLCj(S j) (7)
here QLCij indicates the ith quality level combination for service
lass Sj, n(QLCi) represents the number of candidate services un-
er the ith quality level combination, and q is the total number
f all of the candidate services in service class Sj. UmaxQLCj
(S j) is the
aximum utility value of candidate services under the ith quality
evel combination. The objective of the global QoS decomposition
s to find the best quality level combinations for each service class;
herefore, the objective function for global QoS constraints optimal
ecomposition problem is defined as (8).
aximize
(n∑
j=1
F (QLCi j)
)(8)
Global QoS optimal decomposition is a combinatorial optimiza-
ion problem for which the intelligent algorithm CGA is designed
nd to solve this problem. Here we name the global QoS optimal
ecomposition based on CGA as CGA-QD. The chromosome encod-
ng model, selection operator, crossover operator, mutation oper-
tor and learning operation of CGA-QD will be presented in the
ollowing sections.
.3.2. Encoding model for the CGA-QD
The aim of global QoS constraints decomposition is to deter-
ine the optimal quality level combination for each service class.
ucing quality levels.
132 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143
Fig. 10. An instance of chromosome.
5
l
c
a
b
5
t
o
A
g
g
r
c
a
r
a
t
5
s
t
v
t
c
l
i
k
w
T
s
I
5
b
Q
c
v
Because each service class corresponds to a quality level combina-
tion, and a service composition workflow always has several ser-
vice classes, the solution for the problem of global QoS constraint
decomposition is constructed by quality level combinations of each
service class; therefore, a two-dimensional encoding model is suit-
able for the CGA-QD. A chromosome for the problem of global
QoS constraints decomposition is illustrated in Fig. 10, in which
{S1, S2, . . . , Sm} presents service classes, and {Q1, Q2, . . . , Qk} indi-
cates QoS attributes included in global QoS constraints. QmkLe rep-
resents the eth quality level of the kth QoS attribute of service
class Sm. The rows of the chromosome represent quality level com-
binations for different service classes.
5.3.3. Generating initial individuals for the CGA-SCS
The process of generating an initial population for the CGA-SCS
is described as follows: first, randomly select a quality level of each
QoS attribute of a service class to construct a quality level com-
bination for the current service class. Then, assemble the quality
level combinations of all of the service classes together to form a
chromosome. After that, check whether the chromosome is valid;
if not, construct a chromosome again, and repeat this process un-
til n valid chromosomes are obtained. A valid chromosome should
satisfy two points: (a) for each row of the chromosome, there ex-
ist Web services that can satisfy the local constraints in the quality
level combination, and (b) for each column of the chromosome,
the aggregated value of the column can satisfy the corresponding
global QoS constraint.
Fig. 11. Crossover operation. (For interpretation of the references to color in th
.3.4. Evaluation function for the CGA-QD
An evaluation function of the global QoS decomposition prob-
em is used to calculate the sum of evaluations of the quality level
ombinations in the chromosome. The fitness function is defined
s (8). This function is used to find the optimal quality level com-
ination for all of the service classes.
.3.5. Genetic operators for the CGA-QD
In this paper, a roulette wheel model is adopted to complete
he selection operation in the CGA-QD. A gene block crossover
perator is designed and illustrated in Fig. 11, in which A1 and
2 are two chromosomes. Suppose that the randomly selected
ene blocks of A1 are marked with red and the randomly selected
ene blocks of A2 are marked with yellow. Then, exchange the
ed gene blocks of A1 with the yellow gene block of A2. After
ompleting the crossover operator, two new individuals A′1
and A′2
re generated.
In the CGA-QD, a one-row mutation operation is adopted to
andomly select a row of a chromosome, then, new quality levels
re randomly selected from the corresponding quality level collec-
ions to replace the selected quality levels in the chromosome.
.3.6. Learning operation in the CGA-QD
The process of the learning operation in the CGA-QD is de-
cribed as follows: first, randomly select several individuals from
he population to form a learning group. Second, divide each indi-
idual into several segments. Third, for the identical segments of
he individuals in the group, identify the best segments through
omparison among the same segments. Finally, combine the se-
ected segments to form a new individual. The learning operation
n the CGA-QD is illustrated in Fig. 12, in which 〈I1, I2, . . . , Ik〉 are
different individuals in the learning group and segments marked
ith color are the best segments among the identical segments.
hrough learning, the best segments can be selected, and all of the
elected segments composed together can form a new individual
New.
.3.7. The process of global QoS constraint decomposition
The process of global QoS constraints optimal decomposition
ased on CGA is described as Algorithm 3. After obtaining local
oS constraints for all of the service classes, define these local QoS
onstraints as upper/lower bounds for selecting the best Web ser-
ice for each task.
is figure legend, the reader is referred to the web version of this article.)
Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 133
Fig. 12. The learning process. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)
Algorithm 3: Global QoS constraints optimal decomposition based
on CGA.
Input—m: the number of tasks; QoS: QoS values of Web services;
C = {C1, . . .,Cj, . . .,Ck}: Global QoS Constraints; n: the size of the
initial population; p1, p2: probability of crossover and mutation; δ:
the number of solutions extracted to the belief space; η: knowl-
edge accumulation iterations in the belief space; p: the number
of individuals in the learning group; Nmax: and the maximum
iteration of the algorithm;
Output—Local QoS constraints for each service class;
Step 1. Generate initial population;
1: Randomly generate n initial individuals in the population space;
2: Evaluate the individuals according to formula (8);
Step 2. Evolution in the population space
3: Perform Selectionoperation, Crossoveroperation and
Mutationoperation which designed for the CGA-QD.
Step 3. Evolution in the belief space
4: Extract the top δ individuals in the population space to the
belief space according to the Accept() function;
5: Update the knowledge in the belief space according to U pdate()
function;
6: Perform the learning operation in the belief space;
7: Evaluate the new individuals produced through learning;
8: Keep δ individuals with better evaluation in the belief space;
9: If (the accumulated times of knowledge == η)
10: perform the influence operation according to the In f luence()
function on the population space
11: EndIf
Step5. Determine whether to stop
12: If (Iteration Time == Nmax) \\ Nmax is the maximum iteration
time
13: Output the local QoS constraints for each service class and
ry: 1.00 GB; and OS: Windows 7. The time unit of the following
xperiments is one second. The algorithm of global QoS constraint
ptimal decomposition based on the CGA is realized with C++ pro-
ramming language.
.1.2. Experiment 1
In this experiment, set m ∈ {50, 100, 200, 300, 400}, and set
= 20. Then, execute the dynamic Web service composition algo-
ithm, and record the running time of the algorithm with different
umbers of candidate Web services. Experimental results are de-
Fig. 15. Running times of WS
icted in Fig. 14, in which the vertical axis represents the running
ime of the algorithm, and the horizontal axis denotes the number
f iterations.
As Fig. 14 indicates, with an increase in the number of candi-
ate Web services, the running time of the dynamic Web service
omposition algorithm does not significantly increase. By com-
aring we can found that there is linear growth between the
unning time of the algorithm and the increase of the number of
andidate services. Therefore, we can say that the service compo-
ition algorithm proposed in this paper has better feasibility and
calability.
.1.3. Experiment 2
Experiment 2 is used to verify the influence of the quality level
umber on the performance of the service composition method,
ere named WSC−CGA. In this experiment, set m = 100, and the
uality level number d varies from 10 to 40. We iterate the ser-
ice composition method with different quality level numbers
or 100, 200, 300, 400, 500, and 600 times, recording the run-
ing time and evaluation values of the CWS found by the service
C−CGA with different d.
138 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143
Fig. 16. Solutions founded by WSC−CGA with different d.
Fig. 17. Performance comparison.
W
n
q
8
e
i
S
fl
a
a
p
m
a
v
z
composition method. The experimental results are illustrated as
Figs. 15 and 16.
Fig. 15 describes the running time of the WSC−CGA with a dif-
ferent quality level number, in which the vertical axis represents
the running time of the algorithm and the horizontal axis denotes
the number of iterations of the algorithm. As Fig. 15 indicates, the
running time increases rapidly when the number of the quality
level number is large. From this result, we can say that the qual-
ity level number is the main factor that influences the speed of
SC−CGA.
Fig. 16 describes best solutions found by WSC−CGA with a dif-
ferent quality level number, in which the vertical axis represents
the evaluation of CWSs founded by WSC−CGA, and the horizon-
tal axis denotes the quality level numbers. As Fig. 16 indicates
when the quality level number is set to 10, the solution founded
by WSC−CGA is the best. Considering the experimental results, we
can find that when set the quality level number as 10, WSC−CGA
ot only can run fast but also identify a better solution. So, the
uality level number in this paper is set to 10.
.1.4. Experiment 3
Experiment 3 is to verify the superiority of WSC−CGA. In this
xperiment, we use WSC−CGA and the C-MMAS algorithm provided
n works [33] to solve the service composition problem designed is
ection 3.1. The number of tasks in the service composition work-
ow is 9, the number of Web services in each service class is 50,
nd the quality level number is 10. Other parameters of WSC−CGA
re set as in Section 8.1.1. The parameters of C − MMAS are set as
roposed in works [33].
The two methods are executed under in identical environ-
ents. The running time and the solution found by each method
re recorded. Experimental results are presented in Fig. 17. The
ertical axis represents the evaluation of solutions, and the hori-
ontal axis denotes running times of the two algorithms. Solutions
Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 139
Fig. 18. Solutions and running times of the two algorithms.
f
t
d
c
8
8
s
c
d
a
m
t
v
t
n
b
o
S
W
W
a
v
t
t
t
r
c
i
o
i
v
B
t
e
l
m
t
s
8
t
a
a
d
t
i
s
t
t
t
r
T
o
W
t
8
i
ounded by the two algorithms and the corresponding running
imes are also presented in Fig. 18. From Figs. 17 and 18, we can
etermine that WSC−CGA has better searching capability and a fast
onvergence rate.
.2. Experiment II
.2.1. Experiment design
To verify the validity of the QoS dynamic prediction method,
imulation experiments are conducted on the Web service appli-
ation platform. A Web service with two computing functions is
eveloped; one function is to calculate the rank of a large matrix,
nd another function is to calculate the eigenvalues of the large
atrix. Here, use the calculation of matrices rank as the first task
ype, recorded as type I; use the calculation of the matrices eigen-
alues as the second task type, recorded as type II. The order of
he matrix is used to indicate the task volume.
The simulation experiment platform consists of two compo-
ents. The first component of the platform is the client simulated
y a PC. The configuration of the PC is, CPU2vCPU 1674 MHz, Mem-
ry2048 MB, OSWindows XP. The second component is a Web
erver on which the service is deployed. The configuration of the
eb Server is CPU2vCPU 1674 MHz; Memory1024 MB; and OS-
indows XP. In this experiment, some tasks are randomly gener-
ted, task type is randomly produced between I and II, and task
Fig. 19. Structure of exp
olumes are randomly generated in the interval [500, 2000]. Then,
hese tasks are randomly submitted to the Web service. When a
ask is submitted, the client records the task type, task volume and
he submission time Tsub; when the result is received, the client
ecords the completion time Tcomp; then, the response time T is
omputed by formula: T = Tcomp − Tsub. The experiment platform
s illustrated in Fig. 19.
In this experiment, CPU utilization is used to indicate the load
f the service; during the process of handling tasks, CPU utilization
s recorded every 50 ms. After the task is completed, the average
alue of CPU utilization is interpreted as the load of the service.
ecause there is no cooperation between services in this simula-
ion experiment, the factor of cooperation service is not consid-
red. After a task is completed, create a QoS case according to the
oad, task type, task volume, and processing time. In this experi-
ent, 1750 QoS cases with task type I and 1500 QoS cases with
ask type II are produced. Only the ResponseTime attribute is con-
idered.
.2.2. Experiment 1
This experiment is to verify that Web service QoS is subject to
he influence of several key factors, such as service load, task type,
nd task volume. In this experiment, keep the load of the service
t 30%; then, produce some tasks with different task volumes and
ifferent task types, and submit these tasks to the service. Record
he response time of these tasks. Experiment results are described
n Fig. 20.
Fig. 20 show the following: (1) although the task amount and
ervice load are the same, if the task type is different, the response
imes of these tasks are different; (2) although service load and
ask type are the same, if the volumes of the tasks are different,
he response times of these tasks are different. As seen in Fig. 20,
esponse time increases with the increase of the volume of task.
herefore, it can be concluded that when service load, or task type,
r task volume changes, the QoS will also change. Thus, to predict
eb service QoS, it is necessary to consider the factors that cause
he fluctuation of the Web service QoS.
.2.3. Experiment 2
When using the CBR method to solve a new problem, the qual-
ty of similar historical cases is very important; therefore, it is
eriment platform.
140 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143
Fig. 20. Response time of tasks under the same service load.
Fig. 21. Average forecast error rate for the 20 test cases.
i
a
l
t
i
r
i
c
i
fi
8
d
o
m
Q
o
m
necessary to find the most suitable value of parameter k. This
experiment aims to find a suitable value for parameter k. In this
experiment, a QoS prediction method based on improved CBR is
realized with the C++ programming language. The experiment en-
vironment is a PC configured with CPU: Intel(R) 4 2.40 GHz, Mem-
ory: 512MB; OS: Microsoft Windows 2000. Here, the 10-fold cross-
validation method is adopted. Each data fold includes 30 QoS
cases; then, for each data fold, we set values for parameter k as
1,2,...,10 and predict the QoS of the test cases. The experimental
results are presented as Fig. 21.
From Fig. 21, it can be seen that when the value of k is small,
the average prediction error rate is high, and as the number of
similar QoS cases increases, the average prediction error rate grad-
ually decreases. This result is because that when the number of
similar QoS cases is small, the number of similar QoS cases with
high quality is also small; thus, it cannot give fully apply similar
historical cases to the solving of new problems, leading to a high
average relative prediction error rate. With an increase in the num-
ber of similar cases, more high-quality similar cases are reused,
thereby improving precision of prediction is improved; As seen
n Fig. 20, when the number of similar cases is 6, the prediction
ccuracy is the highest. Subsequently, when the number of simi-
ar cases gradually becomes grater, the prediction accuracies begin
o decrease, this decrease occurs because that with the increase
n the similar cases, some similar cases with poor quality will be
eused, thus affecting prediction accuracy.
To obtain the best prediction effect, the number of similar cases
s set to 6. That is, when predicting the QoS values of a new QoS
ase, select the top six historical QoS cases according to their sim-
larity, and compute QoS values of the new QoS case based on the
ve similar QoS cases.
.2.4. Experiment 3
This experiment is to verify the effectiveness of our QoS pre-
iction method. In this experiment, a QoS prediction method based
n CBR and a QoS prediction method based on an optimized vector
achine [76](O-SVM) are adopted to predict the response time of
oS cases, O-SVM is produced through optimizing the parameters
f SVM by an artificial colony bee algorithm [77]. In this experi-
ent, the scale of the QoS data is 896, the first 800 data points
Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 141
Fig. 22. Comparison of prediction accuracy.
Fig. 23. Running times of the two QoS prediction methods.
a
d
t
m
o
1
t
S
p
o
c
t
0
b
.
p
t
C
Q
[
t
s
s
i
t
i
o
i
s
t
i
i
t
t
s
s
i
w
re used as training data, and the last 96 are used as a testing
ata set. For each experiment, randomly select 20 data values from
he testing data set and use them as testing data. For the O-SVM
ethod, set the loss function parameter ε = 0.01, the value range
f penalty parameter c and kernel function parameter σ is [0.1,
000], and the value of c and σ are dynamically determined by
he ABC algorithm. In order to verify the performance of the O-
VM method, the QoS data are increased 50 by 50 during the ex-
eriment, and the parameters of SVM is optimized for each group
f data, and is used to train SVM in the next group of data and
omplete the prediction of testing QoS data. For the QoS predic-
ion method based on improved CBR, set ws1 = 0.6,ws2 = 0.4;w1 =.3,w2 = 0.25,w3 = 0.2, w4 = 0.15,w6 = 0.1, QoS prediction is to
e performed when the scale of train QoS data reaches 10, 20, 30,
.., 380, 390 and 400. For each experiment, the accuracy rate of the
rediction is the average value of the 20 iterations. The experimen-
al results are shown in Fig. 22.
Fig. 22 shows that the prediction accuracy of the improved
BR and O-SVM is gradually improved as the scale of the training
oS data increased. When the scale of the training QoS data is in
10, 140], the prediction accuracy of the improved CBR is higher
han that of the O-SVM. This is results occurs because when the
cale of the training QoS data is small, the O-SVM cannot obtain
ufficient training. Therefore, the prediction accuracy of the O-SVM
s lower. When the scale of the training QoS data is in [140, 240],
he prediction accuracy of the O-SVM is greater than that of the
mproved CBR. This difference occurs because that when the scale
f the training QoS data is large, the O-SVM can obtain sufficient
nformation and can be trained fully. So it can exert its nonlinear
imulation advantage, making the prediction accuracy greater than
hat of the improved CBR. When the scale of the training QoS data
s larger than 300, the prediction accuracy of the O-SVM and the
mproved CBR are approximately the same; and when the scale of
he training QoS data is greater than 300, the variation between
he prediction accuracies of the two QoS prediction methods is
mall.
The running times of the two QoS prediction methods are pre-
ented in Fig. 23. Fig. 23 shows that the prediction speed of the
mproved CBR was faster than that of the O-SVM, particularly
hen the scale of the training QoS data increased.
142 Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143
F
a
R
Therefore, from the above experimental results, we conclude
that when the scale of the training QoS data is in [10, 140], the
performance of the improved CBR is better than that of the O-SVM.
When the scale of the training QoS data is in [140, 240], the pre-
diction accuracy of the O-SVM is better than that of the improved
CBR, but the prediction speed of O-SVM is slower than that of the
improved CBR. When the scale of the training QoS data is greater
than 300, the prediction accuracy of the two methods are approx-
imately the same, but the prediction speed of the improved CBR is
faster than that of the O-SVM.
From these experimental results, we can conclude that each
QoS prediction method has its own advantages and disadvantages.
Moreover, there are many dynamic environmental factors; it is dif-
ficult to find a single QoS prediction method that can work well in
different QoS prediction situations. Therefore, in our future work,
we will conduct further study of QoS adaptive prediction and pro-
vide a QoS adaptive prediction model that can schedule the most
appropriate QoS methods for the current QoS prediction situation.
9. Summary and Prospect
QoS-aware Web service composition is an active research issue
in Service Computing and Cloud Computing fields, and attracting
many researchers from industry and academia. Many studies have
been performed on this problem, but dynamically constructing
reliable composite services remains an open issue. For this prob-
lem, unlike existing solutions that model the QoS-aware service
composition problem as a conventional combinatorial optimiza-
tion problem, this paper provides a new two-stage approach for
reliable dynamic Web service composition. In the first stage, in
order to reduce the number of candidate services and improve
the effectiveness of service composition, the top K service com-
position schemes are found, and component services of these
schemes are filtered out and selected as the candidate services for
service dynamic composition. Then, to increase the flexibility of
service dynamic composition and to integrate QoS prediction into
the service dynamic composition process, this paper transforms
the problem of QoS-aware service composition to a local optimiza-
tion problem by decomposing global QoS constraints into a set of
local constraints. In the second stage, during the execution of the
service composition workflow, the QoS of each candidate service
is predicted, and the best services that can satisfy local constraints
are selected for each task. Finally, experimental results show that
our approach is the feasible and effective for reliable dynamic
Web service composition.
In the future work, we will continue to do the following deep
research: (1) study the performance of CGA, and try to propose a
new swarm intelligent algorithm which simulate the learning pro-
cess of human society; (2) study how to decompose the global QoS
constraints adaptively; and (3) study how to predict Web service
QoS adaptively and propose a QoS adaptive prediction model that
can schedule the most appropriate QoS prediction method accord-
ing to the real-time situation. Moreover, we are planning to ver-
ify this two-stage service dynamic composition method in a real
cloud-computing platform and continue to improve it.
Acknowledgments
This work is supported byThe National Natural Sci-
ence Foundation Fund China (nos. 61300124, 61472106, and
61403128), Major projects of science and technology in Shan-
dong Province(2015ZDXX0201B02), Basis and frontier of Henan
Province (152300410212), Soft science research project of
Henan Province(152400410513), Zhengzhou leading talent
project(131PLJRC645), and Henan Polytechnic University Youth
und Project(Q2014-09). The authors would like to thank the
nonymous reviewers for their valuable feedback on this work.
eferences
[1] D. Fensel, C. Bussler, The web service modeling framework WSMF, Electr. Com-
mer. Res. Appl. 1 (2) (2002) 113–137.
[2] W. Kongdenfha, H.R. Motahari-Nezhad, B. Benatallah, R. Saint-Paul, Web Ser-vice Adaptation: Mismatch Patterns and Semi-Automated Approach to Mis-
match Identification and Adapter Development, Web Services Foundations—Springer, New York, 2014, pp. 245–272.
[3] J. Liu, K. He, J. Wang, F. Liu, X. Li, Service organization and recommendationusing multi-granularity approach, Knowl.-Based Syst. 73 (2015) 181–198.
[4] J. Hoffmann, I. Weber, Web Service Composition, Encyclopedia of Social Net-
work Analysis and Mining, Springer, New York, 2014, pp. 2389–2399.[5] M. Moghaddam, J.G. Davis, Service Selection in Web Service Composition:
A Comparative Review of Existing Approaches, Web Services Foundations—Springer, New York, 2014, pp. 321–346.
[6] G. Zou, Y. Gan, Y. Chen, B. Zhang, Dynamic composition of web services us-ing efficient planners in large-scale service repository, Knowl.-Based Syst. 62
(2014) 98–112.
[7] M. Armbrust, A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, M. Zaharia,A view of cloud computing, Commun. ACM 53 (4) (2010) 50–58.
[8] D. Roman, U. Keller, H. Lausen, Web service modeling ontology, Appl. Ontol. 1(1) (2005) 77–106.
[9] A. Jacobs, The pathologies of big data, Commun. ACM 52 (8) (2009) 36–44.[10] L. Atzori, A. Iera, G. Morabito, The internet of things: A survey, Comput. Netw.
54 (15) (2010) 2787–2805.
[11] K.S. Candan, W.S. Li, T. Phan, M. Zhou, Frontiers in information and softwareas services, in: Proceedings of the 25th International Conference on Data En-
gineering (ICDE’09), IEEE, Shanghai, China, 2009, pp. 1761–1768.[12] S.Y. Hwang, H. Wang, J. Tang, A probabilistic approach to modeling and esti-
mating the QoS of web-services-based workflows, Inform. Sci. 177 (23) (2007)5484–5503.
[13] Y. Wang, Y. Wang, A survey of change management in service-based environ-ments, Serv. Oriented Comput. Appl. 7 (4) (2013) 259–273.
[14] W. Wiesemann, R. Hochreiter, D. Kuhn, A stochastic programming approach for
QoS-aware service composition, in: Proceedings of the 8th IEEE InternationalSymposium on Cluster Computing and the Grid, 2008 (CCGRID’08), IEEE, 2008,
pp. 226–233.[15] S. Wang, Q. Sun, H. Zou, Particle swarm optimization with skyline operator for
fast cloud-based web service composition[J], Mobile Netw. Appl. 18 (1) (2013)116–121.
[16] Y. Zhang, W. Fu, K.K.N. Leung, Web service publishing and composition based
on monadic methods and program slicing, Knowl.-Based Syst. 37 (2013) 296–304.
[17] H. Ma, A. Wang, M. Zhang, A hybrid approach using genetic programming andgreedy search for QoS-aware web service composition, Transactions on Large-
Scale Data-and Knowledge-Centered Systems XVIII, Springer, Berlin Heidelberg,2015, pp. 180–205.
[18] H. Wang, B. Zou, G. Guo, J. Zhang, Z. Yang, Optimal and effective web ser-
vice composition with trust and user preference, in: Proceedings of the IEEEInternational Conference on Web Services (ICWS), IEEE, New York, USA, June
27-July 2, 2015, pp. 329–336.[19] A. Strunk, QoS-aware service composition: A survey, in: Proceedings of the
IEEE 8th European Conference on Web Services (ECOWS), IEEE, Ayia Napa,Cyprus, 1-3 December, 2010, pp. 67–74.
[20] Q.Z. Sheng, X. Qiao, A.V. Vasilakos, C. Szabo, S. Bourne, X. Xu, Web services
composition: A decades overview, Inform. Sci. 280 (2014) 218–238.[21] Y. Liu, A.H. Ngu, L.Z. Zeng, QoS computation and policing in dynamic web ser-
vice selection, in: Proceedings of the 13th International World Wide Web Con-ference on Alternate Track Papers Posters, ACM, 2004, pp. 66–73.
[22] T. Yu, Y. Zhang, K.J. Lin, Efficient algorithms for web services selection withend-to-end qos constraints, ACM Trans. Web (TWEB) 1 (1) (2007) 6:1–6:27.
[23] V. Cardellini, E. Casalicchio, V. Grassi, Flow-based service selection for web ser-
vice composition supporting multiple QoS classes, in: Proceedings of the IEEEInternational Conference on Web Services (ICWS’07), IEEE, Salt Lake City, UT,
9-13 July, 2007, pp. 743–750.[24] D.A. Menasc, E. Casalicchio, V. Dubey, On optimal service selection in service
oriented architectures, Perform. Eval. 67 (8) (2010) 659–675.[25] D. Ardagna, B. Pernici, Adaptive service composition in flexible processes, IEEE
Trans. Softw. Eng. 33 (6) (2007) 369–384.
[26] A.F.M. Huang, C.W. Lan, S.J.H. Yang, An optimal QoS-based web service selec-tion scheme, Inform. Sci. 179 (19) (2009) 3309–3322.
[27] Z. Liang, H. Zou, F. Yang, R. Lin, A hybrid approach for the multi-constraint webservice selection problem in web service composition, J. Inform. Comput. Sci.
algorithm for web services selection, J. China Univ. Posts Telecommun. 16(2009) 102–107.
[29] H. Jiang, X. Yang, k. Yin, S. Zhang, J.A. Cristoforo, Multi-path QoS-aware web
service composition using variable length chromosome genetic algorithm, In-form. Tech. J. 10 (1) (2011) 113–119.
[30] H. Liang, Y. Du, S. Li, An improved genetic algorithm for service selection undertemporal constraints in cloud computing, Web Information Systems Engineer-
ing (CWISE’13), Springer, Berlin Heidelberg, 2013, pp. 309–318.
Z.-Z. Liu et al. / Knowledge-Based Systems 97 (2016) 123–143 143
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[31] W. Li, Y.X. He, A web service composition algorithm based on global QoS op-timizing with MOCACO, Algorithms and Architectures for Parallel Processing,
Springer, Berlin Heidelberg, 2010, pp. 218–224.32] X. Zhao, B. Song, P. Huang, Z. Wen, J. Weng, Y. Fan, An improved discrete im-
mune optimization algorithm based on PSO for QoS-driven web service com-position, Appl. Soft Comput. 12 (8) (2012) 2208–2216.
[33] Z.J. Wang, Z.Z. Liu, X.F. Zhou, An approach for composite web service selectionbased on DGQos[J], Int. J. Adv. Manuf. Technol. 56 (9-12) (2011) 1167–1179.
34] N.H. Rostami, E. Kheirkhah, M. Jalali, An optimized semantic web service com-
position method based on clustering and ant colony algorithm, Int. J. Web Se-mantic Tech. 5 (1) (2014) arXiv:1402.2271.
[35] M. Alrifai, T. Risse, W. Nejdl, A hybrid approach for efficient web service com-position with end-to-end qos constraints, ACM Trans. Web (TWEB) 6 (2) (2012)
7:1–7:31.36] F. Mardukhi, N. NematBakhsh, K. Zamanifar, A. Barati, Qos decomposition for
service composition using genetic algorithm, Appl. Soft Comput. 13 (7) (2013)
3409–3421.[37] Z.Z. Liu, X. Xue, J.Q. Shen, W.R. Li, Web service dynamic composition based on
decomposition of global QoS constraints, Int. J. Adv. Manuf. Technol. 69 (9-12)(2013) 2247–2260.
38] S.Y. Hwang, H. Wang, J. Tang, A probabilistic approach to modeling and esti-mating the QoS of web-services-based workflows, Inform. Sci. 177 (23) (2007)
5484–5503.
39] H. Wang, H. Sun, Q. Yu, Reliable service composition via automatic qos predic-tion, in: Proceedings of the IEEE International Conference on Services Comput-
ing (SCC’13), IEEE, Santa Clara, CA, June 28-July 3, 2013, pp. 200–207.40] L.S. Shao, L. Zhou, J.F. Zhao, B. Xie, H. Mei, Web service qos prediction ap-
proach, J. Softw. 20 (8) (2009) 2062–2073.[41] Z. Zheng, H. Ma, M.R. Lyu, I. King, Wsrec: A collaborative filtering based web
service recommender system, in: Proceedings of the IEEE International Confer-
ence on Web Services (ICWS), IEEE, Los Angeles, CA, 6-10 July, 2009, pp. 437–444.
42] C.C. Li, L.Q. Cui, Y. Deng, W.X. Feng, A QoS prediction approach based on im-proved collaborative filtering, in: Proceedings of the 2nd International Confer-
ence on Advanced Computer Control (ICACC), vol. 2, IEEE, Shenyang, China,27-29 March, 2010, pp. 519–522.
43] L. Zhang, B. Zhang, J. Na, L.P. Huang, M.W. Zhang, An approach for web service
qos prediction based on service using information, in: Proceedings of the IEEEInternational Conference on Service Sciences (ICSS), IEEE, Hangzhou, China, 13-
14 May, 2010, pp. 324–328.44] Y.L. Shi, K. Zhang, B. Liu, L.Z. Cui, A new QoS prediction approach based on user
clustering and regression algorithms, in: Proceedings of the IEEE InternationalConference on Web Service 2011 (ICWS), IEEE, Washington, DC, 4-9 July, 2011,
pp. 726–727.
45] Z. Zheng, H. Ma, M.R. Lyu M R, I. King, Collaborative web service QoS predic-tion via neighborhood integrated matrix factorization, IEEE Trans. Serv. Com-
put. 6 (3) (2013) 289–299.46] Z. Liang, H. Zou, J. Guo, F. Yang, R. Lin, Multi-QoS effective prediction in web
service selection, Web Technologies and Applications, Springer, Berlin Heidel-berg, 2013, pp. 176–183.
[47] Y. Ngoko, C. Crin, A. Goldman, Graph reduction for QoS prediction of cloudc-service compositions, Int. J. Bus. Proc. Integ. Manage. 7 (2) (2014) 89–102.
48] D. Geebelen, K. Geebelen, E. Truyen, S. Michiels, J.A. Suykens, J. Vandewalle,
W. Joosen, QoS prediction for web service compositions using kernel-basedquantile estimation with online adaptation of the constant offset, Inform. Sci.
268 (2014) 397–424.49] Y. Syu, Y.Y. Fanjiang, J.Y. Kuo, S.P. Ma, A review of the automatic web ser-
vice composition surveys, in: Proceedings of the IEEE International Conferenceon Semantic Computing (ICSC), IEEE, Newport Beach, CA, 16-18 June, 2014,
pp. 199–202.
50] W. Dou, X. Zhang, J. Liu, J. Chen, Hiresome-II: Towards privacy-aware cross-cloud service composition for big data applications, IEEE Trans. Parallel Distrib.
Syst. 26 (2) (2015) 455–466.[51] K. Su, L.L. Ma, X.M. Guo, Y.F. Sun, An efficient parameter-adaptive genetic algo-
rithm for service selection with end-to-end QoS constraints, J. Comput. Inform.Syst. 10 (2) (2014) 581–588.
52] M. Alrifai, T. Risse, Efficient QoS-aware service composition, in: Proceedings of
the Emerging Web Services Technology, vol. III, Birkhäuser Basel, 2010, pp. 75–87.
53] L. Zeng, B. Benatallah, A.H. Ngu, QoS-aware middleware for web services com-position[j], IEEE Trans. Softw. Eng. 30 (5) (2004) 311–327.
54] J. Cardoso, A. Sheth, J. Miller, Quality of service for workflows and web serviceprocesses, Web Semant.: Sci. Serv. Agents World Wide Web 1 (3) (2004) 281–
308.55] L. Zeng, B. Benatallah, M. Dumas M, Quality driven web services composi-
tion, in: Proceedings of the 12th International Conference on World Wide Web,ACM, 2003, pp. 411–421.
56] F. Gao, E. Curry, M.L. Ali, S. Bhiri, A. Mileo, Qos-aware complex event service
composition and optimization using genetic algorithms, Service-Oriented Com-puting, Springer, Berlin Heidelberg, 2014, pp. 386–393.
[57] X. Zuo, C. Chen, W. Tan, M. Zhou, Vehicle scheduling of an urban bus linevia an improved multiobjective genetic algorithm, IEEE Trans. Intell. Transport.
Syst. 16 (2) (2015) 1030–1041.58] K. Rajasekar, R. Saravanan, S. Sowmyashree, Genetic algorithm based optimiza-
tion of box-cross section modulus for heavy vehicle chassis, Int. J. Vehic. Struct.
Syst. 7 (2) (2015) 1–8.59] M.S. Kumar, Genetic algorithm-based proportional derivative controller for the
development of active suspension system, Inform. Technol. Contr. 36 (1) (2007)58–67.
60] K. Deb, A. Pratap, S. Agarwal, T.A.M.T. Meyarivan, A fast and elitist multiobjec-tive genetic algorithm: NSGA-II, IEEE Trans. Evol. Comput. 6 (2) (2002) 182–
197.
[61] F. Küçüksayacigil, G. Ulusoy, A genetic algorithm application for multi-objectivemulti-project resource constrained project scheduling problem, in: Proceedings
of the 15th Workshop of the EURO Working Group, Istanbul, Turkey, 24-25March, 2014, pp. 49–52.
62] Z. Chen, C.C. Mi, R. Xiong, J. Xu, C. You, Energy management of a power-splitplug-in hybrid electric vehicle based on genetic algorithm and quadratic pro-
gramming, J. Power Sour. 248 (2014) 416–426.
63] R.G. Reynolds, An introduction to cultural algorithms, Proceedings of the ThirdAnnual Conference on Evolutionary Programming, World Scientific, River Edge,
NJ, 1994, pp. 131–139.64] C. Soza, R.L. Becerra, M.C. Riff, C.A. Coello, Solving timetabling problems using
a cultural algorithm, Appl. Soft Comput. 11 (1) (2011) 337–344.65] R. Zhang, J. Zhou, L. Mo, S. Ouyang, X. Liao, Economic environmental dispatch
using an enhanced multi-objective cultural algorithm, Electr. Power Syst. Res.
99 (2013) 18–29.66] Q. Luo, Y. Zhou, P. P.Guo, X. Chen, Functional network design using parallel
cultural algorithm, Appl. Math 8 (4) (2014) 1949–1957.[67] P. Bin, Knowledge and population swarms in cultural algorithms for dynamic
environments, Wayne State University, Detroit, 2005 (Ph.D. thesis).68] P. Dillenbourg, Collaborative learning: Cognitive and computational ap-
proaches, Advances in Learning and Instruction Series [M], Elsevier Science,
Inc., New York, NY, 1999.69] O’Donnell, M. Angela, E. Cindy, Hmelo-Silver, E. Gijsbert, Collaborative Learn-
ing, Reasoning, and Technology, Routledge, 2013.[70] A. Trendowicz, R. Jeffery, Case-based reasoning, Software Project Effort Estima-
tion, Springer International Publishing, 2014, pp. 305–313.[71] C.K. Riesbeck, R.C. Schank, Inside Case-based Reasoning, Psychology Press,
2013.[72] I. Pereira, A. Madureira, Self-optimization module for scheduling using case-
based reasoning, Appl. Soft Comput. 13 (3) (2013) 1419–1432.
[73] H. Ince, Short term stock selection with case-based reasoning technique, Appl.Soft Comput. 22 (2014) 205–212.
[74] S.V. Shokouhi, P. Skalle, A. Aamodt, An overview of case-based reasoning ap-plications in drilling engineering, Artif. Intell. Rev. 41 (3) (2014) 317–329.
75] S.K. Pal, S.C.K. Shiu, Foundations of Soft Case-Based Reasoning, Wiley and Sons,New Jersey, 2004.
[76] S. Gupta, R. Kambli, S. Wagh S, F. Kazi, Support-vector-machine-based proac-
tive cascade prediction in smart grid using probabilistic framework, IEEE Trans.Indus. Electr. 62 (4) (2015) 2478–2486.
[77] D. Karaboga, B. Basturk, A powerful and efficient algorithm for numerical func-tion optimization: artificial bee colony (ABC) algorithm, J. Global Optim. 39 (3)