# Efficient Service Selection in Mobile Information Systems

Authors: Shangguang Wang; Lei Sun; Qibo Sun; Xuyan Li; Fangchun Yang
Journal: Mobile Information Systems
 (2015)

---

## Abstract

With the rapid development of mobile wireless networks such as 4G and LET, ever more mobile services and applications are emerging in mobile networks. Faced with massive mobile services, a top priority of mobile information systems is  how to find the best services and compose them into new value-added services (e.g., location-based services). Hence, service selection is one of the most fundamental operations in mobile information systems. Traditional implementation of service selection suffers from the problems of a huge number of services and reliability. We present an efficient approach to service selection based on computing QoS uncertainty that achieves the best solution in two senses: (1) the time cost for finding the best services is short and (2) the reliability of the selected services is high. We have implemented our approach in experiments with real-world and synthetic datasets. Our results show that our approach improves on the other approaches tested.


---

## Body

## 1. Introduction

Global mobile devices and connections grew to 7 billion in 2013, up from 6.5 billion in 2012; smartphones accounted for 77% of that growth, with 406 million net additions in 2013. The increasing number of mobile devices that are accessing mobile networks worldwide drives global mobile traffic growth. Cisco notes that globally smart traffic is going to grow from 88% of the total global mobile traffic to 96% by 2018. This is significantly higher than the ratio of smart devices and connections (54% by 2018) because on average a smart device generates much higher traffic than a nonsmart device.The explosion of mobile traffic leads to a sharp drop in the quality of mobile service. To provide effective quality of service (QoS), service providers are fueling the growth of 4G deployments and adoption. Hence, service providers around the world are busy rolling out 4G networks to help them meet the growing end-user demand for better QoS such as more bandwidth and faster connectivity on the move. However, although 4G or LTE networks are faster, higher bandwidth, and more intelligent, when mobile device capabilities are combined with these networks, wide adoption of advanced mobile applications will increase mobile traffic even more. For example, in 2013 a 4G connection generated 14.5 times more traffic on average than a non-4G connection. Hence, to meet the fierce challenge from the explosion of mobile traffic, service providers also need to optimize bandwidth management and network monetization.Although many notable network optimization schemes [1–6] have been proposed, most of them focus on network aspects and fail to consider services and applications of mobile information systems. Deploying next-generation mobile networks such as 4G or LTE requires greater service portability and interoperability. With the proliferation of mobile and portable devices, there is an imminent need for networks to allow all of these devices to be connected transparently, with the network providing high-performance computing and delivering enhanced real-time video and multimedia from mobile information systems. This openness will broaden the range of applications and services that can be shared and create highly enhanced mobile traffic. Hence, if an approach exists that can reduce the number of services and applications used, this will offload mobile traffic effectively from mobile information systems. We find that service composition technology and its application to mobile information systems may be a good alternative scheme.Service composition involves the development of customized services, often by discovering, integrating, and executing existing services in a service-oriented architecture (SOA) [7]. A single service is usually not able to satisfy a user’s service requirement. However, combining different existing services can provide a complex functional service for users; this is calledservice composition. In this way, services already existing in mobile information systems are orchestrated into new services that can reduce mobile traffic by shortening the number of interactions between services and users.In the SOA paradigm of mobile information systems, these composite services are specified as abstract processes composed of a set of abstract services (calledservice classes). When a composite service starts to run, for each service class a concrete service (called aservice candidate) is selected and invoked. Hence, service composition technology ensures loose coupling and design flexibility for many applications in mobile information systems [8].As is well known, there are many mobile services in mobile information systems. Although their function attributes are the same or similar, their QoS values are different. For example, while Line, Kakao Talk, WeChat, and Viber can each be used as a mobile messaging application or service, the QoS (e.g., response time and throughput) of each is different. Hence, QoS plays an important role in determining which mobile service should be selected (calledservice selection) in mobile information systems [9]. Traditional service selection approaches (e.g., UDDI, Bluetooth) focus only on searching for services with specific functional attributes and do not provide any guarantee of QoS; this is unsuitable for a high-reliability (99.9999%) guarantee in mobile information systems.Although many notable approaches to service selection including MIP [10], Heuristic [11], Hybrid [12], and LOEM [13] have been proposed in web service systems and have been shown to perform well in their respective contexts, these approaches should not be used in mobile information systems. The main reason is that they ignore the violent QoS fluctuations of mobile services (e.g., the response times of services change over time), so they cannot provide reliable mobile services for users in mobile information systems due to dynamic mobile service environments. Generally, service candidates participating in service selection are widely distributed in mobile information systems. These services originate from different service providers and run on different operations platforms. Any slight change in location, network environment, service requirement time, or other aspects will affect the QoS consistency of these service candidates (calledQoS uncertainty). Hence, it is worth noting that a mobile service with consistently good QoS is typically more reliable than a mobile service with a large variance in its QoS [14]. Therefore, QoS uncertainty should be considered as an important criterion for reliable service selection in mobile information systems. Additionally, the obvious way to obtain the best service selection result is to enumerate all possible service compositions, which will cause poor real-time performance. Obviously, this is not acceptable for mobile information systems. Hence, to avoid unendurable computation delays, reducing the search space of service candidates with reliability guarantees is an important principle for service selection in mobile information systems.Our proposed approach differs from existing approaches. Its main idea is to enhance reliability while reducing the solution space in the service selection process and to find a near-optimal but more reliable service composition in mobile information systems with lower computation time. That is, this novel service selection approach proposes to find the best reliable composite service faster. We first adopt variance theory to compute the QoS uncertainties, and then we prune less-reliable mobile services and select highly reliable ones from mobile information systems. Finally, Mixed Integer Programming is adopted to obtain the best composite service. We have experimented with our approach with 5825 real-world services and 10,000 synthetic mobile services. Our results show that our approach outperforms other approaches.This paper is organized as follows. In Section2, we introduce the concepts of service selection and give an example to illustrate it in mobile information systems. Section 3 describes our approach in detail, including computing QoS uncertainty, filtering uncertain services, and the service selection algorithm. The experimental results in Section 4 demonstrate the benefits of our approach relative to other approaches. Finally, Section 5 concludes the paper.


