QoS-aware web service selection with negative selection algorithm

4 downloads 46880 Views 2MB Size Report
Apr 16, 2013 - To the best of our knowledge, this is the first time to introduce ... The optimization problem of web service selection. Antibody ..... One method is to directly design a powerful search engine to search in the whole solution space.
Knowl Inf Syst (2014) 40:349–373 DOI 10.1007/s10115-013-0642-x REGULAR PAPER

QoS-aware web service selection with negative selection algorithm Xinchao Zhao · Zichao Wen · Xingmei Li

Received: 6 June 2012 / Revised: 30 March 2013 / Accepted: 5 April 2013 / Published online: 16 April 2013 © Springer-Verlag London 2013

Abstract Web service selection, as an important part of web service composition, has direct influence on the quality of composite service. Many works have been carried out to find the efficient algorithms for quality of service (QoS)-aware service selection problem in recent years. In this paper, a negative selection immune algorithm (NSA) is proposed, and as far as we know, this is the first time that NSA is introduced into web service selection problem. Domain terms and operations of NSA are firstly redefined in this paper aiming at QoS-aware service selection problem. NSA is then constructed to demonstrate how to use negative selection principle to solve this question. Thirdly, an inconsistent analysis between local exploitation and global planning is presented, through which a local alteration of a composite service scheme can transfer to the global exploration correctly. It is a general adjusting method and independent to algorithms. Finally, extensive experimental results illustrate that NSA, especially for NSA with consistency weights adjusting strategy (NSA+), significantly outperforms particle swarm optimization and clonal selection algorithm for QoS-aware service selection problem. The superiority of NSA+ over others is more and more evident with the increase of component tasks and related candidate services. Keywords Negative selection · Web service · QoS · Quality of composite service · Immune optimization

X. Zhao (B) School of Science, Beijing University of Posts and Telecommunications, Beijing 100876, China e-mail: [email protected] Z. Wen Key Laboratory of Mathematics Mechanization, Institute of Systems Science, AMSS, Chinese Academy of Sciences, Beijing 100190, China X. Zhao State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China X. Li Business Administration School, North China Electric Power University, Beijing 102206, China

123

350

X. Zhao et al.

1 Introduction Web service technology [2] aims to enable the interoperation of heterogeneous systems, reuse of distributed functions in an unprecedented scale and create value-added business applications composed by dynamically selected individual services. This technology is called service composition [39], and it has achieved significant success. The emergence of web services (e.g., for order procurement, finance, accounting, human resources, supply chain, and manufacturing) has created unprecedented opportunities for organizations to establish more agile and versatile collaborations with other organizations. Nevertheless, the terminology “service composition” not only is used in Service-Oriented Architecture (SOA) and Service-Oriented Computing (SOC) in application level, but also appears in autonomic communication system [36] at network level. The rapid introduction of new web services into a dynamic business environment can adversely affect the service quality and user satisfaction [18]. Therefore, how to efficiently select appropriate component services according to specific application requirements to form an optimal composite service becomes very important. The current industry-driven trend of providing flexible e-services lays the ground for the new research area “service value networks” (SVNs). SVNs [6] provide business value through the agile and market-based composition of complex services from a steady, but open pool of complementary as well as substitutive standardized service modules by the use of ubiquitously accessible information technology. With many different competing services available, the user experience, which is captured by the non-functional quality of service (QoS) attributes, is an important competitive factor. Therefore, Haak and Blau [17] presented efficient QoS aggregation methods to tackle the challenge of aggregating QoS in the context of service composition. In the context of SVNs where service components’ input and outputs are plugged together realizing a value-added complex service, service providers have the strategic opportunity to customize their service offers in a way that they are interoperable with predecessor services [5]. Chan and Hsu [7] made an effort to recognize the modern service as a hypernetworking of customers, providers, and resources for value cocreation. It develops a new analysis of this hypernetworking to investigate how to improve the quality and productivity of service value networks and corroborates the analysis with empirical evidence shown in the field of e-commerce. QoS-aware web service selection (QWSS) problem has attracted many attentions in recent years, although finding an optimal solution with multiple QoS constraints is NP-complete [38,39]. When constructing SOA application, a process model specifying the business logic of SOA application should be firstly built, which involves some abstract tasks and dependency relationships between them. For each abstract task in process model, there is a service class which includes many instance services with the same functionalities and different performances. Compared with the various and approximately infinite application requirements from end users, the web services held by a cloud platform are usually limited. Therefore, it is often a challenging effort to develop a service composition, in such a situation that only part of the functional qualified candidate services could be found inside a cloud platform. In view of this challenge, a QoS-aware composition method [26] is investigated for supporting crossplatform service invocation in cloud environment. Web service selection refers to choosing appropriate candidate service to be invoked for each abstract task to form an optimal composite service according to users’ requirements. So far, many service selection methods have been designed from different perspectives. Zeng et al. [39] suggested solving this problem by Linear Integer Programming (LIP). However, its computation time tends to grow exponentially with the increase of problem size, and thus, it is limited to use LIP algorithm in real scenarios, especially in time-critical scenario. Therefore, metaheuristic algorithms are

123

QoS-aware web service selection

351

more suitable for this kind of combinatorial optimization problem and many metaheuristic algorithms-based algorithms [1–42] have been proposed to find optimal/near-optimal solutions with reasonable computation costs. The human immune system has the ability of detecting antigens [31], i.e., anything which does not belong to the body itself, including bacteria, viruses etc. Correspondingly, the task of immune system is to differentiate between antigens and the body itself, and a process known as “self/non-self-discrimination” is achieved when the invading antigen is “recognized” by a specific antibody called a T cell receptor. Novelty detection in negative selection process has the fundamental objective to distinguish between self and non-self with a similar way. Negative selection optimization algorithm [9,20], one of the new bio-inspired computational paradigms with the metaphors of biological immune systems, is based on the principles of the maturation of T cells and self/non-self-discrimination in the biological immune systems. Regular iteration-based optimization algorithms aim at gradually improving the quality of solutions. However, the negative selection model takes a completely different solving technique. It removes the poor solutions using the self-set which contains the bad patterns of genes. If the solution satisfies the bad pattern of the self-set, it will be considered as a poor solution. That is, negative selection model sets a target for reducing the poor solutions, and the satisfiable solutions are finally reserved. To the best of our knowledge, this is the first time to introduce negative selection principle to solve the QoS-aware web service selection problem. The rest of the article is organized as following. Section 2 introduces negative selection model, web service selection problem, some existing works for QWSS and the motivation why NSA used for web service selection. Section 3 presents the inconsistency analysis between local search and global planning, consistency weights adjusting strategy, parameters and operations and algorithm description. Section 4 presents experiments on the crucial parameters and extensive comparisons with other similar algorithms. Section 5 concludes the paper and gives possible further research.

2 Related works 2.1 Principles of immunology and terms matching Human immune system (HIS) is a highly evolved, parallel and distributed adaptive system. The information processing abilities of HIS provide important aspects in the field of computation. This emerging field is referred to as artificial immune systems (AIS) [12]. AIS can be defined as a computational system inspired by theoretical immunology and observed immune functions, principles and models, which are successfully applied to problems solving in many areas [11]. AIS is a research field that bridges the disciplines of immunology, computer science, and engineering. Four major AIS algorithms have been constantly researched and gained wide popularity: (1) clonal selection algorithm; (2) artificial immune network; (3) negative selection algorithm; and (4) danger theory. The terms match between immunology and web service selection domain are listed in Table 1. 2.2 Negative selection algorithm In most optimization algorithms, such as Quisy Newton and trust region algorithm [8], genetic algorithm [14], differential evolution [10], particle swarm optimization [40], the core ideas

123

352

X. Zhao et al.

Table 1 Terms matching between immunology and service composition domain Terms in immunology

Terms in web service selection problem

Antigen

The optimization problem of web service selection

Antibody

Variable or solution vector

Locus

Abstract service

