[ieee 2013 12th annual mediterranean ad hoc networking workshop (med-hoc-net) - ajaccio, france...

8
A Social-Based Service Discovery Protocol for Mobile Ad Hoc Networks Michele Girolami†‡, Paolo Barsocchi†, Stefano Chessa‡, Francesco Furfari† †ISTI-CNR, Pisa Research Area, Pisa, Italy. Email: {michele.girolami, paolo.barsocchi, furfari}@isti.cnr.it ‡Computer Science Department, University of Pisa, Pisa, Italy. Email: {girolami, ste}@di.unipi.it Abstract—This work proposes an efficient proactive service discovery protocol that leverages the social behavior and the mobility of the people. The protocol is based on the concept that the service discovery performance is strongly affected by the mobility of the users and by their behavior along the time. Indeed, people generally have significant contacts with others with similar interests, hence they could be interested on similar services. We present simulation results that show that our protocol achieves increased efficiency in discovering services (compared to traditional broadcast-based mechanisms) by efficiently using bandwidth, thus decreasing the energy consumption. I. I NTRODUCTION The last few years have seen research development in the field of Pervasive Computing. These researches were focused on network infrastructures (e.g. UMTS, WiFi networks), soft- ware architectures (e.g. distributed middleware) as well as service discovery protocols in Smart Environments (SE) [1]. The service discovery protocol is a core part of a SE. It is used in order to announce and to discover the services that are available. The kinds of services available in a SE differ with respect to the type of environment. As an example in a Smart Home the service providers offer services for home automation, home security or tele-health care, while in an international airport the service providers offer indoor localiza- tion services or tourist assistance services. In these scenarios, we focus on the problem of devising efficient strategies for service discovery, and specifically on the optimization of the service advertisements propagation among devices, especially considering two important aspects of the SE in these scenarios that are human mobility and device autonomy. Mobility of humans is not random, rather they move ac- cording to one or more goals (for example, the passengers in a international airport move towards their departure gate to check in there). When the goals of a group of people match for a period of time, this group forms a temporary community. The individuals of a community share goals and possibly interests (for example the group may share interests about flight connections, delays, whether forecast). When the SEs do not provide a suitable infrastructure, autonomous devices are essential to manage efficiently their energy budget even without any guarantee about connectivity and reliability. This work was supported in part by part by the European Commission in the framework of the FP7 project universAAL (contract N.247950) Service discovery is an important and active area of research in the field of MANETs [2] and [3]. Some pioneering discov- ery protocols have been proposed starting from 1999 like Jini [4], UPnP [5], SLP [6] and Bonjour [7]. These protocols are mainly focused for administrated and infrastructured IP-based networks. Some works [8], [9], [10] and [11] exploit the social aspect of humans in SEs such as in the DTN or in the PSN (Pocket Switched Network). The Bubble Rap algorithm [8] implements a social-based forwarding strategy for delay tolerant networks. The authors take into account the centrality of the nodes in order to establish a hierarchy in the forwarding decision. A message is first forwarded up in the hierarchical ranking until it reaches a node in the same community of the receiver. Then the message is forwarded locally in the community until it reaches the des- tination. The authors use k-Clique and the Weighted Network Analysis (WNA) algorithms to detect communities. In [9] the authors propose a socially inspired resource discovery service for delay tolerant networks that exploits the Community-based Mobility Model (CMM). The resources and the nodes are classified with interests, and the search is performed by first sending a query to the neighbors that have similar interests. If the resource is not found, the query is sent to every node in the transmission range. The work presented in [10] implements a service discovery algorithm based on the Service Rings. A ring groups nodes that are physically close to each other and that offer similar services. Every ring can be accessed by means of the ring SAP (service access point) that knows a summary of the services provided by the nodes of the same ring. The search queries are propagated only among the SAPs of the overlay network instead of flooding the network. This can reduce the overhead of the protocol, however the SAPs play a crucial role in the network and they are supposed to provide enough resources in order to act as ring manager. The use of Received Signal Strength (RSS) in service discovery has been proposed in the S3D algorithm [12]. S3D uses the RSS in order to select the links with higher quality in order to deliver the service query. The authors observe that the selection of high quality links allows to reduce the latency between queries and replies and increases the success ratio. The GSD protocol (Group-Based Service Discovery) [13] introduces the notion of service group to establish a rela- tionship among the services and to match the queries with the advertisements. GSD adopts a selective forwarding schema, where the query propagation is achieved by forwarding only 978-1-4799-1004-5/13/$31.00 ©2013 IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) 103

Upload: francesco

Post on 11-Feb-2017

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

A Social-Based Service Discovery Protocol forMobile Ad Hoc Networks

