Mathematical Problems in Engineering

Volume 2016, Article ID 9480769, 10 pages

http://dx.doi.org/10.1155/2016/9480769

## A Robust Service Selection Method Based on Uncertain QoS

^{1}School of Computer Science, Xi’an University of Posts and Telecommunications, Xi’an 710121, China^{2}ZTE Corporation, Xi’an 710114, China^{3}School of Science, Xi’an University of Posts and Telecommunications, Xi’an 710121, China

Received 14 October 2015; Revised 11 January 2016; Accepted 27 January 2016

Academic Editor: Alireza Amirteimoori

Copyright © 2016 Yanping Chen et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Nowadays, the number of Web services on the Internet is quickly increasing. Meanwhile, different service providers offer numerous services with the similar functions. Quality of Service (QoS) has become an important factor used to select the most appropriate service for users. The most prominent QoS-based service selection models only take the certain attributes into account, which is an ideal assumption. In the real world, there are a large number of uncertain factors. In particular, at the runtime, QoS may become very poor or unacceptable. In order to solve the problem, a global service selection model based on uncertain QoS was proposed, including the corresponding normalization and aggregation functions, and then a robust optimization model adopted to transform the model. Experiment results show that the proposed method can effectively select services with high robustness and optimality.

#### 1. Introduction

With the wide use of the Web service in various fields, more and more services have been developed rapidly. But single service can only implement single function; service composition becomes the primary measure to provide user with a high-quality and personalized complex service. And the Web service selection is the foundation and precondition of service composition. With the number of Web services increasing gradually, a key issue arises immediately; there are many services providing same functions but differing in the Quality of Service (QoS). Therefore, in the process of service composition, we need to select service, not only depending on the functions but also according to the user’s QoS requirement.

Web service selection based on QoS is a combinatorial optimization problem. Traditional QoS-based Web service selection algorithms mainly use linear programming [1] and Greedy Algorithm [2]. Currently more popular service selection algorithms are mainly using smart algorithms, such as Genetic Algorithms [3], Particle Swarm Optimization [4], and Ant Colony Optimization Algorithm [5]. These algorithms are often designed for certain QoS attributes and assumed that, after the service provider has provided services, the services would run as the described state without change. But in fact, this ideal situation does not exist. Web service is provided as a distributed, loosely coupling API on the Web, so QoS is uncertain factor; for example, the response time would fluctuate with the change of the network. It will fluctuate the QoS of the composed services which are solved by the deterministic algorithms at the running time and cannot satisfy the QoS requirements of users or is unusable. Therefore, when dealing with the service selection problem, the uncertain factors must be considered.

Uncertainty is the most important factor that the requirements of users cannot be satisfied. We consider that the uncertainty of the service composition is mainly caused by the following reasons:(1)QoS information is incomplete. The Web service description emphasizes more on functional information, so the description of QoS attributes is not accurate enough.(2)There is no unified QoS metric of Web services, and only one way can gain service QoS value from service providers. Due to the fuzziness of the natural language, there may be divergence between the service providers and the users even about the same attributes. For example, there is one attribute called throughput, one definition is the number of requests for a service successfully executed, and the other is the average rate of successful message size delivery over a communication channel per second.(3)Internet environment cannot be repeated. When services are used on the Internet, some attributes of QoS of the Web services are influenced by the running state of the Internet, such as security and response time. The real situation of service cannot be described by the QoS obtained from once request.

Because of the existing uncertainties, the composite service could hardly be accomplished in the dynamic execution process. These uncertainties also affect the individual requirements of users. When the QoS deviation occurs, we must replan and compose services; otherwise it would cause a lot of problems. But the replanning will lead to the waste of computing resources, so this paper studies how to ensure that service composition is feasible with the uncertain conditions, thus avoiding the replanning of composited service. For the uncertainty of the QoS properties, this paper combined the uncertain optimization theory, described the uncertainty by using the “interval,” modeled a service composition model based on workflow (order, circulation, choice, and parallel), proposed the service selection model under the conditions with uncertain QoS, put forward the corresponding normalization and aggregation function, and ensured that when the change occurred in the part of QoS attributes, the obtained solution can adapt to the most cases and close to the optimal.