Allele

Component service or component task

Gene

The chosen candidate service for a component task

of these algorithms are to attain the optimal solutions recursively. In other words, the quality of obtained solution is becoming better and better with the iteration of algorithm. However, very few results are available in the application of negative selection principle to immune optimization problems. The fundamental function of a biological immune system is to distinguish self-member with negative member. That is, immune recognition is the foundation of various functions of a biological immune system. In the process of antibody formation, immune system adopts a series of learning and memorizing mechanisms which include: (1) obtain the immature immune cells through the recombination of genes; (2) remove the self-ingredients in the immature immune cells through negative selection principle for the genes that compose the antibody; (3) improve the rate of its being selected during genes recombination to make it proliferate. After obtaining the immature antibodies through the conscious genes recombination, some members with inferior patterns may be removed from self-space based on the negative selection mechanism, and then, mature antibodies are obtained. If the mature antibodies recognize the antigen well, they will be praised by increasing the density of the genes which consist of the antibody. Otherwise, the density of the corresponding genes will be decreased. Some of them are even added to the self-space and are completely eliminated as a penalty. The inspired negative selection computational model takes a completely different solving idea comparing with other regular iteration-based optimization algorithms [9,20]. Based on the negative selection mechanism of biological immune systems, the solution space of NSA corresponds to the whole space and the non-optimal solution space is corresponding to selfspace. The complementary set of self-space (i.e., non-self) is corresponding to the negative space. In the solving process, the negative space is continually tested by self-space, and at the same time, it is gradually reduced by removing the poor solutions through the self-set, which contains the bad patterns of genes. Different from genes warehouse, the self-set is not initialized; it is constructed dynamically during the solving procedure and can effectively reduce the search space [11]. Finally, all the members in the negative space (non-self) are the optimal solutions by constantly removing the worst solutions. The basic operations for NSA are referred as Fig. 1. 2.3 Web service selection problem Since web services are intended to be discovered and utilized by other applications, they need to be described and understood in terms of functional capabilities as well as behavioral properties and non-functional properties. When several functionally and transactionally equivalent web services are available to perform the same activity, their QoS properties, such as price, availability, reliability, and reputation, become very important in the service selec-

123

QoS-aware web service selection

353

Fig. 1 Basic operations for negative selection algorithm

tion process. In order to reason about QoS properties in web service, a model is needed to capture the descriptions of these properties from a user perspective. Such models must take into account the fact that QoS involves multiple dimensions. 2.3.1 Web service selection problem For a composite web service which contains N abstract tasks t1 , t2 , . . . , t N and each abstract task has a few candidate services, the aim of web service selection is to find N suitable candidate services satisfying the users’ requirements for each task and make the performance of the composite service coupled with the N candidate services optimal among all the possible web service combinations. The QWSS problem is illustrated as follows: ⎧ m ⎨ max F =  wk Q k (x1 , x2 , . . . , x N ) (1) k=1 ⎩ s.t. Q k (x1 , x2 , . . . , x N ) ≤ bk , k = 1, . . . , m. where x j is the selected candidate/concrete service to execute the abstract task t j , m is the number of the non-functional attributes (QoS), N is the number of component tasks in a composite web service, bk and  wk denote the predefined bound and the corresponding weight of the k-th QoS (Q k ) and m k=1 wk = 1. The objective function in Eq. (1) is to maximize the QoS value of composite service. Q k (x1 , x2 , . . . , x N ) represents the k-th non-functional attribute value of the composite service integrated by component services x 1 , x2 , . . . , x N . It is well known that some non-functional attributes are positive, e.g., availability and reliability, which means the attribute value is bigger and the performance is better. Others are negative attributes, e.g., cost and response time, which means the attribute value is smaller and the performance is better. In order to measure the performance of composite service effectively, they need to be normalized as follows. The positive attributes are scaled as Eq. (2), and the negative are scaled as Eq. (3). ⎧ min ⎨ Q k, j − Q k , Q max − Q min = 0 k k max min Q k, j = Q (2) − Q k ⎩ k 1, Otherwise ⎧ max ⎨ Q k − Q k, j , Q max − Q min  = 0 k k Q k, j = Q max (3) − Q min k ⎩ k 1, Otherwise

123

354

X. Zhao et al.

Fig. 2 Four basic composite models of web service

Here, Q max represents the possible maximum of the k-th non-functional attribute of the k composite service, and Q min represents the possible minimum of the k-th non-functional k attribute of composite service. It is obvious that Q k, j ∈ [0, 1] whatever for positive or negative attributes of a composite service. Without loss of generality, the normalized QoS values are also denoted as Q k, j (not Q k, j ) in the following part of this paper for convenience. As an example, assume that there are eight candidate services to execute task t6 and that the 3-rd QoS values “Time” are given by the vector Q 3 = {0.95, 2.95, 0.68, 1.99, 4.94, 2.29, 1.50, 1.75}. Since “Time” is a negative criteria, Eq. (3) is used for scaling and, thus, Q max = 4.94 and Q min = 0.68, and the new 3 3 Q 3 , i.e., Q 3 = {0.94, 0.47, 1, 0.69, 0, 0.62, 0.81, 0.75}.

2.3.2 QoS for web service This paper will not illustrate a long list of QoS attributes of web service, but to present several usually researched indexes, such as cost (C), availability (A), time (T), and reliability (R). The cost (C) is defined as the fee that a service requester has to pay to the service provider for the service invocation. It is always associated with the value of the service’s functionality, i.e., the more complicated functions it provides, the more a service costs. Availability (A) of web service is the probability that the service operation is accessible, which is defined by the proportion of the service’s uptime to downtime. Response time (T) is the expected delay between the time instant when a request is sent and the time when the result is obtained. Reliability (R) is a measure of the service invocation trustworthiness. It is defined as the ratio between the numbers of service invocations which comply the negotiated QoS over the total number of service invocations. 2.4 QoS computation Composite web service has four basic structures: sequential (a), cycle (b), parallel (c), and branch structure (d) as showed in Fig. 2 [34]. In the sequential structure (a), tasks are executed in a sequential order; in the cycle structure (b), a task will be executed for multiple times; in the parallel structure (c), all the parallel tasks can be executed at the same time, but all the parallel tasks should be finished before going to the next task; in the branch structure (d), each task in the branch can finish the same component function and system can go to the next task if any one task in the branch has been finished. Since a composite web service is composed of the above four basic structures, QoS of a particular service composition can be calculated by computing the QoSs of its basic structures.

123

QoS-aware web service selection

355

Non-functional attributes of these structures can be calculated by the following formulas. ⎧ N Ci , ⎪ ⎪ ⎨ i=1 N Ci , C = i=1 N ⎪ ⎪ ⎩ i=1 Ci , min(Ci ), ⎧ N Ti , ⎪ ⎪ ⎨ i=1 N i=1 Ti , T = ⎪ max(T i ), ⎪ ⎩ min(Ti ),

⎧ N Ai , ⎪ ⎪ ⎨ i=1 N i=1 Ai , A= ⎪ min(Ai ), ⎪ ⎩ max(Ai ), ⎧ N Ri , (a) ⎪ ⎪ ⎨ i=1 N Ri , (b) R = i=1 N ⎪ (c) ⎪ ⎩ i=1 Ri , (d) max(Ri ),

(a) (b) (c) (d)

(a) (b) (c) (d)

(4)

(a) (b) (c) (d)

(5)