Michele Girolami†‡, Paolo Barsocchi†, Stefano Chessa‡, Francesco Furfari††ISTI-CNR, Pisa Research Area, Pisa, Italy. Email: {michele.girolami, paolo.barsocchi, furfari}@isti.cnr.it

‡Computer Science Department, University of Pisa, Pisa, Italy. Email: {girolami, ste}@di.unipi.it

Abstract—This work proposes an efficient proactive servicediscovery protocol that leverages the social behavior and themobility of the people. The protocol is based on the conceptthat the service discovery performance is strongly affected by themobility of the users and by their behavior along the time. Indeed,people generally have significant contacts with others with similarinterests, hence they could be interested on similar services.We present simulation results that show that our protocolachieves increased efficiency in discovering services (comparedto traditional broadcast-based mechanisms) by efficiently usingbandwidth, thus decreasing the energy consumption.

I. INTRODUCTION

The last few years have seen research development in the

field of Pervasive Computing. These researches were focused

on network infrastructures (e.g. UMTS, WiFi networks), soft-

ware architectures (e.g. distributed middleware) as well as

service discovery protocols in Smart Environments (SE) [1].

The service discovery protocol is a core part of a SE. It is

used in order to announce and to discover the services that

are available. The kinds of services available in a SE differ

with respect to the type of environment. As an example in

a Smart Home the service providers offer services for home

automation, home security or tele-health care, while in an

international airport the service providers offer indoor localiza-

tion services or tourist assistance services. In these scenarios,

we focus on the problem of devising efficient strategies for

service discovery, and specifically on the optimization of the

service advertisements propagation among devices, especially

considering two important aspects of the SE in these scenarios

that are human mobility and device autonomy.

Mobility of humans is not random, rather they move ac-

cording to one or more goals (for example, the passengers

in a international airport move towards their departure gate

to check in there). When the goals of a group of people

match for a period of time, this group forms a temporary

community. The individuals of a community share goals and

possibly interests (for example the group may share interests

about flight connections, delays, whether forecast).

When the SEs do not provide a suitable infrastructure,

autonomous devices are essential to manage efficiently their

energy budget even without any guarantee about connectivity

and reliability.

This work was supported in part by part by the European Commission inthe framework of the FP7 project universAAL (contract N.247950)

Service discovery is an important and active area of research

in the field of MANETs [2] and [3]. Some pioneering discov-

ery protocols have been proposed starting from 1999 like Jini

[4], UPnP [5], SLP [6] and Bonjour [7]. These protocols are

mainly focused for administrated and infrastructured IP-based

networks. Some works [8], [9], [10] and [11] exploit the social

aspect of humans in SEs such as in the DTN or in the PSN

(Pocket Switched Network).

The Bubble Rap algorithm [8] implements a social-based

forwarding strategy for delay tolerant networks. The authors

take into account the centrality of the nodes in order to

establish a hierarchy in the forwarding decision. A message is

first forwarded up in the hierarchical ranking until it reaches a

node in the same community of the receiver. Then the message

is forwarded locally in the community until it reaches the des-

tination. The authors use k-Clique and the Weighted Network

Analysis (WNA) algorithms to detect communities. In [9] the

authors propose a socially inspired resource discovery service

for delay tolerant networks that exploits the Community-based

Mobility Model (CMM). The resources and the nodes are

classified with interests, and the search is performed by first

sending a query to the neighbors that have similar interests. If

the resource is not found, the query is sent to every node in the

transmission range. The work presented in [10] implements a

service discovery algorithm based on the Service Rings. A ring

groups nodes that are physically close to each other and that

offer similar services. Every ring can be accessed by means of

the ring SAP (service access point) that knows a summary of

the services provided by the nodes of the same ring. The search

queries are propagated only among the SAPs of the overlay

network instead of flooding the network. This can reduce the

overhead of the protocol, however the SAPs play a crucial

role in the network and they are supposed to provide enough

resources in order to act as ring manager.

The use of Received Signal Strength (RSS) in service

discovery has been proposed in the S3D algorithm [12]. S3D

uses the RSS in order to select the links with higher quality

in order to deliver the service query. The authors observe

that the selection of high quality links allows to reduce the

latency between queries and replies and increases the success

ratio. The GSD protocol (Group-Based Service Discovery)

[13] introduces the notion of service group to establish a rela-

tionship among the services and to match the queries with the

advertisements. GSD adopts a selective forwarding schema,

where the query propagation is achieved by forwarding only

978-1-4799-1004-5/13/$31.00 ©2013 IEEE

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

103

Page 2: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

to those nodes that provide services belonging to the same

group of the query, or to nodes whose neighbors provide such

services.

In this paper we propose People Like Us (PLU), a novel

proactive service discovery protocol that exploits the notion

of user communities to share service advertisements among

peers. PLU is based on the observation that social relationships

of humans in the SE can strongly influence the performance