The rest of the sections are organized as follows. Section 2 describes related works. Section 3 details the robust optimization method used in service selection model based on the uncertain QoS. Section 4 presents the experiment and analysis result. Finally, Section 5 draws some conclusions.

#### 2. Related Works

In Zeng et al.’s paper [1] QoS was introduced into Web service at the first time; the QoS of Web service was used to distinguish the Web services with similar functions. From then on, service selection based on QoS plays a more and more important role in the Web service composition area. QoS-based service selection methods are mainly divided into two directions: semantic QoS [6] and QoS value. According to the different QoS requirements, the Web service selection strategy can be divided into two kinds, namely, the local optimal strategy and the global optimal strategy. Local optimal strategy selects component services for a single service function, respectively, compares the candidate atomic service set, sorts QoS values for each candidate atomic service, and then selects the best one. The main algorithm is the Greedy Algorithm [2]. Global optimal strategy aims to make the global QoS of the composite services to satisfy the given constraints or achieve the desired goals; the main methods are Genetic Algorithm [3], PSO [4], and Ant Colony Algorithm [5].

In recent years, the researchers have also addressed some studies for service selection based on uncertain QoS. Zeng et al. [1] proposed QoS-based service selection; at the same time they proposed that uncertain response time was introduced into the service selection model. They assumed the response time of service subjected to normal distribution and introduced the variance of the normal distribution into the constraints. Alférez and Pelechano [7] leveraged models at runtime to guide the dynamic evolution of context-aware Web service compositions to deal with unexpected events in the open world. In order to manage uncertainty, a model that abstracts the Web service composition self-evolves to preserve requirements. Benouaret et al. [8] represented each QoS attribute of a Web service using a possibility distribution and introduced two skyline extensions on uncertain QoS called pos-dominant skyline and nec-dominant skyline. Wu et al. [9] proposed an “on-demand” strategy for QoS-aware service composition to replace the traditional “best-effort” strategy. Mostafa and Zhang [10] presented two approaches based on the Multiobjective Reinforcement Learning (MORL) to address multiobjective service composition in uncertain and dynamic environments. Wagner et al. [11] developed a new QoS model that helps to predict the resulting QoS of a workflow by considering service failures during the initial selection phase. For each service, a set of possible backup services and the corresponding QoS are computed beforehand.

In recent years, it has been recognized that dealing with uncertain data is a major challenge in optimization. As can be seen from the above literatures, Web service QoS models with uncertainty dispose uncertain data in two ways; one would assume that the data is subject to one kind of distributions to compute the uncertainty of QoS and the other solves the problem by using intelligent algorithms. But the problem of the former method is that the assumption may be not reasonable. In the real world, we could not get the exact distribution of the data. And for the latter method, different intelligent algorithms have different problem, like premature convergence for Genetic Algorithm. And for all intelligent algorithms, they always solve different solutions in different times, even if they use the same data. We need an approach to select service considering all possible situations, but it does not take whether the uncertain data is subject to any distributions into account.

The researches of the traditional optimization problems are mostly about deterministic problems. When solving uncertain optimization problems, researchers mainly focus on the following ways: stochastic programming, fuzzy programming, interval programming, and robust optimization. When solving the uncertain problems, the stochastic programming and fuzzy programming need precise distribution of the parameters, and the precise distribution is difficult to obtain in the real world. When solving these two kinds of programming problems, the commonly used method is the Monte Carlo method, but this method shows slow convergence and low efficiency. Facing more complex constraints, they are only to use approximate method. Interval programming and robust optimization are all converting the uncertain optimization to determine problem for solving. The difference is that the robust optimization considers the worst case; the result may be conservative. And the interval programming eventually provides decision-makers with a range of optimal value; they will have a better space to select [12]. When converting the interval programming, upper and lower bounds of uncertainty goals and constraints will become a nested optimization model, so the problem is always a multiobjective optimization problem and difficult to solve.

