# A Customer-Centric Trust Evaluation Model for Personalized Service Selection

Authors: Junwei Zhang; Deyu Li; Xiaoqin Fan
Journal: Scientific Programming
 (2018)

---

## Abstract

Trust is a very important criterion when service customers select desired Web services from a cluster of Web services with the same function. Most existing trust models cannot effectively implement personalized service selection with regard to consumer preferences and expectations. This paper designs a novel trust management method based on peer-to-peer network and presents a customer-centric trust evaluation model for personalized service selection. The trust evaluation model firstly maintains consumer-to-consumer trust values that are calculated according to preference similarity between customers, secondly gathers ratings on services submitted by other consumers, then synthesizes customer-to-customer trust and these ratings to generate personalized consumer-to-service trust, and finally selects the desired services according to the expected trust levels presented by customers. This paper conducts some experiments to demonstrate the details of service selection. Experimental results show that this model has good applicability to implement personalized service selection. The proposed model well simulates the reality.


---

## Body

## 1. Introduction

Web services are a new type of Web-based application. They are independent, self-contained, self-describing, modular application components that can be developed in disparate platforms, advertised, located, and invoked through the Web [1, 2]. Web services perform tasks, which can be anything from simple requests to complicated business processes. In other words, Web services are interoperable building blocks for constructing applications. The emerging paradigm of Web services opens a new way for organizations that need to integrate their applications within and across administrative domains [3]. Along with the development of Web service market, more and more Web services offering the same function are provided by different service providers. How customers select desired Web services to suit their own needs has been one of the crucial problems in Web services research areas. The reason is that service customers need to know not only what task a Web service can perform, but also how well this Web service can perform [4]. When service customers select desired Web services from a cluster of Web services with the same function, Web services’ nonfunctional characteristics are very important criteria. Namely, consumers select desired services not only by matching functions but also by evaluating nonfunctional characteristics such as quality of service (QoS) and trust [5].Over the last few years, QoS has always been seen as the major nonfunctional characteristics for service selection [2, 6]. However, service selection is still a difficult task because it faces the challenges associated with an open and loosely coupled environment: with the dynamic changes in network performance, the QoS that a specific Web service will deliver is not certain and foreseeable [7, 8]. In addition, different customers may be concerned with different QoS attributes, while the same QoS attributes may be given different priorities by different customers. Recently, trust-based social approaches to evaluating service quality have come into existence [9, 10]. Trust is personalized and subjective reflecting an individual’s opinion on a service’s quality. The better the quality of a service is, the more the customer trusts the service. Trust can be deemed as a comprehensive quality measure of services [11], and trust mechanism offers an alternative way to solve the service selection problem.Trust in a service represents a certain level of confidence that the service will perform as intended. It is important to trust a service before interacting with it. Some scholars have recognized that trust in Web services is one of the important challenges. Aiming at resolving this challenging problem, efforts have been exerted in service trust evaluation. A lot of Web service trust evaluation models have been proposed. Reputation-based trust is an important branch in the field.Reputation is an assessment based on the history of interactions with or observation of a Web service, either directly with a customer (direct experience) or as submitted by other customers (indirect experience). Customers in an online community may share their ratings on services within the community [12]. These ratings have great influences to select services by the other customers in the same online community and are aggregated to derive a service’s reputation. Reputation-based trust use reputation to establish trust, where past interactions with a Web service are combined to evaluate its future performance, and assist customers in predicting and selecting the best quality services [10, 13]. Compared with other approaches, it has more advantages in solving the service selection problem [4].Trust only exists in a risky and uncertain environment [14], so trust has uncertainty. Trust evaluation should not only consider fuzziness inherent in trust concept, but also consider the randomness of ratings submitted by service customers. Trust evaluation should also take into account the individual differences of customers. A common characteristic of existing trust evaluation models is that they provide global trust values, meaning that all the customers in an online community will see the same trust value for a specific service [15]. However, each consumer is an independent individual that has his/her own trust preferences and expectations. Consumers may vary in their trust requirements due to their differences in trust preferences and expectations. Trust approaches should be used to derive personalized measures of trust, meaning that different customers can derive different trust in the same service. Personalized trust evaluation becomes a real challenge that most of the existing service trust evaluation models neglect. A more feasible trust evaluation model for personalized service selection with regard to consumer preferences and expectations should be created. The final trust value should reflect a personalized trust status from an individual consumer’s perspective [15].This paper proposes a customer-centric trust evaluation model for personalized services selection based on peer-to-peer trust management. The proposed model evaluates trust in Web services using a mathematical model based on fuzzy set theory and probability theory. Section2 highlights the motivation of this research. Section 3 investigates the current research on trust-based Web service selection. Section 4 describes the trust evaluation and management model. Section 5 describes a validation experiment of the model, illustrates some experiment results, and makes a brief discussion. Section 6 concludes the paper with an outlook on the rich potentials of such an approach.


## 2. Motivation

Most existing trust models calculate a general trust value or vector based on the gathered ratings without regard to the subjectivity of trust; therefore, they cannot effectively support personalized service selection with customer preferences and expectations [15]. We highlight the motivation of this paper through a motivating example below.Assume that there are two services offering the same function. Now, Alice and Bob are two service customers who both need to select the optimum one from these two candidate services, respectively. However, there is an obstacle: they have not interacted with these two services and they know nothing about the performance of them. They can only make decisions by using ratings submitted by other service customers who have interacted with these two services (see Figure1). The rating information of these two services is shown in Table 1.Table 1
An example of service comparison.
Rating Service 1 Service 2 27% 45% 53% 18% 7% 17% 0% 11% 13% 9%Figure 1
An example of trust-based service selection.Alice and Bob can get the same rating information from Table1, but they may make different decisions. This is attributed to their different preferences and expectations. Trust is a subjective concept, so customers have different understanding of trust.For a specific service, customers have different interactive experiences with it. Therefore, customers’ trust in it may be different, and they may submit different ratings on it. For the same service, some customers may think that it has a good quality, while others may have the opposite view.Customers may differ in interests, preferences, and perception. For a specific customer, other customers’ trust in him/her may be also different. Alice may think that customer 1 is more trustworthy than customer 2, while Bob is more likely to trust customer 2. For Alice, the ratings submitted by customer 1 are more significant. Bob takes the ratings submitted by customer 2 more seriously.In service selection, customers may also have different expectations. We conducted a small offline study to investigate how customers select the optimum one from these two services in Table1. The subjects were volunteer undergraduates in the Department of Information Management at Shanxi Medical University. A total of 120 subjects in a class participated in this study. There was no option in this survey, and subjects needed to make their selections and give their reasons independently. 69 subjects selected service 1 as the optimum, of which 26 subjects preferred service 1 because the three-star and above evaluation rate of service 1 (87%) exceeded that of service 2 (80%). The rest of the 69 subjects made the same decision because the four-star and above evaluation rate of service 1 (80%) exceeded that of service 2 (63%). Another 51 subjects believed that service 2 was better than service 1, because the five-star evaluation rate of service 2 (45%) was greater than that of service 1 (27%).From what has been discussed above, service selection should not only have a single result. Customers should make a personalized selection according to their own subjective initiative. We also need to design a trust management mechanism that is responsible for maintaining the ratings on services submitted by customers. Customers should be able to easily gather these ratings and make personalized service selection accordingly.Scholars have proposed many effective trust evaluation models. However, existing models do not fully address the following issues:(i)
how to model the uncertainty of trust;(ii)
how to model customers’ preferences and expectations;(iii)
how to carry out trust management;(iv)
how to synthesize trust in Web services and trust in service customers in order to implement personalized service selection.


## 3. Related Work

