# Privacy-Preserving and Scalable Service Recommendation Based on SimHash in a Distributed Cloud Environment

Authors: Yanwei Xu; Lianyong Qi; Wanchun Dou; Jiguo Yu
Journal: Complexity
 (2017)

---

## Abstract

With the increasing volume of web services in the cloud environment, Collaborative Filtering- (CF-) based service recommendation has become one of the most effective techniques to alleviate the heavy burden on the service selection decisions of a target user. However, the service recommendation bases, that is, historical service usage data, are often distributed in different cloud platforms. Two challenges are present in such a cross-cloud service recommendation scenario. First, a cloud platform is often not willing to share its data to other cloud platforms due to privacy concerns, which decreases the feasibility of cross-cloud service recommendation severely. Second, the historical service usage data recorded in each cloud platform may update over time, which reduces the recommendation scalability significantly. In view of these two challenges, a novel privacy-preserving and scalable service recommendation approach based on SimHash, namedSerRecSimHash, is proposed in this paper. Finally, through a set of experiments deployed on a real distributed service quality datasetWS-DREAM, we validate the feasibility of our proposal in terms of recommendation accuracy and efficiency while guaranteeing privacy-preservation.


---

## Body

## 1. Introduction

With the ever-increasing volume and variety of web services in various web-based communities, it becomes a challenging task to find the web services that a target user is really interested in [1–3]. In this situation, various service recommendation techniques are introduced to alleviate the heavy burden on the service selection decisions of target users, for example, the well-adopted user-based Collaborative Filtering (i.e., UCF). According to traditional UCF, the similar friends of a target user are often employed to make recommendations to the target user [4]. Therefore, similar friend discovery is the key step to the subsequent service recommendation.Generally, the bases for similar friend discovery, that is, historical service usage data (e.g., service quality observed by users) are centralized; in this situation, it is easy to determine the similar friends of a target user. However, in the age of IoT (Internet of Things), the quality data of various services are often monitored and collected by geographically distributed sensors and stored in different cloud platforms [5]. In this situation, the historical service usage data are not centralized, but distributed. Such a distributed service recommendation scenario calls for data sharing and collaboration between different cloud platforms. However, as work [6] indicates, this kind of cross-platform data sharing may bring additional privacy leakage risk, which decreases the feasibility of cross-cloud service recommendation severely. Besides, for the involved multiple cloud platforms, their volume of service quality data may become increasingly huge with updates over time, which leads to a frequent recalculation of user similarity and hence reduces the recommendation scalability significantly.In view of these two challenges, a novel privacy-preserving and scalable service recommendation approach based on SimHash, namedSerRecSimHash, is put forward in this paper. Our SerRecSimHash can achieve a good recommendation performance in terms of accuracy, efficiency, and privacy-preservation.Generally, the contributions of this paper are threefold:(1)
To the best of our knowledge, existing research works seldom consider the service recommendation in a distributed cloud environment, as well as the resulting privacy-preservation problems. In this paper, we formalize this privacy-preserving service recommendation problem and clarify its research significance.(2)
We put forward a novel service recommendation approach based on offline SimHash technique [7], named SerRecSimHash, to protect the private information of most users in different cloud platforms, and meanwhile improve the service recommendation efficiency and scalability.(3)
We conduct a set of experiments based on a real distributed service quality datasetWS-DREAM to validate the feasibility of our proposed SerRecSimHash approach. Experiment results show that SerRecSimHash achieves a good performance in terms of recommendation accuracy and scalability while guaranteeing privacy-preservation.The rest of the paper is organized as follows. Related work is presented in Section2. Research motivation is demonstrated in Section 3. In Section 4, we introduce the details of our proposed service recommendation approach SerRecSimHash. In Section 5, a set of experiments are conducted based onWS-DREAM dataset, to validate the feasibility and advantages of our proposal. And finally, in Section 6, we summarize the paper and point out the future research directions.


## 2. Related Work

