# Context-Aware Cloud Service Selection Model for Mobile Cloud Computing Environments

Authors: Xu Wu
Journal: Wireless Communications and Mobile Computing
 (2018)

---

## Abstract

Mobile cloud computing (MCC) has attracted extensive attention in recent years. With the prevalence of MCC, how to select trustworthy and high quality mobile cloud services becomes one of the most urgent problems. Therefore, this paper focuses on the trustworthy service selection and recommendation in mobile cloud computing environments. We propose a novel service selection and recommendation model (SSRM), where user similarity is calculated based on user context information and interest. In addition, the relational degree among services is calculated based on PropFlow algorithm and we utilize it to improve the accuracy of ranking results. SSRM supports a personalized and trusted selection of cloud services through taking into account mobile user’s trust expectation. Simulation experiments are conducted on ns3 simulator to study the prediction performance of SSRM compared with other two traditional approaches. The experimental results show the effectiveness of SSRM.


---

## Body

## 1. Introduction

Mobile cloud computing (MCC) is a new computing model where cloud computing (CC) is integrated into mobile computing environments. The new computing model breaks through the resource limitation of mobile terminals by moving data processing and storage from mobile device to cloud service platforms via wireless networks. Rich mobile applications can be easily created and accessed just based on web browser on the mobile devices [1]. The architecture of MCC is shown as in Figure 1. Internet content providers in Figure 1 put video information, games, and news resources in appropriate data centers in order to provide users with more rich and efficient content services. Mobile users use the wireless connections to access the data centers of public clouds over the Internet. Data centers of public clouds are distributed in different locations and provide users with elastic and scalable computing or storage services. In addition, some mobile users with the demand for higher privacy protection, lower network latency, and energy consumption can connect to cloudlets via local area networks. A cloudlet located at the edge of the Internet is a mobility-enhanced small-scale cloud datacenter, which extends cloud computing infrastructure [2].Figure 1
Architecture of mobile cloud computing.MCC is derived from cloud computing; thus it inherits the advantages of cloud computing such as dynamic development of mobile applications, resource scalability, multiuser sharing, and multiservice integration. But, quite apart from that, it has also some problems including resource limits, weak battery strength, user mobility, and low network coverage. With the prevalence of MCC, more and more Internet users from mobile devices use cloud computing services through wireless interface (e.g., GPRS/3G/WiFi). As shown in Figure1, there exit abundant functionally similar cloud services provided by different cloud service providers. Therefore, how to select appropriate cloud services for mobile users becomes one of the most urgent problems.To address the problem of cloud service selection and recommendation, researchers have done many notable works in cloud computing literature [3–7]. The most of existing methods mainly depend on ranking Quality-of-Service (QoS) to select an optimal cloud service from a set of functionally equivalent cloud services. Quality-of-Service (QoS) usually describes nonfunctional performance of cloud services. QoS values of cloud services provide valuable information to assist decision-making [3].The challenge here is to recommend an optimal mobile cloud service based on dynamic QoS properties. In real-world applications, QoS in MCC is referring to dynamic QoS properties (packet loss ratio, end-to-end throughput, delay, etc.), which are affected by the user context information [8]. Context information includes location, time, resource ability (processing power, memory, or battery capacity), bandwidth, and status (online or offline). For example, limited bandwidth and resource ability can make the values of QoS properties degrade. Naturally, consumers hope to select the most trustworthy cloud service among abundant candidates by considering the dynamic context information over multiple time periods. However, the works done for cloud computing rarely focus on investigating the influence of user context information on service selection. User mobility in MCC can lead to the dynamic changes of user context information. The selection results of mobile user may vary according to the changes of user context information. Therefore, user context information plays an important role when designing such selection and recommendation algorithms.Moreover, the existing methods always assume that cloud services are independent and ignore the fact that the relation among cloud services has important effect on the accuracy of recommendation results. The related services will be probably selected by the same user based on the intuition [9]. For example, in tourism service scenario the users purchasing airplane ticket service probably prefer to purchase car rental service in the future.To attack this critical challenge, the algorithm for MCC is expected not only to satisfy the required service level by user, but also to adapt to dynamic changes of user context information. In the paper, we make use of user-based collaborative filtering method to propose a novel context-aware service selection and recommendation model (SSRM), which combines the user context information, user interest, historical service usage experiences (QoS value or customer rating) of cloud services, and the relation among cloud services to rank the cloud services. Collaborative filtering technologies [10] in the field of online recommendation system offer us a strong theoretical foundation to deal with the service selection and recommendation problem. Recently, they have been successfully applied to predict the missing QoS value in cloud computing. Collaborative filtering technologies are categorized as user-based collaborative filtering approaches, item-based collaborative filtering approaches, and their fusion approaches. In addition, SSRM only selects trusted mobile cloud service as candidates for mobile users. Different users have different trust requirement, the personalized service selection and recommendation method is thus required by different users [3]. To support personalized selection of cloud services, SSRM takes into account mobile user’s trust expectation through using a trust threshold.Within the SSRM, there are a few modules. Figure2 shows the system architecture of SSRM, which supports personalized selection and recommendation of cloud services.Figure 2
Architecture of SSRM.A user requesting service selection and recommendation is called target user in the model. A user providing historical service usage experiences is called training user. Our aim is to get the service ranking results from SSRM by predicting the missing service usage experiences for target user. SSRM involves the following key steps:Step 1.
A target user requests service selection and recommendation.Step 2.
User similarities between target user and training users are calculated based on context similarity and user interest similarity.Step 3.
Based on the similar values, a set of similar users are identified.Step 4.
The basic service ranking results are obtained by taking advantages of the past service usage experiences of similar users.Step 5.
Relational degree among cloud services is evaluated. Through utilizing relational degree to improving the accuracy of ranking results, we succeed in obtaining the ultimate service ranking results.Step 6.
SSRM only selects trusted mobile cloud services as candidates based on trust filter module.Step 7.
The ranking prediction results are provided to the active user.This paper targets the research task of accurately making QoS ranking prediction, with consideration of user context information and the relation among cloud services, according to the requirements of different application scenarios. This paper makes the following contributions:(1)
This paper focuses on the trustworthy service selection and recommendation in mobile cloud computing environments. We propose a novel service selection and recommendation model (SSRM), where similarity is calculated based on user context information and interest.(2)
SSRM calculates the relational degree among services based on PropFlow algorithm and utilizes relational degree to improve the accuracy of ranking results.(3)
SSRM supports a personalized and trusted selection of cloud services through taking into account mobile user’s trust expectation.(4)
Simulation experiments are conducted on ns3 simulator to study the prediction performance of SSRM compared with other two traditional approaches: item-based CF approach (IBCF) and user-based CF approach (UBCF). The experimental results show the effectiveness of SSRM.This paper is organized as follows. Section2 describes related work. In Section 3, the proposed SSRM is discussed. Section 4 describes the test scenario and simulation results. Finally, we conclude with a summary of our results and directions for new research in Section 5.


## 2. Related Work

