SLA based cloud service composition using genetic algorithm

,

Numerous services are evolving today.Wide range of functionally similar services is available.Hence service composition problem need to search the optimal solution in the large search space.So, it can also be considered as a combinatorial optimization problem [14].Neural network based solution is proposed by [15,16].Jungman et.alproposed a solution based on markov decision process [17] .Ludwig et.al [18] proposed genetic algorithm solution for the SC problem.Yang proposed a solution based on game theory.Particle swarm optimization based solution is proposed by Wang [20].Memetic algorithm for SC problem is proposed by Jula [21].Machine language based techniques are proposed by different researchers.Bao et.al proposed solution for SC using Finite State [22].
Table 1 summarizes the related works on cloud service composition problem.In the service composition, satisfying the requirement of the consumer is important.All these methods are developed to improve the Quality of Service of the composed service.Among the available solution, only Yang 2012 [19] considered the SLA for service composition.In this paper, service composition problem is modeled as an optimization problem and it uses SLA for setting the QoS requirement for the composite service    [25] Mixed Integer programming Visual C#.NET Liu et al. [12] State transition matrix Cost WS-DREAM Worm et al. [26] Dynamic programming Response time, Cost, Availability Ludwig [18] Genetic algorithm Response time, Cost, Availability, Reliability Java Bao and Dou [22] Finite state machine Response time, Cost, Reliability, Availability, Reputation Sundareswaran et al. [27] B+ tree index structure C Chunqing et al. [28] service conflict detection Cost Java, Cauldron, Chaff solver Xiaona et al. [29] Trust based algorithm Availability, Durability Seekda Zhang et al. [30] Artificial neural network JavaScript, RESTful Response Time, Throughput Planet-lab, Axis2 tpds 2012

III. SLA based Cloud Service Composition Problem
SLA is a legal document between the service provider and service consumer.SLA is used to ensure the Quality of service the consumer needs from the provider.It defines the functional requirements and non-functional requirements such as reliability, availability, Successability, accessibility etc.It also includes the tolerable response time and cost of the service [33].
SLA based cloud service composition problem is as follows: A business process involves several services and these services are connected by defined workflow patterns.In cloud computing paradigm, functionally similar services are available.Services are selected from the pool of services based on QoS requirements specified in the SLA is a SLA based Cloud Service Composition Problem (SCSC).SCSC problem is an optimization problem and it is NP-Hard.It is formulated as a multi-dimensional multi choice knapsack problem (MMKP) [34].
The reliability of a composite web service is decided by the reliability of individual services and their composition relationships.If every service involved in the composite web service is selected based on their reliability, other QoS parameters have an impact on it.When the reliability is maximized, QoS parameters such as Cost, response time and user preferences are also to be controlled.To construct an optimal composite web service, in addition to meet the reliability and QoS requirements, there is a need to define an objective function for optimization.
The multi-dimensional multi choice knapsack (MMKP) is reduces to solve the cloud service composition problem.This is modeled as linear integer problem:  Service Classes: Business process is represented by a Collection of services.The collection of services for the business process is known as service classes.
 Service Candidate: A service candidate is a set of services with the same functional property but with different non-functional properties  Utility Value: Utility value is calculated for each service candidate in each service class.There are 3 QoS attributes are considered.All these QoS attributes are to be maximized.The utility value for service candidate j from the service class i is calculated as, where, Wl is calculated from SLA. W1 refers to the weight factor for reliability, W2 is the weight factor for Availability and W3 is the weight factor for Successability.µ is the mean QoS for all the service candidates in a service class.is the standard devition for all service candidates in a service class.In the utility calculation 3 QoS attributes are weighted based on the user requirement specified in the SLA.
The notations used in this model are defined as follows:  S is a service class.A service class is a collection of individual web services with a common functionality but different non-functional properties.
 U is the estimated utility vector of Service class S.
 Q is the QoS constraints (Response time and Cost) of the service Class S.
 Qc is the maximum allowed QoS Constraints for a business process.
The composite SSP is modeled as MMKP in the following way:  The steps in composite web service represent the classes in MMKP.
 Every service in a service class has many candidates.Hence, every candidate represents an item in the class.
 The utility of candidates represents the profit of the item in MMKP.
 The response time and cost of the candidates represent the constraints for a MMKP.
 The objective is to maximize the total utility of the composite service under the constraints Qc.
The Problem is formulated as: The Cloud service composition problem is stated as follows: Given n service classes with each service class i containing j items.The j th service candidate of service class i has Utility Uij.Each service candidate has 2 QoS constraints denoted as Qij.The knapsack has capacity Qc.The goal is to select one service candidate from each service class to maximize the sum of their utilities and to keep the total constraints not more than the corresponding capacity.

