Development and Improvement of Web Services Selections using Immigrants Scheme of Multi-Objective Genetic Algorithm

Development and Improvement of Web Services Selections using Immigrants Scheme of Multi-Objective Genetic Algorithm

Volume 6, Issue 2, Page No 412-422, 2021

Author’s Name: Khalil Ibrahim Mohammad Abuzanouneh1,a), Khalil Hamdi Ateyeh Al-Shqeerat2

View Affiliations

1Department of Information Technology, College of Computer, Qassim University, Buraydah, 52211, Saudi Arabia
2Department of Computer Science, College of Computer, Qassim University, Buraydah, 52211, Saudi Arabia

a)Author to whom correspondence should be addressed. E-mail: ka.abuzanouneh@qu.edu.sa

Adv. Sci. Technol. Eng. Syst. J. 6(2), 412-422 (2021); a  DOI: 10.25046/aj060248

Keywords: Composite Web Services, Quality of Service, Non-functional Factors, Multi-Objectives Algorithm, Immigrant Schemes, Dynamic Optimization Problem

Share

1240 Downloads

Export Citations

Quality of service is a significant part of formulating a composing of web services to satisfy the user’s request, especially when several services exist and have been implemented in the same field and functionality. The selection process of web services among many options can be taken based on the quality of service considerations, fitness parameters, multiple objectives, and constraints. Moreover, some non-functional factors such as quality of service indicators such as integrity, cost, availability, reliability, security, and response time. Several composite services are required to achieve the user’s requirements. This paper presents an integrated approach based on immigrant schemes and multi-objective genetic algorithm (ISMOGA) to specify and maintain the diversity of composite services more efficiently. Research experiments evaluate the performance of elitism-based ISMOGA based on different probabilities of immigrant mutation to produce an adaptive mechanism and to improve the performance in the dynamic optimization problem. The proposed method is compared to the standard technique of genetic algorithms and multi-objective algorithms. The experimental results show that ISMOGA outperforms other algorithms and improves the searching process. Moreover, the proposed algorithm can quickly adapt to the different resources and environmental changes as well as increases the high-quality solutions to satisfy QoS requirements in different configuration networks and communications channels.

Received: 02 January 2021, Accepted: 08 March 2021, Published Online: 17 March 2021

1. Introduction

Distributed services based on systems and functions targeted in several stages of implementation and deployment have differences in non-functional features related to availability, reliability, response time, and performance are used as measures tools of Quality of Service (QoS) [1]. There are several selections to substitute each service with others when a user is mapping a service chain to a specific one by using a request and a response method.

Decision selections affect the behavior of workflow events assigned to QoS that require the deployment phase not to be chosen randomly. The selections should be considered according to QoS requirements such as security process, commercial integrity, main objectives, and constraints. The main challenge is the selection problem of the QoS.

The QoS-based web service contains many challenges that can be represented by different types of optimization methods. The QoS of hybrid web services were used in different fields such as business, academic, transport, monitoring, exchange information, service registering, and web services industrial.

The hybrid web services and location systems introduce a set of advantages related to the mobile application and customers to get benefit information about scheduling problems, resource allocation, and analysis data to retrieve essential and useful information to customers [2]. GPS and GPRS systems in mobile phone and web service applications are used to support location-based services for providing high-quality services. The location-based services are implemented via Google Web Service. GPS System is proposed to provide a high scale of QoS for web services [3]. Creating a web service is an attractive feature of web services that have been integrated into existing web services to create a new value-added set of web services to meet user needs and customer requirements.

Web services architectures can be used as a functional application to be implemented in developing composition web service programs. A service application can be integrated into a single process that is included as a set of web services applications to run automatically together. The process of developing technologies to create compositions of web services from many candidate services is a significant cost and time-consuming.

The solution to creating composition problems based on multi-objective characteristics is evolutionary computing. Therefore, researchers in [4] proposed applying Multi-Objective Genetic Algorithms (MOGA) for optimizing service quality using effective solutions. Researchers focus on the main vital QoS issues that rely on web services as follows.

  • Web services problems can be increased when creating a composite service with individual services used by external providers.
  • QoS problems can arise when using cloud services that are part of hybrid cloud services to construct composite web services.
  • QoS problems can arise when scheduling and resource allocation are used in multiple objectives of QoS for web services systems.
  • Scheduling composite web services with multi-objectives is very complicated. Scheduling results could be sophisticated and inaccurate with respect to the QoS of web services.
  • Planning and organizing composite web services will be very hard. The number and size of composite web services increase the problem.

In the general perspective and according to the research theory of composite web services, the complex problem is related to a scheduling problem, resource allocation, and QoS attributes, so the problem, in this case, is NP-hard problems.

MOGA is used to generate acceptable solutions to optimize composite problems when the search space cannot be determined efficiently using methods of traditional optimization, such as heuristic methods. MOGA operates on an individual’s population, for each population could be generated as a possible solution for the optimization problem. Individuals are evaluated by applying their fitness function [5]. The fitness level is used to indicate how well a population individual can be solved the optimization problems [6]. Researchers develop and enhance web service technologies that can provide a way to use various applications based on web service composition [7].

This paper aims to achieve web services based on the highest level of quality to satisfy multi-objective QoS-based constraints and reduce response time at the lowest cost and maximum reliability. Besides, the quality criteria of web services will be optimized at the same time. Moreover, this study focuses on how to apply the proposed ISMOGA algorithm to complex web services. It can be used to develop and improve service quality based on dynamic web optimization problems to increase throughput and reduce execution time and costs.

2. Literature Review