Trust plays an important role in service selection [4]. In an open and dynamic network environment, trust is a key prerequisite for extensive adoption of Web services [3, 16]. A set of trust frameworks should be provided to ensure trust in Web services. The main focus of this paper is to study reputation-based trust that tries to select desired services or service providers by using past experiences or consumer ratings. A reputation system may be used to assess customer satisfaction with Web services [9]. Mišić [17] demonstrated the feasibility of trust- and reputation-based service selection approach.Trust only exists in a risky and uncertain environment, so it has uncertain nature. Wang et al. [18] proposed two novel metrics, ability and intention trust, and a quantitative evaluation model based on cloud model to describe the uncertainty of trust. Moreover, Wang et al. [19] considered the subjective uncertainty of trust factors and provided a formalized calculation mode to evaluate the trust degree of service customers in providers. Malik and Medjahed [20] presented a trust model that can uniformly describe the concepts of randomness, fuzziness, and their relationship in quantitative terms. By incorporating the credibility values of service raters, a service provider’s trust can be assessed. Honari et al. [21] proposed to estimate the trust of an unknown agent through the information given by a group of agents who had interacted with it. In order to tackle the uncertainty associated with the trust of unknown agents, they suggested using possibility distributions. Wang et al. [22] proposed a trust evaluation model and a fuzzy logic based model for determining the reputation rank for service providers. However, these research works have not considered the uncertainty of customer choices, that is, personalized service selection.Each consumer is an independent individual that has its own trust preferences and expectations, so service selection should be personalized. In [23, 24], Malik and Bouguettaya allowed the service consumers to calculate the reputation scores of the Web services according to their own personal preferences. Yan et al. [15] built a user-centric trust and reputation mechanism that distinguishes the different trust context and content to enable a personal service selection with regard to trust preference. Deng et al. [25] proposed a novel method to provide personalized service recommendations to individual customers based on trust relationships between customers and services. Further on, Deng et al. [26] adopted a similarity-based approach to recommend services and proposed a social network based service recommendation method with trust enhancement. Tang et al. [11] proposed an integrated trust evaluation method via combining objective trust assessment and subjective trust assessment. However, these trust evaluation models only consider the differences in customer preferences. A feasible trust evaluation model should also consider the differences in customer expectations.Reputation-based trust depends on the fairness of the ratings submitted by customers. Unfair ratings may trigger collusion and deception problems. Some scholars have done research works on identifying and rectifying unfair ratings in a Web service management environment [27, 28], but in fact it is very difficult to distinguish fair and unfair ratings, since there are no apparent differences between their values. An alternative method to filtering unfair ratings is assessing the credibility of the raters. Each customer in an online community can be a rater who submits a rating on a service according to his/her interactions with it. A trust evaluation model should not simply filter the rating if it disagrees with the majority opinion but consider the fact that the rating’s inconsistency may be the result of an actual experience. Hence, only the credibility of the rater is changed, but the rating is still considered [24]. Malik and Bouguettaya [24] developed some techniques to aid a service consumer in assigning an appropriate weight to the testimonies of different raters regarding a prospective service provider. Nguyen et al. [29] addressed the problems of customers’ preferences and multiple QoS-based trust and targeted at building a reasonable credibility model for the raters. Inspired by the above literature, we here consider setting different levels of importance to ratings submitted by different customers. In this paper, we use “customer-to-customer trust” to express the credibility of the raters.Centralized trust management mechanism is not convenient to implement personalized trust evaluation. Peer-to-Peer architecture allows peers of a network to collect information, describing the performance and quality of other peers, without submitting to a centralized node. Caballero et al. [30] presented a trust and reputation model for agents in peer-to-peer environments. The model attempts to help the consumer decision making process taking into account trust and reputation information in each partner. The information is obtained from data stored by consumer agents in past interactions. Kamvar et al. [31] presented reputation system, called EigenTrust, to decrease the number of inauthentic files on the peer-to-peer network. The system computes a global trust value for a peer by calculating the left principal eigenvector of a matrix of normalized local trust values, thus taking into consideration the entire system’s history with each single peer. Departing from EigenTrust, Donato et al. [32] studied the effectiveness of mechanisms for decentralized reputation management in peer-to-peer networks and designed an algorithm for reputation management in file sharing applications over peer-to-peer networks. Wu and Dong [33] proposed a Re-TruM trust model based on reputation to solve trust problem between nodes in the peer-to-peer network. According to the historic results and others’ recommendation, node can evaluate the trust and then make a choice. This paper draws on the ideas of the above documents in the design of trust management mechanism.Some scholars summarized the state of the art in the field of trust-based service selection, classified trust models using some criteria, highlighted the limitations of each class and of the overall field, and pointed out some potential research direction for trust-based service selection [4, 10, 34–36].The existing trust evaluation models do not combine the solutions of several key issues listed in Section2. To the best of our knowledge, our work is the first paper that fully addresses these issues.


## 4. Trust Evaluation Model

In order to simplify the expression, we first make the following representations.LetS represent a set which contains all of Web services in a service market, and let sii=1,…,I be an element of this set;LetC represent a set which contains all of service customers in an online community, and let cll=1,…,L be an element of this set;LetT~ represent a set which contains all of trustworthy services.Making use of these representations, this paper can simply and efficiently describe the proposed trust evaluation model.


### 4.1. Trust in Web Services