2.5 Some solutions for web service selection The increasing popularity of employing web services for distributed systems contributes to the significance of service composition. It has attracted many researchers to focus on the research of quality of service (QoS)-aware web service selection problem in the recent years. Many algorithms and models, such as integer programming, multi-dimensional multi-choice 0-1 knapsack problem, Markov decision programming, genetic algorithm, particle swarm optimization, and the corresponding hybrid algorithms, have been presented to solve it. As a step forward, Ardagna and Pernici [3] extended the integer linear programming model [39] 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. Berbner et al. [4] presented an algorithm using the result of linear programming relaxation of LIP as the heuristic hint. Tsesmetzis et al. [32] focused on the service provider perspective that receive multiple concurrent requests for services demonstrating different QoS properties. It introduced the “Selective Multiple Choice Knapsack Problem” that aims to identify the services, which should be delivered in order to maximize the provider’s profit, subject to maximum bandwidth constraints. Wang et al. [33] proposed a fuzzy linear programming technologies, in order to identify their dissimilarity on service alternatives, assist service consumers in selecting most suitable services with consideration of their expectations and preferences. Sun and Zhao [30] proposed a decomposition-based approach for service composition, in which the utility of a composite service can be computed from the utilities of component services and the constraints of component services can be derived from the constraints of the composite service. Song and Lee [29] developed a preliminary prototype that supports dynamic service composition in a smart workspace environment. Different from the traditional methods, Local Martingale Difference (LMD) approach [15] requires neither predetermined threshold nor accurate parameters of the providers’ distribution in a dynamic environment. It helps users to achieve optimal composition results, in the sense of probability. Ai et al. [1] presented a novel penalty-based genetic algorithm to solve the composite web service partitioning problem because it may create a bottleneck and degrade the overall throughput of the composite service when a single web service engine is responsible for coordinating the execution of the components. Fan et al. [16] proposed a new cooperative evolution algorithm consists of stochastic particle swarm optimization and simulated annealing to solve the web service selection problem. Liang and Huang [21] proposed a novel approach for web services composition application with a composition process that is systemic and completed. It shows great promise in the emerging demand for composite web services. Luo et al. [22] developed a novel heuristic algorithm for web service composition with end-to-end QoS constraints on the basis of the generic cross-entropy algorithm for combinatorial opti-

123

356

X. Zhao et al.

mization problem. Ma et al. [23] proposed population diversity keeping and initial population enhancing strategies to improve the performance of genetic algorithm. Menascé et al. [24] considered the problem of finding the set of service providers that minimizes the total execution time of the business process subject to cost and execution time constraints. Skoutas et al. [28] proposed a service selection framework that integrates the similarity matching scores of multiple parameters obtained from various matchmaking algorithms. The framework relies on the service dominance relationships to determine the relevance between services and users’ requests. An improved PSO algorithm [34] was proposed to solve web service selection problem with adaptive weight adjustment and non-uniform mutation strategies. Based on several heuristics, a hybrid clonal selection algorithm [41] is proposed for QoS-aware web service selection problem. Wang et al. [35] established a comprehensive evaluation model based on generic QoS and domain QoS of composite web service. Then, a hybrid culture max–min ant system is constructed to solve the service selection problem. Artificial immune systems (AISs) [11] are inspired by the biologic immune system, principles, and models, which have been developed since 1990s as a new branch in computational intelligence. A number of AIS models have been proposed for problem solving, which include (1) clonal selection principal; (2) artificial immune network; (3) negative selection principal; and (4) danger theory. There are some immune optimization-based methods to solve web service composition problem, such as [25,27,37]. However, the artificial immune algorithm used in these reference is based on the clonal selection principal. [25] and [27] combined some heuristic knowledge to observe an enhanced version of the CLONALG algorithm [13]. The algorithm [37] involves two steps: a clonal selection operation for population diversity and a vaccine operation for heuristic information. This paper proposes a negative selection immune principle to the QoS-service composition, which is inherently different from these references. 2.6 Motivation why NSA used for web service selection With the development of web service technologies, the enterprise business systems can be encapsulated as web services. Establishing a virtual enterprise is actually a process of web services composition. According to certain logical business, a group of existing web services can be integrated into a value-added service to complete complex functions. It is well known that QoS-aware web service selection is an NP-hard combinatorial optimization problem [38,39]. So, the first critical issue for this problem is to devise an efficient web service selection algorithm. However, we have to face the reality that the global optimal solution cannot be reached in an acceptable execution time whatever efficiency of your algorithm. So there are two possible approaches to obtain a satisfactory solution for the QoS-aware web service selection. One method is to directly design a powerful search engine to search in the whole solution space. For example, most metaheuristic algorithms-based solving methods, such as genetic algorithms and particle swarm optimization, belong to this category. The other idea is to reduce the search space firstly according to some principles and then to find the near-optimal solution. Negative selection immune algorithm is a typical example. The unusual optimization operation of NSA has not been payed enough attentions, so it is a worthwhile endeavor to research the negative selection optimization algorithm. The human immune system has the ability to detect antigens, i.e., anything which is not part of the body itself, including bacteria, viruses, and suchlike. Correspondingly, the task of the immune system is to differentiate between antigens and the body itself, a process known as “self/non-self-discrimination”, achieved when the invading antigen is “recognized”. The natural immune system is a complex adaptive system which efficiently employs several

123

QoS-aware web service selection

357

mechanisms for recognizing novel patterns representing non-self. The key role of the immune system is to recognize all cells (or molecules) within the body as self and categorize foreign cells as non-self to generate specific response. So the objective of this paper is to design a few appropriate negative selection principles to delete the matched solutions, effectively reduce the search space, and then gives the near-optimal solution. Immune recognition is the foundation of an immune system, which adopts a series of learning and memorizing mechanisms to construct antibodies with the following steps; (1) define inferior patterns or matching rules; (2) obtain the immature immune cells or antibodies through gene recombination; (3) remove the self-ingredients in the immature immune cells through negative selection principle, and then, mature antibodies are obtained; (4) If the mature antibodies recognize antigen well, the consistence of alleles will be self-adaptively increased in the genes warehouse management. Otherwise, it will be decreased. Repeat the above steps and more and more solutions with bad patterns will be deleted from the search space with the progress of algorithm, which accelerates the convergence process for the “optimal” solution. Of course, the truly optimal solution is possible to be wrongly matched by inferior patterns and deleted from the solution space. However, the numbers of global optimal, suboptimal, and other extraordinarily excellent composite web services will become larger and larger with the increase of component tasks. Therefore, the probability of remaining a part excellent solutions with higher QoS values will also increase, although some are deleted by the negative selection operation. Accordingly, the even better average fitness of NSA are arrived with its feature of dwindling in size of the search space. This phenomenon can be found in the following simulations (e.g., Fig. 5a–d).

3 Negative selection algorithm for web service selection To the best of our knowledge, this is the first time to introduce negative selection principle to the QoS-aware web service selection research. It is motivated by the negative selection mechanism in biological immune recognition. Different from the regular optimization methods, NSA constantly removes the worst solutions and shrinks the search space gradually to obtain the optimal solution. 3.1 Solution coding for NSA Similar to genetic algorithm, NSA cannot directly cope with the solution of a question either. In a nutshell, NSA works by generating a population of solution vectors, each representing a possible solution to the web service selection problem. Therefore, an integer string is adopted to represent the candidate services and maps a solution vector to a specific web service composition on the basis of its logical structure of tasks. The individual components (serial number of candidate services for the corresponding task) within a chromosome are called genes. We regard the candidate services for service composition problem as the genes segment, initialize all the possible values of the gene segment, and put them into the genes warehouse. As a result, all the composite strings for the genes warehouse compose the total solution space for the to-be-solved problem. NSA evaluates the QoS of the composite web service by its fitness and takes it as reference for the following immune operation. For example, an antibody vector (3, 2, 5, 1, 0, 3) means there are six tasks in the logical structure of composite service, where task 1 chooses the third candidate service, task 2

123

358

X. Zhao et al.