In [8], the authors proposed an algorithm to ensure that software distribution providers are able to manage the dynamic requirements of customers. Besides, they suggested building a map of customer demands to meet various levels of infrastructure in homogeneity and heterogeneity systems. Scheduling mechanisms are designed and implemented to ensure that the scheduling mechanism determines, which type of VM can be initiated to incorporate the heterogeneity of VMs. The approach did not consider the service discovery process, but rather suggested methods of allocating resources to software as a service (SaaS) providers to reduce costs of infrastructure and service level breaches.

Several solutions related to the service selection problem have been formulated in [9]-[11]. This problem consists of locating the group of concretizations to satisfy all QoS constraints that are required by customers.

In [9], a new approach uses Genetic Algorithms (GAs) was proposed to identify a collection of concrete services to restrict abstract services and workflow stages of a composite service to perform QoS constraints established in the service-level agreement (SLA). This approach aims to optimize the function of QoS parameters. The authors did not determine the necessary number of resources selection while the service discovery is discarded in the mapping resource selection. Authors in [10] have proposed a service selection approach without determining the resources set to run the selected services to satisfy the QoS restriction and constraints, therefore the proposed research is not achieved in the services of cloud computing. An optimization evolutionary multi-objective related to service composition as a framework has been proposed in [11]. The proposed framework illustrates a service deployment model to apply two multi-objective genetic algorithms:  Extreme-E3 (X-E3) and E3-MOGA. These algorithms have been produced a set of Pareto solutions to satisfy SLAs of service compositions. X-E3 and E3-MOGA locate the number of instances for each concrete selected service to satisfy a certain SLA during the workflow definition and a series of abstract services.

3. Genetic Algorithm

A standard Genetic Algorithm (GA) is a search heuristic of natural selection based on the fittest of individuals. GA has a set of parameters such as a population and candidate solutions, called individuals or creatures. The optimization problems of a genetic algorithm are the better solutions based on a fitness function. The candidate solutions have a set of genotypes or chromosomes, which are mutated. The population individuals of the genetic algorithm can be represented as concrete services. Therefore, the selection individual problem represents a candidate of abstract service. Fitness function is an evaluation measure of a genetic algorithm to select population individuals to get more evolution and feasible solutions of the composite web services [12].

The optimization problems of GA are defined as a constrained and dynamic optimization problem to select the highest QoS of composite web service, the customer’s preferences, and to ensure that a composite web service satisfies the cloud customer resources to guarantee the QoS constraint. This paper uses the MOGA algorithm to solve multi-constraint problems and to apply immigrant schema based on MOGA to produce feasible solutions. It is used to achieve high quality after each change as well as to satisfy all required constraints.

3.1. Genetic Algorithm steps

Five steps are considered in a genetic algorithm:

  • Creating an initial population randomly, which consists of a set of individuals according to the available data that must be resolved.
  • The fitness value is computed for each individual and then compared to the best fitness value to replace the best value in case the obtained fitness value is better than the previous value.
  • Selecting the fittest individuals based on their fitness scores. The individual’s migration is performed based on fitness values.
  • Crossover processes are performed on parents, which leads to the generation of new individuals.
  • The mutation operator is applied randomly to one of the individual characteristics; therefore, the status value is changed to a random value within the terms of population individuals.

3.2. Fitness Functions Calculations

There are a set of individual instances in GAs. The individuals are instances of the Combination of Services (CS), so the fitness values of individuals will affect the probability of being selected individuals. Therefore, the main technique of GAs is the calculations of fitness functions, and the selection of individuals based on global QoS constraints dependent on the user’s preferences. The global constraints of QoS are significant references for the fitness function [13]. The user’s preferences and the selection rules must be considered to build fitness values, such that the individual fitness value and the individual’s selected probability are maximum.

3.3. Developed Genetic Algorithm

This paper improves GA to perform the selection of service composition. GA includes creating and encoding processes using a tree graph for selection parameters and applying the fitness function strategy. The tree encoding method represents a tree graph of services composition between the source of abstract service and multi-destination of concrete services.

There are different types of service composition such as series composition, parallel composition, probability composition, and circulation composition, which are included in the service combination process. A structure of a special tree is used to present the service combination, which is called a tree combination.

4. Design GAs for Dynamic Optimization Problem

This section describes the proposed ISMOGA algorithm for the Dynamic Optimization Problem (DOPs) in the web services composition. The ISMOGA design involves a set of key functions such as individuals’ representation, initialization values, fitness functions, selection parameters, immigrant scheme, crossover, and mutation. The abstract service consists of a sequence of concrete services such as adjacent services in the composite services. Hence, it is a natural choice to adopt the services selection parameters using a tree graph and encoding method. For the dynamic optimization problem, the selection parameters are encoded based on crossover, mutation, and the immigrant scheme of ISMOGA. ISMOGA is suggested to solve Composite Services Optimization Problem (CSOP) in dynamic environments and to satisfy QoS requirements. CSOP can be embedded in different group communications and collaborative network applications that are based on real-time delivery such as the video conference service and distance learning applications [14], [15].

Information transmitted between the source and the destination needs to be activated and guaranteed. Therefore, QoS classification of real-time delivery is required for multimedia applications, and tree paths have to be constructed [16]. The cost of tree paths should be calculated to evaluate network resources and VMs configurations.

In ISMOGA design, all parameters and functions are related to the composite services. We used several immigrants of memory schemes and their combination into the GA to enhance its searching capacity for the QoS and user’s preferences in dynamic environments. When the configuration of topology is changed, new immigrants or valuable information will be stored in the memory that can help guide the search for feasible solutions in the new dynamic environment [17]. In the simulation experiments, the experiments evaluated these ISMOGA in a dynamic environment under different parameters and configurations to find the best solutions. ISMOGA is used as a composite algorithm that is applied to work with composite services to evaluate their performance.

5. Problem Formulation