of a service discovery strategy. Humans generally only have

significant contacts with others like themselves. Under this

respect the homophily is the principle that a contact between

similar person occurs at a higher rate than among dissimilar

people [14]. Humans interact more with others (typify as

”people like us”) who have similar interests, therefore could

be interested on similar services. This feature can be leveraged

to inform the closest ”people like us” of existing services that

potentially could be of interest. In contrast with the state of

the art, the proposed protocol does not need a localization

service to detect if two nodes are close, rather PLU exploits the

RSS values that are available in all the wireless devices [15].

PLU comprises three phases: (i) finding neighborhoods (based

on RSS): during this phase the nodes detect the neighbors

that are stable along the time. (ii) Community detection: the

nodes exploit the neighborhood in order to build a community.

(iii) Services exchange: during this phase nodes of the same

community share their interests and compute the set of adver-

tisements that are of interest for the whole community or with

a member of community. The services exchange phase allows

to mesure the interest similarity among the nodes of the same

community and to select which advertisements exchange.

PLU has been evaluated by simulation using the Hu-

man Community-based Mobility Model (HCMM) [16]. The

HCMM model reproduces the human mobility inside a

bounded region, by taking into account the social relationship

among people and the spatial properties of the region. PLU

has been compared with respect to other meaningful strategies

for the propagation of the advertisements, by obtaining some

notable results in terms of propagation of advertisements and

protocol overhead.

II. SERVICE DISCOVERY MODEL

The connections among nodes in a SE are represented as

a connected-weighted and directed graph G = (V,E), where

V = {ni} is the node set, and E = {eij = (ni, nj) : ni, nj ∈V } is the edge set. The weight of the edges in E is given by

the RSS value between the nodes (hence it varies with time).

At a given time, the RSS values are measured by means of

the function τ : V × V −→ R that, given a pair of nodes ni

and nj , estimates the signal power strength of the messages

sent by nj and received by ni. The RSS value between a pair

of nodes provides an estimation of the proximity of the node

ni with respect to the node nj (as discussed in [15]). More

formally, the function τ is defined as follows:

τ(ni, nj) =