chooses the second candidate service, and so on. 0 indicates that this task is not included in the service composition. 3.2 Consistency analysis between local fitness of candidate service and QoS of composite service The main motivation for any optimization algorithm is to make its best endeavors to find out the useful information of the global optimum by some local modifications and locate it as accurately as possible and as soon as possible. However, it is a great challenge for any algorithm to deal with such inconsistent situation between the deemed promising local search area and the true global optimum. The inconsistent situation for web service selection will be analyzed and adjusted as follows. 3.2.1 Local fitness of candidate service When a task is executed, the composite system will collect the non-functional information of the candidate services that can complete this task. Then, a quality vector is obtained from each candidate service. Based on these quality vectors, system selects one of the candidate services by applying a multiple criteria decision-making technique [39]. This selection process is based on the weights assigned by user to each criterion, and a set of user-defined constraints are also expressed using a simple expression language. To illustrate the local fitness, four quality dimensions are adopted in this paper. Dimensions are numbered from 1 to 4, with Q 1 = Cost (C), Q 2 = Availability (A), Q 3 = Time (T), and Q 4 = Reliability (R). Given a task ti in a composite service, there is a set of candidate services Si = {si1 , si2 , . . . , si Mi } that can be used to execute this task. By merging the quality vectors of all these candidate services, a matrix Q = {Q ij,k : 1 ≤ j ≤ Mi , 1 ≤ k ≤ 4} is built, in which each row Q ij• corresponds to a candidate service si j while each column corresponds to a quality dimension. Suppose that candidate service si j is chosen to execute task ti and its j j j j j local fitness is calculated by Fi = ω1 Ci + ω2 Ai + ω3 Ti + ω4 Ri , where 1 ≤ j ≤ Mi and j j j j Ci , Ai , Ti , Ri are the QoS values of the j-th candidate service for task ti . The weights of different QoSs embody the relative importance of QoS attributes. Each end user can give his own preference to balance the impact of different criteria. 3.2.2 QoS of composite service Suppose that a composite web service contains N abstract tasks t1 , t2 , . . . , t N and there is a set of candidate services Si = {si1 , si2 , . . . , si Mi } to execute the task ti (1 ≤ i ≤ N ). The aim of web service selection is to find N most suitable candidate services (a best combination) from the candidate service warehouse with a size of M1 × M2 ×· · ·× M N and this composite service execution plan presents the best QoS performance for the end user. The fitness function for one composite service plan is computed as Eq. (6) based on Eqs. (4) and (5). F =

m 

wi Q i = ω1 C + ω2 A + ω3 T + ω4 R = ω1

i=1

+ ω3

k=1 N  k=1

123

N 

Tk + ω4

N k=1

Rk

C k + ω2

N

Ak

k=1

(6)

QoS-aware web service selection

359

3.2.3 Consistency analysis between local exploitation and global evaluation In order to make the local optimization engine consistent with the global planning [39], the weights of the local fitness evaluation for candidate services and the global QoS fitness for a composite service are analyzed and adjusted as follows. The inconsistent reason is that the structures of the local fitness and the global fitness function are different due to the nonlinearity of fitness function. In other words, the marginal utilities of QoS attributes for the candidate services are different from the composite web service. The inconsistent situation emerges from the different evaluations between local search engine and global planning opinion when one independent variable is altered. The algorithm is possible to be wrongly guided to a local optimal solution if the difference between local and global evaluations is too large and it cannot be rectified in the sequel. Supposing that the selected candidate service to execute task ti is changed while other component tasks remain constant. Thus, a different composite service execution plan is obtained in which only the i-th task is executed with a different candidate service. Now how serious inconsistent degree between the local fitness and the global fitness, i.e., the difference in the evolving drives between local exploitation and global exploration, will be analyzed and then adjusted accordingly. The local fitness of abstract task ti (1 ≤ i ≤ N ) with the j-th (1 ≤ j ≤ Mi ) candidate service is expressed as follows: j

j

j

j

j

Fi = ω1 Ci + ω2 Ai + ω3 Ti + ω4 Ri

(7)

The fitness function of a composite service with the j-th candidate service executing task j ti is expressed as follows, where Ci is the QoS value when task ti is executed by the j-th j j j candidate service. The similar meanings are for Ai , Ti and Ri . F = ω 1 C + ω2 A + ω 3 T + ω4 R ⎛ ⎞ ⎛ N N  j = ω1 ⎝ C k + C i ⎠ + ω2 ⎝ k=1,k=i



+ ω4 ⎝

N



A k ⎠ · A i + ω3 ⎝ j

k=1,k=i







N 

j T k + Ti ⎠

k=1,k=i

R k ⎠ · Ri

j

k=1,k=i j

When the inconsistency between the local fitness Fi and the global fitness F is considered, their marginal utilities to four QoS are computed as follows individually. ∂ Fi

j

j ∂Ci

ω2

= ω1 ,

N

k=1,k=i

∂F j ∂ Ti

Ak ,

∂ Fi

j

j ∂ Ai

∂F j ∂ Ti

= ω2 , = ω3 ,

∂ Fi

j

∂ Ti

j

∂F j ∂ Ri

= ω3 ,

= ω4

N

∂ Fi

j

j ∂ Ri

k=1,k=i

= ω4 . However,

∂F j ∂Ci

R k . It is easy to see that

= ω1 ,

∂ Fi

j j

∂Ci

=

∂F j ∂Ci

∂F j ∂ Ai

,

=

∂ Fi

j

∂ Ti

j

=

. It tells us that the local fitness and the global fitness are consistent if one QoS of a com-

posite service is the linear summation of the QoS values of the candidate service from each task. In other words, their marginal utilities are the same. At this time, if the candidate service to execute task ti is substituted by another one, i.e., the local fitness of task ti is changed, the local optimization of a composite service is equivalent to its global planning. However,

∂ Fi

j

j ∂ Ai

=

∂F j ∂ Ai

,

∂ Fi

j

j ∂ Ri

=

∂F j ∂ Ri

j

. That is, the marginal utilities of Fi and F to avail-

ability(A) and reliability(R) are different and the information of the deemed optimal solu-

123

360

X. Zhao et al.

tions between local exploitation and global exploration are inconsistent. In other words, the heuristic information from local optimization is possible to misguide the global planning. For j j example, if Ai varies one unit, the corresponding variations of local fitness Fi and global fitN k ness F are ω2 and ω2 k=1,k=i A , respectively. Thus, different evaluations for this variation will appear in the local and global search engines and algorithm may struggle against this inconsistency. Thus, the optimization process will be delayed for this struggle of standing on the fence. Therefore, the weights of different QoS for local fitness are approximately adjusted as follows. ⎧  ω = ω1 ⎪ ⎪ ⎨ 1 ω2 = ω2 A¯ N −1 (8) ω  = ω3 ⎪ ⎪ ⎩ 3 N −1 ω4 = ω4 R¯ where A¯ and R¯ are the geometric means of the availability and reliability values of all the candidate services of all the tasks in a composite service. ω2 is not exactly equal to N k ¯ N −1 approximately. The reason is that the former is not ω2 ( k=1,k =i A ), but equal to ω2 A a constant, i.e., it depends on the candidate service itself. However, the latter is a constant and it is convenient to use it for the composite service selection problem. If a composite service includes other complicated structure, the aggregation functions of QoS will be composed by the maximizing/minimizing and other operations. Then, the aggregation functions may be not differentiable, even not continuous. However, what we need is to use the final result of Eq. (8) to adjust the weights of different QoS and neglecting all the middle analyzing process. Therefore, the most important is that our analytic result presents a beneficial guidance or heuristic information to the problem solving based on an approximate dealing strategy. j j j Then, local fitness of candidate service j for task ti is calculated by Fi = ω1 Ci + ω2 Ai + j j ω3 Ti + ω4 Ri . The new local fitness function not only reflects the pros and cons of the candidate services when executing the corresponding task, but also can direct a promising exploration direction for algorithm in terms of global search. The modified weights ωk (1 ≤ k ≤ 4) are also denoted as ωk in the paper for convenience. 3.3 Main operations and algorithm flowchart of NSA for service Task is a basic unit of a composite web service, and each task finishes one component function. All these component functions completed by each task comprise a specific composite function which is called as web service composition problem. The QoS of different composition scheme depends on which candidate services are selected to execute the corresponding component functions. Candidate services provided by different service providers have different values of non-functional attributes. QoS gives service providers a significant competitive advantage in the e-business domain, as QoS-aware services meet the user’s needs better and thus attract more customers. Some related parameters and operations for QWSS problem with NSA are introduced as follows: 1. Antibody population G is composed of S (1 ≤ s ≤ S) antibody individuals (solutions); 2. Each composite web service is composed of N (1 ≤ i ≤ N ) component tasks and each of which has Mi (1 ≤ j ≤ Mi ) candidate services execute the i-th component task, i.e., one of the Mi candidate services is chosen for the i-th component task;