In the 1973s, Soyster [13] proposed an approach to address data uncertainty named robust optimization. Robust optimization means finding a solution which can deal with all possible realizations of the uncertain data. The first robust optimization method proposed by Soyster considers the maximum uncertainty. That means only considering the worst case, the uncertain programming is converted into the corresponding deterministic model to obtain robust optimal solution. The model only considers the worst case and leads to the very conservative solutions. Conservatism in robust optimization means that the solution ensures a high robustness level but is “far away” from optimality. In other words, a robust solution is not optimal for all realizations of the uncertain data but performs well even for the worst case. Later researches focus on how to keep the optimality and robustness at the same time. At the end of the last century, Ben-Tal and Nemirovski [14] gave an approach that converted the linear programming to the robust counterpart problem with the ellipsoid uncertain set, but the converted problem is a Second-Order Cone Programming (SOCP) and difficult to calculate. In 2003, Bertsimas and Sim [15, 16] proposed a new robust approach which obtained the solution considering optimality and robustness and analyzed the probability bounds of constraint violations. Existing researches based on the two approaches used the robust optimization in the field of supply chain planning, network flow, and logistics programming.

In this paper, we propose using robust optimization method to select service. The difference between the existing study and this method is that this method considers all possible situations during the service as invoking. And it is solved by mathematical methods, which means that if the data is constant, the results are constant.

#### 3. Service Selection Method Based on Robust Optimization

##### 3.1. QoS of the Candidate Services

Since Zeng et al. [1] combined Web service with QoS together, there have been a large number of QoS attribute definitions which describe nonfunctional properties of Web services. In many literatures, QoS attributes are using the determinate data to make it clear, but some QoS attributes should be described as uncertain interval data, such as response time. This paper uses the following three kinds of common QoS attributes as a basis for service selection. Defining that response time and throughput are described by the interval data and the reliability is real data. We consider that the value of QoS is not subject to any distribution.

*Definition 1 (response time). *Response time measures the expected delay in seconds from a request sent to the results which are received [1]. It is computed using the expression as follows:where is the transmission time of request and response in the network. is the time of processing the request.

In the past literatures, the response time is often using the minimum value or average value of the response time in a period of time, as a certain value to calculate. But the nature of the response time should be uncertain. Due to the different network status, the same service will show different response times. Using traditional QoS models always masks the uncertainty of response time, ignoring the unstable factors. Without considering the uncertainty of response time, the selected service would take a bad response time. For example, the minimum and average response time of service A, respectively, are 0.1 s and 0.2 s and of service B are 0.15 s and 0.22 s. However, the intervals of response time of services A and B, respectively, are and . From the two intervals, it can be seen that the response time of service B is more stable and robust. Using the traditional service selection method, service A is better than service B. When we use the two services, the response time of service A may be 0.9 s and that of service B may be 0.3. The purpose of this paper is to choose a more robust service. We use interval to indicate the uncertainty of response time.

*Definition 2 (throughput). *For the throughput, one definition is the number of requests for a service successfully executed, and the other is the average rate of successful message size delivery over a communication channel per second. In this paper, we define it as in the second definition. It is also uncertain. So we describe the throughput like response time with .

*Definition 3 (reliability). *Reliability of service is the probability of a request that is correctly responded to within the maximum number of total requests. It is computed using the expression as follows:where means the number of successful requests in invocations and is the total number of service executions. In this paper, the reliability is derived from the service attribute dataset and is a certain value.

##### 3.2. Service Composition Based on Workflow

Most of single Web service is usually providing only a single way to implement a single function, but the composite services can take advantage of many small particle size distributions of the atomic services on the network and combine them to be able to implement complex functions, loosely coupled composite services.

As shown in Figure 1, business logic of each kind of complex application is fixed, which has been divided into service classes by domain experts, and then the service class is advertised. After that, service providers could publish their Web service into registry and point out which certain service class it belongs to. When users’ requirement is coming (meaning that user selects a certain business logic), then the proper services should be selected according to users’ QoS. In order to solve the problem, a global service selection model based on uncertain QoS was proposed, including the corresponding normalization and aggregation functions, and then a robust optimization model is adopted to transform the model.