CONCURRENT GEOMETRIC

A dissertation submitted to Kent State University in partial fulfillment of the requirements for the degree of Doctor of Philosophy

by

Jordan Matthew Adamek

June 2017 Dissertation written by

Jordan Matthew Adamek

B.S., Kent State University, 2013

M.A., Kent State University, 2015

Ph.D., Kent State University, 2017

Approved by

, Chair, Doctoral Dissertation Committee Dr. Mikhail Nesterenko

, Members, Doctoral Dissertation Committee Dr. Gokarna Sharma

Dr. Hassan Peyravi

Dr. Volodymyr Andriyevskyy

Dr. Andrew Tonge

Accepted by

, Chair, Department of Computer Science Dr. Javed Khan , Dean, College of Arts and Sciences Dr. James Blank TABLE OF CONTENTS

LIST OF FIGURES ...... v

Acknowledgements ...... vii

Dedication ...... viii

1 Introduction ...... 1

1.1 Motivation ...... 1

1.2 Literature Review ...... 8

1.3 Notation and Definitions ...... 18

2 Geocasting ...... 22

2.1 Algorithm Descriptions ...... 22

2.2 Correctness Proofs ...... 27

2.3 Abstract Simulation ...... 31

2.4 Concrete Simulation ...... 35

2.5 Efficiency Bounds ...... 37

3 Multicasting ...... 45

3.1 MCFR, Algorithm Description ...... 46

3.2 Correctness Proof and Efficiency Bounds ...... 49

3.3 Abstract Simulation ...... 54

iii 3.4 Concrete Simulation ...... 57

3.5 Conclusion ...... 62

4 Multisource broadcast ...... 63

4.1 Simulation ...... 65

4.2 Conclusion ...... 65

5 Conclusions ...... 67

BIBLIOGRAPHY ...... 68

iv LIST OF FIGURES

1 Face traversal in GFG...... 3

2 Example operation of face routing...... 4

3 Example graph for 2E message cost in SPG...... 16

4 Examples of inner edges as entry edges in BM...... 17

5 SF pseudocode...... 23

6 SPG pseudocode...... 24

7 Example computation of SPG...... 26

8 Abstract Simulation: Message cost normalized to geocast region size...... 33

9 Abstract Simulation: Arrival latency normalized to optimal path (path stretch). . . . 34

10 Concrete simulation: Comparing SPG with stateful flooding (FLOOD) and GFG

plus flooding in the geocast area (GFG+SF)...... 42

11 Concrete simulation: Comparing SPG delivery at different signal strengths . . . . . 43

12 Concrete simulation: Comparing SPG performance at different signal strengths . . 44

13 Estimating the number of devices in the geocast region...... 44

14 MCFR pseudocode...... 46

15 MCFR operation example...... 48

16 Covering the source-target Steiner hull with unit circles. Illustration for the proof

of Theorem 8...... 48

17 Abstract Simulation: Message cost normalized to number of destinations...... 55

18 Abstract Simulation: Arrival latency normalized to optimal path (path stretch). . . . 56

v 19 Time to live evaluation for MCFR, Steiner Tree, 15 dBm...... 59

20 Delivery ratio...... 59

21 Latency...... 60

22 Message cost...... 61

23 Concrete simulation: performance of flooding under changing signal strength. . . . 64

vi Acknowledgements

This dissertation is the product of years of hard work by several key individuals. Dr. Mikhail

Nesterenko oversaw and guided all research and simulation efforts, and contributed the major por- tion of all original algorithm designs. James Robinson implemented the following modules for concrete geocast and simulations in WorldSENS: geocasting and multicasting applica- tion modules, SPG (both versions) and MCFR routing modules, supplementary code to compute minimum Euclidean spanning tree, breadth-first search, connected dominating set, Dijkstra’s al- gorithm and Gabriel graph. James Robinson also researched and implemented the best simulation configuration to achieve a realistic communication model. Dr. Gokarna Sharma provided excellent algorithmic counsel, especially in regards to message loss considerations. Dr. Sebastien´ Tixeuil provided advice and criticism throughout the geocasting and multicasting research efforts. Most notably, Dr. Tixeuil suggested the use of WorldSENS to accomplish our concrete simulation goals, and provided the necessary materials to obtain and research the simulator.

vii I dedicate this work to my family and my advisor, all of whom have unfailingly supported me

through many trying years of personal and academic growth.

viii CHAPTER 1

Introduction

1.1 Motivation

Wireless devices have become ubiquitous. They are shown to be of great practical value for such applications as environmental observation [61,82], natural disaster warning [13,25], and even vehicular traffic monitoring services [16, 88, 89]. Such applications may demand a great number of often unattended inexpensive devices frequently deployed in volatile and even hostile environ- ments. Such devices may be unable to rely on a central infrastructure for message routing due to scale and frequency of topological change, and must rely on an ad hoc approach to communi- cation. Furthermore, these devices may be locally powered by a limited source such as a small battery. Hence, the problem of scalable, reliable and efficient ad hoc networking for resource poor devices comes to the fore.

Early ad hoc routing algorithms are typically routing-table based [34, 41, 70]. These routing tables have to be maintained at the devices. Source-routing algorithms [41] require the message to carry its entire route. Routing tables allow efficient message navigation. Source routing is robust as it eliminates a large number of problems such as counting-to-infinity [58, 70]. However, maintenance of such routing tables for a large-scale network may be resource intensive. This problem is exacerbated if the network topology changes frequently as it does in wireless sensor networks or vehicular networks. In source-routing, the size of the message increases with the size of the network. This may not scale well either. 1 2

In this dissertation, we are exploring routing solutions that do not require routing tables or unlimited-size messages.

Flooding. One of the simplest routing-table-free and constant-message-size routing algorithms is controlled flooding, where each device retransmits the message to all its neighbors. Flooding potentially involves all communication devices of the network and, therefore, does not scale well.

However, if the flooding area is limited, it becomes a useful strategy. Classic flooding is stateful as each device needs to store information about the transmission to prevent message resends. Main- taining state of a message transmission consumes resources and does not scale well. In a stateless algorithm, an intermediate device does not retain message transmission information after it for- wards the message. This feature has good scalability and fault-tolerance properties, but it prohibits such useful stateful routing techniques as backpressure [65] routing or exploring the network in a depth-first manner.

In this dissertation, we study stateless routing; in particular, stateless flooding.

Geometric routing. Another attractive stateless solution is geometric routing. Geometric routing is navigating a message from the sender to the destination on the basis of the geometric locations of the devices in the communication network. These locations may be physical coordinates obtained, for example, from GPS, or virtual coordinates computed by the devices [39, 44, 46, 48, 64]. For example, the simplest form of geometric routing is greedy routing. In greedy routing [26], each intermediate device forwards the message to its neighbor that is the closest to the destination. Ge- ometric routing is stateless, it has constant-message size and it does not require routing tables. The only routing information required for each device is the coordinates of its immediate neighbors. 3

Figure 1: Face traversal in GFG.

Face routing. Pure greedy routing fails if the device encounters a local minimum: a device that does not have neighbors closer to the destination than itself. A geometric routing algorithm, such as the classic GFG [8, 22], routes the message in greedy mode until a local minimum is encountered.

The algorithm then switches to recovery mode which usually involves traversing faces of a planar subgraph of the original communication graph. See Figure 1 for an example message navigation in GFG. In a finite planar graph, the number of faces is limited. This number is further reduced by restricting the message to faces which cross a source-destination segment of the line. A face

may be traversed using right-hand- or left-hand-rule. Which results in counter- and clockwise face

traversal direction. Each node may determine the message traversal direction locally. When a

recovery mode message traverses an edge which intersects the source-destination line, it switches

faces. The messages continues routing in recovery mode until it gets closer to the destination than

the last encountered local minimum. The message then switches back to greedy mode and the

process repeats. This traversal, therefore, guarantees delivery to the destination.

Sequential and concurrent routing. Typical greedy and face routing algorithms are sequential. 4

Figure 2: Example operation of face routing.

In a sequential algorithm, a single message is sent from source to the destination. A sequential

solution yields a low message cost, but may discover suboptimal paths and is highly susceptible to

message loss. Alternatively, concurrent routing solutions such as flooding use multiple messages to

traverse faces, and may thus trade a higher message cost for quicker delivery and higher robustness.

Refer to Figure 1.1 for illustration of the operation of the unicasting concurrent face routing

algorithm CFR [18]. The source s needs to send a message to destination d. The source s initiates

the traversal of the face that intersects the sd-segment in two opposite directions at once. Specifi-

cally, s sends left-hand-rule message 1 and right-hand-rule message 2.A juncture has at least one

edge that intersects the sd-segment of the line. Note that the source s is a juncture as well: it lies

on the sd-segment. If a message reaches a juncture, the juncture forwards the message but also

initiates concurrent traversal of all other adjacent faces that intersect the sd-segment. For example,

once 2 reaches device i, it forwards 2 to f and sends a left-hand-rule message 3 to f as well as right-hand-rule message 4 to j. Two messages are mates if they traverse the same face in opposite directions. If they meet at one device, they are destroyed. Thus, when receiving a message, each device checks its send queue for the mate of the message. If the mate is found, both messages are 5 eliminated. For example, messages 1 and 2 are eliminated by node b which completes the traver- sal of face F . We assume that the message transmission and receipt is atomic so mates do not miss each other. In fact, every juncture receives exactly one message in one face and then sends messages to all other adjacent faces intersecting sd-line. The unicasting concurrent face routing algorithm ensures the traversal of all faces that intersect the sd-segment [18].

Critical region. Geometric routing is shown to be sensitive to network density [49]. If the net- work is sparse, then, when the source and destination are connected at all, they are likely to be so close that simple greedy routing is sufficient. If the network is dense, then the presence of local minimum is unlikely and, again, greedy routing is sufficient. Critical region [51] is the range of densities where strategies other than greedy routing are likely to make an impact and determine the efficiency of a geometric routing algorithm. In this range of densities, the route selected by a geometric routing algorithm may significantly deviate from the optimal. Depending on the par- ticular algorithm and the routing task, the critical region is between 3 and 7 devices per single device communication area. Often wireless algorithms studies use networks which are either too sparse or too dense to accurately capture critical region behavior. In this dissertation, we focus our simulations on this critical region.

Unicasting, multicasting, geocasting, broadcasting. Different tasks may be solved by ad hoc routing. The most basic task is unicasting: single source, single destination. A more complicated task is multicasting, where there is a single source and multiple destinations. While this problem is solvable by unicasting to each destination, this is an inefficient solution as there is a high prob- ability of path overlap. In geocasting, destinations are defined by a geometric area and the exact 6 set of destinations is unknown [44, 64]. The problem is complicated if the destinations are not connected to each other strictly within the geocast area. The issue of path overlap is especially dire in multisource broadcast, where multiple sources attempt to route to all devices in the network simultaneously. In this dissertation, we study concurrent solutions to these tasks.

Abstract and concrete simulation. Wireless sensor networks are notoriously difficult to experi- ment with. Certainly, the ultimate test is deployment in the field. However, such deployment has a number of disadvantages that deny it the role of a primary experimentation method. A major problem with field deployment is that the results are often inconclusive. The limited bandwidth and storage capacity of sensor nodes do not allow researchers to easily reconstruct the state of the network. Sensor nodes in the field lack monitoring or debugging facilities that researchers in other areas of computer science take for granted: there are no displays, no easily accessible tracing or recording tools. Moreover, the sensor network is essentially a large-scale distributed system with sensing, computation and communication proceeding concurrently throughout the network.

Thus, obtaining a correct picture of the system operation is difficult. The debugging process is painstakingly slow and time-consuming. Furthermore, field deployments are usually short-term as the experimental sensor nodes do not withstand adverse weather conditions and, if continuously used, quickly deplete their batteries.

A network simulation allows the researcher greater flexibility in wireless sensor network ex- perimentation. In abstract simulation, message transmission is executed as an atomic step while physical details of radio communication are not considered. This simulation focuses on the per- formance of the algorithm itself. Alternatively, in concrete simulation, many details of mes- sage transmission are modeled: physical and link level operation, radio interference, message 7 loss, etc. Concrete simulation usually requires a specialized wireless network simulator. There are a number of generic wireless network simulators [11, 63, 66, 90]. With increased interest in sensor networking, a number of specialized sensor network simulators have become avail- able [31, 32, 54, 67, 71, 73, 76, 78, 80, 81, 85, 86].

A substantial problem for concrete sensor network simulation is the difficulty of adequately modeling the low-power radios used by the sensor nodes for communication. They have intri- cate radio propagation and interference patterns that are difficult to accurately represent [30, 91].

The complex computation involved may be especially time-consuming and have low scalability.

Choosing a simulator often comes down to a choice between high accuracy and scalability. Re- cently, a new scalable simulator WorldSENS that provides high-fidelity simulation is presented in the literature [14, 27]. We use WorldSENS for concrete simulation of our algorithms.

Both simulation approaches, abstract and concrete, have merits as abstract simulation focuses on the properties of algorithm itself while concrete simulation studies the impact of the engineering details needed to implement it. Arguably, one of the most popular geometric routing algorithms

GPSR [43] is a concrete implementation of GFG [8]. In this dissertation, we use both abstract and concrete simulation to evaluate all solutions and tasks of interest.