## 2. Service Selection Framework

To clarify the process of service selection, some preliminary background is introduced in this section. Some basic concepts are listed below.(1)S={s1,s2,…,sn}(n=1,2,3,…) denotes a composition service that is to achieve a particular function that can satisfy a user’s requirements. It is constructed by combining a plurality of service candidates that are selected from each service class. A service class si∈Si=1,2,3,…(1≤i≤n) often contains a number of service candidates si=si1,si2,…,sil, where l(l=1,2,3,…) is the number of service candidates with the same function but different values of their QoS attributes.(2)QS={q1(S),q2(S),…,qr(S)} denotes the attribute vector of a composite service, where the value of qr(S) is aggregation of r(r=1,2,3,…) attribute values from all selected service candidates using QoS aggregation functions.(3)Qsij={q1(sij),q2(sij),…,qr(sij)} denotes the values of the service sij. Considering the actual features of mobile information systems, in this paper we consider only a sequential composition model. Table 1 lists the QoS aggregation functions of the sequential composition model.Table 1
QoS aggregation functions.
QoS attributes
QoS aggregated functions
Response time
q
S
=
∑
i
=
1
n
q
s
i
Price
Reputation
q
S
=
1
n
∑
i
=
1
n
q
s
i
Reliability
q
S
=
∏
i
=
1
n
q
s
i
Availability(4) QoS utility functions for a mobile servicesij∈si and composite service S are defined as follows:(1)Usij=∑k=1rQi,kmax-qksijQi,kmax-Qi,kmin·ωk,US=∑k=1rQkmax-qkSQkmax-Qkmin·ωkwith(2)Qkmax=∑i=1rQi,kmaxQi,kmax=max∀sij∈si⁡qksij,Qkmin=∑i=1rQi,kminQi,kmin=min∀sij∈si⁡qksij,where ωk represents the user’s preferences; it is the weight of each QoS attribute and satisfies ∑k=1rωk=1(0<ωk<1); Qi,kmax(0<k<r) is the maximum value of the kth attribute in all service candidates of the service class si. Similarly, Qi,kmin is the minimum value in the service class si; Qkmax is the sum of every Qi,kmax in the composition service S and Qkmin is the sum of each Qi,kmin.Based on the QoS utility function, we can calculate the global QoS attribute values of each candidate service by mapping the vector of QoS valuesQsij into a single global QoS aggregated value Usij. We can then sort and rank all service candidates of each service class.(5)C={C1,C2,…,Cm} denotes the global QoS constraints in the service selection process, where m(0<m<r) represents the number of QoS constraints.We will present an example [13] from a mobile information system to motivate our work. As illustrated in Figure 1, a smartphone requests the latest video news from a service provider in which three tasks (service classes) are invoked: (1) a transcoding service that is used to transform various video formats into those supported by the smartphone, (2) a compression service to adapt the video content to the wireless link, and (3) a payment service used to pay the bill. The smartphone request is usually associated with a set of global QoS constraints C, for example, response time ≤1 second. Hence, the running service selection process can be divided into three stages as shown in Figure 1. First, a set of concrete mobile services, that is, si={si1,si2,…,sil}, is obtained that ensures that the service candidates can meet the functional requirements of task S={s1,s2,…,sn}(n=3) (transcoding, compression, and payment). Then, using the global QoS constraint set C, the composite solutions that satisfy the global QoS requirements are recorded. Finally, depending on the preferences of the smartphone end-user, an optimal mobile service selection that achieves the largest utility value U(S) is found.Figure 1
An example of service selection in a mobile information system.Suppose 100 service candidates are available for each task: transcoding, compression, and payment; namely,si=100(i=3)s. Then, 106 combinations are possible for the service selection problem. Determining the optimal one requires enumerating all possible combinations (106) of service candidates, which can be expensive in terms of computation time. Additionally, assuring the reliability of the selected mobile services is also difficult because of the complexity.