ISMOGA is applied to the concrete services package for building abstract services. It is used to determine the QoS constraints for cloud customer services [18]. These constraints (attribute values) are related to a composite service, for example, minimum cost, minimal response time, maximal resource availability, and reliability at the same time.

5.1. Series Services Reliability (SSR)

SSR contains a set of independent services (n).

Figure 1: General structure of Series Services

Let us assume the service event Si has functioned properly P(Si). Ri = P(Si), it stands for series services reliability.

The product law of reliabilities applies to series services of independent systems as shown in Equation (1), where, Ri – the reliability of service i.

5.2.  Series Services Availability (SSA)

To compute the availability of independent repair services, we need to apply the product law as shown in Equation (2), where, Ai – the stable-state or temporary availability of service i.

A(s) can be calculated by Equation (3), where, MTTFi – Mean time to failure, MTTRi – Mean time to repair.

5.3. Parallel Services Reliability (PSR)

The complex system consisting of n independent parallel services. The system fails if all n services fail. Services status can be represented as follows.

 Si – service i is working properly,  – service i is not working properly, Sp – parallel services of n are working properly.

Parallel services are a system that has n independent parallel services.

Figure 2: General structure of Series Services.

Parallel services reliability can be defined as follows.

Parallel services availability as defined in equation (5).

5.4. Series-Parallel Services

Reliability of abstract service R(Ac) has the reliability of each concrete service Ri(Cs). Figure 3 shows Series-Parallel services consist of 2 abstract services and 5 concrete services.

Figure 3: Series-Parallel services

Parallel systems are working if at least one Ri(Cs) of Ac1 is up as shown in Equation (6).

5.5. Concrete Service Availability

Concrete Service Availability (CSA) is a metric to measure the probability that a service is not available when it is needed to be used. Qualifications of concrete service that must be available:

  • Functioning equipment: service is not out of work for fixing or inspections.
  • Service is operating under standard conditions: it operates in a trusted environment and at an expected rate.
  • Service works when it is needed: it can be launched at any scheduled time.

5.6. Concrete Service Reliability

Concrete Service Reliability (CSR) is the probability rate that a concrete service carries out correctly in specific time duration.

In the cycle life of the correct process, no repair is required and the system service appropriately follows the required performance specifications.

5.7. Concrete Service Failure Rate

Concrete Service Failure Rate (CSFR) is the frequency of concrete service failure per unit time. It is usually denoted by Lambda (λ).

To calculate the reliability of concrete services, the rate for the severity of the concrete service’s failure is predicted as the concrete service is fully functional at the initial stage.

The formula of service reliability is calculated for repairable and non-repairable system services respectively as follows.

where, MTBCSF – the mean time between concrete services failure (Non-Repairable), while MTTCSF – the mean time to concrete services failure (Repairable).

5.8.  Concrete Service Repair Rate

Concrete Service Repair Rate (CSRR) is the rate successful frequency of repair operations achieved in a failed concrete service per unit time The CSRR is calculated in (9).

5.9.  Mean Time to Concrete Services Failure

Mean Time to Concrete Services Failure (MTTCSF) is the average time before non-repairable CS downtime. Equation (10) computes MTTCSF as follows.

5.10. Mean Time between Concrete Services Failure

Mean time between concrete services failure (MTBCSF) is the average time among inherent failures of repairable concrete services.

The MTCSBF can be calculated using equation (11).

5.11.           Mean Time to Concrete Services Recovery

Mean time to concrete services recovery (MTTCSR) is the average time to fix a failed state of concrete service and back to an operational state. This stage includes time spent on the diagnostic and alert process, and before repair activities.

5.12. Mean Time to Concrete Services Detection

Mean time to concrete services detection (MTTCSD) is the average time elapsed between the occurrence of concrete services failure and its detection.

5.13. Availability and Reliability calculations

Calculations are calculated for the availability and reliability attributes of concrete service. The failure rate of CS can be calculated interchangeably based on MTBF and MTTF according to the above calculations.

Reliability is exponentially computed for the decay probability function, which depends on the failure rate of the concrete service, as the failure rate may change over the lifecycle of the operational concrete services.

The average time-based quantities such as MTBCSF or MTTCSF can be used to compute Reliability.

The mathematical formula used to calculate MTBCSF is represented in Equation (14).

Availability determines the component’s immediate performance during any given time based on the period between its failure and its recovery. Equation (15) can be used to calculate the Availability.

5.14. Web Service Systems

Web Service Systems (WSS) include multi-services linked together as a complex architecture of the system.

The effective availability and reliability of the WSS depend on the specifications of the individual components as network configurations and service redundancy models.

The network configuration can be parallel, sequential, or mixed communications between network components.

Redundancy model service may cause the abortion of internal service components and change the availability of effective service and reliability performance.

5.15. Reliability Block Diagram

Reliability Block Diagram (RBD) can be used to illustrate the interconnection among individual services. Another option, the analytical techniques can also be applied to perform the large calculations of the complex system. RBD illustrates a hybrid system that contains series and parallel service connections among components of the complex systems as shown in Figure 4.

Figure 4: Series and Parallel Service Connections a Hybrid System

The formulae of effective failure rates are used to calculate the availability and reliability of a hybrid system.

The real failure rate associated with the series concrete services (Cs) is defined as the overall failure rates per S(λc).

MTTF is defined in parallel concrete services, as the mutual total of failure rates of each of Cs.

In hybrid systems, the CS must first be collected to parallel or series concrete services. Calculations of hybrid components should be reduced for parallel or series configurations.

It is important to note a few caveats regarding these incident metrics and the associated reliability and availability calculations.

Reliability and availability calculations can be understood in relative terms, for example, in different network applications the failure of the same components can be described differently.

