Time-Aware IoE Service Recommendation on Sparse Data

1School of Information Science and Engineering, Qufu Normal University, Qufu, China 2Department of Computer Science and Technology, State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing, China 3School of Computer and Software, Nanjing University of Information Science and Technology, Nanjing, China 4Department of Electrical and Computer Engineering, University of Auckland, Auckland, New Zealand


Introduction
With the wide adoption of various smart devices and connection technologies, human society is gradually transforming into an "Internet of Everything" (IoE) one [1][2][3][4][5].In the age of IoE, the links among users, devices, or other things could be built easily, which significantly improves people's quality of life and also brings many challenging open problems that need to be addressed [6][7][8][9][10][11].
With the advent of IoE age, an excessive number of IoE services with different functionalities or qualities are emerging on the web, which places a heavy burden on the service selection decision of target users [12][13][14].In this situation, various recommendation techniques are put forward to help alleviate the service selection burden, for example, Collaborative Filtering-(CF-) based recommendation [15][16][17][18][19]. Generally, CF-based recommendation approaches (including user-based CF, item-based CF, and hybrid CF) utilize the similar friends or similar services of target users to achieve the recommendation goal.However, in certain situations, the available user-service rating data generated from historical service invocations is really sparse [20].Therefore, it is probable that a target user cannot find his/her similar friends and similar services of target services (here, target services mean the services preferred by target users).In this situation, traditional CF-based recommendation approaches cannot return a satisfying recommendation result, which brings a great challenge for the robustness of service recommendation approaches.Besides, the quality of an IoE service often varies with time, due to the unstable network environment [21].For example, the response time of a ticket-order service often becomes larger when Christmas day is approaching.Therefore, recommendation accuracy would be decreased if the time factor is not taken into consideration.
In view of the above two challenges, a novel time-aware service recommendation approach, that is, Ser Rec time , is put forward in this paper, to make robust and accurate service recommendation for target users when the historical user-service rating data is sparse.Concretely, in Ser Rec time , we first calculate the time-aware user similarity; afterwards, we look for the enemies (antonym of "friend") of the target user and further determine the "indirect friends" of target user by Social Balance Theory [22] (e.g., "enemy's enemy is a friend" rule); finally, the services preferred by indirect friends of target user are recommended to the target user.
The contributions of our paper are threefold.
(1) Time factor is considered in user similarity calculation to adapt to the dynamic quality variation of IoE services, which makes the subsequent recommendation result more objective and accurate.
(2) Social Balance Theory is introduced for service recommendation on sparse data so that the recommendation robustness is improved.
(3) A wide range of experiments are designed and deployed on a real web service quality set WS-DREAM [23], so as to further validate the feasibility of our proposal.
The remainder of our paper is organized as follows.In Section 2, we first formalize the CF-based service recommendation problem and afterwards demonstrate the motivation of our paper.In Section 3, a novel time-aware service recommendation approach named Ser Rec time is brought forth.A set of experiments are deployed in Section 4 and evaluations are presented in Section 5. Finally, in Section 6, we summarize the paper and point out our future research directions.