Mobile cloud computing (MCC) has attracted extensive attention in recent years, since it provides real-time access to real-time information through the applications on mobile devices. The rapid advancements of mobile cloud technology have been the prime reason for significant expansions in this market, where there exist abundant functionally similar services provided by cloud vendors including Amazon, Google, Inc., Apple, Inc., and Microsoft Corporation. Markets and Markets [11] forecast the global mobile cloud market will grow to over $46.90 Billion by 2019. The exponential growth of mobile cloud market makes it hard for users to select the most suitable mobile cloud service. Therefore, how to select trustworthy and high quality mobile cloud services becomes one of the most urgent problems. A number of works have been carried out on cloud service selection issue including rating-oriented collaborative filtering methods [4, 5], ranking-oriented collaborative filtering methods [3], and some other methods.Rating-oriented or ranking-oriented collaborative filtering methods can produce QoS prediction or service ranking using collaborative filtering technology. Rating-oriented collaborative filtering methods rank the cloud services based on the predicted QoS values. QoS presents the nonfunctional properties of cloud services including security, availability, throughput, and response-time properties. Based on the service QoS measures, various approaches are proposed for service selection. Pan et al. [4] propose a trust-enhanced cloud service selection model based on QoS analysis. In the model, trust is utilized to find similar neighbors and predict the missing QoS values. Ding et al. [5] propose a personalized cloud service selection method to make experience usability and value distribution to measure the service similarity. Rating-oriented collaborative filtering approaches first predict the missing QoS values before making QoS ranking. The target of rating-oriented approaches is to predict QoS values as accurate as possible. However, accurate QoS value prediction may not lead to accurate QoS ranking prediction [3].Compared with rating-oriented methods, ranking-oriented methods predict the QoS rankings directly. Different from the previous ranking-oriented methods, Zheng et al. [3] propose a comprehensive study of how to provide accurate QoS ranking for cloud services. Although ranking-oriented methods can be used to make optimal cloud service selection from a set of functionally equivalent service candidates, these methods ignore the changes of QoS. QoS in MCC might vary largely, even for the same type of mobile cloud services. QoS in MCC are affected by the user context information. The rating-oriented collaborative filtering methods and ranking-oriented collaborative filtering methods both can help user to predict missing QoS value, but they did not consider the dynamic QoS properties in MCC.Other types of service selection approaches are also widely examined. The most employed approaches include multicriteria decision analysis-based service selection [7, 12–14], reputation-aware service selection [15], adaptive learning mechanism-based service selection [8, 16], economic theoretical model-based service selection [17, 18], service level agreement-based service ranking [6], visualization framework for service selection [19], and trust evaluation middleware for cloud service selection [20]. Though these approaches can efficiently measure service quality, the implementation of some approaches is time-consuming and costly.Ma et al. [7] propose a time-aware service selection approach by using interval neutrosophic set. In the paper, the strategy for selecting trustworthy services from an abundant field of candidates involves formulating the problem of time-aware service selection with tradeoffs between performance-costs and potential risk as a multicriterion decision-making (MCDM) problem that creates a ranked services list using interval neutrosophic set (INS) theory. The experimental results demonstrate that the proposed approach can work effectively in both the risk-sensitive service selection mode and the performance-cost-sensitive service selection mode, but the approach ignores the changes of user context information in MCC environments.Whaiduzzaman et al. [12] identify and synthesize several multicriteria decision analysis (MCDA) techniques and provide a comprehensive analysis of this technology for general readers. In addition, this paper presents a taxonomy derived from a survey of the current literature. The results show that MCDA techniques are indeed effective and can be used for cloud service selection but that different techniques do not select the same service.This paper [14] presents a cloud service selection methodology that utilizes Quality-of-Service history of cloud services over different time periods and performs parallel multicriteria decision analysis to rank all cloud services in each time period in accordance with user preferences before aggregating the results to determine the overall rank of all the available options for cloud service selection. This methodology assists the cloud service user to select the best possible available service according to the requirements. The main disadvantages are that the framework proposed in this paper deals with service selection in the preinteraction period only. Work on postinteraction service migration decisions is needed, and several other important factors such as the cost of migration in terms of service disruption and data transfer also need to be included in the decision-making process.Fan et al. [15] propose a multidimensional trust-aware cloud service selection mechanism based on evidential reasoning approach which aggregates multidimensional trust feedback ratings to form the reputation values of the cloud service providers. Though the experimental results show that this approach is effective in cloud systems, it can be only used to recommend an optimal cloud service which satisfies the key QoS requirements for users.Wang et al. [16] propose a dynamic cloud service selection method by using an adaptive learning mechanism, which involves incentive, forgetting, and degenerate functions that can realize the self-adaptive regulation for optimizing next service selection according to the status of current service selection. To assist users to efficiently select their preferred cloud services, a cloud service selection model adopting the cloud service brokers is given in the paper. However, in the paper the brokerage scheme on cloud service selection typically assumes that brokers are completely trusted and do not provide any guarantee over the correctness of the service recommendations. It is then possible for a compromised or dishonest broker to easily take advantage of the limited capabilities of the clients and provide incorrect or incomplete responses.Do et al. [17] propose a dynamic service selection method which provides a price game in heterogeneous cloud market. The paper studies price competition in a heterogeneous cloud market, where users can identify benefit and cost of cloud service application and choose the best one through analyzing market-relevant factors. But this paper only considers one service. In real-world applications, there are many cloud services in the practical cloud market. Additionally, this paper has not considered service level agreement issues that are also important for cloud users.The visualization framework for service selection [19] takes into cognizance the set of cloud services that matches a user’s request and based on QoS attributes, users can interact with the results via bubble graph visualization to compare and contrast the search results to ascertain the best alternative. Although the result from the experiments shows that visualization framework simplifies decision-making, the use of bubble graph introduces additional complexity for the user when making a suitable service selection.The authors [20] discuss the method of enhancing service trust evaluation and propose a trustworthy selection framework for cloud service selection, named TRUSS. Aiming at developing an effective trust evaluation middleware for TRUSS, this paper proposes an integrated trust evaluation method via combining objective trust assessment and subjective trust assessment. Simulation-based experiments validated the performance of the proposed method, but the method assumes that the majority of service users are honest and a dishonest user gives more unfair ratings than fair ratings. This assumption is unrealistic.Cloud computing and mobile cloud computing are quite different. The mobile cloud pays attention to services available through mobile network operators (MNOs like Verizon and AT&T). While a great number of researchers have focused on the service selection and recommendation in cloud computing, little attention has been devoted to trustworthy service selection in mobile cloud computing. Different from these existing approaches, our work focuses on how to select trustworthy and high quality cloud services for mobile user in MCC, which is an urgently required research problem. Thus, we propose a context-aware cloud service selection method for mobile cloud computing environments, which considers user context information and interest in order to calculate user similarities and utilize relational degree among cloud services to improve the accuracy of service ranking results.


## 3. SSRM