## 3. Our Proposed Approach

We propose an efficient service selection approach (calledVMP) with QoS uncertainty computing. VMP contains three phases. The first phase is computing QoS uncertainty, in which we adopt variance theory to transform the QoS values into a qualitative concept; it represents the degree of uncertainty of the QoS of a mobile service. The second phase is filtering uncertain services; we prune the uncertain service candidates using the qualitative concept, attempting to ensure the reliability of the service composition while reducing the search space of service selection. The final phase is service selection; we use a Mixed Integer Programming algorithm to select the most reliable composition service with shorter computation time.


### 3.1. Computing QoS Uncertainty

We first normalize the quantitative QoS values into the domain[0,1], which is convenient for data processing and uniform QoS attribute values. We then employ variance theory to compute the QoS uncertainty by transforming QoS quantitative values into two QoS qualitative concepts. Using the two qualitative concepts, a mobile service with consistently good QoS can be distinguished from other mobile services. For illustration, we first describe the following relevant concepts.


#### 3.1.1. Data Normalizing

The normalization process limits the values to within a certain range (e.g.,[0-1]); this is convenient for the QoS utility function. Data normalizing means that the original QoS values will be scaled proportionally. There are many ways to normalize, such as linear conversion, logarithmic conversion, and cotangent conversion. We adopt linear conversion. The specific formula is(3)y=x-MinvalueMaxvalue-Minvalue,where x and y are the corresponding values before and after QoS data conversion, respectively; Maxvalue and Minvalue are the maximum and minimum of the original data, respectively.


#### 3.1.2. Variance

Variance measures the deviation between the random variables and their mathematical expectation value. The variance can fully reflect the stability of the random variable. The larger the variance, the more dispersed the random variable’s values relative to the expectation, and the greater the degree of disorder the sample data has. In this paper we consider a real-world QoS historical value for a mobile service as a discrete random variable and employ the concept of variance to filter the mobile services by uncertainty. The following gives its definition.Definition 1 (variance).
LetX be the random variable. {X1,X2,…,Xn} is the range of X. Then the variance V can be obtained by the following:(4)V=1n-1∑i=1nxi-X¯2,with(5)X¯=1n∑i=1nxi,where X¯ represents the average of X.Variance theory has been applied to many fields, such as financial markets and investment risk. It has achieved many positive results that provide a basis and reference for our approach. Using variance for abandoning uncertain mobile services will help us select the least uncertain mobile services.


### 3.2. Uncertain Services Filtering

Through the above QoS uncertainty computation, we can use the variance to filter the uncertain services. For mobile service filtering, we first describe QoS uncertainty through an example [14] as follows. We consider two services, W and T, which provide a similar mobile service. The performances of W and T are recorded in a series of transaction logs that capture the actual QoS values delivered by each provider in practice. Because the dynamic environment causes some uncertainty of performance, there will be fluctuation in QoS among different transactions. For ease of illustration, although the actual number of transactions should be much larger, we only consider 10 transactions in each service. These historical transactions are represented in our example as (w1,…,w10) and (t1,…,t10) in Table 2, which lists the values of response time for these transactions along with their aggregated QoS value (w and t). The aggregated QoS values are obtained by averaging all of their corresponding transactions.Table 2
A set of service transactions [14].
Mobile service:W
Mobile service:T
ID
Response time (ms)
ID
Response time (ms)
w
1
24
t
1
13
w
2
27
t
2
34
w
3
26
t
3
36
w
4
33
t
4
45
w
5
35
t
5
44
w
6
25
t
6
35
w
7
31
t
7
15
w
8
26
t
8
12
w
9
29
t
9
33
w
10
37
t
10
18
w
29.3
t
28.5From Table2, we find that the aggregate QoS value of service W is larger than that of service T; that is, w>t. In this case, most traditional service selection approaches usually select service T as a service component in a composition service. However, by analyzing the transactions provided by these two services more deeply we have discovered two facts that may be ignored in some existing approaches. (1) Service T’s aggregate response time is slightly smaller than that of service W. However, the response times of six of service W’s transactions (w2,w3,w4,w5,w6,w9) are smaller than those of the corresponding three of service T’s transactions (t2,t3,t4,t5,t6,t9); that is, w2<t2,w3<t3,…,w9<t9. This means that, for most transactions, service W’s response time was smaller than service T’s. (2) Service T’s response time is more volatile than that of service W; that is, the QoS value of service T has a large variance, while that of service W is more consistent and therefore more reliable.In the service selection process, if we select serviceT as a service component, the actual response time of service T may deviate from t, which will lead to poor quality of the composite service or failure of service selection. Hence, selecting service W as a service component may be better because service W is more stable than service T. Thus, computing the QoS uncertainty, that is, how to distinguish one mobile service with stable QoS from many mobile services with high QoS uncertainty is an important aspect of the service selection process.Consequently, we employ variance theory in this phase to compute the QoS uncertainty. Through QoS uncertainty, we transform QoS quantitative values into a QoS qualitative concept. Exploiting the qualitative concept, we can then distinguish a mobile service with a stable QoS from other mobile services. We first give the definition of coefficient of variation as follows.We apply the variance definition above to Table2. These response time values are quantitative QoS values expressed by ten real-world QoS historical values, that is, (w1,…,w10) or (t1,…,t10). The QoS uncertainty of each service can be expressed by its eigenvector, EI={X¯,V}. The resulting eigenvectors of services W and T are EIW={29.30,191.70} and EIT={28.5,1331.50}. Because 191.70≪1331.50 (i.e., VW≪VT), the QoS uncertainty of service W is smaller than that of service T. This means that the QoS of service W is more consistent than that of T. Thus, the service W should be selected as a service component rather than service T, which is different from the traditional approaches.In this way, variance can help reduce the service selection search space and improve the reliability of service composition.