{x ∈ R if eij ∈ E0 if eij /∈ E

(1)

Note that the RSS value between a pair of nodes is, in general,

not symmetric (i.e. τ(ni, nj) �= τ(nj , ni)). This asymmetry

is often caused from physical conditions in the environment

such as obstacles or interference that reduce the signal power

strength among nodes.

Our purpose is to model the sets of nodes in G that are

well connected; such sets are also called communities. Before

defining a community, we recall some basic definitions from

the graph theory. Given a graph H = (V,E) a clique is a set of

nodes such that every pair of nodes in this set, is connected by

an edge. The cardinality k ∈ N of the clique is also called the

order of the clique. If a clique of order k cannot be extended

with k + 1 vertices, than it is defined as maximal clique of

order k.

A community of order k is a set of k nodes that are close to

each other (the RSS value among each pair of nodes is greater

than a specific threshold) for a time period. More formally:

Definition 1. Given the connection graph G = (V,E) andgiven a threshold Trss �= 0 for the function τ , a communityC ⊆ V is a maximal clique of order k if ∀ni, nj ∈C, τ(ni, nj) ≥ Trss and τ(nj , ni) ≥ Trss for at least a timeperiod t.

Definition 1 introduces two parameters: the RSS threshold

Trss and the time period t. The threshold Trss allows to

re-size the radius of the community: if Trss decreases, the

radius of the community increases therefore the nodes of a

community can be more distant from each other. Differently,

if Trss increases the radius of the community decreases and

only the nodes close to each other will be considered as a part

of the same community.

The parameter t is used to find stable communities over the

time. In our view, a community must be composed by nodes

that are close to each other for at least a time period t. This

allows to identify nodes that share a social relationship with

other nodes, since they keep in contact for a given period.

Depending on the value of t, this can detect short lasting

communities (for example people on the same bus), or long

lasting communities (for example students attending the same

classes).

The nodes of G can access a set of services along the

time. The service advertisements are represented by the set

S = {s1, . . . , sm}, |S| = m. Each node stores in its local

cache a subset Si ⊆ S of the advertisements that are of

interest for the node. An advertisement typically comprises a

number of fields, such as the service identifier, the pointer to

the service provider (for example the URI to the provider) and

a description of the features provided by the service. However,

the actual formalism used to describe services is out of the

scope of this paper and we will not discuss it.

Services are classified according to the topics in set T . A

topic is a category to which a set of advertisements belongs

to, and to which one ore more nodes are interested in. Given

a service si the function ts : S −→ T finds its topic. In a

similar way, given the node ni the function tn : V −→ {T}finds the set of topics to which ni is interested in. Note that

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

104

Page 3: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

a node could be interested in more than one topic. Given a

community C, the topics that are in common is computed by

the function tc : C −→ {T} as:

tc(C) =⋂

ni∈C

tn(ni) (2)

readynode

activenode

silentnode

p

1-p

k

k

k

tableaccess

servicequery

r

1-r

Fig. 1. State transition during the service discovery process

We model the discovery process as a finite state machine

that represents the states of the nodes and their transitions, as

shown in Figure 1. A node in the state ready node becomes

an active node (with probability p). An active node accesses a

given service si ∈ S. If the node already knows si (with

probability r), the node moves to the state table access,

otherwise it moves to the state service query. The node in the

state table access accesses to the service si without submitting

any query in the system. The node in the state service querysubmits a service query in the network in order to find the

advertisements matching with si. The node can also moves

to the state silent node (with probability 1− p) if it does not

access any service. Finally, a node returns back to the status

ready node with a fixed probability (we assume k = 1).

The probability r that a node already knows the advertise-

ment si ∈ Si increases as the node exchanges the service

advertisements with other nodes in its communities. Also,

if the node joins the community C, it will share social

relationship with members of C, and the probability of sharing

similar topics and advertisements will become higher. In turn,

if r increases, the node reduces the probability to move to the

state service query, hence reducing the number of messages

exchanged.

The probability r can be computed as follows. Let CACi

be the probability that a node visits the community Ci (as

described in [16]), k = |Ci| be the number of nodes in the

community Ci and ujv be the probability that the node nv ∈Ci already knows the service advertisement sj . We first define

the inverse probability r = 1− r that a node, entering in Ci,

does not exchange the advertisement sj . It is given by:

r = CACi ×∏

v=1,k

(1− ujv) (3)

Fig. 2. The PLU protocol

where∏

v=1,k(1 − ujv) is the probability that a member of

Ci don’t know the advertisement sj . The probability r is thus

r = 1− r.

III. THE PLU PROTOCOL

The main goal of PLU is to proactively propagate the service

advertisements that are of interest for the community. The

PLU protocol is described with Figure 2. It flows across the

following states:

• Find tight neighborhood: every node sends via broadcast

a beacon message and collects the beacon replies. Than

the node filters the neighbors with the nodes whose RSS

is over a specific threshold ( Trss as described in Section

II). This state allows to detect the contacts that are stable

along the time.

• Detect community: every node detects the communities

of nodes to which it belongs to. According to Definition

1, the node will detect only the communities composed

by nodes in the neighborhood that form a maximal clique.

• Exchange advertisements: every node exchanges the ser-

vice advertisements with the nodes in the same com-

munity. Before exchanging the service advertisements

inside the community, the nodes share their interests.

This allows to exchange service advertisements that are

of interest for the whole community, by avoiding off-

topic advertisements. The nodes return back to the initial

state (Find tight neighborhood) after a fixed time (the

beaconing period).

The rest of this section describes the algorithms adopted in

order to implement the three states of the PLU protocol.

A. Find Tight Neighborhood

The algorithm for detecting the neighborhood is reported in

Algorithm 1.

The tight neighborhood Ni is a subset of the neighbors of

each node, by looking for nodes that satisfy three conditions:

1) the nodes Ni must be neighbors (and thus connected

with ni). More precisely Ni ⊂ Ni = {nj ∈ V | eij ∈E};

2) the nodes Ni must be well connected with ni: the RSS

value between ni and every node in Ni must be greater

than the threshold Trss;

3) the nodes Ni must satisfy the previous condition for a

time period t.

To build Ni, node ni broadcast beacon messages and

records the nodes that reply, and the RSS of their messages;

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

105

Page 4: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

Algorithm 1 Find the neighborhood of ni

Ensure: ni ∈ V1: function FIND NEIGHBOURHOOD

2: repeat3: Ni ← recompute(Ni)4: Trss ← computeThreshold()

5: Ni = {nj ∈ Ni | τ(ni, nj) ≥ Trss}6: ∀nj ∈ Ni, counterj = counterj + 17: until t

8: Ni = {nj ∈ Ni | counterj ≥ t}9: return Ni

10: end function

these nodes form the neighbor set Ni. Then ni evaluates

the function computeThreshold to compute the threshold

Trss, and it defines Ni as the set of nodes in Ni that have

an RSS greater than Trss. Our current implementation of

computeThreshold sets the RSS threshold with a fixed value

(in the simulations we have used the values 90, 60, and 35

that correspond to a communication range of about 10, 50,

and 100 meters, respectively). However it is possible to vary

Trss according to some parameters, such as the density of the

SE that is given by the cardinality of the set Ni.

B. Detect Community

Detect community is used to detects the communities to

which the node ni belongs to, according to Definition 1. The

algorithm is shown in Algorithm 2. For each node ni it is