Collaborative Filtering (i.e., CF) has become one of the most effective techniques in various recommender systems. User-based CF and item-based CF are brought forth for high-quality service recommendation in [4] and [8], respectively. In order to combine their advantages, a hybrid CF recommendation approach is introduced in [9]. Experiment results show that the hybrid approach improves the recommendation performance. As the quality of a web service often depends on the service execution context (e.g., time, location), time-aware CF and location-aware CF are proposed in [10] and [11], respectively, to improve the accuracy of recommended results. However, the above approaches cannot handle the recommendation problems where historical service usage data are very sparse. In view of this drawback, a belief propagation-based approach is proposed in [12], to find the potential friends of the target user.However, the above approaches all assume that the service recommendation bases, that is, historical service usage data, are centralized, without considering the distributed service recommendation scenarios as well as the resulting privacy leakage risk. In view of this drawback, the authors in [13] suggest that a user should release only a small portion of his/her observed service quality data to the public so that the remaining majority of user-service quality data are secure. However, the released small portion of data can still reveal part of a user’s private information. In order to protect user privacy completely, the data obfuscation technique is adopted in [14] to hide the real service quality data by adding an obfuscated data item. However, as the service quality data used to make service recommendations have been obfuscated, the recommendation accuracy is decreased accordingly; besides, additional time cost is brought by the adopted data obfuscation operation. Similarly, a segment-based data hiding approach is introduced in [15], where each piece of user-service quality data is divided into several data segments, and then the data segments are employed to calculate user similarity approximately and make further service recommendation. However, there are still two shortcomings in this approach. First, the data segmentation process often takes much time, which decreases the recommendation efficiency heavily. Second, it fails to protect some important privacy information appropriately, for example, the information of the service intersection commonly invoked by two users. Locality-sensitive hashing technique is recruited in [16] to protect and realize the privacy-preservation purpose; however, only partial private information of users can be protected very well.In view of the drawbacks of existing approaches, a novel privacy-preserving and scalable service recommendation approach based on SimHash, that is,SerRecSimHash, is proposed in this paper, to cope with the service recommendation problems in the distributed cloud environment. Next, an example is presented in Section 3 to further demonstrate the research motivation of our paper.


## 3. Research Motivation

An intuitive example is presented in Figure1 to motivate our paper. Here, utarget denotes a target user to whomAmazon platform intends to recommend services; u1 and u2 are two users whose observed service quality data are recorded inMicrosoft andIBM platforms, respectively; {ws1,…,wsn} are the candidate services for recommendation. Specifically, if a user has never invoked a service, the corresponding service quality data is null.Figure 1
Cross-cloud service recommendation: an example.Next, according to traditional UCF, the first step is to calculate user similaritysim(utarget,u1) and sim(utarget,u2) so as to determine the similar friends of utarget. However, the above user similarity calculation process involves the cross-platform collaborations and hence faces the following two challenges:(1)
Generally,Microsoft andIBM are not willing to share their recorded service quality data toAmazon due to privacy concerns, which decreases the feasibility of cross-cloud user similarity calculation and subsequent service recommendation severely.(2)
InAmazon,Microsoft, andIBM, the volume of service quality data may become increasingly huge with updates over time; in this situation, the collaboration efficiency and scalability are often reduced significantly and hence cannot satisfy the quick recommendation requirements from target users.In view of these two challenges, a privacy-preserving and scalable service recommendation approach, that is,SerRecSimHash, is proposed in this paper, which will be introduced in detail in the next section.


## 4. A SimHash-Based Service Recommendation Approach