### 3.3. Service Selection

After computing QoS uncertainty and filtering uncertain services, some unreliable and redundant service candidates are pruned, and service candidates with consistently good QoS are found in each service class. The service selection solution must then find the most reliable service of each class within global QoS constraints. Recently, Mixed Integer Programming has been used by several researchers [10, 15, 16] to solve the service composition problem with good results. Here, a Mixed Integer Programming (MIP) model is used to solve the optimization problem of service selection based on the filtered services. We wish to optimize the following objective function; that is, we wish to find the set of service candidates that makes the function a maximum:(6)Max⁡FS=∑k=1rQVkmax-∑i=1n∑j=1lxij·qksij·vksijQVkmax-QVkmin·ωkwith(7)QVkmax=∑i=1rQi,kmax·Vi,kmax,QVkmin=∑i=1rQi,kmin·Vi,kmin,Subject  to∑i=1n∑j=1lqksij·xij≤Cm,1≤m≤r,∑j=1lxij=1,1≤i≤n,xij∈0,1,where xij is a binary decision variable for representing whether a service candidate is selected. A candidate sij is selected if its corresponding variable x is set to 1 and not selected if 0; qk(sij) represents the kth attribute value in service sij and Qkmax and Qkmin can be calculated by (2); Vi,kmin is the minimum variance value in the service class si and Vkmax is the sum of all Vi,kmax in the composition service S. Similarly, Vkmin is the sum of all Vi,kmin in the composition service S. r is the number of QoS attributes. m is the number of QoS constraints. n is the number of service classes. Cm represents the mth global QoS constraint with respect to the rth QoS attribute.By solving the model using MIP solver methods, a list of reliable services can be obtained in each class for service brokers providing a composition service for users.


## 3.1. Computing QoS Uncertainty

We first normalize the quantitative QoS values into the domain[0,1], which is convenient for data processing and uniform QoS attribute values. We then employ variance theory to compute the QoS uncertainty by transforming QoS quantitative values into two QoS qualitative concepts. Using the two qualitative concepts, a mobile service with consistently good QoS can be distinguished from other mobile services. For illustration, we first describe the following relevant concepts.


### 3.1.1. Data Normalizing

The normalization process limits the values to within a certain range (e.g.,[0-1]); this is convenient for the QoS utility function. Data normalizing means that the original QoS values will be scaled proportionally. There are many ways to normalize, such as linear conversion, logarithmic conversion, and cotangent conversion. We adopt linear conversion. The specific formula is(3)y=x-MinvalueMaxvalue-Minvalue,where x and y are the corresponding values before and after QoS data conversion, respectively; Maxvalue and Minvalue are the maximum and minimum of the original data, respectively.


### 3.1.2. Variance

Variance measures the deviation between the random variables and their mathematical expectation value. The variance can fully reflect the stability of the random variable. The larger the variance, the more dispersed the random variable’s values relative to the expectation, and the greater the degree of disorder the sample data has. In this paper we consider a real-world QoS historical value for a mobile service as a discrete random variable and employ the concept of variance to filter the mobile services by uncertainty. The following gives its definition.Definition 1 (variance).
LetX be the random variable. {X1,X2,…,Xn} is the range of X. Then the variance V can be obtained by the following:(4)V=1n-1∑i=1nxi-X¯2,with(5)X¯=1n∑i=1nxi,where X¯ represents the average of X.Variance theory has been applied to many fields, such as financial markets and investment risk. It has achieved many positive results that provide a basis and reference for our approach. Using variance for abandoning uncertain mobile services will help us select the least uncertain mobile services.


