You are on page 1of 6

IEEE International Conference on Computer, Communication and Control (IC4-2015).

Optimization to Quality-of-Service-driven Web


Service Composition using modified Genetic
Algorithm
Indresh Kumar Gupta1,Jeetendra Kumar2, Pradeep Rai3
ABV-Indian Institute of Information
PSIT College of Engineering,Kanpur, India-209305
Technology and Management Gwalior, India-474010
Email: pradeep.pdc@gmail.com3, indresh.gupta345@gmail.com1, jkbiet@gmail.com2
AbstractIn the web service management Quality of service
(QoS) has become an important issue due to the vast number of
services that provide the same functionality but with different
features. Selecting QoS based services for web services is
considered to be global optimization problem. There are several
non-functional factors that integrated into Quality of service in
web services such as execution cost, execution time, availability,
successful execution rate and security. There is a huge demand
from the clients for the multiple functionalities in services.
Therefore, optimization in the selection of web services from
among numerous plans that satisfies client requirements has
become a top priority. In this paper, the improved Genetic
Algorithm (iGA) is used for QoS-based web service composition.
The experiments show that the algorithm is a feasible and
efficient method for Web services selection. The dataset of web
services
used
in
this
study
is
available
at
http://bit.ly/WSSelection.

and cannot solve multi-objective optimization problem; the


requirements of the requester, and sensitive to the weight
vector; optimize the results single, no other choice; linear
programming requirements of the objective function and
constraints are linear,which to some extent limit the
practicality of the algorithm. Literature [20] proposed an
algorithm to implement service selection in service
composition under incomplete information.However, due to
the large calculation makes service composition complexity,
moreover, not make good use of optimization intelligent
search algorithm merged into it. With the increase in the
number of services, the whole performance of Web service
composition will be affected, thus the study of Web service
composition based on QoS service selection intelligent
optimization algorithm and its realization is very important.

Keywordsweb

In order to reduce complexity of service composition and


improve service of performance, in this paper, Web service
description was expanded and given a description of QoS, the
description of multi-objective optimization and provided a
service selection method based on particle swarm
optimization. This method can significantly improve the
problem solving speed and accuracy, reducing the complexity
of service composition and improve service performance.

services, service
ofservice; service selection; GA
I.

composition;

quality

INTRODUCTION

Web services has become a service-oriented architecture to


research the hot spot[7], literature[18] for the support of Web
services technologies are introduced, put forward a number of
issues worthy of study, from which most of these problems is
not difficult to see around web service composition targeted
for the study. In the service composition, service discovery
and service selection to meet the users request, which is one
of the key issues. At present, solve the service selection
problem in Web service composition is that user directly use
the functional properties and non-functional properties of Web
service description model to search and select the Web service
to meet the users request[17][14][13]. Although the current
research literature on a variety of quality of service (QoS)
service composition methods[1][9], these methods QoS-based
service selection are considered only a single optimization
goal, however, the service selection for the global optimum
QoS is not much research work. Literature[19][21] through the
processes of service composition of the various QoS constraint
parameters linear weighted into a single objective function,
using the basic principles of linear programming to solve the
service selection problem of global optimization QoS.
However, existing the following issues: the only solution to
meet the constraints of the single objective optimal solution

II.

RELATED WORK

The existing work in the domain of QoS based web service


composition apply various decisions making and optimization
approaches to find the best composition plan. In [14] a
multiple criteria decision making with weighted sum model
(to select a service) and integer programming (IP) approach
with branch and bound (to select an optimal solution) has been
proposed. In [13] constraint satisfaction based solution which
combines simulated annealing approach with Tabu search has
been proposed. The Tabu search is used for generating
neighbor plans and simulated annealing heuristic is applied for
accepting or rejecting the neighbor plan.However this
approach has a high probability of getting stuck in local
optimum because it is unable to work on more than one
composition plan at the same time. In [1] we presented an
approach in which genetic algorithm is used to find the
optimal composition plan. This method applies improvements

IEEE International Conference on Computer, Communication and Control (IC4-2015).


