=Paper= {{Paper |id=Vol-1740/paper8 |storemode=property |title=Towards Agent-based and Trust-oriented Service Discovery Approach in Social Networks |pdfUrl=https://ceur-ws.org/Vol-1740/paper8.pdf |volume=Vol-1740 |authors=Amine Louati,Joyce El Haddad,Suzanne Pinson |dblpUrl=https://dblp.org/rec/conf/atal/LouatiHP14 }} ==Towards Agent-based and Trust-oriented Service Discovery Approach in Social Networks== https://ceur-ws.org/Vol-1740/paper8.pdf
         Towards Agent-based and Trust-oriented Service
            Discovery Approach in Social Networks

                      Amine Louati                Joyce El Haddad                 Suzanne Pinson
                      PSL, Université Paris-Dauphine, CNRS LAMSADE UMR 7243, France
                           {amine.louati,elhaddad,pinson}@lamsade.dauphine.fr




                                                        Abstract
                       Service discovery has been adopted in distributed environments and
                       recently in social networks. Existing approaches for service discovery
                       are often based on matching techniques, which only capture common
                       quality of service (QoS) criteria while ignoring the contribution of the
                       social aspect. The discovery problem increases when the number of
                       available services is important and no means to distinguish between two
                       or many providers offering the same service. To overcome this issue,
                       we propose a trust measure defined as the combination of two dimen-
                       sions namely trust in sociability and trust in expertise. The problem
                       is growing when no central control can be fixed due to the distributed
                       nature of social networks. To cope with centrality related issues, we
                       propose an agent-based service discovery approach in which each user in
                       the social network is assigned an autonomous and non malicious agent
                       equipped with a bounded set of services with their advertised QoS val-
                       ues. Endowed with a limited view of the social network, the agent acts
                       locally on behalf of its user to discover trustworthy providers with good
                       services. The search propagation process within the social network is
                       ensured by means of a distributed referral system where agents coop-
                       erate and evaluate referrals based on a distributed knowledge and a
                       decentralized decision-making.


       Keywords: Service Discovery, Trust, Multi-Agent Systems, Social Networks, Referral Systems


1    Introduction
Current research in service discovery (see [PKPS02, SPAS03, RKM04] for example) are based on semantic and/or
structural matching techniques between service requester needs and web services description i.e., functional and
non-functional properties and follow a centralized service registries used by Universal Description, Discovery,
and Integration (UDDI). However, with the emergence and rapid proliferation of media and social applications
especially social networks (SNs), agents show the willingness to use their SNs to find services as well as to share
services with others. Some studies [GA05, MSW+ 11] have shown that SNs acts as a rich source for gathering
information and services. Then, if we wish to rely on SNs for service discovery, we need to figure out how to
capitalize on retrieved information to determine trustworthy providers with good services. Due to its limited
view, a single agent is not able to discover relevant providers locally, and it needs some assistance from its

          c by the paper’s authors. Copying permitted only for private and academic purposes.
Copyright �
In: R. Cohen, R. Falcone and T. J. Norman (eds.): Proceedings of the 17th International Workshop on Trust in Agent Societies,
Paris, France, 05-MAY-2014, published at http://ceur-ws.org




                                                              1
acquaintances or acquaintances’ acquaintances to locate them i.e., analyzing SN structure. Agents interact
by exchanging messages while evaluating the nature of the relationship and follow the relevant path to find
trustworthy providers. The theory of Six Degrees of Separation claims that it is possible to reach anyone through
a chain of acquaintances that has no more than five intermediaries. Humans are particularly good for finding
these short paths [SJ05]. However, it is not that obvious in practice and especially in distributed environments
such as SNs. Previous works [YS03, MHDC10, BBB10] don’t consider the semantic aspect of relationships
between agents and deal with a single-relation social network. However, the present work considers different
relationship types between agents such as friendship, family relationship or, business relationship. Thus, our
service discovery approach is established in a Multi-Relation Social Network (MRSN). In this paper we propose
an agent-based and trust-oriented service discovery approach using a distributed referral system in multi-relation
social networks that addresses the following challenges.
   First, one of our main concerns in service discovery is the trust aware. A requester agent prefers commonly
providers that not only propose needed services but also that can be trusted before using their services. If the
requester knows that discovered services are offered by trustworthy providers, he will be more confident. For
instance, when searching for babysitting service in a MRSN, the requester agent would grant more trust to a
family member rather than a friend, still less to a colleague to look after his child. Such trust consideration
influences the agent’s decision making when choosing a counterpart to interact with. In this case, trust should
be added as an additional step after traditional phases in services discovery. So that once a requester agent
has discovered which providers perform the requested service, trust may be useful to rank them in terms of
trustworthiness for that service. In this work, we take the stance that trust is compositional, the overall evaluation
on an agent is obtained as a result of the combination of different measures. Concretely, trustworthiness towards
providers and their offered services is built upon two dimensions: trust in sociability and trust in expertise. High
sociability gives an indication about service provider confidence and high expertise gives rise to good services.
More specifically, trust in sociability is computed to evaluate the level of trust a requester may have in a provider.
Based on the analysis of the MRSN graph and the extracted information, three measures are computed: the
centrality degree of a provider which gives an indication about it social power (viz. social position), the proximity
in the SN between the provider and the requester (viz. social proximity), and the ties between them based on
the comparison of their profiles and social acquaintances (viz. social similarity). All of theses measures take
into account the semantic aspect of the relationships between agents. Trust in expertise is computed to evaluate
the level of trust a requester may have in a service based on the number and ratio of successful past use of the
service (viz. usability and reliability) as well as requester’s feedbacks (viz. quality rate).
   Second, for a given query, locating trustworthy providers with good services is often beyond the local view of
the requester agent. It requires the involvement of its social acquaintances (i.e., neighbors in the MRSN graph)
and even includes the involvement of the acquaintances’ acquaintances. Agents can help each others to find good
services by recommending trustworthy providers that have been useful to them in the past. Furthermore, the
distributed nature of the environment and the network topology contains other aspects that need to be taken into
account. To propagate the search in SN, we rely on a referral system. A referral system is a multi-agent system
(MAS) in which agents represent users and act on behalf of them to discover trustworthy providers with good
service. Endowed with a limited view of the environment, agents cooperate by giving, pursuing and evaluating
referrals [YS03]. In both [YS03] and [YVS99], the referral system is used for searching SN but these approaches
present the following limits: they assume a centralized decision-making wherein the requester’s agent collects all
possible referrals and decides to continue the search by contacting some of the suggested referrals.
   In this work, we distribute the searching process by spreading out the query among cooperative agents with
respect to the SN topology. Unlike approaches in [YS03, YVS99], we do not consider a fixed central agent.
Conversely, agents cooperate to locate trustworthy recommenders 1 and providers with good services based on
a distributed knowledge about their acquaintances’ expertise. Cooperation is established with a decentralized
decision-making. The remainder of the paper is organized as follows. In the next section we present related work
on service discovery with trust, and on agent-based models in distributed environments. Section 3 defines the
main concepts used in this work and presents an example to illustrate our problem. In Section 4, we describe
our trust model developed to evaluate the trustworthiness of providers and their offered services. Afterwards,
we presents in section 5 our agent-based referral approach along with a description of our distributed search
algorithm. Section 6 discuss implementation and evaluation aspects of our work. Section 7 gives the conclusion
and the ongoing work.
  1 Recommenders are agents that do not have useful services but may be well connected and help by proposing pertinent referrals.




                                                               2
2   Related Work

To propagate the search in a SN, our approach uses a referral system. A referral system is a MAS where agents
are capable of giving and following referrals [YS03]. In [YVS99, YS03], a referral system is used for searching SNs
with a centralized decision-making. The requester’s agent collects all possible referrals and decides to continue
the search by contacting some of the suggested referrals. However, due to the distributed characteristic of the
SN, it is not possible to gather all information by a single agent and make thereafter a correct trust evaluation.
To address that, a later work [SJ05] introduces decentralized search algorithms in networks using homophily and
degree disparity. Their algorithms have been designed for searching peer-to-peer distributed networks. However,
despite enhancements in decision making and searching, some SN features are missing as for example the multi-
relation aspect of SNs or the trust consideration between agents. Our work is similar to the work presented
in [ESAA04, HYY+ 13]. Both are based on a structured peer-to-peer system. In [HYY+ 13] authors propose
Chord4S, a Chord-based decentralized service discovery approach that supports service description distribution
and discovery in a P2P manner. A service query can be submitted to any node, and this node, if it does not
store the required service description, is able to route the query to an appropriate node for resolution. This
proposal do not address trust related issues, there is no mechanism for assessing the quality of the returned
services nor the trustworthiness of the providers. The discovery process is based only on the functionality of
the Web services which is not sufficient in many cases where several providers may offer functionally equivalent
services. To address that, Emekci et al. propose in [ESAA04] a Chord-based structured peer-to-peer framework
for Web service discovery in which services are located based on their functionalities and their behavior. Once
the qualifying services are discovered, they are ranked based on a reputation model. This model is defined as the
combination of two measures which are the quality of the offered service and the trustworthiness in its provider.
Both quality and trust measures are computed as the average of their respective ratings over last 6 months.
However, this reputation model is simple and elementary. Authors did not precise how providers are evaluated
nor what type of quality of service is considered. Moreover, they did not take into account the semantic aspect
of the relationships between peers.
   To discover trustworthy providers with good services, many approaches have investigated trust as far as
expertise is concerned [LHZ+ 12, LCM12]. Trust in expertise is concerned with the evaluation of past interactions
between users and services. For instance, Li et al. [LHZ+ 12] capitalizes on users’ feedbacks including ratings,
opinions and relevant comments after use to compute service reputation. Another recent work [LCM12] proposes
an approach for using quality of past experiences as a criterion for web service selection, including an analysis
of the different influence factors that may affect the perceived quality of the end-user. In spite of the added
value of these retrieved information to evaluate trust between agents, trust in expertise dimension is insufficient
to make a significant evaluation. Usually, in MAS the trust between two agents is based on another dimension
called the trust in sociability. In this regard, we can find some interesting approaches that study trust from
this point of view. We retain the works of Castelfranchi et al. [CF98] and Sabater et al. [SS02]. In [CF98],
authors claim that the notion of trust is crucial in agent’s theory and in MAS. An agent must trust another
agent to delegate a task. Trust model is based on the expertise of the counter party regarding the task (viz. core
trust) and on its willingness to achieve this task (viz. reliance). In [SS02], Sabater et al. propose a model for
reputation called REGRET which takes into account, the social dimension. In another work [BBB10], Bansal et
al. evaluate providers’ trustworthiness based on the centrality degree that gives an indication on their prestige in
the network. However, this is a poor definition of trust, since it just uses a single measure, the centrality degree.
In this work, we evaluated trust in providers based on sociability as well as expertise. Moreover, we do not
consider a fixed central agent but we promote agents to cooperate in order to locate trustworthy providers with
good services based on a distributed knowledge concerning acquaintances’ expertise. Cooperation is established
with a decentralized decision-making. We distributed the referral system by spreading out the query among
agents with respect to the SN topology.



3   Background

This section presents an example to illustrate our mechanism. This example will be used all along the paper.
We describe in further detail the overall concepts used in this work, i.e., social networks, services, user needs,
and software agents.




                                                         3
3.1     Walk-through Example
To better illustrate the service discovery issues and how they are dealt by our proposed solution, let us consider
a case study on a travel scenario. Figure 1 presents a SN of a user namely Bob. Bob is modeled by agent a0 .
In this SN, there are web services from on-line travel agencies as well as freelance service providers. Providers
may offer more than one service at the same time. Bob, the requester is a researcher and has to travel oversees
frequently. To do this, he formulates a query containing required services as well as constraints (for example,
price and total duration). The normal routine in his travel includes transportation from home to the airport,
flight to the destination city, transportation from the airport to the hotel, hotel accommodation, and sight seeing
the places in the available free time. Moreover, Bob may express his preferences over relationship types (for
example, in figure 1 he would grant more trust to a friend members than to a partner, still less to a public one)
and fixes a threshold for the trust.




                           Figure 1: Agent Bob’s Multi relation Social Network Graph G

3.2     Concepts Definition
3.2.1    Social Networks
We consider a particular kind of complex networks, the multi-relation social network (MRSN) which takes into
account the semantic aspect of the relationship linking two nodes. The relationships can be of different types.
For example, if we consider two types, R1 can be a friend relationship and R2 can be a partner relationship. A
multi-relation social network (MRSN) is modeled by an undirected graph, where nodes represent agents and, an
edge between two nodes indicate a symmetric social relationship between the agents 2 .
Definition 1 Given a set V of agents and a set R of types of symmetric relationships with R = {R1 , R2 , ..., Rr },
a multi-relation social network (MRSN) is a connected undirected graph G = (V, E), in which each Ei ⊂ E =
{E1 , E2 , . . . , Er } is the set of edges with respect to the i-th relationship. In other words, an edge (ak , aj ) ∈ Ei
represents a social relationship of type Ri between ak and aj .
   In the MRSN graph, the notion of neighborhood of an agent can be expressed as follows:
Definition 2 Given an M RSN graph G = (V, E), the neighborhood of an agent ak regarding a type of relation-
ship Ri ∈ {R1 , R2 , ..., Rr }, denoted NRi (ak ), is defined as NRi (ak ) = {aj ∈ V | (ak , aj ) ∈ Ei }.
   For example, the neighborhood of agent Bob in figure 1 according to friend relationship is Nf riend (a0 ) =
{a3 , a6 }. In the MRSN, each agent ak cooperate with a subset of agents, called SAk , that represents ak ’s local
view in the MRSN such as SAk = ∪ NRi (ak ). For instance, in figure 1, SA0 = {a2 , a3 , a4 , a5 , a6 , a7 } is the social
                                      Ri
acquaintance of agent a0 .

3.2.2    Services
A service is described in terms of functionality, inputs and outputs.
Definition 3 A service s is a triplet (in, out, f ) where in is a set of inputs required to use the service, out is a
set of outputs provided at the completion of the service and f is a functionality describing the provided capacity.
For example, consider a flight service offered by the agent a4 in figure 1. This service is described as follow: in=
{departure, arrival, check in, check out}, out= {online invoice, price} and, f= {Flight Booking}.
  2 We make the hypothesis that there is only one type of relationship between two nodes.




                                                               4
3.2.3   User needs
A user communicates his needs by expressing a set of requirements and constraints on the requested services.

Definition 4 A query Q is a quadruple (F, C, U, α) where F = {s1 , s2 , ..., sl } are required services, C =
{c1 , c2 , ..., cr } is a set of constraints given over services, U : R → N is an utility function expressing user’s
preferences over relationship types, and α ∈ [0, 1] is a trust threshold.

    To illustrate the user query, let us consider the previous example. Suppose that Bob, the requester, has the
intention to leave from Berlin to Paris to attend a conference on the May 5th until May 11th. He requires a
3-star hotel at least which is max 20 mn walking distance from the conference venue. Bob prefers to travel with
friends rather than with partners still less by public transports and he requires service providers with a trust
value greater than 0.7. In this example, the user query is defined by F= {Transportation service, Hotel service},
and C= {Hotel � 3-star, Hotel location: ”max 20 mn walking distance”}. His preferences over relationship types
are expressed as follows: Rf riend � Rpartner � Rpublic . These preferences are modeled in the query by the utility
function such as: U (f riend) = a, U (partner) = b, and U (public) = c, with a ≥ b ≥ c. For example, if the
requester prefers twice more the first relationship to the second one, than the utility of the second relationship
will be double the value of the first one (i.e. b = 2a). This means that the utility of friend type edge is twice
the utility of the partner type edge. This allows to favor paths that uses the minimum number of different
kind of relationships regarding the requester’s preferences. If we suppose that a = 1, Bob’s preferences become
U (f riend) = 1, U (partner) = 2 and U (public) = 4, and his trust threshold α = 0.7.

3.2.4   Software Agents
In the MRSN graph, each user is assigned an autonomous agent ak endowed with a bounded set of services with
their advertised QoS values and acts on behalf of him to discover trustworthy providers with good services.

Definition 5 An agent ak is defined as a 3-modules structure  with:
  • RM =  is the reasoning module with M C the matching component and, T C the trust component.
  • CM is the communication module whose role is to structure the messages built by the agent and handles the
    received ones.
  • KM =  is the knowledge module with Sk = {sk1 , . . . , skm } a set of offered services and P ITk
    a Personal Interaction Table. Each record in the P ITk (see table 1) contains the following elements: an
    acquaintance agent aj ∈ SAk , the profile P rj of aj , the social acquaintances set SAj of aj and the set of
    services Sj provided by aj .


                              Table 1: Agent a0 Personal Interaction Table (P IT0 )
        Acquaintance    Profile      Social Acquaintances               Offered Services with their QoS(Us,Re)
            a2           P r2    SA2 = {a0 , a1 , a3 , a5 , a8 , a12 }  S2 = {(s21 , 0.4, 0.7, 0.7); (s22 , 0.6, 0.8)}
            a3           P r3    SA3 = {a0 , a1 , a2 , a4 , a11 , a12 } S3 = {(s31 , 0.3, 0.6, 0.7); (s32 , 0.7, 0.6)}
            a4           P r4    SA4 = {a0 , a1 , a3 , a7 , a8 , a11 }  S4 = {(s41 , 0.5, 0.9, 0.8); (s42 , 0.5, 0.9)}
            a5           P r5        SA5 = {a0 , a2 , a8 , a9 }         S5 = {(s51 , 0.4, 0.9, 0.9); (s52 , 0.6, 0.9)}
            a6           P r6           SA6 = {a0 , a8 }                          S6 = {s21 , 1, 0.7)}
            a7           P r7        SA7 = {a0 , a4 , a8 , a10 }        S7 = {(s71 , 0.4, 0.8, 0.7); (s72 , 0.6, 0.8)}
   The values in the table are displayed by a get() method and a put() method that automatically replaces any
preexisting value that is associated with the specified key with the new value (see Algorithm 1 in section 5.3).
   The knowledge module KM provides data structures where ak stores information concerning both himself
(the profile of its associated user P rk and the set of offered services with their advertised QoS values Sk ) and
its acquaintances in the SAk . Through its reasoning module RM, ak can evaluate trust of its acquaintances
before interacting with them and can also check whether him or an acquaintance of its SAk is able to provide
suitable services. M C is initialized with a set of methods that can be undertaken to accomplish a pattern
matching between agent’s offered services and needed functionalities. To interact with other agents, ak uses its
communication module CM.
   We remind agent’s characteristics:




                                                            5
    • Agents have limited view in the SN, they know only agents that belong to their social acquaintance set.

    • Agents perform decentralized decision-making for contacting other agents.

    • Agents do not act maliciously and don’t lie while exchanging message, they have the inhered good will to
      fulfill user’s needs.

4     Trust Computation
Trustworthiness is evaluated over two dimensions: sociability and expertise. High sociability indicates relevant
providers and good recommenders, and high expertise gives rise to good services.

4.1     Trust in Sociability
Trust in sociability (ST) evaluates the social trustworthiness that an agent ak may have towards an agent
aj . Based on the analysis of the MRSN graph and the extracted information, three measures are computed
(see [LEHP12] for more details).

    • Social Position Measure (SPo). The social position of an agent aj is computed based on its centrality degree
      in order to give an indication about its social power (see formula in table 2).

    • Social Proximity Measure (SPr). It is a distance metric between a pair of agents, defined by the average
      cost of their path (see formula in table 2).

    • Social Similarity Measure (SSi). The social similarity between two agents is computed based on their profiles
      and the MRSN graph. SSi(ak , aj ) is an aggregation of two measures:

         – Profile Similarity (PS). In SNs, a profile consists of a set of items structured into a set of fields, each
           field containing one or several values (e.g. gender=[female], music-likes=[folk, jazz, pop]). In the
           former, the field is called a single-valued field and in the latter a multi-valued field. The aim of P S is
           to compare values of fields in requester profile to those in provider profile in order to determine how
           much requester and provider are similar (see formula in table 2).
         – Neighborhood Similarity Measure (NS). The neighborhood similarity between two agents is computed
           based on the comparison of their social acquaintances within the MRSN graph (see formula in table 2).

      We define the overall measure of social similarity, SSi(ak , aj ) as the product of the two above measures:
      SSi(ak , aj ) = N S(ak , aj ) × P S(ak , aj ).

  After computing these measures, a vector Mj associated with each agent aj is defined as Mj =
(SP o(ak ), SP r(ak , aj ), SSi(ak , aj )). Considering the vectors of all acquaintances, a matrix M = (Mjt , aj ∈
SAk and 1 ≤ t ≤ 3) is built. ST (ak , aj ), is then computed using a Simple Additive Weighting technique:
                                                              3
                                                              �
                                                                          �
                                            ST (ak , aj ) =         λt . Mjt (ak , aj )
                                                              t=1

                          �3
where λt ∈ [0, 1] and t=1 λt = 1. λt represents the weight of the tth social measure; and M � = (Mjt �
                                                                                                       , aj ∈
SAk and 1 ≤ t ≤ 3) is the matrix of vectors obtained after the scaling phase which transforms every measure
                                  �
value of Mjt vector into a value Mjt between 0 and 1.

4.2     Trust in Expertise
A good agent should not only be socially trustworthy but also sufficiently expert. Inspired from [LCM12], we
define trust in expertise ET of an agent aj based on three attributes:

    • Usability: is the percentage of successful use of an agent’s service sjl compared to the other services it offers:
                     Nb        (sjl )
      U s(sjl ) = �m success              where N bsuccess (sjl ) is the number of successful executions of sjl . This means
                    l=1 N bsuccess (sjl )
      that the more the service sjl is sought for in the social network the more aj is recognized as an expert in
      this field.




                                                                6
                                        Table 2: Trust in sociability measures
                 Trust measure     Formulation
                                               �|R|
                      SP o         SP o(aj ) = i=1,∀al ∈SAj wi . bi (aj , al ) where wi is the weight of
                                                                    1
                                   the relation Ri computed as U (R   i)
                                                                         ; and bi (aj , al ) = 1 iff aj and
                                   al are directly connected with an edge of a relation type Ri , 0
                                   otherwise.
                                                         �d
                                                              U ((a ,a       ))
                      SP r         SP r(ak , aj ) = l=1 d l l+1 where U ((al , al+1 )) is the cost of
                                   the edge (al , al+1 ) ∈ path given by the utility function U regarding
                                   the requester agent preferences.
                                                           �
                                                     1
                      PS           P S(ak , aj ) = |I|   × i∈I βi . Si (ak , aj ) where Si (ak , aj ) is the
                                   similarity between the ith items of ak and aj using Burnaby mea-
                                   sure [Bur70], I is the set of items in profiles and βi is a weight
                                   attributed to the item i reflecting its importance in the profile
                                   description.
                                                    �|R|                                                   1
                      NS           N S(ak , aj ) = i=1 wi . δ i (ak , aj ) with δ i (ak , aj ) = 1+jac       i
                                                     1            i       y   +z
                                   where wi = U (Ri ) and jac = xi +yi +zi is the Jaccard distance
                                                                            i    i


                                   between ak and aj according to the relationship Ri such as xi =
                                   |NRi (ak ) ∩ NRi (aj )|, yi = |NRi (ak )| − xi , zi = |NRi (aj )| − xi .

    • Reliability: is the probability that a service sjl is operational at the time of invocation: Re(sjl ) =
      N bsuccess (sjl )
       N binvoc (sjl ) where N binvoc is the number of invocations of sjl .

    • Quality rating: is the quality of a service sjl . Once a service sjl is successfully used by an agent ak , an
      evaluation ν ∈ [0, 1] is attributed by the user to this service. We designate by Evalx (ak , sjl ) the average of
      the quality rating of sjl for x uses.
                                                     �
                                                                         1             if x = 0
                               Evalx (ak , sjl ) =       Evalx−1 (ak ,sjl )∗(x−1)+ν
                                                                      x                otherwise

   Trust in expertise ET (ak , aj ) measures, the ability of aj to meet the expectations of ak . It’s an overall score
established on the basis of the three aforementioned attributes and over the m services offered by aj .
                                            �m
                                                  (U s(sjl ) × Re(sjl ) × Evalx (ak , sjl ))
                             ET (ak , aj ) = l=1
                                                                  m
4.3    Global Trust
The global trust T rust(ak , aj ) that an agent ak has for an agent aj is a weighted sum that depends on the
expertise as well as on the sociability of aj .

                              T rust(ak , aj ) = w × ST (ak , aj ) + (1 − w) × ET (ak , aj )



5     Distributed Trust-based Service Discovery
In this paper, our goal is to search user’s required services through a distributed trust-based service discovery.
In the following, we present our original search mechanism based on a distributed referral approach.

5.1    Distributed Referral Approach
In [YS03] and [YVS99], a referral approach is used with a centralized decision-making : when an agent receives
a request for expertise either it tries to match it against its own functionalities, or generates a list of possible
referrals using its user contact file, i.e., social acquaintances. The query originator’s agent collects all possible
referrals, and decides to continue or not the search by contacting some of the suggested referrals. In this work,




                                                                  7
we propose a distributed version of the referring process where, each agent acts autonomously and decides locally
to continue or not the search by propagating the query in its social acquaintance without coming back to the
requester agent. Some agents may be good providers and some others may be bad providers but may be well
connected and thus, may recommend good referrals. In our approach, we consider three different roles that an
agent may take: requester, provider/referral or, recommender.

5.2    Hypotheses
Before describing the algorithm, let us give some hypotheses. Recall that each agent ak offers a set of services
Sk = {sk1 , . . . , skm } and has a set of social acquaintances SAk . Additionally, each agent ak encompasses the
following variables:

  • A status variable, denoted statusk , that represents the role taken by an agent during the search process.
    It takes its value in the set {⊥, Req, P rov, Rec, Stop} with Req for requester, P rov for provider, Rec for
    recommender, and Stop for stopper. Initially, the status of all agents equals ⊥ except for the requester
    agent ar whose status is equal to Req.

  • A distance variable, denoted distk , that represents the distance of an agent to the requester agent ar .
    Initially, this variable equals 0 for the requester agent ar and +∞ for all other agents.

  • A counter variable, denoted countk , that serves to count the number of messages received from its acquain-
    tances. Initially, this variable equals 0 for all agents.

  • A set of trustworthy agents, denoted LT Ak , representing the set of potential providers belonging to the
    social acquaintances SAk of ak . Initially, LT Ak is an empty set for all agents.

  • A set of trustworthy agents, denoted LRAk , representing the set of potential referrals belonging to the social
    acquaintances SAk of ak . Initially LRAk is an empty set for all agents.

   The message structure is adapted form ACL syntax: .

5.3    Distributed Trust-Based Search Algorithm
The distributed search is presented in Algorithm 1. It ensures the propagation of search via navigation in the
SN. The inputs are G a MRSN graph and Q = (F, C, U, α) (see Def 4) a query transmitted by a requester to its
agent. As the output of the algorithm, each agent knows its status regarding the query (provider, recommender
or stopper) and its distance to the requester agent in the provider-recommender chain. A provider-recommender
chain is a sequence of agents in G starting from the requester agent ar and leading to a provider in which all
agents are either providers or recommenders.
   The algorithm is composed of four procedures and begins with an initiator, the requester agent ar , acquiring
the requester role (statusr = Req), setting its distance to itself to 0, and starting the discovery process by
sending an Request message to all its acquaintances (see lines 2 to 5). After that, ar waits 3 for an Inform
message from each of its acquaintances (see line 6). Once ar received all Request messages (one message per
acquaintance), it determines using its T C, a subset of trustworthy agents LT Ak from the set of its SAk (see line
8) and sends them a Propagate message (see lines 10 to 13).
   The behavior of an agent ak is event-driven: the reception of a message triggers the execution of a procedure
depending on the received message. An agent ak that receives an Request message, sends an Inform message
containing information about its profile P rk , offered services Sk with their advertised QoS values and its social
acquaintance SAk (see line 21 to 23). An agent ak that receives an Inform message from an acquaintance aj ,
increments its message counter and upgrades aj ’s record in P ITk as means to upkeep its beliefs regarding aj ’s
current offered services with their QoS values, profile and, its social acquaintance SAj (see lines 24 to 27).
   An agent ak that receives a Propagate message, compares the received distance value with its current
distance value. If the received value is less than its current distance value, then ak sets distk to the new value
which represents its distance in the provider-recommender chain to the requester agent ar (see lines 29 to 30).
After that, ak sends an Request message to all its acquaintances and waits for an Inform message from each
of its acquaintances (see lines 31 to 34).
   3 As agents have the good will to help, we suppose that all acquaintances answer. If not, we consider that there is a failure in the

system which is out of scope of this paper.




                                                                  8
Algorithm 1 Distributed Trust-based Search Algorithm
variables: statusk ∈ {⊥, Req, P ro, Rec, Stop}, distk ∈ {0, . . . , n}, countk ∈ {0, . . . , |SAk |}, LT Ak a set of
   trustworthy potential providers, LRAk a set of trustworthy potential referrals .

 1: procedure Propagation(F , C, U , α)
 2:    if (statusk == Req) then
 3:        for all aj ∈ SAk do       � SAk set of social acquaintance agents
 4:           send(Request, aj );      � The Request message
 5:        end for
 6:        wait (countk == |SAk |);
 7:        countk ← 0;
 8:        LT Ak ← {aj ∈ SAk / T rust(ak , aj ) > fα (distk )};
 9:    end if
10:    if (statusk == Req) or (statusk == P rov) then
11:        for all aj ∈ LT Ak do
12:           send(P ropagate, aj , F , U , α, distk );        � The Propagate message
13:        end for
14:    end if
15:    if (statusk == Rec) then
16:        for all aj ∈ LRAk do
17:           send(P ropagate, aj , F , U , α, distk );        � The Propagate message
18:        end for
19:    end if
20: end procedure


21: procedure Receive(Request, aj )
22:    send(Inf orm, aj , P rk , Sk , SAk );         � The Inform message
23: end procedure

24: procedure Receive(Inf orm, aj , P r, S, SA)
25:    countk ← countk + 1;
26:    P ITk .put(aj , P r, SA, S);
27: end procedure

28: procedure Receive(P ropagate, aj , F , C, U , α, dist)
29:    if (distk > dist + 1) then
30:       distk ← dist + 1;
31:       for all al ∈ SAk do
32:           send(Request, al );
33:       end for
34:       wait (countk == |SAk |);
35:       countk ← 0;
36:       if ((∃ skl ∈ Sk / skl ≡ s ∈ F ) ∧ (skl |= C)) then
37:           LT Ak ← {aj ∈ SAk / T rust(ak , aj ) > fα (distk )};
38:           statusk ← P ro;
39:           Propagation(F , C, U , α);               � In order to find other potential providers in G
40:       else
41:           LRAk ← {aj ∈ SAk / T rust(ak , aj ) > fα (distk ) and ∃ s� ∈ P ITk .get(aj ), / s� ≡ s ⊂ F ∧(skl |= C};
42:           if (LRAk �= ∅) then
43:               statusk ← Rec;
44:               Propagation(F , C, U , α);               � In order to find other potential providers in G
45:           else
46:               statusk ← Stop;
47:           end if
48:       end if
49:    end if
50: end procedure


                                                         9
   Once an agent ak received all Inform messages (one message per acquaintance), it checks its set of services
Sk and based on its M C, it verifies if one of its services fits user’s needs F given its constraints C (see line 36).
In both cases, ak computes its trust threshold and trust value towards all its acquaintances using its T C. The
computation of ak trustworthiness towards an acquaintance aj , T rust(ak , aj ) is an aggregated value over aj ’s
expertise and sociability (see Section 4). The computation of ak ’s trust threshold is done based on the following
observation: if we consider that the agent requester ar is a point of reference in the graph, the longer the provider-
recommender chain is, the less trustworthy the contacted agents are. Therefore, we have to adapt the value of
trust threshold (α) initially fixed by ar to the current search depth (current length of the provider-recommender
chain). For this, we define a function denoted fα (distk ) which adjusts the threshold value of ak depending on
                                                                                                           −distk
its distance distk to ar in the provider-recommender chain as follows: fα (distk ) = (1 − α) × (1 − e D ) + α,
where D is the graph diameter.

   Once ak has computed its trustworthiness towards all its acquaintances and its trust threshold, it determines
a subset of trustworthy agents. There are two possible cases, the first is that ak has a service skl ∈ Sk that
offers the same capacity as a requested service s ∈ F , then ak determines the LT Ak subset. To be in this subset,
an acquaintance aj has to have a trust value T rust(ak , aj ) greater than fα (distk ) (see line 37). Thereafter,
ak gets the provider role (statusk = P ro) and executes the Propagation procedure (see lines 38 to 39)
that sends a Propagate message to all acquaintances in LT Ak (see lines 10 to 12). In a second case, ak
does not provide the desired service, it determines the subset of agents LRAk which are not only trustworthy
(T rust(ak , aj ) > fα (distk )) but also that offers a desired service (∃ s� ∈ P ITk .get(aj ), / s� ≡ s ∈ F ) (see line 41).
If ak has no potential referrals (i.e. either they are not enough trusty to be recommended or they do not offer
at least one requested service), then ak stops the query propagation and takes the stopper role (statusk = Stop)
(see line 45 to 46). Otherwise, ak gets the recommender role (statusk = Rec) and executes the Propagation
procedure (see lines 42 to 44) that sends a Propagate message to all acquaintances in LRAk (see lines 15 to
18). This way of progressive spreading is the original mechanism of referral systems in which the propagation of
the search is ensured via navigation in the graph. In this case, although ak does not provide any desired service,
it can participate in the discovery process while leading to relevant agents.

   Let us consider our travel scenario in which we apply the algorithm. Recall that required services are F= {
Transportation service, Hotel service}, a0 who is the requester agent, launches the discovery process in the SN
graph by contacting trustworthy agents of its SA0 (a2 and a7 are not trustworthy). An agent who is able to
participate to the query achievement is considered as a provider (a4 and a5 ) whereas, all intermediate agents
leading to providers are called recommenders. In this example, a3 and a6 are recommenders since they do not
have useful services but they are well connected and lead to relevant providers (for example, a3 recommends a1 ).
As described above, each contacted agent propagates the query within its social acquaintance using the same
mechanism and only agents which are sufficiently trustworthy and with useful service(s) are detected.




                                         Figure 2: Service providers’ discovery


   At the end of this search process we obtain an annotated graph as shown in figure 2 wherein providers are
recognized (checked nodes). Note that some agents which have services to respond to the user query, a10 and
a12 , are not discovered since they are not enough trusty to be recommended.




                                                             10
Figure 3: Percentage of discovered providers as a function of: (a) trust threshold (b) the length of provider-
recommender chain.
6     Experimental Results
We have developed a prototype using Java 1.7 and the Jade4 multi-agent platform. The MRSN graph data was
stored in a GML format5 . All experiments were run on a 3.1GHz Core(TM) i5-2400 running windows 7, with
a 8Go of RAM. Simulations were done over 11 MRSN graph randomly generated. The number of agents varies
from 500 to 10000. Each graph contains 3 types of relationship and the requester preferences over relationships
types are equal to U (R1) = 1, U (R2) = 2, U (R3) = 4. We run each simulation with four initial values of α, i.e.,
α = 0, 0.2, 0.4, 0.6. We average the obtained results over 5 instances of each graph. Services were also randomly
distributed among agents thus, each agent in the graph may be a potential provider depending on the requested
service. For sake of simplicity, we suppose for all experiments that the requester agent needs only one service s
at a time. We evaluate our algorithm by computing the percentage of discovered providers (see Fig 3 a and b).

6.1    Percentage of discovered providers as a function of trust threshold
We investigate the impact of trust threshold on the discovery process (Fig 3.a). We compute the percentage
of discovered providers while varying trust threshold as depicted in figure 3.a. For α = 0, almost all providers
are discovered. This is equivalent to an exhaustive search that takes into account only the functional aspect
of the provider and ignores its social aspect. As expected, the number of discovered providers decreases while
the threshold increases. For high values of α, agents explore less search space in the MRSN which reduces the
number of discovered providers.

6.2    Dispersion of discovered providers as a function of the length of provider-recommender chain
We study how the number of discovered providers is scattered in the MRSN in terms of provider-recommender
chain length for a given requester agent query (Fig 3.b). Using the trust measure, we compute the percentage
of discovered providers (averaged over all graph instances) for different ranges of length. Now, let us look at
figure 3.b; this figure displays the providers’ dispersion for different trust threshold. For each threshold value,
the average number of discovered providers tends to level off once the length reach a certain point. There is a
trade-off between the chain length and the number of discovered providers: there is seven times more chances to
find a trustworthy provider in a chain length equal to 7 than in chain length equal to 3 (from 14% to 80%). We
noticed also that for values of α greater than 0.4, trustworthy providers are discovered relatively far away from
the requester. This indicates that many of discovered providers are weakly connected to the service requester
and require a long chain of recommenders to be reached. These results help us to fix the length of the provider-
recommender chain as a parameter. Setting a maximum length to 6 gives us the possibility to control the scope
of search which would substantially limit the computation costs.

7     Conclusion and Future Work
In this work, we have presented a distributed approach for trust-based service discovery to satisfy user’s needs
in social networks. We propose to evaluate trustworthiness towards service providers and their services over two
dimensions namely sociability and expertise. The discovery process is done by a distributed referral system that
spreads out the query among agents with respect to the SN topology. As future work, we plan to compare our
service discovery approach with a non trust-based one. By means of simulation, we plan to evaluate the impact
    4 Telecom Italia Lab. JADE 4.3 http://jade.tilab.com/.
    5 Graph Modeling Language, 1997, http://www.fim.uni-passau.de/en/fim/faculty/chairs/theoretische-informatik/projects.html.




                                                              11
of our social trust at agent-decision making during interaction and thereafter the quality of the underlying service
discovery. We also would like to investigate the composition of provider-recommender chain by keeping within
each service provider the identity of its acquaintances that recommend them. Finally, we intend to explore
the extension of our model to perform a service composition built upon a coalition formation of trust-based
discovered services. The idea is to achieve complex user’s needs through a service composition where discovered
agents communicate and coordinate within an organizational structure.

References
[BBB10]     S. K. Bansal, A. Bansal, and M. B. Blake. Trust-based dynamic web service composition using social
            network analysis. In BASNA, pages 1–8, 2010.
[Bur70]     T. Burnaby. On a method for character weighting a similarity coefficient, employing the concept of
            information. Mathematical Geology, 2:25–38, 1970.
[CF98]      C. Castelfranchi and R. Falcone. Principles of trust for mas: Cognitive anatomy, social importance,
            and quantification. In ICMAS, pages 72–79. IEEE Computer Society, 1998.
[ESAA04] F. Emeki, O. D. Sahin, D. Agrawal, and A. El Abbadi. A peer-to-peer framework for web service
         discovery with ranking. In ICWS, pages 192–199. IEEE Computer Society, 2004.
[GA05]      R. Gross and A. Acquisti. Information revelation and privacy in online social networks. In Proceedings
            of the 2005 ACM workshop on Privacy in the electronic society, WPES ’05, pages 71–80. ACM, 2005.
[HYY+ 13] Qiang H., Jun Y., Yun Y., Ryszard K., and Hai J. A decentralized service discovery approach on
          peer-to-peer networks. IEEE Transactions on Services Computing, 6(1):64–75, 2013.
[LCM12]     F. Lalanne, A. Cavalli, and S. Maag. Quality of experience as a selection criterion for web services.
            In Signal Image Technology and Internet Based Systems, Eighth International Conference on, pages
            519–526, 2012.
[LEHP12] A. Louati, J. El Haddad, and S. Pinson. Trust-based service discovery in multi-relation social
         networks. In ICSOC, pages 664–671. Springer-Verlag, 2012.
[LHZ+ 12]   M. Li, Z. Hua, J. Zhao, Y. Zou, and B. Xie. Arima model-based web services trustworthiness
            evaluation and prediction. In ICSOC, pages 648–655. Springer-Verlag, 2012.
[MHDC10] A. Maaradji, H. Hakim, J. Daigremont, and N. Crespi. Towards a social network based approach for
         services composition. IEEE International Conference on Communications, pages 1–5, 2010.
[MSW+ 11] Z. Maamar, P. Santos, L. Wives, Y. Badr, N. Faci, and J.P.M. de Oliveira. Using social networks for
          web services discovery. IEEE Internet Computing, 15:48–54, 2011.
[PKPS02] M. Paolucci, T. Kawamura, T.R. Payne, and K.P. Sycara. Semantic matching of web services
         capabilities. In Proceedings of the First International Semantic Web Conference on The Semantic
         Web, pages 333–347. Springer-Verlag, 2002.
[RKM04]     J. Rao, P. Küngas, and M. Matskin. Logic-based web services composition: From service description
            to process model. In ICWS, pages 446–453. IEEE Computer Society, 2004.
[SJ05]      O. Simsek and D. Jensen. Decentralized search in networks using homophily and degree disparity.
            In IJCAI, pages 304–310. Morgan Kaufmann Publishers Inc., 2005.
[SPAS03]    K. Sycara, M. Paolucci, A. Ankolekar, and N. Srinivasan. Automated discovery, interaction and
            composition of semantic web services. Journal of Web Semantics, 1:27–46, 2003.
[SS02]      J. Sabater and C. Sierra. Regret: a reputation model for gregarious societies. In C. Castelfranchi
            and L. Johnson, editors, AAMAS, pages 475–482. ACM Press, 2002.
[YS03]      B. Yu and M. P. Singh. Searching social networks. In AAMAS, pages 65–72. ACM, 2003.
[YVS99]     B. Yu, M. Venkatraman, and M. P. Singh. A multiagent referral system for expertise location. In In
            working notes of the AAAI workshop on intelligent information systems, pages 66–69, 1999.




                                                        12