In cloud applications, the measurement values may be inconsistent. Therefore, measurement values such as MTTR, MTTF, MTTD, and MTBF have been calculated in experimental results under controlled environments as follows.

  • The functionality of QoS characteristics has been optimized. The customer can reduce response time and cost as possible. QoS characteristics are characterized by different preferences of the customer and can be expressed based on the preference weight.
  • Resource constraints must be available in the infrastructure of the IT provider. Therefore, the proposed research will select several services based on available resources.
  • Web service composition is the main force for developing services, and thus complex services have specific functions divided into different service components.
  • Component functions are fulfilled by several candidates for concrete services. Therefore, service providers provide services with the same functionality, but according to changing circumstances, these services could be combined with a set of combination plans for the same functions while the contents differ [19], [20].
  • The VM must contain all requirements of service components so that the total requirements of the composite service must match the configuration and capabilities of VM that are implemented by processing units, the capacity of memory cards, network configurations, supporting devices, and any other components.
  • Servers and IT resources are required for users and companies to obtain high quality service during peak load times. The peak capacity is often used to evaluate server usage levels, so we have to find the percentage of CPU utilization.

5.16. Virtual Machine Resources Problem

Virtual Machine (VM) in cloud computing has a set of resources R and its attributes A. VRt represents VM resources V at time t. We consider A={Mrt, Srt, Prt, Urt}, and R={r1, r2, r3,…ri} where, riR. Each resource ri is defined based on its attributes as follows. VMt is the VM memory capacity at time t, VSt is the storage capacity of VM at time t, VPt is the VM processing capacity at time t, and VUt is the VM utilization rate at time t.

We define the fitness function to evaluate the VM resources (VMR), which has two sections. The first section is an objective function to integrate QoS attributes. The second is an immigrant function that has constrained for optimization problems and selects the individuals obeying constraints and user’s preferences to immigrants in the next generation, as calculated by Equation (18).

Where, m – the number of QoS attributes, n – the number of QoS constraints, ? – a coefficient of an experience rate, w? and wj – fitness values and QoS attributes, – a part of selection parameters to integrate the QoS attribute values.   Δqj – user preferences or global constraints.

The subtraction in the equation shows the immigrant function based on the survival probability of individuals who satisfy user’s preferences.

Web Service Systems (WSS) include multi-services linked together as an architecture of complex systems.

The combination services problem between the abstract nodes and concrete services is represented in the tree graph G (N, C).

N = {Ai, c1, c2, c3… cj}, where Ai = {a1, a2, a3, … ai} is a set abstract service nodes, and Cj = {c1, c2, c3, … cj}is a set of concrete services.

Concrete services have a set of resources Ci(Rn)= {r1, r2, r3,…rn} where, R is the resources of concrete services.

Services cost can be defined as,

C(S) = c1(a1) +c2(a2) + c3(a3) +…. + Ci(ai).                 (19)

while, cost of resource nodes,

C(Ri)= c1(r1, r2, rn) + c2(r1, r2, rn) + c3(r1, r2, rn).   (20)

where, c1, c2… is the total cost of concrete services.

In combination services tree, T is defined as below:

T (Ai, Cj) = {ai, c1, c2, c3 . . .  cj}.                     (21)

ISMOGA optimizes and improves QoS of composition services by minimizing the following objectives i.e.

Definition 1. The total cost of all services nodes (N) along with CT (ai, cj) is equal to the total response time of services T (ai, ci).

The total cost of QoS is defined as the total cost of all graph nodes in the composition services as follows.

Availability of the services nodes A (ai, cj) is defined as the maximum available of concrete services nodes at any time associated with the abstract node as shown in Equation (24).

A (  (ai, cj))=max{A(si), s ∈  (ai, cj)}         (24)

The reliability of the services nodes R (ai, cj) is defined as the maximum available concrete services nodes at any time associated with the abstract node as defined in Equation (25).

R (  (ri, cj)) = max{R(si), s ∈  (ri, cj)}        (25)

The services selection scheme uses the fitness function to express the required relationships among structure resources of VM based on different types of candidate services as follows.

Series Services refers to activities of services arranged sequentially, Services are executed one by one, so the activity output of one will be used as input to the next service. Figure 5, shows series services are executed P1= {S1, S2, S3}. Besides, there are controls for data flow from one service to the next service as illustrated below.

Figure 5: Series Services of VMs

Services wrap defines a structure in which a hidden services activity is nested into services activity (wrapping). It is used to implement a service that needs to execute another service to complete a special subtask.

Figure 6: Wrapped Services (S3) of VMs

In Figure 6, service S2 is a wrapping service that needs an activity of wrapped service S3 to complete a subtask, and then subtask S3 retires its data to wrapping service, this will be repeated many times as necessitated based on the control of the workflow and tasks needed.

Finally, the data flow will exit from service S2 to the next service (S4). The output of the data flow can be expressed as a longer sequence structure, for example, P1= {S1, [S2, S3], [S2, S3], [S2, S3], S2, S4}. In this case, there are three calls to the wrapped service S3, and three are many cycles among the wrapped and wrapping service.

Parallel activities describe a structure formed of a parallel service, included n of activities performed as services parallel and synchronization. The data flow and control continue from the first synchronization point to terminate all tasks of parallel branches as illustrated below.

Figure 7:  Parallel Services (S2, S3) of VMs

Figure 7 shows two services S2 and S3 are performed as parallel tasks P1= {S1, [S2, S3], S4}, and service S4 is performed after finishing both S2 and S3.

Conditional Choice is a component composed of an exclusive selection with n conditional sections to perform one of these sections and followed by a merge process. In this case, the workflow is supposed into a sequence after calculating the number of loops such as P1= {S1, S2, S4}, P2= {S1, S3, S4}.