In this section, a privacy-preserving and scalable approach, that is,SerRecSimHash, is proposed to handle the distributed service recommendation problems. The main idea behind SerRecSimHash is: the users who have invoked the most common services can be regarded as “probably similar” friends [17]; therefore, we first utilize SimHash to look for a small number of “probably similar” friends of the target user, in a privacy-preserving and scalable way; afterwards, we determine the target user’s “really similar” friends from the “probably similar” ones; finally, we make service recommendations to the target user based on the preferences of his/her “really similar” friends.Concretely,SerRecSimHash consists of the four steps in Box 1. Here, utarget denotes a target user, U is the user set in multiple involved cloud platforms, {ws1,…,wsn} is the candidate service set, and H(u) denotes the hash value of user u based on SimHash.Box 1:Four steps of service recommendation approach SerRecSimHash.
Step  1 (buliding user indexes offline based on SimHash). For each user ui∈U, calculate
his/her hash valueH(ui) offline based on SimHash. Then H(ui) is regarded as the index
forui.
Step  2 (finding “probably similar” friends of the target user). According to the same hash
function adopted in Step  1, calculate user index forutarget, that is, H(utarget). If the Hamming
Distance betweenH(utarget) and H(ui) is smaller than 3, then ui is considered as a
“probably similar” friend ofutarget.
Step  3 (finding “really similar” friends of the target user). For a “probably similar” friend ui
obtained in Step  2, calculate his/her similarity withutarget; if the similarity is larger than a
thresholdP, then ui is a “really similar” friend of utarget.
Step  4 (service recommendation). According to utarget’s “really similar” friends derived in
Step  3, predict the quality of services never invoked byutarget and recommend the
quality-optimal services toutarget.Step 1 (building user indexes offline based on SimHash).
For each userui∈U, according to his/her historical service invocation records, we can build his/her index offline, denoted by H(ui), based on SimHash technique (see Figure 2). Here, m and n denote the number of users and number of services, respectively. Next, we introduce how to obtain H(ui).
First, for each servicewsj∈WS, we can generate a random r-dimensional 0-1 vector vj where r=log2n (here, x means the upper integer of x; e.g., 3.4 = 4). Considering the example in Figure 2, r=6 and the 0-1 vector corresponding to service ws1, that is, v1=(0,0,0,0,0,1) holds. Then according to the historical service invocation records, ui can be denoted by a n-dimensional vector h1(ui)=(V1,…,Vn) in (1).(1)Vj=vjifuihas  invokedwsjbeforeNullifuihas  never  invokedwsjbefore.
Next, in vectorh1(ui), we drop the dimensions with null value and replace value “0” by value “−1”, after which a new vector h2(ui) is achieved (see Figure 2(2)). Then for the derived n∗r (at most) matrix corresponding to vector h2(ui), we calculate the sum of its each column. Afterwards, we obtain a new vector h3(ui) (see Figure 2(3)), where the positive and negative values are replaced by “1” and “0”, respectively, after which r-dimensional 0-1 vector H(ui) (see Figure 2(4)) is obtained. Then according to SimHash theory [6], H(ui) can be regarded as the index for user ui. This way, we can build indexes for all the users in set U.
For a user, his/her historical service invocation data are recorded by a certain cloud platform (e.g.,Amazon orMicrosoft orIBM in Figure 1); therefore, the user index can be built offline beforehand by the cloud platform so as to reduce the time cost. Besides, through SimHash, each user ui is encapsulated into a less-sensitive user index H(ui), without revealing his/her sensitive information (e.g.,whether he/she has invoked a service or not,a service’s running quality observed by him/her) to other platforms. Therefore, user privacy is protected.Figure 2
User indexes building procedure in Step  1: an example.Step 2 (finding “probably similar” friends of the target user).
According to same hash functions adopted in Step  1, we calculate the index for the target user, that is,H(utarget). Next, we calculate the Hamming Distance between H(utarget) and H(ui) (1≤i≤m), denoted by D(H(utarget),H(ui)). Concretely, suppose H(utarget) and H(ui) are denoted by r-dimensional vectors (vtarget-1,…,vtarget-r) and (vi-1,…,vi-r), respectively. Then D(H(utarget),H(ui)) can be calculated by (2), where ak is a Boolean value calculated by (3). Here, symbol “⊕” denotes the XOR operation.(2)DHutarget,Hui=∑ak1≤k≤r(3)ak=vtarget-k⊕vi-k=1ifvtarget-k≠vi-k0ifvtarget-k=vi-k.
According to SimHash [6], if D(H(utarget),H(ui)) < 3 holds, then we can conclude that the services invoked by utarget and ui are approximately the same. In other words, ui can be regarded as a “probably similar” friend of utarget and then put into set Prob_Sim_Friend(utarget). Moreover, the size of Prob_Sim_Friend(utarget), that is, Prob_Sim_Friend(utarget), is often small (≪m) due to the nature of SimHash.Step 3 (finding “really similar” friends of the target user).
The users in setProb_Sim_Friend(utarget) (obtained in Step  2) are only “probably similar” friends of the target user, not necessarily “really similar” friends. Considering this point, in this step, we further determine the “really similar” friends of the target user from set Prob_Sim_Friend(utarget). Concretely, for any ui∈Prob_Sim_Friend(utarget), we calculate his/her similarity with utarget, that is, Sim(utarget,ui), based on Pearson Correlation Coefficient (PCC) [18] in (4) (as Prob_Sim_Friend(utarget) is often small, only a small number of users take part in the user similarity calculation process in (4); as a consequence, we can protect the private service quality data observed by the remaining majority of users).
In (4), symbol I denotes the service intersection invoked by utarget and ui; q is a quality dimension of web services, for example,response time; qtarget-j and qi-j represent service wsj’s quality values over dimension q observed by utarget and ui, respectively; qtarget¯ and qi¯ denote utarget’s and ui’s average quality values over dimension q of all the services invoked by utarget and ui, respectively. Specifically, if the service intersection I=Null,Sim(utarget,ui)=0 holds. Moreover, if condition in (5) holds, ui can be regarded as a “really similar” friend of utarget and put into set Real_Sim_Friend(utarget). Here, symbol P is a predefined similarity threshold (0.5≤P≤1). (4)Simutarget,ui=∑wsj∈Iqtarget-j-qtarget¯∗qi-j-qi¯∑wsj∈Iqtarget-j-qtarget¯2∗∑wsj∈Iqi-j-qi¯2(5)Simutarget,ui≥P.Step 4 (service recommendation).
For all the usersui in set Real_Sim_Friend(utarget) (obtained in Step  3), we rank them by Sim(utarget,ui) (see (4)) in descending order and return the Top 3 (at most) similar friends (denoted by set Utop-3) of the target user. Afterwards, for each service never invoked by the target user, denoted by wsj, we predict its quality over dimension q observed by utarget, that is, qtarget-j, by (6), where ui∈Utop-3 and qi-j represents service wsj’s quality value over dimension q observed by ui. Finally, we select the service with the optimal predicted quality and recommend it to the target user, so as to finish the whole service recommendation process.(6)qtarget-j=∑ui∈Utop-3Simutarget,ui∗qi-j∑ui∈Utop-3Simutarget,ui.