In this section, we present a detailed discussion of the proposed novel service selection and recommendation model (SSRM). Firstly, user similarities are calculated and the basic personalized service ranking results are obtained in Section3.1. Secondly, relational degree is calculated and used to improve the accuracy of ranking results in Section 3.2.


### 3.1. User Similarity Computation

Givenm users and n mobile cloud services, the user-service matrix (USM) for predicting the missing service usage experiences is denoted as (1)ru1,mcs1⋯ru1,mcsn⋮⋱⋮rum,mcs1⋯rum,mcsn,where rum,mcsn expresses historical service usage experiences (QoS value or customer rating) of mobile cloud service mcsn made by user um. “rm,n=null” states that um did not invoke mcsn yet. In order to get the ranking results, we firstly calculate user similarity. The user similarity is measured with the following equation:(2)simUux,uy=λ∗simCux,uy+1-λsimIux,uy,where ux and uy denote two users. simC(ux,uy) and simI(ux,uy), respectively, express context similarity and user interest similarity between ux and uy. λ is defined to determine how much similarity measure relies on context and interest. λ is in the interval [0,1].


#### 3.1.1. Context Similarity Computation

Cloud service selection of a user in a context (e.g., a laptop with enough battery) may be much different from that of another user in a different context (e.g., a smart phone without enough battery). Hence, cloud service selection can be significantly affected by user context. To evaluate the context similarities between target user and training user, we provide the definition of context. The definition from [21] is referenced by us. Let rux,mcsj be usage experience of cloud service mcsj made by user ux.Definition 1 (context).
ContextCux,mcsj is any information that can be used to characterize the situation where usage experience rux,mcsj of cloud service mcsj is made by user ux.
Context information has different properties which include location, resource ability, and status. Letv be the type of context property of Cux,mcsj.
The contextCux,mcsj is denoted as(3)Cux,mcsj=Cnorux,mcsj1,Cnorux,mcsj2,…,Cnorux,mcsjv,where Cnorux,mcsj(v) is the normalized property value.
Pearson Correlation Coefficient (PCC) has been successfully employed to obtain the numerical distance between different users for similarity calculation [4, 5]. Let ux and uy be two users; then PCC is applied to calculate the context similarity between ux and uy over service mcsj by(4)simCmcsjux,uy=∑s=1vCnorux,mcsjs-C-ux,mcsjnorsCnoruy,mcsjs-C-uy,mcsjnors∑s=1vCnorux,mcsjs-C-ux,mcsjnors2∑s=1vCnoruy,mcsjs-C-uy,mcsjnors2,where simCmcsj(ux,uy) expresses the context similarity between ux and uy and it is in the interval of [-1,1], and C-ux,mcsj(s) and C-uy,mcsj(s) stand for the average values of context.


#### 3.1.2. Interest Similarity Computation

In mobile cloud computing environments, each user lives in a large network of friends which is called social network. It has been reported that user interests’ similarity can be leveraged to support services and products recommendation [22]. A user prefers to choose the items recommended by other users with similar interest in a social network. Exploring those users of a high interest similarity with the existing clients could efficiently enlarge client groups for cloud service providers [22].Here, we use cosine similarity to compute interest similarity, similar to [22]. Interest similarity between users ux and uy is then defined as the cosine distance between their respective cloud service invocation sets:(5)simIux,uy=Iux∩IuyIux·Iuy,where Iux=lux (lux is the number of mobile cloud services which have been invoked by ux) and Iux∩Iuy is the number of mobile cloud services which have been coinvoked by ux and uy. If lux=0 or luy=0, simI(ux,uy) is undefined.Cloud service invocation is an important factor to determine the interest of users [5]. For example, user ux has invoked mobile cloud services mcs1, mcs3, mcs6, and mcs7, uy has invoked mcs6 and mcs7, and uz has invoked mcs1 and mcs2. Though ux, uy, and uz do not know each other in real world, and ux and uy have a high interest similarity than ux and uz, as they both invoked mcs6 and mcs7 [4].


#### 3.1.3. Getting Initial Ranking Results

We first predict the missing valuerux,mcsj of mobile cloud service mcsj made by user um before making initial ranking results. For every mobile cloud service, only the Top-k similar training user is selected to make missing value prediction. Based on the simU(ux,uy) values, a set of the Top-k similar training users NCmcsj(ux) over service mcsj is identified for target user ux by(6)NCmcsjux=uy∣uy∈TSux,simUux,uy>0,ux≠uy,where TSux is a set of the Top-k similar training users to target user ux and simU(ux,uy)>0 excludes the dissimilar user with negative similar values. The value of simU(ux,uy) in (6) is calculated by (2). The missing value rux,mcsj is predicted as follows:(7)rux,mcsj=r-ux+∑uy∈NCmcsjuxruy,mcsj-r-uysimUux,uy∑uy∈NCmcsjuxsimUux,uy,where r-ux and r-uy are the average value of service usage experiences (QoS value or customer rating) of mobile cloud service made by users ux and uy, respectively. As different QoS properties have different dimensions and range of values, we first ensure predicted missing values in the range of [0,1]. In [5], QoS properties are classified into two categories: “cost” and “benefit.” For “cost” property (response-time), the lower its value is, the greater possibility that a user would choose it becomes. In SSRM, all QoS properties are considered as “benefit” attribute. Normalized missing value Qux,mcsj is computed as follows:(8)
Q
u
x
,
m
c
s
j
=
r
u
x
,
m
c
s
j
-
min
⁡
r
u
x
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“benefit”
max
⁡
r
u
x
-
r
u
x
,
m
c
s
j
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“cost”
,where min(rux) and max(rux) denote the minimum and maximum QoS property value for user ux and they are subject to the following constraints:(9)min⁡rux=min⁡rux,mcsj∣j=1,…,nmax⁡rux=max⁡rux,mcsj∣j=1,…,n.Q u x , m c s j is in the range of [0,1]. The larger its value is, the more possibility that user ux would be satisfied with the service becomes. Finally, the cloud services are ranked for ux in the order of decreasing Qux,mcsj values for cloud service selection, similar to [4]. The basic ranking algorithm is shown in Algorithm 1. The basic ranking algorithm is similar to [3]. Compared with [3–5], in our ranking algorithm, the user similarity is measured based on user context information and user interest. In addition, the basic ranking algorithm is enhanced in Section 3.2. In the enhanced ranking algorithm, we calculate the relational degree among cloud services and utilize it to improve the accuracy of ranking results.Algorithm 1:Basic ranking algorithm.
Input: an employed service setE; a full service setI; an employed similar training user setNCmcsj(ux); observed service usage experience valuesruy,mcsj(uy∈NCmcsjux) Out: a service rankingR^ F = E; while F ≠ Ø do t = a r g m a x m c s j ∈ F Q u x , m c s j; R e ( t ) = | E | - | F | + 1; F = F - { t }; end foreach m c s j ∈ I do Q u x , m c s j = r u x , m c s j - min ⁡ ( r u x ) max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “benefit” max ⁡ ( r u x ) - r u x , m c s j max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “cost” end n = | I |; while I ≠ Ø do t = a r g  m a x m c s j ∈ I Q u x , m c s j R ^ t = n - | I | + 1; I = I - { t }; end endThe basic algorithm ranks the employed mobile cloud service inE based on the observed historical service usage experiences. The ranking results are stored in Re(t) which is in the interval [1,E]. A smaller value shows a higher rank. t expresses a mobile cloud service. For every cloud service mcsj, normalized value Qux,mcsj is calculated. Services are ranked from high to low by picking up the service t that has the maximum Qux,mcsj value.