In the last few years, scholars have proposed a number of Web service trust evaluation models to address service trust evaluation. However, trust is a subjective term that has had no uniform definition until now [14, 37, 38]. Based on exploration and analysis of trust literature, this paper proposes the following definitions.Definition 1 (customer-to-service trust).
Customer-to-service trust represents the fact that a service customer has subjective confidence in Web services’ competence to function as expected, based on the past experiences or customer ratings, even though their performance may fail to live up to expectations of the customer.Trust is a fuzzy concept that implies gradations of meaning. For a specific Web service, customers cannot simply say that it belongs toT~ or does not belong to T~. In fact, the Web service is partly trustworthy and partly untrustworthy. So, T~ is a fuzzy set whose elements have degrees of membership.For a servicesi∈S, the value μT~(si) is called the membership degree of si in T~. si is called not included in the fuzzy set T~ if μT~(si)=0, si is called fully included if μT~(si)=1, and si is called a fuzzy member if 0<μT~(si)<1. The function μT~(si) is called the membership function of the fuzzy set T~.The next thing to be done is to utilize past experiences or customer ratings to estimate the membership degrees of services inT~, which can be used to make optimum choice.Trust depends on QoS of a service, because people’s confidence in the service is built upon the evaluation against QoS. If a service is rated high in the evaluation of QoS, it is more trustworthy than ones with low ratings [4].Definition 2 (direct customer-to-service trust).
Direct customer-to-service trust is personalized and subjective reflecting an individual’s rating on a Web service.A customer’s direct trust in a service is based on his/her direct interactions with the service. Assume that a customercl has kl,i direct interactions with a service si before current moment τ. At τ, cl’s direct trust in si is denoted by tl→is that measures cl’s subjective perception and personalized evaluation against QoS of si [25]. Think of it this way: tl→is represents the membership degree of si in T~ in cl’s individual opinion at current moment τ. Trust is dynamic and changes over time and with future interactions. Thus, tl→is can be expressed as an iterative function; that is,(1)tl→is=tl→iskl,i=nullifkl,i=0,funltl→iskl,i-1,Ql←ikl,iifkl,i⩾1.In (1), Ql←i(kl,i) represents the QoS of si delivered to cl at the kl,ith interaction, and tl→is(kl,i) represents cl’s rating on si after the kl,ith interaction. At current moment τ, if cl has interacted with si and submitted a rating on it, tl→is≠null; otherwise, tl→is=null. The above iterative function formally represents trust evolution process. In this process, cl needs to continually update his/her rating on si according to the subsequent QoS of si delivered to him/her. After each interaction, cl should only update the original rating on si instead of submitting another new rating on it. In other words, the value of tl→is equals the latest rating on si submitted by cl, and cl can only retain at most one rating on si at any moment. This mechanism can effectively prevent a malicious customer from using the same identity to submit plenty of unfair ratings on a service.Forcl, each QoS attribute of si may contribute differently to tl→is. In addition, the human brain certainly is not linear [39], so the functional relation in (1) should be nonlinear and may change dynamically. In this case, determining the functional relation is very difficult, even impossible. It is also difficult since different customers reach an agreement on the functional relation. According to the above discussion, the functional relation in (1) is subjective and personalized and may not exist in an analytic expression. If this is true, it is impossible to compute tl→i by (1). Since the functional relation is subjective, and some QoS attributes are also subjective [9, 40], tl→is(kl,i) should be given subjectively by cl according to historical interaction experiences.It is common that a Trusted Third Party (TTP) gathers all ratings on a service submitted by customers and then use a mathematical model to compute the overall rating score that can be seen as this service’s reputation or customers’ trust in it. However, doing so will waste a lot of information that can aid customers in making personalized decisions. In this paper, a new idea is put forward.Definition 3 (indirect customer-to-service trust).
Indirect customer-to-service trust is the public’s opinion about the character or standing of a Web service. It is relatively objective and represents a collective evaluation of a group of customers.For a specific service, customers’ direct trust in it may be different. In other words, the ratings onsi submitted by customers have evaluation differences. Indirect trust in si, denoted by Ti, is the aggregation of individual direct trust in si. This paper deals with Ti as a random variable in the range of 0,1, not a certain value like individual direct trust. The ratings on si submitted by customers are seen as samples of the random variable Ti.In theory,Ti is a continuous random variable. The probability density function of Ti can take any shape, so the exact estimation of the probability density function often turns out to be complex, even impossible. Moreover, the precision of the ratings submitted by customers is constrained by human cognitive ability. For example, the rating submitted by a customer may be 0.78, rather than 0.77925, so discretizing the continuous random variable Ti is taken into account.Assume that all the ratings submitted by customers retain two decimal places after the decimal point. If so, the random variableTi can take only 101 different values 0,0.01,0.02,…,1.00. In order to simplify the expression, let xn denote the possible values of Ti; namely, xn=n/100 for n=0,1,2,…,100. Now, Ti is treated as a discrete random variable. The probability function of Ti is defined as follows:(2)fixn=PrTi=xn=Cnttl→is∣tl→is=xnCnttl→is∣tl→is≠null,where xn∈0,0.01,0.02,…,1, l∈1,2,…,L, and i∈1,2,…,I.In (2), Cnt(tl→is∣tl→is=xn) represents the number of tl→is, when tl→is=xn. In the same way, Cnt(tl→is∣tl→is≠null) represents the number of tl→is, when tl→is≠null.Now, service selection process has become a process of Web service trust comparison. However, it is worth noting that indirect customer-to-service trust values are random variables which cannot be directly compared with each other as certain values. Customers should select desired services by comparing the statistical properties of these indirect trust values.To compare the services, this paper introduces a new concept, “expected trust level,” which is used to represent different customers’ expectations of trust in Web services.Definition 4 (expected trust level).
Expected trust level is the minimum degree of trust which represents the least a customer expects from a Web service’s competence in actual practice.With the new concept, “expected trust level,” a progressive service comparison method is proposed as follows:Letsa and sb be Web services offering the same function. Ta and Tb are the indirect customer-to-service trust values of sa and sb, respectively. For an expected trust level α∈0,1, it is said that Ta is greater than Tb and sa is more trustworthy than sb if Pr(Ta⩾α)>Pr(Tb⩾α). These two relations are expressed symbolically by the expressions ∇α(Ta)>∇α(Tb) and ∇α(sa)≻∇α(sb), respectively. The formula ∇α(Ta)>∇α(Tb) can be rewritten as ∑n=100α100fa(xn)>∑n=100α100fb(xn), where α∈0,0.01,…,1.In different applications, there may be different policies for trust evaluation [22], and different customers may have different expectations of trust in Web services, so the expected trust level α should be determined by specific application requirements and customer requirements.


### 4.2. Time Decay of Ratings

The trust evaluation model described above does not consider the time decay of ratings. The current solution treats all the ratings equally, regardless of “when” they were submitted. In fact, newer ratings are more significant than old ones since old ratings may become obsolete or irrelevant with time passing by. A possible extension to the model described above is to extend models for treating the ratings submitted at different moments with some differences.LetR represent the set that contains all the ratings on services and N~ represent the set of new ratings. It is very clear that N~ is a fuzzy set defined on R. Assume that N~ has a membership function μN~:R→0,1. For each tl→is∈R, tl→is is called a fuzzy member of N~. The value μN~(tl→is) is called the membership degree of tl→is in N~.Assume that a customercl has kl,i direct interactions with a service si before current moment τ. Let τl,i represent the moment when cl last interacted with si and updated the rating on it. Let ϕl,i represent the time interval between τ and τl,i; that is, ϕl,i=τ-τl,i. The smaller ϕl,i is, the more tl→is belongs to N~. The membership degree of tl→is in N~ is 1 when ϕl,i=0, and the membership degree of tl→is in N~ is 0 when ϕl,i=+∞. Consequently, μN~(tl→is) can be also written as μN~(ϕl,i). A membership function of N~ is shown in Figure 2.Figure 2
A membership function ofN~.Each unit on the horizontal axis is a time period. In this paper, each time unit is abstract. It may be a minute, an hour, or a day, which is application dependable.The newer ratings are more significant for customer decision making. Under the guidance of this idea, the probability function ofTi in (2) can be redefined as follows:(3)fixn=PrTi=xn=SumμN~ϕl,i∣tl→is=xnSumμN~ϕl,i∣tl→is≠null,where xn∈0,0.01,0.02,…,1, l∈1,2,…,L, and i∈1,2,…,I.In (3), Sum(μN~(ϕl,i)∣tl→is=xn) represents the sum of μN~(ϕl,i), when tl→is=xn. In the same way, Sum(μN~(ϕl,i)∣tl→is≠null) represents the sum of μN~(ϕl,i), when tl→is≠null.


### 4.3. Trust in Service Customers