Our contribution. In this dissertation, we present concurrent solutions to the geocasting, multi- casting and multisource broadcast problems. We estimate the algorithms’ theoretical performance bounds. We measure the performance of our algorithms as well as existing geometric routing al- gorithms in both abstract and concrete simulation, across a range of network densities. For our abstract study, we focus on theoretical bounds and performance characteristics. In our concrete simulation, we cover multiple practical signal strengths, and observe the effect of single message 8 loss, interference and buffer scheduling on message cost, speed and delivery.

In Chapter 2, we present Stateless Flooding, Stateless Planar Geocasting, and a combination of these algorithms with greedy routing. We implement these solutions and compare their abstract performance to Bose and Morin’s subdivision traversal algorithm [9] in Section 2.3. We provide theoretical message cost and latency bounds in Section 2.5. Finally, we implement our algorithms in a concrete simulator WorldSENS [27] and compare them to stateful flooding in Section 2.4.

In Chapter 3, we present Multicast Concurrent Face Routing. We provide theoretical message cost and latency bounds for the Steiner tree version of this algorithm in Section 3.2. We implement these solutions and compare their abstract performance to GMP [87] (original and static version),

LGS [15] and GFG [8] in Section 3.3. Lastly, we implement these algorithms in WorldSENS and compare their performance in different practical settings in Section 3.4.

In Chapter 4 we present an adaptive solution to multisource broadcasting using geocasting. We implement a simple multiple-source flooding algorithm in WorldSENS, and show its poor perfor- mance in practical settings in Section 4.1. Here, we stress the requirement for formal solutions to this problem.

We conclude the dissertation in Chapter 5. Some of the material of Chapters 2 and 3 is pre- sented in [3] and [2] respectively.

1.2 Literature Review

MANET. The wireless sensor networking field grew out of research in mobile ad-hoc networks

(MANETs) [60]. In a MANET, devices are mobile and may move in and out of communication range at will. Such mobility makes formation and routing along static paths infeasible. Initial motivation for MANETs was by the Department of Defense. Soldiers need to be mobile to survive 9 on the battlefield, and cannot depend on wired or fixed communications. Furthermore, central infrastructure cannot be relied upon: time and terrestrial constraints may prohibit building of a central station, or the station may be destroyed during combat. Lastly, environmental obstacles may block direct line of sight communication between two combatants, and multi-hop on-demand message routing becomes a necessity. In classic MANET studies, a company of soldiers and vehicles is considered.

Several routing algorithms were proposed for MANET. Ad-hoc On-demand Distance Vector

(AODV) [70] is a distance vector algorithm. For every destination, each device maintains a record that stores the length of the shortest known path to it and the immediate neighbor that lies on that path. During routing, a device forwards messages based on these tables in a hop-by-hop manner.

Route discovery is done by flooding. Route verification and repair procedures are incorporated in

AODV.

Another classic MANET routing algorithm is Dynamic Source Routing (DSR) [41]. In a source routed algorithm, the source maintains a complete topology of the network and determines the full route of the message. This topology is determined through flooding. These stored paths may become obsolete and need to be updated frequently.

GeoTORA is a solution to geocasting in MANET [45]. A unicast algorithm TORA [68] is used to route into the geocast region, and then flooding is used to route to every device in that region.

TORA keeps a table at each device which is used to store a directed acyclic graph per destination.

To send a message to any destination, the message simply follows the DAG. The DAG is built and maintained through flooding in a manner similar to AODV.

Even though there are similarities between MANET and wireless sensor networking, there are fundamental differences. In sensor networks, the scale is considerably greater: networks of 10 hundreds of thousands of individual sensors are conceived. Meanwhile, the resources, power, memory, processing and radio of each individual device are rather limited. Indeed, the sensors are equipped with low-power radios that make communication challenging. On the other hand, the individual sensors are usually immobile. Hence, MANET mobility considerations are unimportant.

Therefore, MANET routing algorithms are often not effective in sensor networks.

Motes. Major interest in wireless sensor networking began with the publication of pioneering papers on “smart dust” [42]. The field was furthered with the advent of “motes”: an inexpensive wireless sensor platform that has a number of applications and is easy to experiment with [7, 19,

24, 35, 40, 72].

Several real-world deployments showed how these motes can be used in practice and what challenges such practical applications encounter [4,5,25,33,61,82]. Animal and botanical field re- searchers are concerned with the issue of habitat monitoring of sensitive species: the species need to be studied and monitored, yet direct observation by researchers produces repeated disturbance distorting results and even causes undue harm to these species. Hence, scientists sought alterna- tive methods of monitoring that reduce disturbance of subjects. This problem is addressed using mote networks. In [61], MICA motes [35] outfitted with sensors for light, pressure, humidity and temperature are placed around nests and burrows on Great Duck Island to monitor Leach’s Sea

Petrels. The motes form a multi-hop network, maintain a routing table and cooperate in extracting and recording data to report.

Practical deployment of sensor networks for environmental research continues in a study of coastal redwood trees [82]. This study provides special insights into the microclimate of the tree and trends of solar movement throughout the day. Such insights would not have been possible 11 with only direct observation. Moreover, the ability for these sensors to do so in an extremely dense fashion provided special results of their own on spatial and temporal trends. The height of a coastal redwood tree requires the formation of a multi-hop sensor network to gather and forward data along the trunk to the base station below.

Environmental monitoring using sensor networks may range beyond just geological or zoo- logical goals. In [25], the authors discuss using sensor networks to monitor and even adapt to urban and natural disasters such as earthquakes. The paper brings to the fore many issues that such monitoring systems face: difficulty of debugging, synchronization, power consumption, security, routing, etc. Such applications as disaster monitoring stress the need for speedy delivery of mes- sages. Failing to report an event in a timely manner can be as costly as not reporting the incident at all.

In [4], the authors deploy a wireless sensor network for the purpose of perimeter defense.

Specifically, sensors are used to detect, classify and track intruders of a perimeter in real time.

Reliability of sensors plays a crucial role, as a false classification could have disastrous results.

False positives are also a major concern. The subject of tracking requires an ability to distinguish whether an object in one space at a given time is the same in another. This along with the ability to report in real time places heavy value on time synchronization between sensors without a central- ized scheme. Using MICA2 motes [19], the authors deploy such a network, and measure its ability to accomplish these goals. The authors find that these sensors may experience complex failures such as transient state corruption, and assuming a fault model of only simple crashes is infeasible.

The authors also highlight the necessity to reprogram sensors via the network itself, especially at large scale. Similar to disaster reporting applications, intrusion requires real time monitoring: fast routing algorithms are paramount. 12

The subject of intrusion detection and tracking is continued in [5]. The authors build a perime- ter defense network of extreme scale: 1000+ wireless sensors. This study focuses the need for efficient routing and organized initial placement of network sensors to minimize coverage redun- dancy. The authors thus use a planned topology for placement rather than a random one as in [4].

The sheer scale of the networks is daunting for routing algorithm designers: simply broadcast- ing is possible, but causes heavy interference and packet loss. When the subject is a potentially threatening intruder, packet loss due to inefficient routing may be an intolerable drawback.

These sensor networking applications made it clear that effective routing schemes such as ge- ometric routing are necessary, and trading message cost for speed may be desirable.

Geometric routing. In order to route geometrically, devices must have some concept of location, usually represented by a set of coordinates. These coordinates may be obtained by GPS or from a location service [1, 55]. In unicasting, a single source needs to send a message to a single destination. The coordinates of the source and the destination may be stored in the message. A number of geometric unicast routing algorithms are presented in the literature [10,22,43,46,48,49].

In COMPASS routing, next hops are selected by angular progress [48]. The angle formed by the considered hop, current device and destination device, is computed locally and the lowest is chosen as the next hop. This algorithm may not reach the destination in all cases. Face routing [48] is guaranteed to reach the destination.

Pure face routing may select an inefficient path to the destination. Combining greedy routing with face routing helps optimize it [8]. This methodology is practically implemented in Greedy

Perimeter Stateless Routing (GPSR) [43]. The authors implemented this algorithm in a real MAC protocol, and study its performance using a concrete protocol simulator ns-2 [66]. 13

In GOAFR [49,51], the authors attempt to mitigate the issue of routing along inefficient paths, especially along the external face. The source and destination are routed within the focus of a

fixed-size ellipse. The message traverses a face until it encounters the boundary of the ellipse. If reached, the traversal direction changes. If the ellipse boundary is reached in both directions, the size of the ellipse is increased. It is proven that in limited-degree graphs, the final route selected by GOAFR is optimal and proportional to the square distance between source and destination.

However, this route discounts the message oscillations imposed by the ellipse.

Multicasting. In multicasting, a single source sends a message to multiple destinations. There is no restriction on the connectivity nor location of these destinations. The coordinates and identifiers of the destinations are stored in the message. Geometric multicasting solutions attempt to bundle delivery for destinations which are close together. The key to this approach is to split the message into smaller groups or individual unicasts when this bundling is no longer advantageous. One strategy to geometric multicast is to construct a routing tree. The tree guides the message, as well as dictates splitting: split at the branches.

In Location-Guided Steiner (LGS) routing, a Euclidean spanning tree is constructed using the source and destinations [15]. The tree is built as follows: start with a single device, the source, as root. Consider all possible non-reflexive edge pairs between each remaining destination and each device in the current tree. Choose the edge pair with the smallest Euclidean distance and add it to the tree. Repeat this process until no more destinations remain. Starting from the source, route to each child using any stateless geometric unicast protocol. When a destination is reached, further split the message for each child of the reached destination. We choose GFG as the unicast protocol in this dissertation, as it guarantees delivery to each destination. 14

In Position-Based Multicasting (PBM), a spanning tree is replaced in favor of a Euclidean

Steiner tree, where the sum Euclidean distance of all edges is minimal, optimally [62]. Construct- ing such a tree is shown to be an NP-hard problem [38], but an approximation is possible. PBM computes this tree at each hop using the current device as the root node, and the destinations as intermediate and leaf nodes. Routing is accomplished by greedily forwarding towards devices that make progress for each remaining destination. If progress can be made only through multiple neighbors, the packet splits. This decision is further guided by a parameter λ, which acts as a weight within the greedy progress calculation. λ inversely determines how often a packet splits.

If a local minimum for all destinations is ever reached, similar to previous approaches, perimeter routing is used.

A still more complex solution, Geometric Multicast Protocol (GMP), also routes along a per- hop approximated Steiner tree [87]. Routing decisions are far more complex, however, and are made on the basis of pivots: immediate children, real or virtual, of the root node. For each pivot,

GMP attempts find a greedy neighbor which is advantageous not only for the pivot itself, but also favorable for its children. If successful, a message containing all real sub-destinations for the pivot is sent to the greedy target. Otherwise, recovery strategies are employed by splitting up the pivot subtree into finer pivots. If these split pivots are still unsuccessful in finding a greedy route, they are bundled together and routed in recovery mode. This recovery mode is analogous to GFG, using the centroid of all real destinations as the geometric unicast destination. When progress is made from the last local minimum, and at least one of the destinations is able to be greedily routed as a pivot, the algorithm proceeds as normal.

Geocasting. In geocasting, a single source sends a message to a geometric area [44, 64]. The 15 challenge of this problem is that the exact identifiers, locations and number of destinations are unknown. Geographic-Forwarding-Geocast [75] starts as a geometric unicast until it reaches the geocast region. Once inside the region, the message is flooded. Flood messages that reach de- vices outside the geocast region are discarded. As noted by Casteigts et al. [12], Geographic-

Forwarding-Geocast may fail to deliver the message to all devices in the geocast region if the region is disconnected and the only connectivity is through outside devices. Hence, Geographic-

Forwarding-Geocast is not reliable.

In response to the issue of an internally disconnected region, another solution is to focus on the face which surrounds the region. Virtual Surrounding Face (VSF) [56] solves this problem by pre-computing in advance all planar faces that intersect the geocast region. The algorithm unicasts to the region and, upon reaching the geocast area, floods it inside and traverses all the precomputed surrounding faces on the outside. Hence, VSF is reliable, but stateful. Also, the pre-computation and maintenance of the virtual surrounding face is by nature stateful and may incur significant overhead in a dynamic wireless network.

Bose et al. [10] propose to combine GFG with depth-first face exploration to implement geo- casting. The face exploration is based on subdivision traversal proposed by de Berg et al [23] and improved by Bose and Morin [9]. The subdivision traversal is stateless and the geocasting is reliable. However, a subdivision, unlike a face, assumes that every edge is adjacent to exactly two subdivisions. That is, an edge whose both sides are adjacent to a single face is disallowed. Letting this algorithm run on an arbitrary planar graph may lead to a livelock. For every face, the algorithm designates a unique entry edge. A face may be entered only through its entry edge. This entry edge is computed on the basis of the edge’s distance from a single globally known point p. To ensure the entry edge’s uniqueness, other parameters, such as its angle, are factored in the computation. 16

These entry edges are selected such that they induce an implicit rooted tree relationship among faces. There is a single root face with no entry edge.

The algorithm starts in this root face and follows this tree. Specifically, the algorithm starts at some edge adjacent to the root face. The algorithm’s message traverses a face until it encounters an entry edge into a different face. The message then enters this new face, traverses all its descendants, and returns back to the old face to complete the traversal. The traversal is complete when the message returns to the starting edge.

We will now demonstrate that this algorithm does not operate correctly on planar graphs in general: the algorithm may fail if an edge is internal, i.e. it is adjacent to the same face. For example, a graph in Figure 3 has a single face and all edges are adjacent to it.