### 3.2. Improving Accuracy of Ranking Results

Through calculating the similar relation among users, the missing valuerux,mcsj is successfully predicted in Section 3.1. However, the relation among cloud services is no doubt an important evaluation factor of missing value prediction. The related services will be probably selected by the same user based on the intuition [9]. Therefore, we calculate the relational degree and utilize it to improve the accuracy of missing value rux,mcsj computation in the section. The relational degree between service mcsj and service mcsi is denoted as dji. In the paper, PropFlow [23] is used to calculate dji. PropFlow algorithm computes the information flow between services, where a larger value indicates tighter relation. In order to calculate dji, we firstly describe the formal definition of service relation graph.Definition 2 (service relation graph).
Given a set of services MCS and a totally ordered domain of weightsW, a service relation graph is a weighted undirected graph G=(MCS,E). The edge (mcsi;mcsj;wij) in the set E∈U×U×W encodes the link weight wij (wij≥0) between service mcsi and service mcsj. An edge depicts the direct link relationship between mcsi and mcsj. As G is undirected, wij=wji.
Equation (10) shows how to calculate dji.(10)dji=Inputj∗wji∑k∈Njwjk,where initial input is regarded as 1 and N(j) is the set of neighbors of mcsj.Figure3 shows an example of relation degree computation, where there are six kinds of mobile cloud services. mcsi and mcsj are indirectly linked. We assume mcsj is starting node.Figure 3
An example of service relation graph.Four paths can reachmcsi from mcsj, but only two paths are considered for computation based on PropFlow algorithm. They are mcsj→mcsk→mcsl→mcsi and mcsj→mcsk→mcse→mcsi.First, we computedjk. The sum of link weights of mcsj and its neighbor is 4. djk is computed as(11)djk=1∗31+3=1∗34=34.d k l is computed as(12)dkl=djk∗11+1+2=34∗14=316.With the same method,dji is computed as(13)dji=dli+dei=dkl∗55+dke∗11=38.More details of calculatingdji are shown in [24].Next, we assume servicemcsi is invoked recently by user ux. dji is incorporated into (7), and then, the missing value rux,mcsj is computed with (14) in basic ranking algorithm. Finally, the ultimate ranking results are got(14)rux,mcsj=r-ux+∑uy∈NCmcsjuxruy,mcsj-r-uysimUux,uy∑uy∈NCmcsjuxsimUux,uy1+dji.In SSRM, we only select trusted mobile cloud service as candidates. Therefore, a set of trusted candidates are identified forux by(15)MCSx=mcsj∣trustmcsj>μx,j=1,…,N,where trustmcsj denotes the trustworthiness of mobile cloud service mcsj and μx expresses the trust threshold decided by user ux. Many existing methods [4–6] can be applied to compute trustmcsj. Here, how to compute trustmcsj is not to be discussed. We omit the details for brevity.


## 3.1. User Similarity Computation

Givenm users and n mobile cloud services, the user-service matrix (USM) for predicting the missing service usage experiences is denoted as (1)ru1,mcs1⋯ru1,mcsn⋮⋱⋮rum,mcs1⋯rum,mcsn,where rum,mcsn expresses historical service usage experiences (QoS value or customer rating) of mobile cloud service mcsn made by user um. “rm,n=null” states that um did not invoke mcsn yet. In order to get the ranking results, we firstly calculate user similarity. The user similarity is measured with the following equation:(2)simUux,uy=λ∗simCux,uy+1-λsimIux,uy,where ux and uy denote two users. simC(ux,uy) and simI(ux,uy), respectively, express context similarity and user interest similarity between ux and uy. λ is defined to determine how much similarity measure relies on context and interest. λ is in the interval [0,1].


### 3.1.1. Context Similarity Computation

Cloud service selection of a user in a context (e.g., a laptop with enough battery) may be much different from that of another user in a different context (e.g., a smart phone without enough battery). Hence, cloud service selection can be significantly affected by user context. To evaluate the context similarities between target user and training user, we provide the definition of context. The definition from [21] is referenced by us. Let rux,mcsj be usage experience of cloud service mcsj made by user ux.Definition 1 (context).
ContextCux,mcsj is any information that can be used to characterize the situation where usage experience rux,mcsj of cloud service mcsj is made by user ux.
Context information has different properties which include location, resource ability, and status. Letv be the type of context property of Cux,mcsj.
The contextCux,mcsj is denoted as(3)Cux,mcsj=Cnorux,mcsj1,Cnorux,mcsj2,…,Cnorux,mcsjv,where Cnorux,mcsj(v) is the normalized property value.
Pearson Correlation Coefficient (PCC) has been successfully employed to obtain the numerical distance between different users for similarity calculation [4, 5]. Let ux and uy be two users; then PCC is applied to calculate the context similarity between ux and uy over service mcsj by(4)simCmcsjux,uy=∑s=1vCnorux,mcsjs-C-ux,mcsjnorsCnoruy,mcsjs-C-uy,mcsjnors∑s=1vCnorux,mcsjs-C-ux,mcsjnors2∑s=1vCnoruy,mcsjs-C-uy,mcsjnors2,where simCmcsj(ux,uy) expresses the context similarity between ux and uy and it is in the interval of [-1,1], and C-ux,mcsj(s) and C-uy,mcsj(s) stand for the average values of context.


### 3.1.2. Interest Similarity Computation

In mobile cloud computing environments, each user lives in a large network of friends which is called social network. It has been reported that user interests’ similarity can be leveraged to support services and products recommendation [22]. A user prefers to choose the items recommended by other users with similar interest in a social network. Exploring those users of a high interest similarity with the existing clients could efficiently enlarge client groups for cloud service providers [22].Here, we use cosine similarity to compute interest similarity, similar to [22]. Interest similarity between users ux and uy is then defined as the cosine distance between their respective cloud service invocation sets:(5)simIux,uy=Iux∩IuyIux·Iuy,where Iux=lux (lux is the number of mobile cloud services which have been invoked by ux) and Iux∩Iuy is the number of mobile cloud services which have been coinvoked by ux and uy. If lux=0 or luy=0, simI(ux,uy) is undefined.Cloud service invocation is an important factor to determine the interest of users [5]. For example, user ux has invoked mobile cloud services mcs1, mcs3, mcs6, and mcs7, uy has invoked mcs6 and mcs7, and uz has invoked mcs1 and mcs2. Though ux, uy, and uz do not know each other in real world, and ux and uy have a high interest similarity than ux and uz, as they both invoked mcs6 and mcs7 [4].


### 3.1.3. Getting Initial Ranking Results