to the generation and selection of chromosomes to improve the
speed of the algorithm while it used partial initialization of
chromosomes to escape local optimums. Furthermore, this
method works on a population of composition plans, in
contrast to the Tabu method.
There are different composition approaches a description of
the different composition models is provided, which are
orchestration, choreography, coordination and component.
Orchestration [17] is a description of how services that
participate in a composition interact at the message level,
including the order in which iterations should be executed as
well as the business logic. Therefore, orchestration defines the
interaction with the services it orchestrates, before any actual
execution takes place. One of the languages for defining
choreographies is the Web Service Choreography Description
Language (WS-CDL) [14].
Service coordination groups a set of service instances together
based on a coordination protocol. This protocol describes the
way the participating services should interact, what the
outcome of the interaction should be, and whether it was
successful or not. The coordinator, which is a third party, acts
as the nexus between participants and is responsible for the
correct flow of the encounters, as well as the decision and
dissemination of the outcome once activity ends. OASIS has
developed the Web Services Composite Application
Framework (WS-CAF )[13], which includes the Web Service
Coordination Framework (WSCF).
The component model, also referred to as service wiring, is
concerned with the actual linkage of the services during the
composition. Service wiring is described in the Service
Component Architecture (SCA) [1], in which the service
components can be implemented in any programming
language, and are encapsulated in order for the components to
be able to share a similar description.
Automated web service composition approaches can be
grouped into workflow-based, model-based, theoretic-based
and planning-based approaches. An example of a workflow
based approach is a framework that automatically constructs a
Web service composition schema from a high-level
perspective [15]. The input is fed to an abstract workflow
generator that attempts to create an abstract workflow that
satisfies the objective by either using already generated
workflows or subsets of them that are stored in a repository or
by performing backtracking to find a chain of services that
satisfy the objective. The identified abstract workflow is then
instantiated by either finding existing services through a
matchmaking algorithm that matches inputs and outputs and
binds them to the workflow, or by recursively calling the
abstract workflow generator if no service can be found for an
activity.
Model-based approaches are manifold. An e-service
composition tool [9] implements an automated service
composition using Finite State Machines (FSMs). The
behavior of a service is modeled using two schemata; an
external schema specifies its exported behavior and an internal
schema contains information on which a service instance

executes each given action that is part of the overall service


process. When the composition is synthesized, the external
FSM models of the available services, and target services are
transformed to modal logic formulas in Deterministic
Propositional Dynamic Logic (DPDL). If the resulting set of
equations is satisfiable, then a FSM for the target service
exists. The synthesized FSM can then be converted to a BPEL
process and executed in an engine. Some recent work of the
authors, replace the FSMs with transition systems and use a
simulation to virtually compute all possible composition at
once.
Theoretical-based approaches use process algebraic languages,
such as CCS (Calculus of Communicating Systems)[19] or picalculus[21] since the process specifications included in
Semantic Web frameworks, such as WSMO and SWSF, are
formally grounded on process algebras. Pi-calculus as
described in [20], can be used to describe, as well as compose
Web services, and the processes can be sequences of other
processes, parallel compositions, recursive executions, or
choices between operations, and is therefore able to express all
basic composition schemas. Information exchange is done
between processes as input and output artifacts, which are
exchanged on channels.
Planning is introduced in traditional workflow-based services
composition [12]. Planning techniques to concretize the
workflow are used given an abstract BPEL flow. OWLS
service descriptions are translated to the Planning domain and
problem description languages. PPDL descriptions are then
fed to IBMs Planner4J planning framework containing many
planning algorithms, including the classical planning ones. At
runtime, a concrete service is requested from the planner
module given each task in the abstract BPEL flow. If a service
is not found, the planner attempts to solve a planning problem
with the available services as input. However, this approach is
only semi-automatic since the creation of the abstract flows is
manual.
Another classical planning approach is proposed in [11]. A
formulation of service composition as a goal-directed planning
problem is described, which takes three inputs that are a set of
domain specific service composition rules, a description of a
business objective or goal, and a description of business
assumptions. Ontology represents these concepts and a threestep composition schema generation is conducted. The
composition rules are exploited to create a chain starting from
the business objective and moving backwards until there are
no more rules or the initial state is reached as the first step,
which is also referred to as Backward-Chaining. The second
step, called forward chaining, follows the opposite direction
and attempts to complete the composition schema produced by
adding services that may be required by the results of some
tasks. The final step is the data-flow-inference phases, which
adds a data flow to the composition schema.
Related work in the area of composition of workflows with
particular focus on Quality-of-Service (QoS) is multifaceted.
In [16], complex workflow patterns are used to address the
service selection problem. Linear programming is used tosolve