aimed at finding the maximal clique among its tight neighbors.

To this purpose, ni exchanges the set Ni with all its neighbors

(and receives set Nj for each neighbor nj), and it keeps in Ni

only its neighbors for which the property of tight neighborhood

is reciprocal (lines 1-6 Algorithm 2). Then ni invokes the

function maximalCliques (see for instance [17]) to compute

the maximal clique Cni in Ni.

Figure 3 shows an example of graph G and the communities

to which n1 belongs. The undirected lines stands for a double

connection (for example eij , eji ∈ E), while the directed lines

stands for a partial connection (for example only eij ∈ E).Given node n1 such that Ni = {0, 1, 2, 3}, Algorithm 2 detects

the communities for n1: C1 = {n0,n1} and C2 = {n1,n2,n3}.Note that n4 and n5 do not belong to C2 since e34, e35 ∈ Ebut e43, e53 /∈ E.

1

2

3

4

5

0

C1

C2

Fig. 3. Graph G and communities for node n1

Algorithm 2 Detect the communities for ni

Ensure: ni ∈ V and Ni �= ∅1: function DETECT COMMUNITY

2: for all nj ∈ Ni do3: if ni /∈ Nj then4: Ni = Ni − nj

5: end if6: end for7: Cni ← maximalCliques(Ni)8: return Cni

9: end function

C. Exchange Service Advertisements

Exchange service advertisements is used to let the nodes

exchange the known service advertisements with other nodes

in the same community. After this step, each node returns back

to the initial state (Find tight neighborhood) after a fixed time

(the beaconing period). The service exchange is realized by the

Exchange Service Advertisements (ESA) algorithm (shown in

Algorithm 3). For every community C to which ni belongs

to, the advertisements exchange is achieved in two steps:

1) multicast propagation: first (lines 3-6) ni retrieves the

topics of C (either from the cache or by computing them

with the function tc(C)). The cache structure allows to

recognize communities of nodes already visited. If a

node recognizes a community, it avoids to recompute

tje topics that are in common in the community. This

mechanism allows to reduce the message overhead for

retrieving the topics. Then ni builds the set of service

advertisements known to it that are not in the service

table of the members of C, and such that the topic of the

advertisements belongs to the topic of the community.

The set Si is sent in broadcast to the community only

once.

2) unicast propagation: ni computes the sub-topic with

every node nj in the community C (line 11), and it

builds the set of service advertisements that are not

in the service table of nj and such that the topic of

the advertisements belongs to the sub-topic (line 12).

The set ¯Si is sent in unicast to nj . This allows ni to

perform a fine-grained exchange with every member of

the community. The unicast propagation has the benefit

of sending only the service advertisements that are new

to the member of the community.

IV. SIMULATIONS AND RESULTS

We have evaluated PLU and compared it against other

strategies for the propagation of the advertisements by means

of simulation. In the evaluation we have considered two

metrics:

Gain - It is the ratio between the number of advertisements

that have been founded in the service table of a node without

submitting any query, with respect to the total number of

queries submitted by a node. The gain estimates the number

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

106

Page 5: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

Algorithm 3 Exchange Service Advertisements for ni

Ensure: ni ∈ V1: function EXCHANGE SERVICE ADVS(Cni

)

2: for all C ∈ Cnido

3: if the topics of C are in cache then4: topic← getTopic(C)5: else6: topic← tc(C)7: end if8: Si = {si ∈ Si | si /∈ ⋃

j∈C Sj , t(si) ∈ topic}9: sendBCast(Si, C)

10: for all nj ∈ C do11: subTopic← tc(ni, nj)12:

¯Si = {si ∈ Si | si /∈ Sj , t(si) ∈ subTopic}13: sendUCast( ¯Si, nj)

14: end for15: end for16: end function

of queries that have been answered by only looking at the

service table without any further interaction. The gain is bound

between [0,1]. A gain equal to 0 implies that all the service

advertisements have been obtained by submitting a query in

the network (the worst case), while gain equal to 1 implies

that all the service advertisements have been answered by

accessing to the service table (the optimal case).

Recall - A service sj is of interest for the node ni if the

topic of sj matches with the topic of ni. The recall is the ratio

between the number of advertisements in the service table of

ni that are of interest for ni, with respect to the total number

of advertisements of interest for ni available in the SE. The

recall evaluates how PLU propagates the advertisements of

interest for the nodes, by avoiding to store advertisements that

are off-topic. The recall is bound between [0,1]. The value 0

for recall implies that none of the services of interest for ni

are in the service table Si (the worst case). A recall equal to

1 implies that all the services of interest of ni available in the

SE are in Si (the optimal case).

Cost - The energy consumed by a node during the execution

of the PLU protocol.

Next subsections present how we computed the the cost and

the simulation results that we obtained.