## 3.1.1. Data Normalizing

The normalization process limits the values to within a certain range (e.g.,[0-1]); this is convenient for the QoS utility function. Data normalizing means that the original QoS values will be scaled proportionally. There are many ways to normalize, such as linear conversion, logarithmic conversion, and cotangent conversion. We adopt linear conversion. The specific formula is(3)y=x-MinvalueMaxvalue-Minvalue,where x and y are the corresponding values before and after QoS data conversion, respectively; Maxvalue and Minvalue are the maximum and minimum of the original data, respectively.


## 3.1.2. Variance

Variance measures the deviation between the random variables and their mathematical expectation value. The variance can fully reflect the stability of the random variable. The larger the variance, the more dispersed the random variable’s values relative to the expectation, and the greater the degree of disorder the sample data has. In this paper we consider a real-world QoS historical value for a mobile service as a discrete random variable and employ the concept of variance to filter the mobile services by uncertainty. The following gives its definition.Definition 1 (variance).
LetX be the random variable. {X1,X2,…,Xn} is the range of X. Then the variance V can be obtained by the following:(4)V=1n-1∑i=1nxi-X¯2,with(5)X¯=1n∑i=1nxi,where X¯ represents the average of X.Variance theory has been applied to many fields, such as financial markets and investment risk. It has achieved many positive results that provide a basis and reference for our approach. Using variance for abandoning uncertain mobile services will help us select the least uncertain mobile services.


## 3.2. Uncertain Services Filtering

Through the above QoS uncertainty computation, we can use the variance to filter the uncertain services. For mobile service filtering, we first describe QoS uncertainty through an example [14] as follows. We consider two services, W and T, which provide a similar mobile service. The performances of W and T are recorded in a series of transaction logs that capture the actual QoS values delivered by each provider in practice. Because the dynamic environment causes some uncertainty of performance, there will be fluctuation in QoS among different transactions. For ease of illustration, although the actual number of transactions should be much larger, we only consider 10 transactions in each service. These historical transactions are represented in our example as (w1,…,w10) and (t1,…,t10) in Table 2, which lists the values of response time for these transactions along with their aggregated QoS value (w and t). The aggregated QoS values are obtained by averaging all of their corresponding transactions.Table 2
A set of service transactions [14].
Mobile service:W
Mobile service:T
ID
Response time (ms)
ID
Response time (ms)
w
1
24
t
1
13
w
2
27
t
2
34
w
3
26
t
3
36
w
4
33
t
4
45
w
5
35
t
5
44
w
6
25
t
6
35
w
7
31
t
7
15
w
8
26
t
8
12
w
9
29
t
9
33
w
10
37
t
10
18
w
29.3
t
28.5From Table2, we find that the aggregate QoS value of service W is larger than that of service T; that is, w>t. In this case, most traditional service selection approaches usually select service T as a service component in a composition service. However, by analyzing the transactions provided by these two services more deeply we have discovered two facts that may be ignored in some existing approaches. (1) Service T’s aggregate response time is slightly smaller than that of service W. However, the response times of six of service W’s transactions (w2,w3,w4,w5,w6,w9) are smaller than those of the corresponding three of service T’s transactions (t2,t3,t4,t5,t6,t9); that is, w2<t2,w3<t3,…,w9<t9. This means that, for most transactions, service W’s response time was smaller than service T’s. (2) Service T’s response time is more volatile than that of service W; that is, the QoS value of service T has a large variance, while that of service W is more consistent and therefore more reliable.In the service selection process, if we select serviceT as a service component, the actual response time of service T may deviate from t, which will lead to poor quality of the composite service or failure of service selection. Hence, selecting service W as a service component may be better because service W is more stable than service T. Thus, computing the QoS uncertainty, that is, how to distinguish one mobile service with stable QoS from many mobile services with high QoS uncertainty is an important aspect of the service selection process.Consequently, we employ variance theory in this phase to compute the QoS uncertainty. Through QoS uncertainty, we transform QoS quantitative values into a QoS qualitative concept. Exploiting the qualitative concept, we can then distinguish a mobile service with a stable QoS from other mobile services. We first give the definition of coefficient of variation as follows.We apply the variance definition above to Table2. These response time values are quantitative QoS values expressed by ten real-world QoS historical values, that is, (w1,…,w10) or (t1,…,t10). The QoS uncertainty of each service can be expressed by its eigenvector, EI={X¯,V}. The resulting eigenvectors of services W and T are EIW={29.30,191.70} and EIT={28.5,1331.50}. Because 191.70≪1331.50 (i.e., VW≪VT), the QoS uncertainty of service W is smaller than that of service T. This means that the QoS of service W is more consistent than that of T. Thus, the service W should be selected as a service component rather than service T, which is different from the traditional approaches.In this way, variance can help reduce the service selection search space and improve the reliability of service composition.


## 3.3. Service Selection