Figure 8 illustrates a combination pattern of conditional choices.

Figure 8: Conditional Services (S3, S4) of VMs

At the workflow level, the service attributes must be aggregated for all workflow deployments as shown in Figure 9.

Figure 9: Composition Services Workflow Mapping

The complex architecture of combination services contains sequential and general flow structures. The general flow structure includes non-sequential patterns such as parallel and conditional paths. Services loop can be transformed into sequences by unfolding known cycles. Figure 10 illustrates the VMs’ complex architecture of composition services and resources.

Figure 10: Illustrates the complex architecture of composition services

The matrix representation M (Si, Cj) is used to illustrate the tree nodes of abstract and concrete services for composition services and calculate the fitness values of candidate services. The tree scheme (T) has four methods to evaluate the fitness values for each service as follows:

F (T) = f1 (cij) + f2 (tij) + f3 (aij) + f4 (rij); S, CM (si, cj)   (26)

The following rules should be applied to get the candidate services.

  • The tree service that doesn’t satisfy the QoS constraints and users’ preferences should be eliminated.
  • If there one single service between two candidate services and this service satisfies the QoS constraints, it will be selected automatically.
  • Among multiple trees of candidate service, the best service will be selected.
  • Satisfy all resources constraints Ri = {r1, r2, r3…ri} of services infrastructure Si= {s1, s2, s3…si}. Requirements of service components located in VM must be less than VM capacities.
  • To build one complex system, all required services should be collected together and ordered by tree services T (Si, Cj).
  • In the final step, we built one-line services instead of multi-distribution services after calculating fitness values for all trees.

The fitness method can be used to evaluate all services nodes components. We assume the cost range is , the minimum response time is , the maximum resource availability is , and reliability at the same time is . In this example, if the cost constraint c=4, time constraint t = 5, resources availability a = 95, and resources reliability r = 85. Resources constraints of IT infrastructure for VMs are represented as follows, R = {r1, r2, r3}, where, r1 – CPUs processing capacity per VM is 32, r2 – memory capacity per VM is 1024 G, and r3 – storage capacities per VM is 100 TB.

In all component service paths and their dependencies, various QoS states and constraints are included from abstract service to its concrete services. The tree scheme can illustrate all nodes of services that satisfy users’ preferences in the same period.

The proposed algorithms can be applied to sequential and general flow structures. The general flow structure includes non-sequential patterns such as parallel and conditional paths. Loops can be transformed into sequences by unfolding the known number of cycles.

In merged nodes, QoS values, as well as utility values, need to be merged. In parallel merged nodes, since all services in all branches preceding the join are executed, QoS values need to be aggregated based on the properties of specific attributes. For example, the cost and response time for each path are summed, whereas the minimum values are chosen, while for the availability and reliability the maximum values are chosen. At conditional joins, the true conditions of the chosen branch are selected. Figure 11 shows the service candidate graph and all possible paths from the source to the destination services.

Figure 11: The service candidate graph.

Table 1 shows the matrix representation used to represent all path trees of composite services.

The QoS attributes have various aggregation functions per workflow pattern. The QoS has a set of standard functions such as min, max, sum, and product.

The fitness functions for service cost, time, reliability, and availability are defined respectively.

where, – the total cost for each service in the path tree Ti (s, di).

Table 1: The matrix representation of composite services.

                   Probability All path

Pi Concrete Services Path Di
P1 c0 c1 c3 c4 c8 c9 c10 c14 c17
P2 c0 c1 c3 c5 c8 c9 c10 c14 c17
P3 c0 c1 c3 c6 c8 c9 c10 c14 c17
P4 c0 c1 c3 c7 c8 c9 c10 c14 c17
P5 c0 c2 c3 c4 c8 c9 c10 c14 c17
P6 c0 c2 c3 c5 c8 c9 c10 c14 c17
P7 c0 c2 c3 c6 c8 c9 c10 c14 c17
P8 c0 c2 c3 c7 c8 c9 c10 c14 c17
P9 c0 c1 c3 c4 c8 c9 c10 c15 c17
P10 c0 c1 c3 c5 c8 c9 c10 c15 c17
P11 c0 c1 c3 c6 c8 c9 c10 c15 c17
P12 c0 c1 c3 c7 c8 c9 c10 c15 c17
P13 c0 c2 c3 c4 c8 c9 c10 c15 c17
P14 c0 c2 c3 c5 c8 c9 c10 c15 c17
P15 c0 c2 c3 c6 c8 c9 c10 c15 c17
P16 c0 c2 c3 c7 c8 c9 c10 c15 c17
P17 c0 c1 c3 c4 c8 c9 c10 c16 c17
P18 c0 c1 c3 c5 c8 c9 c10 c16 c17
P19 c0 c1 c3 c6 c8 c9 c10 c16 c17
P20 c0 c1 c3 c7 c8 c9 c10 c16 c17
P21 c0 c2 c3 c4 c8 c9 c10 c16 c17
P22 c0 c2 c3 c5 c8 c9 c10 c16 c17
P23 c0 c2 c3 c6 c8 c9 c10 c16 c17
P24 c0 c2 c3 c4 c8 c9 c10 c16 c17
P25 c0 c1 c3 c4 c8 c9 c11 c14 c17
P26 c0 c1 c3 c5 c8 c9 c11 c14 c17
P27 c0 c1 c3 c6 c8 c9 c11 c14 c17
P28 c0 c1 c3 c7 c8 c9 c11 c14 c17
P29 c0 c2 c3 c4 c5 c6 c11 c14 c17
P30 c0 c2 c3 c5 c5 c6 c11 c14 c17
P31 c0 c2 c3 c6 c5 c6 c11 c14 c17
P32 c0 c2 c3 c7 c8 c9 c11 c14 c17
P33 c0 c1 c3 c4 c8 c9 c11 c15 c17
P34 c0 c1 c3 c5 c8 c9 c11 c15 c17
P35 c0 c1 c3 c6 c8 c9 c11 c15 c17
P36 c0 c1 c3 c7 c8 c9 c11 c15 c17
P37 c0 c2 c3 c4 c8 c9 c11 c15 c17
P38 c0 c2 c3 c5 c8 c9 c11 c15 c17
P39 c0 c2 c3 c6 c8 c9 c11 c15 c17
P40 c0 c2 c3 c7 c8 c9 c11 c15 c17
P41 c0 c1 c3 c4 c8 c9 c11 c16 c17
P42 c0 c1 c3 c5 c8 c9 c11 c16 c17
P43 c0 c1 c3 c6 c8 c9 c11 c16 c17
P44 c0 c1 c3 c7 c8 c9 c11 c16 c17
P45 c0 c2 c3 c4 c8 c9 c11 c16 c17
P46 c0 c2 c3 c5 c8 c9 c11 c16 c17
P47 c0 c2 c3 c6 c8 c9 c11 c16 c17
P48 c0 c2 c3 c7 c8 c9 c11 c16 c17
 = 1*2*1*4*1*4*3*1=96 paths

