INTRODUCTION
Trust model and computation have been discussed in many studies The knot model
(Gal-Oz et al., 2008) calculates trust on the
ground of a subset of the community members. Eigen-trust (Kamvar
et al., 2003) is based on transitive trust. Bayesian estimation methods
are adopted to get trust based on transactions and shared experiences in P2P
systems (Wu and Wu, 2009). A trust model of Web services
composition is presented on the basis of a Bayesian formalization of the trust.
The trust is changed according to experiences with Web services (Paradesi
et al., 2009). The reputation of a party is attained on the basis of
beta distribution with positive evidence and negative evidence as two parameters
in the Beta reputation model (Josang and Ismail, 2002).
A method of selecting resource sites meeting a customer requirement is formulated
based on the trust. The problem is solved by optimizing within the limitations
of Service Level Agreement (SLA) (Xiong and Perros, 2006).
RATE-Web is given for a reputation model of Web services to be used for selecting
Web services on the ground of trust. Experiences of service providers can share
with their partners by means of feedback ratings (Malik
and Bouguettaya, 2009). A reputation model of Web services is put forward
to consider the arrival of requests and discuss the impact on the overall reputation
(Khosravifar et al., 2010). Trust and reputation
have also become key components of several commercial systems such as E-bay.
In this study, for paid Web services based on Web service clusters, a service
selection method is given. Service clusters are divided based on the function
of each service. A Web cluster is a set of services with the same function.
If a service requestor presents a service request, the service cluster first
is matched according to the function. If a service cluster is chosen, which
service in the service cluster is selected to execute the service request? For
paid Web services, each Web service has its price. To keep the balance between
the price and service quality, a web service is selected based on the ratio
of trust value to price. Based on the request which is taken as cooperation
between the service and the service requestor, the service with the highest
ratio is selected to execute. The ration is proportional to trust value and
inversely proportional to the price. Hence, to gain the execution chance, a
service need increase its trust value and decrease its price.
Overall trust is composed of three parts: The initial trust, direct
trust and recommendation trust. When a service registers in a registration center,
it is assigned to a service cluster with the similar function. It has no trust
value and thus cannot become a candidate service to participate in competition
for a service request. Therefore, an initial trust need to be given to start
a new service to participate in competition. We calculate by the test value
of QoS (Quality of Service) during the testing period. When a service in a service
cluster is selected, it is executed to complete the service request. After the
service is executed, QoS is computed according to the execution. The direct
trust value is derived and updated based on QoS after the service is executed.
If the difference between the current QoS and the published QoS at the registration
center is small, the direct trust is increased to show reward. If the difference
between the current QoS and the published QoS at the registration center is
beyond a certain range, the direct trust is decreased to show punishment. Since
each Web service has its price, to gain the execution chance, a service needs
to ensure the quality of service. Besides, the recommendation trust needs to
be considered to calculate the overall trust. We use norm grey correlation analysis
method to calculate recommendation trust of Web services in Liu
et al. (2013).
COMPUTATION OF QoS
QoS is an aggregate indicator used to evaluate the degree of satisfaction after
using a Web service. The main quality attributes to service requestors are response
time, throughput, availability and accessibility, etc. Some of them are positive
attributes while some of them are negative attributes. The larger a positive
attribute is, the better the quality of services is. In other hand, the smaller
a positive attribute is, the worse the quality of services is. So, the equation
of response time and availability are given as follows.
Response time: Response time denotes the interval from the time of sending
the service request to the time of receiving the service response:
where, Receivei (s) represents the response time of the ith calling
for a Web service s and n denotes the number of times of calling for s.
Availability: Availability denotes the success probability of calling
for Web services:
where, M (s) represents success times of calling for a Web service s and N
(s) denotes the total number of times of calling for s.
There are still many quality attributes. The equation of other quality attributes
can refer from related references.
When choosing a service according to service quality, multiple service attributes
can be regarded as a whole to compute an overall service quality. Because there
are differences among the presentation and quantization of different service
quality attributes, different quality attributes of Web service need to be converted
into proper dimensionless indexes. Positive attributes are transformed into
dimensionless indexes with the following equation:
Negative attributes are transformed into dimensionless indexes with the following
equation (Wu and Wu, 2009):
where, Qmin represents the maximum values of a service quality attribute
while Qmin is the minimum value. Q denotes the concrete value of
a service quality attribute. The equation of the overall service quality is
as follow:
where, r represents the number of service quality attributes, Wi
is the weight of a service quality attribute and qi denotes the dimensionless
index of a service quality attribute. The overall service quality is a comprehensive
criterion for evaluating service quality.
COMPUTATION OF TRUST AND WEB SERVICE SELECTION
Initial trust value: When a new Web service is published and registered
to a registration center, an initial trust value is added, or else a new Web
service cannot compete for being selected. To solve the problem, the parameter
initialization method is used in some literatures. However, there exist many
drawbacks. In this study, the initial trust value is calculated based on the
performance of Web services during testing period. The initial trust value of
Web services depends on the honesty of a Web service provider. The honesty is
obtained by the difference between the real quality attribute value during the
testing period and the quality attribute value published by a Web service provider.
The quality attribute value published by a Web service provider can be determined
base on the Service Level Agreement (SLA). When a Web service provider publishes
a new Web service to a registration center, the data concerning the quality
of Web services should be published by the service provider. When a new Web
service si is registered to a registration center, the initial trust
value of si is computed as follow:
where, r represents the number of service quality attributes, Ti0
is the initial trust value of a new service, qika is the
kth quality attribute value of Web service si published by the service
provider. qikp denotes the test values of the kth quality
attribute of Web service si during the testing period.
Update of direct trust values: When service requestors send a request,
a Web service is used by a service requestor and a history record is produced.
A history record includes information about some operation situation and QoS
of a Web service. In this case, a service requestor gets the trust value for
a concrete Web service according to history records produced after the service
is used by the service requestor.
Suppose Q(q1, q2,...qr) is an attribute set
of QoS obtained after a concrete service si implements the service
request where 0≤qj≤1, 1≤j≤r, r represents the number
of service quality attributes, qj denotes dimensionless values of
QoS of a Web service. After a service si completes a service request,
reward or punishment is given based on results. Whether it is executed successfully
or is determined by the difference between the actual quality attribute values
after a service si completes a service request and the registered
quality attribute values published by the service provider in registration center.
Let ε ε [0, 1] be a threshold for deciding whether the execution is
successful or not:
denotes the successful execution and otherwise unsuccessful execution. If it
is a successful execution, the service sj is rewarded and the trust
value is increased. Ajx is defined to denote the increased
trust value obtained by service sj after the xth successful execution
where 0≤Ajx≤1, 1≤x≤ns and ns denotes successful execution
times. Ajx is computed as follow:
where, qkxj is the kth quality attribute value of a service
sj on the xth successful execution and wk is the weight
the of kth quality attribute.
If it is an unsuccessful execution, the service si is punished and
the trust value is decreased. Pyi is defined to denote
the decreased trust value obtained by service si after the yth unsuccessful
execution where 1≤y≤nf and nf denotes unsuccessful execution times. Pyi
is computed as follow:
where, qkyi the kth quality is attribute value of a service
si on the yth unsuccessful execution and wk is the weight
the kth quality attribute. The larger the difference is, the larger the punishment
and the decrease of the trust value. Otherwise, the smaller the difference is,
the smaller the decrease of the trust value is.
In addition, the trust is dynamic attenuation as time passed. The earlier trust
fades as time passed. The new trust during the recent interactions represents
better the present trust relationship. We take the attenuation function as the
weight of each cooperation to embody such change. The attenuation function is
defined as follow:
where, j0 [1, l] represents the jth cooperation, l is the total number of cooperation
in history. tj0[t1,tl] denotes the time of
the jth cooperation λ (j, tj)ε[0, 1]. The last time the
cooperation happen, the attenuation function is assigned as 1 denoting no attenuation.
The earlier the cooperation is, the smaller the value of the attenuation function
which shows that the weight for computing the trust value decreases.
The method to calculate the trust value concerning time interval and cooperation
times reflects the dynamic properties that trust varies with time. Whether the
cooperation is successful or not every time affects the computation of the weight
of not only this time but also each time previously. When the cooperation is
successful at last time, the total trust value increases and the weight of previous
unsuccessful cooperation relatively decreases which embodies the principle that
encourages success. When the cooperation is unsuccessful at last time, the total
trust value decreases and the weight of previous successful cooperation relatively
decreases which embodies the principle that publishes failure.
In conclusion, the equation of direct trust value is adopted as follow concerning
the cooperation history, successful and unsuccessful cooperation and dynamic
change of time:
When the times of cooperation in history are much more, the computation time
becomes longer. To reduce computation time, we use a threshold of a moving window
num which defines the recent cooperation times used to compute the direct trust
value. If the times of cooperation in history j>num, the above equation is
used to compute the direct trust value. Otherwise, if j>num, the direct trust
value is calculated based on the recent num cooperation times and the equation
is as follow:
where, sn denotes the recent num-1 successful cooperation times, Axni
is the recent num-1 unsuccessful cooperation times, Piyn
represents the xnth successful cooperation of the recent num-1 successful cooperation
times, λ(xn, txn) is the ynth unsuccessful cooperation of the
recent num-1 unsuccessful cooperation times, λ(yn, tyn) is the
attenuation factor of the ynth unsuccessful cooperation of the recent num-1
unsuccessful cooperation times.
Recommendation trust: We use the method to calculate recommendation
trust of Web services like Liu et al. (2013).
The weight of every recommender is confirmed by norm grey correlation analysis
method. The method quantifies the weight of service recommenders, avoids the
vicious recommendation and computes the recommendation trust value of each service
improving the reliability of selected services. We described the method in detail
in Liu et al. (2013) and dont dwell on it in
this study.
Overall trust: The overall trust is calculated as follow. Assume a service
requestor makes a request req and S = {s1,s2,Y,sn}
is a service set satisfying the request. Tsj0 represents
the initial trust of service sj, 1≤j≤n. Tsj d
is the direct trust of service sj. Tsj rdenotes
the recommendation trust of service sj. The equation. of the overall
trust Tsj a is defined as follow:
where, ω1+ω2+ω3 = 1, ωi,
i = 1, 2, 3 denotes the weight of the initial trust, the direct trust and the
recommendation trust.
Web service selection: Let P = {p1, p2,
, pn}
be a set of each service price. pj, 1≤j≤n, denotes the price of service
sj. The ratio of trust value to price is defined as follow:
The service with the highest ratio is selected to execute the request. The
ratio is proportional to trust value and inversely proportional to the price.
Hence, to gain the execution chance, a service needs increase its trust value
and decrease its price.
CONCLUSION
In a service cluster, each service belonging to a same service cluster has
the similar function. To choose an appropriate service to implement the service
request, the ratio of trust value to price is used. The initial trust of a service
is obtained by the difference between the real quality attribute value during
the testing speriod and the quality attribute value published by a Web service
provider. The update of direct trust values is based on history records and
produced after the service is executed by the service requestor. In computing
the direct trust, to describe the trust is dynamic attenuation as time passed,
the attenuation function is taken as the weight of each cooperation. To reduce
computation time, a threshold of a moving window is introduced to express the
recent cooperation times used to compute the direct trust value. The recommendation
trust is calculated based on norm gray correlation analysis method. The overall
trust is achieved according to the above three kinds of trust. The service with
the highest ratio of trust value to price is selected to execute the request.
ACKNOWLEDGMENTS
This study is supported by the National Basic Research Program of China with
Grant No. 2010CB328101; the National Natural Science Foundation of China with
grant number 61170078; The Doctoral Program of Higher Education of the Specialized
Research Fund of China with Grant No. 20113718110004; The Scientific and Technological
Developing Program of Shandong Province of China with Grant No. 2011 GGX10114;
The Project of Shandong Province Higher Educational Science and Technology Program
with Grant No. J12LN11 and the SDUST Research Fund of China with Grant No. 2011
KYTD102, 2011KYTU104.