In the last subsection, we consider the time decay of ratings. Another limitation of the preceding trust evaluation model is that the ratings submitted by different customers are treated the same. In fact, a rating submitted by a more trustworthy customer is more significant. A possible extension to the preceding model is to evaluate the trust in customers and treat the ratings submitted by customers with some differences.Definition 5 (customer-to-customer trust).
Customer-to-customer trust represents the fact that a service customer has subjective confidence in other service customers’ statements and actions according to the preference similarity between each other historically.If a customercl has the same rating as another customer cm on a service sa, cl is more likely to have cm’s rating on a different service sb than to have the rating on sb of a customer chosen randomly. Some research works have demonstrated the relationship between trust and customer similarity [12, 41]. A customer’s trust in another customer is based on the preference similarity between each other historically. The similarity between consumers is used to weigh ratings submitted by consumers [42]. The higher the preference similarity between cl and cm is, the more cl trusts cm, and the more cm trusts cl. How to calculate the similarity between customers is beyond this paper’s scope, and the resolution of such issues remains open and will be our future research topic.A customercl’s trust in another customer cm is denoted by tl→mc that should be also a numerical value in the range of 0,1. It is reasonable that tl→lc=1; that is, a customer completely trusts himself/herself. Customers may use different similarity calculation methods, so customer-to-customer trust may be not symmetric [14]; that is, tl→mc≠tm→lc when l≠m.The ratings submitted by customers have different importance. In addition, we think that the credibility of customers is more important than the time decay of ratings. An old rating submitted by a trustworthy customer is more valuable than a new rating submitted by an untrustworthy customer. Referring to literature [43], the authors define a new function Z, which allows customers to express different preferences for the credibility of customers and the time decay of ratings. Z is defined as follows:(4)Zξl,m,i=1+ξ2×tl→mc×μN~ϕm,iξ2×tl→mc+μN~ϕm,i,where ξ>0,l,m∈1,2,…,L, and i∈1,2,…,I.In (4), ξ measures the relative importance of μN~(ϕm,i) to tl→mc. When ξ=1, a customer attaches equal importance to μN~(ϕm,i) and tl→mc; when ξ>1, a customer attaches more importance to μN~(ϕm,i); when ξ<1, a customer attaches more importance to tl→mc. In this paper, we set the value of ξ to 0.2.LetTl→i represent personalized indirect trust value of si from cl’s perspective. Tl→i is also a random variable, and the probability function of Tl→i is defined as follows:(5)fl→ixn=PrTl→i=xn=SumZ0.2l,m,i∣tm→is=xnSumZ0.2l,m,i∣tm→is≠null,where xn∈0,0.01,0.02,…,1,l,m∈1,2,…,L, and i∈1,2,…,I.In (5), Sum(Z0.2(l,m,i)∣tm→is=xn) represents the sum of Z0.2(l,m,i), when tm→is=xn. In the same way, Sum(Z0.2(l,m,i)∣tm→is≠null) represents the sum of Z0.2(l,m,i), when tm→is≠null. The expression Z0.2(l,m,i) shows that the credibility of customers is more important than time decay of ratings. It can also reduce the impact of the fact that malicious customers continue to deliberately refresh their ratings on services. Usually, the credibility of malicious customers is relatively low. Even though the ratings submitted by malicious customers are newer, their roles in generating Tl→i are relatively small.Letsa and sb be Web services offering the same function. Tl→a and Tl→b are personalized indirect trust values of sa and sb from cl’s perspective, respectively. For an expected trust level α∈0,1, it is said that Tl→a is greater than Tl→b and sa is more trustworthy than sb in cl’s opinion if Pr(Tl→a⩾α)>Pr(Tl→b⩾α). These two relations are expressed symbolically by the expressions ∇α(Tl→a)>∇α(Tl→b) and ∇α(sa)l≻∇α(sb)l, respectively.


### 4.4. Peer-to-Peer Trust Management

Peer-to-peer networking is distributed application architecture and has previously been used in many application domains. Peers are equally privileged, equipotent participants in the application. Peers make a portion of their resources directly available to other network participants, without the use of a centralized administrative system. Peers are both suppliers and requesters of resources.In a service market where a customer acts as a rating supplier and/or a rating requester, customers would interact with each other as in peer-to-peer-like systems. To address the service selection problem, inspired by the idea of P2P-based multiagent cooperation in distributed environments, in this paper we propose a novel trust management mechanism based on peer-to-peer network (see Figure3). Every peer in the peer-to-peer network represents a service customer and maintains two data files. One data file, called customer trust file, is used to record this customer’s trust in other customers; another data file, called service trust file, is used to record this customer’s ratings on services.Figure 3
Trust management mechanism based on peer-to-peer network.Assume that a customercl is represented by the current peer. A record in the customer trust file is two-tuple cl,tl→mc. The customer trust file is private to cl and cannot be accessed by other customers. A record in the service trust file is a triple si,tl→is,τl,i. The service trust file is public to all customers and can be accessed by all customers. The detailed process of generating Tl→i is shown in Figure 4.Figure 4
The schematic diagram of generatingTl→i.In the above example, when Alice selects her desired services, she should firstly send requests to query other customer’s service trust files in the peer-to-peer network, secondly gather ratings from other consumers’ responses, then generate personalized indirect customer-to-service trust combining with her own customer trust file, and finally make the decision according her own expected trust level. The same applies to Bob.


## 4.1. Trust in Web Services

In the last few years, scholars have proposed a number of Web service trust evaluation models to address service trust evaluation. However, trust is a subjective term that has had no uniform definition until now [14, 37, 38]. Based on exploration and analysis of trust literature, this paper proposes the following definitions.Definition 1 (customer-to-service trust).
Customer-to-service trust represents the fact that a service customer has subjective confidence in Web services’ competence to function as expected, based on the past experiences or customer ratings, even though their performance may fail to live up to expectations of the customer.Trust is a fuzzy concept that implies gradations of meaning. For a specific Web service, customers cannot simply say that it belongs toT~ or does not belong to T~. In fact, the Web service is partly trustworthy and partly untrustworthy. So, T~ is a fuzzy set whose elements have degrees of membership.For a servicesi∈S, the value μT~(si) is called the membership degree of si in T~. si is called not included in the fuzzy set T~ if μT~(si)=0, si is called fully included if μT~(si)=1, and si is called a fuzzy member if 0<μT~(si)<1. The function μT~(si) is called the membership function of the fuzzy set T~.The next thing to be done is to utilize past experiences or customer ratings to estimate the membership degrees of services inT~, which can be used to make optimum choice.Trust depends on QoS of a service, because people’s confidence in the service is built upon the evaluation against QoS. If a service is rated high in the evaluation of QoS, it is more trustworthy than ones with low ratings [4].Definition 2 (direct customer-to-service trust).
Direct customer-to-service trust is personalized and subjective reflecting an individual’s rating on a Web service.A customer’s direct trust in a service is based on his/her direct interactions with the service. Assume that a customercl has kl,i direct interactions with a service si before current moment τ. At τ, cl’s direct trust in si is denoted by tl→is that measures cl’s subjective perception and personalized evaluation against QoS of si [25]. Think of it this way: tl→is represents the membership degree of si in T~ in cl’s individual opinion at current moment τ. Trust is dynamic and changes over time and with future interactions. Thus, tl→is can be expressed as an iterative function; that is,(1)tl→is=tl→iskl,i=nullifkl,i=0,funltl→iskl,i-1,Ql←ikl,iifkl,i⩾1.In (1), Ql←i(kl,i) represents the QoS of si delivered to cl at the kl,ith interaction, and tl→is(kl,i) represents cl’s rating on si after the kl,ith interaction. At current moment τ, if cl has interacted with si and submitted a rating on it, tl→is≠null; otherwise, tl→is=null. The above iterative function formally represents trust evolution process. In this process, cl needs to continually update his/her rating on si according to the subsequent QoS of si delivered to him/her. After each interaction, cl should only update the original rating on si instead of submitting another new rating on it. In other words, the value of tl→is equals the latest rating on si submitted by cl, and cl can only retain at most one rating on si at any moment. This mechanism can effectively prevent a malicious customer from using the same identity to submit plenty of unfair ratings on a service.Forcl, each QoS attribute of si may contribute differently to tl→is. In addition, the human brain certainly is not linear [39], so the functional relation in (1) should be nonlinear and may change dynamically. In this case, determining the functional relation is very difficult, even impossible. It is also difficult since different customers reach an agreement on the functional relation. According to the above discussion, the functional relation in (1) is subjective and personalized and may not exist in an analytic expression. If this is true, it is impossible to compute tl→i by (1). Since the functional relation is subjective, and some QoS attributes are also subjective [9, 40], tl→is(kl,i) should be given subjectively by cl according to historical interaction experiences.It is common that a Trusted Third Party (TTP) gathers all ratings on a service submitted by customers and then use a mathematical model to compute the overall rating score that can be seen as this service’s reputation or customers’ trust in it. However, doing so will waste a lot of information that can aid customers in making personalized decisions. In this paper, a new idea is put forward.Definition 3 (indirect customer-to-service trust).
Indirect customer-to-service trust is the public’s opinion about the character or standing of a Web service. It is relatively objective and represents a collective evaluation of a group of customers.For a specific service, customers’ direct trust in it may be different. In other words, the ratings onsi submitted by customers have evaluation differences. Indirect trust in si, denoted by Ti, is the aggregation of individual direct trust in si. This paper deals with Ti as a random variable in the range of 0,1, not a certain value like individual direct trust. The ratings on si submitted by customers are seen as samples of the random variable Ti.In theory,Ti is a continuous random variable. The probability density function of Ti can take any shape, so the exact estimation of the probability density function often turns out to be complex, even impossible. Moreover, the precision of the ratings submitted by customers is constrained by human cognitive ability. For example, the rating submitted by a customer may be 0.78, rather than 0.77925, so discretizing the continuous random variable Ti is taken into account.Assume that all the ratings submitted by customers retain two decimal places after the decimal point. If so, the random variableTi can take only 101 different values 0,0.01,0.02,…,1.00. In order to simplify the expression, let xn denote the possible values of Ti; namely, xn=n/100 for n=0,1,2,…,100. Now, Ti is treated as a discrete random variable. The probability function of Ti is defined as follows:(2)fixn=PrTi=xn=Cnttl→is∣tl→is=xnCnttl→is∣tl→is≠null,where xn∈0,0.01,0.02,…,1, l∈1,2,…,L, and i∈1,2,…,I.In (2), Cnt(tl→is∣tl→is=xn) represents the number of tl→is, when tl→is=xn. In the same way, Cnt(tl→is∣tl→is≠null) represents the number of tl→is, when tl→is≠null.Now, service selection process has become a process of Web service trust comparison. However, it is worth noting that indirect customer-to-service trust values are random variables which cannot be directly compared with each other as certain values. Customers should select desired services by comparing the statistical properties of these indirect trust values.To compare the services, this paper introduces a new concept, “expected trust level,” which is used to represent different customers’ expectations of trust in Web services.Definition 4 (expected trust level).
Expected trust level is the minimum degree of trust which represents the least a customer expects from a Web service’s competence in actual practice.With the new concept, “expected trust level,” a progressive service comparison method is proposed as follows:Letsa and sb be Web services offering the same function. Ta and Tb are the indirect customer-to-service trust values of sa and sb, respectively. For an expected trust level α∈0,1, it is said that Ta is greater than Tb and sa is more trustworthy than sb if Pr(Ta⩾α)>Pr(Tb⩾α). These two relations are expressed symbolically by the expressions ∇α(Ta)>∇α(Tb) and ∇α(sa)≻∇α(sb), respectively. The formula ∇α(Ta)>∇α(Tb) can be rewritten as ∑n=100α100fa(xn)>∑n=100α100fb(xn), where α∈0,0.01,…,1.In different applications, there may be different policies for trust evaluation [22], and different customers may have different expectations of trust in Web services, so the expected trust level α should be determined by specific application requirements and customer requirements.


