QoS-aware service evaluation and selection

QoS-aware service evaluation and selection

Available online at www.sciencedirect.com European Journal of Operational Research 191 (2008) 1101–1112 www.elsevier.com/locate/ejor QoS-aware servi...

1MB Sizes 3 Downloads 122 Views

Available online at www.sciencedirect.com

European Journal of Operational Research 191 (2008) 1101–1112 www.elsevier.com/locate/ejor

QoS-aware service evaluation and selection Dimitrios Tsesmetzis, Ioanna Roussaki *, Efstathios Sykas National Technical University of Athens, Computer Science Division, 9 Heroon Polytechneiou Str, Zographou 15773, Athens, Greece Available online 20 July 2007

Abstract Making the provision of services QoS-aware is to the advantage of both clients and providers in the e-business domain. This paper studies the problem of providers that receive multiple concurrent requests for services demonstrating different QoS properties. It introduces the ‘‘Selective Multiple Choice Knapsack Problem’’ that aims to identify the services, which should be delivered in order to maximise the provider’s profit, subject to maximum bandwidth constraints. This problem is solved by a proposed algorithm that has been empirically evaluated via numerous experiments.  2007 Elsevier B.V. All rights reserved. Keywords: Integer programming; Profit maximisation; QoS-aware service selection; Selective multiple choice knapsack problem

1. Introduction In the e-business domain, service providers offer different service versions in order to meet the varying requirements of their customers. This has become a common practice that is based on the creation of distinguished service levels, each demonstrating different quality of service (QoS) and being offered at a different price. QoS, which defines service features such as bandwidth, latency, and reliability, is critical for web applications, especially the ones that deliver multimedia content, provide realtime information, are strongly dependent on timely

* Corresponding author. Tel: +30 210 772 24 22; fax: +30 210 772 25 30. E-mail addresses: [email protected] (D. Tsesmetzis), [email protected] (I. Roussaki), [email protected] (E. Sykas).

responses, or involve the interaction of multiple parties on a real-time basis (e.g. interactive gaming). Making the provision of services QoS-aware is to the advantage of both clients and providers (Menasce´, 2002). QoS is crucial in determining which service best addresses the clients’ desires and objectives. If the discovered services are provided in various versions, each demonstrating a different set of non-functional properties, then the automated service selection and composition that take place, may consider the clients’ QoS preferences in order to optimise their experience regarding features such as performance, security, integrity, and cost. On the other hand, QoS can give service providers a significant competitive advantage in the e-business domain, as QoS-aware services meet the user needs better and thus attract more customers. Moreover, QoS-awareness in service provision, coupled with dynamic network resource allocation mechanisms, enables providers to maximise the utilisation of

0377-2217/$ - see front matter  2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2007.07.015

1102

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

their infrastructure, thus contributing to the increase of their profits. This paper studies the problem of service providers that receive multiple concurrent requests for services demonstrating different QoS properties. The paper focuses on two of these properties and addresses the case where the available services (or service versions) require specific bandwidth and are offered at a certain cost. Given that the overall bandwidth the provider is able to support is limited by a specific upper bound, the objective of the problem studied is the selection of the most suitable services to be delivered to the clients in order to maximise the provider’s profit, not aiming to necessarily serve the entire set of service requests received. This problem is introduced as the ‘‘Selective Multiple Choice Knapsack Problem’’ (SMCKP) and is solved by an algorithm inspired by the family of Knapsack problem algorithms (Pisinger, 1995). The rest of the paper is structured as follows. Section 2 studies the framework of the QoS-aware service selection problem and provides a formal statement for the SMCKP. Section 3 introduces the algorithm designed to solve the SMCKP and studies its complexity. Section 4 evaluates the performance of the proposed algorithm and presents the families of experiments that have been conducted for this purpose. Section 5 introduces the related research work, and Section 6 draws conclusions and presents our future plans. 2. The problem framework

perspective, the proposed algorithm attempts to maximise its profit, whereas it’s not required that all client requests are served. It is assumed that the set of services (or service versions) addressing the functional requirements of the service requests has already been identified during the core service discovery phase (Amigo-D3.3, 2006). Of course, the sets of services that are appropriate for each service request are not necessarily identical. The QSASS problem can be formally stated as follows: Given: (i) A service provider able to support BWmax bandwidth, (ii) N requests for service delivery from this service provider, (iii) N sets of services, each addressing the functional requirements of a specific service request, (iv) the price of each service in the aforementioned sets, and (v) the bandwidth required for the delivery of each of these services, find: the single services that have to be selected from each set (one service per set) in order to maximise provider’s profit, while the overall bandwidth constraint is addressed. The QSASS problem can be expressed as an integer programming problem as follows: ( ) Mi N X X Maximise f profit ¼ Dij pij ð1Þ subject to