We first predict the missing valuerux,mcsj of mobile cloud service mcsj made by user um before making initial ranking results. For every mobile cloud service, only the Top-k similar training user is selected to make missing value prediction. Based on the simU(ux,uy) values, a set of the Top-k similar training users NCmcsj(ux) over service mcsj is identified for target user ux by(6)NCmcsjux=uy∣uy∈TSux,simUux,uy>0,ux≠uy,where TSux is a set of the Top-k similar training users to target user ux and simU(ux,uy)>0 excludes the dissimilar user with negative similar values. The value of simU(ux,uy) in (6) is calculated by (2). The missing value rux,mcsj is predicted as follows:(7)rux,mcsj=r-ux+∑uy∈NCmcsjuxruy,mcsj-r-uysimUux,uy∑uy∈NCmcsjuxsimUux,uy,where r-ux and r-uy are the average value of service usage experiences (QoS value or customer rating) of mobile cloud service made by users ux and uy, respectively. As different QoS properties have different dimensions and range of values, we first ensure predicted missing values in the range of [0,1]. In [5], QoS properties are classified into two categories: “cost” and “benefit.” For “cost” property (response-time), the lower its value is, the greater possibility that a user would choose it becomes. In SSRM, all QoS properties are considered as “benefit” attribute. Normalized missing value Qux,mcsj is computed as follows:(8)
Q
u
x
,
m
c
s
j
=
r
u
x
,
m
c
s
j
-
min
⁡
r
u
x
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“benefit”
max
⁡
r
u
x
-
r
u
x
,
m
c
s
j
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“cost”
,where min(rux) and max(rux) denote the minimum and maximum QoS property value for user ux and they are subject to the following constraints:(9)min⁡rux=min⁡rux,mcsj∣j=1,…,nmax⁡rux=max⁡rux,mcsj∣j=1,…,n.Q u x , m c s j is in the range of [0,1]. The larger its value is, the more possibility that user ux would be satisfied with the service becomes. Finally, the cloud services are ranked for ux in the order of decreasing Qux,mcsj values for cloud service selection, similar to [4]. The basic ranking algorithm is shown in Algorithm 1. The basic ranking algorithm is similar to [3]. Compared with [3–5], in our ranking algorithm, the user similarity is measured based on user context information and user interest. In addition, the basic ranking algorithm is enhanced in Section 3.2. In the enhanced ranking algorithm, we calculate the relational degree among cloud services and utilize it to improve the accuracy of ranking results.Algorithm 1:Basic ranking algorithm.
Input: an employed service setE; a full service setI; an employed similar training user setNCmcsj(ux); observed service usage experience valuesruy,mcsj(uy∈NCmcsjux) Out: a service rankingR^ F = E; while F ≠ Ø do t = a r g m a x m c s j ∈ F Q u x , m c s j; R e ( t ) = | E | - | F | + 1; F = F - { t }; end foreach m c s j ∈ I do Q u x , m c s j = r u x , m c s j - min ⁡ ( r u x ) max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “benefit” max ⁡ ( r u x ) - r u x , m c s j max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “cost” end n = | I |; while I ≠ Ø do t = a r g  m a x m c s j ∈ I Q u x , m c s j R ^ t = n - | I | + 1; I = I - { t }; end endThe basic algorithm ranks the employed mobile cloud service inE based on the observed historical service usage experiences. The ranking results are stored in Re(t) which is in the interval [1,E]. A smaller value shows a higher rank. t expresses a mobile cloud service. For every cloud service mcsj, normalized value Qux,mcsj is calculated. Services are ranked from high to low by picking up the service t that has the maximum Qux,mcsj value.


## 3.1.1. Context Similarity Computation

Cloud service selection of a user in a context (e.g., a laptop with enough battery) may be much different from that of another user in a different context (e.g., a smart phone without enough battery). Hence, cloud service selection can be significantly affected by user context. To evaluate the context similarities between target user and training user, we provide the definition of context. The definition from [21] is referenced by us. Let rux,mcsj be usage experience of cloud service mcsj made by user ux.Definition 1 (context).
ContextCux,mcsj is any information that can be used to characterize the situation where usage experience rux,mcsj of cloud service mcsj is made by user ux.
Context information has different properties which include location, resource ability, and status. Letv be the type of context property of Cux,mcsj.
The contextCux,mcsj is denoted as(3)Cux,mcsj=Cnorux,mcsj1,Cnorux,mcsj2,…,Cnorux,mcsjv,where Cnorux,mcsj(v) is the normalized property value.
Pearson Correlation Coefficient (PCC) has been successfully employed to obtain the numerical distance between different users for similarity calculation [4, 5]. Let ux and uy be two users; then PCC is applied to calculate the context similarity between ux and uy over service mcsj by(4)simCmcsjux,uy=∑s=1vCnorux,mcsjs-C-ux,mcsjnorsCnoruy,mcsjs-C-uy,mcsjnors∑s=1vCnorux,mcsjs-C-ux,mcsjnors2∑s=1vCnoruy,mcsjs-C-uy,mcsjnors2,where simCmcsj(ux,uy) expresses the context similarity between ux and uy and it is in the interval of [-1,1], and C-ux,mcsj(s) and C-uy,mcsj(s) stand for the average values of context.


## 3.1.2. Interest Similarity Computation

In mobile cloud computing environments, each user lives in a large network of friends which is called social network. It has been reported that user interests’ similarity can be leveraged to support services and products recommendation [22]. A user prefers to choose the items recommended by other users with similar interest in a social network. Exploring those users of a high interest similarity with the existing clients could efficiently enlarge client groups for cloud service providers [22].Here, we use cosine similarity to compute interest similarity, similar to [22]. Interest similarity between users ux and uy is then defined as the cosine distance between their respective cloud service invocation sets:(5)simIux,uy=Iux∩IuyIux·Iuy,where Iux=lux (lux is the number of mobile cloud services which have been invoked by ux) and Iux∩Iuy is the number of mobile cloud services which have been coinvoked by ux and uy. If lux=0 or luy=0, simI(ux,uy) is undefined.Cloud service invocation is an important factor to determine the interest of users [5]. For example, user ux has invoked mobile cloud services mcs1, mcs3, mcs6, and mcs7, uy has invoked mcs6 and mcs7, and uz has invoked mcs1 and mcs2. Though ux, uy, and uz do not know each other in real world, and ux and uy have a high interest similarity than ux and uz, as they both invoked mcs6 and mcs7 [4].


## 3.1.3. Getting Initial Ranking Results