## 5. Experiments

### 5.1. Experiment Configurations

In this section, a set of experiments are deployed onWS-DREAM dataset [19] to validate the feasibility of our proposed recommendation approach SerRecSimHash.WS-DREAM is a real-world service quality (e.g.,throughput) set obtained from 339 users on 5825 web services from different countries. To simulate the recommendation scenario that we focus on in this paper (i.e., recommendation in a distributed cloud environment), each country is regarded as a cloud platform.We compare our approach with a benchmark approachUPCC [20] and another two up-to-date privacy-preserving recommendation approaches, that is,P-UIPCC [14] andPPICF [15]. Many works, for example, [21–23], consider thetime cost and theMAE as the evaluation criteria; likewise, we also adopt these two criteria in this paper (in our SerRecSimHash approach, most user privacy information, e.g.,whether a user has invoked a service or not andservice quality observed by a user, can be protected by the intrinsic nature of SimHash; therefore, we will not evaluate the capability of privacy-preservation of our proposal here).(1)
Time cost: the consumed time for recommending a web service to the target user, which can be used to measure the recommendation efficiency and scalability.(2)
MAE: the difference between the predicted quality and real quality of recommended services (the smaller the better), which can be used to measure the recommendation accuracy.The density of user-service quality matrix is set at 3% and the experiments are conducted on a Lenovo laptop with 2.40 GHz processor and 12.0 GB RAM. The laptop is running under Windows 10 and JAVA 8. Each experiment is repeated 10 times and the average experiment results are reported.


