Abstract
Several routing algorithms have been proposed for efficient routing in mobile ad hoc networks, most of them consider mobile nodes embedded in two-dimensional environments. However, in reality, these networks are embedded in three-dimensional environments. Usually, two-dimensional routing algorithms have several assumptions that are not valid for three-dimensional spaces. In this article, we propose four different randomized geographic-based routing algorithms that have the following properties: (1) nearly guaranteed delivery rate, by using randomize route to overcome local minimum problems; (2) low overhead, by extracting a virtual backbone of the network and then conducting the routing algorithms over the extracted backbone to decrease the search space; (3) low path dilation, by hybridizing the new algorithms with progress-based routing which have very low path dilation; and (4) works in three-dimensional environment. The first algorithm 3DRanDom chooses the next neighbor randomly from a dominating set of the network (extracted locally). The second algorithm 3DRanDomProb extracts a dominating set and sends to one of the resulted neighbors randomly with more probability for the nodes closer to the destination. The third algorithm G_3DRanDomProb tries to progress as much as possible to the destination, if the progress is not possible, the algorithm switches to 3DRanDomProb. The fourth algorithm G_3DRanDomProb_G uses progress-based routing as much as possible, then it switches to 3DRanDomProb until it overcomes the local minimum problem and then goes back to progress-based routing. We show experimentally that these hybrid randomized routing algorithms on three-dimensional mobile ad hoc networks can achieve nearly guaranteed delivery while discovering routes significantly closer in length to the shortest path and with low overhead.
Introduction
Mobile ad hoc networks (MANETs) consist of a set of wireless autonomous mobile nodes that can communicate with each other without having any physical infrastructure. A node in the network can communicate directly with all other nodes within its transmission range.1,2 If a node wishes to transmit a packet to another node outside the transmission range, then a multi-hop routing protocol is needed. Many routing protocols have been proposed for MANETs, each is based on different assumptions and philosophies. MANETs routing protocols can be classified into two core basic categories: 3 topology-based routing4–7 and geographic-based routing.8–11 Topology-based routing protocols make their judgments about routing packets based on the information about the whole network. It can be further classified as proactive and reactive; protective protocols (i.e. destination-sequenced distance vector (DSDV) 12 or optimized link state routing (OLSR) 13 ) store and maintain complete up-to-date routing table about each node in network all the time. They always have ready routes from any source to any destination at any time, but they suffer from the huge overhead to keep the routing table up-to-date especially when the nodes are moving frequently. 14 On the other hand, in reactive protocols (i.e. dynamic source routing (DSR) 15 or ad hoc on-demand distance vector (AODV) 16 ), a node updates its routing table whenever a route is required from that node. This may be very expensive to search the whole network for the optimum route and it may add a delay to the routing process. Topology-based routing can generally find the shortest path between any two nodes in terms of the number of hops. However, it can be difficult for these routing methods to handle large MANETs.
In contrast, topology-based routing needs a global view about the whole network. Geographic-based routing (also referred as position-based routing) protocols use pure local location information about neighbor nodes positions to take routing decisions. Therefore, geographic-based routing protocols eliminate the high overhead by topology-based routing, making them simple, efficient, and scalable for big ad hoc and sensor networks.
In general, a geographic-based routing algorithm has the following assumptions:
Each mobile host in MANET knows its geometric coordinates. This can be obtained through a Global Positioning System (GPS) receiver or other such mechanisms.17,18
Each mobile host has the means to determine the geometric coordinates of every other mobile host within its transmission range; this can be optioned using a periodical broadcasted hello messages where information about the mobile host like geographical coordinates are usually embedded in these messages.
The source node knows the geometric location of the packet destinations, which can be obtained by location services19,20 or by receiving the location from a previous packet from that node. The source node adds this location to the packet header. Once a node receives a packet, it can learn the location of the destination.
There is no need for any node to store routing tables. Nodes only maintain the information about their neighbors at most a fixed number of hops (usually one hop) away.
According to the nature of packet forwarding, geographic-based routing can be divided into two types: progress-based forwarding and randomized-based forwarding. In progress-based routing, the node having a packet forwards it to one of its neighbors according to some heuristic, usually the neighbor closer to the destination, Greedy, 21 Compass, 22 and Most-Forward routing 23 algorithms are considered as progress-based routing algorithms, see section “Preliminaries.” Simple versions of these algorithms have been proposed in Abdallah et al.24,25 The main drawback of the above progress-based routing is the unacceptable low delivery rate because they suffer from the local minimum phenomenon, in which a packet may get stuck at a node, termed a local minimum, which does not have a neighbor that makes progress to the destination, even though the source and the destination are connected in the network. This problem has been solved in two ways:
Using randomized-based routing algorithms, where the next node is chosen randomly from the set of neighbors, for example: Random Progress, 26 where a node chooses randomly one of the neighbors that is closer to the destination and forwards the packet. In the AB random algorithm, 24 a node holding the packet forwards it randomly to one of two candidate neighbors that are chosen according to some progress-based heuristic.
Using face routing or perimeter routing,27,28 where each node locally uses their geometric locations to extract a planar sub-graph, the algorithm traverses in a counter clockwise the faces of the sub-graph that cross the virtual line between the source and the destination; the algorithm switches between faces when the packet reaches an edge that crosses the virtual line between the source and the destination at a point closer to the destination than any previously known intersection point. It has been proved that face routing has a guaranteed packet delivery in two-dimensional (2D) spaces, but this algorithm fails to work with three-dimensional (3D) space because it is not possible to extract a straight-line planner sub-graph in 3D.
Another family of MANET routing is flooding-based routing, when a packet reaches a node, it forwards that packet to all its neighbors in the direction to the destination. This can usually find the shortest path between two nodes. However, it can be difficult for these routing protocols to work with large MANETs because of the huge traffic and overhead that can be created around the network. Distance routing effect algorithm for mobility (DREAM) 29 and the geocasting-based location-aided routing (LAR) 30 are some examples on this strategy. A 3D version of a hybrid routing algorithm that combines randomized routing with flooding-based routing has been proposed in Abdallah et al. 25
Most of the geographic-based routing algorithms have been proposed and tested in 2D space. However, these algorithms are not valid in real-world applications, where the networks are embedded in 3D spaces. For example, networks that deployed in buildings with multiple floors and underwater sensor networks need 3D routing algorithms. Some algorithms like 2D Greedy and 2D LAR can be applied easily on 3D environment, but they suffer from the low delivery rate and high overhead. Other algorithms which have high delivery rate and low overhead cannot be used in 3D environment like face routing. Thus, we propose four different randomized 3D geographic-based routing algorithms that have the following properties:
Delivery rate is nearly guaranteed;
Low overhead;
Low path dilation;
Works in 3D environment.
The first algorithm 3DRanDom chooses the next neighbor from a dominating set of the network (extracted locally). The second algorithm 3DRanDomProb extracts a dominating set and sends to one of the resulted neighbors randomly with more probability for the nodes closer to the destination. The third algorithm G_3DRanDomProb tries to progress as much as possible to the destination, if it is not possible, the algorithm switches to 3DRanDomProb. The fourth algorithm G_3DRanDomProb_G uses progress-based routing as much as possible, then it switches to 3DRanDomProb until it overcomes the local minimum problem and then it goes back to progress-based routing. We show experimentally that these hybrid randomized routing algorithms on 3D MANETs can achieve nearly guaranteed delivery while discovering routes close in length to the shortest path and with low overhead.
The rest of this article is organized as follows: in the next section, we define the network model and survey some of the backbone algorithms. We present the related routing algorithm in section “Preliminaries” as well. In section “Proposed routing algorithms,” we give a detailed description of the new routing algorithms. We present simulation results to prove the much enhanced performance of the proposed methods in comparison with existing techniques in section “Empirical results.” Section “Conclusion” summarizes our results.
Preliminaries
The communication network model
Consider a set of n wireless mobile nodes. Each mobile node has a geometric location and a transmission range equal to r (represented as a sphere volume of radius r). MANET in space is usually modeled using unit ball graph (UBG). UBG vertices are the set of mobile host and its edges are straight-line segments, two nodes (u,v) are connected by an edge (undirected) if the Euclidean distance between the points u and v is less than or equal to r. The routing task is to find a path in UBG from any source node s to any destination node d. At each node, the decision of how to choose the next node for the packet is based on local information. Evaluating the new algorithms is done through the following performance measures:
Delivery rate: the percentage of times that the algorithm succeeds in delivering its packet.
Path dilation: the average ratio of the length of the path returned by the algorithm to the length of the shortest path in the UBG.
Overhead: the average ratio of number of nodes participate in the routing process to the number of hops in the shortest path.
Backbone algorithms
Many routing algorithms try to decrease the choices for the next node during the routing process by extracting a connected dominating set. A connected dominating set of a graph is subset of nodes such that each node in the graph is either in the subset or adjacent to at least one node in that subset. During the routing process, a node uses only the dominator nodes (nodes of the connected dominating set). All other nodes communicate via a neighbor in the dominating set. The efficiency of such routing algorithms depends largely on the process of finding these dominating set and the size of the corresponding connected dominating set. In the following, we discuss a couple of the main local algorithms to extract a connected dominating set in 3D space:
Alzoubi et al.31,32 connected dominating set: assumes that each node has a unique ID. The dominating set algorithm is locally started at a node which needs to know its dominator. If the node ID is less than all neighbors IDs, it considers itself as dominator. Obviously, all neighbors remove themselves from the consideration of the dominating set. Each node repeats the same process, such that the resulting set is a non-connected dominating set. To get a connected dominating set, a second algorithm starts as follows: each node in the resulted set uses local information about UBG, up to three hops away to add gateway nodes to the set until the set becomes a connected dominating set. It has been proved that this algorithm can create a connected dominating set of UBG locally without having information about the whole back end UBG. This algorithm works with 3D environment without update.
Class-based connected dominating set (CBCDS):
33
this algorithm has been proposed specifically for 3D graphs. Similar to Alzoubi algorithm, CBCDS starts locally at a node which needs to know its dominator. It consists of two phases: first phase, using a virtual space tilling system (see Figure 1), each node uses its geometric location to determine its class number; it finds the class number of neighbors as well. Node u adds itself to dominating set if one of the following conditions is true: u is of class 1 (tile id = 1) and closest to the center of its tile. u of class other than 1, closest to the center of its tile and some nodes in the same tile have no neighbors of lower class number. u is of class other than 1, closest to the center of its tile, no nodes in the same tile without neighbors of lower class id, and u is not dominated by a neighbor of lower class id.