We first predict the missing valuerux,mcsj of mobile cloud service mcsj made by user um before making initial ranking results. For every mobile cloud service, only the Top-k similar training user is selected to make missing value prediction. Based on the simU(ux,uy) values, a set of the Top-k similar training users NCmcsj(ux) over service mcsj is identified for target user ux by(6)NCmcsjux=uy∣uy∈TSux,simUux,uy>0,ux≠uy,where TSux is a set of the Top-k similar training users to target user ux and simU(ux,uy)>0 excludes the dissimilar user with negative similar values. The value of simU(ux,uy) in (6) is calculated by (2). The missing value rux,mcsj is predicted as follows:(7)rux,mcsj=r-ux+∑uy∈NCmcsjuxruy,mcsj-r-uysimUux,uy∑uy∈NCmcsjuxsimUux,uy,where r-ux and r-uy are the average value of service usage experiences (QoS value or customer rating) of mobile cloud service made by users ux and uy, respectively. As different QoS properties have different dimensions and range of values, we first ensure predicted missing values in the range of [0,1]. In [5], QoS properties are classified into two categories: “cost” and “benefit.” For “cost” property (response-time), the lower its value is, the greater possibility that a user would choose it becomes. In SSRM, all QoS properties are considered as “benefit” attribute. Normalized missing value Qux,mcsj is computed as follows:(8)
Q
u
x
,
m
c
s
j
=
r
u
x
,
m
c
s
j
-
min
⁡
r
u
x
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“benefit”
max
⁡
r
u
x
-
r
u
x
,
m
c
s
j
max
⁡
r
u
x
-
min
⁡
r
u
x
,
r
u
x
,
m
c
s
j
∈
“cost”
,where min(rux) and max(rux) denote the minimum and maximum QoS property value for user ux and they are subject to the following constraints:(9)min⁡rux=min⁡rux,mcsj∣j=1,…,nmax⁡rux=max⁡rux,mcsj∣j=1,…,n.Q u x , m c s j is in the range of [0,1]. The larger its value is, the more possibility that user ux would be satisfied with the service becomes. Finally, the cloud services are ranked for ux in the order of decreasing Qux,mcsj values for cloud service selection, similar to [4]. The basic ranking algorithm is shown in Algorithm 1. The basic ranking algorithm is similar to [3]. Compared with [3–5], in our ranking algorithm, the user similarity is measured based on user context information and user interest. In addition, the basic ranking algorithm is enhanced in Section 3.2. In the enhanced ranking algorithm, we calculate the relational degree among cloud services and utilize it to improve the accuracy of ranking results.Algorithm 1:Basic ranking algorithm.
Input: an employed service setE; a full service setI; an employed similar training user setNCmcsj(ux); observed service usage experience valuesruy,mcsj(uy∈NCmcsjux) Out: a service rankingR^ F = E; while F ≠ Ø do t = a r g m a x m c s j ∈ F Q u x , m c s j; R e ( t ) = | E | - | F | + 1; F = F - { t }; end foreach m c s j ∈ I do Q u x , m c s j = r u x , m c s j - min ⁡ ( r u x ) max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “benefit” max ⁡ ( r u x ) - r u x , m c s j max ⁡ ( r u x ) - min ⁡ ( r u x ) , r u x , m c s j ∈ “cost” end n = | I |; while I ≠ Ø do t = a r g  m a x m c s j ∈ I Q u x , m c s j R ^ t = n - | I | + 1; I = I - { t }; end endThe basic algorithm ranks the employed mobile cloud service inE based on the observed historical service usage experiences. The ranking results are stored in Re(t) which is in the interval [1,E]. A smaller value shows a higher rank. t expresses a mobile cloud service. For every cloud service mcsj, normalized value Qux,mcsj is calculated. Services are ranked from high to low by picking up the service t that has the maximum Qux,mcsj value.


## 3.2. Improving Accuracy of Ranking Results

Through calculating the similar relation among users, the missing valuerux,mcsj is successfully predicted in Section 3.1. However, the relation among cloud services is no doubt an important evaluation factor of missing value prediction. The related services will be probably selected by the same user based on the intuition [9]. Therefore, we calculate the relational degree and utilize it to improve the accuracy of missing value rux,mcsj computation in the section. The relational degree between service mcsj and service mcsi is denoted as dji. In the paper, PropFlow [23] is used to calculate dji. PropFlow algorithm computes the information flow between services, where a larger value indicates tighter relation. In order to calculate dji, we firstly describe the formal definition of service relation graph.Definition 2 (service relation graph).
Given a set of services MCS and a totally ordered domain of weightsW, a service relation graph is a weighted undirected graph G=(MCS,E). The edge (mcsi;mcsj;wij) in the set E∈U×U×W encodes the link weight wij (wij≥0) between service mcsi and service mcsj. An edge depicts the direct link relationship between mcsi and mcsj. As G is undirected, wij=wji.
Equation (10) shows how to calculate dji.(10)dji=Inputj∗wji∑k∈Njwjk,where initial input is regarded as 1 and N(j) is the set of neighbors of mcsj.Figure3 shows an example of relation degree computation, where there are six kinds of mobile cloud services. mcsi and mcsj are indirectly linked. We assume mcsj is starting node.Figure 3
An example of service relation graph.Four paths can reachmcsi from mcsj, but only two paths are considered for computation based on PropFlow algorithm. They are mcsj→mcsk→mcsl→mcsi and mcsj→mcsk→mcse→mcsi.First, we computedjk. The sum of link weights of mcsj and its neighbor is 4. djk is computed as(11)djk=1∗31+3=1∗34=34.d k l is computed as(12)dkl=djk∗11+1+2=34∗14=316.With the same method,dji is computed as(13)dji=dli+dei=dkl∗55+dke∗11=38.More details of calculatingdji are shown in [24].Next, we assume servicemcsi is invoked recently by user ux. dji is incorporated into (7), and then, the missing value rux,mcsj is computed with (14) in basic ranking algorithm. Finally, the ultimate ranking results are got(14)rux,mcsj=r-ux+∑uy∈NCmcsjuxruy,mcsj-r-uysimUux,uy∑uy∈NCmcsjuxsimUux,uy1+dji.In SSRM, we only select trusted mobile cloud service as candidates. Therefore, a set of trusted candidates are identified forux by(15)MCSx=mcsj∣trustmcsj>μx,j=1,…,N,where trustmcsj denotes the trustworthiness of mobile cloud service mcsj and μx expresses the trust threshold decided by user ux. Many existing methods [4–6] can be applied to compute trustmcsj. Here, how to compute trustmcsj is not to be discussed. We omit the details for brevity.


## 4. Experimental Study