Figure 3: Example graph for 2E message cost in SPG.

Let us consider the cases where this traversal algorithm fails. See Figure 4(a) for illustration.

If p is located near internal face, such as (d, e), this edge will be mistaken for entry edge into a

different face. As edges (b, c) and (c, d) are traversed, edge (d, e) is crossed as an entry to a new

face. The algorithm expects to complete the traversal of the descendant faces and get back across

edge (d, e). However, instead, it may circle through to edge (b, c), then (c, d) and arrive at (d, e)

again. If (d, e) is a starting edge, the algorithm terminates without traversing all faces. If (d, e) is

not the starting edge, the algorithm sends the message across (d, e) and livelocks.

This example is not limited to p being inside the traversal face. For example, in Figure 4(b), 17

(a) P inside the face.

(b) P outside the face.

Figure 4: Examples of inner edges as entry edges in BM. the inner edge (c, d) may be falsely computed to be the entry edge into a separate face. Elimi-

nating such internal edges in Bose and Morin’s algorithm may potentially require extensive pre-

processing. Furthermore, depth-first traversal is normally a stateful procedure. The authors were

able to describe a stateless mechanism to achieve it, but at a significant increase to message cost.

Multisource broadcast. In multisource broadcast, multiple source devices wish to broadcast a message to all other devices in the network. The content of each source’s message may be unique.

This problem is a natural extension of single source broadcasting, a widely researched area. Of par- ticular interest is the reduction of redundancy and overall message cost, such as through heuristic- based methods [29,36,47,57,69,74,79]. Other solutions use a connected dominating set to create 18 a network backbone to reduce redundancy by controlling the direction and flow of the broad- cast [20, 21, 77].

The multisource broadcast problem itself is mentioned as early as [53], where randomization is used to achieve overlapping broadcasts. However, no formal definition or solution to this problem is presented until [37], where the authors focus on combining the content of each source and broadcasting the aggregated message through a network backbone.

1.3 Notation and Definitions

Wireless network, message and node limitations. A wireless network G = (N,E) is represented as a graph where N is a set of nodes that are devices capable of exchanging messages wirelessly, while E is a set of edges connecting the nodes if the two adjacent nodes can send messages directly.

Two such nodes are neighbors. The communication is bi-directional and the graph is undirected.

Every node has unique planar coordinates that embeds the graph into the geometric plane. When it is clear from the context, we refer to a graph’s embedding as just graph.

A graph embedding is planar if the graph edges intersect only at vertices. For short, we call this planar embedding of a graph, a planar graph.A connected planar subgraph is a subset of vertices

and their induced edges such that the resultant graph is planar and connected. Finding a maximum

planar subgraph of a general graph is NP-hard [59]. However, for certain graphs, the task may be

solved efficiently. A graph is unit-disk [17] if a pair of its vertices u and v are neighbors if and only

if the Euclidean distance between them is no more than 1. Such a graph approximates a wireless

network. In such a graph, a connected planar subgraph may be found by local computation at every

node using Relative Neighborhood or Gabriel Graph [8, 28, 43, 83].

A planar graph face is the area of a plane such that any two of its points can be connected by 19 a curve that does not intersect the edges of the graph. A finite graph has one infinite external face and may have several internal faces. For example, in Figure 1.1, faces F , G are internal while H is external. A message may traverse a face using left- or right-hand-rule. For example, in Figure 1,

if node i receives a message from node s marked for right-hand-rule traversal, i examines its

neighbors to find the next clockwise node after s. This next node is f. Node i forwards the message

to f. If every node operates similarly, the right-hand-rule message traverses internal face counter-

clockwise or external face clockwise. Left-hand-rule message goes in the opposite direction. In

GFG, the message switches faces as soon as it traverses the source-destination (sd)-line. The face

is switched by changing the traversal direction. For example, in Figure 1, once right-hand message

comes to node f, f changes it to left-hand. That is, it finds the next counter-clockwise neighbor to

i, which is g, and sends the message there.

The sd-line may intersect a face such that the traversal in one direction is significantly longer

than in the other. This asymmetry may be particularly prominent if the sd-line intersects the exter-

nal face of the graph since it is usually its largest face. The disadvantage of face traversal of GFG

and similar algorithms is that it cannot predict which traversal direction results in shorter distance.

This problem is mitigated in GOAFR [49–51].

Statelessness. A routing algorithm is stateless if it is designed such that devices store no informa-

tion about messages between transmissions. It is stateful otherwise. An example state would be a

routing table. The need to maintain this table places an undue burden on the devices running the

protocol, and present a difficult performance issue: how long do you maintain one state? Clearly, a

device state cannot be stored indefinitely (or for any long extent), as the device will eventually run

out of memory. However, if the state is discarded too quickly, then a given transmission may fail. 20

Steps, computations, fairness. Every device has a send queue SQ that collects messages to

be sent. A message is transmitted by taking it from the sender’s send queue, transferring it to the

receiver and processing it according to the routing algorithm. In this dissertation, we assume that

this transferal and processing is done in a single atomic step. The atomicity of the step means that

it may not overlap with steps on this or other devices. In practice, only neighboring devices’ steps

may not overlap.

Computation is a sequence of atomic steps that starts in an initial state of the algorithm. A

computation is fair if every message that is in a send queue SQ of some device is eventually either

transmitted or removed from this queue during this computation. That is, a message may not “get

stuck” in a send queue forever. To reason about a routing algorithm, we consider its fair computa-

tions. A computation is finite if it has a finite number of steps. A routing algorithm is terminating

if all its computations are finite. A terminating routing algorithm never leaves messages circulating

in the network indefinitely.

Experiment is a single delivery of a message from a particular source to all of its task-defined

destinations. In other words, it is a single complete computation of an algorithm.

Concurrent routing latency bounds. In fixed-degree graphs, latency of concurrent face routing

- the shortest path between the source and the destination device selected by the algorithm - is

optimal and proportional to the distance between the source and destination. Specifically, they

proved the following in [18].

Theorem 1. The unicasting concurrent face routing algorithm outlined guarantees the delivery of a message from source s to destination d, (i) has worst-case message complexity O(|E|) with E 21 being the number of edges in G, and (ii) has asymptotically optimal latency of O(ρ2), where ρ is the Euclidean distance between the source and the destination. CHAPTER 2

Geocasting

The problem of geocasting is communicating a message from a source device to all devices located in a designated geocast region. In other words, every device in the geocast region is a destination. The geocast region is often a circle or rectangle. Note that the source itself may be inside the geocast region. Unicasting or multicasting algorithms may not be immediately applica- ble to geocasting since the coordinates of the devices in the geocast region are not known to the source. The problem of reliably delivering the message to all devices is complicated by the fact that devices in the geocast region may only be connected through outside devices. For example, device i in Figure 7 is connected to the rest of the devices through k which is outside the geocast region. Thus, message delivery to all devices in the geocast region requires exploring these outside connecting paths.

2.1 Algorithm Descriptions

For all the algorithms, we assume that as soon as a device, including the source device, obtains the message, it checks if the device is in the geocast area. If it is, then the message is delivered first and then the processing of the message proceeds.

SF. The pseudcode for stateless flooding (SF) routing algorithm is shown in Figure 5. The algo- rithm is as follows. The source device adds a message M(sender, receiver) to its send queue SQ

22 23

device s add M(s, n) to SQ

device n if receive M(a, n) then if M(n, a) ∈ SQ then /* found mate */ discard M(n, a) from SQ else foreach m ∈ N : m 6= a do add M(n, m) to SQ

Figure 5: SF pseudocode. to be sent to all devices in its neighbor set N. When a device receives a message from neighbor a, it first checks its send queue for a mate. If a mate exists, both messages are discarded. Otherwise, the device sends the message to all neighbors except a.

SPG. Stateless planar geocasting (SPG) algorithm uses face traversal to limit the number of mes- sages sent during geocasting. We start the algorithm description with a few definitions. Select a point r inside the geocast area, for example, the point nearest to the source. The location of r does not affect the correctness of the algorithm but may affect its efficiency. Every message carries the coordinates of the source device s and this point r so that every device can compute the sr-line: the line segment that connects the source with this point r. Also, every message carries the encoding of the geocast area G so that every device can determine this area. For example, if the geocast area is a square, carrying the center of the square r together with the length of the square’s side is sufficient.

Intersection is an angle of a device such that this angle intersects either the sr-line or the 24

device s foreach intersection angle ∠asb do add L(s, r, G, a) to SQ add R(s, r, G, b) to SQ

device n if receive L(s, r, G, a) then if R(s, r, G, a) ∈ SQ then /* found mate */ discard R(s, r, G, a) from SQ else add L(s, r, G, b) to SQ /* let b be the next left after a */ if ∠anb is an intersection angle then /* split message */ foreach ∠cnd 6= ∠anb such that ∠cnd is intersection do /* let d be the next left after c */ add R(s, r, G, c) to SQ add L(s, r, G, d) to SQ if receive R(s, r, G, a) then /* handle similar to L(s, r, G, a) */

Figure 6: SPG pseudocode.

geocast region. A device is a juncture if at least one of its angles is an intersection. Note that

all devices inside the geocast region are junctures. Note also that the source device s is always a

juncture.

The pseudocode for SPG is shown in Figure 6. When receiving a message traversing a face

with a particular traversal direction: either right- R or left-hand-rule L, the device checks to see if a mate is present in its send queue. If a mate is found, both messages are discarded. Otherwise, the device forwards the message to the respective next right or next left neighbor of the original message sender. If the recipient device also determines it is a juncture, it splits the message by sending R and L messages along the two edges of each intersection. The algorithm starts when s, 25 which is a juncture, initially splits the message. This splitting ensures that every face adjacent to a juncture is traversed.

We illustrate the operation of SPG with an example shown in Figure 7. Since ∠asb intersects the sr-line, device s initiates the geocasting by sending a left-hand-rule message 1 to device a and

right-hand-rule message 2 to device b. See Figure 7(a). This starts the traversal of face F . Both

a and b are junctures. Indeed, a has an angle that intersects sr-line and the geocast region; while

b has an angle intersecting sr-line. Once 2 reaches b, b forwards it to a and splits it by sending

messages 3 and 4 in face G. See Figure 7(b). Note that ∠sbc does not intersect sr-line or the

geocast region so no messages are sent there. When 1 reaches a, it forwards it to b by adding it

to its send queue. Device a also splits 1 by sending 5, 6, 7 and 8. Once 2 is received by a, it

meets its mate in a’s SQ and both messages are discarded completing the traversal of face F . This

computation continues until all messages are delivered to destinations. The result of the complete

computation is shown in Figure 7(c).

SF+SPG. For routing, pure SPG uses a planar subgraph. However, this eliminates the non-planar

edges that might be effective in message transmission. This elimination is unavoidable outside the

geocast region to guarantee delivery to all the destinations. However, inside the geocast region,

SPG may be supplemented by stateless flooding.

Combined algorithm, SF+SPG, uses SPG to route toward and around the geocast region, and

SF to flood inside the region. Each message carries a mode: flood or planar, and is routed using

SF or SPG, respectively.

Devices outside the geocast region receive and send messages only in planar mode. When a

device inside the geocast region receives a message from neighbor b, it sends a single flood message 26

(a) initial step

(b) mid-computation

(c) completed computation

Figure 7: Example computation of SPG. 27 to all neighbors inside the region, and a pair of planar messages with opposite traversal directions to all neighbors outside the region, except b. If the received message was in planar mode, it is sent back to b, and discarded otherwise.

SF+SPG+G. Algorithm SF+SPG may be further combined with greedy routing to decrease the number of required message transmissions. Rather than start SPG at the source device, the message may be initially transmitted using greedy routing by sending a single message to the neighbor that is closest to the center of the geocast region. The algorithm switches to SPG only when the greedy routing encounters local minimum: a device with no neighbors closer to the geocast region, or when the greedy message actually reaches the geocast region.

2.2 Correctness Proofs

Correctness proofs. We focus on SF first. Let us introduce notation that we use for the proofs.

A device is visited if it receives the message at least once. An edge is used if the message was sent over it at least once. It is unused otherwise. A visited device is a border if it has an adjacent unused link. A visited device that is not a border is internal.

Lemma 1. In SF, every border device holds a message in SQ to be sent over every unused link and it never holds a message to be sent over a used link.

Proof: We prove the lemma by induction. The source sends messages over the links to its neighbors. Therefore, right before the transmission, the source is a border device with every link unused and a message to transmit over this link. Therefore, the conditions of the lemma hold.

Assume the conditions hold at some step of a computation. Let us consider the next step: a transmission of the message from device a to device b. Device b may be visited or not visited. If b 28 is not visited, then all its links, except for link to a, are unused. When b receives a message from a, it becomes a border device and it holds a message to every neighbor except a. This satisfies the conditions of the lemma. If b is already visited, then, by assumption, it has a message to be sent to a in its SQ. This message is a mate of the message received by b from a. By the algorithm, these two messages are discarded. That is, once the message is transmitted to a visited device and uses the channel, there are no messages to be sent over this used channel. Again, the conditions of the lemma hold. 

Theorem 2. SF guarantees termination and delivery from the source to all destination devices connected to the source.