123

QoS-aware web service selection

361

3. Fitness function of the s-th composite web service Fs = f itness(G s,• ) is evaluated as equation (6); j 4. Local fitness of the j-th candidate service for the i-th component task f i, j = f (G s,i ) is computed with Eq. (7); 5. Consistence matrix C N ×max{Mi } : Consistence is used to evaluate whether the allele at a locus is excellent or not. Its elements are initialized as positive constants and Ci, j > 0. This matrix plays crucial role on how to select the suitable allele based on the dynamic probabilities. It will be updated after the antibody fitness is modified in the gene warehouse management; 6. Self is used to record those alleles with inferior patterns, i.e., the non-optimal solution space is corresponding to the self-space. It is initialized an empty set and dynamically updated in the gene warehouse management; 7. Self-threshold value α is used to judge if the bad pattern is put into self-space. Selff evaluation value is decided by the local fitness of allele of antibody, i.e., αi, j =  Mii, j . k=1 f i,k

If αi, j is less than the self-threshold α, it is believed to be a bad pattern; 8. Allele selection function, Select(s,i), is a key operation in the gene recombination. A random integer j is generated in [1, Mi ] and the j-th candidate service is chosen from the gene warehouse for the i-th allele (component task) of the s-th antibody according to a dynamic probability. The selection probability of the j-th candidate service for the i-th C ·f allele is computed as Pi j =  Mii, j i, j . k=1 Ci,k · f i,k

9. Abandon operation, Abandon(G), is designed to abandon an inferior antibody in the negative selection-based optimization process. Then, the population size will decrease from S to S  after this operation; 10. Consistence matrix update function, I ncr ease(ρ · Ci,• ), is an important operation in the gene warehouse management and a key operation in the iteration. It is updated according to the following equation. 

Ci, j (iter + 1) = ρ · Ci, j (iter ) +

S 

Ps · Fs , (i = 1, 2, . . . , N ; j = 1, 2, . . . , Mi )

s=1

(9) where iter is the iteration variable and ρ is the attenuation coefficient which is closely pertinent to the convergence of algorithm. Ps = 1 if the j-th candidate service is chosen for the i-th component task in the s-th composite service; otherwise, Ps = 0. 3.4 Algorithm description of NSA for service selection The algorithm flowchart of NSA for service selection is illustrated as Fig. 3. The main operations in the negative selection algorithm are gene recombination, negative selection, and gene warehouse management [9], which are corresponding to step 2, step 3, and step 5 in Fig. 3. They are explained as follows, respectively. Gene recombination: This is referred as antibody/solution forming operation. Based on the allele’s consistence of each gene segment and the dynamic choosing probability of the candidate service, the candidate service is selected from each gene segment from the gene warehouse and an antibody or composite service scheme is obtained. Negative selection: This is referred as the removal operation of poor solution with bad patterns. For the newly obtained antibodies through genes recombination operation, negative

123

362

X. Zhao et al.

Fig. 3 Algorithm description for NSA

selection will remove those poor solutions by self-set which contains the bad patterns of genes. That is, if the solution satisfy the bad patterns in the self-set, the solution is considered as a poor one. The self-set is not initialized, and it is formed dynamically during the solving procedure. It is the foundation of negative selection and can effectively reduce the searching space. Gene warehouse management: This is referred as the self-adaptive regulation operation of the consistence of alleles. The genes warehouse management is to modify the consistence of alleles using the mature antibody, increase the consistence of alleles in excellent antibodies,

123

QoS-aware web service selection

363

and decrease the consistence of alleles in comparably poor antibodies. Its aim is to get better antibodies in the next gene recombination operation.

4 Algorithm and experiment analysis for QWSS problem Negative selection algorithm (NSA) is firstly introduced to web service selection research in this paper and the characteristic definitions and operations of QWSS for NSA are also proposed. On one hand, the aim of this paper is to verify the necessitate and feasibility of negative selection principle for web service selection problem. On the other hand, standard particle swarm optimization [34,42] and clonal selection algorithm [41] are chosen to compare the performance with negative selection algorithm when solving the QoS-aware service selection problem. The reason that three standard intelligent algorithms are chosen is that none extra improvements are adopted in them. A great deal of experimental comparisons have conducted on a wide set of randomly generated problem instances among them under the same simulation conditions. 4.1 Influence analysis of three crucial parameters To evaluate the influence of three important parameters: self-threshold α, non-self-threshold β and attenuation coefficient ρ, experiments are conducted with a moderate scale of web service selection problem including 50 component tasks and 15 candidate services for each task. Antibody population size S = 10, maximal iteration number is 500 and algorithms are independently run 30 times for unprejudiced statistical results. The QoS values of candidate services are randomly and uniformly generated in the interval of [0, 1] as Eqs. (2, 3) indicate. 4.1.1 Parameters influence description Self-threshold α is a lower limit of self-evaluation function values from the alleles with noninferior patterns. It is used to determine whether an allele is inserted into self-set or not. The value of α has important influence on the performance of algorithm. When α is large, the element number in self-set will increase. Accordingly, the negative selection process will abandon more antibodies and the non-self/negative space decreases dramatically. As a result, the convergence of algorithm is accelerated which leads to a low quality of the solution because the larger α is, the more possible it is to delete the optimal solution and a local optimum is arrived. Non-self-threshold β is an upper limit of the number of bad patterns that an antibody contains. It is used to determine which genes are deleted from antibody population. The elimination strategy can be explained as follows. If there are more than β genes in the selfset in an antibody, the antibody is regarded to be recognized and then removed. Different from α, it is inclined to keep more antibodies with the increase of β. Of course, the convergence speed of algorithm will decrease accordingly. Attenuation coefficient ρ is to measure the inertia of the consistence matrix. When ρ is equal to 1, the inertia of the consistence matrix is the same. At this time, algorithm converges slowly and has a steady performance [9]. However, when ρ is relatively small (maybe 0.5∼0.9), the inertia of the consistence matrix will decrease. Algorithm will converge rapidly, and its performance will not be steady any more. In general, the average results with attenuation are poorer than those without attenuation [9]. This is because that under the case of attenuation, the density for those poorer genes will decrease rapidly. The selection probabil-

123

364

X. Zhao et al.

Fig. 4 Different combination comparison of 3 parameters for NSA. a K, b β, c ρ Table 2 Time costs (ms) comparison per iteration of different values of K, β, and ρ

(β = 1; ρ = 1)K

2

20

Time costs (ms)/iteration

38.69

54.61

53.82

(K = 20; ρ = 1)β

1

10

20

200

Time costs (ms)/iteration

54.41

54.32

54.80

(K = 20; β = 1)ρ

1

0.9

0.5

Time costs (ms)/iteration

54.63

55.70

55.48

ities of excellent genes are increased and then leads to a rapid converging speed of antibody population. But, if the excellent genes have not been selected, the density of the gene will attenuate naturally, and the probability for it being selected will become even smaller for the next time. Therefore, in the case of attenuation, the normal results are poorer than the case without attenuation.