Formalization and Motivation
In this section, we first formalize the CF-based service recommendation problem.And afterwards, an example is presented to demonstrate the motivation of our paper intuitively.
2.1.Formal Specification.Generally, the CF-based service recommendation problem could be specified with a fourtuple CF-Ser-Rec (, WS, →, user target ), where (1)  = {user 1 , . . ., user  } denotes the user set in userservice invocation network and  is the number of users; (2) WS = {ws 1 , . . ., ws  } denotes the web service set in user-service invocation network and  is the number of web services; ( ws  , which means that user  invoked ws  in the past and the rating of ws  by user  is  − .Here, for simplicity, the well-known {1 * , 2 * , 3 * , 4 * , 5 * } rating system is adopted to depict  − .Also, each invocation record owns a timestamp  − that indicates the service invocation time (here, we assume the timestamp format is "yyyy.mm.dd"); (4) user target denotes the target user that requires service recommendation and user target ∈  holds.
With the above formalization, CF-based service recommendation problem could be specified as follows: according to the historical invocation record set "→" between users (in ) and web services (in WS), find out the services that were never invoked but may be preferred by target user user target and recommend them to user target .

Motivation.
In this subsection, the paper motivation is clarified more intuitively with the example shown in Figure 1.In Figure 1, there are three users {Tom, Alice, Bob} (Tom is the target user) in set  and six web services {ws 1 , ws 2 , ws 3 , ws 4 , ws 5 , ws 6 } in set WS; historical user-service invocation record set → (including rating data and timestamp) is also presented in Figure 1.
Then according to the Adjusted Cosine Similarity [24] (i.e., ACS ∈ [−1, 1]; here, the reason that we utilize ACS for similarity calculation is that user-service rating data is often discrete and the rating scales of different users often vary), we can calculate the similarity between target user Tom and other two users (i.e., Alice and Bob).Concretely, Sim(Tom, Alice) = −0.2747and Sim(Tom, Bob) = Null (as no services were rated by both Tom and Bob).Therefore, we can conclude that target user Tom has no similar friends, so according to the traditional user-based CF recommendation approaches, no qualified services are recommended to Tom.
Therefore, in this situation, traditional CF-based service recommendation approaches (e.g., user-based CF, itembased CF, or hybrid CF) cannot make accurate service recommendation for target user.Besides, as Figure 1 shows, the timestamps of various invocation records are often different, so the service recommendation accuracy and fairness would be decreased if we overlook the time factor in recommendation process.In view of the above two challenges, a novel service recommendation approach named Ser Rec time is put forward in Section 3. Ser Rec time cannot only find out the indirect friends of a target user so as to improve the recommendation robustness in sparse-data environment, but also consider time factor in recommendation so as to ensure the fairness and accuracy of recommendation results.service recommendation problem on sparse data.The main idea of our proposal is as follows: first, we calculate the time-aware similarity between target user and other users based on the historical user-service rating records; second, according to the derived user similarity and Social Balance Theory, we infer the indirect friends of target user; third, the services preferred by indirect friends of target user are recommended to the target user.Concretely, the three steps of time-aware service recommendation approach (Ser Rec time ) are as follows.
Step 1 (time-aware user similarity calculation).Calculate the similarity Sim(user target , user  ) between user target and other users user  ∈ .If im(user target , user  ) ≤  ( is similarity threshold), then user  is considered as an enemy of user target .
Step 2 (determining indirect friends of target user).According to the enemies (derived in Step 1) of target user and Social Balance Theory, determine target user's indirect friends.
Step 3 (service recommendation).Select the services preferred by the indirect friends (derived in Step 2) of target user and recommend them to the target user.
The three steps are explained as follows: Step 1 (time-aware user similarity calculation).In this step, we calculate the similarity between target user user target and other users user  (user  ∈ ), that is, Sim(user target , user  ).As user-service rating data is often discrete and rating scores of a service by different users are often varied, Adjusted Cosine Similarity is recruited here for user similarity calculation.Concretely, Sim(user target , user  ) could be obtained based on Here, set  denotes the common services that were rated by both user target and user  ; sets  target and   denote the service set rated by user target and user  , respectively;  target− and  − denote ratings of service ws  by user target and user  , respectively; while  target and   represent user target 's and user  's average rating values.Then according to (1), we can calculate the similarity between target user and any other user.
Next, we improve the user similarity formula in (1) by introducing four kinds of weight coefficients.
(i) Weight for Service Intersection Size.As formula (1) indicates,  target and   denote the service set rated by user target and user  , respectively.Generally, for user target and user  , the larger their service intersection (i.e., set  in formula ( 1)) is, the more convincing their similarity is.So in order to depict this correlation, weight  ser-intersection (in formula ( 2)) is assigned to user similarity Sim(user target , user  ): (ii) Weight for Invocation Time.Due to the dynamic and unstable network environment, the IoE service quality is often varied with time; therefore, two neighboring service invocations with close invocation time often contribute more to the user similarity.In view of this observation, similar to work [4], weight  time in formula ( 3) is assigned to user similarity Sim(user target , user  ).In (3),  ( ≥ 0) is a parameter, while  target− and  − represent the invocation time of service ws  by user target and user  , respectively (iii) Weight for Invocation Load.Service invocation time cannot reflect all the time-related information in similarity calculation.For example, user 1 and user 2 invoked the same ticket-booking service on 22-12-2015 and 24-12-2015, respectively.Although their service invocation time is close, the user experienced service quality may vary significantly as heavy service load is inevitable when Christmas day is approaching.So in order to depict the effect of service load on user similarity, weight  load in formula ( 4) is assigned to user similarity Sim(user target , user  ).
In ( 4), Load target− and Load − denote the service loads when user target and user  invoked service ws  , respectively.
(iv) Weight for Service Version.In the life cycle of a web service, service provider may publish a series of service versions with updated service qualities.Therefore, if two users invoked an identical web service that belongs to different versions, it would not make much sense to compare their experienced service qualities.In view of this observation, weight  version is suggested as follows: 1 user target , user  invoked same service of same version 0 else. ( With the above analyses, we can update the user similarity Sim(user target , user  ) in ( 1) to be time-aware user similarity Sim time (user target , user  ) in (6).Then based on (6), we can calculate the time-aware similarity between target user and any other user: Furthermore, according to the derived user similarity, the enemy set of target user, that is, Enemy set (user target ), could be obtained based on (7).Here, parameter  (−1 ≤  ≤ −0.5) is a predefined user similarity threshold for enemy relationship: Step 2 (determining indirect friends of target user).In Step 1, we have obtained the enemy set of target user, that is, Enemy set (user target ).Next, in this step, we will introduce how to get the indirect friends of target user, that is, Indirect friend set(user target ), based on the obtained Enemy set (user target ) and Social Balance Theory.First of all, we introduce Social Balance Theory briefly.Social Balance Theory [22] was first put forward by psychologist F. Heider in 1958.The theory investigates the stable social relationships among involved three parties (i.e., , , and  in Figure 2).Concretely, according to Figure 2, we introduce the four stable social relationships, respectively, in a more intuitive manner.Next, with the above four rules in Social Balance Theory, we introduce how to obtain the indirect friend set of target user, that is, Indirect friend set(user target ), based on the derived Enemy set(user target ) in Step 1.
Concretely, for each user  ∈ Enemy set (user target ), we first calculate his/her similarities with other users based on (6); afterwards, we determine user  's enemies user  (i.e., user  ∈ Enemy set (user  )) based on (7) and user  's friends user  (i.e., user  ∈ Friend set (user  )) based on (8).In (8), parameter − denotes the user similarity threshold for friend relationship.To ease the understanding of readers, the relationships among user target , user  , user  , and user  are presented in Figure 3.
Then according to "enemy's enemy is a friend" rule in Figure 2(b), we can infer that user  is probably an indirect friend of user target , and the probability could be calculated based on (9).If Probability friend (user target , user  ) ≥ −, then user  is regarded as a qualified indirect friend of target user and put into set Indirect friend set(user target ) (see Figure 3(b)).Likewise, according to "enemy's friend is an enemy" rule in Figure 2(d), it can be inferred that user  is probably an indirect enemy of user target , and the probability can be obtained based on (10).If Probability enemy (user target , user  ) ≥ −, then user  is regarded as a qualified indirect enemy of target user and put into set Enemy set (user target ) (see Figure 3(d Next, for each user  ∈ Indirect friend set(user target ), we calculate his/her similarity with other users (∈ (-user target -Indirect friend set(user target )-Enemy set(user target ))) based on (6) and further determine user  's enemies user  based on (7) and user  's friends user  based on (8).Then according to "friend's enemy is an enemy" rule in Figure 2(c), user  is regarded as an indirect enemy of target user and put into Enemy set (user target ) (see Figure 3(c)) if the probability in (11) is larger than −.Likewise, according to "friend's friend is a friend" rule in Figure 2(a), user  is considered as an indirect friend of target user and put into Indirect friend set (user target ) (see Figure 3(a)) if the probability in (12) Repeat (a)-(d) process in Figure 3 until set Indirect friend set(user target ) stays stable.Then we obtain the indirect friends of target user, that is, Indirect friend set(user target ).
Step 3 (service recommendation).In Step 2, we have obtained target user's indirect friend set Indirect friend set(user target ).Next, in this step, we select the services preferred (i.e., with 4 * or 5 * rating) by indirect friends of target user and recommend them to the target user.More formally, for each element user  ∈ Indirect friend set(user target ), if his/her rating over web service ws  (1 ≤  ≤ ), that is,  − ∈ {4 * , 5 * }, holds, then ws  is put into the recommended service set, that is, Rec Ser Set.Finally, all the web services in set Rec Ser Set are recommended to user target .
With above Step 1-Step 3 of our proposed Ser Rec time approach, a set of IoE services (in set Rec Ser Set) are recommended to the target user.More formally, the pseudocode of Ser Rec time (, WS, →, user target ) is presented in Algorithm 1 (please note that algorithm Ser Rec time (, WS, →, user target ) is abbreviated as Ser Rec time in the whole paper).

Experiment
In this section, a set of experiments are designed and tested to validate the feasibility of our proposed Ser Rec time approach, in terms of recommendation accuracy, recall, and efficiency.

Experiment Dataset and Deployment.
The experiment is based on a real service quality dataset WS-DREAM [23].WS-DREAM consists of 4532 IoE services on the web, and 142 distributed users from Planet-Lab are employed for evaluating the real quality (e.g., response time and throughput) of services in 64 time intervals (time interval = 15 minutes).
Our paper focuses on the user-service rating-based recommendation, while available user-service rating data is really rare on the web; therefore, in the experiment, we need to transform the service quality data in WS-DREAM into corresponding user-service rating data (essentially, objective service quality data and subjective user-service rating data both reflect the service running quality; therefore, we argue that the transformation from former data to latter data makes sense for the service recommendation simulation here).Concretely, the transformation process is as follows: we determine the minimal and maximal quality values (denoted by min and max, resp.) of a service observed by an identical user, and afterwards we divide the range [min, max] into five subranges in an arithmetic progression manner, each corresponding to a rating value.For example, if the minimal and maximal throughput values of a service ws  observed by user  are 10 kbps and 60 kbps, respectively, then we can get five subranges after division, that is, [10,20) kbps, [20,30) kbps, [30,40) kbps, [40,50) kbps, and [50,60] kbps.Furthermore, if the throughput value of ws  observed by user  is 44 kbps in WS-DREAM, then the transformed user-service rating, that is,  − = 4 * , holds.For each service invoked by a user, we randomly select a time interval from all the 64 intervals and Friend_set (user i ) Enemy_set (user i ) Indirect_friend_set (user target ) transform the service quality corresponding to the selected time interval into a user-service rating with a timestamp (i.e., the selected time interval).In the experiment, only a quality dimension, that is, throughput, is considered.Besides, our paper only discusses the time-aware service recommendation in sparse-data environment where target user has no similar friends and similar services.Therefore, we select appropriate data from WS-DREAM to simulate the above sparse recommendation situations.Furthermore, for each recruited target user, his/her 80% ratings are randomly selected for training while the remaining 20% ratings for testing.
Also, we compare our proposal with related works, for example, WSRec [25], MCCP [26], and SBT-SR [27], in terms of recommendation accuracy and recall.Concretely, accuracy and recall are measured by Mean Absolute Error (i.e., MAE; the smaller the better) in (13) and Recall (the larger the better) in (14).In (13), Rec Ser Set denotes the recommended service set for target user; || denotes the size of set ;  target− and  # target− represent target user's real and predicted ratings over service ws  , respectively.While in (14), symbols Preferred Ser Set and Rec Ser Set denote the service set really preferred (with 4 * or 5 * rating) by target user and the service set recommended to target user, respectively.

MAE = ∑
ws  ∈Rec Ser Set The experiments were conducted on a Dell laptop with 2.80 GHz processors and 2.0 GB RAM.The software configuration is Windows XP + JAVA 1.5.Each experiment was carried out 10 times and the average results were adopted finally.

Experiment Results and Analyses.
Concretely, four profiles are designed, tested, and compared.Here,  and  denote the number of users and number of services in the historical user-service invocation network.
(Profile 1) Recommendation Accuracy Comparison.In this profile, we compare the recommendation accuracy of Ser Rec time with the other three approaches, that is, WSRec, MCCP, and SBT-SR.Concretely, parameters   =   = 0.5 hold in WSRec;  = 0.8 holds in MCCP; user similarity threshold  = −0.5 holds in both SBT-SR and Ser Rec time .Besides, in Ser Rec time ,  = 0.09 holds in (3) and  load =  version = 1 holds (in WS-DREAM, a service was invoked by a user 64 times within successive 16 hours; therefore, we assume that the service load and version do not vary much).Finally,  is varied from 20 to 100 in all the four approaches.
The experiment result is presented in Figure 4.As Figure 4 shows, the recommendation accuracy of WSRec is low, as it only adopts the average ratings of target user and target services without considering the valuable userservice relationships hidden in historical service invocation records.The accuracy of MCCP is improved by considering the user-service relationships; however, it is not very suitable for service recommendation when target user has no similar friends and similar services, as MCCP is essentially a kind  1)-( 6) (4) if Sim time (user target , user  ) ≤  (5) then put user  into set Enemy set(user target ) (6) end if (7) end for (8) for each user  ∈ Enemy set(user target ) do // Step 2 (9) determine user  's friend user  based on ( 6) and ( 8) (10) if probability in (10) is larger than − (11) then put user  into Enemy set(user target ) (12) end if (13) determine user  's enemy user  based on ( 6) and ( 7) (14) if probability in ( 9) is larger than − (15) then put user  into Indirect friend set(user target ) (16) end if (17) end for (18) for each user  ∈ Indirect friend set(user target ) do (19) determine user  's enemy user  based on ( 6) and ( 7) (20) if probability in (11) is larger than − (21) then put user  into Enemy set(user target ) (22) end if (23) determine user  's friend user  based on ( 6) and ( 8) (24) if probability in (12) is larger than − (25) then put user  into Indirect friend set(user target ) (26) end if (27) end for (28) repeat Line (8)-Line (27) until Indirect friend set(user target ) stays stable (29) Rec Ser Set = 0 // Step 3 (30) for each user  ∈ Indirect friend set(user target ) do (31) for each ws  ∈ WS do (32) if  − ∈ {4 * , 5 * } (33) then put ws  into set Rec Ser Set (34) end if (35) end for (36) end for (37) return Rec Ser Set Algorithm 1: Ser Rec time (, WS, →, user target ).
of similar user-based service recommendation approach.The recommendation accuracy of SBT-SR is high as "enemy's enemy is a friend" rule of Social Balance Theory is recruited to find the "indirect friends" of target user.Furthermore, our proposed Ser Rec time outperforms SBT-SR as Ser Rec time not only considers Social Balance Theory, but also takes time factor into consideration for looking for the really similar "indirect friends" of target user.Besides, as shown in Figure 4, recommendation accuracy values of MCCP, SBT-SR, and Ser Rec time all increase with the growth of  approximately; this is because more valuable user-service relationship information would be discovered and recruited for service recommendation when there are many users as well as their invocation records.
(Profile 2) Recommendation Recall Comparison.In this profile, we compare the recommendation recall values of four approaches.The parameter settings are the same as those in profile 1. Concrete experiment results are shown in Figure 5.
As Figure 5 shows, the recall of WSRec is low as the "average" idea adopted in WSRec often leads to a low recommendation hit rate.The recommendation recall values of the remaining three approaches all increase with the growth of ; this is because when there are many available historical users, more useful user-service relationships could be mined and recruited in service recommendation; hence, more qualified recommendation results are returned finally.However, the recall of MCCP is still not high as few really similar friends of target user could be found in the recommendation situations that we discuss in this paper (i.e., the sparse recommendation situations when target user has no similar friends and similar services).While both SBT-SR and Ser Rec time approaches achieve good performances in recommendation recall, as Social Balance Theory is recruited to find out the indirect friends of target user even if the target user has no similar friends and similar services.Furthermore, our proposed Ser Rec time approach often outperforms SBT-SR in recall.This is because only "enemy's enemy is a friend" rule of Social Balance Theory is recruited in SBT-SR, while in Ser Rec time , all four rules in Figure 2 are considered, which improves the recommendation hit rate to some extent.
(Profile 3) Execution Efficiency Comparison with respect to .In this profile, we test the execution efficiency of four approaches with respect to the number of users, i.e., .Here,  is varied from 20 to 100; the number of services, that is,  = 1000, holds; besides,  = −0.5,  = 0.09, and  load =  version = 1 hold.The experiment result is shown in Figure 6.As Figure 6 shows, time cost of WSRec is the best, as WSRec only adopts the average ratings of target user and target services, without complex computation.The time costs of the remaining three approaches all increase with the growth of  quickly, as more similarity computation cost is required to determine the similar friends or dissimilar enemies of a user when the number of users increases.Furthermore, Ser Rec time often requires more computation time as multiple iteration processes are probable for finding all the indirect friends of target user.However, as Figure 6 indicates, the execution efficiency of Ser Rec time is often acceptable (at "minute" level).
(Profile 4) Execution Efficiency Comparison with respect to .In this profile, we test the execution efficiency of four approaches with respect to the number of services, that is, .Here,  is varied from 200 to 1000; the number of users, that is,  = 100, holds; besides,  = −0.5,  = 0.09, and  load =  version = 1 hold.The concrete experiment result is shown in Figure 7.
As Figure 7 shows, similar to profile 3, the time cost of WSRec is the best due to the adopted average idea.Besides, the time costs of the remaining three approaches all increase with the growth of  approximately linearly, as each service is considered at most once in each user similarity calculation process.However, as can be seen from Figure 7, the service recommendation process of Ser Rec time approach could be generally finished in polynomial time.

Evaluations
In this section, we first analyze the time complexity of our proposed Ser Rec time approach.Afterwards, related works and comparison analyses are presented to further clarify the advantages and application scope of our proposal.Finally, we point out our future research directions.

Complexity Analyses.
Suppose there are  users and  services in the historical user-service invocation network.
Step 1.According to (1)-( 6), the time-aware similarity between target user and any other user could be calculated, whose time complexity is ().Afterwards, a user is judged to be an qualified enemy of target user or not based on (7), whose time complexity is (1).As there are totally  users in set , the time complexity of this step is ( * ( + 1)) = ( * ).
Step 2. In this step, we utilize the four rules (see Figure 3) in Social Balance Theory iteratively, so as to find all the indirect friends of target user.And, in the worst case, the similarity between any two users in set  needs to be calculated.As there are  users in set , the time complexity of this step is ( 2 * ).
Step 3.For each derived indirect friend (at most −1 indirect friends) of target user, we select his/her preferred services (at most  services) and recommend them to the target user.As the time complexity of preferred-service-judgment process is (1), the time complexity of this step is ( * ).
With the above analyses, we can conclude that the total time complexity of our proposed Ser Rec time approach is ( 2 * ).

Related Works and Comparison
Analyses.With the advent of IoE age, an excessive number of IoE services are emerging on the web, which places a heavy burden on the service selection decision of target users.In this situation, various recommendation techniques, for example, CF-based recommendation [28] and content-based recommendation [29], are put forward to help the target users find their interested IoE services.
A two-phase -means clustering approach is brought forth in [30] to make service quality prediction and service recommendation.However, this clustering-based approach often requires a dense historical user-service invocation matrix, and hence cannot deal with the service recommendation problem on sparse data very well.In [31], a CF-based recommendation approach is put forward, which realizes service recommendation based on the similar friends of target user.However, when the target user has no similar friends, the recommendation accuracy is decreased significantly.A bidirectional (i.e., user-based CF + item-based CF) service recommendation approach named WSRec is brought forth in [25], for high-quality recommendation results.However, when a target user has no similar friends and similar services, WSRec can only make a rough prediction and recommendation, by considering both the average rating from target user and the average rating of the service that is ready to be predicted.In [26], a MCCP approach is put forward to capture and model the preferences of various users over different services; however, only similar friends of target user are recruited for service quality prediction and recommendation, which drops some valuable user-service relationship information hidden in the historical user-service invocation records.
In order to mine and introduce more user-service relationship information into recommendation, a service recommendation approach SBT-SR is proposed in our previous work [27].By utilizing "enemy's enemy is a friend" rule in Social Balance Theory, some indirect friends of target user could be found and utilized for further recommendation, which improves the accuracy and recall of recommendation in sparse-data environment.However, SBT-SR has two shortcomings: first, service invocation time is not considered in SBT-SR, which may decrease the recommendation accuracy as service quality is often dynamic and varied with time; second, SBT-SR only employs "enemy's enemy is a friend" rule for service recommendation, while overlooks other valuable rules in Social Balance Theory, for example, "friend's friend is a friend" rule, "friend's enemy is an enemy" rule, and "enemy's friend is an enemy" rule.In view of the above two shortcomings, a novel time-aware service recommendation approach named Ser Rec time is put forward in this paper, to deal with the recommendation problem in sparse-data environment.Ser Rec time considers not only the service invocation time but also the four rules of Social Balance Theory, so that the recommendation accuracy and recall could be ensured.Finally, through a set of experiments deployed on a real web service quality dataset WS-DREAM, we validate the feasibility of Ser Rec time in terms of recommendation accuracy, recall, and efficiency.

Further Discussions.
In this paper, we put forward a timeaware similarity for service recommendation.Generally, the proposed time-aware similarity could also be applied in other similarity-based application domains, such as content searching [32][33][34][35][36], information detection [37][38][39][40][41][42][43][44][45], and quality optimization [46][47][48][49][50].However, there are still several shortcomings in our paper, which are discussed as follows: (1) The time cost of our proposed Ser Rec time approach increases fast when the number of users grows.Therefore, the execution efficiency of Ser Rec time needs to be improved, especially when a huge number of users are present in the historical user-service invocation records.
(2) In this paper, we have investigated the time-aware user similarity.However, besides service invocation time, many other factors, for example, user-service location information, also play an important role in user similarity calculation.In the future, we will improve our proposal by combining the time and location factors together.

Conclusions
In this paper, a novel time-aware service recommendation approach, that is, Ser Rec time , is put forward, to handle the service recommendation problems in sparse-data environment where target user has no similar friends and similar services.Instead of looking for similar friends in traditional CF-based service recommendation approaches, in Ser Rec time , we first look for dissimilar enemies of target user based on time-aware user similarity and further determine the indirect friends of target user based on Social Balance Theory.Afterwards, the services preferred by indirect friends of target user are recommended to the target user.Finally, through a set of experiments deployed on a real web service quality dataset WS-DREAM, we validate the feasibility of our proposal in terms of recommendation accuracy, recall, and efficiency.
In the future, we will improve the recommendation effect of our proposal by considering more user-service location information.Moreover, distributed or parallel recommendation approaches will be investigated in the future to improve the recommendation efficiency.

Figure 1 :
Figure 1: Time-aware service recommendation when target user has no similar friends and similar services.
(a) Friend's Friend Is a Friend.If  is a friend of  and  is a friend of , then we can infer that  is probably an indirect friend of  (see Figure2(a)).(b) Enemy's Enemy Is a Friend.If  is an enemy of  and  is an enemy of , then we can infer that  is probably an indirect friend of  (see Figure 2(b)).(c) Friend's Enemy Is an Enemy.If  is an enemy of  while  is a friend of , then we can infer that  is probably an indirect enemy of  (see Figure 2(c)).(d) Enemy's Friend Is an Enemy.If  is a friend of  while  is an enemy of , then we can infer that  is probably an indirect enemy of  (see Figure 2(d)).

Figure 2 :
Figure 2: Four stable relationships among , , and  according to Social Balance Theory (the blue arrows between  and  denote the inferred relationships).

Figure 3 :
Figure 3: Relationships among user target , user  , user  , user  , user  , user  , and user  .

Figure 4 :Figure 5 :
Figure 4: Recommendation accuracy comparison with respect to .

Figure 6 :
Figure 6: Time cost comparison with respect to .

Figure 7 :
Figure 7: Time cost comparison with respect to .