### 5.2. Experiment Results and Analyses

Concretely, the following four profiles are tested and compared, respectively. Here,m and n denote the number of users and number of web services, respectively; user similarity threshold P=0.5 holds.Profile  1: Recommendation Efficiency Comparison. In this profile, we test the time cost of our proposal with respect to m and n and compare it with the remaining three approaches. The experiment parameters are set as follows: m is varied from 50 to 300;n is varied from 1000 to 5000. The concrete experiment results are shown in Figure 3 (n=5000 holds in Figure 3(a) and m = 300 holds in Figure 3(b)).Figure 3
Recommendation efficiency comparison of four approaches.
(a)
n
=
5000
(b)
m
=
300As can be seen from Figure3(a), the time costs ofUPCC,P-UIPCC, andPPICF approaches all increase approximately linearly with the growth of m; this is because more time is needed to calculate user similarities when the number of users, that is, m, becomes larger, while our proposed SerRecSimHash approach outperforms those three ones in terms of time cost, as most jobs (e.g., user indexes building) can be finished offline before a service recommendation request arrives. Furthermore, after the hashing process, only a few “probably similar” friends of the target user are obtained; as a consequence, little time is taken to find the “really similar” friends of the target user from the small number of “probably similar” friends. Due to the above two reasons, the recommendation efficiency and scalability of our proposed SerRecSimHash approach are improved significantly. Similar comparison results can be observed from Figure 3(b), whose reasons are the same as those in Figure 3(a) and will not be discussed repeatedly.Profile  2: Recommendation Accuracy Comparison. Accuracy is a key criterion to evaluate the quality of a recommender system. Therefore, in this profile, we test theMAE (the smaller the better) of our proposal and compare it with the remaining three approaches. The experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The experiment results are presented in Figure 4 (n=5000 holds in Figure 4(a) and m = 150 holds in Figure 4(b)).Figure 4
Recommendation accuracy comparison of four approaches.
(a)
n
=
5000
(b)
m
=
150As Figure4 shows, the recommendation accuracy values ofP-UIPCC andPPICF approaches are often low (i.e.,MAE values are high), as many approximate operations are recruited in these two approaches to protect the user privacy, for example, data obfuscation technique adopted inP-UIPCC approach and data segmentation-merging technique recruited inPPICF approach. These techniques on one hand can protect the privacy information of users effectively and on the other hand decrease the accuracy of recommended results, while our proposed SerRecSimHash approach achieves the approximate service recommendation accuracy as the benchmark approachUPCC, as the SimHash technique adopted in SerRecSimHash can guarantee finding the “really similar” friends of a target user with high probability and thereby can achieve a high recommendation accuracy.Profile  3: Number of “Probably Similar” Friends of the Target User in
S
e
r
R
e
c
S
i
m
H
a
s
h
with respect to
m
and
n. In our SerRecSimHash approach, a small number of “probably similar” friends (the number is Prob_Sim_Friend(utarget)) of a target user are obtained. In this profile, we test the relationship between Prob_Sim_Friend(utarget) and m and n. Experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The concrete experiment results are presented in Figure 5.Figure 5
Prob_Sim_Friend
(
u
target
) with respect to m and n.
(a)
(b)As Figure5(a) shows, the value of Prob_Sim_Friend(utarget) increases approximately linearly with the growth of m; this is because it is more probable to find a “probable friend” of the target user when the candidate user space becomes larger. As Figure 5(b) shows, the value of Prob_Sim_Friend(utarget) increases relatively slowly when n rises, whose reasons are twofold. First, more valuable recommendation information is available when the number of services, that is, n, increases; as a consequence, more “probably similar” friends of the target user can be found by our proposed SerRecSimHash approach. Second, due to the intrinsic nature of SimHash technique adopted in our SerRecSimHash approach, the number of services, that is, n, does not influence the finding process of “probably similar” friends directly in our proposal and, hence, the influence of parameter n stressed on Prob_Sim_Friend(utarget) is not so obvious as that in Figure 5(a).Profile  4: Recommendation Failure Rate of
S
e
r
R
e
c
S
i
m
H
a
s
h
with respect to
m
and
n. The SimHash technique adopted in this paper is essentially a kind of probability-based similar neighbor finding approach [24]. Therefore, our proposed SerRecSimHash approach may fail to return any recommended result in certain situations, that is, a failure occurs. Considering this point, in this profile, we test the recommendation failure rate of SerRecSimHash with respect to m and n. Concretely, failure rate can be measured by the equation in (7), where Numsuccess and Numfail represent the number of successful service recommendations and the number of failed service recommendations, respectively. The concrete experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The experiment results are shown in Figure 6.(7)failure_rate=NumfailNumsuccess+Numfail∗100%.Figure 6
Recommendation failure rate ofSerRecSimHash with respect to m and n.
(a)
(b)As Figure6(a) shows, the failure rate of SerRecSimHash approach decreases with the growth ofm; this is because it is more probable to find the “probably similar” friends of a target user when the candidate space of users becomes larger. Moreover, the failure rate approaches 0 when m is large enough, for example, when m = 200, 250, or 300. Figure 6(b) shows the relationship between failure rate of SerRecSimHash and the number of services, that is, n. As indicated in Figure 6(b), the failure rate approximately drops with the growth of n; this is because when the number of services increases, the probability that two users have invoked the common services grows accordingly, and hence it is more probable to find the “probably similar” friends of a target user. Furthermore, as can be seen from Figure 6(b), the failure rate of SerRecSimHash approach approaches 0 when n is large enough, for example, when n=5000.