After computing QoS uncertainty and filtering uncertain services, some unreliable and redundant service candidates are pruned, and service candidates with consistently good QoS are found in each service class. The service selection solution must then find the most reliable service of each class within global QoS constraints. Recently, Mixed Integer Programming has been used by several researchers [10, 15, 16] to solve the service composition problem with good results. Here, a Mixed Integer Programming (MIP) model is used to solve the optimization problem of service selection based on the filtered services. We wish to optimize the following objective function; that is, we wish to find the set of service candidates that makes the function a maximum:(6)Max⁡FS=∑k=1rQVkmax-∑i=1n∑j=1lxij·qksij·vksijQVkmax-QVkmin·ωkwith(7)QVkmax=∑i=1rQi,kmax·Vi,kmax,QVkmin=∑i=1rQi,kmin·Vi,kmin,Subject  to∑i=1n∑j=1lqksij·xij≤Cm,1≤m≤r,∑j=1lxij=1,1≤i≤n,xij∈0,1,where xij is a binary decision variable for representing whether a service candidate is selected. A candidate sij is selected if its corresponding variable x is set to 1 and not selected if 0; qk(sij) represents the kth attribute value in service sij and Qkmax and Qkmin can be calculated by (2); Vi,kmin is the minimum variance value in the service class si and Vkmax is the sum of all Vi,kmax in the composition service S. Similarly, Vkmin is the sum of all Vi,kmin in the composition service S. r is the number of QoS attributes. m is the number of QoS constraints. n is the number of service classes. Cm represents the mth global QoS constraint with respect to the rth QoS attribute.By solving the model using MIP solver methods, a list of reliable services can be obtained in each class for service brokers providing a composition service for users.


## 4. Experiments

We conducted experiments and compared our proposed approach with Global [10] and VGMIP in terms of computation time, reliability, and performance. Global is a state-of-the-art efficient service selection approach, the standard global optimization approach with all service candidates; VGMIP considers only half of the service candidates in the global optimization, those whose variances are relatively small and can find a near-optimal composite service with short computation time. Moreover, we also studied the parameters of our approach.


### 4.1. Experiment Setup

As is well known, there are few mobile service datasets, but to evaluate our approach, we needed two types of datasets. The first we chose is a real-world web service QoS dataset from [17–19] named WSDream. It contains nearly 2 million real-world QoS web service invocation records; each record contains two QoS attributes (i.e.,response time andthroughput; because we consider only the sequential composition model, we tookthroughput as theprice attribute in our experiment) that were collected by 339 service users over 5825 web services. It also contains information about these 5825 web services and 339 users. To ensure the experiments results were not based on WSDream, we evaluated our approach with a synthetic dataset (named Random dataset) that contained 10,000 mobile services with two QoS attributes [20].We conducted several QoS-aware service selection experiments. Each experiment consisted of a composition request withn service classes, l service candidates per class, and m global QoS constraints. We varied these parameters, and each unique combination of them represented one experiment. The number r of QoS attributes was set to two, as was m, the number of QoS constraints. The number of service candidates per service class varied in the range 100 to 1000; the weight for each of the two attributes was 0.5, and the CV was set to 50. The number of service classes, n, was fixed at five for the WSDream dataset and ten for the Random dataset. The number of historical transactions was set at 250 for the WSDream dataset and 500 for the Random dataset.All of the experiments were performed on the same computer with an Intel(R) Xeon(R) 2.6 GHz processor, 32.0 GB of RAM, Windows Server 2008R2, and Matlab R2013a. We compare our approach (VMP) with the two notable approaches mentioned above.


### 4.2. Comparison of Computation Time Results

In this experiment, we compared the computation time of our VMP approach with those of the other approaches.As shown in Figures2 and 3, we found that the computation time consumed by VMP was always lower than that of the other two approaches with increasing numbers of service candidates. This means that VMP can significantly reduce the time cost of service selection because its service search space is the smallest of the approaches.Figure 2
Computing time in WSDream dataset.Figure 3
Computing time in Random dataset.


### 4.3. Comparison of Reliability Results

In this experiment, we designed the following reliability fitness function to measure service selection reliability.Definition 2 (reliability fitness function).
Reliability is the degree of deviation of the variance of the selected mobile services relative to the range of possible variance; that is,(8)Reliability=Vmax-∑i=1nσVmax-Vmin×100%,where Vmax is the maximum aggregated standard deviation of all selected services, Vmin is the minimum aggregated standard deviation of all selected services, and σ is the standard deviation of the selected service in each service class.By Definition2, we compared VMP with Global and VGMIP on the reliability of service selection.As shown in Figures4 and 5, we found that no matter how many service candidates were there, the reliability of VMP was always higher than Global and VGMIP. These experimental results indicate that VMP can effectively avoid QoS uncertainty from service selection because the reliability of such services is very high. Thus, by usingvariance to monitor a service’s historical QoS transactions, VMP effectively identifies which services have large variances in QoS and can then prune them.Figure 4
Reliability in WSDream dataset.Figure 5
Reliability in Random dataset.