Proof: Once the source device has a message to send, it sends to all its neighbors. That is, it becomes a border device. According to Lemma 1, every border device has a message to transmit over unused channels. Since we consider fair computations of routing algorithms, this message is eventually going to be transmitted. If the receiver device is not visited, it becomes visited and sends messages to all its neighbors. Eventually, all devices connected to the source will be visited, and all channels used. That is, SF delivers the message to all devices connected to the source. Note that according to Lemma 1, once the channel is used, there are no messages to be sent across it.

That is, SF terminates. 

We now prove correctness of SPG. Let us introduce additional terminology. A device is segment-visited with respect to a particular face if it was visited during the traversal of this face.

A visited segment of a face is a sequence of neighbor devices that have been segment-visited. A segment-border of a visited segment is a segment-visited device that has an edge adjacent to this face that has not been used. Note that an edge is adjacent to two faces. Thus, for SPG, an edge may 29 be used in one face and not used in the other. Similarly, a device may be adjacent to multiple faces and visited separately in each face. However, by the design of the algorithm, if a juncture is visited, it splits the message in every adjacent face that intersects the sr-line or the geocast region. That it, a juncture is visited in every such face simultaneously. A visited device that is not a border is segment-internal. Two faces are adjacent if they share a common juncture device, and are juncture connected if there exists a sequence of adjacent faces from one to the other.

Lemma 2. In SPG, for every face F with a visited segment, this segment-border device has a message to send across the unused edge that is adjacent to this device. A segment-internal device never holds such a message.

Proof: The proof is by induction on the devices of a particular face F . A visited segment is created in F when a juncture device is visited. This juncture may be the source device s or another juncture splitting the message when it is visited in an adjacent face. Once the visited segment is created, it contains a single border device with two messages sent in the opposite traversal directions. This is our base case. Let us consider a computation of SPG where every segment of every face is as stated in the conditions of the lemma.

First, let us consider a message transmission by a device adjacent to F . By hypothesis, it may only be a border device. The message recipient may be a non-visited device or a border of another visited segment. If the recipient is a non-visited device, once the message is received, the recipient forwards the message to its neighbor. That is, the recipient becomes a new border device with the sent message while the sender becomes an internal device without a message. Thus, the conditions of the lemma are satisfied. If the recipient is a border device of an adjacent segment in F , by the induction hypothesis, the recipient holds a mate to be transmitted to the original sender. The 30 two messages are discarded and the two adjacent segments merge preserving the conditions of the lemma.

Let us now contemplate a message transmission by the device a that is not adjacent to F . The only way it may affect F is if a is a juncture of F in an adjacent face. However, by the design of the algorithm, the juncture is instantly visited in every adjacent face. When a receives the transmission, it may or may not be visited in F . If it is visited, then this transmission encounters a mate, both messages are eliminated and the transmission does not affect F . If a is not visited in

F , then, when the transmission occurs, it creates a new visited segment in F with a single border node a and the proper outgoing messages.

That is, regardless of the kind of message transmissions we consider, the conditions of the lemma are preserved. 

Lemma 3. In SPG, if a face has a visited segment, every device adjacent to this face is eventually

visited. After all devices are visited, none of them hold a message.

Proof: If a face with a visited segment contains a non-visited device, then at least one non-

visited device is adjacent to a border device of a visited segment. According to Lemma 2, this

border device has a message to be sent to the non-visited adjacent device. Since we only consider

fair computations of routing algorithms, this message is eventually transmitted. Once the message

is transmitted, the adjacent device becomes visited. This process continues until all devices are

visited. Once all the devices are visited, they become internal. According to Lemma 2, internal

devices do not old messages. Hence the lemma 

Lemma 4. In SPG, every device in a face connected to the source device face is eventually visited

and no device adjacent to it holds a message to send. 31

Proof: We start with the face that contains the source device s. The source device is in a visited segment. According to Lemma 3, every device in this face is eventually visited. By the design of the algorithm, a juncture device is instantaneously visited in all its adjacent faces. This means that visiting every device in the face that contains s creates visited segments in every face that is adjacent to it. Repeated application of Lemma 3 proves this lemma. 

Proposition 1. In a planar graph, if a destination device is connected to the source device, then this destination device lies on a face connected to the source device face.

The below theorem follows from Proposition 1 and Lemma 4.

Theorem 3. SPG guarantees termination and delivery of a message from the source to all desti- nation devices connected to the source.

2.3 Abstract Simulation

Setup. In their classic study of unicast geometric routing algorithms, Kuhn et al [49] use a partic- ular simulation setup to thoroughly evaluate the performance of their algorithms. We extend their setup to use in our simulation.

Specifically, we populate a 10 × 10 unit square field with devices placed uniformly at random to achieve a specific network density. The total number n of devices is equal to the area of the field

100 divided by the area of a unit circle and multiplied by the required density d. That is n = d π .

We randomly pick the source device and randomly place a square geocast region so that it fits into the field completely. We then calculate each device’s neighbors as follows. We first construct a unit-disk graph, and then compute Gabriel subgraph. For the planar geocasting algorithms, we also compute connected dominating set in the geocast region. For each experiment, we generate a 32 new random graph with a randomly selected source and randomly placed geocast region. For each specific data point, we conduct 1000 experiments.

Results. We implement SF, SPG, SF+SPG and SF+SPG+G. Also, we implement the geocast- ing algorithm BM based on subdivision traversal [9, 10]. Since their algorithm does not operate correctly on faces with internal edges, we drop the experiments where messages livelock.

We evaluate the message cost and latency of the algorithms. Message cost is the number of messages it takes to deliver to all devices in the geocast region. Message cost quantifies the amount of network resources necessary to deliver the message. Latency of message arrival is the shortest

path taken by the algorithm to reach the device in the geocast region that is furthest away from the

source. Devices not connected to the source are not counted. Latency quantifies the time it takes

to deliver the message to every device in the geocast region. Path stretch is latency normalized to

the optimal path to this device.

We estimate message cost by varying three parameters: network density, geocast region size

and complete communication field size. When we vary one of the three parameters, the other two

are held constant at: 7 devices per unit square for density, 3 × 3 units for geocast region size and

10 × 10 units for field size. Figure 8 presents the simulation results.

We study latency by varying network density and geocast region size. The results for latency

are shown in Figure 9.

Analysis. Let us discuss message cost evaluation. BM is two orders of magnitude more expensive

than the rest of the algorithms. So, we only present the results in Figure 8(a) for comparison. SF

becomes comparatively costly as the density of the network increases (see Figure 8(a)). Indeed, SF 33

2500

2000

1500

1000

500

0 30 BM

25 SPG SF SF+SPG 20 SF+SPG+G 15

10

5

0

message cost, number of messages 0 2 4 6 8 10 12 14 16 18 20 density, devices per unit circle (a) by network density; note that y-axis is “broken” and shows BM at a scale different from the rest of the algo- rithms

1400 SPG 1200 SF SF+SPG SF+SPG+G 1000

800

600

400

200 message cost, number of messages

0 1 2 3 4 5 6 7 8 9 10 region size, length in units (b) by geocast region size, length of geocast square side

500 450 SPG SF 400 SF+SPG 350 300 250 200 150 100

message cost, number of messages 50 0 10 15 20 25 30 35 40 45 50 network size, length in units (c) by network size, length of field square side

Figure 8: Abstract Simulation: Message cost normalized to geocast region size. 34

1.25

SPG 1.2 SF SF+SPG SF+SPG+G 1.15

1.1

1.05 latency, mean path stretch 1

0 2 4 6 8 10 12 14 16 18 20 density, devices per unit circle (a) by network density

1.25

SPG 1.2 SF SF+SPG SF+SPG+G 1.15

1.1

1.05 latency, mean path stretch 1

1 2 3 4 5 6 7 8 9 10 region size, length in units (b) by geocast region size

Figure 9: Abstract Simulation: Arrival latency normalized to optimal path (path stretch). delivers the message to every device in the whole network, regardless of whether they are inside or outside the geocast region. The delivery to the outside devices is overhead. As the density grows, the ratio of outside devices to inside devices also grows. The overhead grows with the increase of this ratio. SF+SPG performs better than either of the two individual algorithms. The combined algorithm achieves message savings compared to pure SPG since it floods the geocast region. When flooding, the algorithm sends only one message per edge, while SPG may potentially send two messages. Adding greedy to the combined algorithm helps further reduce message cost.

Let us consider geocast region variation. Again, since SF sends one message per edge, while 35

SPG may potentially send two messages, SF outperforms SPG as the geocast region size ap- proaches field size (see Figure 8(b)). The growth of the field size adversely affects SF’s per- formance (see Figure 8(c)).

Let us now discuss the latency results. SF is always latency-optimal as all possible paths are traveled. The other algorithms achieve similar mean path stretch, whether under varied density or geocast region size. However, adding a greedy component dramatically worsens the algorithm’s performance: greedy routing does not have the advantage of concurrently exploring multiple paths to find the faster one to deliver the message.

2.4 Concrete Simulation

Setup. To evaluate the performance of our algorithms in concrete wireless environment, we im- plement them in WSNet [6, 27] wireless sensor network simulator. The simulated MAC layer is

IEEE 802.15.4 with 866MHz frequency band and BPSK modulation. The radio model is freespace propagation model with constant path loss and rayleigh fading [6]. We implement a 1×1 km field.

The geocast region is a square of 300 × 300 meters. The network topology is assumed to be a

unit-disk of 100 meters. The topology is calculated offline. We evaluat delivery ratio, latency and

message cost. The delivery ratio is the number of devices in the geocast region that received the

message divided by the total number of devices in the region. In case of imperfect delivery, the

ratio is less than one. The latency is the amount of simulated time it takes to deliver the message

to the device in the geocast region to last receive a message normalized by the amount of time it

takes to deliver the message if its unicast over optimal route. The message cost is the number of

messages the algorithm takes normalized by the number of devices in the geocast region. 36

If messages are lost, SPG messages may not find mates and continue circling the faces indefi- nitely. To overcome this, we introduce time to live (TTL) in each message, after which the message is discarded. Signal strength affects the message reception due to signal attenuation and message transmission interference. We vary signal strength to evaluate its effect on our algorithms. Similar to the abstract simulation, we construct a new random graph for each message delivery and con- duct 1000 experiments for each data point. Unlike the abstract simulation, a single broadcast to all neighbors is counted as a single message.

Results. First, we compare the performance of SPG with other strategies that can be used for geocasting. Specifically, we compare SPG with stateless flooding SF and with classic stateful

flooding (FLOOD). In addition, we consider a strategy where a message is delivered to the geocast region using geometric unicast (GFG) and then flooded inside. For SPG, we select a signal strength of 0 dBm and TTL of 55. The results are shown in Figure 10. Due to its obvious inefficiency we do not simulate BM. Due to poor delivery ratio of SF (see Figure 10(a)), the latency and message cost results for SF are inconsistent and are not shown in Figures 10(b) and 10(c).

We next evaluate the performance of SPG at different power levels. The selected power levels are: 0 dBm – Bluetooth standard radio transmission power, 15 dBm – typical Wireless LAN trans- mission power, 33 dBm – cellphone transmission power. The results are shown in Figure 12. The plot in Figure 11(a) shows the influence of TTL size to the delivery ratio. In the rest of the plots of

Figure 11 and Figure 12, we use a TTL of 55 hops which appears optimal.

Analysis. Figure 10 shows that our face-traversal based algorithm SPG has significantly better delivery ratio than simple flooding-based approaches. Flooding leads to imperfect delivery due to 37 incomplete geocast area connectivity and broadcast-storm-based message loss [84]. It seems that fewer messages result in better delivery. Thus, GFG+SF produces better results than simple flood- ing, see Figure 10(a). The effect on latency is the opposite. An algorithm with greater message volume takes longer to capture the channel and transmit the message. Hence, the latency of stateful

flooding is greater than that of SPG, see Figure 10(b). Also, the message cost of simple flooding is greater than that of SPG, see Figure 10(c).

Let us now comment on the signal strength based experiments in Figures 11 and 12. TTL affects message delivery up to about 55 hops which seems to be the saturation point. SPG provides near-perfect delivery except for the critical region (3-8 devices per unit disk) where weak signal strength adversely affects it. Delivery latency predictably grows with the network density. For the critical region, the higher signal strength appears to provide better latency due to more assured delivery, while for higher densities, the higher signal strength is a liability due to greater amount of interference. The message cost also grows with network density. However, higher signal strength requires fewer messages due to lower signal attenuation and more reliable delivery.

2.5 Efficiency Bounds

Message cost. In the case of stateless flooding (SF), each device sends exactly one message. That is, the total number of messages is |E|. In case of stateless planar geocasting (SPG), a message

may be sent along each face. An edge may be adjacent to two faces. Hence, SPG may send 2|E|

messages. This estimate is tight. See, for example, Figure 3 where SF sends |E| messages while

SPG sends 2|E|. That is, in the worst case, SPG may be twice as costly as SF.

However, for most graphs, SPG is significantly more efficient. To give a more realistic message

cost estimate for SPG, we make several assumptions about the network graphs. First, we assume 38 that the geocast region is square. The graph is face smooth if there are two constants c1 and c2 that

2 are independent of network parameters such that (i) for each face ρ < c1a where ρ is the perimeter

πd2 of the face, and a its area, and (ii) for any two points in the graph, as < c2 4 where as is the area

of all internal faces that intersect the line between these two points and d is the Euclidean distance

between them. For an internal face, the area computation is straightforward; for the external face,