IEEE International Conference on Computer, Communication and Control (IC4-2015).


the optimization problem using an aggregation function for
different QoS attributes.
A framework for QoS-based web service contracting is
proposed in [10]. The framework consists of an extensible
model that defines domain-dependent and domain independent
QoS attributes, as well as a method to establish the contract
phase is proposed. A matchmaking algorithm ranks the
services that are functionally equivalent based on their ability
to fulfill the requirements.
A dynamic web service selection and composition approach is
described in [5]. The approach determines a subset of web
services to be invoked during runtime in order to orchestrate a
composite web service successfully. A finite state machine
model is used to describe the permitted invocation sequences
of the web service operations, and a reliability measure is
aggregated for the web service operations.
In [8], a quality-driven web service composition approach is
outlined applying linear programming. A global planning
approach is employed to optimally select component services
during the execution of a composite service.
III.

WEB SERVICE DESCRIPTION M ODEL

:
A. QoS Properties Description
The most important QoS properties are response time,
execution time, availability, reputation and successful
execution rate. Response Time can be defined in several ways.
Due to simplicity we measure it as the time between receiving
a request by service provider and sending a respond to service
requester. This time includes the queuing and execution time
which are only affected by web service work load. This value
must be continuously updated for each web service because
the work load of a web service may change during the work
time. Execution cost is a fee received by service provider from
service requesters for each execution. This fee is determined
by service provider and may change according to web service
providers financial policy. Availability is the degree that a
web service is accessible and ready for immediate use. This
value can be defined as [uptime/ (uptime + downtime)].
Downtime includes the time that web service is inaccessible
and time taken to repair it. This value should be updated by
service provider. Reputation is the average reputation score of
a web service evaluated by the clients. The individual
reputation scores are likely to be subjective, but the average
score becomes trustable as the total number of the usages
increases [20]. Successful Execution Rate is the percentage of
requests which a web service performs successfully when it is
available and accessible. It is computed by dividing the
number of successfully performed requests by the total
number of requests. The QoS properties used in this paper are
summarized in Table I.

B. Aggregation value of QoS property


Generally, composition plans are constituted from serial,
cycle, XOR-parallel and AND-parallel execution patterns.
TABLE I: Description of QoS features.

QoS features
Response Time
Execution Cost
Availability
Successability
Reputation
Throughput
Accuracy

Latency

Description
Time
difference
between
request sent and response has
been fully received.
Execution cost per request.
UpTime(UpTime+DownTime)
Services yield successful results
over request messages.
Reputation is the average
reputation score of aweb service
evaluated by the clients.
Amount of processable data per
time unit.
Error rate that produces a
service. It is calculated as the
number of errors divided by the
total number of executions.
Difference between time when
request was sent and time when
response has started to be
Received.

According to the definition of QoS properties, the aggregation


value of web service composition is calculated according to its
workflow pattern. The description and aggregation values of
workflow patterns are as follow
x

Serial pattern is an execution pattern in which