In this section, in order to evaluate the effectiveness of SSRM, a series of test scenarios are developed. To study the prediction performance, we compare SSRM with other two traditional approaches: item-based CF approach (IBCF) and user-based CF approach (UBCF). SSRM, IBCF, and UBCF are rating-oriented methods, which rank the cloud services based on the predicted QoS values. Since there is no suitable real data supporting mobile cloud computing simulation, we use ns3 simulator to generate the experimental dataset. Firstly, we generated cloud service invocation codes by Axis2 [25], a Java-based open source package for cloud services. Then we simulate mobile cloud service on ns3 [26] based on the invocation codes. On ns3, the creation of servers, mobile users, and service model was easier than with other network simulators. In the simulating process of dataset, the real-world web service QoS dataset from WS-DREAM team [3] is referenced by us. The detailed real-world QoS values are publicly released online [27], which makes our experimental evaluations reproducible. We simulate 100 mobile users, 25 servers, and 300 services. The value of link weight between two services is randomly generated, which is in the range of [1,5]. In order to conduct our experiments realistically, the changes of user context information are simulated. Three types of context are considered including bandwidth, memory, and battery capacity. The bandwidth value of a mobile user is in the range of 4 M–8 M. The values of memory and battery capacity will decline over time. These values are in the range of 100000000–2100000000 MB and 0.5–2 KVA.We normalize the context information by(16)Cnorux,mcsjv=atan⁡Cux,mcsjv∗2π,where Cnorux,mcsj(v) denotes the normalized context value of user ux over cloud service mcsj. Inverse tangent function is applied to normalize the raw data Cux,mcsj(v). Then, these normalized property values are used to calculate context similarity with (4). Once the context simulation is finished, the target user ux will obtain context similarity results for each cloud service.Similar to [3], QoS properties include throughput and response-time that are in the range of 0–1000 kbps and 0–20 second, respectively. Most of the throughput and response-time values fall between 5–40 kbps and 0.1–0.8 seconds. In order to simply the experimental process, 200 service QoS records are randomly selected and two 100 × 200 user-service matrices are constructed. The two matrices include throughput and response-time, respectively. User-service matrices are separated into two parts: training set (80% historical usage experiences in the matrix) and test set (the remaining 20% usage experiences). Each entry in the matrix is the QoS value (e.g., response-time or throughput) of a mobile cloud service observed by a user. The experiments employ the QoS values of response-time and throughput to rank the services independently. Table 1 shows descriptions of the obtained practical cloud service QoS values and context information.Table 1
Mobile cloud service QoS dataset and context information descriptions.
Statistics Value Number of mobile cloud service invocations 180,000 Number of service users 100 Number of mobile cloud services 200 Minimum response-time value 0.004 s Maximum response-time value 20 s Mean of response-time 1.10 s Standard deviation of response-time 2.26 s Minimum throughput value 0.1 kbps Maximum throughput value 1000 kbps Mean of throughput 25.46 kbps Standard deviation of throughput 48.03 kbps Bandwidth 4 M–8 M Memory 100000000 MB–2100000000 MB Battery capacity 0.5 KVA–2 KVAWe use Mean Absolute Error (MAE) and Root Mean Square Error (RMSE) as the metric to evaluate prediction performance of the proposed approach in comparison with other approaches. MAE and RMSE are defined as(17)MAE=∑ux,mcsjractux,mcsj-rpreux,mcsjlpre,RMSE=∑ux,mcsjractux,mcsj-rpreux,mcsj2lpre,where ractux,mcsj and rpreux,mcsj denote the actual QoS value and predicted value, respectively. lpre is the number of predicted QoS values. Smaller values of MAE and RMSE indicate better results.


### 4.1. Impact ofλ

λ is weighting factor in (2). λ determines how much similarity measure relies on context and interest. In the experiment, we vary the weighting factor λ from 0 to 1 in increment of 0.1. The Top-k is set to 5. Matrix density is set to 10%. Matrix density means the percentage of selected QoS entries that are used to predict the missing QoS value. The experimental results are shown in Figure 4. As the value of λ increases, MAE firstly decreases and then quickly increases. When λ=0.4, our results have the best value. As shown in Figure 4(b), RMSE presents similar trend.Figure 4
Impact of weighting factorλ.
(a)
MAE values (b)
RMSE values


### 4.2. Performance Comparison of SSRM, IBCF, and UBCF

To compare the performance of SSRM, IBCF, and UBCF similarity computation methods, we implement IBCF and UBCF methods.Item-Based CF Approach (IBCF). We apply PCC to calculate similarities between users and predicted QoS values based on similar users. The user similarity is calculated by(18)simux,uy=∑mcsj∈mcsux,uyrux,mcsj-r-uxruy,mcsj-r-uy∑mcsj∈mcsux,uyrux,mcsj-r-ux2∑mcsj∈mcsux,uyruy,mcsj-r-uy2,where mcsux,uy is the set of mobile cloud services that have been coinvoked by ux and uy. r-uxand r-uy are average QoS values of cloud service invoked by ux and uy, respectively.User-Based CF Approach (UBCF). We apply PCC to calculate similarities between services and predicted QoS values based on similar services. The service similarity is calculated by(19)simmcsj,mcsi=∑ux∈umcsj,mcsirux,mcsj-r-mcsjrux,mcsi-r-mcsi∑ux∈umcsj,mcsirux,mcsj-r-mcsj2∑ux∈umcsj,mcsirux,mcsi-r-mcsi2,where umcsj,mcsi is the set of users who have invoked the cloud services mcsj and mcsi. r-mcsj and r-mcsi are average QoS values of cloud services mcsj and mcsi made by ux.In the experiments, trustworthiness of cloud service has no influence on similarity computation and service decision in the experiments. In order to simplify the experimental process, we consider all cloud services are trustworthy. Weighting factorλ is set to 0.4. We firstly study the effect of neighbor size k. Matrix density is set to 10%. We change k from 5 to 30 in increment of 5. Figure 5 shows the experimental results for response-time and throughput.Figure 5
Impact of neighbor sizek comparison with SSRM, IBCF, and UBCF.
(a) (b) (c) (d)As shown in Figure5, the prediction performance of SSRM outperforms other two approaches. The performance of IBCF is similar to UBCF. As the values of k increase, better accuracy can be achieved. This indicates that more similar neighbor records can provide more information for missing value prediction. However, when k is larger than 25, MAE and RSME fail to drop with the value of k increasing. The main reason is the limited number of similar neighbors. The observations also show that RMSE has the similar trend, but with larger fluctuations.Next, we investigate the impact of matrix density. The matrix density varies from 10% to 50% in increment of 10%. Similar user sizek is set to 5 in this experiment. Figure 6 shows the experimental results for response-time and throughput.Figure 6
Impact of matrix density comparison with SSRM, IBCF, and UBCF.
(a) (b) (c) (d)As presented in Figure6, the prediction performance is also enhanced with the value of matrix density increasing. The main reason is that denser user-service matrix provides more information for missing value prediction. NARM has the better performance than LBCF and UBCF under all experimental setting consistently, since NARM considers context similarity and the relational degree among cloud services. The experimental results of LBCF and UBCF are similar in this experiment, since these two similarity computation methods are similar to each other and are both rating-oriented.


### 4.3. Performance Comparison with Other Popular Approaches

To study the prediction performance of SSRM, we compare SSRM with three existing QoS properties prediction approaches: CloudRank2 [3], TECSS [4], and JV-PCC [5].The size of Top-k similar service is an important factor in CF approach, which determines how many neighbors’ historical records are employed to generate predictions [5]. Therefore, the impact of matrix density is not considered in the experiments. We set the density to 10%. We vary k from 5 to 30 in increment of 5. In order to simplify the experimental process, we consider all cloud services are trustworthy. Figure 7 shows the experimental results for response-time and throughput. Under the same simulation condition, SSRM significantly outperforms CloudRank2, TECSS, and JV-PCC. The observations also suggest that better accuracy can be achieved by our model when more historical records are available in the service selection study. The main reason is that computing context similarity can improve the performance of prediction evaluation in MCC environments.Figure 7
Impact of neighbor sizek comparison with other popular approaches.
(a) (b) (c) (d)Figures7(a) and 7(b) depict the MAE fractions of SSRM, CloudRank2, TECSS, and JV-PCC for response-time and throughput, while Figures 7(c) and 7(d) depict the RMSE fractions. It can be observed that SSRM achieves smaller MAE and RMSE consistently than other approaches for both response-time and throughput.