4.1.2 Parameters influence analysis Based on the characteristic analysis of the web service selection problem and negative selec1 tion mechanism, self-threshold α is adjusted according to α = K ×Candidate_number . Therefore, parameters K, β and ρ will be analyzed and one best combination of them will be empirically chosen for NSA to solve QWSS problem, which are presented in Table 2 and Fig. 4. The curves in the Fig. 4 are the average best fitness in 30 independent runs per iteration versus iteration numbers. Figure 4a indicates that the performance of algorithm with K = 2 is greatly worse than those with K = 20 and K = 200. It also illustrates that the results with K = 20 are a little better than those with K = 200. Table 2 illustrates that the cost time with K = 2 is obviously less than those with K = 20 and K = 200. The reason is that the less K is, the more antibodies are eliminated and accordingly, the solution space becomes smaller. Figure 4b and Table 2 indicate that non-self-threshold β hardly has clear influence on the solution accuracy and computing efficiency. In fact, the eliminated antibody genes cannot be too much for the relative small antibody population. Therefore, β affects the negative selection strategy slightly. As a result, it has little effects on the convergence and efficiency. Table 2 tells us that the computing time per iteration of three choices for ρ are comparable. As far as algorithmic accuracy (Fig. 4c) is concerned, it is clear to say that ρ = 0.9 is a best choice for the web service selection problem. The present numerical simulation also supports the analysis in the last subsection.

123

QoS-aware web service selection

365

Table 3 Parameter setting of different algorithms Algorithm

Population size

α

β

ρ

NSA+

10

K = 20

1

0.9

NSAo

10

K = 20

1

0.9

PSO

18

CSA

8

Mutate rate

Cloning numbers

0.25

4

4.2 Experimental comparisons with other metaheuristic algorithms 4.2.1 Experiments preparation Standard particle swarm optimization (PSO) and clonal selection immune algorithm (CSA) are chosen for comparisons because NSA is also a fundamental metaheuristic algorithm without any extra improved strategies. Of course, any improved strategy for NSA is welcome for even more encouraging results in the later research. In order to check the consistency weights in Eq. (8), NSA for QWSS are denoted as NSAo and NSA+ for without and with consistency weights adjusting strategy. That is, NSAo is only another mark of NSA. One thing should be pointed out that the only difference between NSA+ and NSAo is their weights for the local fitness of the selected candidate services. That is, the computation complexity of NSA+ is the same as that of NSAo. The parameters are referred as subsection 4.1 except for the component task numbers of QWSS. In order to validate the necessitate and feasibility of negative selection principle for this question, various scales of QWSS instances are adopted for performance comparison, whose task numbers are 20, 50, 80, and 110 and each task has 15 candidate services. Considering the difference of algorithmic operations of different algorithms, the related parameters are chosen as Table 3 after numerous simulations so as to keep the difference of computing costs of different algorithms to minimal. The blank cells indicate that the corresponding algorithm does not include that operation. 4.2.2 Performance comparison and analysis for QWSS Comparisons on the average online evolutionary performance among NSA+, NSAo, PSO, and CSA in 30 independent runs are presented in Fig. 5. The aim is to graphically present the average evolutionary performance comparisons when solving QoS-aware web service selection problems besides the final results. The abscissa stands for the iteration numbers and the vertical axis denotes the average best fitness values per iteration over 30 runs. Table 4 presents the final average best results and CPU execution time per iteration of various scales of composite services for different algorithms. Generally speaking, the convergence speed of NSA (including NSA+ and NSAo) and CSA is much faster than that of PSO. NSA+, i.e., NSA with consistency weights adjusting strategy, has an outstanding performance in terms of convergence speed and solution quality, especially for large size problems. NSA+ can give a very adjacent result to the final solution if the maximal iteration number was set to 100 (even smaller) in the practical situations. The results of the two-tailed test in Table 4 also support the above claims. As far as the solution quality is concerned, Fig. 5a indicates that CSA performs best for small-scale QWSS problem (20 tasks). However, NSA+ and NSAo performs significantly bet-

123

366

X. Zhao et al.

Fig. 5 Average evolutionary behavior comparisons among NSA+, NSAo, PSO, and CSA with composite web service instances with 20, 50, 80, and 110 tasks. a 20 tasks, b 50 tasks, c 80 tasks, d 110 tasks Table 4 Average best results in 30 runs and average CPU time per iteration of different algorithms for QWSS with 20, 50, 80, and 110 tasks and 15 candidate services Algorithm

Average best results

Average CPU time(ms) per iteration

NSA+

8.56

21.08

33.41

44.53

10.11

25.43

39.39

53.69

NSAo

8.38

19.89

31.47

41.75

9.94

25.11

39.31

53.89

NSA+/NSAo†

6.6159

19.2173

19.8038

20.5951

PSO

8.43

19.35

29.31

37.86

9.79

21.54

35.38

48.57

NSA+/PSO†

3.7915

14.4521

21.4592

31.4621 9.97

22.06

35.69

47.89

50

80

CSA

8.71

19.55

29.48

38.14

NSA+/CSA†

−7.7855

32.8184

43.3766

61.4063

Tasks

20

50

80

110

20

110

† the value of t with 29 degrees of freedom is significant at α = 0.05 by a two-tailed test

ter than CSA and PSO for the mediate to large-scale problems, which can be clearly observed from Fig. 5b–d, especially for NSA+. Figure 5 also illustrates that NSA+ outperforms NSAo for all the QWSS problems, which indicates that the consistency weights adjusting strategy is assuredly effective, although nearly none extra computing costs are introduced. Furthermore, this strategy is a general method which is independent of algorithms. The final solution quality of CSA and PSO, i.e., the attainable precision, is comparable, which can also be seen from Table 4. The relative inferior performance of NSAo in small-scale question is actually decided by the search mechanism of negative selection principle. The negative search process is achieved by abandoning some candidate services with bad patterns and gradually shrinking the valid search space. However, it sometimes causes some damages to the fitness of composite web

123

QoS-aware web service selection

367

services for small-scale problems, and once an excellent candidate service is eliminated from search space. This impact will greatly weaken with the increase of problem size, which can be seen from Fig. 5b–d. At this time, the local operation leads slighter and slighter influence on the global search when problem size is increasing. The effects of applying negative selection principle to filter the antibodies, i.e., expanding self-space and refining the searching space, are obviously boosted. As far as converging speed is concerned, NSA+ is fastest, NSAo and CSA are the next and PSO is lowest, which is decided by the inherent search mechanisms of different algorithms. NSA expands self-space to gradually reduce the search space every iteration. The truly optimal or excellent solutions are possible to be wrongly matched by inferior patterns and deleted from the search space. However, the numbers of optimal and excellent composite web services will increase for more component tasks and large search space. So at least one excellent solution is very possible to be found and the solution quality therefore is much better than those of PSO and CSA. NSA+ outperforms NSAo in terms of efficiency and efficacy which is mostly driven and guided by the consistency weights adjusting strategy. It attains the aim of utilizing the characteristic domain information for the immune optimization algorithm under the condition of without introducing any extra computing costs. The core of CSA is that it will add some excellent genes to antibody population proportionally through cloning operation to keep the evolving inertia of antibody population and subsequently accelerates the converging speed. At the same time, the hypermutation operation applied to the cloned genes (usually the better genes, the more copies) can keep population diversity well to a certain extent and enlarges the exploration areas accordingly. CSA considers evolving inertia and population diversity simultaneously which makes a compromise between them, which is the internal drive to outperform PSO. PSO defines the optimal solution by communication among particles and elitist learning from the current best particle. Therefore, it can keep the inertia of population evolving well. However, its search engine is a little mechanical and the possible converging speed to the best solution is much slower than other algorithms, especially at the initial stage of algorithm. However, as Fig. 5 illustrates, PSO can maintain continuous evolving drives even to the final stage of algorithm. 4.3 Efficacy/efficiency comparisons The average final results in 30 runs versus task numbers are adopted to evaluate the efficacy of different algorithms. This group of experiment aims to observe the changing trends of algorithmic performance with the increase of the component tasks. Two evaluation criteria are considered for algorithmic efficiency. One is the required iteration numbers when algorithm terminates, which acts as an evaluation criterion for converging speed. The other is the average CPU execution time per iteration which acts as an evaluation criterion for actual efficiency. The efficacy and efficiency comparisons among NSA+, NSAo, PSO, and CSA are presented in Table 4 and Fig. 6. Figure 6 tells us how the problem scale influences the final results and the execution CPU time of algorithms, and finally, the mutual changing relation between themselves. Observed from Fig. 6a, b, we can see that both the fitness values and the average CPU time per iteration are approximately in direct ratios with the problem scale. It indicates that the performance of algorithms is not greatly influenced by the problem scale. However, Fig. 6a clearly demonstrates that the slopes of NSAo and NSA+ are larger than those of CSA and PSO, i.e., the increasing extents of average results of NSAo and NSA+ exceed those of