### 5.3. Shortcoming Analyses

In terms of the experiment results, we can conclude thatSerRecSimHash approach achieves a good tradeoff among the recommendation accuracy, efficiency, and failure rate while guaranteeing privacy-preservation. However, other evaluation criteria are not discussed in depth, such as the well-known consistency criterion (e.g., the inferred friend consistency) suggested in work [25]. Besides, as [26] indicates, weight plays an important role in the final evaluation results; however, we do not consider the weight of found friends in this paper for simplicity.


## 5.1. Experiment Configurations

In this section, a set of experiments are deployed onWS-DREAM dataset [19] to validate the feasibility of our proposed recommendation approach SerRecSimHash.WS-DREAM is a real-world service quality (e.g.,throughput) set obtained from 339 users on 5825 web services from different countries. To simulate the recommendation scenario that we focus on in this paper (i.e., recommendation in a distributed cloud environment), each country is regarded as a cloud platform.We compare our approach with a benchmark approachUPCC [20] and another two up-to-date privacy-preserving recommendation approaches, that is,P-UIPCC [14] andPPICF [15]. Many works, for example, [21–23], consider thetime cost and theMAE as the evaluation criteria; likewise, we also adopt these two criteria in this paper (in our SerRecSimHash approach, most user privacy information, e.g.,whether a user has invoked a service or not andservice quality observed by a user, can be protected by the intrinsic nature of SimHash; therefore, we will not evaluate the capability of privacy-preservation of our proposal here).(1)
Time cost: the consumed time for recommending a web service to the target user, which can be used to measure the recommendation efficiency and scalability.(2)
MAE: the difference between the predicted quality and real quality of recommended services (the smaller the better), which can be used to measure the recommendation accuracy.The density of user-service quality matrix is set at 3% and the experiments are conducted on a Lenovo laptop with 2.40 GHz processor and 12.0 GB RAM. The laptop is running under Windows 10 and JAVA 8. Each experiment is repeated 10 times and the average experiment results are reported.