services are executed one after another and there is
no overlap between execution periods of web
services. Fig. 1 illustrates this pattern. Calculate
aggregation value of response time and execution
cost, each web service value should be added to each
other. Besides, in order to calculate aggregation value
of availability and successful execution rate, web
services values should be multiplied by each other
because web services are independent from each
other. The aggregation value of reputation is obtained
by taking average of reputation values of web
services. Fig. 1(a) depicts this pattern.
XOR-parallel pattern is an execution pattern in
which after the completion of the prior web service,
only one of the following web services executes. In
this pattern execution of each component is nondeterministic therefore to calculate the aggregation
QoS effect of this pattern the worst case should be
calculated. We can obtain aggregation QoS values of
this pattern. Fig. 1(b) depicts this pattern.
AND-parallel pattern is an execution pattern in which
after the completion of the prior web service, the

IEEE International Conference on Computer, Communication and Control (IC4-2015).


entire subsequent web services are executed
simultaneously. Notice that to obtain aggregation
response time, we use the Max function because all
subsequent components are executed simultaneously.
Fig. 1(c) describes this pattern.

service is available during the last defined period of time


(threshold is set by administrator).
4) Successability(T4)
defined
the
services
that
yieldsuccessful results over request messages.
5) Reputation(T5) of a service is a measure of its
trustworthiness and depends on the end users experience of
using a service. The value of reputation is defined as the
average ranking given to a service by different end users.
6) Throughput(T6) is the amount of processable dataper
time unit.
7) Accuracy(T7) is the error rate that produces a service.
It is calculated as the number of errors divided by the total
number of executions.
8) Latency(T8) is the difference between time whenrequest
was sent and time when response has startedto be received.
There are total 2500 web services that are divided into 10
numbers of tasks resulting in 250 web services in every task.
Our goal is to maximize the overall QoS not only for one task,
but for 10 tasks simultaneously. The overall objective function
for the optimization of the workflows is the following:



where, T is total number of tasks (10 in this case), Nis index of


web service belong to each task (k 1 to250). Note that the
individual QoS parameters are treateddifferently depending
whether its value is to be minimizedor maximized.
Normalized scores are used and each QoS parameter can be
weighted differently by parameter .



IV.

Fig. 1 Web Service workflow pattern

C. Quality of Service Metric and Objective Function


There are many measures available for different QoScriteria,
however, we consider the following five generic quality
criteria for single services, also referred to as QoS parameters:
reliability, availability, reputation, execution duration, and
execution price.
1) Response Time(T1) is the time difference between
request sent and response has been fully received.
2) Execution Cost (T2) is the cost per request.
3) Availability(T3) is the availability of a service is
thefraction of time that the service is accessible. It basically
measures the fraction of the total amount of time in which the

THE GA BASED ALGORITHM

A. Genetic Algorithm
Genetic algorithms (GA) are possibly the first algorithmic
models developed to simulate genetic systems. First proposed
by Fraser [4], and later by Bremermann [2], it was the
extensive work done by Holland [6] that popularized GAs. It
is then also due to his work that Holland is generally
considered the father of GAs. GAs model genetic evolution,
where the characteristics of individuals are expressed using
genotypes .
A basic GA consists of three operators. These are a Selection
operator, Crossover Operator and Mutation Operator.
Crossover and Mutation operators are used in the reproduction
of the new population. The main driving operators of a GA are
selection (to model survival of the fittest) and recombination
through application of a crossover operator (to model
reproduction). The working of a GA can be simply described
as follows. The initial population is a set of number strings
generated by the random generator. Each string is a

IEEE International Conference on Computer, Communication and Control (IC4-2015).