### 4.4. Comparison of Performance Results

In this experiment, the performance can be calculated by the following formula:(9)performance=FS×100%.As shown in Figures6 and 7, the performance of our approach was higher than 98% on average, which effectively demonstrates that VMP obtains a near-optimal service composition. Although the optimality of VMP was not 100%, the gap (2%) is small; users will not notice an issue in dynamic network environments. Users additionally will perceive little if any difference in the performance of the three approaches. However, the time cost of our approach is the lowest and its reliability is the highest of the three. Hence, for overall comparison, our approach has the highest scores.Figure 6
Performance in WSDream dataset.Figure 7
Performance in Random dataset.


### 4.5. Study of the Parameters

#### 4.5.1. ParameterV

In this experiment we studied how the computation time, reliability, and performance varied with changes in the value of the varianceV. When V was set to 30, 30% of services were selected as effective service candidates. In the experiments, we varied the value of V within the range 10 to 90 with a step value of 20.As shown in Figure8, the computation time of our approach increases as V is increased from 10 to 90. This demonstrates that the computation time increases with increasing V because the service selection search space grows rapidly. Figure 9 shows that, for the WSDream dataset, the reliability of our approach also increases with V. As shown in Figure 10, VMP performance always improved with increasing V. Hence, no matter how V is chosen, VMP can always achieve good performance.Figure 8
Computation time in WSDream dataset withV.Figure 9
Reliability in WSDream dataset withV.Figure 10
Performance in the WSDream dataset withV.


#### 4.5.2. Parametersω

In this experiment, we studied how the user preference weightsω affect the computation time, reliability, and performance of service selection. The weights ω represent the user’s requests for each QoS attribute and are important for service selection. We fixed the number of service candidates at 500; the weight of response time was varied from 0.125 to 0.875. Correspondingly, the weight of price was varied from 0.125 to 0.875.Figures11, 12, and 13 show the results with two datasets. We find that no matter how ω were allocated, VMP still obtained good results.Figure 11
Computation time in WSDream dataset withω. V=50, service candidates = 500.Figure 12
Reliability in WSDream dataset with variedω. V=50, service candidates = 500.Figure 13
Performance in WSDream dataset with variedω. V=50, service candidates = 500.


## 4.1. Experiment Setup

As is well known, there are few mobile service datasets, but to evaluate our approach, we needed two types of datasets. The first we chose is a real-world web service QoS dataset from [17–19] named WSDream. It contains nearly 2 million real-world QoS web service invocation records; each record contains two QoS attributes (i.e.,response time andthroughput; because we consider only the sequential composition model, we tookthroughput as theprice attribute in our experiment) that were collected by 339 service users over 5825 web services. It also contains information about these 5825 web services and 339 users. To ensure the experiments results were not based on WSDream, we evaluated our approach with a synthetic dataset (named Random dataset) that contained 10,000 mobile services with two QoS attributes [20].We conducted several QoS-aware service selection experiments. Each experiment consisted of a composition request withn service classes, l service candidates per class, and m global QoS constraints. We varied these parameters, and each unique combination of them represented one experiment. The number r of QoS attributes was set to two, as was m, the number of QoS constraints. The number of service candidates per service class varied in the range 100 to 1000; the weight for each of the two attributes was 0.5, and the CV was set to 50. The number of service classes, n, was fixed at five for the WSDream dataset and ten for the Random dataset. The number of historical transactions was set at 250 for the WSDream dataset and 500 for the Random dataset.All of the experiments were performed on the same computer with an Intel(R) Xeon(R) 2.6 GHz processor, 32.0 GB of RAM, Windows Server 2008R2, and Matlab R2013a. We compare our approach (VMP) with the two notable approaches mentioned above.


## 4.2. Comparison of Computation Time Results

In this experiment, we compared the computation time of our VMP approach with those of the other approaches.As shown in Figures2 and 3, we found that the computation time consumed by VMP was always lower than that of the other two approaches with increasing numbers of service candidates. This means that VMP can significantly reduce the time cost of service selection because its service search space is the smallest of the approaches.Figure 2
Computing time in WSDream dataset.Figure 3
Computing time in Random dataset.


## 4.3. Comparison of Reliability Results