Pi Concrete Services Path Di
P49 c0 c1 c3 c4 c8 c9 c12 c14 c17
P50 c0 c1 c3 c5 c8 c9 c12 c14 c17
P51 c0 c1 c3 c6 c8 c9 c12 c14 c17
P52 c0 c1 c3 c7 c8 c9 c12 c14 c17
P53 c0 c2 c3 c4 c8 c9 c12 c14 c17
P54 c0 c2 c3 c5 c8 c9 c12 c14 c17
P55 c0 c2 c3 c6 c8 c9 c12 c14 c17
P56 c0 c2 c3 c7 c8 c9 c12 c15 c17
P57 c0 c1 c3 c4 c8 c9 c12 c15 c17
P58 c0 c1 c3 c5 c8 c9 c12 c15 c17
P59 c0 c1 c3 c6 c8 c9 c12 c15 c17
P60 c0 c1 c3 c7 c8 c9 c12 c15 c17
P61 c0 c2 c3 c4 c8 c9 c12 c15 c17
P62 c0 c2 c3 c5 c8 c9 c12 c15 c17
P63 c0 c2 c3 c6 c8 c9 c12 c15 c17
P64 c0 c2 c3 c7 c8 c9 c12 c15 c17
P65 c0 c1 c3 c4 c8 c9 c12 c16 c17
P66 c0 c1 c3 c5 c8 c9 c12 c16 c17
P67 c0 c1 c3 c6 c8 c9 c12 c16 c17
P68 c0 c1 c3 c7 c8 c9 c12 c16 c17
P69 c0 c2 c3 c4 c8 c9 c12 c16 c17
P70 c0 c2 c3 c5 c8 c9 c12 c16 c17
P71 c0 c2 c3 c6 c8 c9 c12 c16 c17
P72 c0 c2 c3 c7 c8 c9 c12 c16 c17
P73 c0 c1 c3 c4 c8 c9 c13 c14 c17
P74 c0 c1 c3 c5 c8 c9 c13 c14 c17
P75 c0 c1 c3 c6 c8 c9 c13 c14 c17
P76 c0 c1 c3 c7 c8 c9 c13 c14 c17
P77 c0 c2 c3 c4 c8 c9 c13 c14 c17
P78 c0 c2 c3 c5 c8 c9 c13 c14 c17
P79 c0 c2 c3 c6 c8 c9 c13 c14 c17
P80 c0 c2 c3 c7 c8 c9 c13 c14 c17
P81 c0 c1 c3 c4 c8 c9 c13 c15 c17
P82 c0 c1 c3 c5 c8 c9 c13 c15 c17
P83 c0 c1 c3 c6 c8 c9 c13 c15 c17
P84 c0 c1 c3 c7 c8 c9 c13 c15 c17
P85 c0 c2 c3 c4 c8 c9 c13 c15 c17
P86 c0 c2 c3 c5 c8 c9 c13 c15 c17
P87 c0 c2 c3 c6 c8 c9 c13 c15 c17
P88 c0 c2 c3 c7 c8 c9 c13 c15 c17
P89 c0 c1 c3 c4 c8 c9 c13 c16 c17
P90 c0 c1 c3 c5 c8 c9 c13 c16 c17
P91 c0 c1 c3 c6 c8 c9 c13 c16 c17
P92 c0 c1 c3 c7 c8 c9 c13 c16 c17
P93 c0 c2 c3 c4 c8 c9 c13 c16 c17
P94 c0 c2 c3 c5 c8 c9 c13 c16 c17
P95 c0 c2 c3 c6 c8 c9 c13 c16 c17
P96 c0 c2 c3 c7 c8 c9 c13 c16 c17

where,  is the total of times for each service along with path tree Ti (s, di).

where,  is the total reliability for each service along with path tree Ti (s, di).

where,  is the total availability for each service along with path tree Ti (s, di). Table 2 shows the candidate path services based on the proposed ISMOGA algorithm. ISMOGA used the fitness function (F3) to evaluate the solution quality of the path among a set of candidate path services (candidate solutions). The maximum fitness value of candidate solutions is chosen.

Table 2: Candidate path Services based on ISMOGA.

Des Candidate Path Services Path
C17 C15 C10 C9 C8 C4 C3 C1 C0 P1
C17 C15 C13 C9 C8 C4 C3 C1 C0 P2
C17 C15 C10 C9 C8 C4 C3 C2 C0 P3
C17 C15 C13 C9 C8 C7 C3 C2 C0 P4