A. Cost Model of PLU

The cost model of PLU exploits the following parameters:

• min and mout are the unit cost for sending and receiving

a message (they vary according to the communication

protocol implemented by the nodes and to the used

wireless interfaces);

• σ is the function that, given a number of elements

(services or topics), computes the number of messages

that are required in order to deliver the elements (the

number of messages required varies according to the

communication protocol used);

• |Ni| is the average number of nodes in the neighborhood;

• |C| is the average number of nodes in a community;

• |Si| is the average number of advertisements in the

service table of a node;

• ¯|Si| and ¯|Si| is the average number of services sent in

broadcast and unicast;

Cost of Find Tight Neighborhood - The cost for this

algorithm is given by:

c1 = t · (mout + dr ·min) (4)

The cost is given by one beacon message (mout) and drincoming messages. Where dr is the average number of

nodes that reply to the beacon message sent by ni. t is

number of iterations used in order to check the stability of

the neighborhood.

Cost of Detect Community - The cost for detecting the

communities of the node ni is:

c2 = σ(|Ni|) ·mout + |Ni| · σ(|Ni|) ·min (5)

This cost accounts for sending the set Ni to the neighborhood

via broadcast, and receiving the set Ni from every node in the

neighborhood (line 3 in Algorithm 2).

Cost of Exchange Service Advertisements (ESA) - This cost

is the sum of three parts:

• τ - cost of the function tc• β - cost for sending the base advertisements of interest

for the whole community

• δ - cost of sending the delta advertisements of interest

only for one member of the community.

The total cost of ESA is thus: c3 = τ + β + δ, where τ is

evaluated as:

τ = σ(|topic|) ·mout + (|C| − 1) · σ(|tn(nj)|) ·min (6)

in which σ(|topic|)·mout is the cost for sending, via multicast,

the request for the topics to the nodes in the community (the

topics are computed by the function tn defined in Section II)

and (|C|−1)·σ(|tn(nj)|)·min is the cost for receiving |C|−1replies from the nodes in the community with their topics.

β is evaluated as:

β = σ(|Si|) ·mout + (|C| − 1) · σ(|Si|) ·min+

σ(|Si|) ·mout + (|C| − 1) · σ(|Si|) ·min

(7)

in which σ(|Si|) · mout is the cost for sending via mul-

ticast the advertisements to the nodes in the community,

(|C|−1) ·σ(|Si|) ·min is the cost for receiving |C|−1 replies

from the nodes in the community, σ( ¯|Si|) · mout is the cost

for sending via broadcast the set of services of interest for

the community and (|C| − 1) · σ( ¯|Si|) · min is the cost for

receiving |C|−1 messages with the sevices of interest for the

community from a node. Since the cost of sending/receiving

the service advertisements |Si| is lower with respect to the cost

of sending/receiving the services ¯|Si|, PLU has been designed

to discover first the services of interest for the community and

later to transmit them.

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

107

Page 6: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

Time [h]

PLU gain PLU recall Flooding gain Flooding recall

TRSS

= 35

TRSS

= 60

TRSS

= 90

PLU−S PLU

Fig. 4. Comparison of gain and recall between PLU/PLU-S and the flooding-based strategy. The performance is given in a matrix fashion: three rows (onefor each Trss) and two columns (for each PLU protocol).

Finally, δ is evaluated as:

δ = (|C| − 1) · σ( ¯|Si|) ·mout + (|C| − 1) · σ( ¯|Si|) ·min (8)

where (|C| − 1) · σ( ¯|Si|) · mout is the cost for sending via

unicast the advertisements of interest for only one member of

the community, and (|C| − 1) · σ( ¯|Si|) · min is the cost for

receiving via unicast the advertisements of interest from the

members of the community from one node.

B. Simulation results

We have evaluated and compared PLU with respect to

two other strategies for the propagation the advertisements:

PLU-S and a flooding-based strategy. The PLU-S version is

a simplified version of PLU that differs with respect to the

implementation of Algorithm 3. In particular, PLU-S does not

implement the unicast propagation and uses only broadcast to

send the advertisements that are of interest for the whole com-

munity. With the flooding-based strategy a node propagates

its advertisements to the neighborhood without detecting the

communities and the topics of interest for the neighborhood.

The flooding strategy is an interesting benchmark for the

gain metric, since the flooding maximizes the propagation of

every type of advertisement in the network. The objective of

these simulations is twofold. First we show that PLU protocol

obtains values for the gain metric equal to that of flooding and

higher than that of PLU-S, and values for the recall metric

higher than those of flooding and PLU-S. Second, we show

that the cost of PLU protocol is lower than flooding and PLU-

S.

We have configured the simulator by using the HCMM

mobility model, with a SE comprising 100 nodes deployed in a