## 4.2. Time Decay of Ratings

The trust evaluation model described above does not consider the time decay of ratings. The current solution treats all the ratings equally, regardless of “when” they were submitted. In fact, newer ratings are more significant than old ones since old ratings may become obsolete or irrelevant with time passing by. A possible extension to the model described above is to extend models for treating the ratings submitted at different moments with some differences.LetR represent the set that contains all the ratings on services and N~ represent the set of new ratings. It is very clear that N~ is a fuzzy set defined on R. Assume that N~ has a membership function μN~:R→0,1. For each tl→is∈R, tl→is is called a fuzzy member of N~. The value μN~(tl→is) is called the membership degree of tl→is in N~.Assume that a customercl has kl,i direct interactions with a service si before current moment τ. Let τl,i represent the moment when cl last interacted with si and updated the rating on it. Let ϕl,i represent the time interval between τ and τl,i; that is, ϕl,i=τ-τl,i. The smaller ϕl,i is, the more tl→is belongs to N~. The membership degree of tl→is in N~ is 1 when ϕl,i=0, and the membership degree of tl→is in N~ is 0 when ϕl,i=+∞. Consequently, μN~(tl→is) can be also written as μN~(ϕl,i). A membership function of N~ is shown in Figure 2.Figure 2
A membership function ofN~.Each unit on the horizontal axis is a time period. In this paper, each time unit is abstract. It may be a minute, an hour, or a day, which is application dependable.The newer ratings are more significant for customer decision making. Under the guidance of this idea, the probability function ofTi in (2) can be redefined as follows:(3)fixn=PrTi=xn=SumμN~ϕl,i∣tl→is=xnSumμN~ϕl,i∣tl→is≠null,where xn∈0,0.01,0.02,…,1, l∈1,2,…,L, and i∈1,2,…,I.In (3), Sum(μN~(ϕl,i)∣tl→is=xn) represents the sum of μN~(ϕl,i), when tl→is=xn. In the same way, Sum(μN~(ϕl,i)∣tl→is≠null) represents the sum of μN~(ϕl,i), when tl→is≠null.


## 4.3. Trust in Service Customers

In the last subsection, we consider the time decay of ratings. Another limitation of the preceding trust evaluation model is that the ratings submitted by different customers are treated the same. In fact, a rating submitted by a more trustworthy customer is more significant. A possible extension to the preceding model is to evaluate the trust in customers and treat the ratings submitted by customers with some differences.Definition 5 (customer-to-customer trust).
Customer-to-customer trust represents the fact that a service customer has subjective confidence in other service customers’ statements and actions according to the preference similarity between each other historically.If a customercl has the same rating as another customer cm on a service sa, cl is more likely to have cm’s rating on a different service sb than to have the rating on sb of a customer chosen randomly. Some research works have demonstrated the relationship between trust and customer similarity [12, 41]. A customer’s trust in another customer is based on the preference similarity between each other historically. The similarity between consumers is used to weigh ratings submitted by consumers [42]. The higher the preference similarity between cl and cm is, the more cl trusts cm, and the more cm trusts cl. How to calculate the similarity between customers is beyond this paper’s scope, and the resolution of such issues remains open and will be our future research topic.A customercl’s trust in another customer cm is denoted by tl→mc that should be also a numerical value in the range of 0,1. It is reasonable that tl→lc=1; that is, a customer completely trusts himself/herself. Customers may use different similarity calculation methods, so customer-to-customer trust may be not symmetric [14]; that is, tl→mc≠tm→lc when l≠m.The ratings submitted by customers have different importance. In addition, we think that the credibility of customers is more important than the time decay of ratings. An old rating submitted by a trustworthy customer is more valuable than a new rating submitted by an untrustworthy customer. Referring to literature [43], the authors define a new function Z, which allows customers to express different preferences for the credibility of customers and the time decay of ratings. Z is defined as follows:(4)Zξl,m,i=1+ξ2×tl→mc×μN~ϕm,iξ2×tl→mc+μN~ϕm,i,where ξ>0,l,m∈1,2,…,L, and i∈1,2,…,I.In (4), ξ measures the relative importance of μN~(ϕm,i) to tl→mc. When ξ=1, a customer attaches equal importance to μN~(ϕm,i) and tl→mc; when ξ>1, a customer attaches more importance to μN~(ϕm,i); when ξ<1, a customer attaches more importance to tl→mc. In this paper, we set the value of ξ to 0.2.LetTl→i represent personalized indirect trust value of si from cl’s perspective. Tl→i is also a random variable, and the probability function of Tl→i is defined as follows:(5)fl→ixn=PrTl→i=xn=SumZ0.2l,m,i∣tm→is=xnSumZ0.2l,m,i∣tm→is≠null,where xn∈0,0.01,0.02,…,1,l,m∈1,2,…,L, and i∈1,2,…,I.In (5), Sum(Z0.2(l,m,i)∣tm→is=xn) represents the sum of Z0.2(l,m,i), when tm→is=xn. In the same way, Sum(Z0.2(l,m,i)∣tm→is≠null) represents the sum of Z0.2(l,m,i), when tm→is≠null. The expression Z0.2(l,m,i) shows that the credibility of customers is more important than time decay of ratings. It can also reduce the impact of the fact that malicious customers continue to deliberately refresh their ratings on services. Usually, the credibility of malicious customers is relatively low. Even though the ratings submitted by malicious customers are newer, their roles in generating Tl→i are relatively small.Letsa and sb be Web services offering the same function. Tl→a and Tl→b are personalized indirect trust values of sa and sb from cl’s perspective, respectively. For an expected trust level α∈0,1, it is said that Tl→a is greater than Tl→b and sa is more trustworthy than sb in cl’s opinion if Pr(Tl→a⩾α)>Pr(Tl→b⩾α). These two relations are expressed symbolically by the expressions ∇α(Tl→a)>∇α(Tl→b) and ∇α(sa)l≻∇α(sb)l, respectively.