The fitness value of cost and time is calculated and converted to a maximum value as shown in Equation (31).

The fitness value of availability and reliability is calculated by Equation (32).

The fitness function F3 is used to evaluate the cost of solution quality in the F1 and F2 as calculated in Equation (33).

Table 3 shows the fitness values of the candidate services paths calculated by the ISMOGA.

Table 3: fitness values of the candidate services calculated by ISMOGA.

f4(a) f3(r) f2(c) f1(t) Des Candidate Services Path
%97 %94 %94 %91 C17 C15 C10 C9 C8 C4 C3 C1 C0 P1
%95 %93 %93 %94 C17 C15 C13 C9 C8 C4 C3 C1 C0 P2
%97 %94 %92 %95 C17 C15 C10 C9 C8 C4 C3 C2 C0 P3
%96 %97 %93 %92 C17 C15 C13 C9 C8 C7 C3 C2 C0 P4

The average fitness value for response time and cost

             F1avg = (f1(Wi) + f2 (Wi)) / 2

The average of the fitness value for availability and reliability

        F2avg = (f3(Wi) + f4(Wi)) / 2

Table 4 shows the best path (P3) of the candidate services based on the ISMOGA. The best fitness value = 94.25%. P3= {C0, C2, C3, C4, C8, C9, C10, C15, C17}.

Table 4: Candidate services path based on the ISMOGA.

F3 F2 F1 f4(a) f3(r) f2(c) f1(t) Path
94.25% 95% 93.50% 97% 94% 92% 95% P3
93.75% 94% 93.50% 95% 93% 93% 94% P2
92.25% 92% 92.50% 96% 97% 93% 92% P4
91.75% 91% 92.50% 97% 94% 94% 91% P1

6. Simulation Experimental Results and Analysis

Simulation comparisons were performed on the QoS of composite web services. All experimental results were taken on the same software and hardware to test the studied algorithms. The experiments were executed using the python programming language to determine the efficacy of the web service composition selection.

The experiment analyzed and evaluated the tree paths of combination services and structure resources of an abstract that satisfy users’ preferences and QoS constraints using the proposed algorithm (ISMOGA), Standard Genetic Algorithm (GA), and Multi-Objective Genetic Algorithm (MOGA).

The QoS and costumer’s constraints are met in composite web services based on abstract services and concrete services satisfying QoS constraints, achieving the resource constraints of the VMs. Figure 15 shows the computation cost in seconds for composite services and one execution path using MOGA and ISMOGA. In both algorithms, the computation cost increases with the task number and the candidate services number. However, the computation cost of the ISMOGA (70 seconds) is less than in the MOGA (95 seconds).

Figure 15: Computation cost of MOGA and ISMOGA algorithms.

Figure 16 shows the relationship between the fitness average and the generation number for MOGA and ISMOGA algorithms using the same number of resource constraints and user preferences.

Figure 16: Fitness values and generation number of MOGA and ISMOGA.

In the experiment, we have implemented both algorithms MOGA and ISMOGA according to their techniques. Resource constraints and user preferences were equivalent for both algorithms, as the experimental parameters were the same, including population size = 100, generation number = 1000, point crossover probability = 0.5, point mutation probability = 0.1. Figure 17 shows the comparison results for minimum execution times based on the number of composite services used ISMOGA to get high-quality visual solutions and perform QoS requirements.

Figure 17: The execution time of the MOGA and ISMOGA

Figure18 shows the results obtained from the search algorithms based on the number of concrete services to obtain the best and most effective solutions.

Figure 18: Comparison between search algorithms

Figure 19 shows the characteristics and number of the required resources for VMs in a dynamic environment that is changing rapidly. ISMOGA algorithm is more adapted and efficiently based on changed characteristics in the environmental dynamics (ENDY).

Figure 19:  MOGA versus ISMOGA in environmental dynamics.

Figure 20 illustrates a comparison of the average fitness values for availability and reliability obtained for MOGA and ISMOGA. The results show the capability of ISMOGA is more efficient as it can be seen that the obtained time value for execution time is small.

Figure 20: Availability and reliability of MOGA and ISMOGA.

Figure 21 shows a comparison of specific cost values obtained for each algorithm between (0-1000) generation intervals. The result of the analysis explains the cost paths of MOGA and ISMOGA that are satisfied with the resource constraints of the VMs and QoS that are the main references for the fitness function.

The experiment results show that applying ISMOGA search method to get the best solutions for composite web services problems is feasible and effective. The experimental results illustrate the best cost of the proposed algorithm = 260 while the cost of MOGA = 320. ISMOGA adapts quickly compared to MOGA and obtains high-quality visual solutions to satisfy QoS requirements. ISMOGA applied to work with DOPs to evaluate their performance and obtain the best solutions. Furthermore, the immigrant scheme was organized in the ISMOGA to improve its searching capacity.

Figure 21: The comparison of cost values in different intervals generation.

Figure 22 shows the result of three types of techniques of genetic algorithm (GA, MOGA, ISMOGA) and their fitness functions. The parameters used in the experiment are population size – 400, crossover probability – 0.7, mutation probability – 0.1, generation – 500, and running times is 50/ms.

Figure 22:  The comparison results of three studied algorithms

The experiment result shows that the proposed ISMOGA algorithm more effective than other algorithms by using the immigrant scheme to improve its searching process.

The experiments were implemented to evaluate the total reliability for each service, where the number of VMs =100, the best value of fitness function = 0.979 of the proposed algorithm, and the number of generation = 500. Figure 23 shows the comparison results of the three algorithms and the maximum value of VM reliability. The experiments are implemented to evaluate the solution quality of availability for each service of composite services and structure resources.  The best value of fitness function = 9.66 of the proposed algorithm, and the number of generation = 500.