an area of an arbitrary figure enclosing the graph, for example a convex hull, is considered. The

first assumption places limits on how ”ragged” the perimeter of the face may be, while the second

limits how “uneven” the faces may be in size by assuming that the area of all intersecting faces is

included in a certain disk whose diameter is related to the distance between two devices. These

assumptions hold for most realistic wireless communication graphs such as unit-disk graphs.

Theorem 4. For face smooth graphs of bounded degree, if the geocast region size is constant, the √ message cost for SPG+SF is in O(d + A), where d is the length of the sr-line and A is the area

covered by the graph.

Lemma 5. For face smooth graphs, the message cost of SPG+SF is less than:

k √ p kG p d πc c + k c A + + 2k πc c G, 2 1 2 1 2 1 2

where d the length of sr-line, A and G are the respective areas of the whole graph and the geocast

region, k is the maximum degree of the graph and c1 and c2 are constants independent of the graph

parameters.

Proof: We arrive at the estimate by bounding the number of messages it takes to carry out

individual parts of the algorithm: to traverse the faces (both internal and external) intersecting

sr-line, to flood the geocast region, and to traverse the faces that intersect it. Note that due to 39 the design of the algorithm, the external face is traversed only once. Hence, we account for the messages it takes to traverse it only once as well.

For the sr-line, combining the two assumptions for the face smooth graphs, we get:

πd2 ρ2 < c c , s 1 2 4

where ρs is the sum of all perimeters of internal faces intersecting the sr-line. If k is the maximum degree of the graph, the maximum number of devices lying along the perimeter ρs is kρs. Hence, the number msr of messages sent traversing these faces is:

m 2 πd2 sr < c c k 1 2 4

That is, k √ m < d πc c sr 2 1 2

Similarly, if SPG+SF intersects the external face, the number of messages me it takes to traverse

it can be bounded as follows: p me < k c1A

Let us estimate the number of messages expended to deliver to all the devices in the geocast

region G. We first bound the number of messages sent by the flooding part of the algorithm.

We completely cover the whole geocast region with unit-disks as shown in Figure 13. In this √ arrangement, each unit disk covers a square with side length of 2. With k being the maximum device degree, the number of devices in the geocast region, and therefore, the number of messages mf it takes to flood it, is: G kG mf < k √ 2 = 2 2 40

Let us now estimate the number of messages sent across faces intersecting the geocast region. √ Since the area is square, the length of its side is G. By the second assumption of the face smooth

πG graph, the area of all internal faces that intersect this side is less than c2 4 . By the first assumption,

q πG the perimeters of these faces is less than c1c2 4 . Taking into account that the geocast region has

four sides and that the maximum device degree is k, the bound of the number of messages mg on the faces that intersect the geocast region is as follows:

r πG p m < 4k c c = 2k πc c G g 1 2 4 1 2

Adding the bounds for individual parts of the message estimate msr, me, mf and mg, we obtain

the bound of the lemma. 

Theorem 4 immediately follows from this lemma.

Latency. Latency of a geocasting algorithm is the shortest path taken by this algorithm to the

device in the longest distance from the source. Let ρ be the length of this path. A flooding algorithm

concurrently explores all paths. Hence, it has the optimal latency. We, therefore, are focusing on

estimating the latency of SPG.

Theorem 5. For a convex geocast area the latency of SPG is in O(ρ2) which is optimal for geo-

graphic routing algorithms.

Proof: Since we define path stretch for geocasting for a single node, we use the complexity

results for a similar unicast algorithm [18, Theorem 2]. This algorithm concurrently traverses

all the planar faces that intersect the source-destination line. Specifically, the latency for such

algorithm is in O(|source, destination|2). 41

Let us consider the operation of SPG. When device s geocasts a message, it first reaches device r in the geocast area which is closest to s. SPG then sends the message to all devices in the area, including device t that has the longest path to s. That is, the shortest path selected by SPG between s and t contains r. SPG behaves like a concurrent unicast algorithm for the pair s, r. Now, since the geographic area is convex, line r, t lies completely inside the geocast area. Therefore, every face that intersects this line is traversed by SPG. The length of the shortest path taken by SPG is no longer as that for a unicast algorithm sending a message from r to t. That is, for both segments of the path selected by SPG, we can use the unicast algorithm estimates.

Since r is the closest device to s in the geocast area, |sr| ≤ |st|. Also, due to triangle inequality:

|rt| < |sr| + |st| ≤ 2|st|. Therefore, |sr| + |rt| < 3|st| = 3ρ. Hence, the latency of the path

selected by SPG is in O(ρ2).

The optimality of this estimate follows from Kuhn et al [50, Theorem 5.1] which states that no

geometric routing algorithm can select a path whose latency is less than quadratic of the optimal

path length. 

Let us compare this bound with the message complexity of ordinary flooding. If the number of

devices in the graph is proportional to this area, the message cost of flooding is in Ω(A). In other

words, the message cost of SPG+SF is proportional to the linear dimensions of the geocast region

while the cost of flooding is quadratic. 42

1 0.9 GFG+SF 0.8 SF SPG 0.7 0.6 0.5 0.4 0.3 0.2 0.1

Delivery, targets successfully delivered to 0 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (a) delivery ratio

20 FLOOD 18 SPG 16 14 12 10 8 6 4 2 Latency, mean path stretch to last target 0 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (b) latency

70 FLOOD 60 SPG

50

40

30

20

10 Message cost, number of messages

0 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (c) overhead

Figure 10: Concrete simulation: Comparing SPG with stateful flooding (FLOOD) and GFG plus flooding in the geocast area (GFG+SF). 43

1

0.8

0.6

0.4

0.2 Dbm: 0 Dbm: 15 Dbm: 33 Delivery, targets successfully delivered to 0 10 20 30 40 50 60 70 80 TTL, hop count before discarding (a) Delivery ratio by TTL

1

0.95

0.9

0.85

0.8 Dbm: 0 Dbm: 15 Dbm: 33 Delivery, targets successfully delivered to 0.75 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (b) Delivery ratio by density

Figure 11: Concrete simulation: Comparing SPG delivery at different signal strengths 44

20 Dbm: 0 18 Dbm: 15 16 Dbm: 33 14 12 10 8 6 4 2 Latency, mean path stretch to last target 0 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (a) Latency by density

50 Dbm: 0 45 Dbm: 15 40 Dbm: 33 35 30 25 20 15 10

Message cost, number of messages 5 0 0 2 4 6 8 10 12 14 16 18 20 Density, devices per unit circle (b) Overhead by density

Figure 12: Concrete simulation: Comparing SPG performance at different signal strengths

Figure 13: Estimating the number of devices in the geocast region. CHAPTER 3

Multicasting

Geometric multicasting requires the source to transmit a message to several destinations whose coordinates are known to the source. Unicasting to each destination may be inefficient if several destinations are located near each other since multiple redundant messages have to be sent to similar locations. Efficient multicasting optimizes the routes the messages take so that a single message is routed to multiple destinations as long as possible. LGS [15] and PBM [62] compute a minimum Euclidean length spanning tree rooted in the source and containing all the destinations.

The algorithms then use geometric unicast to transmit the messages along the edges of this tree.

The most sophisticated scheme is used in GMP [87]. Each node computes an approximation of a Euclidean Steiner tree [38]: a minimum length spanning tree with virtual Steiner nodes that connects the source and the destinations. Steiner tree is a more efficient construct than minimum length spanning tree since the total length of Steiner tree edges may only be half that of a minimum spanning tree. In GMP, the message is geometrically unicast towards the node, real or virtual, that roots the subtree of the real destinations. As the message approaches a virtual node, it may be advantageous to split the message and route separate messages towards different destination groups. For example, in Figure 15, the source s and the destination set b, d and k form a Steiner tree with virtual noes x and y. GMP may first route from s to x, then split the message with one going to b and another going to y. The latter is eventually split for destinations d and k.

All these algorithms use sequential face routing to recover from a local minimum. This routing 45 46 has the same issue of possible inefficient path as unicast sequential routing. We propose to apply concurrent face routing instead. Specifically, after computing the Steiner tree, the source concur- rently sends messages to traverse faces that intersect with this tree. To enable this, a juncture node is defined to be the node whose adjacent edge intersects an edge of the Steiner tree. This algorithm is described in the following section.

node s compute T /* T is Steiner tree */ foreach ∠asb that intersects T do add L(s, T, a) to SQ add R(s, T, b) to SQ

node n if receive L(s, T, a) then if R(s, T, a) ∈ SQ then /* found mate */ discard R(s, T, a) from SQ else if n ∈ T then deliver L(s, T, a) to n /* let b be the next left after a */ add L(s, T, b) to SQ if ∠anb intersects T then /* split message */ foreach ∠cnd 6= ∠anb that intersects T do /* let d be the next left after c */ add R(s, T, c) to SQ add L(s, T, d) to SQ if receive R(s, T, a) then /* handle similar to L(s, T, a) */

Figure 14: MCFR pseudocode.

3.1 MCFR, Algorithm Description

The pseudocode of algorithm MCFR is shown in Figure 14. It operates as follows. The

sender computes the Steiner tree T of all destinations and itself. For each angle that intersects T , 47 it sends a pair of mates with right R and left L traversal directions. Every message carries the encoding of T . For simplicity, we assume that the source itself is never a destination.

Once some node n receives a message, it checks if there is a mate in its send queue SQ. If

the mate is found, both messages are removed and further processing stops as this completes the

traversal of the face. If there is no mate, n checks if it is the destination and delivers the message if so. After the delivery, message processing continues. Specifically, the message is forwarded along the face that it traverses. A node is a juncture if at least one of its angles intersects T . If n is a

juncture node then n splits the message by injecting a pair of mates in every angle that intersects

T . Observe that the source node is always a juncture.

Let us consider an example of MCFR operation shown in Figure 15. Source node s com-

putes the Steiner tree T , determines that ∠isa intersects T and sends a left-hand-rule L traversing

message to a, while sending R to i. This injects a pair of mates into face F . When a receives a

message, it forwards it to its next-left after s: neighbor b. When i receives a message, it determines

that i is a juncture node and the angle that intersects T is ∠fij . Node i injects a pair of mates by

sending an L to f and an R to j. Meanwhile, i also forwards the originally received message to f.

Node f injects mates into faces H and G and forwards the original message to b. Node b injects

messages into face G and forwards the message to a. However, then b receives a message from a.

Once b receives a message from a, it inspects its SQ, finds its mate and destroys both messages.

This completes the traversal of face F . The operation of MCFR continues until all faces that intersect T are traversed. 48

b a e

F f c G x s h d y g i H k j

Figure 15: MCFR operation example.

b

x s d

y

k

Figure 16: Covering the source-target Steiner hull with unit circles. Illustration for the proof of Theorem 8. 49

3.2 Correctness Proof and Efficiency Bounds

Correctness proof. Let us introduce some notation to aid in the correctness discussion. A node is segment-visited, or just visited, with respect to a particular face if it was visited during the traversal of this face. It is unvisited otherwise. A visited segment of a face is a sequence of neighbor nodes

that are visited. A segment-border of a visited segment, with respect to a particular face, is a visited

node with a neighbor that is either (i) unvisited or (ii) carrying a message for the border node. A

non-border visited node is segment-internal. Note that an edge in a planar graph is adjacent to two faces. Thus, a node may be visited in one face but unvisited in another. Two faces are adjacent if they share a common juncture node. Two faces F and G are juncture connected if there exists a sequence of adjacent faces that starts in F and ends in G. Observe that by design of the algorithm, once the juncture is visited, it splits the message in every angle that intersects T . That is, a juncture is visited in every adjacent face at once.

Lemma 6. In MCFR, for every face F with a visited segment, the segment border node has a message to send across to the unvisited neighbor. A segment-internal node never holds such a message.

Proof: The proof is by induction on the nodes of a particular face F . A visited segment is created in F when a juncture node is visited. This juncture may be the source or another node splitting the message when it is visited in an adjacent face. Once the visited segment is created, it contains a single border node with two messages sent in the opposite directions. This is our base case.

Let us consider a computation of MCFR where every visited segment of every face is as stated in the conditions of the lemma. First, let us consider a message transmission by node u adjacent 50 to face F . By the induction hypothesis, u may only be a border node. The message recipient v may be an unvisited node or a visited node that has a message for u. Let us consider the unvisited case first. Once unvisited node v receives a message from u, v becomes a new border node with this message while u becomes segment internal without a message. Hence the conditions of the lemma hold. If v is visited, then by definition of the border node, it holds a mate for the message that v transmits. Moreover, by the condition of the lemma, v is also a border node of an adjacent segment. Once v receives the message from u, both mates are destroyed and both u and v become segment-internal nodes. This also preserves the condition of the lemma.

Let us now discuss the transmission of a message by a node u that is not adjacent to F . The only way that it may affect F is if v is a juncture adjacent to F . However, by the design of the algorithm, the juncture is instantly visited in every adjacent face. That is, when v receives a message, v is visited. Once it receives a message, it creates a new visited segment in F with a single border node v and appropriate outgoing messages.

That is, regardless of the message transmissions, the conditions of the lemma are preserved. 

Lemma 7. In MCFR, if a face has a visited segment, every node adjacent to this face is eventually visited and none hold messages.