## 4.4. Peer-to-Peer Trust Management

Peer-to-peer networking is distributed application architecture and has previously been used in many application domains. Peers are equally privileged, equipotent participants in the application. Peers make a portion of their resources directly available to other network participants, without the use of a centralized administrative system. Peers are both suppliers and requesters of resources.In a service market where a customer acts as a rating supplier and/or a rating requester, customers would interact with each other as in peer-to-peer-like systems. To address the service selection problem, inspired by the idea of P2P-based multiagent cooperation in distributed environments, in this paper we propose a novel trust management mechanism based on peer-to-peer network (see Figure3). Every peer in the peer-to-peer network represents a service customer and maintains two data files. One data file, called customer trust file, is used to record this customer’s trust in other customers; another data file, called service trust file, is used to record this customer’s ratings on services.Figure 3
Trust management mechanism based on peer-to-peer network.Assume that a customercl is represented by the current peer. A record in the customer trust file is two-tuple cl,tl→mc. The customer trust file is private to cl and cannot be accessed by other customers. A record in the service trust file is a triple si,tl→is,τl,i. The service trust file is public to all customers and can be accessed by all customers. The detailed process of generating Tl→i is shown in Figure 4.Figure 4
The schematic diagram of generatingTl→i.In the above example, when Alice selects her desired services, she should firstly send requests to query other customer’s service trust files in the peer-to-peer network, secondly gather ratings from other consumers’ responses, then generate personalized indirect customer-to-service trust combining with her own customer trust file, and finally make the decision according her own expected trust level. The same applies to Bob.


## 5. Experiments and Discussion

This paper conducts a simulation-based experiment to verify that the proposed approach is feasible, and it is a realistic simulation of reality. This section presents the experimental setup and validation. The experimental algorithms are programmed with Java and executed on a MacBook Pro computer with the following configurations: Intel Core i5-4308U CPU, 8 GB RAM, and Windows 10 operating system.


### 5.1. Experimental Setup