N X

(

i¼1 Mi X

i¼1 Mi X

Dij bij

j¼1

)

6 BWmax

ð2Þ

j¼1

Dij 6 1 i ¼ 1; 2; . . . ; N

ð3Þ

j¼1

In this section, the essence of the QoS-aware service selection (QSASS) problem is described, while a formal problem statement is provided. This problem is concerned with a service provider that offers various services to its clients. Different versions of these services may be available, each requiring specific bandwidth and being offered at a certain cost. It is assumed that the services are provided by a service platform hosted by a single node. The overall bandwidth that this node is able to support is limited by a specific upper bound. There are numerous clients requesting services from the service provider. In this framework, the QSASS problem focuses on the selection of the most suitable services to be provided to the clients aiming to maximise the profit of the provider, while the overall bandwidth required for the provision of the selected services does not exceed the provider’s maximum bandwidth supported. As the QSASS problem is studied from the provider’s

Dij 2 f0; 1g i ¼ 1; 2; . . . ; N ;

j 2 Mi ð4Þ

where N is the number of service requests that need to be served concurrently, i is the service request index, Mi is the number of services addressing the functional requirements of i service request, j is the index of the services offered by the service provider, ij is the index of the services that address the functional requirements of i service request, pij is the price of service ij, and bij is the bandwidth required for the delivery of service ij. Parameter Dij is the decision variable that indicates whether service j that addresses the functional requirements of service request i is finally selected or not. In case service ij is selected, then Dij = 1, while if service ij is not selected for delivery, then Dij = 0. Eq. (1) expresses the fact that the main objective of the QSASS problem is to maximise the profit of the provider.

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

Constraint (2) must hold so that the bandwidth required for the concurrent delivery of all selected services is below the maximum acceptable bandwidth threshold. Constraint (3) indicates that it is not necessary for all service requests to be served. It has to be mentioned that in case (3) was an equality constraint (i.e. in case all service requests would have to be served), then this problem would be reduced to the well-known Multiple Choice Knapsack Problem (MCKP) (Pisinger, 1995). Thus, we will hereafter refer to the presented problem as: ‘‘Selective Multiple Choice Knapsack Problem’’ (SMCKP). As already mentioned, this problem is applicable to domains such as the provision of services that deliver multimedia content, provide realtime information, are strongly depending on timely responses, or require real-time interaction of multiple parties.

( bc ¼

min k :

) ð6Þ

biji > BWmax

i¼1

The services selected for requests i, where 1 6 i 6 bc  1, construct the initial (break) solution of the SMCKP. Subsequently, the proposed algorithm aims to improve this solution by adding some extra services. Of course, this addition will include not only the services of Eq. (5) (i.e. services maxip mising ratio bijij for each request), but all services that address the functional requirements of the requests. The proposed algorithm continues with the definition of the Upper (UB) and Lower Bound (LB) (Dantzig, 1957; Dembo and Hammer, 1980) of the maximum profit of the provider: ! bX c1 bX c1 pbcjbc UB ¼ piji þ BWmax  biji ð7Þ bbcjbc i¼1 i¼1 bX c1

LB ¼

3. Solving the SMCKP

k X

1103

piji þ pljl ;

i¼1

This section aims to present the rationale of the algorithm designed to solve the SMCKP and study its complexity. The proposed approach is based on the solutions that have been provided for the problems of the Knapsack family (Martello and Toth, 1990; Pisinger, 1995). The rationale of the proposed algorithm that solves the SMCKP is described below. Initially, for all services that address the funcp tional requirements of each request ratio bijij is estimated. For each request the service that maximises this ratio is selected. Thus, if for request i, service ji is selected, then the following must hold: piji p P bijij , "j 5 ji (j = 1, 2, . . . , Mi). After the identifibiji cation of these services, the incoming requests are sorted in a descending order based on the value of p ratio bijiji as follows: i

pNj p1j1 p2j P 2 P  P N ; b1j1 b2j2 bNjN

ji 6 M i

ð5Þ

Once this is accomplished, the break class is identified in a way similar to the Knapsack Problem (KP) solutions (Horowitz and Sahni, 1974; Pisinger, 1995) that are based on the identification of the break item. It should be mentioned here that in our approach we have replaced the break item term with the break class term, as in our case we have a set of services that address the requirements of each request. For the break class bc the following must hold:

where ( l¼

min k :

bX c1

)

ð8Þ

biji þ bkjk 6 BWmax

i¼1

The UB is calculated as the sum of the price of the selected services that construct the break solution, plus a portion of the price of the service of the break class. This portion is selected so that all the available bandwidth of the provider is consumed. On the other hand, the LB is calculated as the sum of the price of the selected services that construct the break solution plus the price of the first service at the ‘‘right’’ of the break class (according to Eq. (5)), which does not exceed the provider’s available bandwidth. In the proposed algorithm, the core is defined as a percentage of the sets of services that are placed at the right of the break class. This definition is altered with regards to the one used by the algorithms for the KP, where the definition of the core is a symmetric domain (Pisinger, 1995) around the break item. The reason such an approach is adopted is mainly that our scheme aims to minimize the complexity and thus the response time of the solution algorithm. After the definition of the core, the following steps take place. For all requests that belong to the core, all the services are sorted in ascending order based on the bandwidth they require, so that: i < j () bki 6 bkj

ð9Þ

1104

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

where index k indicates the request and indices i and j indicate the services that match the requirements of request k. After this ordering takes place, the services for which the following Eq. (10) holds are removed from the set of candidate services: if pki > pkj

then Dkj ¼ 0

ð10Þ

The above formula (Sinha and Zoltners, 1979) removes the services that on the one hand are charged for less (Eq. (10)) and on the other hand require more bandwidth (Eq. (9)). Thus, the services removed are the ones that the provider would not prefer to deliver to its clients as they bring little profit and consume a lot of resources. After the removal of these services takes place, the algorithm continues with the creation of a matrix where all the remaining core services are placed and sorted in a descending order based on the value of the service price. Subsequently, further filtering takes place and additional services are removed. For the services that are removed from the matrix the following expression holds: if bkj > BWmax 

bX c1

bij

then Dkj ¼ 0

ð11Þ

i¼1;j2M i

This equation removes the services that require bandwidth more than what is available by the provider and thus they can not be added. In order for the proposed algorithm to terminate, every object in the created matrix is examined and every service, the bandwidth of which does not exceed the available one, is added. Special attention has to be taken for those services that belong to the same set of services, thus serving the same request. Only the first service (from each set of services) for each request can be added. The proposed algorithm ignores all the remaining services as they bring less profit to the provider than the first one. The algorithm finally terminates when all the services in the matrix are examined. The algorithm steps that have taken place are quite different from the ones that are followed by the KP algorithms. This is due to the fact that the definition of the core is different (Balas and Zemel, 1980; Pisinger, 1995). Thus, whereas in the KP there are replacements and swaps between services that are placed symmetric to the break item, for solving the SMCKP, the proposed algorithm does not examine the services that are placed at the left of the break class. Instead, via further filtering and reordering of the services that are placed at the right

of the break class, it identifies the appropriate services that are added to the initial (break) solution. Concerning the complexity of the algorithm, the theoretical estimation is between O(n log n) and O(n2). The main overhead of the algorithm is caused at the first step where the ordering of the services, which will construct the break solution, takes place. The ordering algorithm we have selected to use is QuickSort (Hoare, 1962), the complexity of which lies between the aforementioned values (Cormen et al., 1990). The complexity overhead introduced by the subsequent orderings that take place is not significant and thus, it can safely be ignored. For example, consider the situation where the number of requests is N. If we define (i) the core size as the 10% of the value of the break class and (ii) the available bandwidth of the provider to be so high that in the break solution half of the requests are served (which is considerably high), then the core N would have 20 sets of services. In this example, if we consider having 20 services per request (which is quite optimistic) and even if no services are removed at the second ordering (which is again highly unlikely), then in the final ordering there will N be 20  20 ¼ N services to order, which means that in this extreme case we will have the same complexity overhead as the one introduced by step 1. Thus, the proposed algorithm that solves the SMCKP presents polynomial complexity and is applicable for ordinary service provisioning platforms. 4. Experiments and evaluation The objective of this section is to evaluate the performance of the presented algorithm for the solution of the SMCKP. In this respect, two families of experiments have been performed under various settings that measure the profit of the provider (against its maximum possible profit) and the degree of utilisation of the provider’s available bandwidth. The first family PN of experiments assumes PM that BWmax ¼ 0:007  i¼1 bi , where bi ¼ M1 i  j¼1i bij is the mean–bandwidth required by the services that address the requirements of i service request. The second family of experiments assumes that the core size bc is equal to d10 e, i.e. one tenth of the break class index. In both families of experiments conducted, four main cases have been distinguished. These cases concern the correlation of the service price and the bandwidth this service requires. In more detail, the first case selects the parameter values so that the service price and bandwidth are uncorrelated variables.

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