square area of side 1000 meters. The number of service topics

are 20 and the available services are 100. We have configured

the simulator with a t-period for community detection of 10

seconds, a b-period for beaconing of 300 seconds, values of

Trss equal to 90, 60 and 35, and a simulation time of 10000

seconds. Table I summarizes the parameters used during our

simulations.

The simulator executes 3 runs for each protocol (PLU, PLU-

S and flooding-based strategy) and, in each run, it computes

gain, recall metrics and cost in terms of number of messages

exchanged . The results that we obtained during the simula-

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

108

Page 7: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

0 0.5 1 1.5 2 2.5 30

5

10

15

20

25

Time [h]

Cost [J

oule

]

PLU / PLU−S

Flooding

TRSS

= 90

TRSS

= 60

PLU−S PLU

TRSS

= 35

Fig. 5. Comparison of the costs between PLU/PLU-S and the flooding-based strategy. The cost is given in a matrix fashion: three rows (one for each Trss)and two columns (for PLU and PLU-S protocols).

TABLE IPARAMETERS USED FOR THE SIMULATIONS

Parameters Values

wide 1000x1000 meters

mobile nodes 100

service topics 20

available services 100

t-period for community detection 10 seconds

b-period for beaconing 300 seconds

Trss 90, 60, 35

simulation time 10000 seconds

tions are reported in Figure 4 and Figure 5.

Figure 4 reports the gain and recall for Trss equal to 90, 60

and 35. By increasing or decreasing the threshold, PLU detects

bigger or smaller communities of nodes and this affects the

gain and recall for the PLU and PLU-S strategies.

As far as the PLU-S protocol is concerned, the flooding-

based strategy outperforms PLU-S protocol with respect to

the gain, but not with respect to the recall. The flooding

strategy has the advantage of maximizing the propagation of

the advertisements since the nodes propagate every type of

advertisements to every nodes that is nearby. At the same

time, the nodes propagate a huge number of advertisements

that are off-topic. The result is an high value for the gain

but a very low value for the recall metric then PLU-S.

Differently, PLU-S implements a more fine-grained selection

of the advertisements to exchange, and this causes a near-

optimal value for the recall and an acceptable value for gain.

As far as the PLU protocol is concerned, the gain value of

the PLU protocol is closer to the flooding than PLU-S and,

at the same time, the recall value of PLU is higher than that

of flooding. This behavior demonstrates that the selection of

the advertisements implemented with Algorithm 3 is able to

obtain good values of the gain and recall simultaneously.

Figure 5 reports the cost obtained according to the model

described in section IV-A. To evaluate the costs we have

assumed that nodes are equipped with a standard WiFi 802.11

network interface, with an maximum transfer unit (MTU)

equal to 1500 bytes, and that the description of a service

accounts for 280 bytes. Table II reports the parameters used

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

109

Page 8: [IEEE 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET) - Ajaccio, France (2013.06.24-2013.06.26)] 2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

TABLE IIPARAMETERS USED FOR EVALUATING THE COSTS

Parameters Values

network interface WiFI 802.11

MTU payload 1500 byte

Description of a service 280 byte

in order to compute the cost for PLU, PLU-S and flooding.

In the simulation we modeled energy consumption of the

Samsung Omnia i900 [18] equipped with WiFi interface card

and Ethernet network protocol (with a maximum transfer unit-

MTU equal to 1500 bytes). We assume that every service can

be described with 280 byte, in a similar way to the UPnP

protocol (we considered the dimension of typical UPnP SSDP

Alive message of 300 Byte).

Figure 5 shows that PLU-S and PLU outperform the flood-

ing after a fixed time of the simulation. PLU-S and PLU

propagate a higher number of messages then the flooding only

during the initial phase of the simulation, but after a short

period of time the cost of PLU-S and PLU decreases since the

nodes already own the advertisements that are of interest. We

argue than PLU-S and PLU have been designed by considering

the social aspect of the SE, hence the tuning of an appropriate

threshold guarantees the benefits of detecting and exchanging

the advertisements of interest for the communities.

V. CONCLUSION

The PLU protocol aims at proactive service discovery in

Smart Environments by exploiting the social behavior of

people. By simulation, we have shown that this approach

allows energy savings of mobile terminals with respect to

the traditional broadcast-based mechanisms, while providing

the same standards of efficiency in discovering services and

avoiding to store services that are out of topic. Ongoing work

is about the definition of a dynamic threshold for the detection

of the communities and the use of Bloom filters to select

more efficiently the advertisements to be exchanged within

a community.

REFERENCES

[1] M. Girolami, F. Furfari, and S. Chessa, “A cost-based model for servicediscovery in smart environments,” in Ambient Intelligence, ser. LectureNotes in Computer Science, F. Patern, B. de Ruyter, P. Markopoulos,C. Santoro, E. van Loenen, and K. Luyten, Eds. Springer Berlin /Heidelberg, 2012, vol. 7683, pp. 397–402.