Proof: If a face with a visited segment contains an unvisited node, then, at least one such un- visited node is adjacent to a border of a visited segment. Due to Lemma 6, this border node has a message to be sent to the unvisited adjacent node. Since we only consider fair computations of the routing algorithm, this message is eventually transmitted. Once the message is sent, the adjacent node becomes visited. This process continues until all nodes of the face are visited. Once all nodes are visited they become internal and, according Lemma 6, do not hold message. Hence the lemma. 51



Lemma 8. In MCFR, if a face intersects the Steiner tree T , then every node adjacent to this face is eventually visited.

Proof: Consider the face that contains the source node s. The algorithm starts by creating a single-node visited segment there. According to Lemma 7, every node in this face is eventually visited. This includes all junctures adjacent to this face. Repeated application of Lemma 7 proves this lemma. 

Proposition 2. If a destination node is connected to the source node, then this node lies on a face

that is juncture connected to the source node face.

The below theorem follows from Proposition 2 and Lemma 8.

Theorem 6. Algorithm MCFR guarantees termination and delivery of the message from the

source to all destinations connected to the source.

Efficiency bounds. Latency of an algorithm is the shortest path that the message may take to reach

the destination. In multicasting, the latency is the longest such path among all destinations. For la-

tency estimation, following Kuhn et al [49], we assume that the network graph G is bounded degree

since such a graph can be efficiently obtained from a unit-disk graph by computing a connected-

dominating set of G. The latency of a unicast concurrent face routing algorithm is established to

be O(t2) where t is the distance between the source and the target [18, Theorem 2].

Theorem 7. MCFR latency is in O(d2) where d is the Steiner tree diameter. 52

Proof: Let d be the diameter of the Steiner tree and m is the number of multicast destinations.

A Euclidean Steiner tree has at most m − 2 virtual nodes [38]. In the worst case, the multicast

message in MCFR has to sequentially reach all nodes in the Steiner tree. That is, the total latency is O((2m − 2)d2) which is O(md2). The theorem’s claim follows if the number of destinations is constant. 

Message cost of an algorithm is the total number of messages expended in delivering it to the

destinations. In the worst case, MCFR traverses every face of the graph. An edge is adjacent to

two faces, hence MCFR may send up to 2|E| messages where E is the number of edges in the

graph. However, for most graphs, MCFR is a lot more efficient. To give a more realistic message

cost estimate of MCFR we make several assumptions about the network graphs.

The graph is face smooth if there are two constants c1 and c2 that are independent of network

2 parameters such that (i) for each face ρ < c1a where ρ is the perimeter of the face, and a its area,

πd2 and (ii) for any two points in the graph, as < c2 4 where as is the area of all internal faces that intersect the line between these two points, and d is the Euclidean distance between them. For an internal face, the area computation is straightforward; for the external face, an area of an arbitrary

figure enclosing the graph, for example a convex hull, is considered. The first assumption places limits on how “ragged” the perimeter of the face may be, while the second limits how “uneven” the faces may be in size by assuming that the area of all intersecting faces is included in a certain disk whose diameter is related to the distance between two devices. These assumptions hold for most realistic wireless communication graphs such as unit-disk graphs. Steiner hull is the convex hull that contains the nodes of the Steiner tree. It is known that virtual nodes are internal to the

Steiner hull [38]. 53

Theorem 8. For face smooth graphs, the message cost for MCFR is in O(|H| + p|G|), where

|H| is the area of the Steiner hull and |A| is the area of the complete graph G.

Proof: We completely cover the Steiner hull H with unit-disks. See Figure 16 for illustration. √ In this arrangement, each unit disk covers a square with side length of 2. Since k is the maximum

node degree, the number of nodes in each unit disk is no more than k. Hence, the number of nodes

inside H is:

|H| k|H| k √ = ( 2)2 2

Since there are at most k neighbors, each node may be adjacent to at most k edges. A message

may be sent across each edge at most twice. Hence, the number messages to be sent inside |H| is

k2|H| which is in O(|H|).

Let us now estimate the number of messages it takes to traverse all the faces that intersect H.

Any convex polygon can be inscribed into a rectangle whose area is at most twice the size of that of the polygon [52]. This means that H can be inscribed into a rectangle whose area is at most 2|H|.

The perimeter of this rectangle is 4p2|H|. We assume that the graph is face-smooth. Combining

the two face smoothness conditions we obtain that the sum of the perimeters of all the internal

faces that intersect H has this relation:

π(4p2|H|)2 p2 = c c = 8πc c |H|, s 1 2 4 1 2

p p which means that ps is in O( |H|). Similarly, the perimeter of the external face is in O( |G|).

Since each face is traversed at most once, the total number of messages used to traverse internal

faces that intersect H as well as the external face is in O(p|H| + p|G|). Combined with the 54 number of messages needed to traverse faces inside the Steiner hull we get O(|H| + p|H| + p p |G|) = O(|H| + |G|). 

To summarize, Theorem 7 shows that the latency of message delivery of MCFR does not

depend on the overall network size, just on the distance between the source and the destinations;

Theorem 8 shows that the total number of messages sent by MCFR depends on the locations of

the destinations with respect to the source and the length of the external face of the graph.

3.3 Abstract Simulation

Setup. We employ a similar setup to that found in Section 2.3. We select a number of destination

devices which achieves a specific target rate: the percentage of non-source devices in the network

randomly marked as destinations. A target rate of 5% on a density of 7 results in 12 devices being

randomly marked as multicast destinations, rounding up.

Algorithms. We implement both sequential and concurrent multicasting algorithms. For sequen-

tial algorithms, we implement: the trivial algorithm that uses a unicast GFG to separately deliver

the message to each individual target, LGS [15], GMP as presented in the original paper [87] and

a variant of GMP where the Steiner tree is computed once at the source and is not recomputed

by every intermediate device. For concurrent multicasting, we implement MCFR which navigates

over Steiner tree. The trees are computed by the source. We also implement a concurrent add-on to

GMP, whereby GFG is replaced with CFR [18] as the unicast mechanism for messages with only

a single destination remaining.

Results. We evaluate the message cost and latency of the algorithms. Message cost is the number 55

55 50 MCFR, Steiner tree GMP 45 GMP, static tree LGS 40 GFG, unicast GMP, concurrent 35 30 25 20 15 10 5

message cost, number of packets per target 0 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle (a) by network density

50 MCFR, Steiner tree 45 GMP 40 GMP, static tree LGS 35 GFG, unicast GMP, concurrent 30 25 20 15 10 5

message cost, number of packets per target 0 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% target rate, percentage of targets to all nodes (b) by target rate

Figure 17: Abstract Simulation: Message cost normalized to number of destinations.

of messages it takes to deliver to all destination devices. Latency is the shortest path taken by the

algorithm to reach the destination furthest away from the source normalized to the optimal path to

this device.

We estimate both metrics by varying two parameters: network density and target rate. In one

experiment, density is varied while the target rate is constant at 5%. In another, density is 7 devices per unit square while target rate is varied. Figures 17 and 18 present the simulation results.

Analysis. Let us discuss message cost evaluation. The majority of the algorithms show a peak at 56

8 MCFR, Steiner tree 7 GMP GMP, static tree LGS 6 GFG, unicast GMP, concurrent 5

4

3

2

1 2 4 6 8 10 12 14 16 18 20

latency, time to reach farthest target over shortest path graph density, number of nodes per unit circle (a) by network density

12

10

8

6 MCFR, Steiner tree GMP 4 GMP, static tree LGS GFG, unicast 2 GMP, concurrent

0 5% 10% 15% 20% 25% 30% 35% 40% 45% 50%

latency, time to reach farthest target over shortest path target rate, percentage of targets to all nodes (b) by target rate

Figure 18: Abstract Simulation: Arrival latency normalized to optimal path (path stretch). 57 a critical density of about 6 (see Figure 17(a)). As expected, the GFG unicast algorithm is least efficient of these. MCFR performs the same as the others up until the critical region, after which the cost remains constant rather than dropping as the graph becomes dense. This is due to the lack of any greedy mechanism in MCFR. Target rate does not seemingly affect the GFG unicast algorithm; this is expected. However, it has a notable effect on the other algorithms (see Figure 17(b)). As the target rate increases, the message cost decreases. We normalize the message cost according to the total number of destinations chosen. Hence, these results show the increase in efficiency of the algorithms as they more effectively bundle messages to groups of destinations.

Let us now discuss the latency results. The sequential algorithms show a notable peak at the critical region (see Figure 18(a)). However, the concurrent algorithms show no such peak, and are remarkably close to the optimal path. Target rate has little effect on latency for any of the algorithms other than the unicast mechanism (see Figure 18(b)). A slight increase is visible for the sequential algorithms, but none is apparent for the concurrent algorithms. These results show that these algorithms are able to group message delivery without significant increase to any single path within the group.

3.4 Concrete Simulation

Setup. To evaluate the concrete performance of our algorithms, we use a setup similar to that in Section 2.4. The number of destinations is selected to be 5% of the total number of devices,

rounding up. We evaluate our algorithms’ performance at three power levels: 15 dBm, 7 dBm and

0 dBm. The weaker the signal, the less reliable message transmissions are.

We evaluate the performance of our algorithms according to three metrics analogous to those

in Section 2.4. However, the raw latency and message cost described there do not take into account 58 delivery success. For example, an unreliable algorithm may only consistently deliver to the nearest destination, and thus have seemingly low latency and message cost. To offset this, we divide the latency and message cost by the delivery ratio.

Algorithms. We simulate the GFG unicasting algorithm, LGS and both versions of GMP as de- scribed in Section 3.3. For concurrent multicasting, we simulate two versions of MCFR. In the

first version, MCFR navigates over Steiner tree; in the second, it routes over minimum Euclidean spanning tree. The trees are computed by the source.

In realistic environments, both concurrent and sequential algorithms have termination issues.

If messages are lost, MCFR packets may not find mates. In this case, the messages may traverse graph faces indefinitely. On the other hand, a sequential algorithm does not detect if a destination is disconnected, and will never reach it in this instance. To force termination, we introduce time to live (TTL) for each message. A message is discarded after its TTL expires. To determine optimal

TTL, we vary TTL then compute message cost and delivery ratio for MCFR with Steiner Tree and

15 dBm signal strength. The results are shown in Figure 19. The TTL of 55 hops seems to produce the best performance. For the rest of the experiments all algorithms have a TTL of 55.

Results and analysis. The simulation results for delivery ratio, latency and message cost of the simulated algorithms are shown in Figures 20, 21 and 22 respectively. Let us discuss the results.

The reliability of MCFR exceeds that of sequential multicasting algorithms. The gap widens as signal strength lowers and message loss increases. For 0 dBm, the delivery ratio of MCFR Steiner

Tree never drops below 90% while the delivery ratio of most of the sequential algorithms goes below 40%. Interestingly, the reliability of simple unicasting to all destinations exceeds that of 59

250 1 225 0.9 200 0.8 175 0.7 150 0.6 125 0.5 100 0.4 75 0.3 50 0.2 25 message cost 0.1 delivery ratio message cost, number of packets per target 0 0 delivery ratio, percentage of targets reached 10 20 30 40 50 60 70 80 TTL

Figure 19: Time to live evaluation for MCFR, Steiner Tree, 15 dBm.

1 1

0.8 0.8

0.6 0.6

0.4 0.4 MCFR, Steiner tree MCFR, Steiner tree MCFR, spanning tree MCFR, spanning tree GMP GMP 0.2 GMP, static tree 0.2 GMP, static tree LGS LGS GFG, unicast GFG, unicast

delivery ratio, percentage of targets reached 0 delivery ratio, percentage of targets reached 0 2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle graph density, number of nodes per unit circle (a) 15 dBm (b) 7 dBm

1

0.8

0.6

0.4 MCFR, Steiner tree MCFR, spanning tree GMP 0.2 GMP, static tree LGS GFG, unicast

delivery ratio, percentage of targets reached 0 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle (c) 0 dBm

Figure 20: Delivery ratio. 60

30 25 MCFR, Steiner tree MCFR, Steiner tree MCFR, spanning tree MCFR, spanning tree 25 GMP 20 GMP GMP, static tree GMP, static tree LGS LGS 20 GFG, unicast GFG, unicast 15 15 10 10

5 5

0 0 2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20 latency, time to reach farthest target over shortest path graph density, number of nodes per unit circle latency, time to reach farthest target over shortest path graph density, number of nodes per unit circle (a) 15 dBm (b) 7 dBm

35 MCFR, Steiner tree 30 MCFR, spanning tree GMP GMP, static tree 25 LGS GFG, unicast 20

15

10

5

0 2 4 6 8 10 12 14 16 18 20

latency, time to reach farthest target over shortest path graph density, number of nodes per unit circle (c) 0 dBm

Figure 21: Latency. 61

600 400 MCFR, Steiner tree MCFR, Steiner tree MCFR, spanning tree 350 MCFR, spanning tree 500 GMP GMP GMP, static tree 300 GMP, static tree LGS LGS 400 GFG, unicast GFG, unicast 250

300 200

150 200 100 100 50

message cost, number of packets per target 0 message cost, number of packets per target 0 2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle graph density, number of nodes per unit circle (a) 15 dBm (b) 7 dBm

250

200

150 MCFR, Steiner tree MCFR, spanning tree GMP 100 GMP, static tree LGS GFG, unicast 50

message cost, number of packets per target 0 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle (c) 0 dBm

Figure 22: Message cost. 62