representation of a solution to the optimization problem being
addressed. Binary strings are commonly employed. Associated
with each string is a fitness value computed by the evaluation
unit. A fitness value is a measure of the goodness of the
solution that it represents. The aim of the genetic operators is
to transform this set of strings into sets with higher fitness
values. The recombination process performs a natural
selection function known as seeded selection. Individual
strings are copied from one set (representing a generation of
solutions) to the next according to their fitness values, the
higher the fitness value, the greater the probability of a string
being selected for the next generation. The crossover operator
chooses pairs of strings at random and produces new pairs.
The simplest crossover operation is to cut the original parent
strings at a randomly selected point and to exchange their tails.
The number of crossover operations is governed by a
crossover rate. The mutation operator randomly mutates or
reverses the values of bits in a string. The number of mutation
operations is determined by a mutation rate. A phase of the
algorithm consists of applying the evaluation, reproduction,
crossover and mutation operations. A new generation of
solutions is produced with each phase of the algorithm. The
details of selection, crossover and mutation operators of GAs
can be found in [3].
B. Improved Genetic Algorithm(iGA)
In this work, an improved variant to Genetic Algorithm is
proposed (iGA). iGA is explained in algorithm 1. Here, an
offspring, , is created by applying the crossover operator,
then apply mutation and then add to the population. Sort the
main population w.r.t. fitness value any finally choose top N
population (N is the initial population size) and discard
remaining. Pis the population vector, N isthe population size,
MR is the mutation rate, CRis thecrossover rate and Gis the
index for generation counter.
Algorithm 1 Improved Genetic Algorithm(iGA)
Initialize the control parameters;
Initialize the N population;
While stopping condition(s) not true do
For each individual do
i.
Create the mating pool using selection
operator.
ii.
Create an offspring, by applying the crossover
operator.
iii.
Mutate Using Mutation Operator.
iv.
Evaluate the fitness.
v.
Add new offspring to the main
population.
vi.
Sort the population w.r.t fitness value.
vii.
Choose top N main population and discard the
remaining.
End For
End While
Return the individual with the best fitness as the solution;

V.

EMPIRICAL STUDY AND RESULTS

A. Experimental Setup
GA and iGA as introduced in the previous section were
implemented. Experiments were designed to measure the
overall fitness value and the execution time of both the
approaches. The data sets used for the experiment are taken
from amazon EC3 web services. We generated workflows
consisting of up to 8 services. Please note that we assumed
that a particular service can be used in serial workflows. The
parameters choose for the CR=0.9 and MR=0.01 and have
been chosen due to their superior performance on previous
runs of the workflow selection problem, balancing between
accuracy and execution time. The experiments were conducted
on an Intel core i3 (3.0GHz) and coded in python (version
2.6).

Fig. 2 Fitness-Iteration

Fig. 3 Execution Time- Iteration

IEEE International Conference on Computer, Communication and Control (IC4-2015).


B. Experiments and Results
First, the fitness values of GA and iGA using 10 tasks and
every task have 250 web services were measured. The iGA
algorithm achieves the highest fitness value as compared with
GA. Figure 2 plots the fitness values against the number of
iterations. Secondly, the algorithms weretested in terms of
execution time. The iGA have the largestexecution time as
compared with GA. The execution timefor iGA was 1400
seconds and GA ran for 900 seconds.Figure 3 shows a linear
increase in time for increasingnumbers of iterations for the
iGA and GA, whereby theiGA shows the larger increase, due
to the additional timeneeded for the sorting of population.
VI.

CONCLUSION AND FUTURE WORK

This paper addressed the service composition task using


improved Genetic Algorithm (iGA) to achieve the assignment
selection. These types of optimization problems were mainly
addressed in the past by linear programming methods, as well
as some other evolutionary algorithm approaches. All the past
approaches only optimized one workflow request at a time,
whereas our approach serves several requests simultaneously.
We argue that in service oriented architectures, several user
requests need to be satisfied at any given time. Therefore, a
GA approach was investigated for its suitability. Given that
GA suffers from premature convergence, and taking the
benefits from an exact method into account, we also
implemented a improved GA algorithm. As shown by the
experimental results, iGA getting highest fitness value but
taking extra time. Future work will follow three directions.
First of all, since the workflow and concrete services were
fairly similar in terms of range, the effect of larger variations
in the request workflow pairs will be investigated. Secondly, a
multi optimization iGA will be investigated and compared to
the current approaches. Thirdly, different selection matching
functions will be experimented with.
SUPPLEMENTINFORMATION
The dataset of web services used in this study is available at
http://bit.ly/WSSelection.
REFERENCES

[4]

[5]

[6]

[7]

[8]

[9]

[10]
[11]

[12]
[13]

[14]

[15]

[16]

[17]

[18]

[19]