[2] C. Ververidis and G. Polyzos, “Service discovery for mobile ad hocnetworks: a survey of issues and techniques,” Communications SurveysTutorials, IEEE, vol. 10, no. 3, pp. 30 –45, quarter 2008.

[3] C. Campo, M. Munoz, J. C. Perea, A. Marin, and C. Garcia-Rubio,“Pdp and gsdl: A new service discovery middleware to supportspontaneous interactions in pervasive systems,” in Proceedings of theThird IEEE International Conference on Pervasive Computing andCommunications Workshops, ser. PERCOMW ’05. Washington, DC,USA: IEEE Computer Society, 2005, pp. 178–182. [Online]. Available:http://dx.doi.org/10.1109/PERCOMW.2005.61

[4] J. W. Arnold B. O Sullivan, R. W. Sheifler and A. Wollrath, “The jinispecification,” sun Microsystems Inc.

[5] M. Corporation, “Universal plug and play: Background,” 1999,http://www.upnp.org/resources/UPnPbkgnd.htm.

[6] E. Guttman, “Service location protocol version 2,” 1999, iETF RFC2608.

[7] A. Inc, “Bonjour technology white paper,” 2007.[8] P. Hui, J. Crowcroft, and E. Yoneki, “Bubble rap: Social-based forward-

ing in delay-tolerant networks,” Mobile Computing, IEEE Transactionson, vol. 10, no. 11, pp. 1576 –1589, nov. 2011.

[9] T. D. Nguyen and S. Rouvrais, “A socially inspired peer-to-peerresource discovery service for delay tolerant networks,” in Proceedingsof the 2007 OTM Confederated international conference on On themove to meaningful internet systems - Volume Part II, ser. OTM’07.Berlin, Heidelberg: Springer-Verlag, 2007, pp. 960–969. [Online].Available: http://dl.acm.org/citation.cfm?id=1780453.1780480

[10] M. Klein, B. Konig-Ries, and P. Obreiter, “Service rings - asemantic overlay for service discovery in ad hoc networks,” inProceedings of the 14th International Workshop on Database andExpert Systems Applications, ser. DEXA ’03. Washington, DC,USA: IEEE Computer Society, 2003, pp. 180–. [Online]. Available:http://dl.acm.org/citation.cfm?id=942790.942957

[11] C. Boldrini, M. Conti, and A. Passarella, “Contentplace: social-aware data dissemination in opportunistic networks,” in Proceedingsof the 11th international symposium on Modeling, analysis andsimulation of wireless and mobile systems, ser. MSWiM ’08. NewYork, NY, USA: ACM, 2008, pp. 203–210. [Online]. Available:http://doi.acm.org/10.1145/1454503.1454541

[12] J. Liu and V. Issarny, “Signal strength based service discovery (s3d) inmobile ad hoc networks,” in Personal, Indoor and Mobile Radio Com-munications, 2005. PIMRC 2005. IEEE 16th International Symposiumon, vol. 2, sept. 2005, pp. 811 –815 Vol. 2.

[13] D. Chakraborty, A. Joshi, Y. Yesha, and T. Finin, “Toward distributedservice discovery in pervasive computing environments,” Mobile Com-puting, IEEE Transactions on, vol. 5, no. 2, pp. 97 – 112, feb. 2006.

[14] M. McPherson, L. S. Lovin, and J. M. Cook, “Birds ofa Feather: Homophily in Social Networks,” Annual Review ofSociology, vol. 27, no. 1, pp. 415–444, 2001. [Online]. Available:http://dx.doi.org/10.1146/annurev.soc.27.1.415

[15] P. Barsocchi, S. Lenzi, S. Chessa, and F. Furfari, “Automatic virtualcalibration of range-based indoor localization systems,” WirelessCommunications and Mobile Computing, vol. 12, no. 17, pp. 1546–1557, 2012. [Online]. Available: http://dx.doi.org/10.1002/wcm.1085

[16] C. Boldrini and A. Passarella, “Hcmm: Modelling spatial and temporalproperties of human mobility driven by users social relationships,”Computer Communications, vol. 33, no. 9, pp. 1056–1074, 2010.

[17] E. A. Akkoyunlu, “The enumeration of maximal cliques of large graphs,”SIAM J. Comput., pp. 1–6, 1973.

[18] R. Friedman, A. Kogan, and Y. Krivolapov, “On power and throughputtradeoffs of wifi and bluetooth in smartphones,” in INFOCOM, 2011Proceedings IEEE, april 2011, pp. 900 –908.

2013 12th Annual Mediterranean Ad Hoc Networking Workshop (MED-HOC-NET)

110