## 5.2. Experiment Results and Analyses

Concretely, the following four profiles are tested and compared, respectively. Here,m and n denote the number of users and number of web services, respectively; user similarity threshold P=0.5 holds.Profile  1: Recommendation Efficiency Comparison. In this profile, we test the time cost of our proposal with respect to m and n and compare it with the remaining three approaches. The experiment parameters are set as follows: m is varied from 50 to 300;n is varied from 1000 to 5000. The concrete experiment results are shown in Figure 3 (n=5000 holds in Figure 3(a) and m = 300 holds in Figure 3(b)).Figure 3
Recommendation efficiency comparison of four approaches.
(a)
n
=
5000
(b)
m
=
300As can be seen from Figure3(a), the time costs ofUPCC,P-UIPCC, andPPICF approaches all increase approximately linearly with the growth of m; this is because more time is needed to calculate user similarities when the number of users, that is, m, becomes larger, while our proposed SerRecSimHash approach outperforms those three ones in terms of time cost, as most jobs (e.g., user indexes building) can be finished offline before a service recommendation request arrives. Furthermore, after the hashing process, only a few “probably similar” friends of the target user are obtained; as a consequence, little time is taken to find the “really similar” friends of the target user from the small number of “probably similar” friends. Due to the above two reasons, the recommendation efficiency and scalability of our proposed SerRecSimHash approach are improved significantly. Similar comparison results can be observed from Figure 3(b), whose reasons are the same as those in Figure 3(a) and will not be discussed repeatedly.Profile  2: Recommendation Accuracy Comparison. Accuracy is a key criterion to evaluate the quality of a recommender system. Therefore, in this profile, we test theMAE (the smaller the better) of our proposal and compare it with the remaining three approaches. The experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The experiment results are presented in Figure 4 (n=5000 holds in Figure 4(a) and m = 150 holds in Figure 4(b)).Figure 4
Recommendation accuracy comparison of four approaches.
(a)
n
=
5000
(b)
m
=
150As Figure4 shows, the recommendation accuracy values ofP-UIPCC andPPICF approaches are often low (i.e.,MAE values are high), as many approximate operations are recruited in these two approaches to protect the user privacy, for example, data obfuscation technique adopted inP-UIPCC approach and data segmentation-merging technique recruited inPPICF approach. These techniques on one hand can protect the privacy information of users effectively and on the other hand decrease the accuracy of recommended results, while our proposed SerRecSimHash approach achieves the approximate service recommendation accuracy as the benchmark approachUPCC, as the SimHash technique adopted in SerRecSimHash can guarantee finding the “really similar” friends of a target user with high probability and thereby can achieve a high recommendation accuracy.Profile  3: Number of “Probably Similar” Friends of the Target User in
S
e
r
R
e
c
S
i
m
H
a
s
h
with respect to
m
and
n. In our SerRecSimHash approach, a small number of “probably similar” friends (the number is Prob_Sim_Friend(utarget)) of a target user are obtained. In this profile, we test the relationship between Prob_Sim_Friend(utarget) and m and n. Experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The concrete experiment results are presented in Figure 5.Figure 5
Prob_Sim_Friend
(
u
target
) with respect to m and n.
(a)
(b)As Figure5(a) shows, the value of Prob_Sim_Friend(utarget) increases approximately linearly with the growth of m; this is because it is more probable to find a “probable friend” of the target user when the candidate user space becomes larger. As Figure 5(b) shows, the value of Prob_Sim_Friend(utarget) increases relatively slowly when n rises, whose reasons are twofold. First, more valuable recommendation information is available when the number of services, that is, n, increases; as a consequence, more “probably similar” friends of the target user can be found by our proposed SerRecSimHash approach. Second, due to the intrinsic nature of SimHash technique adopted in our SerRecSimHash approach, the number of services, that is, n, does not influence the finding process of “probably similar” friends directly in our proposal and, hence, the influence of parameter n stressed on Prob_Sim_Friend(utarget) is not so obvious as that in Figure 5(a).Profile  4: Recommendation Failure Rate of
S
e
r
R
e
c
S
i
m
H
a
s
h
with respect to
m
and
n. The SimHash technique adopted in this paper is essentially a kind of probability-based similar neighbor finding approach [24]. Therefore, our proposed SerRecSimHash approach may fail to return any recommended result in certain situations, that is, a failure occurs. Considering this point, in this profile, we test the recommendation failure rate of SerRecSimHash with respect to m and n. Concretely, failure rate can be measured by the equation in (7), where Numsuccess and Numfail represent the number of successful service recommendations and the number of failed service recommendations, respectively. The concrete experiment parameters are set as follows: m is varied from 50 to 300; n is varied from 1000 to 5000. The experiment results are shown in Figure 6.(7)failure_rate=NumfailNumsuccess+Numfail∗100%.Figure 6
Recommendation failure rate ofSerRecSimHash with respect to m and n.
(a)
(b)As Figure6(a) shows, the failure rate of SerRecSimHash approach decreases with the growth ofm; this is because it is more probable to find the “probably similar” friends of a target user when the candidate space of users becomes larger. Moreover, the failure rate approaches 0 when m is large enough, for example, when m = 200, 250, or 300. Figure 6(b) shows the relationship between failure rate of SerRecSimHash and the number of services, that is, n. As indicated in Figure 6(b), the failure rate approximately drops with the growth of n; this is because when the number of services increases, the probability that two users have invoked the common services grows accordingly, and hence it is more probable to find the “probably similar” friends of a target user. Furthermore, as can be seen from Figure 6(b), the failure rate of SerRecSimHash approach approaches 0 when n is large enough, for example, when n=5000.


