The basic technique in geographic routing is called greedy forwarding,where packets are routed to a neighbouring node that is geographically closer to the destination than itself in ever
Trang 1Practical 3D Geographic Routing for
Wireless Sensor Networks
PRATIBHA SUNDAR S
A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE
DEPARTMENT OF COMPUTER SCIENCE
SCHOOL OF COMPUTINGNATIONAL UNIVERSITY OF SINGAPORE
January 2010
Trang 2This research project would not have been possible without the support ofmany people I would like to express my gratitude to my supervisor, Dr BenLeong who has been patient, helpful and offered invaluable assistance, sup-port and guidance
I also thank all my graduate student friends, especially Jiangwei, Duc andChen Yu for sharing the literature, time and assistance My sincere grat-itude goes to Padmanabha Venkatagiri who helped me understand certainconcepts in the literature It had been a pleasant learning experience I thankGod for blessing me with such wonderful parents, aunt and uncle for theirunderstanding, unconditional love, infinite faith and support throughout theduration of my studies I also thank God for giving me the opportunity tostudy at NUS It had been a memorable learning experience
Trang 3Table of Contents
1.1 Background 1
1.2 Motivation 3
1.3 Research Contributions 4
1.4 Organization 5
2 Related Work 6 2.1 2D Planar-graph Based 6
2.1.1 Planarization 7
2.1.2 Face routing 11
2.2 2D topology-based 15
2.2.1 Reactive protocols 15
2.2.2 Pro-active protocols 16
2.3 2D beacon-based 19
2.3.1 Beacon vector routing (BVR) 19
2.3.2 GLIDER 19
2.3.3 MGGR 20
2.4 3D Geographic Routing 21
2.5 3D unit ball graph based routing 25
2.6 3D hull based routing 27
2.7 Summary 27
3 GDSTR-3D 30 3.1 Routing Algorithm 32
3.1.1 Illustration 36
3.2 Tree Building 37
3.3 limiting Number of Children 42
3.4 Discussion 46
Trang 44 Implementation 47
4.1 Design considerations 47
4.1.1 Storage requirement - Data Structures 48
4.1.2 Bandwidth requirement - Message Types 49
4.2 Functional architecture 52
4.2.1 Logical link layer 52
4.2.2 Routing layer (GDSTR) 52
4.2.3 Application Layer 54
5 Evaluation 55 5.1 Evaluation criteria 56
5.2 Success rate 57
5.3 Hop stretch 58
5.4 Storage cost 61
5.5 Overhead cost 66
5.6 Discussion 70
5.6.1 Root of the Hull Tree 71
5.6.2 Geometry of the Hull 72
5.6.3 Factors affecting Performance 74
5.6.4 Issues with Face Routing 77
5.7 Summary 80
6 Conclusion 81 6.1 Future research 82
Trang 5List of Figures
1.1 Example of communication void 22.1 Planarization by GG, RNG and occurrence of pathology in a non-UDG case 82.2 Routing failure due to crossing links by obstacles 92.3 Identifying critical links removing which will partition the net-work As shown, critical links are traversed in both directions bythe probe 112.4 Types of Face Change during a face walk 122.5 Cell-based forwarding results in the solid path and position-based Greedy forwarding in the dotted path 172.6 Planarization effected by two trees 182.7 Crossing edge in a QUDG with R/r <=√
2 222.8 Any 1-local routing algorithm is defeated by G1/G2 if all routingfunctions are derangements 242.9 The four possible combinations of derangements for local routingfunctionsf′
2.10 Virtual grid formed from dual graphs to border the void (takenfrom [9]) 262.11 Example of greedy-hull-greedy (GHG) routing (taken from [31]) 283.1 Overview of GDSTR tree traversal 333.2 Illustration of routing using GDSTR-3D 373.3 Illustration of how undeliverable packet is handled in GDSTR-3D 383.4 Different 3D hull alternatives 413.5 Handshake between neighbour nodes for limiting number of chil-dren 454.1 Classification of message exchanged among nodes for GDSTR 494.2 Functional diagram of GDSTR implementation 53
Trang 65.1 Comparison of success rates for GDSTR-3D, CLDP+GFR, GDSTRfor 3D networks 575.2 Plot of routing stretch of GDSTR-3D and GDSTR [25] 2-hop withfragmentation against network density for 3D networks 595.3 Plot of routing stretch of CLDP+GFR [15] against network densityfor 3D networks 595.4 Plot of hop stretch against network size for GDSTR, GDSTR-3D
in low density 605.5 Plot of hop stretch against network size for GDSTR, GDSTR-3D
in high density 605.6 Plot of hop stretch against network size for CLDP+GFR 615.7 Comparison of average storage requirements per Node for GDSTR,GDSTR-3D and CLDP+GFR 625.8 Comparison of maximum storage requirements per Node for GDSTR,GDSTR-3D and CLDP+GFR 635.9 Average storage for GDSTR, GDSTR-3D and CLDP+GFR in lowdensity 635.10 Average storage for GDSTR, GDSTR-3D and CLDP+GFR in highdensity against different network size 645.11 Maximum storage for GDSTR, GDSTR-3D and CLDP+GFR in lowdensity 645.12 Maximum storage for GDSTR, GDSTR-3D and CLDP+GFR in highdensity against different network size 655.13 Plot of beacon message overhead required to converge per nodeagainst network density for GDSTR, GDSTR-3D 675.14 Plot of beacon message overhead required to converge per nodeagainst network density for CLDP+GFR 675.15 Plot of beacon message overhead required to converge per nodeagainst network density for GDSTR, GDSTR-3D in 2-hop withfragmentation 685.16 Plot of beacon message overhead required to converge per nodeagainst network density for CLDP+GFR 685.17 Plot of total transmission overhead required to converge per nodeagainst network size for GDSTR, GDSTR-3D in low density 695.18 Plot of total transmission overhead required to converge per nodeagainst network size for GDSTR, GDSTR-3D in high density 695.19 Plot of total transmission overhead required to converge per nodeagainst network size for CLDP+GFR 70
Trang 75.20 Topology divided into routing regions w.r.t node’s hop count tothe roots 715.21 Example of how direction of routing affect hop stretch 735.22 Examples of poor and good selection of center for spheres 735.23 Example of false positives created by projection of 3D convex hull
on 2D 745.24 Void regions are located to one side of the topology 765.25 False positives caused by overlapping regions in the network 765.26 Nodes sending data to base station 77
5.27 Failure of best intersection and first intersection face routing 78 5.28 Failure of closest node and closest point face routing 79
Trang 8Wireless sensor networks have been deployed in various applications likehabitat or environment monitoring and the network is likely to grow in size.Compared to traditional ad-hoc routing, geographic routing algorithms areattractive for such networks Many existing works on geographic routing aredone for two dimensional topologies But in real world, many sensor net-
works are deployed in three dimensions Greedy Distributed Spanning Tree
Routing(GDSTR) [25] have shown to perform better than some well-known gorithms like CLDP+GFR [15] for 2D networks In this work, we implemented
al-GDSTR in TinyOS, developed a 3D extension of the algorithm, called al-
GDSTR-3D, and compared the performance of the new algorithm to GDSTR [25] andCLDP+GFR [15] Our evaluations showed that GDSTR-3D performs betterthan 2D algorithms with comparable or even lower cost Our GDSTR-3D us-ing spheres performs 25% better than GDSTR-2D and 85% better than CLDP
in terms of hop stretch.
Trang 9The basic technique in geographic routing is called greedy forwarding,
where packets are routed to a neighbouring node that is geographically closer
to the destination than itself in every hop Even though greedy forwarding
is efficient, it will fail in cases where a node is unable to find a neighbourgeographically closer to the destination than itself This occurrence is called
a communication void This can be seen in the Figure 1.1 where node S needs
to send a packet to the destination node (D) and there is no neighbour closer
Trang 10Figure 1.1: Example of communication void
to D than S The node S is called a local minimum In such case, an
alter-nate approach is needed to handle this void Prior research have focused ondeveloping an efficient algorithm to handle situations when greedy forward-ing fails [12, 15, 26] Since geographic routing relies on position information,another associated research problem is to determine the location of nodes
in terms of either physical coordinates that reflect actual node positions orvirtual coordinates [34, 27]
Void-handling techniques are used to route around void and once thepacket encounters a node whose distance is less than the local minimum,
greedy forwarding will be resumed While flooding is simple and effective in
packet delivery, it is inefficient in terms of resource utilization Hence, thefollowing are some desirable properties when choosing a void-handling tech-nique:
• Void-handling should involve as few nodes as possible It is preferable tohandle it at the local minimum itself
• It is preferable that unless there is data traffic at the local minimum, itshould not incur any overhead in the idle period
• Greedy forwarding exploits location information Hence, it is desirable to
Trang 11have the void-handling use this information rather than any additionalinformation.
• The path obtained from the technique should hopefully be comparable
to the optimal path attainable in the given topology
• The void-handling technique should be resource-efficient
Our algorithm was implemented on Wireless Sensor Network (WSN) inTinyOS, an open source operating system for WSN We would like to give
an overview about the platform There is growing interest in using sensors inreal-life applications like habitat monitoring, traffic monitoring and they arelikely to be deployed in large numbers Hence, any routing algorithm for sen-sor networks should be scalable The memory available on sensors are small.For example, a TelosB mote only has 10KB RAM and 1MB flash [2] Underlaboratory conditions, wireless sensors are powered by batteries or USB [2].But field deployments might need to be battery-powered Battery-poweredsensors have energy constraints
The source code of TinyOS is in nesC which does not provide dynamicmemory allocation [4] We can achieve dynamic memory allocation by cre-ating a shared memory pool and dynamically allocating memory from it [28]which means that the call-graph is fully known at compile-time [4] Hence
a good routing algorithm for WSN needs to consider both storage and energyconstraints
1.2 Motivation
While there has been much work on geographic routing, prior work mostlydeal with routing on Euclidean 2D topologies Many 2D void-handling tech-niques proposed are based on planarization and face walking Some algo-
Trang 12rithms maintain routing information in formats like tables, cells or trees tohandle voids Another approach is a beacon-based one where the algorithmassigns landmarks across the network which help a packet to navigate out ofthe void region All these algorithms address routing on 2D topology But,there are some real world scenarios, like networks within a building, thatdemand three-dimensional routing.
Even though greedy forwarding works in 3D topologies, it can also
en-counter communication voids On 3D geographic routing, Durocher et al [3]
showed that there is no deterministic local routing algorithm for 3D works that guarantees the delivery of messages on any arbitrary 3D topology
net-In their proof, they showed that any deterministic 1-local routing algorithmwhich can exist will have a graph G for which it is defeated and extend theproof to any k-local algorithm Hence, there is no local memoryless algorithmwhich can guarantee delivery on any arbitrarily connected 3D network Flury
et al [9] and Liu et al [31] have attempted to address the problem of 3D ographic routing While their work extend the ideas of 2D algorithm to 3D,their results are not encouraging in terms of performance and simplicity ofsolution
ge-In this light, we explore the trade-off between performance and cost forgeographic routing algorithms in 3D networks in this dissertation
1.3 Research Contributions
There are two main contributions in the thesis: first, we implemented GDSTR [25]
in nesC on the TinyOS platform for wireless sensor networks; second, GDSTRwas further extended to 3D and evaluated on 3D topologies against two well-known 2D geographic routing algorithms, GDSTR [25] and CLDP+GFR [15].GDSTR maintains minimal-path spanning tree and each node in the tree
Trang 13maintains a 2D convex hull enclosing the locations of all the nodes in thesubtree rooted at this node We implement GDSTR on TinyOS and extended itfor 3D networks by replacing the 2D convex hull with 3D geometric structureslike 3D convex hull and sphere The storage required by GDSTR is propor-tional to the average number of children per node Storage affects the amount
of information to be exchanged between nodes (message overhead) which inturn impact the energy consumed Wireless sensors have small memory So,
we bound the storage requirement of GDSTR by limiting the maximum ber of children a node can have for a tree
num-Our evaluation shows that GDSTR-3D (with spheres) performs better thanthe 2D algorithms under most scenarios
1.4 Organization
The rest of this dissertation is organized as follows: Chapter 2 provides aliterature review of existing research relevant to our work Chapter 3 describesour GDSTR-3D routing algorithm Chapter 4 describes the implementation
of our algorithm in TinyOS Finally, Chapter 5 describes our experimentalresults and evaluation and Chapter 6 concludes our discussion
Trang 14Chapter 2
Related Work
One of the primary research problems in geographic routing is void-handling
In this section, we provide a survey of the existing work related to our work
We classify the literature based on their approach to solve the problem Broadly,
it can be classified as solutions for 2D and 3D networks The basic tion in all of these algorithms is that each node knows its location and thelocation of its neighbours and packet destination There might be other as-sumptions on the underlying topology such as the dimension of topology,symmetry of links, radio range, etc
assump-2.1 2D Planar-graph Based
This is the most widely used void-handling technique that makes use of
prop-erties of a planar graph From graph theory, a planar graph is defined as a
graph that can be embedded in a plane without any intersecting edges The
right hand rule is used for traversing a planar graph to find a path between
given source and destination The right hand rule states that, by keeping one’s
right hand against the wall while moving forward, one is likely to traverse ery wall in a maze The intuition behind such approach is that a packet will
Trang 15ev-be able to exit the void region by performing a face walk starting from the local
minimum Ideally, due to a wireless node’s circular radio range the resulting
topology should obey unit disk graph (UDG)) assumption According to this
assumption, two nodes are connected if the distance between them is lessthan the common radio range of the nodes But in real world, the underlyingtopology does not obey this rule and hence the topology is not always planar.The network has to be planarized for the routing algorithm to work
A complete planar-based protocol should have a planarization algorithm
and a planar-graph traversal algorithm for routing Complete planar-basedvoid-handling techniques include Greedy Perimeter Stateless Routing (GPSR) [12],by-pass routing in Priority-based Stateless Geo-Routing (PSGR) [6] and Request-Response (RR) in Beacon-less routing (BLR) [5] We will briefly discuss pla-narization algorithms and face routing, which is a planar-graph traversalalgorithm Then, we will summarize some planar-graph based solutions inexisting research
2.1.1 Planarization
Existing works on planarization algorithms include RNG (Relative hood Graphs), GG (Gabriel Graphs) [12] The concept behind both GG andRNG is the same They try to planarize a given graph by removing a link ifthere exists a node (witness) in a bounded area around the link The onlydifference lies in the definition of the bounded area as can be seen in Figure2.1 These algorithms assume that the given topology obeys UDG assumption.Real world topologies does not obey UDG rule [15]
Neighbour-Hence in a non-UDG case, Kim et al [16] have shown that removal of alink may cause the following pathologies:
• Network partitioning: There could be critical links which connects two
Trang 16Figure 2.1: Planarization by GG, RNG and occurrence of pathology in a UDG case
non-sub graphs and removing such a link might disconnect the network
• Asymmetric links: Sometimes the witness node is visible to only oneend of the link This will cause the node which can see the witness toremove the link making it asymmetric It will be problematic as most ofthe existing routing algorithm assume symmetric links
• Crossing links: Crossing links occur due to either obstacles or tion errors, when there is a node within the bounded area not visible toboth ends of the link Both RNG and GG cannot detect such crossinglinks This can cause routing failures as shown in the Figure 2.2 wherenode S sends a packet to node D S sends the packet to the neighbour
localiza-closer to D which becomes the local minimum Even after walking the
entire face, the local minimum cannot find a next hop and routing fails
A solution was proposed for the pathologies called the Mutual Witness
(MW)[ [15], [36]] A node will remove a link only if there exists a witnessseen by both ends of the link in the given bounded area This can be verified
by a handshake sending the list of its visible neighbours and looking for tually visible neighbour to the other end in the bounded area This fix resolves
Trang 17mu-Figure 2.2: Routing failure due to crossing links by obstacles
only the first two pathologies but it still cannot remove crossing links Kim et
al [15] in his work called Cross-Link Detection Protocol (CLDP) provides a
solu-tion to this problem by removing such crossing links CLDP will be discussedlater in the literature
CLDP
Kim et al [15] have identified that existing planarization algorithms like RNGand GG does not remove cross-links and fail to planarize the graph when UDG
assumption is violated The Mutual Witness (MW) fix also does not remove
crossing links due to the same UDG assumption Hence a protocol calledCross-Link Detection Protocol (CLDP) [15] was proposed by them
In CLDP, each node in an entirely distributed fashion probes each of itslinks to see if it is crossed (by geographic location) by any other links A probetraverses the graph by right hand rule and initially contains the location of theend points of the link being probed When the probe encounters a crossing,
it records the fact in the probe message so that when it reaches back to the
Trang 18sender, the sender can remove either of the crossed links after a series ofmessage exchanges The sender removes the agreed link by marking it non-routable The next probe will traverse the modified topology.
When a link is added to the underlying graph, CLDP awakens the adjacentdormant links causing the links on the corresponding face to be probed again.When a link is deleted from the network, then probing adjacent links might re-store some links marked as non-routable by previous probes However, CLDPdoes not always remove cross-links When a probe traverses a link in bothdirections (highlighted in Figure 2.3), it means that the link is a critical linki.e removing such a link would partition the graph Hence,it does not removesuch cross-links Note that the subgraph produced by CLDP is used only bythe face routing part and greedy forwarding uses the entire graph In theirwork, Kim et al [15], GPSR [12] is run on the routable subgraph produced byCLDP However, CLDP can run with any face traversal algorithm CLDP+GFR(CLDP with GPSR) was evaluated on TOSSIM, a TinyOS simulator for wire-less sensors and on real motes Results have shown that the performance ofCLDP+GFR [15] is better than the original GPSR [12] They have also provedthat CLDP prevents routing failures in an arbitrary connected graph [16]
Lazy CLDP
The probing of links from each node causes high message overhead in CLDP
Hence, Lazy Cross-link Removal (LCR) by Kim et al [17], removes cross-links
lazily only when geographic routing fails Their argument is that the class
of cross-links which causes routing failures are narrower (only during void)and it is sufficient to remove links causing face walk loops to ensure deliv-ery This means that in addition to critical links, LCR also keeps cross-linksthat do not cause routing failures LCR doesn’t efficiently support routing
to arbitrary locations LCR uses face walk loops to detect cross-links and so
Trang 19Figure 2.3: Identifying critical links removing which will partition the network.
As shown, critical links are traversed in both directions by the probe
cannot distinguish between cross-links and unreachable destination Hence,any-any routing in LCR can only be done using a location service to detectunreachable address Handling link failures are similar to that of CLDP i.e
It awakens all the links in the failed planar subgraph and do CLDP ing again LCR also removes looped walk without cross-links by recursivelysearching adjacent faces for cross-links Their experimental results both onsimulation and real networks have shown that it does incur much less over-head than CLDP Depending on which link is probed first, the same networkcan produce different subgraphs in CLDP
prob-2.1.2 Face routing
Face routing is a typical planar graph traversal technique which involveswalking adjacent faces using right hand rule towards destination (D) Thesealgorithms are classified as follows based on where a walk exits a face to thenext face (please refer Figure 2.4):
• Best Intersection (Compass [18], AFR [20]): After a face is entirelytoured using right hand rule, face change occurs at the link closest to D
Trang 20Figure 2.4: Types of Face Change during a face walk
that intersect the line SD on the current face.
• First Intersection (GPSR [12], GFG [1]): Face change occurs at the first
intersection of the link as seen by the face walk with the line SD at a
node closer to D than local minimum
• Closest Node (GOAFR+ [19]): After walking the entire face, face changeoccurs at the node closest to the destination (D) on that face
• Closest Point (GOAFR, [21]): After walking the entire face, face changeoccurs at the closest point to D in the face
However, face walking may not be an effective solution in real world works Kim et al [16] have shown ways in which some existing planarizationtechniques fail with realistic, non-ideal radios They have found that ’first in-tersection’ and ’closest node’ don’t always work and they have also providedtopologies in which these face walks fail to find the next hop
Trang 21Request-Response (RR) is a technique used in BLR [5] In RR, a completeplanar subgraph is not constructed before hand It will planarize the grapharound the void region only when it encounters one during routing A voidnode broadcasts a request and all neighbours reply with a message havingtheir positions Then the void node constructs a planar subgraph around thearea using Gabriel Graph (GG) algorithm and forwards the packet to the nextnode using right hand rule Due to on-demand planarization, this approachincreases the packet delivery latency
PSGR
In Priority-based Stateless Geo-Routing (PSGR) [6], a void node moves thepacket to a by-pass node without exploiting prior-knowledge of network topol-ogy A void node performs a sweeping rule (left/right-hand rule) by scanningits neighbourhood in chosen direction (clockwise/counter-clockwise) on thefly If it is able to find a neighbour node within 180◦, it forwards the packet
to that node and subsequent forwarding happens in the same chosen tion Otherwise, the node will repeat the same in the other direction and for-ward the packet to the first neighbour node in that direction The by-passingwill also change traversal direction when the packet crosses the line passingthrough the source (S) and destination (D) This algorithm will only work ifthe underlying graph is planar
direc-GPSR
Perimeter routing proposed by Greedy Perimeter Stateless Routing (GPSR) [12]
is a complete void-handling solution that consists of distributed planarizationalgorithm using either RNG or GG and a graph traversal algorithm All nodes
Trang 22run the distributed planarization algorithm periodically so that a planar graph of the original network is always maintained When a packet encoun-ters void, it switches to face traversal algorithm The void node information is
sub-recorded into the packet and face walking is done by first intersection When
it reaches a node closer to the destination than the local minimum, the
algo-rithm switches back to greedy forwarding The void node information on the
packet ensure that the next greedy forwarding is resumed at the node closer
to the destination than itself thereby preventing routing loops This technique
is based on UDG assumption and hence suffers routing failures in a non-UDGcase [15]
GOAFR
Kuhn et al performs other face routing (OFR) based on closest point face ing in the proposed algorithm Greedy Other Adaptive Face Routing (GOAFR) [21].
rout-Planarization is done by GG The idea in GOAFR is to find the optimal path
in a worst-case scenario i.e when one side of the face extends infinitely longand if the face walk chooses this side, then the cost of stretch and routing timewill be considerably high GOAFR aims to bound this routing time Accord-ing to GOAFR, a void node performs OFR along one direction say clockwisewithin radius of one hop If that fails, the node switches to the other direction(counter-clockwise) and performs OFR within one-hop radius If both fails,then it extends its radius to the next increment and repeats the same until arouting decision can be made GOAFR has the same disadvantage as GPSRbecause of UDG assumption
Trang 232.2 2D topology-based
Topology-based void-handling makes use of connectivity information to route
around the void The simplest solution when a void occurs is flooding But
network wide flooding can be expensive in terms resource utilization Hence,some topology based algorithms attempt controlled flooding or partial flood-ing
Topology-based techniques can be classified into two namely proactive andreactive protocols Proactive algorithms are those which precompute routingstructures to handle void Reactive algorithms handle void on-demand and iscategorized into two depending on data flow i.e whether the packet is a one-time message or packets to the same destination are sent often In the formercase, flooding can be used to reach the destination and in the latter, route will
be discovered from the void node and the routing information is maintained
in a table
2.2.1 Reactive protocols
Reactive protocols handle voids only during routing when a packet gets stuck
in a void Some solutions perform limited flooding as in Cartesian Routing [8]
and one-hop flooding [37] In Geographic Routing Algorithm (GRA) [38], when
a packet encounters void node, the node performs on-demand route ery by breadth first search The discovered route is updated in a routingtable and the stuck packet is routed to the destination by partial hop by hop
discov-routing (PHR) Partial Source Routing (PSR) is an on-demand stateless
void-handling technique It consists of two phases, (a) the partial path discovery
phase where a void node performs expanded ring search for route discovery
and (b) the source packet forwarding phase where the void node uses alreadydiscovered route in its routing table to do source routing
Trang 242.2.2 Pro-active protocols
As the name suggests, proactive protocols try to be prepared for voids before
a packet encounters one In this section, we describe two such protocols:Robotic Routing Protocol (RRP) and Greedy Distributed Spanning Tree Rout-ing (GDSTR)
RRP
Robotic Routing Protocol (RRP) [13] is a Grid based recovery technique In atwo dimensional network the surface is logically partitioned into cells/gridswith edge length dG ≤ dR/√
2 where dR is the transmission radius In otherwords, all nodes in a cell are one-hop neighbours and can communicate di-rectly Each node in the network maintains the routing information about itsneighbor cells as well as its one-hop neighbour nodes The node knows whichneighbour cells are empty or occupied and how to reach the occupied neigh-bour cells by associating them with neighbour nodes A packet is forwarded
by cell-cell greedy forwarding rather than the usual node-node When voidoccurs, the grid structure is used to approximate the shape of the obstacles
by walking over cells (refer Figure 2.5) around the void region until greedy
forwarding can be resumed Simple Right hand rule is performed between the
cells to walk around the obstacle/empty cell
GDSTR
Greedy Distributed Spanning Tree Routing (GDSTR) by Leong et al [25] uses
minimal path spanning trees called hull trees for void-handling A hull tree is
a spanning tree where each node has an associated convex hull enclosing thelocations of all the nodes in the subtree rooted at this node Two trees rooted
at extreme ends of the network are precomputed Each node stores its own
Trang 25Figure 2.5: Cell-based forwarding results in the solid path and position-basedGreedy forwarding in the dotted path
convex hull and that of its children for each tree When a packet is stuck,the void node chooses the tree whose root is closer to the destination as therouting tree It checks if the destination is contained in the convex hull of any
of its child nodes If it is contained, then the node forwards the packet to thatchild whose convex hull contains the destination node If the destination isnot contained in any of the convex hulls, then it will forward the packet to itsparent The process is repeated until a routing decision can be made, i.e (1)the destination node is reached or (2) a node where greedy forwarding can beresumed is reached in which case greedy forwarding will be resumed or (3)the destination is marked as unreachable
Two trees rooted at the extreme ends are used to effectively approximate
a planarization as illustrated in the Figure 2.6 GDSTR performs better insparse networks with large voids than face routing algorithms as it uses globalinformation using precomputed hull trees unlike the face routing algorithms.However when the voids are small, face routing algorithm achieves slightly a
Trang 26(a) Actual network topology
(b) GDSTR minimal spanning trees rooted at extreme ends
Figure 2.6: Planarization effected by two trees
better stretch than GDSTR [25] GDSTR is also robust against localizationerrors Unlike face routing algorithms, GDSTR guarantees successful packetdelivery for all destination in an arbitrary graph It has the advantages of
low maintenance bandwidth, lower hop stretch GDSTR will be discussed in
greater detail in Chapter 3
Trang 272.3 2D beacon-based
Beacon-based solutions elect some nodes in the network as landmark nodeswhich help in routing around the void
2.3.1 Beacon vector routing (BVR)
Beacon Vector Routing(BVR) [10] is a typical beacon-based geographic routingalgorithm BVR assigns a set of randomly chosen nodes as beacon nodes.Every node in the network learns its distance in terms of hop count to all thebeacon nodes and forms a vector of these distances called the beacon vector.when a packet encounters void, the void node uses a distance function tofind the next hop It computes two sums, sum of differences of distances ofcurrent node and the destination from set of beacons closer to destination dthan the void node (δ+
k) and sum of differences to the farthest beacons (δ−
The void node will choose the next hop which minimizes the δ+
k and in case
of a tie, it uses the one which minimizes the δ−
k In the case where a node isstill unable to find the next hop, a fallback approach is used The node willsend the packet to the beacon which is closest to the destination in the hopethat the beacon can route the packet If even the fallback approach fails, the
node attempts scoped flooding If none of the solutions work, then the packet
is dropped The beacon vectors function as coordinates for routing whichhandles the problem of determining node positions BVR cannot guarantee100% success rate and the number of beacons required to guarantee a stablesuccess rate increases with network size
2.3.2 GLIDER
Gradient Landmark-Based Distributed Routing(GLIDER) [7] is a naming schemewith associated routing algorithm for wireless networks It has two phases, a
Trang 28global topology discovery and local coordinates GLIDER elects a set of nodes
as landmark nodes spread across the network Voronoi/Delaunay technique
is used on top of these landmark nodes connecting them The topological
structure of landmark nodes formed by this technique forms the global
topol-ogy The network is divided into tiles/cells around each landmark node where
each node is grouped into the tile of the landmark closest to it The second
phase involve coordinates assigned to each node based on local information
and to which tile it belongs to Routing is hierarchical in two stages, global
routing which is the routing between the landmark nodes (cells) by greedy
for-warding and once the packet reaches the tile of the destination, local routing
with the help of virtual coordinates is performed
2.3.3 MGGR
GLIDER is an example of employing greedy forwarding at a macroscopic level
Another routing protocol namely Macroscopic Geographic Greedy Routing (MGGR) [35]
is a combination of both GLIDER and GPSR Similar to GLIDER, it tries to
cluster nodes around set of ’beacons’ and performs inter cluster and then
intra-cluster routing Unlike GLIDER, it chooses large number of beacons
evenly distributed across the network and computes graph voronoi diagram to
form voronoi cells Similar to GPSR, it tries to planarize the graph except that
it is done at the landmark level i.e inter cluster level than on a node level
Planarization is done with the help of Combinatorial Delaunay Graph (CDG),
each landmark has atleast one node in its cell and an edge between two
land-marks exists IFF the respective tiles are adjacent The resulting graph will
be completely planar Greedy forwarding is same as that of GLIDER When
packet encounters local minimum at the cell-cell level, it tries to find the next
hop-cell by performing perimeter forwarding of GPSR on the macro level
inter-cluster planar graph When the packet reached the destination cell, backbone
Trang 29of precomputed Connected Dominating Set (CDS) is used to find the next hop.
Both GLIDER and MGGR are examples of hierarchical based routing
2.4 3D Geographic Routing
The existing research discussed so far in this literature is based on 2D ogy The basic idea of greedy forwarding and void-handling is same for 3Dnetworks The difference lies in the void-handling approach which make use
topol-of the third dimensional information 3D geographic routing is relatively newcompared to 2D The obvious approach to handle voids in 3D is to extend theideas used in 2D network For example, face routing algorithms are based
on Unit Disk Graphs (UDG) and the obvious extension is to create solutions based on Unit Ball Graph (UBG).
Theoretical study on 3D geographic routing is done by Durocher et al [3]and they proved that it is not possible to guarantee delivery in an arbitrary 3Dtopology with only local information We shall walk-through the proof whichwill help us in understanding 3D geographic routing
Lali et al [23] showed that if a graph is connected and can be represented
as a Quasi-Unit Disk Graph (QUDG) with the ratio of maximum radius (R) and
minimum radius (r) of the QUDG being <= √
2, then message delivery can beguaranteed Let us assume that G is a connected QUDG with R/r <=√
2 andGabriel graph (GG) on this network is not planar This means that there existsatleast one pair of crossing edge (u,v) and (u’,v’) as shown in the Figure 2.7
In the parallelogram formed by the nodes of the crossing edges, there will beatleast one angle >= 90 degrees Let that angle be the one marked in blue(∠uu′v) in the Figure 2.7 This means that the node u′ is within the circleformed by the edge (u,v) as diameter The nodeu′ is within the vicinity of both
u and v and if either of the node is able to see u′, then the edge uv would have
Trang 30been removed by the planarization algorithm (GG in this case) Hence, it isnot visible to both nodes In a QUDG, this scenario is only possible whendistance(u, u′) and distance(v, u′) is greater than r.
Figure 2.7: Crossing edge in a QUDG with R/r <=√
2 will always be planar Therefore delivery can be guaranteed onsuch graphs A 2-local backbone based algorithm is also been proposed byFabian et al [22]
Durocher et al [3] extends this result and proved that a unit ball graphcontained within a slab of thickness 1/√
2 can be converted to a 1/√
2-QUDGand hence delivery is guaranteed by 2-local algorithm as proposed by Fabian
et al [22] To guarantee delivery using only local information on any arbitrarygraph, the case has to be extended to a graph contained within a thickness ofmore than 1/√
2 He gives a transformation of such graphs onto a UBG andprove that if there exists a k-local algorithm then there can be a 1-local algo-
Trang 31rithm that guarantees delivery Then he proves that such a 1-local algorithmwill have a graph G for which it is defeated and extends this proof to k-localcase.
Let us assume that there exists a 1-local algorithm for arbitrary graph G.Consider the two graphs as shown in Figure 2.8 where s is source and t isthe destination The routing function is self mapping where the packet comesfrom anyone of the 1-hop neighbours and the next hop is also from the 1-hopneighbours excluding the one which sent the packet to current node Takeall routing possibilities at nodes a and e for that message It is a set of fourfunctions as shown in Figure 2.9 These four function will fail in either of thetwo graphs G1 and G2 This means that for any 1-local algorithm, there is
a graph which defeats it The case is the same for a k-local algorithm wherethe edges in graphs G1 and G2 are replaced by paths of length k Therefore,there cannot be a k-local routing algorithm that guarantees delivery for anyarbitrary three dimensional graphs
Trang 32Figure 2.8: Any 1-local routing algorithm is defeated by G1/G2 if all routingfunctions are derangements.
Figure 2.9: The four possible combinations of derangements for local routingfunctionsf′
Trang 332.5 3D unit ball graph based routing
Unit Ball graph (UBG) is the natural generalization of the UDG of 2D tions Even though UBG suffer the same disadvantage as that of UDG, thereare approaches based on UBG Durocher et al [3] have provided theoreticalfeasibility of a UBG based routing for three dimensions and explored the rela-tionship between UBG, quasiưUDG and quasiưUBG From their proofs, there
solu-is no local memoryless algorithm to traverse all nodes on a given surface in adeterministic manner
A randomized geographic routing algorithm called Greedy-Random-Greedy
(GRG) routing [9] provides a UBG based solution with random walk They haveshown that if d is the length of the optimal path between a given source anddestination, then the expected length of the route obtained by any randomized
or even deterministic routing algorithm is given byΩ(d3
) Each node forwardspacket by greedy until a void node occurs A void node performs four differenttypes of random walk (RW) for recovery to greedy forwarding again:
• Region Limited Random Walks: The void node performs random walk
around 1-hop radius and keeps on incrementing on the random walk dius on failures to find the next hop until a node closer to the destinationthan the local minimum is reached
ra-• RW on Surface: Similar to face routing in 2D, the RW is limited to
the nodes surrounding the void that caused a local minimum In 2D,planarization is used to capture voids Here, they assume a simple
UBG model They construct a dual graph and try to RW around
three-dimensional virtual grids surrounding the void It is illustrated in theFigure 2.10
• Sparse Subgraph: the idea is to construct a sparse graph out of the given
Trang 34Figure 2.10: Virtual grid formed from dual graphs to border the void (takenfrom [9])
topology without partitioning the graph This is achieved by constructing
a dual graph
• Power of choice for RW: This is just an optimization where a RW will not
return to the previous node to improve cover time
The experiments are done on java-based simulation over 2000 to 40,000nodes Their results have shown that, GRG incurs high routing overheadcompared to flooding on smaller topologies (2000-5000 nodes) and improvescloser to flooding only for larger network size They have inferred that, lim-iting RW does not improve performance and their fourth option of ’Power ofchoice’ also doesn’t work Also there is no other mention of performance ofthe protocol like packet delivery success rate
Trang 352.6 3D hull based routing
Greedy-Hull-Greedy(GHG) [31] divides the network into subspaces The tial construction into subspaces is as follows:
spa-• The entire 3D network space is divided into triangles by Delaunay
trian-gulation
• Any crossing edge or crossing triangles are identified and removed They
use partial unit Delaunay triangulation (PUDT) to remove crossing
trian-gles and edges
• The resulting triangles and single edges are then grouped in the form of
3D convex hulls based on their hull construction algorithm [30].
Routing by GHG is primarily by greedy forwarding until a local minimum
is reached At the local minimum, the void node forwards the packet to an
adjacent hull called the target hull which is the hull through which an
imag-inary line segment mt between the local minimum (m) and the destination (t)passes i.e the node will forward to the adjacent hull which is closer to thedestination along the linemt This can be imagined as the counterpart to facetraversal where face change occurs along the line segment (SD) containingsource (S) and destination (D) Inside each hull, Depth First Search (DFS) isperformed An example of GHG routing is shown in the Figure 2.11
Trang 36Figure 2.11: Example of greedy-hull-greedy (GHG) routing (taken from [31])
existing geographic routing protocols make unrealistic assumptions For ample, in the case of 2D planar based approach, the assumption of UDG isunreal Some protocols assume perfect link reliability or accurate localiza-tion of nodes Another reason is that real world network issues like obstaclesand time-varying wireless channels are not addressed [36] Hence when theseprotocols are implemented on real networks, they suffer from performancedegradation
ex-Since greedy forwarding is stateless and incurs less overhead in terms of
storage cost, the performance of the algorithm greatly depends on the handling algorithm It is better to increase the success rate of greedy forward-ing and minimize use the void-handling as the greedy forwarding always pro-vides optimal hop stretch wireless sensor networks (WSN)s come with certainconstraints like storage and energy and it is important for the programmers
void-to take them invoid-to consideration while designing the routing algorithm Theconstraints were detailed in Chapter 1 For example, in the case of GRG (3Drouting protocol), the amount of information needed to store the dual graphscan be large and the routing overhead for nodes from 2000-5000 is much
Trang 37higher than that of flooding and therefore will be more energy consuming.Even though their performance is better for network size larger than 5000, inreal world a network of that size is not yet practical.
The future work on routing protocols for WSNs is on the design of rithms that work on real WSNs For instance, greedy forwarding can includelink characteristics other than position when finding the next hop Since max-imizing greedy forwarding maximizes routing performance, design on maxi-mizing greedy forwarding has been a separate literature by itself Geographicrouting in three dimensions is another interesting problem as real networksare deployed in 3D space Our work addresses this problem of 3D routing
Trang 38algo-Chapter 3
GDSTR-3D
Greedy Distributed Spanning Tree Routing (GDSTR) is an existing 2D
geo-graphic routing algorithm that uses a distributed spanning tree called hull
trees GDSTR [25] has been shown to perform better than other existing gorithms like CLDP+GFR [15], GPSR [12] for two dimensional topologies Ourgoal is to evaluate its potential in a more realistic three-dimensional environ-ment
al-GDSTR forwards a packet using greedy forwarding and when it fails, it
switches to tree routing until greedy forwarding can be resumed Extendinggreedy forwarding to 3D is straightforward as the distance function can use3D coordinates instead of 2D coordinates The tree building part of GDSTR in-volves constructing 2D convex hulls with for two hull trees A straightforwardextension is to replace the 2D convex hulls with 3D convex hulls However, itturned out that 3D convex hulls require a significant amount of computationsand memory storage and so we had to try other options
The original GDSTR was evaluated in netsim [24], a high-level event-drivensimulator wireless sensor network is an embedded platform and the first steptowards practicality is to implement our algorithm in a compatible platform
We implemented both 2D and 3D GDSTR in TinyOS, an open source OS for
Trang 39WSN The first challenge we faced was the limited memory available on ing wireless sensors So, care must be taken when choosing the 3D structure
exist-as it should not consume too much memory In GDSTR, for each tree a nodehas to store the convex hulls of all the children As the network density grows,the maximum number of children a node have will potentially increase So, wealso had to modify the tree building algorithm from the original GDSTR [25]
to limit the maximum number of children a node can have for a tree Thisensures that our algorithm will always comply with the storage limitation ofwireless sensors irrespective of the topology
The maximum packet size supported by the IEEE 802.15.4 standard isonly 127 bytes [11] Hence, the next challenge we faced is the limited band-width available in the sensor network environment For tree building, eachnode has to broadcast tree information including its convex hull points to itsparent Hence, we logically fragmented the information into different packets.This is another consideration in choosing our 3D geometric structure espe-cially for 3D convex hull as the information should fit within the payload Wealso found that improving the greedy forwarding success rate significantly im-proves hop stretch So, we modified the algorithm to use two-hop neighbourinformation for greedy forwarding Though this improved performance of allversions of GDSTR, it does not affect their relative performance
In Section 3.1, we explain our routing algorithm In Section 3.2, we scribe the tree-building phase of the algorithm and discusss the different op-tions avilable for the 3D geometric structure and in Section 3.3, we describeour algorithm to limit the number of children Finally, in Section 3.4, we pro-vide a summary of the key differences between our implementation of GDSTRand the algorithm described in the original paper [25]
Trang 40de-3.1 Routing Algorithm
In this section, we provide a detailed description of the GDSTR-3D routingalgorithm GDSTR first forwards packets greedily, i.e first find the 1-hop or2-hop neighbour whose coordinates is nearer to the coordinates of the desti-
nation node than the current node, which we call as the nearest neighbour.
If it is the 1-hop neighbour, then the current node forwards the packet to itdirectly; if it is the 2-hop neighbour, the current node forwards the packet tothe 2-hop neighbour through a 1-hop neighbour using the neighbour table Atie is broken by always selecting a 1-hop neighbour if a node has more thanone nearest neighbours
The greedy part is loop free, which follows from the observation that thedistance from the nearest neighbour to the destination for nodes along thepath is always non-increasing a and b are two consecutive neighbours alongthe path, if b is a’s 1-hop nearest neighbour, then b must either have a nearestneighbour that is closer to the destination thanb or b is a local minimum andGDSTR will trigger the tree traversal mode Ifb is a’s 2-hop nearest neighbour,then there is no 1-hop/2-hop neighbour for a closer to destination than b So,
if b has a nearest neighbour, it will not be a node from a’s 2-hop hood; otherwiseb will invoke tree forwarding This ensures the non-increasingproperty and the packet will not be forwarded back to a prior node which pro-cessed it already
neighbour-The different alternatives of a 3D geometric structure we had tried in place
of 2D convex hull will be discussed in the next section For sake of discussion
we shall commonly refer them as hull The key insight in GDSTR is that the hulls of the nodes determines a routing subtree rooted at that node potentially
containing the destination within the subtree Due to false positives, a packetmay find more than one routing subtree If a packet is not deliverable, then