IV. Genetic based Cloud Service Composition Algorithm (GCSC)
A genetic algorithm (GA) is a probabilistic search algorithm used to solve various combinatorial optimization problems.It is based on the principle of "Survival of Fittest" and developed by Holland.Fittest individual will survive and reproduce whereas individual with less fit will be eliminated.GA simulates this process.Individuals in the population are referred as chromosomes and it forms the possible solution to the optimization problem.Fitness of the individual are calculated.Fittest individuals will reproduce using crossover operation.The result is the new offspring; which inherits the characteristics form their parents.Mutation operation is used to alter genes in the offspring.Offspring replaces the individual with lesser fitness in the population [35] [36].

A. Fitness function
GCSC is developed to solve the SLA based cloud service composition problem.Population is coded using value encoding.Every individual (Service candidate) in the population is coded using structure.It contains the information about the service class to which it belongs to, its utility value, constraints such as response time and cost.Fitness function for GCSC is defined based on the objective and constraints of the problem.where is the utility value of j th service candidate in the i th service class.The f(x) is the maximization function.Constraints are specified as, , where, k = 1, 2 (5) where is the QoS constraints value of j th service candidate in the i th service class.is the vector which contains the maximum tolerable response time and maximum allowed cost for the composite cloud service.If =1 then the j th service candidate in the i th service class is selected for inclusion in the solution, else j th service candidate in the i th service class is not selected for inclusion in the solution.Algorithm 1 shows the fitness function for GCSC.In crossover operations, two parents from the current population are combined to produce offspring.Random value is selected between 1 to n-1 where n is the number of service classes.Single point cross over is used to create offspring.Then, the offspring's are checked against the feasible constraints.If the offspring are not feasible, then it is rejected.Algorithm 3 shows the crossover operation.

A. GCSC Convergence time and Utility value
Datasets are generated randomly using uniform distribution.Composite services with minimum number of atomic services 10 and maximum number of atomic services 30 are considered.Service classes refer to the group of functionally similar services.100 to 1000 functionally similar services are considered for each and every service class.These services are refereed as service candidates.GCSC is analyzed based on the convergence time with varying number of service classes and service candidates.GCSC is analyzed based on the utility rate achieved.Fig. 2 and 3 shows the utility rate of GCSC with respect to different service candidates.Average utility rate with service classes 10 is higher than the average utility rate with service classes 30.GCSC provides the utility rate in the range of 95 to 99.

B. Performance Comparison between GCSC and FCSC
GCSC is compared with the well known cloud service composition proposed by Wang based on the optimal solution and time taken for convergence [20].Wang proposed the Fast cloud service composition algorithm (FCSC) based on particle swarm optimization.Fig. 5 shows GCSC is faster than FCSC with varying service candidates and service classes.It is proved that time GCSC converge quickly as compared to FCSC.

VI. Conclusion
More and more cloud services are evolving today to meet the customer requirements.Each cloud service is defined with functional and non-functional properties.Functionally similar service may have different non-functional properties.Those business processes are defined by the composition of several atomic services.In this paper, SLA based cloud service composition problem is modeled.Genetic based cloud service composition algorithm is proposed.It is compared with fast cloud service composition algorithm FCSC.It is proved that GCSC provides better utility rate as compared to FCSC.Execution time for GCSC is 2 times lesser than FCSC.Business process consists of several atomic services.These services are connected by using different workflow pattern.In future, GCSC is further improved by considering the workflow patterns of the business process.

Vol. 2 ,
No. 2, July 2016, pp.77-87 N. Sasikaladevi (SLA based cloud service composition using genetic algorithm)    Utility value -Service Class, -Service Candidate //checking the constraints Summed the constraints consumed by selected service candidates of each service class.if (Constraints consumed <= required constraints) then is feasible else is not feasible return fitness B. Genetic operations Selecting the parents for reproduction is the important task.Selection process reflects the convergence rate.GCSC problem should converge too quickly.Hence, selection operation is designed such a way that it improves the convergence rate.In this GCSC, a truncation based selection is coded.Population is sorted based on the fitness value.Algorithm 2 shows the selection function.
Fig 1 shows the convergence time of GCSC with different set of service candidates.It shows that convergence time increases slightly when the service candidates are increases.The convergence time slightly when the number of service classes is increases.

Fig. 1 .
Fig. 1.Convergence time of GCSC with respect to number of service candidates

Fig. 2 .Fig. 3 .
Fig. 2. Utility rate of GCSC with respect to number of service candidates

Fig. 5 .
Fig. 5. Comparison of FCSC with GCSC based on Execution time Fig.6shows that GCSC provides the better utility as compared to FCSC.It is true for varying service candidates and service classes.GCSC provides utility in the range of 96-99.FCSC provide utility in the range of 91-97.

Fig. 6 .
Fig. 6.Comparison of FCSC with GCSC based on Utility rate

Authors Method adopted QoS factors Considered Tool used Data Set used
. Comparison of various cloud service composition approaches