## 4.1. Impact ofλ

λ is weighting factor in (2). λ determines how much similarity measure relies on context and interest. In the experiment, we vary the weighting factor λ from 0 to 1 in increment of 0.1. The Top-k is set to 5. Matrix density is set to 10%. Matrix density means the percentage of selected QoS entries that are used to predict the missing QoS value. The experimental results are shown in Figure 4. As the value of λ increases, MAE firstly decreases and then quickly increases. When λ=0.4, our results have the best value. As shown in Figure 4(b), RMSE presents similar trend.Figure 4
Impact of weighting factorλ.
(a)
MAE values (b)
RMSE values


## 4.2. Performance Comparison of SSRM, IBCF, and UBCF

To compare the performance of SSRM, IBCF, and UBCF similarity computation methods, we implement IBCF and UBCF methods.Item-Based CF Approach (IBCF). We apply PCC to calculate similarities between users and predicted QoS values based on similar users. The user similarity is calculated by(18)simux,uy=∑mcsj∈mcsux,uyrux,mcsj-r-uxruy,mcsj-r-uy∑mcsj∈mcsux,uyrux,mcsj-r-ux2∑mcsj∈mcsux,uyruy,mcsj-r-uy2,where mcsux,uy is the set of mobile cloud services that have been coinvoked by ux and uy. r-uxand r-uy are average QoS values of cloud service invoked by ux and uy, respectively.User-Based CF Approach (UBCF). We apply PCC to calculate similarities between services and predicted QoS values based on similar services. The service similarity is calculated by(19)simmcsj,mcsi=∑ux∈umcsj,mcsirux,mcsj-r-mcsjrux,mcsi-r-mcsi∑ux∈umcsj,mcsirux,mcsj-r-mcsj2∑ux∈umcsj,mcsirux,mcsi-r-mcsi2,where umcsj,mcsi is the set of users who have invoked the cloud services mcsj and mcsi. r-mcsj and r-mcsi are average QoS values of cloud services mcsj and mcsi made by ux.In the experiments, trustworthiness of cloud service has no influence on similarity computation and service decision in the experiments. In order to simplify the experimental process, we consider all cloud services are trustworthy. Weighting factorλ is set to 0.4. We firstly study the effect of neighbor size k. Matrix density is set to 10%. We change k from 5 to 30 in increment of 5. Figure 5 shows the experimental results for response-time and throughput.Figure 5
Impact of neighbor sizek comparison with SSRM, IBCF, and UBCF.
(a) (b) (c) (d)As shown in Figure5, the prediction performance of SSRM outperforms other two approaches. The performance of IBCF is similar to UBCF. As the values of k increase, better accuracy can be achieved. This indicates that more similar neighbor records can provide more information for missing value prediction. However, when k is larger than 25, MAE and RSME fail to drop with the value of k increasing. The main reason is the limited number of similar neighbors. The observations also show that RMSE has the similar trend, but with larger fluctuations.Next, we investigate the impact of matrix density. The matrix density varies from 10% to 50% in increment of 10%. Similar user sizek is set to 5 in this experiment. Figure 6 shows the experimental results for response-time and throughput.Figure 6
Impact of matrix density comparison with SSRM, IBCF, and UBCF.
(a) (b) (c) (d)As presented in Figure6, the prediction performance is also enhanced with the value of matrix density increasing. The main reason is that denser user-service matrix provides more information for missing value prediction. NARM has the better performance than LBCF and UBCF under all experimental setting consistently, since NARM considers context similarity and the relational degree among cloud services. The experimental results of LBCF and UBCF are similar in this experiment, since these two similarity computation methods are similar to each other and are both rating-oriented.


## 4.3. Performance Comparison with Other Popular Approaches

To study the prediction performance of SSRM, we compare SSRM with three existing QoS properties prediction approaches: CloudRank2 [3], TECSS [4], and JV-PCC [5].The size of Top-k similar service is an important factor in CF approach, which determines how many neighbors’ historical records are employed to generate predictions [5]. Therefore, the impact of matrix density is not considered in the experiments. We set the density to 10%. We vary k from 5 to 30 in increment of 5. In order to simplify the experimental process, we consider all cloud services are trustworthy. Figure 7 shows the experimental results for response-time and throughput. Under the same simulation condition, SSRM significantly outperforms CloudRank2, TECSS, and JV-PCC. The observations also suggest that better accuracy can be achieved by our model when more historical records are available in the service selection study. The main reason is that computing context similarity can improve the performance of prediction evaluation in MCC environments.Figure 7
Impact of neighbor sizek comparison with other popular approaches.
(a) (b) (c) (d)Figures7(a) and 7(b) depict the MAE fractions of SSRM, CloudRank2, TECSS, and JV-PCC for response-time and throughput, while Figures 7(c) and 7(d) depict the RMSE fractions. It can be observed that SSRM achieves smaller MAE and RMSE consistently than other approaches for both response-time and throughput.


## 5. Conclusions and Future

In the paper, we propose a novel service selection and recommendation model (SSRM) for mobile cloud computing environments. When calculating user similarity, context information and interest are considered. Through utilizing relational degree to improve the accuracy of ranking result, our service selection and recommendation method succeed in obtaining the ultimate service ranking results. In addition, SSRM only selects trusted mobile cloud service as candidates. Therefore, a set of trusted candidates are identified for target user. The experimental results show that our approach significantly improves the prediction performance as compared with other two traditional approaches: item-based CF approach (IBCF) and user-based CF approach (UBCF).There are some disadvantages in our SSRM. Firstly, we exploit node distance to compute context similarity. There is an underlying assumption in this exploitation: each of the two adjacent nodes has equal semantic distance or granularity of nodes in each level is identical. This underlying assumption is not true in some scenarios and it deteriorates the performance of similarity evaluation. Secondly, the trust threshold is used to select trusted mobile cloud service as candidates. However, it cannot detect and exclude malicious QoS values provided by users. Thirdly, in our experiments there are only three types of context information that are considered.Therefore, in the future, we will study the methods to improve context similarity measurement. We will study how to select the most trustworthy cloud service of certain type for the active users based on multidimensional trust evidence. We also will conduct more experimental investigations that deal with the impact of different context changes on service selection. Moreover, we will improve the ranking accuracy of our approaches by exploiting additional techniques (combining rating-oriented approaches and ranking-oriented approaches, matrix factorization, intelligent optimization algorithms, etc.).



---

*Source: 3105278-2018-03-05.xml*