In this experiment, we designed the following reliability fitness function to measure service selection reliability.Definition 2 (reliability fitness function).
Reliability is the degree of deviation of the variance of the selected mobile services relative to the range of possible variance; that is,(8)Reliability=Vmax-∑i=1nσVmax-Vmin×100%,where Vmax is the maximum aggregated standard deviation of all selected services, Vmin is the minimum aggregated standard deviation of all selected services, and σ is the standard deviation of the selected service in each service class.By Definition2, we compared VMP with Global and VGMIP on the reliability of service selection.As shown in Figures4 and 5, we found that no matter how many service candidates were there, the reliability of VMP was always higher than Global and VGMIP. These experimental results indicate that VMP can effectively avoid QoS uncertainty from service selection because the reliability of such services is very high. Thus, by usingvariance to monitor a service’s historical QoS transactions, VMP effectively identifies which services have large variances in QoS and can then prune them.Figure 4
Reliability in WSDream dataset.Figure 5
Reliability in Random dataset.


## 4.4. Comparison of Performance Results

In this experiment, the performance can be calculated by the following formula:(9)performance=FS×100%.As shown in Figures6 and 7, the performance of our approach was higher than 98% on average, which effectively demonstrates that VMP obtains a near-optimal service composition. Although the optimality of VMP was not 100%, the gap (2%) is small; users will not notice an issue in dynamic network environments. Users additionally will perceive little if any difference in the performance of the three approaches. However, the time cost of our approach is the lowest and its reliability is the highest of the three. Hence, for overall comparison, our approach has the highest scores.Figure 6
Performance in WSDream dataset.Figure 7
Performance in Random dataset.


## 4.5. Study of the Parameters

### 4.5.1. ParameterV

In this experiment we studied how the computation time, reliability, and performance varied with changes in the value of the varianceV. When V was set to 30, 30% of services were selected as effective service candidates. In the experiments, we varied the value of V within the range 10 to 90 with a step value of 20.As shown in Figure8, the computation time of our approach increases as V is increased from 10 to 90. This demonstrates that the computation time increases with increasing V because the service selection search space grows rapidly. Figure 9 shows that, for the WSDream dataset, the reliability of our approach also increases with V. As shown in Figure 10, VMP performance always improved with increasing V. Hence, no matter how V is chosen, VMP can always achieve good performance.Figure 8
Computation time in WSDream dataset withV.Figure 9
Reliability in WSDream dataset withV.Figure 10
Performance in the WSDream dataset withV.


### 4.5.2. Parametersω

In this experiment, we studied how the user preference weightsω affect the computation time, reliability, and performance of service selection. The weights ω represent the user’s requests for each QoS attribute and are important for service selection. We fixed the number of service candidates at 500; the weight of response time was varied from 0.125 to 0.875. Correspondingly, the weight of price was varied from 0.125 to 0.875.Figures11, 12, and 13 show the results with two datasets. We find that no matter how ω were allocated, VMP still obtained good results.Figure 11
Computation time in WSDream dataset withω. V=50, service candidates = 500.Figure 12
Reliability in WSDream dataset with variedω. V=50, service candidates = 500.Figure 13
Performance in WSDream dataset with variedω. V=50, service candidates = 500.


## 4.5.1. ParameterV

In this experiment we studied how the computation time, reliability, and performance varied with changes in the value of the varianceV. When V was set to 30, 30% of services were selected as effective service candidates. In the experiments, we varied the value of V within the range 10 to 90 with a step value of 20.As shown in Figure8, the computation time of our approach increases as V is increased from 10 to 90. This demonstrates that the computation time increases with increasing V because the service selection search space grows rapidly. Figure 9 shows that, for the WSDream dataset, the reliability of our approach also increases with V. As shown in Figure 10, VMP performance always improved with increasing V. Hence, no matter how V is chosen, VMP can always achieve good performance.Figure 8
Computation time in WSDream dataset withV.Figure 9
Reliability in WSDream dataset withV.Figure 10
Performance in the WSDream dataset withV.


## 4.5.2. Parametersω

In this experiment, we studied how the user preference weightsω affect the computation time, reliability, and performance of service selection. The weights ω represent the user’s requests for each QoS attribute and are important for service selection. We fixed the number of service candidates at 500; the weight of response time was varied from 0.125 to 0.875. Correspondingly, the weight of price was varied from 0.125 to 0.875.Figures11, 12, and 13 show the results with two datasets. We find that no matter how ω were allocated, VMP still obtained good results.Figure 11
Computation time in WSDream dataset withω. V=50, service candidates = 500.Figure 12
Reliability in WSDream dataset with variedω. V=50, service candidates = 500.Figure 13
Performance in WSDream dataset with variedω. V=50, service candidates = 500.


## 5. Conclusions

We have presented a fast and reliable QoS-aware service selection approach based on the concept of variance in mobile information systems. Our approach first uses variance to compute the QoS uncertainty and to prune services with high uncertainty and reduce the search space of service selection. We then use a Mixed Integer Programming to select a service composition near optimal but more reliable with shorter computation time. We evaluated our approach using both real-world and randomly generated datasets. The experimental results show that our approach needs less computation time to find the best high-reliability, high-performance service composition. This means that our approach can perform service selection on the basis of user preferences more efficiently and effectively for mobile information systems.



---

*Source: 949436-2015-06-22.xml*