DOTTORATO DI RICERCA IN INFORMATICA
XXI CICLO
SETTORE SCIENTIFICO DISCIPLINARE INF/01 INFORMATICA
Broadcasting in OpportunisticNetworks
Tesi di Dottorato di Ricerca di:
Francesco Giudici
Relatore:Prof. Elena Pagani
Correlatore:Prof. Gian Paolo Rossi
Coordinatore di Dottorato:Prof. Ernesto Damiani
Anno Accademico 2007/2008
Contents
1 Introduction 1
1.1 Mobile Ad hoc NETworks (MANETs) . . . . . . . . . . . . . . . 1
1.2 Delay and Disruption Tolerant Networks . . . . . . . . . . . . . . 2
1.2.1 Bundle Layer Protocol and Architecture . . . . . . . . . . 3
1.3 Routing in ONs . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Considered Scenario and Assumptions . . . . . . . . . . . . . . . 8
2 Mobility Models 10
2.1 Synthetic Mobility Models . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 The Random Walk Mobility Model . . . . . . . . . . . . 11
2.1.2 The Random Waypoint Mobility Model . . . . . . . . . . 11
2.1.3 The Aggregation Mobility Model . . . . . . . . . . . . . 12
2.1.4 The Reference Point Group Mobility Model . . . . . . . . 13
2.1.5 The Swarm Mobility Model . . . . . . . . . . . . . . . . 14
2.2 Trace-based Mobility Models . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Weighted Waypoint Mobility Model . . . . . . . . . . . . 15
2.2.2 RealMobGen Mobility Model . . . . . . . . . . . . . . . 15
2.2.3 Two Level Social Mobility Model . . . . . . . . . . . . . 16
2.3 Opportunistic Networks and Mobility . . . . . . . . . . . . . . . 17
2.3.1 Pocket Mobility Trace Recorder (PMTR) Testbed . . . . . 18
2.3.2 Mobility Assumption . . . . . . . . . . . . . . . . . . . . 22
3 Broadcast in ONs 23
3.1 Flooding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
I
3.2 Epidemic Approaches . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Time-Driven Epidemic Approaches 33
4.1 Gossip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Anti Entropy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . 35
5 Encounter-Driven Epidemic Approaches 46
5.1 Zero-Knowledge Epidemic Approaches . . . . . . . . . . . . . . 47
5.1.1 Encounter-Based Gossip: P-BCAST . . . . . . . . . . . . 47
5.1.2 Broadcasting in ONs: the goals . . . . . . . . . . . . . . 55
5.1.3 Self-Adapting Broadcast Protocol: SA-BCAST . . . . . . 57
5.2 Full-Knowledge Epidemic Approaches . . . . . . . . . . . . . . . 71
5.2.1 History-Based Broadcast Protocol: HP-BCAST . . . . . . 73
5.2.2 Full-Knowledge Broadcast Protocol: FK-BCAST . . . . . 84
5.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6 Epidemic Approaches and Mobility Models 92
6.1 The Random Waypoint Model . . . . . . . . . . . . . . . . . . . 93
6.2 The Aggregation Model . . . . . . . . . . . . . . . . . . . . . . . 95
6.3 The Swarm Model . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4 The Two Level Social Mobility Model . . . . . . . . . . . . . . . 102
7 Summary and Outlook 105
II
Chapter 1
Introduction
Thanks to the diffusion of both built-in wireless capabilities in laptops and low cost
access points, it is quite easy nowadays to find wireless networks in public places
and private houses. Moreover, cellular networks are able toprovide ubiquitous
communication services through data transfer protocols (e.g., GPRS or UMTS).
All these wireless technologies rely on a centralized infrastructure to work:
cellular network devices should connect to cell repeaters;WiFi [48] networks rely
on access points that manage communications among stations. While wireless
technologies based oninfrastructureare mature and new standards with increased
performance, such as bandwidth (draft IEEE 802.11n) and security (IEEE 802.11i)
are being adopted, the exploitation of distributed multi-hop connectivity among de-
vices without the need of any centralized infrastructure (ad hoc networking) is an
ongoing research. The research has started investigating protocols to allow com-
munication among mobile nodes, i.e., the mobile ad hoc network (MANET) envi-
ronment, and pushed toward more and more specialized and challenging wireless
scenarios, likeVehicular ad Hoc Networks (VANET), Delay Tolerant Networksor
Opportunistic Networks (ON).
1.1 Mobile Ad hoc NETworks (MANETs)
Mobile ad hoc networks (MANETs) are wireless networks wherenodes can move,
thus allowing dynamic establishment and disruption of links among hosts. In such
1
scenario paths between pairs of nodes may change quickly, requiring the adoption
of adequate routing algorithms. Some adaptations of well known algorithms have
been proposed [39, 9]. Anyway, assumptions on nodes characteristics, like average
speed and resources availability, allow more efficient solutions aimed at specialized
scenarios.
In the Vehicular ad Hoc Network (VANET) environment [19], where nodes are
vehicles, adopted protocols do not have particular energy,storage or computational
saving requirements. In this kind of MANET, nodes can reasonably be equipped
with GPS devices able to provide geographic location knowledge. This information
can be exploited to adopt position-based routing approaches [35] able to increase
performance in the VANET specific environment.
An interesting, emerging scenario is that ofChallenged Networks, where the
assumption of (almost) always available connectivity doesnot apply anymore. In
2003, a novel overlay network architecture has been proposed, able to allow com-
munication among differentchallenged networks[15] when high latency is toler-
ated (i.e., the network isdelay tolerant): this brought to the birth of theDelay and
Disruption Tolerant Networksresearch topic.
1.2 Delay and Disruption Tolerant Networks
In the last years, research has mainly focused on several networking scenarios
where traditional routing protocols fail, due to environment characteristic, such
as:
• Intermittent Connectivity: an end-to-end path between a source and a desti-
nation may not be available.
• Long or Variable Delay: transmissions could be affected by long propagation
delay. Moreover, data can remain in a node’s queue for variable time. Both
these characteristics affect end-to-end delay that can become so high that a
timely reception of acknowledgments or data, required by many traditional
network protocols, cannot be ensured.
2
• Asymmetric Data Rates: communication between peers can be asymmetric.
In the worst case, communication is uni-directional.
• High Error Rates: bit errors on links require correction or retransmission.
The higher the error rate, the higher the number of retransmissions needed.
Traditional network protocols are not able to deal with the issues described above.
Delay and Disruption Tolerant Networks(DTNs) [47] protocols overcome these
problems adopting astore, carry and forwardapproach. When a new messagem
is received, a node keeps it in itspermanentstorage till the next hop is eventually
available. The usage of permanent storage is required becausemcan remain in the
node’s memory for a very long time. In this way, if in the meanwhile the node is
switched off (due to battery consumption, to an energy saving policy or just to a
fault) m is not lost.
The Delay Tolerant Networking Research Group(DTNRG) [26] has defined
a delay tolerant network architecture [7], theBundle layer. In order to allow
inter-communication among thesechallenged networks, which can be composed
by highly heterogeneous devices (e.g., sensors, PDAs, cellular phones, laptops, or
even cars and aircrafts) equipped with different wireless technologies (Bluetooth,
WiFi, acoustic communications or non-standardized radio solutions), an overlay
network has been proposed as viable solution. In this way, the DTN overlay can
be deployed over existing network protocols able to deal with the peculiar charac-
teristics of each specific challenged network. The DTN architecture specification
defines the services that should be provided in a DTN overlay.The DTNRG has
also defined the format of the messages exchanged in the DTN overlay: this is
known as theBundle protocol [41].
1.2.1 Bundle Layer Protocol and Architecture
On top of the bundle layer, applications can exchange messages of variable length,
which are calledADUs: Application Data Units. The ADUs delivery order is
not preserved. ADUs are transformed by the bundle layer intoprotocol data units
calledbundles, which are exchanged by DTN nodes. Bundles can be fragmented
3
into other bundles, which are called bundle fragments; fragments can be joined in
any point of the DTN obtaining a bundle.
Nodes can be members of groups calledDTN endpoints, which can be used
as destinations for the bundles. Each DTN endpoint is identified by anendpoint
identifier (EID), which is a name expressed syntactically as aUniform Resource
Identifier (URI) [3]. A common example of URI are e-mail addresses: these could
be used to uniquely identify each user.
A bundleb is considered successfully delivered to a DTN endpointX when a
minimum subsetSof nodes belonging toX has receivedb without error.Sis called
the minimum reception group (MRG) of b. Depending onS, transmissions can be
unicast (S is a single node), multicast or broadcast (S= X, which is composed by
all the nodes of the network).
Each bundle is made up of two or moreblocks. The first block is alwaysthe
primary bundle block(PBB), while the others are payload blocks and contain the
data coming from the application level. The PBB contains information used for the
routing task of the bundle protocol, like:
• The source and destinationEIDs, stored as two separate lists of variable
length.
• The creationtimestamp, composed by the time (expressed as the number
of seconds elapsed from the start of year 2000 on the Coordinated Universal
Time (UTC) scale) at which the bundle transmission has been received, and
a sequence number.
• The lifetime of the bundle, which indicates the time at which the bundle
payload will no longer be useful.
The essential assumption in the DTN architecture is that a bundleb persistsa long
time in a node queue, possibly till the end of its lifetime, and DTN nodes keepb in
persistent storage, like disks or flash memories, so that stored bundles can survive
system restarts.
The bundle layer protocol defines three delivery priority classes that can be as-
sociated to bundles, namely thebulk, normal andexpeditedclass.Bulk bundles
4
have the lowest priority.Normal bundles have higher priority of the bulk ones
but lower priority than theExpedited bundles. No bundles of a certain class are
shipped until all other higher priority class bundles with the same source and desti-
nation endpoints have been shipped. In [7], several delivery options are specified,
in order to enforce acknowledgments among nodes for bundlesdelivery and in-
termediate progression, or to allow enhanced delivery reliability. Moreover, the
notion of contact is introduced: a contact is a time interval in which a link be-
tween a couple of nodes has a transmission capacity higher than zero that can be
considered constant. This enables a classification of contact types:
• Persistent Contact: is an always available contact. An always-on Internet
connection such as ADSL is an example of persistent contact.
• On-Demand Contact: some action is required in order to establish the con-
tact. Once established, the contact is persistent until terminated. A dial-up
connection to an Internet provider can be an example.
• Intermittent - Scheduled Contact: this is an agreement to establish a contact
at a given time and for a certain interval. An example could bea link with
an earth-orbiting satellite.
• Intermittent - Opportunistic Contacts: these are unplanned contacts that hap-
pen unexpectedly. An example can be the unplanned establishment of a
link between two personal digital assistance devices (PDAs) carried by users
walking nearby. The contact will last until users move far away from each
other so that devices exit their respective radio ranges.
• Intermittent - Predicted Contacts: these contacts are not based on fixed
schedule, but are prediction of probable contact times and duration based
on some acquired knowledge, like the history of previous observed contacts.
We identify asOpportunistic Networks(ONs) those DTN networks where contacts
are solely of the typeIntermittent - Opportunistic. In this thesis, we will focus on
the ON environment only.
5
1.3 Routing in ONs
In the critical opportunistic network scenario, the research has mainly focused on
providing unicast communication. To allow communication between nodes be-
longing to different network partitions, a viable solutioncan be the establishment
of one or more moving nodes acting asdata mule, i.e., carrying bundles from one
partition to another. One of the best known data-mule-basedsolutions is theMes-
sage Ferrying approach(MF) [51]: connectivity between out-of-range nodes on a
broad area is provided by means of special roaming nodes, namely message ferries,
conveying packets. Two different communication schemes can be adopted: the
Node-Initiated Message Ferrying(NIMF), and theFerry-Initiated Message Fer-
rying (FIMF). In the NIMF approach, ferries move according to specific routes
known by other nodes. A node with a packet to send is required to move near the
ferry route and exploits the meeting to forward the message using a short range
radio. In the same way, each node that is a potential receivershould move near the
ferry route to retrieve packets. Ferries sendHello messages (beacons) at periodic
intervals to notify their presence. When a node receives a beacon, it will reply with
anEchomessage, so that the ferry is aware that the node is in radio range and the
data exchange can take place.
In the FIMF approach, each node needs a long range radio beside the short
range one. The ferry starts moving on a default route. When a node has a message
to transmit and understands that the ferry is in range for thelong range radio, it
sends aService Requestspecifying its own position. The ferry changes its route in
order to meet the node; at the meeting point data is exchangedthrough the short
range radio and the ferry goes back on its default route.
The message ferrying approach has been successfully adopted by the DakNet
project [38] in the rural India by means of Mobile Access Points (MAPs) using
IEEE802.11 radio connectivity mounted on vehicles moving from one village to
another, where traditional connectivity cannot be provided. In each village, an
Internet point has been established to collect asynchronous messages from the in-
habitants. When a MAP passes nearby an Internet point, data are exchanged in
both directions. The establishment of this asynchronous wireless system allows
6
users to send voice messages, e-mails, and documents exploiting buses, cars, or
even bicycles equipped with an energy generator. This savesthem many days of
travel to speak with their families or friends or to send and retrieve documents and
data.
The MF approach requires the introduction of message ferries that move ac-
cording to node transmission needs in order to enforce communications in the net-
work. Moreover, nodes should be position-aware and requireGPS-like positioning
devices. This solution suits well when there is the need of providing communica-
tion among far away geographic locations, as villages in rural India are, and energy
saving is not a primary issue. Anyway, when message ferries are not available or
communication should be deployed among nodes spread in undefined locations,
this solution cannot be adopted. Moreover, this solution does not scale: if the
nodes number increases, more message ferries should be usedin order to preserve
communication services.
To enable delay tolerant connectivity in generic ON environments, cooperation
of all available nodes in the network is required. In such scenario, each mobile
node should play a threefold role: (i)end systemof one-to-one or one-to-many
communications, (ii) packetforwarder, when the propercontactis met, (iii) packet
transporterfor the stored packets, when the network is partitioned.
The first cooperative solution proposed to cope with ON issues that appeared
in the literature is based on epidemic algorithms [44]: every time a contact takes
place, pairs of nodes exchange with each other the owned bundles. In this way,
the bundles are eventually delivered to their destinations. This solution has an high
delivery ratio (every contact is exploited) but also an highoverhead: bundles are
replicated every time a node is encountered.
Spray and Wait[42] tries to reduce the bundles replica overhead by adopting a
two-phases algorithm: in thespray phase, for each bundleb, L copies are diffused
to L different nodes. In thewait phase, each of theL relays which have received
the bundle adopts adirect contactpolicy, i.e., a relay can only hand overb to its
final destination.
In [46], erasure coding is applied to a copy-bounded strategy. Erasure codes
7
operate by converting a message into a larger set of code blocks such that any
sufficiently large subset of the generated code blocks can beused to reconstruct
the original messagem [46]. Forwarded bundles contain different message blocks
such that only a subsetSof the forwardedk bundles is required to reconstruct the
message. So, theSbundles delivered more quickly are used to reconstructm.
Some solutions exploit information collected from the environment and from
the encountered nodes to perform an accurate selection of the next hop. For exam-
ple, in [34] nodes compute adelivery probabilityvalue toward each other node in
the network, based on the past encounters. Forwarding is performed only toward
nodes having higher delivery probability for the final destination than the forwarder
itself.
Several solutions have been proposed for unicast in ONs. By contrast, the one-
to-all communication scheme has not received the same attention despite the fact
that its service is strategic to support protocols at both application and routing lev-
els. For instance, a broadcast service is required to diffuse scoped advertisements –
e.g. about available services or events – and summaries [32], to support podcasting
[33], to upload software patches or new parameter settings –e.g. in environmental
observation systems – or to diffuse acknowledgments (or cure) packets [29]. For
this reason, this thesis focuses on the study of one-to-all communication schemes
in opportunistic networks, i.e.,broadcasting in ONs.
1.4 Considered Scenario and Assumptions
The considered scenario includes people walking in a limited urban area, such as
a campus, equipped with portable wireless devices. No base stationsare assumed
and the communication between a sourceSand a destinationD may occur through
either direct contact, when nodeD moves into the range ofS, or indirect contact,
when one or more relaying nodes help to create the multi-hop path toward the des-
tination and the last of them eventually enters the range ofD. Each endpoint ID
(EID) identifies a unique device, which is not required to have positioning capa-
bilities on board and, to meet resource saving requirements, is supposed to adopt
8
a short radio range to communicate. This latter point, together with the fact that
devices can be sparsely distributed over a large area, makeshigh the probability of
network partitions and link disruption, a usual condition in ONs.
We assume that each mobile device, or node, periodically broadcasts anhello
packet, calledbeacon, in its radio cell, as many routing protocols for wireless ad
hoc networks do (e.g., [39]). Beacons carry just their transmitter node identifier and
are used to discover devices in the neighborhood. When a nodeN receives a beacon
from a nodeC, it records theC identifier in theneighbors listN. When no
more beacon are received fromC, N removes the correspondent entry from its
neighbors listN. In this thesis we consider IEEE 802.11 radio devices only.
Anyway, our proposed solutions can be applied on the top of the bundle layer
protocol. We will refer to exchanged data indifferently asmessagesor bundles, as
we consider just small messages that can be contained in a single bundle.
The major contribution of this thesis is the proposal of a newset of dissemi-
nation protocols able to accomplish the diffusion of a message m when different
levels of knowledge are available to the nodes, requiring a limited amount of net-
work resources to complete the task. The behavior of the proposed protocols is
analyzed in different mobility scenarios, in order to allowthe selection of the dif-
fusion strategy to adopt, on the basis of the system knowledge and the expected
nodes mobility pattern characterizing the targeted scenario.
The rest of this thesis is structured as follow: in chapter 2 mobility models
are introduced able to describe node mobility in order to capture contact chances
dynamics. In chapter 3 the issues related to broadcasting inONs are presented, sur-
veying available solutions. In chapter 4 time-driven epidemic strategies are shown,
able to allow broadcasting in ONs but generating a too high number of duplicate
copies. In chapter 5 epidemic-driven approaches are presented. In chapter 6 the
impact of mobility on proposed solutions is analyzed. Finally, in chapter 7 the
summary and conclusions of this thesis are depicted.
9
Chapter 2
Mobility Models
Node mobility plays a key factor when applied to routing protocols for MANETs:
depending on how nodes move, links can be created or destroyed allowing (or
denying) forwarding. This becomes more prominent when dealing with ONs where
low node density makes rare contacts exploitation the only way to allow communi-
cations. The accurate characterization of node mobility, in order to analyze behav-
ior of routing algorithms in a mobile environment, is a majorissue and is in charge
to mobility models.
We classify mobility models in two main classes:synthetic, when they describe
node mobility through analytical models;trace-based, when they capture mobility
patterns from real environments, like testbed logs or surveys conducted among
people. Synthetic models are generally easy to deal with mathematically, while
trace-based ones provide more specific and realistic mobility. In this chapter, we
analyze the most known mobility models that in our opinion suit best ON scenarios.
2.1 Synthetic Mobility Models
Several synthetic mobility models for mobile networks havebeen proposed in the
literature. Firstly, they have been used to model host mobility in cellular networks
[24], then they have been successfully applied in MANET environment [6][24].
We will see in detail the most known synthetic mobility models that we consider
useful for the analysis of an ON environment.
10
2.1.1 The Random Walk Mobility Model
The random walk mobility model (RW) [6] reproduces the mobility of nodes that
move randomly in a geographically bounded region. In this model, each node
starts moving with a randomly chosen speed in the interval[speedmin,speedmax]
and a direction between 0 andπ. After covering a distanced, the node changes its
trajectory, choosing another speed and direction. So, all nodes movements are of
the same lengthd. A variant of the RW model replacesd with a fixed time period
t: after a node has moved fort seconds, it changes speed and direction. In this
case, nodes can have different movement lengths, where the average gap between
one length and another is proportional tospeedmax− speedmin; anyway, all nodes
change direction at the same time, i.e., everyt seconds. If, during a shift, a node
hits a bound of the simulated area, it bounces back with a direction related to the
angle of impact.
It has been shown [6] that when using low values ford or t, RW exhibits a static
behavior: nodes are prone to stay very near their initial location. So, to model a
MANET or ON scenario, high values ofd or t should be preferred.
One more drawback of RW is that each movement is totally random and does
not consider previous speeds and directions: RW is memoryless. So, nodes may
show weird behaviors, e.g., suddenly stopping and turning back.
2.1.2 The Random Waypoint Mobility Model
When the random waypoint mobility model (RWP) [6] is adopted, each node
moves with a randomly chosen speed in the[speedmin,speedmax] interval toward a
geographic point randomly selected in the boundaries of thesimulated area. Once
the destination point is reached, the node waits for apause time pand then starts
moving toward another point with a newly selected speed. In RWP, mobile nodes
are initially distributed randomly over the considered area but, when nodes move,
their distribution becomes significantly different. So, RWP requires several sec-
onds in order to reach asteady state. Authors of [6] propose to remove the first
1000 seconds from the mobility generated through RWP in order to obtain a sta-
tionary distribution of node encounters and movements since the beginning of the
11
considered mobility. In [36], Navidi and Camp show that removing the first 1000
seconds from the mobility obtained through a RWP generator could be inadequate
to ensure stationary distributions since the beginning of the nodes mobility, as more
time is needed to the system to reach a steady state, especially if nodes move at low
speed. For this reason, we have removed twice the suggested value (i.e., 2000 sec-
onds) from the beginning of our mobility scenarios when considering RWP-like
mobility (chapters 4, 5 and 6).
A RWP scenario withp equal to 0 is similar to a RW one where high values
of d are chosen, but, in RWP, nodes never bounce over the area boundaries. More-
over, the nodes movement lengths and times of direction change have noticeably
differences with respect to RW.
As RW, RWP is memoryless. So, the classical RWP model is not realistic, but it
is simple, often provided within network simulators, and the most commonly used
in the literature. Moreover, due to its chaotic and unpredictable nature, RWP could
be a good benchmark scenario for an ON routing algorithm: it could represent
a worst case scenario, where no node movements periodicity and predictability
exist. Anyway, coupling its total randomness with very highnode speed allows
to assume uniform node encounters distribution, as done in [11]. Analysis and
strategies developed under this assumption are not able to deal with more realistic
environments (see chapter 6). For this reason, it is important to test performances
of routing solutions for ONs in other mobility models too.
2.1.3 The Aggregation Mobility Model
In the Aggregation Mobility Model (AGG) [12], a node moves toward an aggre-
gation point (AP), chosen from a finite set according to a certain probabilitydis-
tribution PAGG. Once there, it pauses for a timep before selecting the nextAP.
Parameters of this model are also the number and position ofAPs over the area, the
nodes speed range[speedmin,speedmax] and the radius of theAPs: the arrival point
of a node inside anAP is determined according to a Rayleigh distribution centered
at the center of theAPand with standard deviationσAGG.
When the number ofAPs tends to∞ andPAGG is uniform, this model behaves
12
as RWP. AGG reproduces mobility of users grouping in interest points according
to some spatial or functional rule. This behavior is compatible with a ON-like
scenario: hosts could be people carrying portable devices which move to and meet
in aggregation places, like coffee machines or a meeting room. For this reason,
this model has been taken into account to validate analyzed ON protocols (see
chapter 6).
2.1.4 The Reference Point Group Mobility Model
The reference point group mobility model (RPGM) [24] has been proposed as a
framework to model mobility of nodes clustered in differentgroups. In RPGM
each group is identified by a logical center, which moves witha certain mobility
model (e.g., RWP). The movement could be described by agroup motion vec-
tor ~GM. Each node belonging to a group is identified by areference pointthat
moves with the group. Every time the group moves, each node isplaced ran-
domly around its reference point by adding arandom motion vector~RM to the
~GM. More formally, the movement~M of a noden belonging to a groupG is:
~Mn = ~GMG + ~RMn.
RPGM can model different group-based mobility models. Examples are theIn-
Place Group Model[24], where the area in which nodes move is partitioned geo-
graphically: each group is assigned one or more partitions and moves only inside
it. The Overlap Mobility Model[24], in which groups move in the same area but
each one moves with its own speed and mobility pattern characteristics.
The RPGM framework describes node mobility as a combinationof a group
mobility and an intra-group one, in order to mimic the dynamics of the movements
of nodes inside a group. This framework is suitable to deal with many movement
schemes that can be obtained just choosing two different mobility models: one for
the group and one for the intra-group mobility. The result isa more characterizable
node movement behavior able to better resemble the environment that should be
modeled.
13
2.1.5 The Swarm Mobility Model
In the Swarm Mobility Model (SWR) [12], nodes move in a coordinated way. Each
swarm has a logical center, which moves toward a randomly chosen destination.
Once there, nodes in the swarm stop for a pause timep before moving to a new
destination. The number of nodes in each swarm is determinedby a probability
distribution with meanµSWRand standard deviationσSWR. Nodes belonging to a
swarm move randomly around its logical center, within a maximum distancedSWR.
If the regions of two swarms overlap, nodes in the intersection may choose to
migrate to the other swarm according to a probabilityMSWR.
SWR can be obtained by RPGM where the RWP model for both the group
center and the intra-group mobility is chosen. The novel contribution of SWR is
the opportunity that each node has to change its group when entering in contact
with another one.
SWR reproduces nodes maintaining the same neighborhood fora long time.
When an encounter between two groups takes place, each node notices that many
new nodes enter its radio range. When dealing with diffusionalgorithms, where
a messagem should be delivered to all the other nodes, this could highlight chan-
nel contention problems and can bring to the uncontrolled generation of an high
number of duplicates (see chapter 6).
2.2 Trace-based Mobility Models
In the last years, the need of more realistic data has pushed researchers toward the
realization of test-beds, in order to measure real performance of network protocols
when applied to specific scenarios [37, 40, 31]. Moreover, some experiments have
been performed to collect contacts among nodes, in order to study mobility of
radio-equipped vehicles and persons [31]. TheCRAWDAD community [31] collects
and maintains this valuable knowledge in order to allow an easy exchange of it
throughout the whole research community. This has enabled the proposal of more
realistic mobility models.
14
2.2.1 Weighted Waypoint Mobility Model
The Weighted Waypoint (WWP) mobility model [28] introducesthe notion ofloca-
tions: popular areas frequently visited by users. In a campus scenario, classrooms,
the cafeteria and the library are potential locations. In the WWP model, the weight
assigned to each location changes accordingly to the current time and the current
location. Yet, pause time distributions are a property of each location and are usu-
ally very different from one location to another. In [28], authors have adapted
their framework to the University of South California (USC)campus. They have
identified five main locations (classroom, library, cafeteria, other in campus areas,
off-campus) and then have conducted a survey on 268 USC students, from which
they extracted statistics about the mean pause time at each location and the time-
varying transition probability of each location dependingon the current location
and the current time of the day.
The distribution of nodes never reaches a steady-state because is regulated by
a time-varying transition matrix. This is not a requirementfor a realistic mobility
model but makes it complicate to deal with mathematically.
WWP depicts mobility inside the USC campus, which can be barely used as a
generic campus model: the performed surveys are few and their duration is short
(around a month). Anyway, its framework and results have been adopted as starting
point by many other mobility model proposals.
2.2.2 RealMobGen Mobility Model
RealMobGen [45] is based on the WWP [28] model. Nodes can bestationaryor
mobile. Stationary nodes stay in popular locations of the simulated area, which are
calledhotspots. RealMobGen resembles the nodes characteristics extracted from
the real data repository of theCRAWDAD community [31] in terms of speed and
pause time distributions, movement directions, mobile andstationary nodes ratio.
Mobile nodes can move from a locationA toward a locationB with a probabil-
ity pAB extracted from a time-variant transition matrix, adopted from [28], which
stores the probability of movement from any locationX to any locationY. When
moving fromX to Y, several intermediate waypoints are picked in order to havea
15
more realistic behavior instead of straight movements fromone location to another.
2.2.3 Two Level Social Mobility Model
The two level social mobility model (2-LSM) [16] is inspiredby the Weighted
Waypoint scheme [28]. In 2-LSM, each node belongs to asteadyor a nomadic
population. The steady nodes are characterized by low mobility. They stay in their
location for a mean pause time much greater than the nomadic nodes, generally
of at least one order of magnitude. This division is coherentwith an office-like
scenario: steady nodes are people working on their desks in their office. Nomadic
nodes are people like couriers, which move from one locationto another.
In 2-LSM,N locations exist in the considered area. Each node has a probability
p(i) to move toward theith location. The distributionP of the p(i) probabilities is
defined as a Zipf distribution:
p(i) =
1iα
ΣNn=1
1nα
, i ∈ 1, ...,N.
α defines the steepness of the function. The coefficient for thenomadic nodes
αN is much lower than the coefficient of the steady nodesαS, i.e., αN < αS. In
this way, steady nodes will spend much of their time in their preferred locations
and will generally ignore the other ones, while the nomadic nodes will have much
more chances to visit all locations.
Steady nodes are grouped in communities. Nodes belonging tothe same com-
munity c have the same mappings between theN locations andp(i)s. Different
communities have different mappings. Nomadic nodes do not cluster: each one
has its own personal mapping.
2-LSM has shown to produce synthetic traces having contact statistics compa-
rable with the real traces provided by theCRAWDAD community [31].
16
2.3 Opportunistic Networks and Mobility
The behavior of ON protocols is highly influenced by the underlying mobility
model. For this reason, it is important to capture the environment characteris-
tics in order to reproduce realistic node movements. In an ONenvironment, nodes
have low density with respect to the considered area. Moreover, in the considered
scenario (see 1.4) nodes are supposed to be persons, walkingin a campus: node
speed is low, in the range[1,2]m/s. Even though people mobility would be better
reproduced by a trace-based model rather than a synthetic one, our attempt is to
design a broadcast mechanism that is as independent as possible by the underlying
mobility model. So, performance tests on analyzed protocols will take into account
simple synthetic models, as RWP [6], and more structured ones, as AGG and SWR,
in order to introduce a set of aggregation points, such as theclassrooms, the library
or the faculty offices.
A final evaluation on proposed protocols will be conducted adopting a trace-
based mobility model, the 2-LSM (see 2.2.3). To accurately model node mobility
in our specific environment, parameters should be correctlyset relying on contact
statistics acquired from real data [16]. Several experiences of collecting mobility
traces from workplaces, campuses or other environments have shown that the dis-
tributions underlying the human mobility are heavy-tailedwith the Pareto law as
a common shape [8]. The analyzed human contact statistics have been obtained
either by the logs of connections of mobile devices to a centralized infrastructure
or by the logs of ad hoc communications among the devices. When a centralized
infrastructure is involved, all contacts taking place outside the location in which
the communication service is provided are lost. In particular, occasional contacts
of people traveling through uncovered areas are missed. When an ad hoc commu-
nication paradigm is adopted instead, contacts detection is committed to beacons
(see 1.4). Testbeds from which the available ad-hoc traces have been obtained
adopt low range radio devices (e.g., Bluetooth) and few minutes as beacon period,
due mainly to energy saving requirements and technologicalissues. This implies
that occasional and short-lasting contacts are missed. Anyway, these fortuitous
andquick-disruptingcontacts can be of great value in an ON scenario, where node
17
density is low and encounters are rare. For this reason, we have decided to imple-
ment our own testbed to collect contacts information (short-lasting ones too) in our
university campus, in order to set 2-LSM parameters on the basis of fine-grained
statistics.
2.3.1 Pocket Mobility Trace Recorder (PMTR) Testbed
While choosing our testbed devices, we had two main requirements in mind: a low
beaconing period, in the order of few seconds, able to catchquick-dying contacts,
and low power consumption, to allow long lasting experiments without the need
of changing device batteries in the meanwhile. We do not needhigh computation
capacity, nor high network bandwidth: each device should only send (frequent)
beacons and record the ones coming from other nodes.
Figure 2.1: Architecture of the PMTR device.
PMTR architecture
Taking into account these requirements we have realized thePocket Mobility Trace
Recorder device (PMTR). In fig.2.1, the architecture of the PMTR is sketched. It
uses a low power 8-bit microcontroller (Cypress CY8C29566)and a radio module
(AUREL RTX-RTLP 434) that operates at 434 MHz. A 1MB flash memory is
18
available to store contacts and an USB port allows to connectthe PMTR to a PC to
upload the firmware or to download the acquired contacts data. Interaction between
the PMTR and thebearer is demanded to a buzzer, that can start beeping to signal
new contacts or low battery charge. Required batteries are two common NiMh,
AA 1,2V.
Figure 2.2: The Pocket Viewer Desktop application Software.
On the top of the PMTR architecture, a non-persistent CSMA MAC protocol is
implemented that regulates access to the 2400b/s channel; aManchester encoding
is adopted at the physical layer. In order to record encounters with other nodes,
a simple beaconing algorithm has been implemented: each node sends a beacon
carrying its identifier once per second. When a nodeA receives a beacon from a
nodeB (and noopenrecords for nodeB exist), it putsB’s identifier in a new contact
recordRB, together with the current time. Then, when no beacons fromB are heard
for t seconds, the recordRB is closed, i.e., the current time is appended toRB. The
final recordRB will have this form:
19
IDA IDB timestart timeend
This record contains the time at which the contact between nodesA andB has
occurred (timestart) and the lasting of the contact (timeend− timestart− t).
All records can be downloaded via USB as a text file using the Pocket Viewer
software (fig.2.2), a Desktop application that allows the PMTRs debugging and
control.
Experimental setup
We have performed experiments in our campus with 49 PMTRs (fig.2.3). In order
to avoid annoyance to thebearers, the devices have been packaged in small 5x10x3
cm boxes equipped with straps for an easy fastening to the belts. Bearers have been
chosen among professors and students, and they have been asked to always carry
the devices for 3 weeks. Then, PMTRs collected data have beendownloaded and
analyzed.
Figure 2.3: Packaged PMTRs.
20
(a)
(b)
Figure 2.4:(a) CCDFs of the inter-contact times of PMTR (slopeα = 0.39) and
2-LSM traces (slopeα = 0.38) and(b) CCDFs of the intra-contact times of PMTR
and 2-LSM traces.
21
Results
The analysis of the result obtained from the PMTRs experiment is presented in
[17]. The distribution of inter-contacts times exhibit a power-law behavior, fol-
lowed, after a characteristic time of 12 hours, by an exponential decay; the intra-
contact times (contact durations) can be approximately considered power-law with
high slope. These results have been used to tune the 2-LSM trace generator. In
fig.2.4, the CCDFs of the inter- and intra-contact times for both the PMTR and
2-LSM traces are shown: the behavior is very similar, thus validating the 2-LSM
mobility model.
2.3.2 Mobility Assumption
Whatever is the adopted mobility model, throughout this work we assume that the
following mobility assumptionapplies: when a contact occurs, its duration is such
that the two nodes can set up a communication channel and a significant amount of
data is exchanged before they become disconnected. This assumption is reasonable
according to results achieved by observations reported in [43, 25], but it can be
occasionally violated in our simulations performed in the next chapters (3,4,5,6).
22
Chapter 3
Broadcast in ONs
The goal of a broadcast algorithm is to diffuse a messagem originated by a source
node to all the other nodes in the network (1-to-all communication paradigm).
Several messages with different source nodes can be diffused concurrently in a
network: anyway, to be able to deal with the problem more easily, we consider a
scenario where only one of the nodes acts as source of the messages to broadcast
[20]. In this chapter, we are going to analyze the adoption oftraditional broadcast
solutions in ONs.
3.1 Flooding
The most widely employed strategy to perform diffusion of messages to all the
nodes in a network is flooding. As soon as a node knows a new messagem, it
immediately attempts to broadcastm to all its neighbors, except (possibly) the one
from which m has been received. The time-to-live (TTL) ofm is set to∞. The
pseudo-code for this approach is shown by Algorithm 1.
Flooding exhibits a desiderable behavior when adopted in wired networks.
When flooding is adopted in the ad hoc wireless network environment, flooding
exhibits three main drawbacks, as discussed by [23], namely: implosion, overlap
and resource blindness.
Implosionoccurs when each node transmits the messagem ignoring if desti-
nation nodes have already received it. Due to the broadcast nature of the wireless
23
Algorithm 1 Pseudo-code for the flooding approachInitiator:
whenmessagem is generateddo
broadcast (m) to all one-hop neighbors;
add data to localbundle descriptor list;
end do
Node:
whenmessagem is receiveddo
if 1st timem is receivedthen
addm to localbundle descriptor list;
broadcast (m) to all one-hop neighbors except the one from whichm has been
received;
end if
end do
radio channel, each transmission is heard by all surrounding nodes: nearby sta-
tions transmitting the same packet cause neighbors to receive multiple copies of
the same message, thus wasting resources.
Wireless nodes collecting information from the environment (i.e., wireless sen-
sor networks) may often cover the same geographic area. Whenflooding is adopted,
they may spreadoverlappingdata, diffusing different messages that carry the same
information.
Finally, wireless ad hoc networks are generally made up of portable devices
with energy-saving requirements: radio transmissions areenergy expensive and
should be performed sparingly, taking into account the current amount of energy
available to the nodes. Flooding simply ignores this requirement, being thusre-
source blind.
To partially alleviate these issues, several flooding improvements have been
proposed [49], adopting probabilistic transmissions, location awareness and neigh-
bors knowledge in order to reduce the number of retransmissions. In [49], a classi-
fication and comparison of broadcasting schemes for MANETs is presented. Any-
way, these flooding-based strategies are able to deal with the data diffusion prob-
24
lem in connected networks only. In case of mobile ad hoc wireless networks where
node density is low, as in the case of Opportunistic Networks, no flooding vari-
ants are able to diffuse the message to all the nodes, becausethey cannot deal with
frequent partitioning. In fact, as shown by simulations (sec.4.3), network parti-
tions are a barrage that flooding cannot get through and, consequently, all flooding
variants cannot provide coverage guarantees.
Diffusion should take place multiple times on node encounters and should rely
on node storage to cachem between one contact and the next. Since the time
between two contacts can last many seconds, minutes or even hours, high delivery
times should be tolerated. The desired behavior is similar to that of an highly
infective disease spreading among people, wherem is the virus that shouldinfect
the encountered nodes; when all the nodes have beeninfectedthe diffusion should
stop. For this reason, epidemic approaches have begun to be applied to routing
algorithms for ONs.
3.2 Epidemic Approaches
Epidemic approaches appeared in the literature to deal withdata replication in dis-
tributed databases [13]. Having a similar goal (information diffusion) and a com-
parable environment (networks with nodes able to store data), epidemic algorithms
have been employed successfully in sensor networks too [1].So, quite naturally,
well established epidemic approaches have been employed asrouting solutions for
the opportunistic network sparse and mobile environment.
Unlike flooding, epidemic algorithmsstore messages in permanent memory
and are allowed to periodically (eachround) retransmit the same messagemgener-
ating multiple copies. This mechanism fits well with the behavior of opportunistic
networks: in the time interval between two consecutive rounds of the algorithm,
nodes move, change their neighborhood and get over partitions, thus having greater
possibility than flooding to reach the entire node population.
Each nodeN maintains two data structures: theneighbors listN and the
bundle descriptor listN. The former is the list ofN’s neighbors, i.e. the
25
nodes within the radio range ofN, acquired from the beaconing (see 1.4). The
bundle descriptor listN is the list of the descriptors of the active bundles
the nodeknows, because they are either generated by the node itself or received
through epidemic contacts with other nodes. The bundle descriptor we require is a
small subset of the parameters specified in [41]. We considera bundle descriptor
as a tuple:
EIDsource seq# payloadptr li f etime
where seq#helps to uniquely identify a bundle among bundles with the same
EIDsource and li f etime represents the lifespan within which the bundleb should
be diffused, as specified by the source1. When it expires, all nodes withb in their
bundle descriptor list remove the entry from the list.
We introduce a simple classification of epidemic algorithmsbased on which
node, of a pair of communicating ones, starts the bundles exchange and on whether
the exchange is unidirectional or bidirectional. As far as the initiator is concerned,
approaches can be classified asreceiver-basedandsource-based. In the receiver-
based case, a node periodically chooses one (or more) of its neighbors and asks it
for bundles. This is also known asPULL approach, whose pseudo-code is provided
by Algorithm 2: theget neighbors procedure extracts one or more nodes from
theneighbors list; theget bundles procedure extracts one or more bun-
dles from thebundle descriptor list. All nodes start executing both the
Active and the Passive threads at the bootstrap; as the initialization of the Active
Thread, a timer for periodic execution is set. In this and thefollowing algorithms
we assume that, as soon as a bundle is generated, the node inserts it in the local
bundle descriptor list.
The PULL approaches may differ for the amount of exchanged messages:a
node can send one or a subset of the bundles in its list, chosenaccording to either a
deterministic or a probabilistic policy, or even all the bundles. In some proposals,
nodes initially exchange a digest of the owned bundles to selectively decide the
messages to forward.
1As ONs are delay tolerant networks, the lifetime must be not too short, that is, it must not be a
parameter critical for the correct operations of the algorithm.
26
Algorithm 2 Pseudo-code for thePULL approach1: ReceiverN: {Active Thread}
2: when timer expiresdo
3: contact← get neighbors();
4: send (request for bundles) tocontact;
5: receive (reply) from contact;
6: if reply includes unknown bundlesthen
7: add bundles inreply to localbundle descriptor list;
8: end if
9: reset timer;
10: end do
11:
12: Node:{Passive Thread}
13: when request received fromN do
14: if any bundle inbundle descriptor list then
15: bundle← get bundles();
16: send (bundle) to N;
17: else
18: send (empty reply) toN;
19: end if
20: end do
27
Source-basedapproaches can be further classified inPUSHandPUSH/PULL. In
both cases, a nodeN having a bundlebN to diffuse, periodically selects a neighbor
C and sendsbN to it. In thePUSH/PULL approach, ifC has a bundlebC, thenN and
C exchange the missing bundles at the contact opportunity. The pseudo-code of
the two approaches is shown by Algorithms 3 and 4. All nodes start executing the
Passive Thread at the bootstrap; the Active Thread is started when the first bundle
is inserted into the localbundle descriptor list2.
Algorithm 3 Pseudo-code for thePUSHapproach1: Active Thread:
2: when timer expiresdo
3: contact← get neighbors();
4: bundle← get bundles();
5: send (bundle) to contact;
6: reset timer;
7: end do
8:
9: Passive Thread:
10: whenbundle receiveddo
11: if notified bundlenot in bundle descriptor list then
12: add bundle tobundle descriptor list;
13: if 1st bundle inbundle descriptor list then
14: start Active Thread;
15: end if
16: else
17: discard duplicate bundles;
18: end if
19: end do
As we mentioned before, in thePULL approach, a bundle can be diffused only
after the explicit request of an active node. By contrast, inthe source-based ap-
proaches, whenever a node has a bundle it becomes an active forwarder of the
message. As a consequence, the number of active forwarders increases with the
2If at a certain time all bundles lifetimes are expired, the node halts the Active Thread, to possibly
re-start it later when a new bundle is either generated or received.
28
Algorithm 4 Pseudo-code for thePUSH/PULL approach1: Active Thread:
2: when timer expiresdo
3: contact← get neighbors();
4: bundle1← get bundles();
5: send (bundle1) to contact;
6: receive (bundle2) from contact;
7: if bundle2 receivednot in bundle descriptor list then
8: addbundle2 to bundle descriptor list;
9: else
10: discard duplicatebundle2;
11: end if
12: reset timer;
13: end do
14:
15: Passive Thread:
16: whenbundle2 receiveddo
17: if bundle2 not in bundle descriptor list then
18: addbundle2 to bundle descriptor list;
19: if 1st bundle inbundle descriptor list then
20: start Active Thread;
21: end if
22: else
23: discardbundle2 data;
24: end if
25: if ∃ bundle1 6= bundle2 in bundle descriptor list then
26: bundle1← get bundles();
27: send (bundle1) to active node;
28: else
29: send ( /0) to active node;
30: end if
31: end do
29
time.
In the scenario we are considering, where very few sources are supposed to
diffuse to many receivers, apull -based approach is not promising: several nodes
would periodically send useless queries to other nodes withan empty
bundle descriptor list, thus wasting resources. However, aPULL-based
approach could be adopted in combination with aPUSH-based one when the push
process has likely diffused the messages to the most part of destinations. As sim-
ulations will show in the sequel, at this point the remainingreceivers have many
nodes to query for data and aPULL-based approach can be helpful to selectively
reach the total population of nodes at a reduced cost in termsof exchanged packets.
The aforementioned receiver-based approach differs from the mechanisms pro-
posed for warning dissemination in vehicular networks, such as IVG [2], where the
diffusion is initiated by the source and continued by forwarders according to a
PUSH scheme, but the decision on which node should further forward the data is
left to the recipients in communication range with the current forwarder. In this
work, the classification puts the emphasis on the node that isin charge of data
forwarding, rather than on the nodes deciding the identity of the next forwarder(s).
It is worth to notice that thePUSH/PULL approach is suitable to accelerate the
messages diffusion in a multiple source network condition or when multiple bun-
dles from the same source are concurrently active. ThePUSH and PUSH/PULL
approaches have been, for instance, proposed in [13] for themanagement of repli-
cated databases and in [27] for data aggregation in wirelesssensor networks.
The performance and functionalities of the three describedepidemic approaches
is highly influenced by several design issues and by their combined effects. Table
3.1 reports the most relevant among them.
The approaches may all adopt different policies (either probabilistic or based
on local information) to choose the neighbor for message forwarding
(get neighbors). Neighbor selection can be performed by either the sender
or the receiver. In both thePULL and thePUSH/PULL approaches, a node may
decide to reply with more than one bundle to its querier or to the Active Thread re-
spectively, and may adopt different policies to extract those bundles from the local
30
Table 3.1: Characteristics of epidemic approaches
aspect PULL PUSH PUSH/PULL
neighbor choice × × ×
# bundles sent × ×
bundles choice × ×
broadcast usage ×
no reply ×
stop condition × ×
epidemic round × × ×
bundle descriptor list.
When messages are pushed, different strategies can be adopted to decide the
number of in-range neighbors that are selected to act as message forwarders. A
very conservative approach will choose a single forwarder,while a more aggressive
policy will exploit the broadcast nature of the radio channel to elect as forwarder
all the in-range nodes. The latter approach has obvious effects on the bundles
diffusion speed, but, conversely, requires to randomize the forwarding operations
in order to control the collision rate and the duplicate generation.
Differently from thePUSH strategy, both thePULL andPUSH/PULL strategies
require a reply in order to get bundles from the receiver.
The periodic diffusion of a message, adopted by bothPUSH and PUSH/PULL
approaches, is useless when the bundle has been delivered toall the nodes. The
optimal behavior is, of course, to ensure that all nodes stopdiffusing a bundle when
it has been received at the last node. This condition requires a global knowledge
of the nodes state and thus cannot be implemented, but can be approximated by
designing some properstop conditions[13]. When the stop condition is locally
verified, the bundle is no longer diffused.
Finally, all the strategies can choose when to perform the epidemic round (the
execution of the Active Thread). On the basis of the event that triggers the epidemic
round run, epidemic approaches can be splitted inTime Driven Epidemic Ap-
proaches, where the round is scheduled on a time period basis, and inEncounter
31
Driven Epidemic Approaches, where the epidemic round is run when new nodes
are met. In the next chapter,Time Driven Epidemic Approachesare considered,
while Encounter Driven Epidemic Approachesare analized in chapter 5.
32
Chapter 4
Time-Driven Epidemic
Approaches
The most interesting approaches based on a periodic round, suitable for the ON
environment, areGossip(also addressed in the literature asRumor Mongering) and
Anti Entropy. These epidemic approaches have been firstly proposed for replication
of data in distributed databases [13] and can take advantageof a PUSH, PULL or a
PUSH/PULL approach.
4.1 Gossip
In the original Gossip approach [13], messages are calledrumors. When a new
messagem is received by a nodeN, mbecomeshot (i.e.,m is activeand should be
diffused to other nodes). Hot rumors are sent to nodes which are randomly chosen
among the available neighbors at periodic intervals (epidemic rounds).
When a localstop conditionis verified, the messagem is no longer classified
as hot and is no more diffused. Two stop condition policies have been proposed:
• Counter: mstops to be considered as hot afterk transmissions.
• Coin: each timem is forwarded, the rumor stops to be considered as hot with
a probability1K
.
33
These stop conditions are calledblind, because the forwarderN does not require
feedback from the destination nodeC. They can be improved if feedbacks from
destination nodes are employed: in theCounterstop condition,m ceases to behot
after k transmissions toward nodes already owning it; in theCoin stop condition,
thecoin is tossed every timem is sent to already infected nodes.
Gossip can adopt either aPULL or aPUSHscheme. As we have seen in the pre-
vious chapter, thePUSHstrategy suits best ON environment because transmissions
take place only when a messagem is available and is hot, while network traffic
is avoided when diffusion is not needed. For this reason, from now on we will
consider aPUSH-based Gossip only.
4.2 Anti Entropy
In the original Anti Entropy strategy [13] a nodeN randomly selects a neighborC
in the network and synchronizes its bundles with it. It is very similar to a Gossip
strategy where at each epidemic round each node groups all the stored messages
and exchanges them with a randomly chosen node. Even if thePUSH and PULL
schemes can be employed, thePUSH-PULL strategy is generally adopted, where
both the nodes exchange their bundles. Message exchange causes high overhead
when a large number of bundles are stored by each node, because synchronization
requires the transmission of all the messages through the radio channel. Moreover,
message exchange can be useless if the nodes involved in the communication al-
ready own them. For this reason, Anti Entropy allows to first exchange checksums
calculated on the whole message sets; then, the message setsare exchanged only if
the checksums belonging to the two nodes are not equal.
In an enhanced Anti Entropy version [13], message sets for new bundles are
maintained apart and exchanged as usual. So, if the checksumcomparison on the
sets of new bundles fails, only the last messages are exchanged. A further improve-
ment, calledpeel back[13], considers checksums computed on old versions of the
message set. When a synchronization is performed, checksums are compared, till
a common subset of bundles is found; then, only the complementary message sets
34
are exchanged. This approach can be an useful improvement ofGossip when sev-
eral sources and messages are present. It has been applied tothe opportunistic
scenario in [44], where it proved to be an effective solutionfor unicast communi-
cation in ONs.
4.3 Performance Evaluation
Simulated Conditions and Performance Indexes
We used simulations to analyze the behavior of aPUSH-based Gossip algorithm
in a simple setting. A single source nodeS is assumed to generate a messagem.
The rounds of the protocol continue to diffusemuntil m lifetime has been reached,
without adopting any stop condition to limit the generationof duplicate messages.
The lifetime is set to 1 hour and the epidemic round period (ERP) varies in the
range 2s to 8s.
A network layer beaconing is not required as eachinfectednode broadcastsm
everyERP seconds: if a node is in radio range, it receives the message and starts its
active thread. Otherwise a useless transmission has been performed and nothing
happens but sender wastes energy. Up to 100 nodes move in an open space area of
1000m×1000m. Nodes are equipped with low power 802.11 radio devices having
a 10m communication range, resulting in a low node density scenario, comparable
to an ON environment.
The mobility is simulated adopting the RWP model (see 2.1.1)with pause time
p = 0, speedmin = 1m/sandspeedmax varying from 0 to 8m/s (0 means that nodes
do not move at all). The first 2000s of the generated mobility have been removed
in order to obtain a more realistic behavior [6]. Mobility traces have been obtained
employing theBonnMotionmobility trace generator [12].
The algorithm has been implemented in the GloMoSim 2.03 simulator [50]
to obtain the results we present in this section. All resultsare averaged over 30
simulations performed with the same parameters and variable random seed. 95%
confidence intervals have been computed on the results showing cumulative values
at the end of the message lifetime (figg. 4.1, 4.2, 4.6).
35
Effectiveness of the epidemic algorithm is measured in terms of average per-
centage of covered nodes, i.e. the nodes receiving the messagemwithin its lifetime.
Efficiency is measured in terms of average and maximumlatencybetweenm gen-
eration and its reception, and in terms of average number ofgenerated copiesby
nodes. Of course, the number ofm copies influence both the network bandwidth
and node battery consumption.
Simulation Results
The average number of reached nodes is shown in fig. 4.1, for variable group
cardinality,speedmax andERP. Flooding obtains a 0% coverage in all the analyzed
scenario and so it is not shown in the graphs. It can perform a single run of message
diffusion (it is unable to exploit data caching and periodicruns), so flooding cannot
cope with highly partitioned networks and consumes all its diffusion power inside
the partition of the source. Unfortunately, in our ON-like scenario node density is
so low that nodes are isolated and flooding wastes its only diffusion shotas soon
asm is available to the source, also if no neighbors are present.Diffusion is useful
only if performed when a rare node encounter occurs: so, the smaller the gossip
ERP, the higher the chances it has tohit another node.
ThePUSHbased Gossip approach obtains good performances taking great ben-
efit of message caching, node mobility and repeated diffusions. If node mobility is
not present, i.e. nodes are fixed (speedmax= 0), delivery is equal to 0. As expected,
the smaller theERP, the higher the coverage for the same mobility scenario. In fact,
if diffusion is performed frequently, gossip is able to catch the contact opportunity
also for short-lasting node contacts. As speed increases, encounters become more
frequent and more chances of diffusing the message can be exploited: this reflects
in a better delivery ofmby the end of the lifetime.
Longer periodic rounds may exhibit drawbacks at higher speeds: they too gain
advantage of the higher frequency of encounters but their duration reduces with
increased speeds (e.g., average encounter life span is around 8s for speedmax =
2m/sand 3s for speedmax= 8m/s for the 25 nodes RWP scenario). So, the chance
of performing a transmission during the node contacts lowers asERP increases,
36
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
2 m/s 4 m/s 6 m/s 8 m/s
max speed
infe
cted
nod
es
GOSSIP - ERP 2 GOSSIP - ERP 4 GOSSIP - ERP 6 GOSSIP - ERP 8
(a)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
2 m/s 4 m/s 6 m/s 8 m/s
max speed
infe
cted
nod
es
GOSSIP - ERP 2 GOSSIP - ERP 4 GOSSIP - ERP 6 GOSSIP - ERP 8
(b)
Figure 4.1: Percentage of nodes reached by the messagemat the end of its lifetime
for (a) 25 and(b) 75 nodes.
37
0s
500s
1000s
1500s
2000s
2500s
3000s
3500s
2 m/s 4 m/s 6 m/s 8 m/s max speed
max
cov
erag
e de
lay
GOSSIP - ERP 2 GOSSIP - ERP 4 GOSSIP - ERP 6 GOSSIP - ERP 8
Figure 4.2: Average time ofinfection of the last reached node for the 75 nodes
scenario.
violating the mobility assumption described in 2.3.2. For this reason, gossip with
ERP= 8s has a lower gain than the others when speed increases (fig. 4.1(a)).
When higher node density is in place (fig. 4.1(b)) gossip is able to reach the
100% of the nodes in (almost) all the cases with all the analyzed values ofERP.
Anyway, as we can see in fig. 4.2, delivery time needed to reachall the nodes
lowers with both smallERP and highspeedmax. Also delivery time reveals that
smallerERP values gain higher improvement whenspeedmax is increased.
Figg. 4.3 and 4.4 bring into evidence the impact of node speedas time flows.
The ideal behavior is reaching 100% nodes as quickest as possible, i.e., the more
vertical is the plot, the better the algorithm performs. Theplot behavior depends on
a sort ofavalanche effect: initially only the source propagates the messagem, and
the number of infected nodes increases slowly. Each infected node starts executing
the Active Thread (Algorithm 3) on its behalf, thus contributing to m diffusion.
Hence, in a second stage the number of infected nodes grows quickly. Finally, only
a few nodes remain to be infected, and they can be reached onlyif and when an
active node meets them and performs a diffusion during the contact life span. In
38
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1min 20min 40min 60min
elapsed time
infe
cted
nod
es
speed 2m/s speed 4m/s
speed 6m/s
speed 8m/s
(a)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1min 20min 40min 60min
elapsed time
infe
cted
nod
es
speed 2m/s
speed 4m/s
speed 6m/s speed 8m/s
(b)
Figure 4.3: Cumulative percentage of achieved coverage over time by nodes with
epidemic round set to 2 seconds and with(a) 25 and(b) 75 nodes.
39
this last phase, the coverage is almost stable, and the most part of the diffusions are
addressed to already infected nodes.
In theERP= 2 instance, it is clear that the gain obtained increasingspeedmax
from 6m/s to 8m/s is negligible. Moreover, with a biggerERP (Fig.4.4), the cov-
erage is worse both because of a less aggressive diffusion policy and because it is
less advantaged by speed, as observed before. Here, in the low density scenario, the
coverage growth is (almost) linear: the number of infected nodes remains low till
the lifetime, preventing theavalanche effectto show off. This confirms once again
that the increased contact frequency brought about by higher speeds is compen-
sated by the smaller life span of the contacts, which raises the chances of violating
themobility assumption.
The difference between the coverage plots for maximum and minimum speed
is lower in high density conditions.
In the gossip approach, the number of performed diffusions is higher for high
density because more nodes concurrently execute the ActiveThread. This is em-
phasized for short epidemic round (see figg.4.5 and 4.6).
The number of sent copies of the messagem is affected by speed too. At
higher speeds, an higher number of nodes is quickly infectedand they can give
their contribution to the generation of a great amount ofm copies.
A large number of sent copies waste both bandwidth and energyresources. It
is worth to notice that the reduction of the number of generated copies is the main
feature to add to an effective epidemic algorithm for an opportunistic scenario. This
can be achieved through both a careful selection of the time to perform diffusion,
which should consider neighborhood information, and the implementation of a
stop condition, which should use locally available information, such as the number
of received duplicates, to progressively reduce the infection rate as the coverage
approximates the group membership.
If we consider the dense scenario of fig.4.3(b), thePUSHalgorithm withERP=
2 and nodes moving at 8m/s reaches all the nodes within 30 minutes. Then, each
node performs useless diffusions at its maximum rate (i.e.,2copies× second) for
the remaining 30 minutes of them lifetime. The number of useless transmissions
40
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1min 20min 40min 60min
elapsed time
infe
cted
nod
es
speed 2m/s
speed 4m/s
speed 6m/s
speed 8m/s
(a)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1min 20min 40min 60min
elapsed time
infe
cted
nod
es
speed 2m/s
speed 4m/s
speed 6m/s
speed 8m/s
(b)
Figure 4.4: Cumulative percentage of achieved coverage over time by nodes with
epidemic round set to 8 seconds and with(a) 25 and(b) 75 nodes.
41
0
250
500
750
1000
1250
1500
1min 20min 40min 60min
elapsed time
sent
mes
sage
s
speed 2m/s
speed 4m/s
speed 6m/s
speed 8m/s
(a)
0
250
500
1min 20min 40min 60min
elapsed time
sent
mes
sage
s
speed 2m/s
speed 4m/s
speed 6m/s
speed 8m/s
(b)
Figure 4.5: Non-cumulative number of performed diffusionsof the messagem
in the 75 nodes RWP scenario with(a) ERP= 2 and(b) ERP= 6. Each point
represents the number ofmcopies sent in an interval of 36s.
42
can be easily computed as:
#nodes×#epidemicsessionsremaining=
= #nodes×remainingseconds
ERP=
= 75×30minutes×60
2=
= 67500sent packets
These values are confirmed by fig. 4.5(a): after 30 minutes of simulation,
copies generation is at full rate, i.e. 1350packets/slot time. Each discrete time slot
is 36s length. So, the number of remaining slots before the end of simulation is:
remainingtimeslot length
=
=30×60s
36s= 50discreteslots
So, the total number of generated packets in the last 30 minutes is:
1350×50= 67500packets
The amount of generated packets is huge and more than half aregenerated after
all nodes have been reached. If diffusion would have stoppedwhen the message
was delivered to all the available nodes, the savings of bothenergy and network
channel would have been enormous. So, astopcondition is required to enable the
cut off of these unproductive transmissions. Moreover, many other useless and re-
source consuming transmissions are performed when no neighbors are available:
the algorithm should be adaptive, performing message diffusion when an encounter
with another node is in place, i.e. when neighbors are present. This requiresbea-
coningto detect neighbors. This policy should use local observations of the system
at the nodes to save memory and computational resources.
Another hint derives from the observation of the effects of high density on al-
gorithm performance (Figg.4.1, 4.2, 4.3, 4.5): the more dense the nodes, the better
both the coverage and the latency. Hence, in an adaptive algorithm where bea-
coning is available, nodes could monitor the cardinality oftheir neighborhood to
achieve awareness of aggregation points and regulate the diffusion round accord-
ingly. Moreover, diffusion should be performed only when newly encountered
43
0
200
400
600
800
1000
1200
1400
1600
2 m/s 4 m/s 6 m/s 8 m/s
max speed
mes
sage
s se
nt p
er n
ode
GOSSIP - ERP 2 GOSSIP - ERP 4 GOSSIP - ERP 6 GOSSIP - ERP 8
(a)
0
200
400
600
800
1000
1200
1400
1600
2 m/s 4 m/s 6 m/s 8 m/s
max speed
mes
sage
s se
nt p
er n
ode
GOSSIP - ERP 2 GOSSIP - ERP 4 GOSSIP - ERP 6 GOSSIP - ERP 8
(b)
Figure 4.6: Average message transmissions normalized on the nodes number with
(a) 25 and(b) 75 nodes.
44
nodes are available, transmitting messages just and immediately when encounters
occur. This requiresmoving apart from a period based round, inherited from the
original approaches for data replication,in favor of an encounter-triggered one,
more suitable for the sparse and partitioned environment weare considering.
45
Chapter 5
Encounter-Driven Epidemic
Approaches
To increase the efficiency of epidemic algorithms in a wireless ad hoc network
scenario, the diffusion of a messagem should take place only when one or more
nodes are in radio range, in order to avoid useless transmissions unable to reach
any node but draining battery life. For this reason, in this chapter we dismiss the
time-based epidemic round in favor of an event-based one, triggered by beacons
received by approaching nodes.
The primary focus in the design of a deployable, i.e. both efficient and effec-
tive, broadcast protocol is to increase the node likelihoodof delivering the message
only to uninfected nodes. This critical design point deserves the attention that has
not attracted so far. There are several, growing levels of knowledge a node can
achieve about the neighbors state to approximate the globalsystem state. They
range fromzero knowledge, as for a stateless encounter-driven PUSH-based al-
gorithm, tofull knowledge, which can be approximated by maintaining some log
of encounters and performed diffusions and by enabling the log exchange among
encountering nodes.
Throughout this chapter, we will adopt some abbreviations,summarized in
table 5.1.
46
Table 5.1: List of the abbreviations used in the chapter
n Number of nodes in the network
m Message that should be diffused to all then nodes
GTm Number of generated transmissions to diffusem
GRm Generation rate ofm transmissions
RD Total number of received duplicates
Cov Achieved coverage
ERα Node encounter rate for the mobility scenarioα
5.1 Zero-Knowledge Epidemic Approaches
The more information a node obtains, the higher the amount ofresources (both
local and system) it uses and the likelihood of packet dropping when the protocol
is requested to scale together with the growing of messages and nodes number.
Scalability problems lead to introduce congestion controlmechanisms that push
further the use of network and node resources. From the abovearguments, there
is an interesting space to design a lightweight broadcast protocol that addresses
efficiency by keeping very low the amount of information it requires to improve
the performances. We use the termzero-knowledgeto indicate this approach.
5.1.1 Encounter-Based Gossip: P-BCAST
To resemble the behavior of an epidemic in an ad hoc network, when a nodeN
receives for the first time an hot messagem, it diffusesm in the network infecting
its neighbor nodes. In this basic gossip scheme, the source nodeStransmitsmwith
probability equal to 1. Then each neighborN forwardsmwith a certain probability
P and retains from transmission with probability 1−P. If the same messagem is
received multiple times by the same node,m is discarded. This strategy, presented
in [22], is based on the traditionalPUSH-based gossip, sketched in 4.1.
Authors of [22] show that in a well connected ad hoc network this strategy can
bring up to 30% of sent packet savings with respect to flooding. Unfortunately,
the diffusion may suffer of premature death if density is low(as in the ON envi-
47
ronment), especially ifP is small. In particular, results in [22] show that gossip
exhibits a bimodal behavior: either the simulation ends when the network cover-
age is over 90%, or diffusion stops very early, before reaching 10% of nodes. This
conclusion validates the gossip studies in the percolationtheory area [21].
To overcome the problem of a premature deathGOSSIP1(P,k) has been pro-
posed [22]: a messagem is forwarded with probability 1 for the firstk hops, thenm
is diffused adopting the basic gossip strategy with a fixed probability P. GOSSIP1
may fail again, because afterk hops node density can be low andP can bring gossip
to premature death (that is, infection does not take place).
Haas et al.[22], propose two optimized gossip strategies able to deal with vari-
able density:GOSSIP2(P1,k,P2,n) andGOSSIP3(P,k,d). In the former, a message
m is forwarded fork hops with probability equal to 1. Then, the forwarding node
gossips with probabilityP1 only if its neighbors are> n, otherwise it gossips with
probability P2 > P1. In the latter, probability is equal to 1 fork hops, thenm is
forwarded with probabilityP but, if a node retains from transmission due toP and
does not receive at leastd duplicates before a timeoutt, it broadcastsm anyway.
Authors state that best results have been obtained withd = 1.
These strategies perform well in connected networks, whereeach nodeN is
supposed to have one or more neighbors available at any time,but would not work
in partitioned networks. Anyway, the main idea of all these gossip variants, i.e.
performing transmissions with probabilityP, can be applied to a partitioned envi-
ronment if diffusions are retained (by storingm in permanent memory) till one or
more nodes are encountered; thenmcan be forwarded with probabilityP.
In [30], a study on aGOSSIP1-like scheme where diffusion is triggered by new
encounters is presented. The considered environment is a MANET where nodes
are subject to frequent partitions and their movements follow a random waypoint
model [6]. Diffusion of one messagem has been analyzed. Authors have analyt-
ically modeled the impact of thisGOSSIP1-like epidemic algorithm in such sce-
nario. Then, the model has been validated through simulations performed on a
custom Java simulator. Authors of [30] state that in a RWP model P should be
carefully chosen according to the node density andm lifetime in order to achieve
48
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0s 900s 1800s 3600s
pause time
infe
cted
nod
es
GOSSIP - ERP 2 GOSSIP - ERP 8 P-BCAST - P=0.5 P-BCAST - P=1
Figure 5.1: Percentage of nodes reached by the messagemat the end of its lifetime
for 50 nodes.
full coverage minimizing the number of transmissions.
We consider this encounter-triggeredPUSH-based broadcast algorithm (P-BCAST)
as a potential candidate for broadcasting in ONs.
P-BCAST vs time-based GOSSIP
In this section, we analyze the improvements brought byP-BCAST over the time
based gossip algorithm we have considered in chapter 4. We have performed simu-
lations using the GloMoSim 2.03 simulation environment [50] where a time based
gossip strategy withERPequal to 2s and 8s is compared to aP-BCAST scheme
with P equal to 1 and 0.5. A network layer beaconing having a period of 1s is used.
Nodes are equipped with low power 802.11 radio devices having a 10m communi-
cation range. One messagem is generated at the beginning of the simulation (i.e.,
at time 0) and its lifetime is set to 6 hours. Nodes move following a RWP model,
obtained through the BonnMotion mobility trace generator [12]: nodes move at a
speed in the range[1,2]m/s over an area of 1000m×1000m with a variablepause
time(0s, 900s, 1800s and 3600s). All results are averaged over 30 experiments.
49
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
GOSSIP - ERP 2 GOSSIP - ERP 8 P-BCAST - P=0.5 P-BCAST - P=1
(a)
Figure 5.2: Average delay of delivery to all the reached nodes for 50 nodes.
Two kinds of graphs are presented:global anddiscrete. In the former, global
values (i.e., values obtained at the end ofm lifetime) are shown, providing 95%
confidence intervals. In the latter, the 6 hoursm lifetime is discretized in 100
intervals of6×3600
100= 216s. Average results have been computed on each time
interval.
As we can see in fig.5.1, all the strategies are able to reach a coverage equal or
very near to the 100% of the nodes by the end ofm lifetime for the 0s, 900s and
1800s pause time scenarios. The delivery delay among the considered strategies is
comparable (see fig.5.2), with the exception of theP-BCASTP=0.5 strategy: a value
of P = 0.5 means that on average each node owningm skips 1 diffusion every 2
encounters, requiring twice the time to diffusemwith respect to aP = 1 value.
In the last mobility scenario (i.e., 3600s pause time)P-BCASTP=1 achieves a
coverage very near to the 100% exploiting all the available time, as we can see in
fig.5.4. So,P-BCASTP=0.5, skipping 12 of the contacts, reaches about the half of
P-BCASTP=1 coverage, i.e. about 50% of nodes (figg.5.1 and 5.4).
P-BCASTP=1 has the same coverage and delivery delay of gossipERP=2 (figg.5.1,
50
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0s 900s 1800s 3600s
pause time
mes
sage
s se
nt p
er n
ode
GOSSIP - ERP 2 GOSSIP - ERP 8 P-BCAST - P=0.5 P-BCAST - P=1
(a)
0
5
10
15
20
25
30
35
40
45
50
0s 900s 1800s 3600s
pause time
mes
sage
s se
nt p
er n
ode
P-BCAST - P=0.5
P-BCAST - P=1
(b)
Figure 5.3: Average number of sent packets normalized on thenodes number (50
nodes scenario). In(b), same data of(a) is plotted with a different packet number
scale and for theP-BCAST strategies only.
51
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0h 2h 4h 6h
elapsed time
infe
cted
nod
es
GOSSIP - ERP 2
GOSSIP - ERP 8
P-BCAST - P=0.5 P-BCAST - P=1
Figure 5.4: Percentage of reached nodes over time for 50 nodes in the pause time
= 3600s RWP scenario.
5.2 and 5.4).
When moving from a time-based period to an encounter-triggered one, a great
improvement is expected in the overall number of sent packets. Opposed to the
time-based gossip,P-BCAST retains from forwardingm when no neighbors are
present (a very likely condition in our low density scenario) decreasing the amount
of generated packets of two orders of magnitude (see fig.5.3).
RegardingP-BCAST coverage and delivery, when the following assumptions
apply:
(i) beaconing frequency is high enough so that all encounters are detected
(ii) if the mobility assumption introduced in 2.3.2 is preserved
we can introduce the following:
Claim 1 P-BCASTP=1 is optimum in terms of coverage and delivery delay regard-
less of the adopted mobility model.
From the above assumptions claim 1 turns out to be obvious: assumption(i)
ensures thatP-BCASTP=1 catches all available contacts;P= 1 guarantees that avail-
52
0
5
10
15
20
25
30
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
Pause time 0s Pause time 900s Pause time 1800s Pause time 3600s
(a)
0
5
10
15
20
25
30
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
Pause time 0s Pause time 900s Pause time 1800s Pause time 3600s
(b)
Figure 5.5: Non cumulative number of sent packet over time for P-BCAST with
Prob1 (a) andProb0.5 (b).
53
Table 5.2: Mobility scenarioERs
α =pause time ER ER×216s
0s 0.06enc/s 12.96
900s 0.03enc/s 6.48
1800s 0.02enc/s 4.32
3600s 0.01enc/s 2.16
able messages are forwarded at each contact opportunity; assumption(ii) ensures
that each contact life span lasts enough time to allow the fulfillment of m transmis-
sion.
In theP-BCAST approach,(1−P) determines the number of retained forward-
ings with respect to all the available diffusion opportunities. More formally,P
exhibits a linear proportionality with the copy generationrateGRm of m. If ERα is
the node encounter rate of the mobility modelα andCov(t) the achieved coverage
at timet we can write the equation:
GRm(t)≃ ERα×Cov(t)×P×2 (5.1)
The 2 factor is required because each time two infected nodesmeets, both transmit
a copy ofm. The equation 5.1 is validated by experimental results. In table 5.2,
ERα values and the average number of encounters for a slot time of216s are pre-
sented forα matching each of the four considered mobility scenarios. Infig.5.5
number of diffusion performed in a time slot of 216s for both theP-BCASTP=1 and
P-BCASTP=0.5 approaches are shown. As we can see, toward the end ofm lifetime,
when (almost) all the nodes take part in the spreading ofm, P-BCASTP=1 exhibits a
number of generated copies that is twice the value reported in the third column of
table 5.2. Substituting in the equation 5.1 values referring to thepause=0sscenario
we obtain:
GRm(6h) ≃ 0.06×1×1×2
GRm(6h) ≃ 0.12
So, P-BCASTP=1 has aGRm = 0.12; the generation rate for a time slot of 216s is
54
0.12×216= 25.92, which is the result obtained in the simulations for pausetime
equal to 0. Similar results apply for all the other mobility environments.
P-BCASTP=0.5 displays a number of diffusions (almost) equal to the half ofP-
BCASTP=1, as expected, with the only exception of the result in the RWPpause=
3600s scenario: hereCov(6h) ≃ 0.6, so the expectedGRm is:
GRm(6h) ≃ 0.01×0.6×0.5×2
GRm(6h) ≃ 0.006
0.006×216 = 1.296
in line with the result plotted in 5.5.
5.1.2 Broadcasting in ONs: the goals
As we have seen in the previous section,P-BCASTP=1 under the terms presented
in claim 1, achieves optimal coverage. Anyway, the cost paidfor this optimality
is an high number of generated transmissions of messagem (GTm): also if the
transition from a time-driven epidemic round to an encounter-driven one greatly
lowers the number of performed diffusions, the number of forwards increases (at
least) linearly1 with the time.
In the optimal case, the number of generated transmissionGTm should be:
GT ≤ n, wheren is the number of nodes in the network. So, the optimal num-
ber of generated transmission per node (i.e.GTm/n) should be≤ 1. If we look to
the results obtained in the performed simulations (fig.5.3)we see thatP-BCASTP=1
has values ofGTm/n varying from∼ 50 to∼ 6, depending on the scenario pa-
rameters. Moreover, it is worth to notice that the algorithmstops just thanks tom
lifetime: otherwise additionalm copies are generated at a rate of∼ 200,∼ 100,
∼ 70,∼ 35 copies/hour for the 0s, 900s, 1800s and 3600s pause time scenarios.
1As we can see from eq.5.1, the generation rateGRm(t) depends on three factors:ER, which is
static in the considered mobility models;P which is fixed to 1;Cov(t). If Cov(t) is static in the[t1; t2]
interval (e.g. coverage is 100%),Cov(t1) =Cov(t2)→GRm(t1) = GRm(t2): the number of generated
packets will grow linearly in[t1; t2]. If Cov(t) changes its value (i.e., it raises) in the interval[t3; t4],
Cov(t3) < Cov(t4)→ GRm(t3) < GRm(t4) and so the message copies generation grows more than
linearly w.r.t the timet.
55
When a messagem is forwarded to an already infected node a useless dupli-
cated is received. So many duplicates are a symptom of low efficiency. The over-
head of useless forwardings and duplicates generation grows with the decrease of
the knowledge a node has about the state of the encounters. The primary focus of
the design of an epidemic is to control the forwarding policyaccording to the level
of knowledge a node has of the neighborhood. The more knowledge it has, the
lower the cost paid for duplicated messages. In [11], the authors have shown that,
under certain simplifying assumptions (i.e., nodes encounter just in couples and
system cardinalityn and inter-contact times are well known) an epidemic broad-
cast obtains a total broadcasts-per-message in the order ofO(n ln n). The aim
of this section is the design of a controlled PUSH-based broadcast that meets the
problem’s requirements that we can now more precisely defineas follows:
• broadcast effectiveness:the capability of the protocol to achieve delivery
delay and node coverage close toP-BCASTP=1;
• broadcast efficiency: the capability of the protocol to keep the generated
broadcasts-per-message as close as possible ton and≤ to O(n lnn). The
number of generated duplicates should be kept as low as possible too.
• broadcast scalability: the capability of the protocol to scale when the num-
ber of sources and of per-source messages grows up.
There is a large set of ON applications, including underwater, sensor or wear-
able devices, where node resources are highly constrained and protocols are forced
to keep low the amount of neighbors information maintained by a node. In the next
paragraph, we will focus on such a constrained scenario whose challenge is the
control of the epidemic forwarding by exploiting as less state information as possi-
ble. Intuitively, any zero-knowledge forwarding mechanism can easily address the
effectiveness and the scalability requirements, while theefficiency is the hardest
requirement to achieve.
56
5.1.3 Self-Adapting Broadcast Protocol: SA-BCAST
The arguments provided in the previous sections show that, under critical resource
constraints, aP-BCAST protocol can be improved by adding some autonomic capa-
bilities that extract an approximation of global state fromlocally observed data. To
this purpose, a node continues to observe situational data and attempts to answer
the following questions:
(1) when is it convenient to activate the algorithm run?
(2) what is the locally sensed event helping to tune the node’s diffusion proba-
bility P?
In theP-BCAST approach, a nodeN starts a new diffusion of a messagemwith
probability P whenever a node enters its radio range. When the node is moving
according to an AGG model throughoutaggregation points(APs), locations where
nodes meet according to some spatial or functional need, thebroadcast ofmwhen-
ever a new node enters anAP is likely to reduce efficiency much more than in a
RWP mobility model: only one copy is generated, but this timethe message is
heard by a high number of nodes competing for the shared channel. More for-
mally, if nAP1(t1) is the number of nodes in theAP1 at timet and a nodeN enters
AP1 and performs a diffusion at timet1, then the number of received duplicatesRD
becomes:RD(t1) = RD(t0)+nAP1(t1). So, a single transmission increasesRD of a
valuek = nAP1(t1).
The first improvement toP-BCAST is to letN start a new diffusion ofm when
at leastK% neighborhood changes have been observed with respect to the previous
diffusion. To this purpose, each node maintains a local viewof the neighborhood
changes by exploiting the underlying beaconing. To avoid broadcast storms, the
nodes in range adopt a random mechanism that desynchronizestransmissions and
suppresses duplicates: a nodeN before transmittingm waits for T seconds. If in
the meanwhile am duplicate is received, transmission is suppressed, otherwisem
is forwarded at the end ofT. N, and the nodes in range ofN, control the dupli-
cate generation and maximize the probability of infecting new nodes by adopting a
membership-driven infection. For this reason, we use the term MP-BCAST to indi-
cate this intermediate protocol that is supposed not to be influential when moving
57
in a sparse area and to positively affect performances when moving acrossAPs.
RD would be further reduced if, when moving throughout the area, a nodeN
would be able to tune the value ofP according to the delivery status ofm in the
area whereN is moving. When most nodes in the neighborhood have delivered m,
N should reduce the probabilityP of a new diffusion accordingly, and vice versa.
In the zero-knowledge system model we are considering, the node N is unable
to achieve this type of knowledge; however,N can derive the symptoms of the
delivery status from sensing the events generated by its encounters. The number
of received duplicates ofm is the first of these symptoms; it reveals that other
encounters have deliveredmand is helpful to decrease probability of transmission,
according to a given functionF and the local valuePN of P at nodeN. We will
show that this simple mechanism works properly to limit the number of duplicates
under high coverage conditions.
All the presented mechanisms have been included in the self-adaptive broad-
cast, orSA-BCAST, protocol.
Protocol Description
MP-BCAST involves areactivemechanism only, independent of the state of mes-
sage diffusion, which allows nodes to possibly skip some contact opportunities. To
record the encounters,N maintains a bitmapBMN. The bitmap is updated every
time N discovers a new neighbor through beaconing: node IDs are mapped into
bitmap entries through anhashfunction; the bit corresponding to a new neighbor
is changed. Since, by assumption, nodes do not know the system cardinality, the
size ofBMN could be different from the number of nodes. A smallBMN lowers
the risk of wasting memory with useless entries, but increases the collision chances
of IDs in the same position. However, as the mechanism is based on the ratio of
neighborhood change rather than on the neighbor identities, having a small bitmap
does not hamper the algorithm.
Whenever the messagem is sent, the currentBMN is recorded asbitmapN,m.
Upon every update ofBMN, the amount of changes to the neighborhood from the
last diffusion is evaluated, as the ratio of theHamming distance HDbetweenBMN
58
and thebitmapN,m, and the current number of neighborsNb. More formally:
neighborschangeratioN =HD(BMN,bitmapN,m)
NbN(5.2)
If the ratio is greater than a thresholdNth, then a new diffusion could be sched-
uled.Nth tunes the aggressiveness of the algorithm.
Besides of the reactive mechanism,SA-BCAST involves anadaptivemecha-
nism, which monitors the number of received duplicates to act on PN as discussed
before. The pseudo-code for theSA-BCAST approach is shown by Algorithm 5.
Each node starts executing thePassive Threadat the bootstrap. WhenN re-
ceivesm for the first time (lines 8-10), it becomes a relay formand starts the Active
Thread. It maintains a copy of the message together with the copy of the current
BMN. When duplicates are received (lines 4-6),N updates statistics used to adapt
the behavior of the Active Thread: the probabilityPN of starting new transmissions
is updated by means of the functionF , so that it varies in the range[MINP, MAXP].
Initially, the probability of performing a transmission isset to the maximum value
(line 16). When the neighborhood changes are relevant,N starts a new infection
with probabilityPN, while N skips it with probability(1−PN). In the former case,
N waits for a random time (lower than the beacon period); if no duplicate is re-
ceived in the meantime, thenN starts a new diffusion. Whether the diffusion is
performed or is suppressed,N updates thebitmapN associated to the message with
the currentBMN. This operation is performed also in case of duplicate suppres-
sion, because if the current neighbors of the node are already infected, the node
must wait for neighborhood changes before scheduling a new transmission.
Protocol scalability and termination
The described protocol uses very few bits, i.e. the bitmap, the received duplicates
counter and the probabilityP, to maintain per-message local information. Their
size does not affect scalability that, by contrast, can be affected by the need of
maintaining a copy of the messages up to their lifetime. In a multi-message sce-
nario, in fact, the longer is the message lifetime the higheris the likelihood of mes-
sage dropping at a node with limited memory resources. However, a message with
59
Algorithm 5 SA-BCAST pseudo-code1: Passive Thread:
2: while Truedo
3: whenmessage receiveddo
4: if duplicate messagethen
5: PN←F (PN);
6: discard message;
7: else
8: buffer message;
9: bitmapN← BMN;
10: start Active Thread;
11: end if
12: end do
13: end while
14:
15: Active Thread:
16: PN← MAXP;
17: while Truedo
18: whennew neighborn do
19: h← HASH(IDn);
20: BMN[h]←¬BMN[h];
21: HDN← Hamming distance(BMN, bitmapN);
22: changeN← (HDN/NbN)×100;
23: if changeN > Nth then
24: if flip(PN) then
25: if no duplicates in small random waitthen
26: broadcast message to neighbors;
27: end if
28: end if
29: bitmapN← BMN;
30: end if
31: end do
32: end while
60
high lifetime may have some effect on efficiency because the protocol is unable
to totally stop the infection when all nodes have been infected. In fact, a broad-
cast algorithm addressing to reach a coverage close to 100% in a zero knowledge
scenario can not enable the protocol termination earlier than the message lifetime:
Claim 2 If no information is available about the node mobility, cardinality and
state, then a diffusion procedure which aims to reach all available nodes cannot
terminate before the message lifetime expires.
The proof of this claim is not included, but it can be intuitively derived by
observing that the algorithm has to ensure a drip feed of message transmissions to
manage node joins and temporary partitions. Anyway, the claim has severe impact
on the efficiency as it requiresGRm(t) > 0 for anyt. So, efficiency continues to
lower till m lifetime elapses.
The above and the following (5.1.3) arguments motivate and highlight the
opportunity of performing the broadcast forwarding as the combination of two
phases: asprayphase, where a messagem1 is quickly pushed at any contact oppor-
tunity, and anon-demandphase, where the pull ofm1 is enabled by piggybacking
m1 summary on a messagem2 that followsm1. In thesprayphase diffusing mes-
sagem to all nodes is not mandatory.
The next Section provides some element to define ifSA-BCAST is eligible as a
spray phase algorithm and how parameters should be tuned to allow the algorithm
to beeffectiveandefficient.
Performance Evaluation
We implementedP-BCAST, MP-BCAST and SA-BCAST algorithms in the frame-
work of the GloMoSim 2.03 [50] simulation environment. The simulation setting
considers a system of 50, 75 and 100 nodes sparsely distributed over a 1000m×
1000m area. Nodes move according to a RWP model at a speed in[1,2] m/s with
pause times ranging from 0s to 3600s. Hosts are equipped with a low power 802.11
radio device with 10m communication range and DCF at the MAC layer. Beacon-
ing is performed every 1 sec.; after 3 missing beacons, the entry is removed from
the neighbor list. TheBM uses 32 bits.
61
The simulations run a value ofNth= 50 and two different functionsF :
F(1)→ PN = PN−0.1 F(2)→ PN =PN
2Every time a duplicate is received,PN will be either decremented of 0.1 or
halved in line with functionsF(1) andF(2), respectively.PN has a lower bound
defined byMINP that is varied between 0 and 0.1. We consider long lived broad-
casts, lasting up to 6 hours. All simulation results are averaged over 30 simulations
performed with variable random seed. Two kind of graphs are presented:global
anddiscrete. In the former global values (i.e., values obtained at the end of m life-
time) are shown, providing 95% confidence intervals. In the latter, the 6 hoursm
lifetime is discretized in 100 intervals of6×3600
100= 216s. Average results have
been computed on each time interval.
In the following, we use thenode coverage, as the index to evaluate theef-
fectiveness. To estimate theefficiency, besides requiringn < GT ≤ O(nlnn) (see
5.1.2), we aim to have anumber of received duplicates, RD, as low as possible. In
fact, efficiency is optimized bydups= 0 and is affected by the number of the en-
countered nodes and by the progress of the infection in the neighborhood: packets
are broadcast to the in range nodes, let us sayk; for any message sent, we count
GT = GT + 1 while the incrementi of RD (0≤ i ≤ k) depends upon the level of
infection among thek nodes.
P-BCAST vs MP-BCAST
We have observed in sec.5.1.3 that the membership-driven approach ofMP-BCAST
and the encounter-driven approach ofP-BCAST behave similarly when nodes move
within a single-encounter scenario. In this case, in fact, theNth threshold adopted
in MP-BCAST is exceeded at every encounter because of the low (1-2) number of
neighborsNb (which is at the denominator in eq.5.2). Anyway, the local dupli-
cate suppression mechanism adopted inMP-BCAST allows just one of the couple
of nodes that take part in a meeting to transmit, halvingGRand the increase rate
of RDwith respect toP-BCAST when full coverage is achieved. In order to be able
to analyze the improvement brought about by the membership-driven forwarding
only, we have added the duplicate suppression optimizationto P-BCAST, obtaining
62
0.0h
0.5h
1.0h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
P-BCASTds - P=0.5 MP-BCAST - P=0.5 P-BCASTds - P=1 MP-BCAST - P=1
Figure 5.6: Full coverage delay for a 50 nodes AGG scenario with 3APs.
P-BCASTds. The introduced optimization does not have impact on the effective-
ness (which remains optimal) but is able to improve the efficiency: for this rea-
son,P-BCASTds P=1 will be used as the benchmark strategy for the other proposed
strategies from now on.
Performances can be improved byNth when moving within an area where
many nodes meet, i.e., in aggregation points. Simulations have confirmed this
hypothesis, as it can be observed in figg.5.6, 5.7 and 5.8, that report the diffusion
delay and the number of received duplicates in this special aggregation scenario:
50 nodes move from oneAP to another with pause times varying among 0s, 900s,
1800s and 3600s. A total number of 3APs with equal weight (i.e., node attraction
force) are present, so the average number of expected nodes perAP is 50/3≃ 16.7.
All the considered strategies achieve full coverage, so thecorresponding plot is not
shown.
It is easy to observe thatMP-BCAST andP-BCASTds have similar latency be-
haviors whenP= 1 while MP-BCAST suffers higher delays whenP= 0.5 and high
pause times(fig. 5.6). This can be explained as a combined effect due to the chosen
values forNth andP: in order to allow a diffusion in anAP, a node waiting there
63
0
100
200
300
400
500
600
700
800
900
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
P-BCASTds - P=0.5 MP-BCAST - P=0.5 P-BCASTds - P=1 MP-BCAST - P=1
Figure 5.7: Number of received duplicate packets per node for a 50 nodes AGG
scenario with 3APs.
0
20
40
60
80
100
120
140
160
0h 2h 4h 6h
elapsed time
dupl
icat
es
P-BCASTds - P=1 - RWP pause 1800s P-BCASTds - P=1 - RWP pause 3600s MP-BCAST - P=1 - RWP pause 1800s MP-BCAST - P=1 - RWP pause 3600s
Figure 5.8: Discretized, non-cumulative number of duplicates over time for a 50
nodes AGG scenario with 3APs.
64
should wait fork new nodes to come in (k will be on average 8, because in eachAP
a total number of∼ 16 nodes is expected andNth= 50). When the 50% thresh-
old is exceeded, if the transmission is retained because ofP, thebitmap is saved
anyway (Algorithm 5, line 29). So, before performing another flip the nodeN has
to wait for otherk neighbors to change (Algorithm 5, line 24). Ifpause timeis
high, neighborhood change is more slow, delaying the next transmission chance of
N and eventually delaying the overall delivery time. Anyway,the increased delay
in MP-BCASTP=0.5 does not prevent it from reaching full coverage.
In fig.5.7,MP-BCAST exhibits a lowerRD value againstP-BCASTds in both the
P= 1 andP= 0.5 cases, as expected. The duplicate reduction is highest in theP=
0.5 and 3600spause time scenario, where theRDobtained byMP-BCAST is halved
with respect to theRD of P-BCAST. The former increases the efficiency because
it is able to optimize the infection rate by waiting for a relevant number of new
neighbors (50%) before forwarding. This shows thatMP-BCAST is able to capture
the membership changes in the neighborhood and to adapt accordingly by tuning
the forwarding rate. However, being unaware of the infection status,MP-BCAST is
unable of smoothing the duplicate generation rate with the growing of the infection:
as we can see in fig.5.8, the duplicates generation rate ofMP-BCAST is lower than
the one ofP-BCAST, but keeps constant with the time (around 60 duplicate packets
per time slot= 60/216s≃ 0.28 duplicates per second). The behavior we would
like to obtain is to decrease the packets and duplicates generation rate as time flows:
this is the capability we expect fromSA-BCAST.
P-BCAST vs SA-BCAST
We have compared theSA-BCAST protocol to P-BCASTdsP=1 adopting the two
functions proposed forF (i.e., F(1) andF(2)). When it is not specified,MINP
is set to 0. As the considered mobility model is RWP only, the results obtained by
MP-BCAST are equal to theP-BCASTdsP=1 ones, so these are not shown.
In fig.5.9 the average number of reached nodes by the end of thelifetime (6h)
is shown for 50 (fig.5.9(a)) and 100 nodes (fig.5.9(b)). As we can see, all the
strategies are able to reach the full coverage in the majority of the considered mo-
65
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0s 900s 1800s 3600s
pause time
infe
cted
nod
es
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2), MINP=0.1
(a)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0s 900s 1800s 3600s
pause time
infe
cted
nod
es
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2) minp=10
(b)
Figure 5.9: Achieved coverage in RWP model and variable pause times for (a) 50
and (b) 100 nodes.
66
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2), MINP=0.1
(a)
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2) minp=10
(b)
Figure 5.10: Full coverage delay in RWP for (a) 50 and (b) 100 nodes.
67
0
10
20
30
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2), MINP=0.1
(a)
0
10
20
30
40
50
60
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2) minp=10
(b)
Figure 5.11: Number of generated duplicates in RWP for (a) 50 and (b) 100 nodes.
68
bility environments. In the lower density (50 nodes) and higher pause time (3600s)
scenario,P-BCASTdsP=1 is not able to achieve all the nodes, stopping after reach-
ing 98.5% of them. In this case,SA-BCASTF (1) performs almost the same, while
SA-BCASTF (2) with both MINP = 0 and MINP = 0.1 performs slightly worse
(∼ 95%). The difference is negligible.
If we look to the full-delivery time (i.e., the time needed toreach the max-
imum achieved coverage) in fig.5.10, we can see that more aggressive policies
(P-BCASTdsP=1 andSA-BCASTF (1)) have lower delays than the more prudentSA-
BCASTF(2), as expected. In the same way, comparing the results obtained switch-
ing from MINP = 0 to MINP = 0.1 in SA-BCASTF (2), we expectedMINP = 0.1
to have≤ average delay thanMINP = 0: an higher lower bound forPN means a
more aggressive strategy. But this is not the result achieved: in some scenarios
MINP = 0 gets a slightly lower delay thanMINP = 0.1. Once for all, we can
consider the 50 nodes, 0s pause time scenario: here,MINP = 0 has a lower full
coverage delay thanMINP = 0.1 (fig.5.10(a)) also if it generates a lower amount
of duplicates (fig.5.11(a)) and has a lowerGT (fig.5.12(b)).
We explain this considering thatPN lowers each time a duplicate is received:
a MINP > 0 means that all nodes will continue to send messages till thesystem
reaches a steady state where each nodeN hasPN = MINP. If MINP = 0, i.e.
it is disabled, a great partα of nodes will get theirPN∈α lower and lower, till
it becomes equal to 0 while the other few ones will maintain their PN/∈α high,
promptly infecting encountered nodes.2
Looking at the coverage discrete graph for the pause time 0 scenario (fig.5.12(a))
we can see that the curves of all the strategies nearly overlap. The delay differences
comparing the average delivery times instead of the full-delivery ones become neg-
ligible. The GR growth over time is shown in fig.5.12(b): here it is clear that
P-BCAST has a constant generation rate whileSA-BCAST proves to be able to de-
crease the transmission rateGR. The quickest function in reducing the averageGR
2Each time an encounter takes place, the first transmitting node lowers the value ofP of the other
one. The node with the lowerP has lower chances to transmit: if it receives the transmission from
the other node it gets a more lowerP, till eventually it getsP = 0. Nodes with higher probability
have low chances to receive a duplicate and so maintains an high P.
69
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0h 2h 4h 6h
elapsed time
infe
cted
nod
es
P-BCASTds - P=1
SA-BCAST - F(1)
SA-BCAST - F(2)
SA-BCAST - F(2), MINP=0.1
(a)
0
200
400
600
800
1000
1200
1400
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
P-BCASTds - P=1 SA-BCAST - F(1) SA-BCAST - F(2) SA-BCAST - F(2), MINP=0.1
(b)
Figure 5.12:(a) Discretized coverage and(b) cumulative number of sent packets
over time in RWP with 50 nodes and pause time= 0.
70
is SA-BCASTF (2) with MINP= 0, as expected.
RDs per node are shown in fig.5.11 for both the 50 and the 100 nodesscenarios.
As expected, duplicates generation is proportional to the aggressiveness of the al-
gorithm. Lower pause times in the mobility model highlight the differences among
the protocols.
Havingeffectivenessnear the optimum (i.e.,P-BCASTdsP=1) and the lowestGR
and duplicates generation,SA-BCASTF (2) is the best strategy among the considered
ones for the RWP environment. In fig.5.13 the full coverage delay andGT per node
are shown for theSA-BCASTF (2) protocol in a 50, 75 and 100 nodes RWP scenarios
with 0s, 900s, 1800s and 3600s pause times. As we can see, delivery delay exhibit
an inverse proportionality with the node density and a direct one with the pause
time (fig.5.13(a)). In fig.5.13(b), theGT per node shows an inverse proportionality
with the pause time and a direct one with the node cardinality: this proportionality
has been compared with theefficiencyrequirements depicted in sec.5.1.2. As in
fig.5.13(b) the considered number of sent copies is normalized on the number of
nodes, to compare the total generated copiesGT with the boundO(nlnn) we have
to considerO(nlnnn ) = O(lnn): so in 5.13(b) α lnn is plotted, with different values
of α . As we can see, whenα = 2.3, all the values are underα lnn. Moreover,
the trend of the normalizedGT for the pause time= 0 scenario (trend (0s)) is very
close and (more or less) parallel to 2.3lnn. So, we can state thatSA-BCASTF (2) is
an effectiveandefficient zero knowledgestrategy for the RWP model that can be
adopted for thesprayphase of a multi-message broadcast algorithm.
In the next section, we will see the benefits of allowing nodesgathering knowl-
edge about previouslyinfectednodes and the achieved improvements when knowl-
edge exchange is allowed.
5.2 Full-Knowledge Epidemic Approaches
In this section, we will explore the value added by equippingnodes with some
resources to collect information about alreadyinfectednodes. When a node per-
forms a transmission, it records its own neighbors in a localhistory. A history
71
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
50 nodes
75 nodes
100 nodes
(a)
0
2
4
6
8
10
12
50 nodes 75 nodes 100 nodes
mes
sage
s se
nt p
er n
ode
0s 900s 1800s 3600s n 2 n ln(n) 2.3 n ln(n) trend (0s)
(b)
Figure 5.13:(a) Full coverage delay and(b) generated packets number per node
in RWP with variable node density and pause times for theSA-BCASTF (2) strategy.
72
mechanism has been recently proposed in some solutions in the literature either to
compute utility functions to control unicast forwarding [4, 5, 14], or as the log of in-
fection events to control broadcast forwarding [18]. Several aspects have yet to be
explored. There is the need of defining the amount of history anode should main-
tain and/or exchange, of evaluating the real performance advantages it guarantees,
of verifying its usefulness under mobility models other than the random waypoint
(RWP) [6], of designing mobility-independentstop conditionsand of exploring the
scalability issues the history involves. We will consider part of the above arguments
to provide hints for the design of a history-based epidemic broadcast in ONs.
5.2.1 History-Based Broadcast Protocol: HP-BCAST
Let us consider an ON ofn independent and mobile nodes that are supposed to be
sparsely distributed over a large area and to use a short radio range to communicate.
Throughout this section, we assume that each node knows the nodes cardinality,n.
Moreover, as we have seen, a node is aware of the subset of nodes, theneighbors,
in its radio range. In this scenario, we can easily obtain a basic history-based
epidemic broadcast, denoted asHP-BCAST, by adding a history ofinfectednodes
to P-BCAST:
HP-BCAST – whenever a nodeN forwards or receives the messagem, it adds to
a local data structure,historyN,m, the list of its current encounters orm’s sender
respectively. Initially,historyN,m only containsN itself. N broadcasts a message
m if its current neighborhood has nodes other than those held in historyN,m. It
skips forwarding otherwise.N terminates the epidemic algorithm whenhistoryN,m
containsn entries.
In the basicHP-BCAST (indicated asHP-BCAST0), each node maintains a local
history. The simple evolution of this algorithm is obtainedby enabling a node to
exchange its local history with the encountered nodes. Thispolicy accelerates the
node’s awareness about the epidemic diffusion and should provide a more effective
forwarding control. We denote this new algorithm asHP-BCAST100. It can be
obtained fromHP-BCAST0 by adding the following statement:
whenN forwardsm, it piggybacks (the100% of) its historyN,m on m. WhenN
73
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
P-BCASTds - P=1 SA-BCAST - F(2) HP-BCAST - S=0% HP-BCAST - S=100%
(a)
0
10
20
30
40
50
60
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
P-BCASTds - P=1 SA-BCAST - F(2) HP-BCAST - S=0% HP-BCAST - S=100%
(b)
Figure 5.14: (a) Full coverage delay and (b) received duplicates for 100 nodes in
the RWP model for different pause time values.
74
receivesm from C, it mergeshistoryN,m with historyC,m.
It is worth observing that the describedHP-BCAST100 algorithm is not as ag-
gressive as it could in its attempt of propagating the infection knowledge. In fact,
nodes could achieve a much quicker awareness about the evolution of the system
infection by piggybacking the history on top of the beacon messages. In the para-
graphHistory impact, we will consider all these issues and compare the above
algorithms to identify their contribution to achieve the control on forwarding. We
mainly focus on the protocol’s capability of maximizing node coverage(i.e. the
number of nodes that deliverm), while minimizing both latency, bandwidth and
energy consumption, in order to fulfill theeffectiveness, efficiencyandscalability
requirements introduced in sec.5.1.2.
In the paragraphStop Condition, we discuss the issue of obtaining astop con-
dition and compare different approaches. In the paragraphPolicies for Knowledge
Sharing, we consider different policies to exchange the history andprovide prelim-
inary scalability considerations.
Performance evaluation
The protocol evaluation is performed by using GloMoSim 2.03[50]. The simula-
tion setting considers a system of 100 nodes sparsely distributed over a 1000m×
1000m area. Nodes move at a speed in[1,2] m/s, thus reproducing a pedestrian
environment. They are equipped with a low power 802.11 radiodevice with 10m
communication range and DCF at the MAC layer. Beaconing is performed every
1s. We consider long lived broadcasts, with simulations lasting up to 6 hours. Re-
sults are averaged over 30 simulations performed with variable random seed. We
performed simulations under RWP mobility conditions with variable pause times.
Two kind of graphs are presented:global anddiscrete. In the former global
values (i.e., values obtained at the end ofm lifetime) are shown, providing 95%
confidence intervals. In the latter, the 6 hoursm lifetime is discretized in 100
intervals of 216s. Average results have been computed on each time interval.
75
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0h 2h 4h 6h
elapsed time
infe
cted
nod
es
P-BCASTds - P=1
SA-BCAST - F(2)
HP-BCAST - S=0%
HP-BCAST - S=100%
(a)
0
1000
2000
3000
4000
5000
6000
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
P-BCASTds - P=1 SA-BCAST - F(2) HP-BCAST - S=0% HP-BCAST - S=100%
desired coverage achieved
(b)
Figure 5.15: (a) Coverage and (b) cumulative number of sent packets over time for
100 nodes in the RWP model with pause time equal to 0s.
76
History impact We have compared the considered algorithms withSA-BCASTF (2)
andP-BCASTds,P=1 in the described scenario. All the strategies reach the fullcov-
erage by the end ofm lifetime. In fig.5.14, we report the delay required to achieve
full coverage and the cost paid in terms of duplicate messages normalized on the
node numbern (i.e., RD/n) for different pause times in the RWP model.Effec-
tivenessand coverage delay are the same for all the strategies, with the exception
of SA-BCASTF (2), which exhibits an higher delay in reaching all the nodes. So,
HP-BCAST0 and HP-BCAST100 are optimal in both coverage and delivery delay.
Efficiencyinstead is better in theSA-BCASTF (2) approach. Other strategies show
a number of duplicates inversely proportional to the acquired knowledge, as ex-
pected.
The coverage slope over time for the RWP pause time= 0s scenario (5.15(a))
also shows how quickly an algorithm approximates the full coverage and, as a con-
sequence, the latency. It is clear that the use of history provides a twofold advan-
tage: on one hand, it does not affect coverage and latency and, on the other hand, it
provides an effective mechanism to control the forwarding (see fig.5.15(b)). This
is obtained by simply providing a node with some approximation of the global sys-
tem state and, of course, the higher is the global state awareness (HP-BCAST100),
the lower the amount of redundant messages.
The positive effects of the history use grow along the algorithm run. In fact, in
HP-BCAST100 the number of duplicates each node generates in the second hour is
around 4; in the third hour it drops to 2. History comes into play when the desired
coverage (i.e., near 100%) is almost reached. From this point on, the history helps
nodes to control forwarding and, of course, the larger the knowledge, the more
effective the control. However, the node’s knowledge does not grow as quickly as
the nodes infection and this influences the efficiency of the forwarding control. In
HP-BCAST0, the history slowly grows at the rate of contacts and eventually tends
to a full history condition if the contact opportunity is equally distributed between
each pair of nodes (i.e. in a RWP).HP-BCAST100 has a quicker learning process
because nodes are allowed to exchange their local system view when a message is
broadcast.
77
It is worth noticing thatSA-BCASTF (2) has no information about the state of
its encounters but is able to achieve a better forwarding control thanHP-BCAST100
(fig.5.15(b)). So, the history alone is not sufficient to ensure a satisfactory effi-
ciency.
The above arguments lead to the following considerations. Whenever it is not
possible to adopt a policy that ensures the algorithm termination after the full cov-
erage has been reached (see, next Section), the history becomes an efficient and
effective solution to control forwarding after full coverage has been achieved. By
contrast, when a termination condition is achievable then the history has a marginal
role and a simple local history mechanism can be adopted.
Policies for Knowledge Sharing Since ONs must exploit contact opportunities
– which could also be sporadic – in order to forward messages,the bandwidth op-
timization is a fundamental goal. To this purpose, a trade-off should be defined
between the amount of history exchanged and the bandwidth saved in suppressing
useless diffusions. We studied three policies to extract entries from the local his-
tory to be piggybacked onto the message: the node maintains its history ordered so
as to record from the most to the least recent encounters. Entries can be extracted
(i) in randomorder, (ii ) most recent first, or (iii ) least recent first. The first policy
is used as benchmark. The second policy aims at notifying an encounter about the
infection status of nodes in the surroundings. The third policy aims at notifying
an encounter about the infection status of nodes in a region it could be directed to.
In fig.5.17(a), the three policies are compared for different percentageof history
shared. All policies show the same behavior: by indicating with 100% the improve-
ment – in terms of generated duplicates – achieved withHP-BCAST100, all policies
obtain an improvement around 80−85% with the exchange of just 20− 25% of
the history. Moreover, for a small portion of history shared, the best behavior is
achieved with themost recent firstpolicy.
In fact, by comparing the amount of knowledge about the system, and by in-
dicating with 100% the full history condition, the knowledge growth – by sharing
20% of the history (HP-BCAST20) – well approximates the behavior achievable with
78
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
SA-BCAST - F(2) HP-BCAST - S=0% - t=12 HP-BCAST - S=100% - t=12 HP-BCAST - S=100%
(a)
0
2
4
6
8
10
12
14
16
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
SA-BCAST - F(2) HP-BCAST - S=0% - t=12 HP-BCAST - S=100% - t=12 HP-BCAST - S=100%
(b)
Figure 5.16: (a) Full coverage delay and (b) received duplicates for 100 nodes in
the RWP model for different pause time values.
79
(a)
(b)
Figure 5.17: (a) Comparison among sharing policies and (b) cumulative knowledge
about the coverage status (τ = inf).
80
Figure 5.18: Cumulative number of duplicates
the full sharing (fig.5.17(b)); this effect is obviously reproduced by the number of
generated duplicates (fig.5.18).
Stop Condition The previous arguments motivate the need of identifying a con-
dition that enables the nodes to stop the algorithm run. Thiscondition can be either
derived from the observation of the neighborhood or by exploiting the underlying
mobility model. An implicit stop condition is associated tofull history condition:
this is the only stop condition that ensures halting after full coverage is achieved.
Unfortunately, even under the favorable condition of well-known node cardinality
and of equally distributed contact opportunities, the fullhistory condition is even-
tually achieved too late with respect to the time the full coverage condition actually
occurs. Our simulations show that the full coverage condition for the RWP pause
time= 0sscenario is achieved after 1 hour of simulated time (fig.5.14(a)). At this
time, each node on average knows the 15% of the infected nodeswith HP-BCAST0
and the 65% withHP-BCAST100 (fig.5.17(b)). Moreover, withHP-BCAST0 only 2
packets/hour overall are sent after 24 hours, and all nodes stop within 47 hours.
With HP-BCAST100, only 1 packet/hour is sent after 24 hours, and all nodes stop
within 41 hours. The elapsed time between the real and the approximated event
has impact on the efficiency of any broadcast protocol in ON because it represents
81
a large time interval in which nodes keep on forwarding few but useless messages.
This means that the full history condition is not a representative condition of the
global system state and a different stop condition must be searched that ensures an
earlier algorithm termination.
The approach proposed in [11] moves in this direction. Underthe condition of
a well known cardinality and RWP, the authors derive that each node can stop the
forwarding when a copy count ofτ = 2⌈ln n+ γ⌉ broadcasts is reached, withγ the
Euler-Mascheroni’s number. This approach has been enhanced in [10], by adding
a history either locally maintained by nodes or completely shared. Let us indicate
with HP-BCASTτα this approach, withα = 0 in the former case andα = 100 in the
latter. The resulting algorithm becomes:
HP-BCASTτα – when a nodeN encounters a nodeC, it increments a local copy
countcc; if C is already in its history,N skips forwarding. Ifcc> τ forwarding is
stopped
As in our simulation conditions node cardinality is equal to100, τ for the HP-
BCASTτα is set to 12, while the algorithms studied so far correspond to τ = ∞. Both
HP-BCAST120 andHP-BCAST12
100 achieve full coverage, obtaining a very similar la-
tency than in the caseτ = ∞ (fig.5.16(a)), fulfilling the effectivenessrequirement.
SA-BCASTF (2) reaches full coverage too but suffers higher delays with allthe con-
sidered RWP pause times.
Thanks to the bound on the number of diffusions, theHP-BCASTτ approach
satisfies efficiency requirements in RWP and is thus much moreeffective than
HP-BCAST∞ in limiting useless traffic (fig.5.16(b)). It is worth to notice that the
number ofRD generated byHP-BCASTτ is kept constant as pause times increase:
it employs all its available copies as soon as possible, and no more traffic is gen-
erated afterward. By contrast,SA-BCAST slows itsGRm more quickly but, being
unable to stop, keeps forwarding for a longer time (see fig.5.19(b)), resulting in
a higher coverage delay (fig.5.19(a)) and a higher number of generated packets
when theERof the considered mobility scenario increases (see fig.5.16(b)).3
3As m lifetime is fixed, the encounter rateER is higher with lower pause times. In the case
of pause time 3600s, SA-BCAST performs better thanHP-BCASTτ because it skips some contacts
opportunities due toPN and is not able to exhaust its remaining diffusion opportunities beforem
82
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0h 2h 4h 6h
elapsed time
infe
cted
nod
es
SA-BCAST - F(2)
HP-BCAST - S=0% - t=12
HP-BCAST - S=100% - t=12
HP-BCAST - S=100%
(a)
0
250
500
750
1000
1250
1500
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
SA-BCAST - F(2) HP-BCAST - S=0% - t=12 HP-BCAST - S=100% - t=12 HP-BCAST - S=100%
desired coverage achieved
(b)
Figure 5.19: (a) Coverage and (b) cumulative number of sent packets over time for
100 nodes in the RWP model with pause time equal to 0s.
83
The above arguments lead to conclude that, under the favorable condition of
well-known cardinality, a copy count bound can be profitablyadopted to stop the
forwarding. This choice ensures to achieve good performances with the RWP mo-
bility model only (see chapter 6). In this case, the combineduse of history slightly
influences the performance and may be optimized with the use of history sharing
mechanisms, as described in the paragraphPolicies for Knowledge Sharing. When
nodes are unaware of the system node cardinality, the above mechanisms fail and
the real challenge becomes the design of an autonomic mechanism that helps nodes
to control forwarding by learning the system state through the neighborhood obser-
vation. This can be achieved taking advantage of both theHP-BCAST knowledge
gathering mechanism and theSA-BCAST adaptability, as we will see in the next
section.
5.2.2 Full-Knowledge Broadcast Protocol: FK-BCAST
In the previous section, we have seen that the adoption of history adds a relevant
gain to the efficiency of the considered strategies. Anyway,history does not al-
low diffusion to stop promptly after full coverage has been reached: the adoption
of a stop condition able to terminate the algorithm run before reaching full his-
tory condition is advised.HP-BCASTτ successfully stops the diffusion at the right
time but, unfortunately, it works only when a nodeN has an uniformly distributed
probability to encounter any other nodeC in the network (i.e., the RWP model).
Moreover,HP-BCASTτ requires knowledge about node cardinality to properly set
τ . We are looking for a node cardinality and (possibly) mobility independent stop
condition, able to stop diffusion quickly, when (almost) full coverage is achieved.
To this purpose, we would like to provideHP-BCAST with the self-adaptiveness
of SA-BCAST: we want to stop on the base of nodes infection status knowledge,
acquired both from history and performed diffusions.
In SA-BCAST nodes decrease their transmission probability on the base of the
number of received duplicates. Anyway, this mechanism doesnot allow to com-
pletely stop the diffusion: whenn−1 nodes have ceased forwarding, the last ac-
lifetime ends.
84
tive nodeN is not able to get any more duplicate and so it cannot decreasePN
and eventually stop. This issue can be solved allowingfeedbacksfrom uninfected
nodes receivingm. The number of negative feedbacks received (i.e., the number
of duplicates the transmission ofmhas generated) can then be exploited to control
forwarding (instead of the number of the received duplicates). So, when a nodeN,
havingk neighbors in radio range, transmitsm and receivesf positive feedbacks,
it countsk− f duplicates. This active mechanism works also if only one infected
node is left and so allows to stop all the nodes. Anyway, we would like to have
a stop condition independent of the mobility pattern.: we need a different met-
ric to understand if a broadcast is usefull or not. We proposethe adoption of the
unsuccessfulbroadcasts metric to control forwarding: we consider a broadcastsuc-
cessfulif it reaches at least one uninfected neighbor, i.e.,forwarding is successful if
at leastone(positive) feedback is received, otherwise the broadcast is considered
unsuccessful.
When many, let us saycub,4 unsuccessful broadcasts are sequentially per-
formed by a nodeN, thencubuseless transmissions are consecutively performed.
The greater thecub, the greater the probability that full coverage has alreadybeen
achieved. So, we propose this novel stop condition mechanism: N stops aftercub
consecutiveunsuccessfulbroadcasts have been performed. We call this strategyfull
knowledge broadcast(FK-BCAST), because it takes advantage from both local his-
tory and explicit feedbacks from the nodes to approximate system knowledge and
control forwarding. FK-BCASTβ can be built on the top ofHP-BCAST by adding
the following statement:
FK-BCASTβ –each time a nodeN performs anunsuccessfulbroadcast it increments
a local countercubN; when a performed broadcast issuccessful, cubN is reset to0.
Whencub= β , forwarding is stopped and the algorithm run ends.
We can easily provide a lower bound for theβ value, depending on the desired stop
probability SPN at a certain coverageCov for a nodeN, under the assumption of
equal encounters probability:
let Cov be the achieved coverage of a messagem. The probabilityPi that an
4consecutiveunsuccessfulbroadcasts
85
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.70
0.80
0.90
1.00
0%
10%
20
%
30%
40
%
50%
60
%
70%
80
%
90%
100%
Coverage
Sto
p P
roba
bilit
y
. 1
2
3
4
5
Figure 5.20:FK-BCASTβ stop probability for different values ofβ .
infected nodeN encounters an already infected nodeC is: Pi = Cov. If Covkeeps
constant for the timeN experiencesk encounters, the probability that all of them
are already infected nodes is the combined probability
Pi×Pi× . . . for k times→ Pki
So, the probabilityPSN thatN stops afterβ broadcasts is:
PSN ≤ Pβi = Covβ
As N restrains from forwarding when encountered nodes are in itshistory, the
probability of performing anunsuccessfulbroadcast is≤ Pi. So, Pβi is a lower
boundfor PSN.
In fig.5.20,PSN over coverage is shown for different values ofβ . As we can
see, the higher theβ values, the more probable that nodes stop at higher coverage
values. Anyway, ifn is the system cardinality,n×β is a lower bound toRD, 5 and
so a low value forβ should be chosen to preserveefficiency. A trade off is needed.
Values higher than 4 bring a slight enhancement inPS(fig.5.20) but bring also an
5As each node should receive at leastβ (consecutive) negative feedback to stop, it generates at
leastβ duplicates. This holds whenβ << n, otherwise nodes can implicitly stop before exhausting
their budgetβ due to the history.
86
increment ofn to RD. A value ofβ = 1 seems too conservative, because of a too
high probability to stop the infection before high coverageis achieved. For this
reason, we consider 2, 3 and 4 as candidate values forβ .
Performance evaluation
The protocol evaluation is performed by using the GloMoSim 2.03 [50] simula-
tion environment. The simulation setting considers a system of 100 nodes sparsely
distributed over a 1000m×1000m area. Nodes move at a speed in[1,2] m/s, thus
reproducing a pedestrian environment. They are equipped with a low power 802.11
radio device with 10m communication range and DCF at the MAC layer. Beacon-
ing is performed every 1s. We consider long lived broadcasts, with simulations last-
ing up to 6 hours. Results are averaged over 30 simulations performed with vari-
able random seed. We performed simulations under RWP mobility conditions with
variable pause times.FK-BCASTβ algorithm has been compared toHP-BCASTτ ,
with β values equal to 2, 3 and 4. All the strategies have been enabled to exchange
full history.
Two kinds of graphs are presented:global anddiscrete. In the former, global
values (i.e., values obtained at the end ofm lifetime) are shown, providing 95%
confidence intervals. In the latter, the 6 hoursm lifetime is discretized in 100
intervals of 216s. Average results have been computed on each time interval.
Achieved Results All FK-BCAST variants andHP-BCAST successfully reached
the full coverage, with the exception ofFK-BCAST2, which achieved about 99%
of the nodes in all the RWP scenarios. The time needed to achieve maximum
coverage is similar in all the considered strategies, but some small differences are
present in all the considered scenarios (fig.5.21(a)). FK-BCAST2 performs slightly
worse than all the others, especially in the 3600s pause time scenario, in which it
gains an increased delay of about 25 minutes.FK-BCAST3 gets half of the increased
delay ofFK-BCAST2, while FK-BCAST4 behaves nearly as well asHP-BCAST12.
From anefficiencypoint of view, all theFK-BCAST variants perform better
than HP-BCAST (fig.5.21(b)). In more detail,FK-BCASTβ achieves a number of
87
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=2 FK-BCAST - S=100% - B=3 FK-BCAST - S=100% - B=4
(a)
0
1
2
3
4
5
0s 900s 1800s 3600s
pause time
dupl
icat
es p
er n
ode
HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=2 FK-BCAST - S=100% - B=3 FK-BCAST - S=100% - B=4
(b)
Figure 5.21: (a) Full coverage delay and (b) received duplicates per node in 100
nodes RWP scenarios with different pause times.
88
duplicates per node slightly greater than the lower bound wehave provided in
5.2.2, i.e.β duplicates per node.
In fig.5.22(b), the sent packets over time for the RWP pause time= 0 scenario
are shown. All the four strategies stop forwarding after thedesired coverage (i.e., a
coverage near 100%) has been reached. The number of generated packets is max-
imum in HP-BCAST12. In FK-BCASTβ , the total number of generated packets is
aroundn× (β + 1) = 100+ 100×β as expected: as the achieved coverage is (al-
most) 100% and the RWP model in such a low node density scenario allows nodes
to meet just in pairs,n successfulbroadcasts should have been performed. Yet,
the number of generated duplicates is≈ n×β . So, the total number of generated
packetsGT is
GT = n+n×β (5.3)
(n = 100)→GT = 100+100×β (5.4)
FK-BCASTβ is able to fulfill effectiveness, reaching full coverage (forβ equal
to 3 and 4) and a full delivery delay near the optimal. It exhibits also highefficiency,
having a packet generation rate ofO(n) in the considered RWP scenarios. It is the
most promising strategy among the considered ones because it has been designed
to be independent from both the node cardinality and the adopted mobility model.
In the next chapter, we will see if it has been able to maintainthese promises.
5.3 Conclusions
In this chapter, we have shown that the encounter-based epidemic approaches out-
perform time-based ones. Then, we have analyzed the improvements brought
about by different levels of knowledge, proposing several broadcasting strategies
for ONs. We have shown that under the RWP mobility model it is possible to
achieve (almost) optimaleffectivenesswith all the available level of knowledge.
The number of generated packets instead (i.e.,efficiency) can be kept≈ O(nlnn)
when zero-knowledge approaches are employed (SA-BCAST) and≈ O(n) switch-
ing to full-knowledgeones (FK-BCAST).
89
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0h 2h 4h 6h
elapsed time
infe
cted
nod
es
HP-BCAST - S=100% - t=12
FK-BCAST - S=100% - B=2
FK-BCAST - S=100% - B=3
FK-BCAST - S=100% - B=4
(a)
0
200
400
600
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=2 FK-BCAST - S=100% - B=3 FK-BCAST - S=100% - B=4
desired coverage achieved
(b)
Figure 5.22: (a) Coverage and (b) cumulative number of sent packets over time for
100 nodes in the RWP model with pause time equal to 0s.
90
In the next chapter, we will analyze the behavior of such heuristics in differ-
ent mobile scenarios, to understand if achieved results in both effectivenessand
efficiencyare robust to different mobility patterns.
91
Chapter 6
Epidemic Approaches and
Mobility Models
Whatever is the approach followed to achieve efficiency, theperformances of the
algorithms are greatly influenced by the mobility patterns that nodes follow [6],
and a mechanism properly working when nodes move according to the random
waypoint model may be totally useless when they move according to a different
mobility model. The comparative analysis of the effects of mobility on ON pro-
tocols deserves more attention and, as far as we know, has never been applied to
broadcast.
In the previous chapters we have evaluated and compared manybroadcast
strategies in the RWP model, where the pause timep has been varied among 0s,
900s, 1800s and 3600s. In this chapter, we want to analyze the behavior of the
protocols that have been able to fulfilleffectivenessand efficiencyrequirements
(defined in 5.1.2) in RWP, in order to understand if they are robust to different mo-
bility patterns. In more detail, we consider two more mobility models: the aggre-
gation mobility model (AGG), described in section 2.1.3, and the swarm mobility
model (SWR), presented in section 2.1.5. Finally, we test the considered broadcast
protocols in a more realistic mobility scenario, obtained from the two level social
mobility model (2-LSM) described in 2.2.3.
92
6.1 The Random Waypoint Model
In this section we summarize the results achieved in the previous chapters. We
compare one broadcast strategy for each one of the knowledgelevels we have in-
troduced, keepingHP-BCAST as the benchmark protocol. In fact, it achieves opti-
mal effectivenessand has an upper bound on the number of messages that can be
sent: when a nodeN transmits a messagem, N records all the current neighbors in
its history. The transmission ofm is allowed only when at least one of the nodes in
radio range is not present in the history. So, if the node cardinality is n, each node
can at most performn transmissions. The total number of generated copiesGT is
≤ n2. This bound holds for all the strategies adopting a local history.
In fig.6.1, we compare the results achieved in the previous chapters byHP-
BCAST (a node performs diffusion each time it encounters a host notpresent in its
history), SA-BCASTF (2) (diffusion is performed with a probabilityP that is halved
each time a duplicate message is received),HP-BCASTτ (asHP-BCAST but afterτ
encounters a node stops the spreading task) andFK-BCAST3 (a node stopsmdiffu-
sion when it generates 3 consecutive useless broadcasts). The protocol evaluation
has been performed using the GloMoSim 2.03 simulation framework [50]. The
simulation setting considers a system of 100 nodes (τ = 12) sparsely distributed
over a 1000m×1000m area. Nodes move at a speed in[1,2] m/s, thus reproduc-
ing a pedestrian environment. They are equipped with a low power 802.11 radio
device with 10m communication range and DCF at the MAC layer. Beaconing is
performed every 1s. One messagem is generated by a source nodeS at time 0s.
We consider long lived broadcasts, with simulations lasting up to 6 hours. Re-
sults are averaged over 30 simulations performed with variable random seed. 95%
confidence intervals are provided. Simulations have been performed under RWP
mobility conditions with variable pause times.
All the protocols have reached (almost) full coverage in allthe four mobility
scenarios. All butSA-BCASTF (2) exhibit a latency near the benchmark, so fulfilling
optimaleffectiveness(fig.6.1(a)). Moreover, the more the knowledge, the better the
efficiency, i.e., the lower the number of generated copiesGT (fig.6.1(b)).
We have summarized the characteristics of the proposed algorithms and the
93
0h
1h
2h
3h
4h
5h
6h
0s 900s 1800s 3600s
pause time
max
cov
erag
e de
lay
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
(a)
0
5
10
15
0s 900s 1800s 3600s
pause time
mes
sage
s se
nt p
er n
ode
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
(b)
Figure 6.1: (a) Delay to achieve full coverage and (b) number of sent packets per
node for 100 nodes in the RWP scenario with 0s, 900s, 1800s and 3600s pause
times.
94
Table 6.1: Algorithms characteristics and performance in the RWP model
history cardinality feedback effectiveness efficiency
HP-BCAST X optimal ≤ n2
SA-BCASTF (2) yes O(nlnn)
HP-BCASTτ X X optimal ≤ nlnn
FK-BCAST3 X X optimal O(n)
results they have obtained in the RWP model in table 6.1.
In the next sections we analyze the behavior of the above protocols with differ-
ent mobility patterns.
6.2 The Aggregation Model
The aggregation model (AGG) has been introduced in the comparison to evaluate
the behavior of the considered protocols when entering and moving in crowded
places (section 2.1.3).
The protocol evaluation has been performed using the GloMoSim 2.03 sim-
ulation framework [50]. The simulation setting considers asystem of 100 nodes
(τ = 12) sparsely distributed over a 1000m×1000m area. Nodes move at a speed
in [1,2] m/s, thus reproducing a pedestrian environment. They are equipped with
a low power 802.11 radio device with 10m communication range and DCF at the
MAC layer. Beaconing is performed every 1s. One messagem is generated by
a source nodeS at time 0s. We consider long lived broadcasts, with simulations
lasting up to 6 hours. Results are averaged over 30 simulations performed with
variable random seed. Simulations have been performed under AGG mobility con-
ditions with pause times of 0s and 900s and a number of aggregation points (APs)
equal to 3 and 10. The distribution probability associated to theAPs (PAGG) is uni-
form, so nodes have the same probability to select one of the availableAPs as the
next destination.σAGG is set to 0 in order to ensure that all nodes entering in the
sameAPare in radio range.
Two kinds of graphs are presented:global anddiscrete. In the former, global
95
values (i.e., values obtained at the end ofm lifetime) are shown, providing 95%
confidence intervals. In the latter, the 6 hoursm lifetime is discretized in 100
intervals of 216s. Average results have been computed on each time interval.
In fig.6.2(a), the coverage achieved at the end ofm lifetime is shown. HP-
BCASTτ is not able to reach full coverage in theAPs = 3 scenarios: theτ dimen-
sioning has been provided for a scenario where nodes encounter in pairs and with
uniform probability only, so it does not work in an AGG one. Inparticular, we
can see that it actually works for theAPs = 10 scenario. This can be explained
by considering that when the number ofAPs increases towards∞, the AGG model
performs as the RWP one. In fact, in RWP each node moves choosing one random
point in all the considered area, i.e., choosing one point inthe set of all the avail-
able points. In AGG, the choice of the point to move into is done selecting oneAP
from theAPset.
So, we can state thatHP-BCASTτ performs well in AGG if the number ofAPs
is high (and so the model resembles the RWP behavior) but is not able to fulfill
effectivenesswhen theAPs number is low.
All the other protocols are able to achieve (almost) full coverage with optimal
delay forFK-BCAST3 and a slightly higher delay forSA-BCASTF (2).
Comparing figg.6.1(a) and 6.2(b) we can see that with the same node density
settings, coverage is quicker in AGG with respect to RWP. In particular, the higher
the number ofAPs, the more AGG behaves similarly to RWP: so coverage speeds
up as the number ofAPs lowers.
In fig.6.3, the number of sent packets per node is shown.HP-BCASTτ and
FK-BCAST3 generate nearly the same number of packets in the four scenarios as
in RWP (fig.6.1(b)). HP-BCAST and SA-BCASTF (2) perform more transmissions
as the pause time and theAP number lower. HP-BCAST generates more copies
than SA-BCASTF (2), especially in the 3APs, 0s pause time scenario. Anyway,
SA-BCASTF (2) is unable to stop and for higherm lifetimes it would have probably
exceededHP-BCAST transmissions (see fig.6.4).
96
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0s 900s 0s 900s
pause time
infe
cted
nod
es
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 APs 3 APs
(a)
0.0h
0.5h
1.0h
0s 900s 0s 900s
pause time
max
cov
erag
e de
lay
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 APs 3 APs
(b)
Figure 6.2: (a) Achieved coverage and (b) average delay required to reach maxi-
mum coverage for 100 nodes in the AGG scenario with 3 and 10APs and 0s and
900s pause times.
97
0
5
10
15
20
25
0s 900s 0s 900s
pause time
mes
sage
s se
nt p
er n
ode
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 APs
3 APs
Figure 6.3: Number of sent packets normalized on the node number for 100 nodes
in the AGG scenario with 3 and 10APs and 0s and 900s pause times.
0
500
1000
1500
2000
2500
0h 2h 4h 6h
elapsed time
sent
mes
sage
s
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
Figure 6.4: Cumulative number of sent packets over time for 100 nodes in the AGG
model with 3APs and pause time equal to 0s.
98
6.3 The Swarm Model
The swarm mobility model (SWR, section 2.1.5) organizes nodes in clusters that
move as individual entities following a RWP model. Inside each cluster, nodes
can move freely but maintain a distance≤ dSWR from the logical center of the
cluster. This movement pattern allows us to test the behavior of the considered
broadcast protocols when nodes move grouped together and have encounters with
many other nodes at a time. This is the only considered mobility model that does
not allow nodes to encounter in pairs.1
The protocol evaluation is performed using the GloMoSim 2.03 simulation
framework [50]. The simulation setting considers a system of 100 nodes (τ = 12)
sparsely distributed over a 1000m×1000m area. Nodes move at a speed in[1,2]
m/s, thus reproducing a pedestrian environment. They are equipped with a low
power 802.11 radio device with 10m communication range and DCF at the MAC
layer. Beaconing is performed every 1s. One messagem is generated by a source
nodeSat time 0s. We consider long lived broadcasts, with simulations lasting up to
6 hours. Results are averaged over 30 simulations performedwith variable random
seed. 95% confidence intervals are provided.
Simulations have been performed under SWR mobility conditions. Values of
µSWRequal to 10 and 20 has been adopted, withσSWRequal to 0: so there are 10
groups made up of 10 nodes whenµSWR= 10 (10 nodes per group, 10n/G) and 5
groups made up of 20 nodes whenµSWR= 20 (20 nodes per group, 20n/G). Nodes
move inside their group with a maximum distance from the group center of 4m
to ensure that all nodes belonging to the same group are in radio range. In order
to better understand the impact of the group size, we have setthe change group
probabilityMSWRto 0, so disabling this feature.
In fig.6.5(a), the achieved coverage is shown. The 10n/G, 0s pause time sce-
nario is the only one in whichm lifetime is sufficient to allow reaching all the
nodes: the benchmark strategyHP-BCAST is not able to reach full coverage in 3
over 4 scenarios. Contact opportunities lower as the numberof the groups low-
1In the AGG model nodes encounter in pairs during thejourneyfrom oneAP to another as they
travel (alone) following the same straight paths availablebetween each pair ofAPs.
99
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0s 900s 0s 900s
pause time
infe
cted
nod
es
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 n/G 20 n/G
(a)
0h
1h
2h
3h
4h
5h
6h
0s 900s 0s 900s
pause time
max
cov
erag
e de
lay
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 n/G 20 n/G
(b)
Figure 6.5: (a) Achieved coverage and (b) average delay required to reach maxi-
mum coverage for 100 nodes in the SWR scenario with 10 and 20 nodes per group
(n/G) and 0sand 900s pause times.
100
ers (andn/G increases). This is due to the fact that each group moves as a single
individual: the lower the number of groups, the lower the density of the mobile
entities over the area. So, for the same mobility settings, the lower the number of
groups, the lower the encounter rateERof the entities, making harder reaching full
coverage.
FK-BCAST3 behaves optimally in these scenarios, achieving the same cover-
age and delay ofHP-BCAST (fig.6.5). This is due to the mechanics of theFK-
BCAST3 stop condition: the stop is enabled only if 3 transmissions to already in-
fected groups are performed consecutively. As the history prevents transmissions
and the maximum number of considered groups (and so individual entities) is 10,
the probability that the stop condition is achieved is very low and the transmissions
stop solely thanks to the history, as inHP-BCAST.
Of course this reflects on the number of generate packets per node also: see
fig.6.6, whereFK-BCAST3 andHP-BCAST behave in the same manner, generating
at maximum one packet per node. InHP-BCASTτ , the copy counter each node owns
is decremented every time an encounter takes place, independently whether trans-
mission is performed or not. In the SWR, when a meeting between two groups hap-
pens, each node registers many encounters in a very short time, so the copy counter
decreases quickly. So,HP-BCASTτ is not able to maintain active its diffusion task
till all nodes (groups) have been encountered. It exhaustτ in a while, achieving its
maximum coverage very quickly (fig.6.5(b)) but being unable to achieve coverage
near the optimum, especially for highern/G values (fig.6.5(a)).
SA-BCASTF (2) suffers low coverage (fig.6.5(a)) due to its decreasing strategy
for the probability of transmissionP: PN is halved each time a nodeN receives
a duplicate messagem. As nodes move in clusters, when one transmits, all the
other nodes in the same cluster count a duplicate (halving their PN) also if the
transmission was successful (i.e., another cluster has been infected). So,PN lowers
too fast. Anyway,SA-BCASTF (2) behaves well from anefficiencypoint of view,
being able to suppress duplicate transmissions and wait fora 50% neighborhood
change before transmitting (i.e., a nodeN delays its transmission till almost all the
encountered group has merged with the one ofN), so reaching many nodes of the
101
0.0
0.2
0.4
0.6
0.8
1.0
1.2
0s 900s 0s 900s
pause time
mes
sage
s se
nt p
er n
ode
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
10 n/G 20 n/G
Figure 6.6: Number of sent packets normalized on the node number for 100 nodes
in the SWR scenario with 10 and 20 nodes per group (n/G) and 0sand 900s pause
times.
encountered group with just one transmission (fig.6.6).
From the above considerations, we can state that history is the optimal mech-
anism that should be exploited toeffectivelyandefficientlybroadcast in ON when
SWR-like mobility is present.
6.4 The Two Level Social Mobility Model
In this section we have evaluated the considered broadcast protocols adopting the
2-LSM mobility model (2.2.3). In this model, nodes move toward weightedAPs
(i.e., for eachAPi nodes have a distinct probabilityP(i) to selectAPi as the next
destination) and nodes can belong to two different population types: thenomadic
population and thesteadyone. In the nomadic population, each nodeN moves
adopting its own probability distribution to move toward the availableAPs. In
the steady population, nodes are grouped into communities:nodes in the same
community share the sameAP weights (the same probabilities to choose available
102
APs as destinations).
In 2-LSM, nodes move in aggregation points with different probability distri-
butions: so, we expect 2-LSM to model a realistic aggregation-like scenario.
The protocol evaluation has been performed using the GloMoSim 2.03 sim-
ulation framework [50]. The simulation setting considers asystem of 50 nodes
(τ = 10) distributed over a 1000m×1000m area. Nodes move at a speed in[1,2]
m/s, thus reproducing a pedestrian environment. They are equipped with a low
power 802.11 radio device with 10m communication range and DCF at the MAC
layer. Beaconing is performed every 1s. One messagem is generated by a source
nodeSat time 0s. Mobility follows the 2-LSM model, adopting values forρ (the
ratio nomadicnodestotal nodes ) in the set 0.2, 0.5 and 0.8 and varying the number ofsteadynodes
communitiesc between 5 and 10. 5APs are considered.αN andαS (the coefficients
needed to compute theAPweights for thenomadicand thesteadynodes) has been
tuned according to the results obtained by the experiment depicted in section 2.3.1
(more details of the tuning process can be found in [17]). An accurate description
of all the 2-LSM parameters can be found in section 2.2.3.
We consider long lived broadcasts, with simulations lasting up to 6 hours. Re-
sults are averaged over 30 simulations performed with variable 2-LSM parameters.
95% confidence intervals are provided.
As we can see in fig.6.7, all the strategies achieve high coverage (more than
90% on average) and comparable delay. In more detail, we can see thatFK-BCAST3
obtains optimal coverage and nearly optimal delay (about 12minutes higher than
theHP-BCAST delay), whileHP-BCASTτ andSA-BCASTF (2) miss few contacts and
require more time (about 30 minutes more than the optimal) toreach their maxi-
mum coverage.Efficiencyis almost the same in all the strategies: about 2 packets
per node are sent in the 6 hour message lifetime. The low number of sent pack-
ets reveals that the node encounter rateER is low, and so there are few chances
to perform transmissions. This is confirmed by the high delayneeded to reach
high coverage (about 5 hours), comparable to the SWR scenarios where the pause
time is set to 900s (6.5(b)). In all these three mobility scenarios, full coverage has
not been achieved: a 6 hours message lifetime seems to be too small. Moreover,
103
max coverage delay
0h
1h
2h
3h
4h
5h
6h
messages sent per node
0
1
2
3
infected nodes
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
HP-BCAST - S=100% SA-BCAST - F(2) HP-BCAST - S=100% - t=12 FK-BCAST - S=100% - B=3
Figure 6.7: Performances achieved in the 2-LSM mobility model for 50 nodes.
the number of transmissions generated by theFK-BCAST3 approach is nearly the
same ofHP-BCAST, revealing that theFK-BCAST3 stop condition does not come
into play. So, when the message lifetime andERare low a simple history based
epidemic algorithm performs optimally the broadcast task.When message lifetime
and / orERhave higher values, strategies more robust to environment variability
should be adopted, asFK-BCAST3, which hasefficiently reached nearly optimal
effectivenessin all the mobility models considered in this chapter.
104
Chapter 7
Summary and Outlook
In this thesis, we have introduced a new emerging wireless network scenario, where
providing node connectivity could be very challenging: theopportunistic network
(ON) environment. In chapter 1, we have shown that several unicast solutions have
been proposed for ONs, while the one-to-all communication paradigm (i.e., the
broadcasting) has not received the same attention, despitethe fact that several ap-
plications and even some unicast routing algorithms dependon this communication
paradigm to accomplish their tasks.
ON protocols rely on node storage and mobility to deliver messages to desti-
nation nodes: so, in chapter 2 we have analyzed mobility models able to describe
the node movements and contacts. We have also presented thePMTRtestbed that
we have adopted to perform some experiments in our university campus, in order
to capture and analyze contact statistics from real user mobility.
In chapter 3, we have introduced the issues related to broadcasting in ONs.
Traditional protocols for wired networks are not able to allow the one-to-all diffu-
sion of messages in an ON. Epidemic approaches instead are able to deal with this
problem; in chapter 4, we have adapted a time-driven epidemic diffusion approach,
well known in the literature as a replication of data in distributed database systems
strategy, to the broadcasting problem in the opportunisticenvironment: diffusion
is accomplished successfully, but the number of generated copies is too high.
In chapter 5, we have proposed different families of encounter-driven broad-
105
cast approaches, classified on the basis of the allowed per message knowledge: they
range from the need of a very low amount of state information (zero-knowledge)
to the collection and exchange of logs and feedbacks about diffusion status (full-
knowledge). We have then identified the best algorithms for each knowledge fam-
ily. They areSA-BCAST, which requires just a local state about the current prob-
ability of diffusion and a bitmap to summarize the in radio range nodes that were
present during the last diffusion;HP-BCAST, which collects and exchange a history
of the already infected nodes;HP-BCASTτ that behaves as the previous but in addi-
tion requires the knowledge about the total number of nodes in the network in order
to dimension theτ parameter (an upper bound to the performed diffusions);FK-
BCASTβ that, beside the collection and exchange of the history of the encounters,
requires feedbacks from the nodes that receive a transmission.
When introducing the history of infected nodes, we have assumed that the num-
bern of nodes in the system was known and the memory required to record a his-
tory of sizen was available to each node. In case of unknown or varying member-
ship, nodes have the problem of appropriately dimensioningthe history. Currently,
we are studying the trade-off between the maintenance of a partial history (appli-
cable e.g. when nodes do not know the system cardinality) andthe performance
improvement achieved in comparison withP-BCAST. Moreover, we are studying
different policies to determine what encounters to remember in the history, and
we are also evaluating the possibility of finding some heuristics to implement a
stop condition given a partial history. Benefits of history exchange have also been
analyzed in chapter 5.
Finally, in chapter 6 we have stressed the above algorithms adopting some of
the mobility models introduced in chapter 2.
The major contribution of this work is the proposal of a set ofnovel ON broad-
cast algorithms able to achieve high coverage when diffusing a messagem, while
constraining the network resources needed to complete the task. We have seen that
the only broadcast algorithm able to accomplish theeffectivenessand efficiency
requirements (introduced in chapter 5) in all the considered mobility models is
FK-BCASTβ , where theβ parameter is set equal to 3. Anyway, we have also
106
shown that other strategies, such asSA-BCAST, can be successfully employed in
scenarios where nodes mobility follows an AGG- or a RWP-likeschemes, trading
a lower amount of available knowledge with a little higher delivery delay and a
higher number of performed diffusions. So, the selection ofthe algorithm for a
specific scenario should be done accordingly to the level of knowledge available to
the nodes, the resources (e.g., storage and energy) they areprovided with and the
characteristics of the considered environment (i.e., the nodes mobility pattern).
When considering a scenario where many messages should be concurrently
diffused we envision a broadcast algorithm composed by two parts: aPUSH one,
that can be accomplished adopting one of the strategies presented in this thesis,
and aPULL one, in which onlysummariesof the available messages are diffused:
a node missing a messagemcan retrieve it performing a query to a node that owns
m. ThePULL phase of this multi-message broadcast protocol for ONs is currently
an ongoing work.
107
Bibliography
[1] M. Akdere, C. Bilgin, O. Gerdaneri, I. Korpeoglu, O. Ulusoy, and
U. Cetintemel. A comparison of epidemic algorithms in wireless sensor net-
works. Elsevier Computer Communications, 2006.
[2] A. Bachir and A. Benslimane. A multicast protocol in ad hoc networks inter-
vehicle geocast.The 57th IEEE Semiannual Vehicular Technology Confer-
ence, vol.4, pp.2456-2460, Apr 2003.
[3] T. Berners-Lee, R. Fielding, and L. Masinter. Uniform resource identifier
(uri): Generic syntax, 2005.
[4] C. Boldrini, M. Conti, J. Jacopini, and A. Passarella. Hibop: a history based
routing protocol for opportunistic networks.World of Wireless, Mobile and
Multimedia Networks, pp.1-12, June 2007.
[5] B. Burns, O. Brock, and B. Levine. Mv routing and capacitybuilding in
disruption tolerant networks.Proceedings of IEEE INFOCOM 2005, vol.1,
pp.398-408, Mar 2005.
[6] T. Camp, J. Boleng, and V. Davies. A survey of mobility models for ad hoc
network research.Wireless Communications & Mobile Computing (WCMC):
Special issue on Mobile Ad Hoc Networking: Research, Trendsand Applica-
tions, vol.2, pp.483-502, 2002.
[7] V. Cerf, S. Burleigh, A. Hooke, L. Torgerson, R. Durst, K.Scott, K. Fall, and
H. Weiss. Delay-tolerant networking architecture, 2007.
108
[8] A. Chaintreau, P. Hui, J. Crowcroft, C. Diot, R. Gass, andJ. Scott. Impact of
human mobility on opportunistic forwarding algorithms.IEEE Transactions
on Mobile Computing, vol.6, pp.606-620, June 2007.
[9] T. Clausen and P. Jacquet. Optimized link state routing protocol (olsr). 2003.
[10] D. Cooper, P. Ezhilchelvan, I. Mitrani, and E. Vollset.Optimization of en-
counter gossip propagation in mobile ad-hoc networks.13th IEEE Interna-
tional Symposium on Modeling, Analysis, and Simulation of Computer and
Telecommunication Systems, pp.529-532, Sept 2005.
[11] D. E. Cooper, P. Ezhilchelvan, and I. Mitrani. High coverage broadcasting
for mobile ad-hoc networks. InThe Third IFIPTC6 Networking Conference,
pages 100 – 111. Springer, 2004.
[12] C. de Waal and M. Gerharz. Bonnmotion: A mobility scenario generation
and analysis tool, 2003.
[13] A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Stur-
gis, D. Swinehart, and D. Terry. Epidemic algorithms for replicated database
maintenance. InProceedings of the sixth annual ACM Symposium on Princi-
ples of distributed computing, pages 1 – 12, New York, NY, USA, 1987.
[14] H. Dubois-Ferriere, M. Grossglauser, and M. Vetterli.Age matters: efficient
route discovery in mobile ad hoc networks using encounter ages. InProceed-
ings of the 4th ACM international symposium on Mobile ad hoc networking
& computing, pages 257 – 266, New York, NY, USA, 2003.
[15] K. Fall. A delay-tolerant network architecture for challenged internets. In
Proceedings of the 2003 conference on Applications, technologies, architec-
tures, and protocols for computer communications, pages 27 – 34, New York,
NY, USA, 2003. ACM.
[16] S. Gaito, G. Grossi, and F. Pedersini. A two-level social mobility model for
trace generation. InProceedings of the 9th ACM international symposium on
109
Mobile ad hoc networking and computing, pages 457 – 458, New York, NY,
USA, 2008. ACM.
[17] S. Gaito, G. Grossi, F. Pedersini, and G. P. Rossi. Experimental validation of
a 2-level social mobility model in opportunistic networks.In Proceeding of
the 1th IFIP Wireless Day Conference. IFIP, 2008.
[18] G. Gamberini, F. Giudici, E. Pagani, and G.P.Rossi. Impact of history on
epidemic broadcast in dtns. InProceedings of the 1th IFIP Wireless Days
Conference. IFIP, 2008.
[19] F. Giudici and E. Pagani. Spatial and traffic-aware routing (star) for vehicu-
lar systems.High Performance Computing and Communications, pp.77-86,
2005.
[20] F. Giudici, E. Pagani, and G. P. Rossi. Epidemic diffusion of data in oppor-
tunistic networks. Technical report, Information and Communication Depart-
ment, Universita degli Studi di Milano, 2007.
[21] G. Grimmet, editor.Percolation. Springer-Verlag, 1989.
[22] Z. J. Haas, J. Y. Halpern, and L. Li. Gossip-based ad hoc routing. IEEE/ACM
Transaction, vol.14, pp.479-491, 2006.
[23] W. R. Heinzelman, J. Kulik, and H. Balakrishnan. Adaptive protocols for
information dissemination in wireless sensor networks. InProceedings of the
5th annual ACM/IEEE international conference on Mobile computing and
networking, pages 174 – 185, New York, NY, USA, 1999. ACM.
[24] X. Hong, M. Gerla, G. Pei, and C.-C. Chiang. A group mobility model for ad
hoc wireless networks. InProceedings of the 2nd ACM international work-
shop on Modeling, analysis and simulation of wireless and mobile systems,
pages 53 – 60, New York, NY, USA, 1999. ACM.
[25] P. Hui, A. Chaintreau, J. Scott, R. Gass, J. Crowcroft, and C. Diot. Pocket
switched networks and human mobility in conference environments. InPro-
110
ceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerantnetwork-
ing, pages 244 – 251, New York, NY, USA, 2005. ACM.
[26] IETF. Delay tolerant network research group (dtnrg).
[27] M. Jelasity, A. Montresor, and O. Babaoglu. Gossip-based aggregation in
large dynamic networks.ACM Transaction on Computer Systems, vol.23,
no.3, pp.219-252, 2005.
[28] W. jen Hsu, K. Merchant, H. wei Shu, C. hsin Hsu, and A. Helmy. Weighted
waypoint mobility model and its impact on ad hoc networks.SIGMOBILE
Mobile Computing and Communications Review, vol.9, no.1, pp.59-63, 2005.
[29] E. B.-R. K.A. Harras, K.C. Almeroth. Delay Tolerant Mobile Networks
(DTMNs): Controlled Flooding in Sparse Mobile Networks, volume pp.1180-
1192. January 2005.
[30] A. Khelil, C. Becker, J. Tian, and K. Rothermel. An epidemic model for in-
formation diffusion in manets. InProceedings of the 5th ACM international
workshop on Modeling analysis and simulation of wireless and mobile sys-
tems, pages 54 – 60, New York, NY, USA, 2002. ACM.
[31] D. Kotz and T. Henderson. Crawdad: A community resourcefor archiving
wireless data at dartmouth.IEEE Pervasive Computing, vol.4, no.4, pp.12-14,
2005.
[32] U. Lee, B. Zhou, M. Gerla, E. Magistretti, P. Bellavista, and A. Corradi.
Mobeyes: smart mobs for urban monitoring with a vehicular sensor network.
IEEE Wireless Communications, vol.13, no.5, pp.52-57, Oct 2006.
[33] V. Lenders, G. Karlsson, and M. May. Wireless ad hoc podcasting. 4th
Annual IEEE Communications Society Conference on Sensor, Mesh and Ad
Hoc Communications and Networks, pp.273-283, June 2007.
[34] A. Lindgren, A. Doria, and O. Schelen. Probabilistic routing in intermittently
connected networks.SIGMOBILE Mobile Computing and Communications
Review, vol.7, no.3, pp.19-20, 2003.
111
[35] M. Mauve, A. Widmer, and H. Hartenstein. A survey on position-based rout-
ing in mobile ad hoc networks.IEEE Network, vol.15, no.6, pp.30-39, Nov-
Dec 2001.
[36] W. Navidi and T. Camp. Stationary distributions for therandom waypoint
mobility model.IEEE Transactions on Mobile Computing, vol.3, no.1, pp.99-
108, Jan-Feb 2004.
[37] E. Nordstrm, H. Lundgren, D. Lundberg, C. Tschudin, andP. Gunningberg.
Ape: Ad hoc protocol evaluation testbed.
[38] A. Pentland, R. Fletcher, and A. Hasson. Daknet: rethinking connectivity in
developing nations.Computer, vol.37, no.1,pp.78-83, Jan 2004.
[39] C. Perkins, E. Belding-Royer, and S. Das. Ad hoc on-demand distance vector
(aodv) routing. 2003.
[40] D. Raychaudhuri, I. Seskar, M. Ott, S. Ganu, K. Ramachandran, H. Kremo,
R. Siracusa, H. Liu, and M. Singh. Overview of the orbit radiogrid testbed
for evaluation of next-generation wireless network protocols. IEEE Wireless
Communications and Networking Conference, 2005, vol.3, pp.1664-1669,
Mar 2005.
[41] K. Scott and S. Burleigh. Bundle protocol specification, 2007.
[42] T. Spyropoulos, K. Psounis, and C. S. Raghavendra. Spray and wait: an
efficient routing scheme for intermittently connected mobile networks. In
Proceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerant net-
working, pages 252 – 259, New York, NY, USA, 2005. ACM.
[43] J. Su, A. Chin, A. Popivanova, A. Goel, and E. de Lara. User mobility for
opportunistic ad-hoc networking. InProceedings of the Sixth IEEE Workshop
on Mobile Computing Systems and Applications, pages 41 – 50, Washington,
DC, USA, 2004. IEEE Computer Society.
[44] A. Vahdat and D. Becker. Epidemic routing for partially-connected ad hoc
networks. Technical report, 2000.
112
[45] C. Walsh, A. Doci, and T. Camp. A call to arms: it’s time for real mobil-
ity models. SIGMOBILE Mobile Computing and Communications Review,
vol.12, no.1, pp.34-36, 2008.
[46] Y. Wang, S. Jain, M. Martonosi, and K. Fall. Erasure-coding based routing
for opportunistic networks. InProceedings of the 2005 ACM SIGCOMM
workshop on Delay-tolerant networking, pages 229 – 236, New York, NY,
USA, 2005. ACM.
[47] F. Warthman. Delay-tolerant networks (dtns), a tutorial, v1.1, 2003.
[48] Wifi alliance. http://www.wi-fi.org.
[49] B. Williams and T. Camp. Comparison of broadcasting techniques for mobile
ad hoc networks. InProceedings of the 3rd ACM international symposium on
Mobile ad hoc networking & computing, pages 194 – 205, New York, NY,
USA, 2002. ACM.
[50] X. Zeng, R. Bagrodia, and M. Gerla. Glomosim: a library for parallel simula-
tion of large-scale wireless networks. InProceedings of the twelfth workshop
on Parallel and distributed simulation, pages 154 – 161, Washington, DC,
USA, 1998. IEEE Computer Society.
[51] W. Zhao, M. Ammar, and E. Zegura. A message ferrying approach for data
delivery in sparse mobile ad hoc networks. InProceedings of the 5th ACM
international symposium on Mobile ad hoc networking and computing, pages
187 – 198, New York, NY, USA, 2004. ACM.
113