## 5.3. Shortcoming Analyses

In terms of the experiment results, we can conclude thatSerRecSimHash approach achieves a good tradeoff among the recommendation accuracy, efficiency, and failure rate while guaranteeing privacy-preservation. However, other evaluation criteria are not discussed in depth, such as the well-known consistency criterion (e.g., the inferred friend consistency) suggested in work [25]. Besides, as [26] indicates, weight plays an important role in the final evaluation results; however, we do not consider the weight of found friends in this paper for simplicity.


## 6. Conclusions and Future Work

In the distributed cloud environment, a cloud platform is often not willing to share its recorded user-service invocation data with other cloud platforms due to privacy concerns, which decreases the feasibility of cross-cloud collaborative service recommendation severely. Besides, the user-service invocation data recorded by each cloud platform may update over time, which reduces the recommendation scalability significantly. In view of these two challenges, a novel privacy-preserving and scalable service recommendation approach based on SimHash, that is,SerRecSimHash, is put forward in this paper. To validate the feasibility of our proposal, we conduct a set of experiments based on a real distributed service quality datasetWS-DREAM. Experiment results show that SerRecSimHash outperforms the other up-to-date approaches in terms of recommendation accuracy and efficiency while guaranteeing privacy-preservation.As work [27] indicates, SimHash is essentially a probability-based search technique and, hence, failure is inevitable in certain situations. Considering this point, in the future, we will continue to refine our proposal so as to further decrease the recommendation failure rate and boost the recommendation robustness. Besides, due to the inherent shortcoming of various hash-based privacy-preservation techniques suggested in [28], it is hard to evaluate the privacy-preservation performance of our proposal. In the future, we hope to find well-adopted technical criteria to evaluate the effectiveness of our proposal in terms of privacy-preservation. Moreover, work [29] proposes to utilize the semantic information to improve the retrieval performance; likewise, we hope to refine our work by adding more semantic information in the future.



---

*Source: 3437854-2017-12-18.xml*