123

368

X. Zhao et al.

Fig. 6 Efficacy and efficiency comparisons among NSA+, NSAo, PSO, and CSA for QWSS with 20, 50, 80, and 110 tasks. a fitness versus task number, b time per iteration versus task number, c efficacy/efficiency versus task number

CSA and PSO, which indicates a promising potential for large scale of QWSS problems for negative selection principle. Figure 6c is curved with ratios of the best fitness values and CPU time per iteration versus problem scales to assess the relative efficacy and efficiency of algorithms. It is easy to see that the ratios of efficacy/efficiency of four algorithms are all declining with the increase of problem scales. However, the ratios of efficacy/efficiency of NSA+ and NSAo decrease slower than those of CSA and PSO, which demonstrate a relative steady ratio between efficacy and efficiency, especially for NSA+. As far as CSA and PSO are considered, their ratios of efficacy/efficiency are comparable, although the ratio of PSO decreases a bit faster than that of CSA. This phenomena indicates an excellent trade-off between precision in calculation and solving efficacy/efficiency of negative selection principle. Decreasing performance of PSO shows that standard PSO is perhaps not suitable for large scale of QWSS problems. The relative performance (ratio of efficacy and efficiency) of CSA is in the median of NSA and PSO. The explicit difference between NSA+ and NSAo shows that the consistency weights adjusting strategy has important influence on algorithms. 4.4 Performance comparison for QWSS with more iterations 4.4.1 Maximal iteration is 1,000 From the performance comparison in Subsection-4.2.2, we can see that PSO also maintains continuous evolving drives even at the final stage of algorithm. So in this subsection, another group of experiment is presented with the maximal iteration number 1,000 and other para-

123

QoS-aware web service selection

369

Fig. 7 Average evolutionary behavior comparisons among NSA+, NSAo, PSO, and CSA with 15 candidate services and maximal iteration number 1,000. a 20 tasks, b 50 tasks, c 80 tasks, d 110 tasks

meters remain unchanged. The aim is to verify whether the performance PSO can exceed other algorithms. The performance comparison is found in Fig. 7. The general performance of algorithms in this group of experiment is similar with the performance of Fig. 5. CSA performs best for 20 component tasks, and NSA+ greatly outperforms others for the large-scale service selection problems. Again, NSA+ has an outstanding performance in terms of convergence speed and solution quality, especially for large-scale problems. However, PSO also maintains an increasing trend when algorithm terminates. However, there are also a little difference between Figs. 5 and 7 . Firstly, PSO outperforms CSA for 50, 80, and 110 component tasks. Secondly, PSO outperforms NSAo for 50 component tasks.

4.4.2 Maximal iteration is 2,000 In order to avoid the doubt whether PSO can surpass NSA+ for large-scale problems, this subsection presents another group of experiment with maximal iteration 2,000 for 80 and 110 tasks. The average fitness evolving performance comparison is found in Fig. 8. Figure 8 tells us that NSA+ still outperforms all other algorithms and PSO takes the second place with 2,000 iterations when algorithms terminate. In a word, NSA+ performs best in terms of computing efficiency and solution quality. PSO converges most slowly; however, it maybe provide competitive solution if there are “enough” execution time. However, it is not practical to arrive a satisfactory solution with limited time. As far as immune-based optimization algorithms are concerned, NSA+, NSAo, and CSA converge very quickly and can give the satisfactory results with a rather short time. The immune optimization algorithms, especially NSA+, fit the dynamic or changing environment problem.

123

370

X. Zhao et al.

Fig. 8 Average online evolutionary behavior comparisons among NSA+, NSAo, PSO, and CSA with 15 candidate services and maximal iteration number 2,000. a 80 tasks, b 110 tasks

Fig. 9 Average evolutionary behavior comparisons among NSA+, NSAo, PSO, and CSA with 30 candidate services and maximal iteration number 500. a 20 tasks, b 50 tasks, c 80 tasks, d 110 tasks

4.5 Performance comparison for QWSS with more candidate services All the above experimental comparison are based on various scales of benchmarks; however, there are a constant (15) of candidate services to execute the same component task. NSA+ always performs best in terms of computing efficiency and solution quality for all these experiments, especially for large-scale problems. Will NSA+ remain the same competitive performance with even more candidate services to execute a component task? This group of experiment is presented to avoid this doubt with 30 candidate services, maximal iteration variable 500, and other parameters remain unchanged. The performance comparison is found in Fig. 9. Observed from Fig. 9, the general performance of four algorithms in this group of experiment is also similar with that of Fig. 5. CSA performs best for 20 component tasks and NSA+ greatly outperforms others for 50, 80, and 110 tasks. NSA+ has an even more explicit superiority over NSAo, CSA, and PSO in terms of convergence speed and solution quality than those of Figs. 5 and 7 for 50, 80, and 110 tasks.

123

QoS-aware web service selection

371

However, there are some evident difference when comparing Fig. 9 with Figs. 7 and 5. Firstly, PSO lags behind its competitors more clearly for all the questions. Secondly, the evolving curve of PSO does not remain explicit increasing trend any more as Figs. 5 and 7. All the difference should attribute to the expanding search space. Take 20 component tasks as example, the solution spaces are 1520 for 15 candidate services and 3020 for 30 candidate services, respectively. It is obvious that the solution space is greatly expanded with more candidate services. However, the critical point of negative selection algorithm (including NSAo and NSA+) is to abandon a part “inferior” solutions with bad patterns every iteration and the search space to NSA is gradually decreasing. So the performance of NSAo and NSA+ are not affected. All these experiments indicate that negative selection principle inherently suits to the web service selection problem than other computation paradigms and consistency weights adjusting strategy is simple and effective. 5 Conclusions and future work Based on the negative selection principle, a negative selection immune optimization algorithm (NSA) is proposed for the QoS-aware web service selection problem. Extracting the characteristic information of QWSS from the marginal utility of the global fitness and local fitness functions, a more appropriate consistency weights adjusting strategy for QWSS is utilized to enhance and broaden the research scope of NSA, which is denoted as NSA+. Comparisons with PSO and CSA indicate that NSA+ outperform NSAo, PSO, and CSA without introducing any expensive computing costs. NSA+ shows an even more enhanced performance in terms of computing efficiency and solution quality in all the experimental comparisons. Its excellent performance illustrates that NSA+ is especially suitable for large-scale problem solving and dynamic changing problem. More effective strategies and more domain information will be considered for further research and even more powerful solving methods may be arrived in future. QWSS under dynamic or uncertain environment is another interest. Acknowledgments This research is supported by National Natural Science Foundation of China (61105127, 71171079). We will also awfully thank the reviewers’ helpful and constructive comments and suggestions.