[20]
[1]

[2]
[3]

Benatallah, Boualem, et al. "Declarative composition and peer-to-peer


provisioning of dynamic web services." Data Engineering, 2002.
Proceedings. 18th International Conference on. IEEE, 2002.
Bremerman, H. J. "Optimization Through Evolution and Recombination,
Self-Organizing Systems, 1962." 93-106.
Engelbrecht, Andries P. Computational intelligence: an introduction.
John Wiley & Sons, 2007.

[21]

Fraser, Alex S. "Simulation of genetic systems by automatic digital


computers vi. epistasis." Australian Journal of Biological Sciences 13.2
(1960): 150-162.
Gao, Chunming, Meiling Cai, and Huowang Chen. "QoS-aware service
composition based on tree-coded genetic algorithm." Computer Software
and Applications Conference, 2007. COMPSAC 2007. 31st Annual
International. Vol. 1. IEEE, 2007.
John, Holland. "Holland, Adaptation in Natural and Artificial Systems:
An Introductory Analysis with Applications to Biology, Control and
Artificial Intelligence." (1992).
Huhns, Michael N., and Munindar P. Singh. "Service-oriented
computing: Key concepts and principles." Internet Computing, IEEE 9.1
(2005): 75-81.
Hwang, San-Yih, et al. "Dynamic web service selection for reliable web
service composition." Services Computing, IEEE Transactions on 1.2
(2008): 104-116.
Liu, Yutu, Anne H. Ngu, and Liang Z. Zeng. "QoS computation and
policing in dynamic web service selection." Proceedings of the 13th
international World Wide Web conference on Alternate track papers &
posters. ACM, 2004.
Papazoglou, Michael P., et al. "Service-oriented computing: State of the
art and research challenges." Computer 11 (2007): 38-45.
Tian, Min, et al. "Efficient selection and monitoring of QoS-aware web
services with the WS-QoS framework." Proceedings of the 2004
IEEE/WIC/ACM International Conference on Web Intelligence. IEEE
Computer Society, 2004.
Tosic, Vladimir. Service offerings for XML web services and their
management applications. Carleton University, 2004.
Tosic, Vladimir, et al. "Web Service Offerings Infrastructure (WSOI)-a
management infrastructure for XML Web services." Network
Operations and Management Symposium, 2004. NOMS 2004.
IEEE/IFIP. Vol. 1. IEEE, 2004.
Tosic, Vladimir, Kruti Patel, and Bernard Pagurek. "Wsolweb service
offerings language." Web Services, E-Business, and the Semantic Web.
Springer Berlin Heidelberg, 2002. 57-67.
Yanping, Chen, et al. "Service selection algorithm based on quality of
service and its implementation for web services composition."
JOURNAL-XIAN JIAOTONG UNIVERSITY 40.8 (2006): 897.
Yanping, Chen, et al. "Service selection algorithm based on quality of
service and its implementation for web services composition."
JOURNAL-XIAN JIAOTONG UNIVERSITY 40.8 (2006): 897.
Liao, Yuan, Lei Tang, and Ming-Shu Li. "Method of QoS-aware service
components composition." Jisuanji Xuebao(Chin. J. Comput.) 28.4
(2005): 627-634.
Yue, Kun, Xiao-Ling Wang, and Ao-Ying Zhou. "Underlying
techniques for Web services: A survey." Journal of software 3 (2004):
428-442.
Zeng, Liangzhao, et al. "Quality driven web services composition."
Proceedings of the 12th international conference on World Wide Web.
ACM, 2003.
Zeng-Zhi, CHEN Yan-Ping LI, and TANG Ya-Zhe GUO Zhi-Sheng. "A
Method Satisfying Markov Process of Web Service Composition under
Incomplete Constrains [J]." Chinese Journal of Computers 7 (2006):
1076-1083.
ZHANG, ZHAO Jun Feng XIE Bing, and Lu YANG Fu Qing. "A Web
Services Composition Method Supporting Domain Feature [J]." Chinese
Journal of Computers 4 (2005).