BF-SD-ZRP A Smart Integrated Scheme For Service An
BF-SD-ZRP A Smart Integrated Scheme For Service An
BF-SD-ZRP A Smart Integrated Scheme For Service An
net/publication/221148716
BF-SD-ZRP: A Smart Integrated Scheme for Service and Route Discovery in Mobile
Ad Hoc Network
CITATIONS READS
11 852
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ridha Bouallegue on 22 May 2014.
Abstract—Mobile ad hoc networks are characterized by their rely primarily on their assumption of the use of a centralized
highly dynamic, multi-hop, and infrastructure-less nature. Due to repository, and it is not suitable for ad hoc network scenarios.
limited computing power, scarce bandwidth, high mobility and In recent years, several protocols have been presented
the lack of a central coordinating entity, service discovery in
these network is a challenging task. The great majority of service to support the service discovery specifically designed for
discovery protocols developed for MANETs deal with the above MANET environments [1], [3]–[5]. These service discovery
issues at the application layer. protocols for ad hoc can be divided into two categories:
In this paper, we discuss the fact of implementing service centralized directory-based protocols and distributed directory-
discovery at the routing layer instead of the application layer, less protocols. In the first category, some agents of the direc-
in order to reduce Service Discovery (SD) overhead and to
limit resources consumption. We develop an integrated service
tory (or service brokers) are involved as a logical entity in
discovery protocol, called BF-SD-ZRP, utilizing a combination of a process of service discovery for a communication between
different optimization techniques: piggibacking of SD informa- client and service providers [4], [7]. However, in [1], [3],
tion on the routing messages, compact description of SD using [5], [6], the distributed directory-less approach without central
Bloom filter (BF) and service caching. Our simulation results repository has been proposed where each node is required to
allows to validate our scheme and demonstrate its efficiency in
terms of overhead reduction and service discoverability.
provide some form of directory services and locate resources
Index Terms—MANETs, Service discovery, Routing protocols, in a Peer to Peer way. The distributed directory-less protocols
Service description, Bloom filter, ZRP, OLSR. are deployed with two different models of operation: “push
model” and “pull model”. With the push model, service
I. I NTRODUCTION announcements are flooded periodically in an active manner by
service providers, so clients learn passively services available
Recent research in mobile ad hoc networks (MANETs) has by simply receiving these advertisements. While in the pull
focused on providing a basic network support such as medium model, clients are more active, requesting explicitely services,
access control, routing protocols and TCP. There is no doubt by broadcasting service requests to all the servers which will
that these issues are critical and must be resolved to meet sev- respond eventually.
eral requirements of ad hoc network environments (ie shared Although the algorithms proposed for MANET applications
wireless medium, multihop routes and their dynamic changes, differ in the approach used to search for and provide the
processing capabilities and limited resources, etc.). However, desired services, they are all oriented middleware solutions
other important researches are still in their initial stages. and are based on the common assumption that some routing
These include among others the power management, network protocols may exist below (separately from the middleware
security, and middleware services. Especially, research on mid- layer) to support the delivery of client service requests to
dleware for ad hoc networks is important to make easier the service providers or vice versa. This may make their use
development and deployment of MANET applications. Among inefficient in the ad hoc wireless networks, due to the problem
a variety of services middleware, service discovery played of redundant control packets flooding, which in part can cause
a significant role in MANETs. With the auto-configurable an extremely high network overhead.
and autonomous characteristic of ad hoc networks, mobile It is important to note that both service and route discovery
nodes should be able to automatically and efficiently discover protocols are based on the mechanism of broadcasting with
available network services, e.g., DNS, Webserver, mail server, different goals of discovery. Motivated by this interesting
print server and TFTP. Several protocols have been proposed observation, in this paper, we focus on the combination of
for service discovery in wired connection, but unfortunately these two different problems of discovery (but quite similar
these protocols can not adapt to the ad hoc environment in some sense) such that service discovery can be combined
due to its dynamic nature and very limited resources. These with the discovery of a route to those services. As the SD
service discovery protocols like Jini, UPnP and SLP, etc., takes place at the application layer and routing is a network
issue, we develop a cross-layer approach. network. This approach exploits the ability to acquire infor-
In this paper, we focus on integrated approaches of service mation service with routing information (the same message) by
and route discovery. In our previous work [2], we have superimposing the information service with routing messages.
introduced our scheme of combining service and route dis- In this way, redundant transmissions of service discovery
covery, using a smart compression scheme “Bloom filter” for packets at the application layer are avoided and more resources
service description , and theoretically proved that by exploiting will be saved.
service discovery information provided by the routing layer, The idea of providing a routing layer support for service
the resulting communication overhead is significantly reduced discovery was first introduced by Koodli and Perkins [6]. They
and the service discovery efficiency is proved. In this paper, we add extensions to the ad hoc routing protocols to provide sup-
develop our integrated approach on a simulator by modifying port for service discovery and route to these services together.
the ZRP protocol. Our simulation results allows to evaluate However, no experimental evaluation of their proposal has
our scheme and demonstrate its efficiency in terms of overhead been published so far.
reduction and service discoverability. Another integrated approach was proposed by Jodra in [8],
Our approach was to implement service discovery in the in which, he presents a solution to integrate service discovery
routing layer by piggybacking the service information into the with routing protocol OLSR. The various messages in OLSR
routing protocol control messages, thus enabling the devices to share a common message header. Using this header, a new
acquire both service and routing information simultaneously. message called Service Discovery Message (SDM) was intro-
This way a node looking for a service, in addition to discover- duced. The SDM packet may contain either an announcement
ing the service, it is also informed of the route to the service or request for service. However, OLSR is a proactive routing
provider at the same time. We extended the hybrid routing protocol, to maintain updated routing tables, it introduces a
protrocol ZRP [15] considerable overhead. In addition, it should be noted that no
Differing from existing work on cross-layer service discov- comparison with other protocols or integrated application layer
ery, this paper focuses to support low bandwidth environments has been presented.
and investigates an efficient way to describe services using Another scheme proposed in [9], is to implement service
Bloom Filter combining with service caching. The analysis and discovery at the routing layer by piggybacking service in-
simulation results show that our optimised approach named formation, using UUID descriptor, into ZRP routing protocol
(Bloom Filter based Service Discovery combined with ZRP control messages, thus enabling the terminals to acquire the
BF-SD-ZRP induces very low overhead compared to other service and routing information simultaneously.
integrated protocols and satisfy several network issues, where As direct comparisons of integrated approaches are diffi-
each node should discover the maximum number of services. cult due to lack of certain performance data compatible for
The reminder of this paper is organised as follows: In sec- different protocols, a rough categorization regarding the type
tion II we briefly present some existing integrated approachs of of routing protocol (reactive, proactive or hybrid), the most
routing layer supported service discovery and their limitations. efficient (in terms of Overhead) when including a service
Section III presents BF-SD-ZRP protocol in details. Section discovery protocol is desired.
IV describes our implementation and discusses the simulation ZRP seems to be the most appropriate protocol for this type
results. Finally, in section V we provide our conclusion and of network using the following criteria:
introduce our future research directions. • It is ideal for environments where local information,
either routing or service information, is of particular
II. E XISTING I NTEGRATED SCHEME
interest because it can discover (through the concept of
In an ad hoc network, each message transmission consumes zones) in a fast and efficient way in terms of resources
a considerable amount of network bandwidth as well as some consumption.
processing power and battery at each crossing by a node along • It is scalable as it propagates in an intelligent way the
its path. The discovery service itself requires the exchange of information to remote nodes by avoiding floods.
many messages. The subsequent discovery of a route to the The approach described in [9] seems to be ideal in terms of
service provider via the underlying routing protocol requires choice of routing protocol because the cross layer solution
a further exchange of messages. However, when integrating used is based on ZRP protocol, however, in terms of service
service and route discovery, we are able to discover a service description, using the universal identifiers UUID is not the
provider and a route to it using the same set of messages. optimal solution.
Therefore, a combined approach will significantly reduce
the consumption of bandwidth and the total latency in the A. Limitations of existing service discovery approaches in
discovery process of a service and a route to its provider. term of service description
Traditionally, service discovery is considered as a function There are different approaches to describe service informa-
of the application layer. However, in this paper, we examine tion in requests and advertisements (ads). Many service dis-
the execution of service discovery at the network layer in covery protocols use XML to describe the service information.
order to reduce the communication and processing overhead. Such a method is adopted in [1]. Another approach is to create
Such a modification is reasonable in the case of an ad hoc service descriptors from ontologies designed for semantic
web services using the Web Ontology Language (OWL) as
proposed in [10]. Using this approach, the ontology must be
shared between nodes before communication. However, XML
and OWL descriptions require considerable bandwidth, which
is sparse in ad hoc networks. A kind of compression can be
used to fill this gap if rich and flexible service descriptors
are necessary. Some proposals aim to reduce the consumption
of bandwidth, and do not see the benefits of using XML or
OWL as necessary. By mapping a set of service descriptors
to a predefined set of integers as in [8] or unique identifiers
Universal (UUID) as in [11] and [9], the description can be
reduced by a few bytes.
These solutions can save bandwidth compared to the trans-
Fig. 1: SvcCache and IARP table update and interaction upon
mission of XML files. However, these solutions are neither
receiving of NDP “hello” messages announcing video (1000)
flexible enough nor scalable, when the maintenance on each
service provided by node I and printer (1100) service provided
network node is required when adding new categories of
by node G. Node D looks for a printer service, which is
services. From these studies, we found Bloom filters [12].
converted into a BF (1100), it checks first its SvcCache,
Using Bloom filters, any textual description of services can
retrieves the printer’s provider which is G and looks for a
be hashed into an array of defined size without requiring a
route to G in its IARP Table.
predefined set of stationary keywords.
III. BF-SD-ZRP DESIGN
A. Overview service informations are stored: provider, service name (as a
BF vector) and its lifetime. When a node wants to use a service
In this paper, we propose the piggybacking of service
(Figure 1), checks its cache, if it is found, retrieves its provider
information into routing messages to reduce communication
address and check for a route to it in the routing table.
overhead and latency and prove the effeciency of service
The protocol uses local services caching advertised by
discovery. We demonstrate the advantages of our approach
neighbour nodes to save network bandwidth and reduce la-
(i.e., routing layer supporting service discovery) by extending
tency of discovery. The process of service discovery and
the routing protocol (ZRP), which is an hybrid routing protocol
location of provider is described in the algorithm1:
(i.e., proactive in a number of hops around a node called the
node zone, and reactive for applications outside this zone), so it
is able to encapsulate service information in its messages. We Algorithm 1 Return P x provider of service X
have changed the behaviour of ZRP protocol to support service Require: SvcCache not empty
information. We have added an extra field in NDP packets. 1: if ∃LookupSvcCache(X) then
Our intention is to evaluate the performance of a combined 2: P x ← LookupSvcCache(X).@
approach in several scenarios. Our proposal also introduces a 3: if ∃RoutingT able(P x) then
cache of discovered services for each node in the network. 4: Return P x
Bloom Filters are used to describe service information 5: end if
encapsulated in routing messages. Our service discovery ap- 6: end if
proach is used to distribute the filters using a protocol format
that extends the routing protocol ZRP.
In order to add mechanisms for service discovery to the ZRP B. Service description using Bloom Filter
protocol, we incorporated an additional field in the “hello” In our context, the intention of Bloom Filter is to represent a
messages to store the service identifier. We used the concept set S = (x1, x2, ..., xn) of service descriptors n in an efficient
of Bloom Filter instead of service descriptions to keep small manner. We begin by defining a V Bloom Filter implemented
size of packets for routing messages and minimize the impact as an array of m bits. All bits (1, ..., m) are initially set to
on the network (the bigger the messages, the larger the delays 0. The filter uses k independent hash functions h1, h2, ..., hk
and the possibility of transmission errors ). Such an approach With the range (1, ..., m) for hashing each service descriptor
requires that all nodes use the same number of hash functions x in the filter V . For each service descriptor x ∈ S, the output
and the same MD5 [17] cryptographic algorithm to convert a hash hi(x) represents a position in Table V , V [hi(x)] is set
service description into a Bloom Filter. to 1 for all hash functions i = 1, 2, ..., k. One position in
ZRP has been extended to include service information in V can be set to 1 several times, but it is clear that only the
each entry of IARP routing messages. Each node of the ad first change has an effect. Figures 2(a) and 2(b) illustrate two
hoc network uses a cache SvcCache where every provided different services hashed with three hash functions, and then
service will be stored through service announcements gathered added to the same filter. To check whether a service z is in
from the incoming NDP packets . In this cache the following the Bloom Filter, we must determine whether all hi(z) are set
Algorithm 2 Calculate the Bloom Filter V for a service X
1 1 Require: : x 6= 0
0 1
h1 Gateway h1 1: a ⇐ M D5(x)
0 0
hash("Gateway",k) = {0,3,5} h2 hash("Printer",k) = {1,3,5} h2 128
h3 1 h3 1 2: r ⇐
0 0 k
K hash functions K hash functions 3: for i = 0 TO k do
1 1
4: f ← subbits(r ∗ i, (r ∗ (i + 1)) − 1, a)
5: V [f mod m] = 1
0 0
6: end for
M-bit vector M-bit vector
(a) The first service added to the (b) The second service added to
0 1 2 3
Bloom Filter the Bloom Filter
0123456789012345678901234567890 1
Fig. 2: Construct a Bloom Filter Link Source Address
Link State Seq Num Zone radius TTL
RESERVED RESERVED Link Dest Cnt
<Node Address 1>...<Node Address n> \
1 1
Service Filter \
h1
1 h1
1
hash("Fax",k) = {2,3,5} h2 0 hash("Vidéo",k) = {1,3,5} h2 0
h3 1 h3 1 Fig. 4: IARP packet Format
0 0
K hash functions K hash functions
1 1
0.8
is shown in Figure 7. In this scenario, we have simulated
a network consisting of 10 to 150 nodes, we have varied
the network density, the mobility model is the Random 0.6
of the network (between 10 and 150). The mobility Fig. 7: The resulting PDR after the modification of ZRP
model used in the case of mobile network is the random
1.2 1.2
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 20 40 60 80 100 120 140 160 1 1.5 2 2.5 3 3.5 4
Node population Zone Radius
(a) Overhead is inscreasing with the zone radius
Fig. 8: Service discovery process efficeincy 1.2
Avg of discovered services Static Network(Var R)
Avg of discovered services Mobile Network(Var R)
1.2 1.2
Overhead OLSR Static Avg of discovred services in Static Network
Overhead OLSR-SDM Static Avg of discovred services in Mobile Network
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 10 20 30 40 50 60 70 80 10 20 30 40 50 60 70 80 90
Node population Node population
(a) Overhead of SD-OLSR in static network
Fig. 11: Service discovery rate using SD-OLSR protocol
OLSR Versus OLSR-SDM Service Discovery Overhead
1.2
Overhead OLSR Mobile
Overhead OLSR-SDM Mobile
1
1.2
Overhead Zrp Static
0.6
0.8
0.4
0.6
0.2
0.4
0
0 10 20 30 40 50 60 70 80 0.2
Node population
(b) Overhead of SD-OLSR in mobile network
0
Fig. 10: Overhead generated by adding SDM message to 0 10 20 30 40 50 60 70 80
Node population
OLSR protocol
Fig. 12: Overhead Comparaison (BF-SD-ZRP et SD-
OLSR) in static network
figure 11, we note that the service discovery using the
SD-OLSR approach described in IV-A is also efficeint.
We observe that the discovery rate is beyond 85%. As
OLSR is a proactive protcol, the latency in the exchange SD-OLSR. To do this, we simulate the two approaches in
of control packets is too high, depending on network the same wireless environment with the same simulation
density, which is the reason for which we simulate a parameters. The result of this set of simulations is shown
network of 80 nodes maximum. in Figures 12 and 13 in a static and a mobile network.
Using the previous simulations, we found that the ser- According to the results shown in Figures 12 and 13,
vice discovery is always efficient regardless of the nature we observe the performance of our approach over the
of the routing protocol used. Therefore, in terms of per- approach SD-OLSR described in IV-A. We note that for
formance regarding the efficiency of service discovery, a network of 50 nodes, the rate of overhead generated
BF-SD-ZRP and SD-OLSR, have almost the same level by our approach is much smaller than that generated by
of performance. SD-OLSR. For a network consisting of over 50 nodes,
Thus, we would prove, by measuring the amount of we note that the dotted curve, which represents the over-
overhead generated by piggybacking the service infor- head generated by SD-OLSR protocol, is always above
mation to both routing protocols, that our approach all other curves and generates an important overhead.
performs better than SD-OLSR, i.e. that the overhead Therefore, we conclude that our approach is always
generated by our approach is negligible as compared to optimal for a large-scale network.
1.2
Overhead Zrp Mobile with limited bandwidth. Nevertheless, the energy in this type
OLSR Versus ZRP Service Discovery Overhead