References 1. Ai LF, Tang ML, Fidge C (2011) Partitioning composite web services for decentralized execution using a genetic algorithm. Future Gener Comput Syst 27:157–172 2. Alonso G, Casati F, Kuno H, Machiraju V (2003) Web services. Springer, Berlin 3. Ardagna D, Pernici B (2007) Adaptive service composition in flexible processes. IEEE Trans Softw Eng 33(6):369–384 4. Berbner R, Spahn M, Repp N et al (2006) Heuristics for QoS-aware web service composition. In: IEEE international conference on web services (ICWS06) 5. Blau B, Conte T (2011) Contracting co-opetitive in service value networks. In: 2011 IEEE conference on commerce and enterprise, computing, pp 173–178 6. Blau B, Krämer J, Conte T, van Dinther C (2009) Service value networks. In: 2009 IEEE conference on commerce and enterprise computing, pp 194–201 7. Chan WKV, Hsu C (2012) Service value networks: humans hypernetwork to cocreate value. IEEE Trans Syst Man Cybern A Syst Hum 42(4):802–913 8. Chen BL (2006) Optimization theory and algorithm, 2nd edn. Tsinghua University Press, Beijing 9. Cao XB, Qiao H, Xu YW (2007) Negative selection based immune optimization. Adv Eng Softw 38:649– 656 10. Das S, Suganthan PN (2011) Differential evolution: a survey of the state-of-the-art. IEEE Trans Evol Comput 15(1):4–31

123

372

X. Zhao et al.

11. Dasgupta D, Yu S, Nino F (2011) Recent advances in artificial immune systems: models and applications. Appl Soft Comput 11:1574–1587 12. de Castro LN, Timmis JI (2002) Artificial immune systems: a new vomputational intelligence paradigm. Springer, Berlin 13. de Castro LN, von Zuben FJ (2002) Learning and optimization using the clonal selection principle. IEEE Trans Evol Comput 6(3):239–251 14. De Jong KA (2007) Evolutionary computation: a unified approach. The MIT Press, Cambridge, MA 15. Di XF, Fan YS, Shen YM (2011) Local martingale difference approach for service selection with dynamic QoS. Comput Math Appl 61(9):2638–2646 16. Fan XQ, Fang XW, Jiang CJ (2011) Research on Web service selection based on cooperative evolution. Expert Syst Appl 38:9736–9743 17. Haak S, Blau B (2012) Efficient QoS aggregation in service value networks. In: 2012 45th Hawaii international conference on system sciences, pp 1512–1521 18. Hu CH, Chen XH, Liang XM (2009) Dynamic services selection algorithm in web services composition supporting cross-enterprises collaboration. J Cent South Univ Technol 2:269–274 19. Kouchakpour P, Zaknich A, Braunl T (2009) A survey and taxonomy of performance improvement of canonical genetic programming. Knowl Inf Syst 21(1):1–39 20. Laurentys CA, Ronacher G, Palhares RM, Caminhas WM (2010) Design of an artificial immune system for fault detection: a negative selection approach. Expert Syst Appl 37:5507–5513 21. Liang W-Y, Huang C-C (2009) The generic genetic algorithm incorporates with rough set theory—an application of the web services composition. Expert Syst Appl 36:5549–5556 22. Luo YS, Qi Y, Hou D et al (2011) A novel heuristic algorithm for QoS-aware end-to-end service composition. Comput Commun 34(9):1137–1144 23. Ma Y, Zhang CW (2008) Quick convergence of genetic algorithm for QoS-driven web service selection. Comput Netw 52(5):1093–1104 24. Menascé DA, Casalicchio E, Dubey V (2010) On optimal service selection in service oriented architectures. Perform Eval 67:659–675 25. Pop CB, Chifu VR, Salomie I, Dinsoreanu M (2009) Optimal web service composition method based on an enhanced planning graph and using an immune-inspired algorithm. In: IEEE 5th international conference on intelligent computer communication and processing, pp 291–298 26. Qi LY, Dou WC, Zhang XY, Chen JJ (2012) A QoS-aware composition method supporting cross-platform service invocation in cloud environment. J Comput Syst Sci 78:1316–1329 27. Salomie I, Vlad M, Chifu VR, Pop CB (2011) Hybrid immune-inspired method for selecting the optimal or a near-optimal service composition. In: Proceedings of the federated conference on computer science and, information systems, pp 997–1003 28. Skoutas D, Sacharidis D, Simitsis A, Sellis T (2010) Ranking and clustering web services using multicriteria dominance relationships. IEEE Trans Serv Comput 3(3):163–177 29. Song S, Lee S-W (2012) A goal-driven approach for adaptive service composition using planning. Math Comput Model. doi:10.1016/j.mcm.2012.08.007 30. Sun SX, Zhao J (2012) A decomposition-based approach for service composition with global QoS guarantees. Inf Sci 199:138–153 31. Surace C, Worden K (2010) Novelty detection in a changing environment: a negative selection approach. Mech Syst Signal Process 24:1114–1128 32. Tsesmetzis D, Roussaki I, Sykas E (2008) QoS-aware service evaluation and selection. Eur J Oper Res 191:1101–1112 33. Wang P, Chao K-M, Lo C-C (2010) On optimal decision for QoS-aware composite service selection. Expert Syst Appl 37:440–449 34. Wang WB, Sun QB, Yang FC, Zhao XC (2010) An improved particle swarm optimization algorithm for QoS-aware web service selection in service oriented communication. Int J Comput Intell Syst 4(s):18–30 35. Wang ZJ, Liu ZZ, Zhou XF, Lou YS (2011) An approach for composite web service selection based on DGQoS. Int J Adv Manuf Technol 56:1167–1179 36. Xiao J, Boutaba R (2005) QoS-aware service composition and adaptation in autonomic communication. IEEE J Sel Areas Commun 23(12):2344–2360 37. Xu JY, Reiff-Marganiec S (2008) Towards heuristic web services composition using immune algorithm. In: 2008 IEEE international conference on web services, pp 238–245 38. Yu T, Zhang Y, Lin K-J (2007) Efficient algorithms for web services selection with end-to-end QoS constraints. ACM Trans Web 1(1), Article 6, 26 pages 39. Zeng LZ, Benatallah B, Ngu Anne HH et al (2004) QoS-aware middleware for web services composition. IEEE Trans Softw Eng 30(5):311–327

123

QoS-aware web service selection

373

40. Zhan ZH, Zhang J, Li Y et al (2011) Orthogonal learning particle swarm optimization. IEEE Trans Evol Comput 15(6):832–847 41. Zhao XC, Huang PY, Liu TT, Li XM (2012) A hybrid clonal selection algorithm for quality of serviceaware web service selection problem. Int J Innov Comput Inf Control 8(12):8527–8544 42. Zhao XC, Song BQ, Huang PY et al (2012) An improved discrete immune optimization algorithm based on PSO for QoS-driven web service composition. Appl Soft Comput 12(8):2208–2216

Author Biographies Xinchao Zhao is currently an Associate Professor at the School of Science, Beijing University of Posts and Telecommunications, Beijing, China. He received B.S. and M.S. degrees from the Capital Normal University, Beijing, China, in 1999 and 2002, Ph.D. degree from the Key Laboratory of Mathematics Mechanization, Chinese Academy of Sciences, Beijing, China, in 2005. His main research interests include swarm intelligence, evolutionary computation, operations research, and engineering applications.

Zichao Wen received a B.S. degree, with an outstanding undergraduate graduation thesis, from Beijing University of Posts and Telecommunications, Beijing, China, in 2011. He is currently pursuing his Ph.D. degree at the Key Laboratory of Mathematics Mechanization, Chinese Academy of Sciences, Beijing, China. His research interests include computer mathematics.

Xingmei Li is an Associate Professor of School of Economics and Management, North China Electric Power University. She teaches Operations Research and Technical economics. She is currently visiting EDWARD P. FITTS, Department of Industrial and Systems Engineering, and her supervisor is Dr. Shu-cherng Fang. She received the B.S. and M.S. in mathematics from Beijing and Capital Normal University, respectively, and Ph.D. in management science from the North China Electric Power University. Her current research interests are in the area of Project Portfolio Selection, Project Scheduling, Project Planning, Human Factors in Project Management, etc. She has published more than 20 papers in various journals. She is a member of Chinese Society of Optimization, Overall Planning, and Economic Mathematics.

123

Suggest Documents