In the second case the service price and bandwidth are random variables correlated by 50%, in the third case by 70%, while in the fourth case they are correlated by more than 90%. Another parameter that varies in the conducted experiments is the number of requests for each test case that have been selected as follows: 10, 20, 50, 100, 200, 500, 1000, 2000, 5000 or 10,000. Furthermore, the number of services that address the functional requirements of each request varies from 2 to 20 services. The services that satisfy each request are selected randomly from a pool of 1000 services. For each selected experiment configuration, the experiment has been executed 50 times, the mean values of the results of which are subsequently presented and evaluated. The experiments have been conducted on an Intel Pentium M 1.5 GHz CPU laptop, with 512 MB RAM, while for the implementation and the execution process of the SMCKP solution algorithm Matlab v7.0 (Matlab, 2007) has been used. In the four figures that follow, the lines with the same color indicate the same correlation between the service price and bandwidth. In these figures, the axis representing the Number-of-Requests as well as the axis representing the normalised-mean-profit of the provider and the one representing the normalised-mean–bandwidth-utilisation are depicted in logarithmic scale. The diagrams of Figs. 1 and 2 present the results of the first family of experiments conducted. In these experiments the effectiveness of the proposed algorithm for the SMCKP is examined for various sizes of the core (hereafter denoted by cs). In this respect, five sets of experiments for each selected degrees of price–bandwidth correlation (i.e. 0%, 50%, 70% and higher than 90%) have been performed: (i) core size is 1/30 of the value of the break bc class (i.e. cs ¼ d30 eÞ, (ii) core size is 1/20 of the break bc class (i.e. cs ¼ d20 eÞ, (iii) core size is 1/10 of the bc break class (i.e. cs ¼ d10 eÞ, (iv) core size is 1/5 of the break class (i.e. cs ¼ dbc5 eÞ, and (v) core size is bc 3/10 of the break class (i.e. cs ¼ d3  10 eÞ. As already mentioned, in all these cases of the first family of experiments, the maximum bandwidth supported by PNthe provider is selected so that BWmax ¼ 0:007 i¼1 bi . This value ensures that more than half of the service requests will eventually be served by the provider. Fig. 1 depicts the normalised-mean-profit of the provider, i.e. quantity

 UBfprofit

UB

, where UB is the

1105

 is profit upper bound given by Eq. (7) and fprofit the provider’s profit for the solution provided by the proposed algorithm. Fig. 2 depicts the normalised-mean–bandwidth-utilisation for the provider, or in other words the normalised provider’s bandwidth that is not being used, i.e. quantity o PN n PM i

BWmax 

i¼1

j¼1

Dij bij

, where the decision variables Dij indicate the services selected for delivery in the solution provided by the proposed algorithm. As depicted in Fig. 1, the higher the core size BWmax

UBf 

value is, the lower quantity UBprofit is. This behaviour was of course expected, as the more services are available for selection, the more options the proposed algorithm examines, thus being able to achieve higher provider’s profit. Additionally, one may easily observe that the correlation between the candidate services’ price and bandwidth variables does not have any impact on quantity  UBfprofit

. This means that the proposed algorithm UB behaves the same for varying degrees of correlation, while it was expected that its ‘‘flexibility’’ would be restricted when the correlation of the ‘‘cost’’ and ‘‘profit’’ parameters (i.e. the service bandwidth and price respectively) would increase. In absolute terms, we select to refer in this paragraph to some experimental results presented in PN Fig. 1 (where BWmax ¼ 0:007  i¼1 bi Þ for service price and bandwidth correlated by 50%. In this case, the proposed algorithm increases the provider’s profit by 3–5& in average, with regards to the break solution for 10–100 service requests. This percentage falls to 2& for 200 requests and further decreases as the number of service requests increases, reaching to approximately 0.06& for 10,000 requests. This improvement is significant, given the fact that the price of each service is randomly distributed in the [0,1] interval. On the other hand, the proposed algorithm results in provider profit that is in average 16% lower than the upper limit of the optimal solution for 10 service requests. This percentage decreases drastically as the number of service requests increase, i.e. is 6% for 20 requests, 2% for 50 requests, 1% for 100 requests, 5& for 200 requests, 2& for 500 requests, 1& for 1000 requests, 0.4& for 2000 requests, 0.2& for 5000 requests, and 0.08& for 10,000 requests. Obviously, the proposed algorithm produces near optimal results, especially in cases where more than 100 service requests are received.

1106

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

Fig. 1. Normalised-mean-profit



 UBfprofit

UB



over varying core size and number of requests for five selected degrees of service price– PN i¼1 bi .

bandwidth correlation, when BWmax ¼ 0:007 

Fig. 2. Normalised-mean–bandwidth-utilisation Pover varying core size and number of requests for five selected degrees of service price– bandwidth correlation, when BWmax ¼ 0:007  Ni¼1 bi . BWmax 

As illustrated in Fig. 2, the normalised-mean– bandwidth-utilisation for the provider is close to

PN n PM i i¼1

j¼1

o

Dij bij

100%, i.e. ffi 0. Nevertheless, BWmax as the primary goal of the proposed algorithm is

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

to maximise the provider’s profit, and as the service price and bandwidth are not correlated 100%, there are cases where better utilisation of the available bandwidth can be achieved, but these alternatives are not selected by the proposed algorithm, as they result in less profit for the provider. Of course, the effectiveness of the proposed algorithm for the SMCKP is better evaluated in Fig. 1. The results of the second family of experiments conducted are presented in the diagrams of Figs. 3 and 4. In the respective experiments the effectiveness of the proposed algorithm is studied for fixed core bc size (i.e. cs ¼ d10 eÞ. In this respect, five sets of experiments for each selected degrees of price–bandwidth correlation (i.e. 0%, 50%, 70% and higher than 90%) have been performed, where the maximum bandwidth supported by the PNprovider is selected so that: (i) BW ¼ 0:003  (ii) BWmax ¼ 0:005 max i¼1 bi , P PN N b , (iii) BW ¼ 0:007  ¼ i max i¼1 P i¼1 bi , (iv) BW Pmax N N 0:009  i¼1 bi , and (v) BWmax ¼ 0:011  i¼1 bi . The selection of these values for the provider’s bandwidth is made aiming to investigate the behaviour of the proposed algorithm, in cases where the number of the service requests that can be served varies. Thus, inPthe first two experimentsP(where N N BWmax ¼ 0:003  i¼1 bi and BWmax ¼ 0:005  i¼1 bi Þ,

Fig. 3. Normalised-mean-profit



 UBfprofit

UB



1107

less than half of the initial requests will eventually be served. P In the third case, where N BWmax ¼ 0:007  i¼1 bi , approximately half of the requests will be served, while P in the last two cases (whereP BWmax ¼ 0:009  Ni¼1 bi and BWmax ¼ 0:011  Ni¼1 bi Þ more than 70% of the incoming requests will eventually be served. Fig. 3 depicts the normalised-mean-profit of the UBf 

provider, i.e. quantity UBprofit , while Fig. 4 depicts the normalised-mean–bandwidth-utilisation for the o PN nPM i BWmax 

provider, i.e. quantity

i¼1

BWmax

j¼1

Dij bij

.

As depicted in Fig. 3, the higher the provider’s UBf 

available bandwidth is, the lower quantity UBprofit is. This behaviour was expected, as the more services are included in the break solution (i.e. more requests are served by services bringing high profit for the provider), the less requests remain to be served and thus the proposed algorithm has to select among services with lower profit for the provider. Furthermore, (as observed also in Fig. 1) quantity  UBfprofit

is independent from the correlation between UB the candidate services’ price and bandwidth variables.

over varying maximum provider bandwidth and number of requests for five selected degrees of

bc service price–bandwidth correlation, when cs ¼ d10 e.

1108

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

Fig. 4. Normalised-mean–bandwidth-utilsisation

PN nPM i

BWmax 

i¼1

j¼1

o! Dij bij

over varying maximum provider bandwidth and number of

BWmax bc e. requests for five selected degrees of service price–bandwidth correlation, when cs ¼ d10

Similarly to the first family of examples, we refer in this paragraph to some experimental results in bc absolute terms for cs ¼ d10 e (Fig. 3) and 50% degree of correlation between the service price and bandwidth. In this case, the proposed algorithm increases the provider’s profit by 3–5& in average with regards to the break solution for 10–100 service requests. This percentage falls to 2& for 200 requests and further declines as the number of service requests increases, reaching to approximately 0.06& for 10,000 requests. This behaviour is almost identical for all the levels of BWmax examined. On the other hand, the proposed algorithm results in provider profit that is in average 16% lower than the upper limit of the optimal solution for 10 service requests. This percentage decreases drastically as the number of service requests increases, i.e. is 8% for 20 requests, 3% for 50 requests, 1% for 100 requests, 6& for 200 requests, 2& for 500 requests, 1& for 1000 requests, 0.5& for 2000 requests, 0.2& for 5000 requests, and 0.1& for 10,000 requests. However, in these cases, the divergence of the provider profit resulting by the proposed algorithm from the upper limit for the optimal profit solution declines significantly as BWmax increases. In any case, the designed algorithm produces near optimal

results, especially when the number of service requests is higher than 100. Similar to the first family of experiments, also in Fig. 4, the normalised-mean–bandwidth-utilisation for the provider is close to 100%, i.e. o PN nPM i

BWmax 

i¼1

j¼1

Dij bij

ffi 0. The same conclusions can be drawn here, but in any case, in order to evaluate the effectiveness of the proposed algorithm for the SMCKP one must study Fig. 3 instead. Finally, in Fig. 5, the average execution time of the proposed algorithm is illustrated with regards to the number of submitted service requests. This diagram confirms that the complexity of the designed algorithm is polynomial, lying between O(n log n) and O(n2), a statement initially made in the previous section. BWmax

5. Literature review The service selection problem of complex services with multiple QoS constraints is investigated in (Yu and Lin, 2005). The selection process is achieved through a Selection Manager and can be implemented in either of the two following models: the

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

1109

Fig. 5. Execution time of SMCKP with regards to the execution time of O(n log n) complexity and O(n2) complexity algorithms.

combinatorial-based and the graph-based. For the combinatorial model, an algorithm is proposed based on the heuristic algorithms provided for the Multi-dimension Multi-Choice Knapsack Problem (MMKP) (Martello and Toth, 1987), whereas for the graph model the proposed algorithms are based on solutions proposed for the Multi Constraint Optimal Path (MCOP) problem (Korkmaz and Krunz, 2001). A utility function is defined and all algorithms try to maximise this function from the perspective of the user. A drawback of the proposed composition process is that they adopt a sequential composition model where the QoS attribute and utility of the total complex service are evaluated as the sum of the QoS attributes and utilities of the atomic services that this service consists of. Another drawback concerning the proposed algorithms is that the complexity of the graph model’s algorithms is exponential, while our approach demonstrates polynomial complexity. Furthermore, the approach proposed in this paper studies the problem from the perspective of the provider, while Yu and Lin (2005) investigate the problem on the client side. A QoS Information and Computation framework is presented in (Taher et al., 2005), which provides a QoS-based service selection mechanism. The

proposed framework consists of two models: The Data model and the Computational model. The Data Model is represented by the Registry Ontology (Gruber, 1995), which provides among others the means for describing the non-functional properties (QoS) of services. The Computational model on the other hand is represented by the Service Selection Algorithm and the management of the dynamic changes of the QoS properties, which seems to be quite interesting as the consumers of the services are aware of any changes of the providers’ systems. The Selection Algorithm is based on a modelling of the Euclidean distance measure and the service that is finally selected is the one with the minimum distance. QoS matrixes are used in order to model the services and their non-functional properties. A drawback of the provided selection algorithm is that no evaluation or complexity analysis is provided, whereas the selection process is not adequate. An advantage, however, is that the algorithm proposed can be applied to services with multiple QoS parameters as in (Yu and Lin, 2005), whereas the problem studied in this paper can be applied to services with only two non-functional properties. Nevertheless, we plan to extend our approach to address multiple QoS constraints, as mentioned in the concluding section.

1110

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

In (Paolucci et al., 2002) the authors present a framework for the discovery of web services, the functional and non-functional properties of which are described by Ontologies (Gruber, 1995). A service selection algorithm is also provided for the services that have already addressed all the requirements of a user’s request. An interesting part of the proposed framework is the ability that it offers to rank the selected candidate service providers, letting the requester decide on the most suitable provider. The selection process is based on the non-functional (QoS) parameters of the services and is accomplished based on a Quality Matrix that is created. Nevertheless, it’s not clear which service is finally selected. The problem is investigated from the perspective of the user, whereas no evaluation results are provided. Another difference with regards to the approach presented in this paper is that we investigate the problem of having concurrently multiple requests and multiple services addressing the requirements of each request, which is not examined in the problems studied by Paolucci et al. (2002), as is the case also for the majority of the approaches we studied. Three cases of service selection problems are examined in (Bonatti and Festa, 2005). The selection process is based on costs and on two different QoS-like criteria, respectively. The authors suggest that the problem concerning the minimization of the cost is NP (Garey and Johnson, 1979) and propose an approximate algorithm that uses the Simple Greedy (Kucera, 1991). The solution of the problem with the QoS-like criteria is solved in polynomial time, as the algorithm’s complexity is O(mn), where m is the number of requests and n is the number of services. Unfortunately, the formal problem statement is not presented, while the evaluation of the proposed algorithms is limited. Furthermore, the test cases applied by Bonatti and Festa address only situations where very few concurrent requests are submitted. The problem that Liu et al. (2004) attempt to solve is the provision of an open, fair, dynamic and secure framework that supports the evaluation of the QoS of a vast number of web services. The selection process adopted is based on three nonfunctional service parameters, even though the authors claim that this can be easily extended. However, although the analyzed normalisation techniques of QoS parameters are quite accurate, the problem of concrete selection of web services is not presented in detail and the evaluation of the selection process is quite limited.

A short review is given in (Jaeger et al., 2005) on the following areas: (i) composition of a complex QoS-featured Web Service from simple atomic Web Services with the workflow patterns by van der Aalst (2003), (ii) reduction of the selection problem of these atomic Web Services to well-known problems such as the 0-1 Knapsack Problem or the Resource Constrained Project Scheduling Problem (Davis and Patterson, 1975) and (iii) provision of selection algorithms such as the Greedy Selection (Kucera, 1991) or the Bottom-Up Approximation (Heckbert and Garland, 1995). A short comparison of the available selection algorithms is also provided, where the aggregated QoS values of the complex service follow the Simple Additive Weighting (SAW) technique (Hwang and Yoon, 1981). However, limited evaluation results are provided, whereas the problems selected from the knapsack family are not the most appropriate ones for the framework studied. An interesting approach is adopted by Vu et al. (2005), where a ranking mechanism for the QoSbased selection of Web Services is provided. According to the authors, a key issue to the ranking mechanism is to detect and deal with the false ratings that may be submitted by dishonest providers and users. This framework assumes: (i) probabilistic behaviour of services and users and (ii) the fact that a few trusted parties exist. The ranking mechanism is based on these trusted parties and on the users’ feedback. The overall approach focuses mainly on reputation and trust mechanisms that are achieved in two steps: first they detect cheaters and then they evaluate the honest users. However, the procedure of selecting a service among the trusted ones is not described in detail, whereas the provided evaluation results concern only the location of the untrustworthy parties and do not address other performance criteria. 6. Conclusions and future work QoS-awareness may improve various features and processes in the e-business domain (Papaioannou et al., 2006), especially with regards to the provision of services that deliver multimedia content, present real-time information, are time-critical, or involve the real-time interaction of multiple parties. This paper focused on the service provider perspective with regards to the QoS-based assessment and selection of such services. In this framework, the ‘‘Selective Multiple Choice Knapsack Problem’’ (SMCKP) has been introduced, the solution of which provides the set of services that should be

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

selected for delivery in order to maximise the provider’s profit, subject to maximum bandwidth constraints. The SMCKP has been solved by an algorithm inspired by the family of Knapsack problem algorithms. This algorithm’s complexity has been studied, while its performance and effectiveness have been empirically evaluated via numerous experiments under various conditions. The obtained results indicate that the designed algorithm increases the provider’s profit up to 5& in average with regards to the break solution. Additionally, it has been observed that this algorithm produces near optimal results, especially for the cases where more than 100 concurrent service requests are received. Finally, it should also be mentioned that the designed algorithm always achieves almost 100% utilisation of the provider’s bandwidth. As the employed algorithm was proven to be quite valuable when service provision is constrained by a single QoS parameter (i.e. the maximum bandwidth that can be supported by the provider), we plan to study the cases where more QoS parameters are involved, each consuming a fraction of the provider’s available resources. Finally, as the presented research has sprang from the work carried out in the Amigo Integrated Project on the design and development of an Ambient Intelligence service platform, we plan to integrate context-dependent criteria in the service selection process and assess the impact of these additional constraints on the provider’s profit and resource utilisation. Acknowledgements This work has in part been supported by the project ‘‘Amigo–Ambient intelligence for the networked home environment’’. The Amigo project is funded by the European Commission as an integrated project (IP) in the Sixth Framework Programme under the contract number IST 004182. For more information you may refer to www.amigo-project.org. References Aalst (van der), W.M.P., Hofstede (ter), A.H.M., Kiepuszewski, A.P., Barros, A.P., 2003. Workflow patterns. Distributed and Parallel Databases 14, 5–51. Amigo-D3.3, 2006. Amigo Consortium, Deliverable D3.3: Amigo Middleware Core Enhanced: Prototype Implementation & Documentation. Balas, E., Zemel, E., 1980. An algorithm for large zero-one knapsack problems. Operations Research 28, 1130–1154.

1111

Bonatti, P.A., Festa, P., 2005. On optimal service selection. In: Proceedings of the 14th International World Wide Web Conference (WWW’05), Chiba, Japan. Cormen, T.H., Leiserson, C.E., Rivest, R.L., 1990. Introduction to Algorithms. McGraw-Hill, New York. Dantzig, G.B., 1957. Discrete variable extremum problems. Operations Research 5, 266–277. Davis, E.W., Patterson, J.H., 1975. A comparison of heuristic and optimum solutions in resource-constrained project scheduling. Management Science 21, 944–955. Dembo, R.S., Hammer, P.L., 1980. A reduction algorithm for knapsack problems. Methods of Operations Research 36, 49– 60. Garey, M.R., Johnson, D.S., 1979. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco. Gruber, T.R., 1995. Toward principles for the design of ontologies used for knowledge sharing. International Journal of Human – Computer Studies 43, 907–928. Heckbert, P., Garland, M., 1995. Survey of Surface Approximation Algorithms. Technical Report CMU-CS-95-194, Computer Science Department, Carnegie Mellon University. Hoare, C.A.R., 1962. Quicksort. Computer Journal 5, 10–15. Horowitz, E., Sahni, S., 1974. Computing partitions with applications to the knapsack problem. Journal of ACM 21, 277–292. Hwang, C.L., Yoon, K., 1981. Multiple Attribute Decision Making. Springer-Verlag. Jaeger, M.C., Muhl, G., Golze, S. 2005. QoS-aware composition of web services: a look at selection algorithms. In: Proceedings of the IEEE International Conference on Web Services (ICWS’05), Orlando, FL, USA. Korkmaz, T., Krunz, M. 2001. Multi-constrained optimal path selection. In: Proceedings of the 20th Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’01), Alaska, USA. Kucera, L., 1991. The greedy coloring is a bad probabilistic algorithm. Journal of Algorithms 12, 674–684. Liu, Y., Ngu, A.H.H., Zeng, L., 2004. QoS computation and policing in dynamic web service selection. In: Proceedings of the 13th International World Wide Web Conference (WWW’04), New York, USA. Matlab. http://www.mathworks.com/products/matlab/ (last accessed April 2007). Martello, S., Toth, P., 1987. Algorithms for knapsack problems. Annals of Discrete Mathematics 31, 70–79. Martello, S., Toth, P., 1990. Knapsack Problems: Algorithms and Computer Implementation. John Wiley & Sons Inc. Menasce´, D.A., 2002. QoS issues in web services. IEEE Internet Computing 6, 72–75. Paolucci, M., Kawamura, T., Payne, T.R., Sycara, K., 2002. Semantic matching of web services capabilities. In: Proceedings of the First International Semantic Web Conference (ISWC’02), Sardinia, Italy. Papaioannou, I., Tsesmetzis, D., Roussaki, I., Anagnostou, M., 2006. A QoS ontology language for web-services. In: Proceedings of the IEEE 20th International Conference on Advanced Information Networking and Applications (AINA’06), Vienna, Austria. Pisinger, D. 1995. Algorithms for Knapsack Problems, PhD Thesis, Department. of Computer Science, University of Copenhagen, Denmark.

1112

D. Tsesmetzis et al. / European Journal of Operational Research 191 (2008) 1101–1112

Sinha, A., Zoltners, A.A., 1979. The multiple-choice knapsack problem. Operations Research 2, 503–515. Taher, L., Khatib, H.E., Basha, R., 2005. A framework and QoS matchmaking algorithm for dynamic web services selection. In: Proceedings of the Second International Conference on Innovations in Information Technology (IIT’05), Dubai, United Arab Emirates. Vu, L.H., Hauswirth, M., Aberer, K., 2005. QoS-based service selection and ranking with trust and reputation manage-

ment. In: Proceedings of the International Conference on Cooperative Information Systems (CoopIS’05), Agia Napa, Cyprus. Yu, T., Lin, K.J., 2005. Service selection algorithms for composing complex services with multiple QoS constraints. In: Proceedings of the Third International Conference on Service Oriented Computing (ICSOC’05), Amsterdam, Netherlands.