Advances on QoS‐aware web service selection and composition with nature‐inspired computing

CAAI Transactions on Intelligence TechnologyVolume 4, Issue 3 p. 159-174 ArticleOpen Access Advances on QoS-aware web service selection and composition with nature-inspired computing Xinchao Zhao, Corresponding Author Xinchao Zhao xcbupt@126.com School of Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this authorRui Li, Rui Li School of Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this authorXingquan Zuo, Xingquan Zuo School of Computer Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this author Xinchao Zhao, Corresponding Author Xinchao Zhao xcbupt@126.com School of Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this authorRui Li, Rui Li School of Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this authorXingquan Zuo, Xingquan Zuo School of Computer Science, Beijing University of Posts and Telecommunications, Beijing, 100876 People's Republic of ChinaSearch for more papers by this author First published: 06 September 2019 https://doi.org/10.1049/trit.2019.0018Citations: 11AboutSectionsPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onFacebookTwitterLinkedInRedditWechat Abstract Service-oriented architecture is becoming a major software framework for complex application and it can be dynamically and flexibly composed by integrating existing component web services provided by different providers with standard protocols. The rapid introduction of new web services into a dynamic business environment can adversely affect the service quality and user satisfaction. Therefore, how to leverage, aggregate and make use of individual component's quality of service (QoS) information to derive the optimal QoS of the composite service which meets the needs of users is still an ongoing hot research problem. This study aims at reviewing the advance of the current state-of-the-art in technologies and inspiring the possible new ideas for web service selection and composition, especially with nature-inspired computing approaches. Firstly, the background knowledge of web services is presented. Secondly, various nature-inspired web selection and composition approaches are systematically reviewed and analysed for QoS-aware web services. Finally, challenges, remarks and discussions about QoS-aware web service composition are presented. 1 Introduction Web services are autonomous software systems identified by URIs which can be advertised, located, and accessed through messages encoded according to XML-based standards and transmitted using Internet protocols [[1]]. The emerging service-oriented computing (SOC) paradigm [[2]] promises to enable businesses and organisations to collaborate in an unprecedented way by means of standard web services. To support rapid and dynamic composition of services in this paradigm [[3], [4]], web services that meet requesters' functional requirements must be able to be located and bounded dynamically from a large and constantly changing number of service providers based on their quality of service (QoS). With the increase in scale and complexity of the web services, QoS has become a critical challenge for the performance of SOC [[5], [6]]. Service-oriented architecture (SOA) has been recognised as the next generation framework for building agile distributed applications over Internet. Applications are provided as web services which can be discovered and composed into more coarse-grained services, i.e. composite services. The aim is to search for the optimal set of services that are composed to create a new service and result in the best QoS under the constraints of users or service designers [[7]]. In the real world, a single web service usually cannot fulfil the requirement for a given enterprise task, however, a composition of different web services might meet the complex requirements. Hence, there is the potential silver bullet that enterprises have been looking for and it has attracted wide interests of many researchers [[8]–[14]]. Web services provide the basic fundamental unit for constructing such systems, representing a specific business activity or functionality. Once services are exposed and become available for use by other services and resources on the web, they can establish more complicated structures and interactions, providing new added value aggregate services. In order to effectively support the highly dynamic nature of such systems, services need to be handled as flexible, composite and adaptive units, so they can be substituted, converted or even composed easily with other services. The web service composition can be viewed as a three-step process: (i) composite web service specification, (ii) selection of the component web services and (iii) execution of the composite web services. At the first step, the user submits the goal he/she wants the composite service achieve, along with some constraints and preferences that need to be satisfied [[15]]. During the second step, component web services fulfilling the user's goal are selected among a set of available services. This web service selection could be done by hand or could be automatically decided by the system. When component services are selected at design time, the third step of the composition process consists of executing the selected component web service. At runtime, selection and execution of component web service are integrated and the selection is described as dynamic. Dynamic composition of web services, which has been recognised as a flexible way for resource sharing and application integration, involves two important consecutive questions: composition schema planning and optimised service selection. The former process, deciding which abstract web services are appropriate for the user's needs and how to construct them, is mostly based on functional requirements; non-functional properties are not formally considered. Artificial intelligence or graph search problem-based planning technology can be leveraged to automatically produce composition schema, including the involved component tasks and their order. Many researchers [[16]–[18]] were in favour of regarding it as an artificial intelligence (AI) planning problem and applied classic AI planning algorithms to the problem. Liang and Su [[19]] proposed a semi-automated method for service composition; the main idea of their work is to construct an AND/OR graph from the service dependency graph and to find a sub-graph for the solution by applying a bottom-up search algorithm. The latter process, dynamic web service selection [[20]–[22]], involves choosing specific web services to assign to each involving task and fulfil the functionality of the abstract web services schema under the guidance of non-functional properties, such as QoS. Automatic service composition problem [[23], [24]] is to automatically select services from a registry by matching their input and output data. The automatic composition archetype can solve heterogeneity of protocol description and paradigm by designing composite services that comply with them. Automatic service composition is generally dynamic. Resulting from this selection and a set of input data, the composite service produces a set of output data, which is needed by users. When QoS values for each service are considered, this selection problem becomes an optimisation problem called the QoS-aware automatic service composition problem. Our work focuses on the recent advance of the state of the art in technologies for web service composition and selection. The background of QoS-aware web services is discussed in Section 2. Various nature-computing approaches for web service selection and composition are presented, in Section 3. Section 4 presents some discussions, remarks and possible challenges for web service selection and composition. 2 Background This section clarifies the foundational issues of the QoS-aware web service composition (QWSC) problem. Herein the related works are described with web services composition problem, QoS criteria and aggregation functions. 2.1 Related works and research motivation The critical point is web service discovery before web service selection and composition, Ngan and Kanagasabai [[25]] presented an extensive review of semantic web service discovery, highlighting the state-of-the-art approaches, the key semantic formalisms employed, as well as benchmarks and testbeds for performance evaluation. Web service composition and selection result in an optimisation problem that has been studied both in the research areas of SOC for business processes and in grid environments. There are two major problems in using QoS for service discovery, and they are the specification and storage of the QoS information, and the specification of the customer's requirements [[26]]. Zeng et al. [[2], [27]] presented a QoS-based middleware for web service composition. They did not derive aggregate QoS performance from workflow patterns, but split a service composition into execution paths represented by directed acyclic graphs. They applied integer programming to solve the objective function of each execution path and merge the solutions of all execution paths to help service requesters select an optimal service. Inevitably, the computational cost of this approach increases exponentially with the number of exclusive choices in the composition, and multiple execution paths may produce conflicting service selections. As a step forward, Ardagna and Pernici [[28]] extend the integer linear programming (ILP) model by introducing both loop peeling to deal with the composition structures with cycles and negotiation to handle the situation when a feasible solution cannot be identified. However, ILP method is only suitable for small problems, as the complexity of the algorithm increases exponentially with an increase in problem size. Huang et al. [[29]] applied multiple criteria decision making with a weighted sum model and integer programming approaches to select the optimal service to help service requesters evaluate services numerically. Wu et al. [[30]] strengthened the current service composition mechanism by generation of QoS requirement and its selection algorithm based on the QoS reference vectors. Two algorithms (exhaustive search and ILP) are introduced to execute experiment and compared as two kinds of experiment examples. One aims at the most accurate service selection and the other chases for trade-off between selection cost and result. Wang et al. [[31]] proposed a fuzzy linear programming technology, in order to identify their dissimilarity on service alternatives, assist service consumers in selecting most suitable services with consideration of their expectations and preferences. Xiao and Boutaba [[32]] present an autonomic service provisioning framework for establishing QoS-assured end-to-end communication paths across administratively independent domains. The authors model the domain composition and adaptation problem as the classic k -multiconstrained optimal path (MCOP) problems and provide algorithms to solve it. Yu et al. [[21]] modelled QWSC problem in two ways: the combinatorial model and the graph model. The combinatorial model is based on a multi-dimension multi-choice 0-1 knapsack problem. The graph model defines the problem as a MCOP problem. The solution ensures that all selected services meet the QoS requirements, and no critical path is identified before the service selection. Tsesmetzis et al. [[33]] focused on the service provider perspective that receives multiple concurrent requests for services demonstrating different QoS properties. It introduced the 'selective multiple choice knapsack problem' to identify the services, which should be delivered in order to maximise the provider's profit, subject to maximum bandwidth constraints. Ma et al. [[34]] proposed a dynamic directed and weighted acyclic graph model of service-correlation aware with improved Dijkstra algorithm and self-adaptive algorithm to carry out a better combination of the candidate web services. The feature of their work is to take the dependence among services into account and establish the service correlations. Jiang et al. [[35]] explored the essence of QoS-aware automatic service composition and mapped it to a new graph problem: how to find the single-source optimal directed (SSOD) acyclic graphs from a directed graph. To deal with this new SSOD problem, they presented its model formally and then its computing rules of overall weight or QoS. Service composition problem is formalised into a dynamical searching process for the optimal plan for the stochastic discrete event system in [[36]]. Aiming at reducing the high computation complexity, authors designed a reliable service selection algorithm using an improved Markov decision process. Differently, local martingale difference (LMD) approach [[37]] requires neither predetermined threshold nor accurate parameters of the providers' distribution. LMD becomes the first self-adaptable methodology in the domain since it makes the decision based on the dynamic information all gathered during the process of waiting, without any manual intervention. Xu et al. [[6]] use dynamic programming method to address the efficiency issue by developing a polynomial time algorithm for shortest sequence composition. Many other methods are also proposed for this problem, such as analytic hierarchy process [[38]], branch and bound [[39]], clouding computing [[40]], clustering [[41]], grey relational analysis [[42]], multi-state bounded sets technique [[43]], principal component analysis [[44]], skyline analysis [[45]], statistical regression [[46]] and systematic search algorithm like Dijkstra [[47]]. 2.2 Composite web service In general, a composite service can be developed by different methods and deployed on different platforms, which is described as follows. Given a business workflow that includes a set of abstract services and a set of component services implementing for each abstract service, the goal is to find an optimal combination of component services. An abstract service describes the functionalities, but not the execution details of a web service (WS) [[48]]. The functionalities offered by a web service are usually performed by its provided operations. The functional characteristics of an abstract service contain the inputs, outputs and the classification type representing an ontology concept. Definition 1 (Abstract service).An abstract WS is a tuple of (N, OT, I, O), where N is the name of the abstract service; OT is the type of required operation in terms of ontology concepts; is a set of inputs of required operations, where m is the number of inputs. , where i = 1,..., m, IN is the name of input and IT is the input type in terms of ontology concepts; is a set of outputs of required operations, where n is the number of outputs. , where ON is the name of output and OT is the output type in terms of ontology concepts. Abstract service, corresponding to a specific functionality, is not necessarily a single service implementation. At execution time this description is used to retrieve some services using a match algorithm (which will be referred as concrete or component services), and then select one from them that meets the constraints and maximises the QoS aggregation function. Many matching methods have been proposed [[25], [49]–[51]]. Definition 2 (Selection plan).A selection plan SP is a set of ( , ) pairs, where . For each pair ( , ) in SP, the service operation provides the required function of an abstract service , where . The selection plan describes a combination of operations offered by concrete services for an abstract process. A composite service is obtained after each abstract service is assigned to a concrete/component service, whose interaction is described by some workflow description language (e.g. BPEL4WS [[7]]). There are two different questions to be solved: determine the QoS of a composite service as a function of the QoS of its components; determine the set of concrete services for each abstract service of the workflow, which will maximise the QoS of the composite service. Given m abstract services and n concrete services for each abstract service, there are possible combinations. The search space is discrete and a combinatorial optimisation problem is presented here. An exhaustive search algorithm is inadequate due to the huge search space, and an NP-hard difficulty. 2.3 Instance illustration of a composite service A simple example is presented to illustrate the service composition process with end-to-end QoS constraints [[21]] in Fig. 1, in which there are six abstract services and four possible abstract plans, namely, , , or . Each function can be implemented by any component service () associated with abstract service . QoS values of all component services are shown in Fig. 1 b. End-to-end QoS requirements include: Time: response time ≤ 600; Price: price ≤ 250; Availability: availability ≥ 85%. Fig. 1Open in figure viewerPowerPoint Composite web service illustration a Composite web service b QoS parameters There are totally 40 feasible candidate combinations, i.e. selection plans, each with different utility and QoS values. The optimal selection plan of services, which maximises the sum of all service utilities, is , , , with a total utility of 823, a response time of 590, at a price of 240 and an availability of 86.64%. 2.4 QoS and related metrics O'Sullivan et al. [[52]] claimed that complete service descriptions are helpful to service discovery, management, negotiation, composition and substitution, and that a service is completely represented if both functional and non-functional aspects are described well. Third-party specifications [[53], [54]] are likely to become de facto standards in the near future, and they can be used in conjunction with the proposed service selection scheme to provide viable solutions for QoS-based SOA. Previous studies provide various definitions of QoS: 'The degree to which a system, component or process meets customer or user needs or expectations' [[55]] and 'The standard of something when compared to other things like it; how good or bad something is' [[56]]. Garvin [[57]] identified the term from five perspectives including transcendent, product-based, user-based, manufacturing-based and value-based. A general QoS definition is given by Campanella et al. [[58]] as: QoS is a generic term which takes into account several techniques and strategies that could assure application and users a predictable service from the network and other components involved, such as operating systems. The main purpose of any web service is to satisfy an end-user and there still is no confidence that a user is satisfied even when the QoS is rather high. The most popular metrics for estimating such quality and user perception of web services are QoS and quality of experience (QoE) [[59]], which represent objective and subjective assessments correspondingly. Besides, the quality of business [[60]] and quality of design [[61]] are also the examples of such metrics. Fig. 2 illustrates how the sets of attributes for the mentioned metrics are related. The main purpose of Fig. 2 is to illustrate the automatic calculation of the user satisfaction (QoE) based on the known values of attributes. Fig. 2Open in figure viewerPowerPoint Relationship between different sets of metrics when evaluating the quality of web services 2.5 QoS criteria QoS criteria are used to differentiate the web services providing the same functionality during the service selection process of QWSC. According to ISO 8402 and ITUE.800 [[62]], each operation of a web service will be associated with a set of QoS criteria (non-functional properties), which can properly reflect the users' requirements and affect the users' satisfaction from some aspects, such as execution time, reliability, availability, reputation and price, which are generally used in many references [[2], [28], [48], [52]]. These properties apply both to component web services and to composite web services. Execution time T(op): The expected delay between the time instant when a service operation op begins and the time when the result is obtained. Execution time is usually measured in seconds. Reliability Rel(op): Reliability is a measure of the service invocation trustworthiness, i.e. the probability of a service operation op being correctly responded within the expected time. Availability A(op): The probability that the service operation op is accessible. Availability is a number in the range [0, 1]. Reputation Rep(op): It is a measure of the trustworthiness of service operation op. It is defined as the ratio between the number of service invocations which comply the negotiated QoS over the total number of service invocations. Reputation is a number in the range [0, 1]. Price P(op): The fee that a service requester has to pay to the service provider for the service operation op. Price is measured in dollars ($). According to the importance and measurement of the service quality parameters, a QoS vector is used to assess the QoS metrics of a service. Definition 3.QoS vector of a service operation op is QoS (op) = [T (op), Rel (op), A (op), Rep (op), R (op)], which describes some information of service quality in the execution process. 2.6 QoS aggregation functions Web service has four basic structures: sequential, cycle, parallel and branch structure (Figs. 3 a –d) [[63]]. In the sequential structure, tasks are executed in a sequential order; in the cycle structure, a task will be executed for multiple times; in the parallel structure, all the parallel tasks can be executed simultaneously, but it cannot go to the next task until all the parallel tasks are finished; in the branch structure, each task in the branch can finish the same component function and system can go to the next task once any task in the branch has been finished. For all basic patterns and their combinations the question of overall QoS evaluation has been elaborated properly as aggregation functions. The result of each aggregation function is the value of a corresponding attribute calculated for a proper pattern. Fig. 3Open in figure viewerPowerPoint Four basic models of composite web service a Sequential b Cycle c Parallel d Branch structure In order to establish a healthy SOA environment, it is very important to establish a standard to represent QoS parameters and measure them. One of the main problems in web services that integrator faces is to verify all the possible combinations, which is caused by the dynamic nature of SOA on which services will be selected and invoked. However, as Deora et al. [[64]] referred, QoS attribute values of a WS are not realistic to be provided/measured by service providers or third-party software modules. These attributes are usually measured by the values that users submit from their experience of using the particular service. So, the calculation of the values of the described QoS attribute will be a function of what values it should have taken and what values were eventually offered. The overall QoS can be given by the (weighted) sum of every QoS value of each attribute, where the weights denote the trustfulness we have for these users. A service composition is composed with candidate services that come from different tasks. A service composition can finish a specific composite function defined by user, whose QoS attribute is calculated by the component candidate services. The QoS criteria are difficult to compare because different criteria describe different aspects of the non-functional properties (QoS) of a web service. Based on the above basic structures, aggregation functions are defined as Table 1 for each QoS criterion in order to calculate various QoS of a web service. is the probability that an abstract service will be executed for a conditional structure. The probability can be evaluated from statistical execution logs. If an abstract process has never been executed before, the probability will be assigned a uniform probability (). For QoS aggregation functions, there may be a little difference for different researchers [[2], [29], [48], [65]]. The service selection would be the key for the construction of an abstract process from composite services. Table 1. Aggregation functions for QoS criteria, where k is cycle times Sequence Branch Parallel Cycle execution time reliability availability reputation price In fact, the set of functions in Table 1 is incomplete since more attributes can be considered, such as encryption, confidentiality and popularity [[59]]. When involving some logic models, such as fuzzy logic, k -value logic and so on, or modular arithmetic models, aggregation functions which use only sum and multiplication operators do not seem to be sufficient and thus, novel corresponding aggregation functions have to be elaborated. 3 Nature-inspired computing (NIC) approaches for web service composition The proliferation of web services is fostering a very active research area in recent years. However, there are two challenges facing the practicality of web services: (i) efficient location of the web service registries that contain the requested web services, and (ii) efficient retrieval of the requested services from these registries with high QoS. Numerous works have been proposed for composing services with multiple QoS constraints. Therefore, understanding its current development and the state-of-the-art solving methods are important to researchers for further research. This paper will mainly review various NIC approaches for QWSC besides the above-mentioned classic methods. 3.1 Why NIC approaches are considered Service composition creates new functionalities by aggregating different component services based on a specific workflow [[29]]. When two or more functional-qualified services are available, they can form different combinations. These combinations deliver the same functionality, but differ from each other in the non-functional property (QoS). Obviously, service requesters should be able to select the optimal service set without trying all possible combinations, which is impractical even if there are a few services and tasks in the workflow. Therefore, heuristic and metaheuristic algorithms are required to solve the QWSC problem. This is the inherent motivation to review the recent situation of QWSC with NIC. NP difficulty: Web service selection and composition problem is NP [[2], [21], [66]], and traditional methods, such as graph theory and dynamic programming, cannot bear the complexity burden. Correspondingly, NIC approaches can provide satisfactory solutions in a reasonable time. Multiple choices: Users generally have different preferences and different persons may have different opinions. Correspondingly, population-based bio-inspired computing approaches can present multiple solutions. In terms of this consideration, population-based approaches, especially for evolutionary or swarm multi-objective optimisation methods, tally with the practical scenarios very well. Dynamic: Web services are executed on internet and the composite services have great dynamic properties, for example, the selected component service are suddenly unavailable and QoS values changed. Simultaneously, users are possible to modify their choices and/or constraint conditions. At these scenarios, traditional methods may need to replan the composite service. Correspondingly, NIC methods are very possible to present another schema immediately at any time and any situation due to they maintain a solution population. 3.2 Evolutionary algorithm (EA) based computing approaches EA [[67]] is a population-based parallel iterative search technique to achieve the satisfactory solutions (not always optimal) for the complex optimisation problems. Evolutionary search of crossover, mutation and selection operations will be directed according to the 'survival-of-the-fittest' principle. The strengths of EA for QWSC problem are the natural coordination between its encoding method and genetic operations and the problem itself. The weakness of EA is its slow convergence for its blind or semi-blind generation methods for new solutions. 3.2.1 Evolutionary algorithm Canfora et al. [[7], [66]] described an approach for a quick, coarse-grained QoS-aware service composition based on genetic algorithms (GAs), which is more scalable, however, slower than integer programming. The aim of the approach is to provide a fast way, even if rough, to find the (sub)-optimal service composition and estimate its overall QoS. In [[68]], the reduction formulas are adopted and the reoptimisation is considered, but only sub-optimal solutions are identified since tasks specified in cycles are always assigned to the same web service. Gerardo et al. [[66]] advocated GA for its advantage of permitting to deal with QoS att