As far as we know, there is no available dataset suitable for validating the proposed approach. We use a synthesized dataset which is based on a real-world Web service dataset from WS-DREAM (http://wsdream.github.io/) [7, 8]. The real-world dataset contains 30,287,611 QoS records which are generated by 142 customers invoking 4500 Web services in 64 different time slots. The time interval between neighboring time slots is 15 minutes. Two QoS attributes, that is, response time and throughput, generated in the 64 time slots, are collected. The real-world dataset can reflect the actual interactions between customers and Web services. The statistics of the real-world dataset are shown in Table 2.Table 2
Statistics of the real-world dataset.
Statistics Values Num. of Web service invocations 30287611 Num. of service customers 142 Num. of Web services 4,500 Num. of time slots 64 Interval of time slots 15 minutes Observed QoS quality Response time, throughputThe real-world dataset is very large and difficult to handle. In addition, the real-world dataset has no customers’ rating. We need to simulate customers’ ratings for each Web service on the basis of the real-world dataset. Therefore, we constructed a synthesized dataset, which randomly selected 98 customers and 1000 services, and an interaction between them from the real-world dataset. The statistics of the synthesized dataset are shown in Table3.Table 3
Statistics of the synthesized dataset.
Statistics Values Num. of Web service invocations 73124 Num. of service customers 98 Num. of Web services 1000As mentioned earlier, the ratingtl→is should be given subjectively by cl according to historical interaction experiences. For simplicity, a simulated rating in the synthesized dataset is based on only one direct interaction between a customer and a service. Since response time and throughput have different ranges and units, we normalize them into a unified range [0,1]. We calculate the normalized values by the following formulas:(6)Normql←iR=max⁡qiR-ql←iRmax⁡qiR-min⁡qiR,Normql←iT=ql←iT-min⁡qiTmax⁡qiT-min⁡qiT.In (6), ql←iR and ql←iT represent the response time and throughput of si delivered to cl, respectively. max⁡(qiR) and min⁡(qiR) represent the maximum and minimum values of response time of si, and max⁡(qiT) and min⁡(qiT) represent the maximum and minimum values of throughput of si. With the calculated values of Norm(ql←iR) and Norm(ql←iT), we can derive the rating of si from cl as follows:(7)tl→is^=ωR,l×Normql←iR+ωT,l×Normql←iT.In (7), tl→is^ represents the simulated rating of si from cl. ωR,l and ωT,l are cl’s preference weights on response time and throughput which range from 0 to 1. In order to simulate the variety of preferences from different customers, we randomly divide the 98 customers into 10 groups. Customers weigh different values on response time and throughput. The groups and preferences of customers are shown in Table 4.Table 4
Groups and preferences of customers.
Group Num. of customers ω R , l ω T , l Group 0 7 0.1 0.9 Group 1 11 0.2 0.8 Group 2 13 0.3 0.7 Group 3 8 0.4 0.6 Group 4 7 0.5 0.5 Group 5 14 0.6 0.4 Group 6 10 0.7 0.3 Group 7 8 0.8 0.2 Group 8 10 0.9 0.1 Group 9 10 1.0 0According to (6) and (7), we can calculate all the ratings for each service from each customer. The next step is to set up the moments when the ratings were submitted. In the real-world dataset, there are 64 time slices, which are numbered from 0 to 63. We convert each invocation of the synthesized dataset into a rating, and the time slice id in each invocation can be regarded as the moment when the rating was submitted. In this experiment, the last time slice id is the current moment; that is, τ=63. τl,i represents the moment when cl last interacted with si and updated the rating on it, so τ-τl,i represents the time interval between current moment and the moment when cl submitted rating on si. In this experiment, the membership function of N~ is μN~(τ-τl,i)=0.994τ-τl,i; that is, μN~(ϕl,i)=0.994ϕl,i.The customer-to-customer trust values should be calculated according to the preference similarity between customers. In the experiment, Pearson Correlation Coefficient (PCC) is adopted to calculate the similarities between customers. Given two customerscl and cm, the similarity between cl and cm is(8)Simcl,cm=∑si∈Sl∩Smtl→is^-Avgtls^tm→is^-Avgtms^∑si∈Sl∩Smtl→is^-Avgtls^2∑si∈Sl∩Smtm→is^-Avgtms^2.In (8), Sl∩Sm represents the subset of services rated by both cl and cm. Avg(tls^) and Avg(tms^) represent the average ratings of the corated services of cl and cm, respectively. PCC has a value between −1 and +1. The higher the preference similarity between cl and cm is, the more cl trusts cm. In this experiment, cl’s trust in cm is calculated as follows:(9)tl→mc^=Simcl,cm--11--1=Simcl,cm+12.In (9), tl→mc^ represents the simulated trust value of cl in cm. In reality, customer-to-customer trust may be not symmetric; that is, tl→mc≠tm→lc when l≠m. For simplicity, there is tl→mc=tm→lc in this experiment.


### 5.2. Validation

In order to validate the feasibility of the customer-centric service selection model proposed by this paper, we conduct this validation experiment. We use part of ratings as the training set and treat the remaining part as the validation set. In this experiment, we randomly selected 10 customers as subjects, each of which comes from a different group. The details are shown in Tables5 and 6.Table 5
Training set and validation set.
Set Num. of ratings Training set 72177 Validation set 947Table 6
Subjects and candidate services.
Num. of subjects Num. of candidate services 10 111Suppose that all the candidate services have the same function and can be used to perform a specific task. All subjects need to choose one among them to deploy. In order to describe service selection visually, an example is given in this paper to demonstrate the details. We selected two subjects from all the subjects, namedcx and cy, and selected two services from all the candidate services, named sa and sb. The probability distributions of Tx→a, Tx→b, Ty→a, and Ty→b are shown in Figure 5, and the comparisons of sa and sb are shown in Table 7.Table 7
Services comparison.
Customer Service candidate ∇ 0.6 ( T l → i ) ∇ 0.7 ( T l → i ) cx s a 0.786821 0.716901 s b 0.792949 0.672565 cy s a 0.777231 0.706561 s b 0.774481 0.647911Figure 5
Probability distributions ofTx→a/b and Ty→a/b at current moment τ.
(a) (b) (c) (d)Whenα=0.6, there are ∇0.6(Tx→b)>∇0.6(Tx→a), and ∇0.6(Ty→a)>∇0.6(Ty→b), so cx and cy can find ∇0.6(sb)x≻∇0.6(sa)x and ∇0.6(sa)y≻∇0.6(sb)y, respectively. In such a situation, cx would select sb as the optimal service and cy would select sa as the optimal service. When α=0.7, they would both select sa as the optimal service.This example shows that for different expected trust levels, the services selected by the same customer may be different, and for the same expected trust level and ratings, the selections of different customers may be different. The results of service selection are related not only to customer preferences, but also to customer expectations.We also need to verify the feasibility of the proposed approach from a macro perspective. The training set is used as input, and a rank list ofK services is selected based on our method. For each subject, we selected top-K services that he/she has never invoked. We can find the actual top-K optimal services for each subject. The feasibility of the proposed method is assessed according to the number of hits (the selected services that match the actual top-K optimal services in the validation set). The following precision is calculated to assess the feasibility of selections:(10)precision:Pu=num.  of  hitsK.The precision is to assess the accuracy of the selected services relative to the customer’s potential expected trust level. The above precision is derived by averaging values over all subjects. The experiment results are shown in Figure6.Figure 6
Precision ofTop-K.From Figure6, it can be seen that the precision of service selection is getting higher and higher as K increases. There is no optimal expected trust level value. The expected trust level is set according to the expectation of a customer, and any customer can reasonably set up the expected trust level by himself/herself. This is consistent with the actual situation.


### 5.3. Discussions

This paper proposes a novel customer-centric trust evaluation model for personalized service selection. It is not an improvement of any existing one and has a unique idea. A striking feature of this model is to support personalized service selection according to customer preferences and customer expectations. We cannot determine each customer’s expected trust level in advance. Therefore, it is meaningless to compare the overall performance of the proposed method and other methods. We use the previous two subjectscx and cy as examples to make hypothetical comparisons with Collaborative Filtering (CF). Suppose cx sets the expected trust level to 0.7 and cy sets the expected trust level to 0.6. The comparison results are shown in Figures 7 and 8.Figure 7
Comparison of CF and the proposed method whencx sets α to 0.7.Figure 8
Comparison of CF and the proposed method whency sets α to 0.6.In Figure7, the selection precision of the proposed method is better than the recommended precision of CF, but in Figure 8, the selection precision of CF is better than the selection precision of the proposed method, so, only from these two hypothetical comparisons, we cannot determine which method is better.Both the proposed method and CF need to calculate the similarity between customers, but there are essential differences between these two approaches. CF is a kind of recommendation algorithm whose subject is a Trusted Third Party. The customers passively receive the results recommended by CF. The proposed method highlights the subjective initiatives of the customers and solves the problem of service selection from the perspectives of the customers. Each customer calculates the similarity between himself/herself and other customers, sets the expected trust level, and maintains the ratings on services and trust values for other customers. In the proposed method, the customers are subjects of the service selection process.In addition, there is no exact benchmark trust value for a service in fact. Different trust evaluation approaches usually tackle different aspects of trust. The proposed approach embodies customers’ personalized preferences and expectations and is a realistic simulation of reality.


## 5.1. Experimental Setup

As far as we know, there is no available dataset suitable for validating the proposed approach. We use a synthesized dataset which is based on a real-world Web service dataset from WS-DREAM (http://wsdream.github.io/) [7, 8]. The real-world dataset contains 30,287,611 QoS records which are generated by 142 customers invoking 4500 Web services in 64 different time slots. The time interval between neighboring time slots is 15 minutes. Two QoS attributes, that is, response time and throughput, generated in the 64 time slots, are collected. The real-world dataset can reflect the actual interactions between customers and Web services. The statistics of the real-world dataset are shown in Table 2.Table 2
Statistics of the real-world dataset.
Statistics Values Num. of Web service invocations 30287611 Num. of service customers 142 Num. of Web services 4,500 Num. of time slots 64 Interval of time slots 15 minutes Observed QoS quality Response time, throughputThe real-world dataset is very large and difficult to handle. In addition, the real-world dataset has no customers’ rating. We need to simulate customers’ ratings for each Web service on the basis of the real-world dataset. Therefore, we constructed a synthesized dataset, which randomly selected 98 customers and 1000 services, and an interaction between them from the real-world dataset. The statistics of the synthesized dataset are shown in Table3.Table 3
Statistics of the synthesized dataset.
Statistics Values Num. of Web service invocations 73124 Num. of service customers 98 Num. of Web services 1000As mentioned earlier, the ratingtl→is should be given subjectively by cl according to historical interaction experiences. For simplicity, a simulated rating in the synthesized dataset is based on only one direct interaction between a customer and a service. Since response time and throughput have different ranges and units, we normalize them into a unified range [0,1]. We calculate the normalized values by the following formulas:(6)Normql←iR=max⁡qiR-ql←iRmax⁡qiR-min⁡qiR,Normql←iT=ql←iT-min⁡qiTmax⁡qiT-min⁡qiT.In (6), ql←iR and ql←iT represent the response time and throughput of si delivered to cl, respectively. max⁡(qiR) and min⁡(qiR) represent the maximum and minimum values of response time of si, and max⁡(qiT) and min⁡(qiT) represent the maximum and minimum values of throughput of si. With the calculated values of Norm(ql←iR) and Norm(ql←iT), we can derive the rating of si from cl as follows:(7)tl→is^=ωR,l×Normql←iR+ωT,l×Normql←iT.In (7), tl→is^ represents the simulated rating of si from cl. ωR,l and ωT,l are cl’s preference weights on response time and throughput which range from 0 to 1. In order to simulate the variety of preferences from different customers, we randomly divide the 98 customers into 10 groups. Customers weigh different values on response time and throughput. The groups and preferences of customers are shown in Table 4.Table 4
Groups and preferences of customers.
Group Num. of customers ω R , l ω T , l Group 0 7 0.1 0.9 Group 1 11 0.2 0.8 Group 2 13 0.3 0.7 Group 3 8 0.4 0.6 Group 4 7 0.5 0.5 Group 5 14 0.6 0.4 Group 6 10 0.7 0.3 Group 7 8 0.8 0.2 Group 8 10 0.9 0.1 Group 9 10 1.0 0According to (6) and (7), we can calculate all the ratings for each service from each customer. The next step is to set up the moments when the ratings were submitted. In the real-world dataset, there are 64 time slices, which are numbered from 0 to 63. We convert each invocation of the synthesized dataset into a rating, and the time slice id in each invocation can be regarded as the moment when the rating was submitted. In this experiment, the last time slice id is the current moment; that is, τ=63. τl,i represents the moment when cl last interacted with si and updated the rating on it, so τ-τl,i represents the time interval between current moment and the moment when cl submitted rating on si. In this experiment, the membership function of N~ is μN~(τ-τl,i)=0.994τ-τl,i; that is, μN~(ϕl,i)=0.994ϕl,i.The customer-to-customer trust values should be calculated according to the preference similarity between customers. In the experiment, Pearson Correlation Coefficient (PCC) is adopted to calculate the similarities between customers. Given two customerscl and cm, the similarity between cl and cm is(8)Simcl,cm=∑si∈Sl∩Smtl→is^-Avgtls^tm→is^-Avgtms^∑si∈Sl∩Smtl→is^-Avgtls^2∑si∈Sl∩Smtm→is^-Avgtms^2.In (8), Sl∩Sm represents the subset of services rated by both cl and cm. Avg(tls^) and Avg(tms^) represent the average ratings of the corated services of cl and cm, respectively. PCC has a value between −1 and +1. The higher the preference similarity between cl and cm is, the more cl trusts cm. In this experiment, cl’s trust in cm is calculated as follows:(9)tl→mc^=Simcl,cm--11--1=Simcl,cm+12.In (9), tl→mc^ represents the simulated trust value of cl in cm. In reality, customer-to-customer trust may be not symmetric; that is, tl→mc≠tm→lc when l≠m. For simplicity, there is tl→mc=tm→lc in this experiment.


## 5.2. Validation

In order to validate the feasibility of the customer-centric service selection model proposed by this paper, we conduct this validation experiment. We use part of ratings as the training set and treat the remaining part as the validation set. In this experiment, we randomly selected 10 customers as subjects, each of which comes from a different group. The details are shown in Tables5 and 6.Table 5
Training set and validation set.
Set Num. of ratings Training set 72177 Validation set 947Table 6
Subjects and candidate services.
Num. of subjects Num. of candidate services 10 111Suppose that all the candidate services have the same function and can be used to perform a specific task. All subjects need to choose one among them to deploy. In order to describe service selection visually, an example is given in this paper to demonstrate the details. We selected two subjects from all the subjects, namedcx and cy, and selected two services from all the candidate services, named sa and sb. The probability distributions of Tx→a, Tx→b, Ty→a, and Ty→b are shown in Figure 5, and the comparisons of sa and sb are shown in Table 7.Table 7
Services comparison.
Customer Service candidate ∇ 0.6 ( T l → i ) ∇ 0.7 ( T l → i ) cx s a 0.786821 0.716901 s b 0.792949 0.672565 cy s a 0.777231 0.706561 s b 0.774481 0.647911Figure 5
Probability distributions ofTx→a/b and Ty→a/b at current moment τ.
(a) (b) (c) (d)Whenα=0.6, there are ∇0.6(Tx→b)>∇0.6(Tx→a), and ∇0.6(Ty→a)>∇0.6(Ty→b), so cx and cy can find ∇0.6(sb)x≻∇0.6(sa)x and ∇0.6(sa)y≻∇0.6(sb)y, respectively. In such a situation, cx would select sb as the optimal service and cy would select sa as the optimal service. When α=0.7, they would both select sa as the optimal service.This example shows that for different expected trust levels, the services selected by the same customer may be different, and for the same expected trust level and ratings, the selections of different customers may be different. The results of service selection are related not only to customer preferences, but also to customer expectations.We also need to verify the feasibility of the proposed approach from a macro perspective. The training set is used as input, and a rank list ofK services is selected based on our method. For each subject, we selected top-K services that he/she has never invoked. We can find the actual top-K optimal services for each subject. The feasibility of the proposed method is assessed according to the number of hits (the selected services that match the actual top-K optimal services in the validation set). The following precision is calculated to assess the feasibility of selections:(10)precision:Pu=num.  of  hitsK.The precision is to assess the accuracy of the selected services relative to the customer’s potential expected trust level. The above precision is derived by averaging values over all subjects. The experiment results are shown in Figure6.Figure 6
Precision ofTop-K.From Figure6, it can be seen that the precision of service selection is getting higher and higher as K increases. There is no optimal expected trust level value. The expected trust level is set according to the expectation of a customer, and any customer can reasonably set up the expected trust level by himself/herself. This is consistent with the actual situation.


## 5.3. Discussions

This paper proposes a novel customer-centric trust evaluation model for personalized service selection. It is not an improvement of any existing one and has a unique idea. A striking feature of this model is to support personalized service selection according to customer preferences and customer expectations. We cannot determine each customer’s expected trust level in advance. Therefore, it is meaningless to compare the overall performance of the proposed method and other methods. We use the previous two subjectscx and cy as examples to make hypothetical comparisons with Collaborative Filtering (CF). Suppose cx sets the expected trust level to 0.7 and cy sets the expected trust level to 0.6. The comparison results are shown in Figures 7 and 8.Figure 7
Comparison of CF and the proposed method whencx sets α to 0.7.Figure 8
Comparison of CF and the proposed method whency sets α to 0.6.In Figure7, the selection precision of the proposed method is better than the recommended precision of CF, but in Figure 8, the selection precision of CF is better than the selection precision of the proposed method, so, only from these two hypothetical comparisons, we cannot determine which method is better.Both the proposed method and CF need to calculate the similarity between customers, but there are essential differences between these two approaches. CF is a kind of recommendation algorithm whose subject is a Trusted Third Party. The customers passively receive the results recommended by CF. The proposed method highlights the subjective initiatives of the customers and solves the problem of service selection from the perspectives of the customers. Each customer calculates the similarity between himself/herself and other customers, sets the expected trust level, and maintains the ratings on services and trust values for other customers. In the proposed method, the customers are subjects of the service selection process.In addition, there is no exact benchmark trust value for a service in fact. Different trust evaluation approaches usually tackle different aspects of trust. The proposed approach embodies customers’ personalized preferences and expectations and is a realistic simulation of reality.


## 6. Conclusion

This paper defines trust in Web services and trust in service customers using a mathematical model based on fuzzy theory and probability theory and presents a customer-centric trust evaluation model for personalized service selection.The proposed model fully addresses the questions listed in Section2. Concrete solutions are as follows:(1)
Trust is fuzzy and subjective. The proposed model uses fuzzy theory and probability theory to deal with the fuzziness and randomness of trust, respectively.(2)
Customer expectation can be measured by trust degree or trust level. This paper introduces the new concept “expected trust level” to express different customers’ expectations about service quality.(3)
Centralized trust management mechanism is not convenient to implement personalized service selection. This paper designs a new trust management mechanism based on peer-to-peer network. The proposed mechanism is convenient, flexible, and robust to support personalized trust evaluation.(4)
Trust in customers is related to the customers’ preference similarity. Customers that have similar preferences often submit similar ratings on the same service. This paper synthesizes trust in services and trust in customers to generate personalized indirect customer-to-service trust values that are viewed from an individual’s perspective.The experiment results show that service selection by comparing probability is feasible when many candidate services offer the same function. For the same rating information and expected trust level, customers may select different services as the optimal services according to their trust in other customer. This model has good applicability to implement personalized service selection, and it is a realistic simulation of reality.



---

*Source: 4819195-2018-04-01.xml*