GMP and LGS. This is due to the difference in their operation. To optimize message cost, GMP and LGS combine messages to multiple destinations as long as possible. However, a loss of such combined message results in failed delivery to all intended destinations.

The latency of concurrent algorithms is higher than that of sequential algorithms. This is due to the greater number of messages contending for radio channel access. However, with lower signal strength and greater message loss, the gap narrows. For 0 dBm, latency of concurrent and sequential algorithms is similar. The higher delivery ratio of concurrent algorithms matches the relative speed of delivery of the sequential algorithms. The only exception is the unicast GFG whose latency continues to be high.

Concurrent and sequential algorithms exhibit different message cost dynamics. At lower den- sities, a greater number of destinations are disconnected. This forces sequential algorithms to send aimless messages to wander around the network until their TTL expires. Concurrent algorithms do not have this issue. As the network density grows, the relative frugality of the sequential algorithms gives them message cost advantage over concurrent algorithms.

3.5 Conclusion

MCFR provides good practical reliability and asymptotic latency that depends only on the

Steiner tree diameter. It also provides low practical message cost in sparse networks by inher- ently cleaning up messages with disconnected destinations. While MCFR’s performance suffers at higher densities, this gap is closed as the reliability of the network itself decreases further jeopar- dizing sequential algorithms. CHAPTER 4

Multisource broadcast

Multisource broadcast problem [37] defines several sources that need to distribute individ-

ual messages to every device in the network. Each source knows the coordinates of the other

sources. So far, researchers have focused on offline centralized synchronous solutions optimizing

the number of broadcast rounds. We apply the problem to the context of geometric routing. A

trivial solution is for every source to independently broadcast their message. This solution requires

O(sn) messages where s is the number of sources and n is the total number of network devices.

The latency of this solution is O(d) where d is the network diameter. This solution, however, may be inefficient. There is a way to save messages at the expense of greater latency. For example, at the other extreme the sources may compute a minimum Euclidean length or Steiner tree, then geometrically route their messages to a single device that, after collecting all messages, broadcasts the solution. The message complexity of this solution is O(sd + n) while the latency is O(2d).

That is, the second solution achieves significant savings in message complexity by doubling the broadcast latency.

We present an intermediate solution to the multisource broadcast problem that takes advantage of the geocasting algorithms described earlier. In this solution, the tradeoff between latency and message cost can be adjusted between these two extremes. Our solution is as follows. Designate a common geocast region. To ensure that at least one device belongs to the region, position the region such that it contains at least one source device. Geocast the messages from all sources to 63 64

350 250 15 dBm 300 7 dBm 200 0 dBm 250

150 200

150 100

100

15 dBm 50 50 7 dBm

0 dBm latency, path stretch of longest delivery

message cost, number of packets per target 0 0 2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle graph density, number of nodes per unit circle (a) Message cost (b) Latency

1 15 dBm 7 dBm 0.8 0 dBm

0.6

0.4

0.2

0 delivery ratio, percentage of content delivered 2 4 6 8 10 12 14 16 18 20 graph density, number of nodes per unit circle (c) Delivery ratio

Figure 23: Concrete simulation: performance of flooding under changing signal strength. this region. It is guaranteed that at least one device then receives messages from every source.

Once a device receives all messages, it starts a general broadcast. The complexity of this solution is as follows: latency is O(2dn + dg) where dn and dg are the maximum distance to the geocast

area and within geocast area respectively; and message complexity is O(sdn + sng + (n − ng)) where ng is the number of devices in the geocast area. Depending on the area size, the asymptotic complexity metrics of this solution approach the two extremes. 65

4.1 Simulation

Setup. To evaluate the performance of our algorithms, we use a similar setup to those described in Sections 2.4 and 3.4. We also use the three metrics in those sections, but the definitions for delivery ratio and latency change. Delivery ratio is the number of devices that receive a message from each source divided by the number of reachable devices for each source. Latency is the time it takes for the last device to receive a message from the last source to reach it divided by the time to unicast this message from that source to the device.

Algorithms. We simulate a multiple broadcast algorithm. Each source floods their message si- multaneously, and no steps are made to merge or aggregate any messages.

Results and analysis. The simulation results for delivery ratio, latency and message cost of the simulated algorithms are shown in Figure 23. Latency decreases significantly with signal strength

(See Figure 23(b)). This is explained as follows: as signal strength increases, more devices contend for channel access. However, even at low power, the latency is still significant: nearly 100 times longer than delivering the message directly using the optimum path. Message cost and delivery vary only marginally with signal strength, but the drop in delivery overall is alarming: down to nearly 10% at the critical region.

4.2 Conclusion

It is clear from the results that simple flooding from each source is an ineffective solution. As the density increases toward the critical region, delivery quickly descends to about 10%. Latency rises consistently, and at 15 dBM (WiFi) increases the wait time for a device to receive a message 66 by over 200 times the optimum. Hence, formal solutions to multisource broadcast, such as the presented geocasting algorithm, are required. CHAPTER 5

Conclusions

In this dissertation, we presented concurrent routing as an effective building block to solutions of a number of wireless sensor network routing tasks: geocasting, multicasting and multisource broadcast. We thoroughly studied each case: provided theoretical performance bounds, abstract and concrete implementation and comparative performance evaluation to existing solutions. We showed the value of abstract simulation to confirm theoretical correctness and expected perfor- mance, while also uncovering valuable performance details. We furthermore delved into the major issues theoreticians and abstract protocol designers face when considering concrete implemen- tation. We showed the role message loss, interference and channel contention play in protocol performance. Rather than just validating the pre-conceived ideas, the simulation results influenced the design and operation of our algorithms themselves.

We hope that this dissertation provides a reference for building reliable ad hoc wireless routing algorithms.

67 References

[1] Ittai Abraham, Danny Dolev, and Dahlia Malkhi. Lls: a locality aware location service for mobile ad hoc networks. In Proceedings of the 2004 joint workshop on Foundations of mobile computing, pages 75–84. ACM, 2004. [2] Jordan Adamek, Mikhail Nesterenko, James Scott Robinson, and Sebastien´ Tixeuil. Concur- rent Geometric Multicasting. Research report, UPMC Sorbonne Universites,´ 2017. [3] Jordan Adamek, James Scott Robinson, Mikhail Nesterenko, and Sebastien Tixeuil. Reliable stateless geocasting. In Proceedings of the 36th IEEE International Symposium on Reliable Distributed Systems (SRDS), page to appear, September 2017. [4] A. Arora, P. Dutta, S. Bapat, V.Kulathumani, H. Zhang, V.Naik, V.Mittal, H. Cao, M. Gouda, Y. Choi, T. Herman, S. Kulkarni, U. Arumugam, M. Nesterenko, A. Vora, and M. Miyashita. A line in the sand: a wireless sensor networking for target detection, classification, and track- ing. Computer Networks, Special Issue on Future Advances in Military Communication and Technology, 46(5):605–634, December 2004. [5] A. Arora, R. Ramnath, P. Sinha, E. Ertin, S. Bapat, V. Naik, V. Kulathumani, H. Zhang, M. Sridharan, S. Kumar, H. Cao, N. Seddon, C. Anderson, T. Herman, C. Zhang, N. Trivedi, M.G. Gouda, Y.-R. Choi, M. Nesterenko, R. Shah, S.S. Kulkarni, M. Aramugam, L. Wang, D.E. Culler, P. Dutta, C. Sharp, G. Tolle, M. Grimmer, B. Ferriera, and K. Parker. Project exs- cal (short abstract). In Proceedings of Distributed Computing in Sensor Systems, First IEEE International Conference, (DCOSS), volume 3560 of Lecture Notes in Computer Science, pages 393–394, Marina del Rey, CA, USA, June 2005. Springer. [6] Elyes Ben Hamida, Guillaume Chelius, and Jean-Marie Gorce. On the complexity of an accurate and precise performance evaluation of wireless networks using simulations. In Proceedings of the 11th international symposium on Modeling, analysis and simulation of wireless and mobile systems, pages 395–402. ACM, 2008. [7] POLASTRE J BERKELEY, R SZEWCZYK, et al. The mote revolution low power wireless sensor network [f], 2004. [8] P. Bose, P. Morin, I. Stojmenovic, and J. Urrutia. Routing with guaranteed delivery in ad hoc wireless networks. The Journal of Mobile Communication, Computation and Information, 7(6):48–55, 2001. [9] Prosenjit Bose and Pat Morin. An improved algorithm for subdivision traversal without extra storage. International Journal of Computational Geometry and Applications, 12(4):297–308, 2002. [10] Prosenjit Bose, Pat Morin, Ivan Stojmenovic,´ and Jorge Urrutia. Routing with guaranteed delivery in ad hoc wireless networks. Wireless networks, 7(6):609–616, 2001. 68 69

[11] Josh Broch, David A. Maltz, David B. Johnson, Yih-Chun Hu, and Jorjeta Jetcheva. A performance comparison of multi-hop wireless ad hoc network routing protocols. In Mobile Computing and Networking, pages 85–97, 1998. [12] Arnaud Casteigts, Amiya Nayak, and Ivan Stojmenovic. Multicasting, geocasting, and any- casting in sensor and actuator networks. Wireless Sensor and Actuator Networks, page 127, 2010. [13] M Castillo-Effer, Daniel H Quintela, Wilfrido Moreno, Ramiro Jordan, and Wayne Westhoff. Wireless sensor networks for flash-flood alerting. In Devices, Circuits and Systems, 2004. Proceedings of the Fifth IEEE International Caracas Conference on, volume 1, pages 142– 146. IEEE, 2004. [14] Guillaume Chelius, Antoine Fraboulet, and Eric Fleury. Worldsens: a fast and accurate development framework for sensor network applications. In Proceedings of the 2007 ACM symposium on Applied computing, pages 222–226. ACM, 2007. [15] Kai Chen and Klara Nahrstedt. Effective location-guided tree construction algorithms for small group multicast in MANET. In Proceedings of the 21st Annual Joint Conference of the IEEE Computer and Communications Society (INFOCOM-02), volume 3 of Proceedings IEEE INFOCOM 2002, pages 1180–1189, Piscataway, NJ, USA, June 23–27 2002. IEEE Computer Society. [16] Pei-Chun Cheng, Jui-Ting Weng, Lung-Chih Tung, Kevin C Lee, Mario Gerla, and Jerome Haerri. Geodtn+ nav: a hybrid geographic and dtn routing with navigation assistance in urban vehicular networks. MobiQuitous/ISVCS, 47, 2008. [17] Brent N Clark, Charles J Colbourn, and David S Johnson. Unit disk graphs. Discrete mathe- matics, 86(1-3):165–177, 1990. [18] Thomas Clouser, Mark Miyashita, and Mikhail Nesterenko. Concurrent face traversal for efficient geometric routing. Journal of Parallel and Distributed Computing, 72(5):627–636, 2012. [19] Inc. Crossbow Technology. Wireless measurement system, mica2. [20] B Das, E Sivakumar, and W Bhargavan. Routing in ad hoc networks usin a virtual backbone. In Proc. ACM SIGCOMM, volume 97, pages 1–20, 1997. [21] Bevan Das and Vaduvur Bharghavan. Routing in ad-hoc networks using minimum connected dominating sets. In Communications, 1997. ICC’97 Montreal, Towards the Knowledge Mil- lennium. 1997 IEEE International Conference on, volume 1, pages 376–380. IEEE, 1997. [22] S. Datta, I. Stojmenovic, and J. Wu. Internal node and shortcut based routing with guaranteed delivery in wireless networks. Cluster Computing, 5(2):169–178, April 2002. [23] Mark de Berg, Marc J. van Kreveld, Rene´ van Oostrum, and Mark H. Overmars. Simple traversal of a subdivision without extra storage. International Journal of Geographical In- formation Science, 11(4):359–373, 1997. 70

[24] Prabal Dutta, Mike Grimmer, Anish Arora, Steven Bibyk, and David Culler. Design of a wireless sensor network platform for detecting rare, random, and ephemeral events. In Pro- ceedings of the 4th international symposium on Information processing in sensor networks, page 70. IEEE Press, 2005. [25] Jeremy Elson and Deborah Estrin. Sensor networks: a bridge to the physical world. In Wireless sensor networks, pages 3–20. Springer, 2004. [26] G.G. Finn. Routing and addressing problems in large metropolitan-scale internetworks. Technical Report ISI/RR-87-180, March 1987. [27] Antoine Fraboulet, Guillaume Chelius, and Eric Fleury. Worldsens: development and proto- typing tools for application specific wireless sensors networks. In Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium on, pages 176–185. IEEE, 2007. [28] K Ruben Gabriel and Robert R Sokal. A new statistical approach to geographic variation analysis. Systematic Biology, 18(3):259–278, 1969. [29] Rajiv Gandhi, Arunesh Mishra, and Srinivasan Parthasarathy. Minimizing broadcast la- tency and redundancy in ad hoc networks. IEEE/ACM Transactions on Networking (TON), 16(4):840–851, 2008. [30] D. Ganesan, B. Krishnamachari, A. Woo, D. Culler, D. Estrin, and S. Wicker. Complex behavior at scale: An experimental study of low-power wireless sensor networks. Technical Report CSD-TR 02-0013, UCLA, 2002. [31] L. Girod, J. Elson, A. Cerpa, T. Stathopoulos, N. Ramanathan, and D. Estrin. EmStar: a soft- ware environment for developing and deploying wireless sensor networks. In Proceedings of USENIX 04, pages 283–296, 2004. [32] L. Girod, T. Stathopoulos, N. Ramanathan, J. Elson, D. Estrin, E. Osterweil, and T. Schoell- hammer. A system for simulation, emulation, and deployment of heterogeneous sensor net- works. In Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys), pages 201–213, Baltimore, MD, USA, November 2004. ACM. [33] T. He, S. Krishnamurthy, J.A. Stankovic, T.F. Abdelzaher, L. Luo, R. Stoleru, T. Yan, L. Gu, J. Hui, and B.H. Krogh. Energy-efficient surveillance system using wireless sensor networks. In Proceedings of the International Conference on Mobile Systems, Applications and Services (MobiSys). USENIX, June 2004. [34] Tian He, John A Stankovic, Chenyang Lu, and Tarek Abdelzaher. Speed: A stateless protocol for real-time communication in sensor networks. In Distributed Computing Systems, 2003. Proceedings. 23rd International Conference on, pages 46–55. IEEE, 2003. [35] Jason Hill and David Culler. A wireless embedded sensor architecture for system-level opti- mization. Technical report, UC Berkeley Technical Report, 2002. [36] SC-H Huang, P-J Wan, Xiaohua Jia, Hongwei Du, and Weiping Shang. Minimum-latency broadcast scheduling in wireless ad hoc networks. In INFOCOM 2007. 26th IEEE Interna- tional Conference on Computer Communications. IEEE, pages 733–739. IEEE, 2007. 71