Tilling system used in CBCDS.
The resulted graph is a non-connected dominating set. In the second phase of the algorithm, each node in the non-connected dominating set uses local information about UBG, up to three hops away to add gateway nodes to the set until the set becomes a connected dominating set. It has been proved that the construction time is constant.
Related routing algorithms
Routing protocols for MANETs depend on several issues, for example, the network topology, the information available at each node during routing process, and the characteristics of backbone network that could be used to define a heuristic to find a route efficiently. In this subsection, we review some representative geographic-based routing algorithms that are closely related to the new proposed algorithms:
3DGreedy routing. 21 When a node u receives a packet and wants to forward it to the destination. It evaluates the Euclidean distance between each neighbor and the destination and then it chooses the closest neighbor to the destination. The same procedure is repeated at each intermediate node. If the packet reaches a local minimum, then the algorithm fails (see Figure 2).
3DCompass routing. 22 In this algorithm, the node holding the packet (u) forwards it to one of its neighbors (v) that creates the minimum angle (∠vud), where d is the destination. The same procedure is repeated at each intermediate node. If the packet reaches a local minimum, then the algorithm fails (see Figure 2).
3DLAR algorithm.25,30 The current node holding the packet forwards it to all neighbors that are located in a cube as follows: using the available information of the destination node d, the source node computes the expected zone for the destination (a sphere centered at d with radius equal to
3DABLAR algorithm.
25
In this algorithm, let the node holding the packet is (u), the destination node is (d), and the closest neighbor to d is (v). The current node u defines a plane

Let the node s has a packet and need to send it to node d, 3DGreedy choose b as the next node, and 3DCompass choose c as the next node.
Proposed routing algorithms
Progress-based routing algorithms (3DGreedy and 3DCompass) usually find a path close to the shortest path, but they suffer from the unacceptable low delivery rate. On the other hand, the available randomized routing algorithms (3DABLAR algorithm and random progress) usually increase the delivery rate but with a very long path dilation. To benefit from the advantage of both protocols, we tried to use a backbone sub-graph using CBCDS to decrease the search space and decrease number of loops in randomized routing algorithms. We have four general approaches to hybridizing progress-based routing with randomized routing. The first algorithm (3DRanDom), a connected dominating set is extracted locally using CBCDS protocol and then the current node holding the packet chooses randomly one of the neighbors that belong to the connected dominating set, the same procedure is repeated at each intermediate node until the packet reaches the destination or the hop count of the packet exceed a specific threshold, see Figure 3. Table 1 shows a comparison between the new proposed algorithms and other known routing algorithms.

3DRanDom routing is done over CBCDS.
Comparison between the new proposed algorithms with other routing algorithms.
Our second algorithm (3DRanDomProb) uses similar procedure to the previous algorithm where the nodes extract a connected dominating set. In 3DRanDomProb the next node is chosen randomly but with more probability to the node that makes the most progress to the destination. As in 3DRanDom, each intermediate node does the same procedure until the packet reaches the destination or the hop count of the packet exceeds a specific threshold (see Algorithm 1 for more details).
The third algorithm (G_3DRanDomProb) tries to benefit from the low path dilation of progress-based routing algorithm using 3DGreedy and 3DCompass as much as possible. If the packet reaches a node that cannot progress to the destination, it switches to 3DRanDomProb to overcome the local minimum, see Algorithm 2.
The fourth algorithm (G_3DRanDomProb_G) works as follows, it uses 3DGreedy or 3DCompass on the original UBG as much as possible, and when the packet reaches a local minimum, the algorithm extracts a connected dominating set and tries 3DGreedy or 3DCompass, if the local minimum still there, the algorithm switches to 3DRanDom until it reaches a node closer than the local minimum node to the destination. Then, 3DGreedy or 3DCompass is used again, see Figure 4 and Algorithm 3 for details of the algorithm.

G_3DRanDomProb_G routing process, to find a route from S to D. (a) 3DGreedy is used S→Y→B, B is a local minimum; (b) the nodes extract CBCDS and use 3DRanDomProb until it reach the node W. W is closer to D than B and (c) Go back to 3DGreedy.
Empirical results
In the following, we implemented 3DGreedy, 3DLAR, and Random progress to compare them with the new proposed routing algorithms. To evaluate the relative performance of these algorithms, we will consider their packet delivery rates, path dilations, and the total overhead. We first describe our simulation environment and then describe and interpret our results.
Simulation environment
In the simulation experiments, we consider a set of nodes that are randomly distributed in the 3D space. The parameters like node density, transmission range, and threshold are determined experimentally in Fevens et al.
9
and Kuhn et al.
34
In the simulation experiments, a set S of n points (where
Clearly, an algorithm succeeds if a path to the destination is found. Progress-based routing (3DGreedy) are deemed to fail if the packet reaches a local minimum, while the randomized algorithms are considered to fail when the number of hops in the path computed so far exceeds a threshold. To compute the packet delivery rate, we run all algorithms on 100 random graphs and the percentage of successful deliveries determined. To compute an average packet delivery rate, the packet delivery rate is determined 100 times and an average taken. Additionally, out of the 100 × 100 runs used to compute the average packet delivery rate, the average path (hop count) dilation of successful paths is computed. We also calculated from the 10,000 runs the average overhead.
Discussion of results
A comparison between the new proposed routing algorithms and the other related algorithms in terms of delivery rate is presented in Table 2. The path dilation comparison is presented in Table 3. And finally the overhead of all algorithms is shown in Table 4.
Average packet delivery rate.
Average path dilation.
Average overhead.
3DLAR has the highest delivery rate, always 100% regardless of the network density. This is due to the flooding used in 3DLAR. If the packet did not arrive to the destination at the first stages, 3DLAR increases the size of the expected range and try again until the packet reaches the destination. This algorithm has a path dilation close to the shortest path as well. But from Table 4, this algorithm has the highest overhead because there are many nodes that receive and forward each packet without being part of the discovered route. Thus, this algorithm is not really usable with large and busy networks.
3DGreedy has the lowest delivery rate less than 75% at regular network density. The low delivery rate can be explained by the local minimum problem, 3DGreedy fails, when the packet reaches a node that has no neighbor closer to the destination than itself. As the network density increases, the delivery rate of 3DGreedy increases as well because there will be less chance for the packet to face local minimum. Because 3DGreedy sends the packet to one neighbor and tries to progress as much as possible to the destination, the path dilation is usually close to the shortest path and this is clear from the results in Table 3.
Random progress delivery rate is more than 3DGreedy because it overcomes the local minimum problem. Still the delivery rate is not acceptable for network with low density. From Table 2, as the number of nodes increases, the delivery rate increases as well because the threshold equals to the number of nodes. Table 3 shows that the path dilation of this algorithm is the highest between all randomized routing algorithms.
Our first proposed routing algorithm 3DRanDom has higher delivery rate more than 3DGreedy and Random progress and it has lower path dilation than Random progress as well. We can explain these results as follows: our algorithm extracts a connected domination set to do the routing process over the resulted backbone. Thus, each node has a lower number of options when it chooses the next node, therefore the right path will be chosen much faster.
In 3DRanDomProb, we tried to give more chance for the nodes that make progress to the destination in the extracted connected dominating set; 3DRanDomProb chooses the next neighbor with more probability to the nodes that make faster progress to the destination. Thus, Tables 2 and 3 show that 3DRanDomProb has a higher delivery rate and less path dilation than 3DRanDom.
G_3DRanDomProb has the second best delivery rate and the second lowest path dilation out of all randomized routing algorithms. To decrease the path dilation, G_3DRanDomProb tried to use the advantage of the low path dilation of 3DGreedy as much as possible. When there is a local minimum, it changes to the random part to pass the local minimum, thus higher delivery rate. From the results, as the density for the network increases, the algorithm results become exactly like 3DGreedy. This is due to the fact that 3DGreedy does not fail at all when the number of nodes equal to 250 and 300, which means that G_3DRanDomProb does not go to the random part at all.
G_3DRanDomProb_G outperforms all other randomized and deterministic non-flooding routing algorithms in terms of delivery rate, it has nearly guaranteed delivery in all network densities. It also outperforms all other randomized algorithms in terms of the path dilation and overall overhead. As G_3DRanDomProb, this algorithm used the advantage of 3DGreedy as much as possible and it uses the randomize phase for only a couple of steps until the local minimum is passed and the it goes back to 3DGreedy to get more benefits from the advantage of all algorithms.
Conclusion
In this article, we present a family of hybrid 3D routing algorithms for MANETs. The new algorithms are based on idea of benefiting from the low path dilation of progress-based routing 3DGreedy and the guarantee delivery of randomized routing algorithms. They also use the idea of routing over backbone network to minimize loops in the random phases. We show experimentally that these hybrid randomized routing algorithms on 3D MANETs can achieve nearly guaranteed delivery while discovering routes significantly closer in length to the shortest path and with low overhead.
Footnotes
Academic Editor: Euisin Lee
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