Figure 23:  The maximum VM reliability of the proposed algorithm.

Figure 24 shows the comparison results of the genetic algorithms and their maximum value of availability with high quality of services at the path of candidate services.

Figure 24.  Maximum availability value of the proposed algorithm.

7. Conclusion

In this study, we have proposed and developed a multi-objective genetic algorithm using the immigrant schemes in selecting search methodology to get the best solutions that meet the requirements of QoS in solving the composite services problems. A multi-objective genetic algorithm has been applied to develop and improve the problem of the web service composition to obtain the best services and recourses that are available in the dynamic environment. The study contribution helps a service provider to find the best solutions based on determining a set of concrete services efficiency and satisfy user’s preferences and QoS of concrete services. The Interdependence between concrete services and abstract services is built to improve and provide a function with high quality and characteristics in the service requested by the customer, taking into consideration the available preferences and capabilities. The available resource constraints are a significant part, therefore the best paths of the multicast tree in the network environment were analyzed and determined to achieve the highest levels for all service components available in VMs based on configuration, capabilities, and resources to be compatible with VMs in the cloud environment. The experiments are performed using the fitness function of ISMOGA, which gives indications for selecting a group of desired individuals and excluding other groups that do not achieve the multi-objective and constraints. Experimental results show that the proposed algorithm was one of the best scientific solutions in dealing with complex and NP problems.

Acknowledgment

The authors gratefully acknowledge Qassim University, represented by the Deanship of Scientific Research, on the material support for this research under the project number: 5250-COC-2018-1-14-S, during the academic year 1439 AH/2018 AD.

  1. P. Wang, Z. Ding, C. Jiang, and M. Zhou, “Constraint-aware approach to web service composition,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, 44(6), 770–784, 2014.
  2. M.E. Ash, “Determination of Earth Satellite Orbits,” Defence Technical Information Center, 1972.
  3. D.A. Menasc´e, R. Honglei, and H. Gomaa, “QoS management in service-oriented architectures,” Performance Evaluation, 64, 646–663, 2007, doi: 10.1016/j.peva.2006.10.001.
  4. G. Canfora, M. Di Penta, R. Esposito, M.L. Villani, “An approach for QoS-aware service composition based on genetic algorithms,” in 2005 conference on Genetic and evolutionary computation (GECCO ’05), 1069–1075, New York, NY, USA, 2005.
  5. K. Bessai, S. Youcef, A. Oulamara, C. Godart, S. Nurcan, “Bicriteria workflow tasks allocation and scheduling in cloud computing environments,” in 2012 IEEE 5th International Conference on Cloud Computing (CLOUD), 638–645, 2012.
  6. V. Bennett, A. Capella, “Developing and deploying a location-based service application,” IBM, developerWorks, 2002.
  7. Z. Ding, J. Liu, Y. Sun, C. Jiang, M. Zhou, “A transaction and qos-aware service selection approach based on genetic algorithm,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, 45(7), 1035–1046, 2015.
  8. W. Linlin, S.K. Garg, R. Buyya, “SLA-Based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments,” in 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing , 195-204, Newport Beach, CA, USA, 2011, doi: 10.1109/CCGrid.2011.51.
  9. G. Canfora, M.D. Penta, R. Esposito, M.L. Villani, “An approach for QoS-aware service composition based on genetic algorithms,” in 7th annual conference on Genetic and evolutionary computation, 1069-1075, Washington DC, USA, 2005.
  10. S. Wang, Z. Zibin, S. Qibo, Z. Hua, Y. Fangchun, “Cloud model for service selection,” in IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 666-671, 2011.
  11. H. Wada, J. Suzuki, Y. Yamano, K. Oba, “E3: A Multiobjective Optimization Framework for SLAAware Service Composition,” IEEE Transactions on Services Computing, 5(3), 358-372, 2012.
  12. K. Abuzanouneh, “Develop and Design Hybrid Genetic Algorithms with Multiple Objectives in Data Compression,” International Journal of Computer Science and Network Security, 17(10), 32-39, 2017.
  13. M. Ben Othman, “Survey of the use of the genetic algorithm for multiple sequence alignment,” Journal of Advanced Computer Science & Technology, 5(2), 28-33, 2016.
  14. L. Qi, Y. Tang, W. Dou, J. Chen, “Combining local optimization and enumeration for qos-aware web service composition,” in 2010 IEEE International Conference on Web Services (ICWS), 34–41, July 2010.
  15. Y. Feng, L. D. Ngan, and R. Kanagasabai, “Dynamic service composition with service-dependent qos attributes,” in 2013 IEEE 20th International Conference on Web Services (ICWS), 10–17, 2013.
  16. H. Guo, F. Tao, L. Zhang, S. Su, and N. Si, “Correlation-aware web services composition and qos computation model in virtual enterprise,” International Journal of Advanced Manufacturing Technology, 51(5-8), 817–827, 2010.
  17. K. Abuzanounneh, “New Image Processing Techniques Using Elitism Immigrants Multiple Objective of Genetic Algorithms for Disease Detection,” International Journal of Computer Science and Information Security, 15(12), 252-260, 2017.
  18. S. Deng, H. Wu, D. Hu, J.L. Zhao, “Service selection for composition with qos correlations,” IEEE Transactions on Services Computing, 9(2), 291–303, 2016.
  19. M.C. Jager, Optimizing Quality-of-Service for the Composition of Electronic Services. Ph. D. thesis, Berlin University of Technology, 2006.
  20. X. G. Wang, J. Cao, and Y. Xiang, “Dynamic cloud service selection using an adaptive learning mechanism in multi-cloud computing,” Journal of Systems and Software, 100, 195– 210, 2015.

Citations by Dimensions

Citations by PlumX

Google Scholar