[37] Scott C-H Huang, Hsiao-Chun Wu, and Sundaraja Sitharama Iyengar. Multisource broadcast in wireless networks. IEEE Transactions on Parallel and Distributed Systems, 23(10):1908– 1914, 2012. [38] F.K. Hwang, D.S. Richards, and P. Winter. The Steiner Tree Problem, volume 53 of Annals of Discrete Mathematics. North-Holland: Elsevier, 1992. [39] Tomasz Imielinski´ and Julio C Navas. Gps-based geographic addressing, routing, and re- source discovery. Communications of the ACM, 42(4):86–92, 1999. [40] Crossbow Technology Inc. Micaz wireless measurement system, October 2004. [41] David B Johnson and David A Maltz. Dynamic source routing in ad hoc wireless networks. In Mobile computing, pages 153–181. Springer, 1996. [42] Joseph M Kahn, Randy H Katz, and Kristofer SJ Pister. Next century challenges: mobile networking for smart dust. In Proceedings of the 5th annual ACM/IEEE international con- ference on Mobile computing and networking, pages 271–278. ACM, 1999. [43] B. Karp and H.T. Kung. GPSR: Greedy perimeter stateless routing for wireless networks. In Proceedings of the Sixth Annual ACM/IEEE International Conference on Mobille Computing and Networking (MobiCom), pages 243–254. ACM Press, August 2000. [44] Young-Bae Ko and Nitin H Vaidya. Geocasting in mobile ad hoc networks: Location-based multicast algorithms. In Mobile Computing Systems and Applications, 1999. Proceedings. WMCSA’99. Second IEEE Workshop on, pages 101–110. IEEE, 1999. [45] Young-Bae Ko and Nitin H Vaidya. Geotora: A protocol for geocasting in mobile ad hoc net- works. In Network Protocols, 2000. Proceedings. 2000 International Conference on, pages 240–250. IEEE, 2000. [46] Young-Bae Ko and Nitin H Vaidya. Location-aided routing (lar) in mobile ad hoc networks. Wireless Networks, 6(4):307–321, 2000. [47] Dariusz R Kowalski and Andrzej Pelc. Centralized deterministic broadcasting in undirected multi-hop radio networks. In Approximation, Randomization, and Combinatorial Optimiza- tion. Algorithms and Techniques, pages 171–182. Springer, 2004. [48] Evangelos Kranakis, Harvinder Singh, and Jorge Urrutia. Compass routing on geometric networks. In in Proc. 11 th Canadian Conference on Computational Geometry. Citeseer, 1999. [49] F. Kuhn, R. Wattenhofer, Y. Zhang, and A. Zollinger. Geometric ad-hoc routing: Of theory and practice. 22nd ACM Symposium on the Principles of Distributed Computing (PODC), July 2003. [50] F. Kuhn, R. Wattenhofer, and A. Zollinger. Asymptotically optimal geometric mobile ad- hoc routing. In 6th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications (DIALM), Atlanta, Georgia, USA, September 2002. 72

[51] F. Kuhn, R. Wattenhofer, and A. Zollinger. Worst-case optimal and average-case efficient geometric ad-hoc routing. In 4th International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), pages 267–278, Annapolis, Maryland, USA, June 2003. [52] Marek Lassak. Approximation of convex bodies by rectangles. Geometriae Dedicata, 47(1):111–117, 1993. [53] Chungki Lee, Mostafa Hamed Ammar, and James Edward Burns. Randomized multi-source broadcast protocols in multi-hop radio networks. Technical report, Georgia Institute of Tech- nology, 1993. [54] P. Levis, N. Lee, M. Welsh, and D. Culler. TOSSIM: accurate and scalable simulation of entire tinyos applications. In Proceedings of the first international conference on embedded networked sensor systems, pages 126–137. ACM Press, 2003. [55] Jinyang Li, John Jannotti, Douglas SJ De Couto, David R Karger, and Robert Morris. A scalable location service for geographic ad hoc routing. In Proceedings of the 6th annual international conference on Mobile computing and networking, pages 120–130. ACM, 2000. [56] Jie Lian, Kshirasagar Naik, Yunhao Liu, and Lei Chen. Virtual surrounding face geocasting with guaranteed message delivery for ad hoc and sensor networks. In Network Protocols, 2006. ICNP’06. Proceedings of the 2006 14th IEEE International Conference on, pages 198– 207. IEEE, 2006. [57] Hyojun Lim and Chongkwon Kim. Multicast tree construction and flooding in wireless ad hoc networks. In Proceedings of the 3rd ACM international workshop on Modeling, analysis and simulation of wireless and mobile systems, pages 61–68. ACM, 2000. [58] Janne Lindqvist. Counting to infinity. In Seminar on Internetworking, Helsinki University of Technology Telecommunications, Software and Multimedia Laboratory, 2004. [59] P. C. Liu and R. C. Geldmacher. On the deletion of nonplanar edges of a graph. In Proc. of the 10th Southeastern Conference on Combinatorics, Graph Theory, and Computing, pages 727–738, 1979. [60] Joseph Macker. Mobile ad hoc networking (manet): Routing protocol performance issues and evaluation considerations. 1999. [61] Alan Mainwaring, David Culler, Joseph Polastre, Robert Szewczyk, and John Anderson. Wireless sensor networks for habitat monitoring. In Proceedings of the 1st ACM international workshop on Wireless sensor networks and applications, pages 88–97. Acm, 2002. [62] Martin Mauve, Holger Fußler,¨ Jorg¨ Widmer, and Thomas Lang. Position-based multi- cast routing for mobile ad-hoc networks. Mobile Computing and Communications Review, 7(3):53–55, 2003. [63] ns-3 (network simulator 3). https://www.nsnam.org/. [64] Julio C. Navas and Tomasz Imielinski. Geocast - geographic addressing and routing. In MO- BICOM ’97, Proceedings of the Third Annual ACM/IEEE International Conference on Mo- bile Computing and Networking, Budapest, Hungary, September 26-30, 1997. ACM, 1997. 73

[65] Michael J Neely and Rahul Urgaonkar. Optimal backpressure routing for wireless networks with multi-receiver diversity. Ad Hoc Networks, 7(5):862–881, 2009. [66] ns-2 (network simulator 2). http://www.isi.edu/nsnam/ns/. [67] Sung Park, Andreas Savvides, and Mani B. Srivastava. SensorSim: A simulation framework for sensor networks. In Proceedings of MSWiM, August 2000. [68] Vincent Douglas Park and M Scott Corson. A highly adaptive distributed routing algorithm for mobile wireless networks. In INFOCOM’97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution., Pro- ceedings IEEE, volume 3, pages 1405–1413. IEEE, 1997. [69] Wei Peng and Xi-Cheng Lu. On the reduction of broadcast redundancy in mobile ad hoc net- works. In Proceedings of the 1st ACM international symposium on Mobile ad hoc networking & computing, pages 129–130. IEEE Press, 2000. [70] Charles Perkins, Elizabeth Belding-Royer, and Samir Das. Ad hoc on-demand distance vec- tor (aodv) routing. Technical report, 2003. [71] L.F. Perrone and D.M. Nicol. A scalable simulator for TinyOS applications. In Winter Simulation Conference, 2002. [72] Joseph Polastre, Robert Szewczyk, and David Culler. Telos: enabling ultra-low power wire- less research. In Proceedings of the 4th international symposium on Information processing in sensor networks, page 48. IEEE Press, 2005. [73] J. Polley, D. Blazakis, J. McGee, D. Rusk, J.S. Baras, and M. Karir. ATEMU: A fine-grained sensor network simulator. In Proceedings of the First IEEE Communications Society Con- ference on Sensor and Ad Hoc Communications and Networks (SECON), Santa Clara, CA, USA, October 2004. [74] Amir Qayyum, Laurent Viennot, and Anis Laouiti. Multipoint relaying: An efficient tech- nique for flooding in mobile wireless networks. PhD thesis, INRIA, 2000. [75] Karim Seada and Ahmed Helmy. Efficient and robust geocasting protocols for sensor net- works. Computer Communications, 29(2):151–161, 2006. [76] G. Simon, P. Volgyesi,¨ M. Maroti,´ and A. Ledeczi.´ Simulation-based optimization of com- munication protocols for large-scale wireless sensor networks. In IEEE Aerospace Confer- ence, 2003. [77] Raghupathy Sivakumar, Bevan Das, and Vaduvur Bharghavan. Spine routing in ad hoc net- works. Cluster Computing, 1(2):237–248, 1998. [78] A. Sobeih, W.-P. Chen, J.C. Hou, L.-C. Kung, N. Li, H. Lim, H.-Y. Tyan, and H. Zhang. J-sim: A simulation environment for wireless sensor networks. In Annual Simulation Sym- posium, pages 175–187. IEEE Computer Society, 2005. [79] John Sucec and Ivan Marsic. An efficient distributed network-wide broadcast algorithm for mobile ad hoc networks. 2000. 74

[80] S. Sundresh, W. Kim, and G. Agha. SENS: A sensor, environment, and network simulator. In The 37th Annual Symposium on Simulation (ANSS), Washington, DC, USA, April 2004. [81] B. Titzer, D.K. Lee, and J. Palsberg. Avrora: Scalable sensor network simulation with precise timing. In Proceedings of the International Conference on Information Processing in Sensor Networks (IPSN), pages 477–482. IEEE, 2005. [82] Gilman Tolle, Joseph Polastre, Robert Szewczyk, David Culler, Neil Turner, Kevin Tu, Stephen Burgess, Todd Dawson, Phil Buonadonna, David Gay, et al. A macroscope in the redwoods. In Proceedings of the 3rd international conference on Embedded networked sen- sor systems, pages 51–63. ACM, 2005. [83] Godfried T Toussaint. The relative neighbourhood graph of a finite planar set. Pattern recog- nition, 12(4):261–268, 1980. [84] Yu-Chee Tseng, Sze-Yao Ni, Yuh-Shyan Chen, and Jang-Ping Sheu. The broadcast storm problem in a mobile ad hoc network. Wireless networks, 8(2/3):153–167, 2002. [85] Maneesh Varshney, Defeng Xu, Mani Srivastava, and Rajive Bagrodia. Senq: a scalable simulation and emulation environment for sensor networks. In IPSN ’07: Proceedings of the 6th international conference on Information processing in sensor networks, pages 196–205, New York, NY, USA, 2007. ACM. [86] D. Watson and M. Nesterenko. Mule: a hybrid simulator for testing and debugging wireless sensor networks. In Second International Workshop on Sensor and Actor Network Protocols and Applications, pages 67–71, August 2004. [87] Shibo Wu and K. Selcuk Candan. GMP: Distributed geographic in wireless sensor networks. In 26th IEEE International Conference on Distributed Computing Systems (26th ICDCS’06), page 49, Lisboa, Portugal, July 2006. IEEE Computer Society. [88] Saleh Yousefi, Mahmoud Siadat Mousavi, and Mahmood Fathy. Vehicular ad hoc networks (vanets): challenges and perspectives. In ITS Telecommunications Proceedings, 2006 6th International Conference on, pages 761–766. IEEE, 2006. [89] Sherali Zeadally, Ray Hunt, Yuh-Shyan Chen, Angela Irwin, and Aamir Hassan. Vehicu- lar ad hoc networks (vanets): status, results, and challenges. Telecommunication Systems, 50(4):217–241, 2012. [90] Xiang Zeng, Rajive Bagrodia, and Mario Gerla. Glomosim: a library for parallel simula- tion of large-scale wireless networks. In PADS ’98: Proceedings of the twelfth workshop on Parallel and distributed simulation, pages 154–161, Washington, DC, USA, 1998. IEEE Computer Society. [91] Gang Zhou, Tian He, Sudha Krishnamurthy, and John A. Stankovic. Impact of radio irreg- ularity on wireless sensor networks. In MobiSys ’04: Proceedings of the 2nd international conference on Mobile systems, applications, and services, pages 125–138, New York, NY, USA, 2004. ACM.