Skip to content
BY 4.0 license Open Access Published by De Gruyter Open Access January 27, 2021

An Angular 3D Path Selection Protocol in Wireless Sensor Networks

Naveen Kumar Gupta , Rama Shankar Yadav , Rajendra Kumar Nagaria and Deepak Gupta
From the journal Open Computer Science


Geographical routing is an area of interest for wireless sensor networks because of its scalability and local decision making capability. Usually, geographical routing protocols rely on greedy approach and suffer from the void node problem (VNP). This paper presents an angular three-dimensional routing protocol (A3DR) for wireless sensor networks. In A3DR, the next hop is selected from nodes available in solid angle decided dynamically based on network density, i.e., larger solid angle for sparse networks while a smaller angle for dense one. The delay based contention mechanism has been proposed to select a suitable forwarding node among nodes lying in a particular solid angle. A3DR has a provision to adaptively tune the solid angle to resolve the void node problem. Further, the proposed protocol A3DR will take care of traffic congestion problem suffered by beaconless routing protocol. The A3DR tackle the concave void problem by allowing conditional backtracking to find another suitable path and prevent looping. Additionally, A3DR address overhear problem by utilizing the concept of request-to-forward and clear-to-forward for the nodes lying outside the solid angle 60°. The performance of proposed A3DR is compared with existing protocols by implementing it on the INET framework under OMNET++ simulator. The simulation results indicate that A3DR achieves a high packet reception rate while maximizing the residual energy and minimizing traffic overhead.

1 Introduction

In the last few decades, continuous development of wireless sensor technology has enhanced scalability and usability with reducing the manufacturing and maintenance cost. As a result, wireless sensor networks (WSNs) become a prime technology for remote monitoring applications [28, 32]. The WSN composed of a large number of low cost portable smart wireless sensor nodes to monitor the environment where each node is a combination of two systems: wireless communication and embedded systems. A node consists of a set of embedded sensors, along with limited resources (e.g., processor, memory, battery and optional GPS, etc.) and communicates via wireless channel (e.g., Wi-Fi, ZigBee, UVB, Bluetooth etc.) [27]. Some of the applications of WSNs are agricultural crop monitoring, ocean environment monitoring, gas detection in coal mines, disaster prediction, habitat surveillance, home automation, military operations, industrial monitoring and many more [33].

The objective of WSN is to sense the environment, process data, and send it to the sink node. The network may be multihop in nature so, a routing algorithm is required to transmit/forward the data towards the sink. Further, it is assumed that nodes know their location by means of GPS or any localization technique [12]. Hence, it is easy to work with geographic routing protocols (GRPs). GRPs are also known as location-based, position based or geometric routing protocols.

1.1 Issues in geographic routing protocols

In most of the GRPs, nodes are located in the 2D plane [19, 24, 26]. However, there are some networks deployed in hilly area, high buildings, underwater or underground where nodes can not be identified in the 2D plane and require additional dimension as height other than length and breadth in 2D. Further, GRPs rely on greedy forwarding where the packet is forwarded to the next neighbor, which is nearer to the sink node. While choosing the next neighbor the forwarding algorithm face the void node problem where no suitable neighbor node is available. This condition is known as void node problem (VNP) or local minima problem, which may lead to routing failure. Usually, routing protocols [1, 29] consider Unit Ball Graph radio model to preserve the connectivity. That means, it is assumed that if two nodes are in certain communication range then these nodes can communicate directly. Practically, it is not always true because of channel interference, multipath fading, obstacles or sender battery power limitation. So packet forwarded by the sender may not be received at next hop/destination. Each node has to maintain the location information of some other nodes (e.g., neighbor, sink) to forward the packet. In some protocols, the location is maintained using periodic beacons. The periodic beacons create extra overhead on the network and consume lot of energy so it should be avoided or minimized. To resolve the problem of periodic beacons, beaconless or contention based geographical routing approaches [6, 7, 14, 15, 31] are also come in the picture. The existing contention based algorithms work fine with certain network topologies and may cause the highly traffic congestion in some other topologies.

1.2 Contribution of the research

Considering the issues mentioned above in multihop 3D wireless networks, an angular 3D geographical routing (A3DR) algorithm has been proposed in this paper. These issues include the problem of ignoring 3rd dimension. The A3DR offers the following desirable properties: (i) Dynamic solid angle based forwarding: initially, the node calculates solid angle towards the sink, so the packet is forwarded in the desired region only. Hence, angle based forwarding reduces undesirable flooding and lead to minimize the energy consumption. The solid angle is an angle in 3D space by considering the line joining sender node to sink node as base line and surrounded by conical shape structure. Thus, it takes care about 3rd dimension. The solid angle is increased only in the cases when no suitable forwarding node is available in lower value of the solid angle. (ii) Delay based contention mechanism to select a forwarding node and avoid the traffic congestion: if more than one node present inside the solid angle then contention mechanism has been proposed to avoid the traffic congestion. When a node inside the solid angle receives the packet, it schedules the transmission of the packet according to dynamic delay timer (as given in equation 2). On expiring the scheduled timer, the node forwards the packet which may be heard by other scheduled nodes, such nodes cancel their forwarding schedule. If such scheduled nodes are out of reachability of current forwarder, then the previous node takes the responsibility of cancelling the forwarding schedule. Here, the hidden node problem may occur which is handled by request-to-forward (RTF) & clear-to-forward (CTF) mechanism. (iii) Recovery from VNP problem: the algorithm initially starts with the greedy mode, and when packet stuck with void node then it provides recovery from VNP. Moreover, if packet stuck with concave void then it provides backtracking mechanism and blocks such path for further transmissions. (iv) Connectivity-based model: the A3DR uses a modified version of the Unit Ball Graph (UBG) radio model. The modification includes calculation of solid angle α which is based on fixed communication range. On the other hand, if two nodes can hear each other then these are connected otherwise they are disconnected. When next hop forwards the packet, the sender overhears this packet and assumes that one of its neighbors has forwarded the packet. If the packet is not overheard by the sender, it assumes that no suitable neighbor is available in the conical region and retransmits the packet by increasing the solid angle. (v) No beaconing required for the routing protocol: the protocol does not require any routing information exchange with other nodes. Therefore, beacons are not required for the proposed routing protocol.

The rest of the paper is organized as follows: Section 2 describes related research work done in the literature. The detail description about A3DR protocol is presented in section 3. The results and performance are discussed in section 4. At last, section 5 concludes the research paper with future directions.

2 Related Work

The GRPs operate in two working modes (i) greedy mode and (ii) recovery mode (or bypass mode). Initially, GRP starts with greedy mode and switches to the recovery mode when VNP problem occurs [11, 16]. The researchers have made an effort to fix the VNP problem with face routing and proposed Greedy-Face-Greedy (GFG) [4], Greedy Perimeter Stateless Routing (GPSR) [19] and other variants [21, 23]. These protocols rely on the planarity of the network [2, 11]. Planarity refers to draw the graph in a plane and two edges must not cross each other. The Gabrial Graph (GG) and Relative Neighbor Graph (RNG) are techniques to convert any 2D network to simple planar graph such that no two connecting edges of the nodes cross each other and draw in a simple plane. This condition might not be possible in 3D topology [2, 5, 16]. The researchers have tried to get recovery from VNP in 3D networks [11, 16]. The problem becomes more complicated when packet stuck with the concave void. The concave void is a condition where successive nodes have the only option of backtracking i.e., choosing the next successive node with an angle more than 90° [9, 18, 34]. The two examples of the concave void are shown in Figure 1 where recovery from case 2 (as depicted in Figure 1b) is relatively easy, but most of the protocol are not able to get recovery from case 1 as shown in Figure 1a.

Figure 1 Concave Void Problem
Figure 1

Concave Void Problem

Taking care of the third dimension, GDSTR-3D [35], Multihop Delaunay Triangulation (MDT) [22], WEAVE [20], 3D real-time geographical routing protocol (3DRTGP), Onion-Map [5] and some other protocols came into the picture. Zhou et al. [35] proposed GDSTR-3D where each node keeps two-hop neighbor information and sets up convex hull tree to route the packet around the void nodes. The maintenance of two hop information is quite memory consuming. Simon S. Lam and Chen Qian [22] have extended S4 algorithm and introduced MDT routing protocol. MDT uses virtual links to handle the VNP problem and dynamic topology changes. The MDT produces a good packet reception ratio and routing stretch, but end-to-end delay is very high. The WEAVE [20] protocol used the concept of checkpoints and waypoints to route the packets in large-scale 2D and 3D networks.

Giruka and Singhal proposed the Angular Routing Protocol (ARP) [10]. In ARP, nodes use a combination of greedy and angle based forwarding. Each node knows its own position and the position of one hop neighbors by means of the beaconing process. This protocol uses restrictive beaconing rather than periodic beaconing. When packet stuck with void node, then it selects a neighboring node that makes the minimum angle with the destination, among available neighbors within its transmission range. Additionally, packet header maintains a history of previously visited five nodes to prevent choosing a next hop which is already present in the packet header. Such prevention may lead to routing failure in case of concave void where the previous node is the only node to recover from VNP.

Most of the above discussed approaches use periodic beacons to ensure connectivity. In reality, maintaining connectivity all the time is not a good idea in any ad hoc or sensor network. A node requires the next hop only when it has data packets to transmit. To avoid the periodic beacons, Heissenbuttel et al. proposed contention based beaconless routing algorithm (BLR) [14]. The contention is applied to the nodes which are in fixed 60° angle. If no node inside the specified angle then apply the planarization process similar to GPSR. The BLR suffers from collision when nodes have the same progress (projection) towards the destination. It cannot handle void region in the 3D network.

Rubeaai et al. [29] proposed 3DRTGP and introduced the idea of an adaptive packet forwarding region (PFR) so that a transmitted packet can be received in PFR only. Initial PFR value is determined based on network density, but if any node in given PFR does not receive the packet, then it increases the PFR twice every time until finding a forwarding node or covers the maximum possible coverage area. Every time increasing PFR twice may lead to higher congestion because of exponential growth in PFR, which can cover too much forwarding nodes. Moreover, each node maintains three types of lists named BroadcastList, RetransmitList, and VoidNodePacketList to track the packet so that nodes can take routing decision. The sender nodes maintain BroadcastLists and RetransmitLists but each neighbor of the sender has to maintain the VoinNodePacketList which maintains the angle information independently. The maximum size of each list depends on the number of source nodes, packet rate and packet lifetime. So, storing and maintaining these three lists may lead to higher storage cost. The researchers have also provided dual path routing schemes (EDGR [17] and GGNG [25]) to produce better reliability. In EDGR, the 3D network is projected to 2D to get recovery from void node problem. Such transformation may lead to routing failure. Additionally, Alaa E. Abdallah [1] has proposed partial flooding-based routing algorithms for providing high delivery with lower routing overhead. Due to flooding nature, these algorithms could not provide data delivery in energy efficient manner.

3 Proposed A3DR Protocol

This section presents a detailed description of the A3DR protocol. It includes required assumptions, overview, algorithms and other necessary detail.

3.1 Assumptions

  1. The network consists of randomly distributed n number of nodes where neighbors are connected with symmetric links and each node knows its own and sink node's 3D coordinates. The symmetric link is when the channel conditions are similar in the two ways source to destination and contrariwise, as collisions, channel interference, and throughput.

  2. V is volume of geographical region where network with n number of wireless nodes are deployed. The 3D volume (V) of the target network is known in prior, and the spherical transmission range of each node is R meters. The V and R values are used to calculate the initial solid angle α which is used to find the next hop towards the sink node.

3.2 Protocol Overview

The protocol has been divided into four sub algorithms mentioned as the algorithm 1 up to 4. At the time of network deployment, each node executes algorithm 1 to initialize the necessary variables and methods for the network. When a node has data to transmit, it makes itself as a source node and executes algorithm 2 which is responsible for initializing and transmitting the packet. When the transmitted packet reaches to the next hop, it starts algorithm 3 to check for certain conditions and take decision accordingly. Algorithm 3 is the core of this paper where condition checking and respective decisions have been carried out. There may be a condition where the next hop does not transmit the packet. The sender recognizes this condition and executes algorithm 4 to retransmit the packet. The protocol does not require beacon packets to exchange the information. Further, only nodes inside the limited conical region of sender's communication range could participate in the routing process. Therefore, the proposed protocol reduces the network overhead and minimizes the overall energy conservation.

Algorithm 1


1: ResendQueue.clear()
2: TransmittedQueue.clear()
3: nextHopAddress = null
4: initialize max_delay
5: Calculate the initial value of angle α as α1
Algorithm 2

Transmitter (packet)

1: packet.senderAngle = α
2: packet.senderAddress = selfAddress
3: packet.senderPos = selfCoordinates
4: packet.nextHop = nextHopAddress
5: Insert packet in ResendQueue
6: set timer Tout
7: if (nextHopAddress == null) then
8:     Transmit packet to one hop broadcast
9: else
10:     Transmit packet to multicast (nextHop, prevHop)
11: end if
Algorithm 3

Receiver (packet)

1: if (is Destination/Sink) then
2:     Notify to previous host
3:     Accept packet
4: else if (packet ∈ ResendQueue) then
5:     store packetId and sourceAddress in Transmitted-Queue
6:     delete packet from ResendQueue
7:     cancel Tout
8:     if (α > 30) then
9:         transmitter (packet)
10:     end if
11:     if (nextHopAddress == null) then
12:         nextHopAddress = packet.senderAddress
13:     end if
14:     Drop packet
15: else if (scheduled packet with timer) then
16:     cancel schedule
17:     Drop packet
18: else if (packet.nextHop == selfAddress) then
19:     transmitter (packet)
20: else if (packetId and sourceAddress ∈ Transmitted-Queue && packet.senderAngle < 180) then
21:     Drop packet
22: else if (packet.senderAngle ≥ 180) then
23:     if (packetId and sourceAddress ∈ Transmitted-Queue && α < 180) then
25:         delete packetId and sourceAddress from TransmittedQueue
26:         nextHopAddress = null
27:         Resend(packet)
28:     else
29:         Drop Packet
30:     end if
31: else if (packetId and sourceAddress ∈ Transmitted-Queue && packet.senderAngle < 180) then
32: else
33:     calculate θ
34:     calculate delay
35:     if (θ ≥ packet.senderAngle && α < 180) then
36:         schedule packet to transmit after delay
37:     else
38:         Drop packet
39:     end if
40: end if
Algorithm 4

Resend (packet)

1: cancel Tout
2: if (nextHopAddress == null) then
3:   if (α < 30 && α + α1 ≥ 30) then
4:     α= 30
5:   else if (α + α1 ≥ 180) then
6:     α = 180
7:   else
8:     α = α + α1
9:   end if
10: else
11:   nextHopAddress = null
12: end if
13: set timer Tout
14: Transmit packet to one hop broadcast

The source node initiates the routing procedure by assuming that the packet is already created by the upper layers where packetId and source address are included for unique identification of the packet. In the beginning, source node is current sender and in the entire paper, the sender is considered as a current node which is forwarding the packet. Each node has information about the sink node, so no need to include it with the packet. In the beginning, it is assumed that no one node knows the next hop address towards the sink, so some initial packets to be broadcasted in the solid angle. Additionally, each node maintains two queues (i) ResendQueue contains the recently transmitted packets which are not forwarded by next hop, and (ii) TransmittedQueue contains the packetId, source address and lifetime of transmitted packets which are forwarded by next hop. The purpose of the TransmittedQueue is to protect from looping by maintaining packet detail and taking decision according to network condition. The sender node includes/updates angle α in the header of transmitted packet so that neighbors could check their availability inside the conincal region. Each node deletes expired objects (packet or packet details) from both of the queues periodically. The queues cannot have duplicate entries of any packet.

(1) ResendQueue_length=TransmittedQueue_length=no_of_sources×packet_rate×lifetime

So, the maximum number of packets at any node is restricted to packets generated by all the sources in the lifetime of one packet because packets should be removed from queues after expiring the lifetime. The equation of computing the Queues length is given in equation 1. Following parts of this section describes each algorithm one by one.

Algorithm 1 executes at each node during network initialization. The node clears its ResendQueue and TransmittedQueue, sets nexthop address as null, initializes max_delay according to network condition and computes initial value of solid angle α using equation 6.

The source node executes algorithm 2 to transmit the data packet. The node includes current sender address, sender coordinates, α and packet lifetime with header of the packet before transmitting the packet. The header of this data packet is shown in Figure 2.

Figure 2 Packet header format
Figure 2

Packet header format

On receiving the packet, each node executes algorithm 3. The packet is forwarded by one of the nodes which are inside the solid angle α of the sender. Such nodes start their contention period (t) calculated using equation 2. The parameters available in this equation are depicted in Figure 3 which indicates that different nodes will have either different distance from destination (c) or different angle (θ) or both and as a result value of t will be different.

Figure 3 Conical region covered by the source node.
Figure 3

Conical region covered by the source node.

The contention period t is mapped from 0 to max_delay for specified α sector. The node with lowest contention period forwards the packet on expiring its period. Other competitive nodes cancel their contention period on hearing this packet. When a sender node sends a packet, it keeps a copy of this packet in its ResendQueue (as depicted in algorithm 2). So, if next hop forwards the packet, it is overheard. On overhearing the packet, sender node deletes this packet from ResendQueue and inserts its packetId, source address and lifetime to the TransmittedQueue.

(2) t=max_delay[1(dc)cos(θ)R]

Additionally, sender maintains a timer value (Tout) to monitor the adaptive solid angle α. If the packet is not forwarded by any neighbor in Tout time then the sender assumes that there is no node inside the solid angle. In this condition, there is a mechanism of retransmission after increasing the α value. The process of increasing α and retransmission is presented in section 3.4.

Other conditions of algorithm 3 are as follows: If receiving node is final destination, it accepts the packet and notifies the previous node so that previous node deletes this packet from ResendQueue. In case received packet is inside the ResendQueue, it assumes that next hop has successfully forwarded the packet and deletes the packet from ResendQueue after keeping the packet detail in TransmittedQueue. The packet may be received to the node which contains the packet identification detail inside its TransmittedQueue. This condition indicates looping problem which is resolved by discarding this packet. Further, the current receiving node multicasts the packet to previous node as well as next hop if next hop address is not null. Other conditions related to receiving procedure are described in the following sections.

3.3 Solid Angle Calculation

Suppose, Vc is volume of the conical transmission region (conical sector) of one node with the solid angle α (as depicted in Figure 3). The initial solid angle should be tuned with the network density such that volume Vc should contain Nc number of nodes. The network density D, is number of nodes per unit volume in the network which can be calculated as D = n/V. As we know, the number of nodes are distributed in uniform random manner in the network. So, division of number of expected nodes Nc by network density will provide the volume Vc for availability of Nc nodes. This is summarized in equation 3.

(3) Vc=NcDVc×D=Nc

The volume of the conical region (Vc) is calculated using equation 4 [13].

(4) Vc=2R3π3(1cos(α))

Substituting the equation 4 and value of D in equation 3

(5) nV×2R3π3(1cos(α))=Nc

The value of Nc could be 1Nc4nR3π3V , i.e., corresponding to maximum value of α = 180° and volume covered by one node with communication range R is 4πR33 . In the proposed algorithm, we expect one node inside the conical sector as only one node is required for packet forwarding. Therefore, set Nc = 1.

(6) nV×2R3π3(1cos(α))=1α=cos1[13V2nR3π]

The computed angle α using equation 6 is for 3D and measured in unit degree (°) [29]. The volume of the conical region is depicted in Figure 3 where α is the solid angle. Nodes n2 and n3 are present in the conical region, one of them will be selected as the next hop towards sink node. Initially, α is the same for each node, but it may vary for the specific node according to the network condition. The description of α variation is presented in section 3.4.


Suppose, 3D target network area is 500m × 500m × 200m that means volume V = 50000000m3, communication range R = 100 meters, number of nodes in the network n = 200 then the value of α will be 28.28° (according to equation 6).

3.4 Greedy Forwarding

Initially, the algorithm starts with greedy mode where the packet is forwarded to the next forwarding node towards the sink node. The communication channel should be in listening mode till a packet is forwarded by any neighbor. If the sending node does not overhear the packet in Tout time, it means there is no forwarding node inside the conical sector α. So, the node waits for timer expiry and then increases the α by initial angle value α 1. The packet is retransmitted after increasing the α value. Here, the overhearing process is for reliability point of view such that ensuring the packet forwarding. The retransmission procedure is presented in algorithm 4.

3.5 Next Hop Selection

To understand the next hop selection, let's consider Figures 4 up to 7. Here, A and B are source and sink nodes respectively and all other ni are intermediate nodes. When node A wants to send a packet, it initiates the packet using the required header and payload data, and then follow the algorithm 2. The transmitted packet reaches to all neighbor nodes. On receiving the packet, node calculates the angle θ and follows the algorithm 3. The angle θ is calculated using equation 7 by considering node A to the sender (S), node B to the destination (D) and neighbors of node A to neighbor (N). The 3D coordinates of S as (Sx, Sy, Sz), D as (Dx, Dy, Dz) and N as (Nx, Ny, Nz). Where SN (i.e., SxNx, SyNy, SzNz) and SD (i.e., SxDx, SyDy, SzDz) are euclidean vectors.

(7) θ=cos1[SN.SD|SN|.|SD|]
Figure 4 Case 1: Only one node inside the solid angle
Figure 4

Case 1: Only one node inside the solid angle

Figure 5 Case 2: More than one nodes inside the solid angle and α < 30
Figure 5

Case 2: More than one nodes inside the solid angle and α < 30

Figure 6 Case 3: More than one nodes inside the solid angle and α > 30
Figure 6

Case 3: More than one nodes inside the solid angle and α > 30

Figure 7 Case 4: No neighbor in forward direction, required backtracking
Figure 7

Case 4: No neighbor in forward direction, required backtracking

In equation 7, the numerator part represents the dot product of both of the vectors and the denominator part represents the multiplication of euclidean distances between both of the vectors. After calculating the θ value, these neighbors compare θ with α of the sender node (the α is available in packet header). If θ is less than or equal to the α, then neighbor node may become potential forwarder of the packet. Otherwise, the packet should be discarded. The node satisfies the forwarding condition starts its contention period t using equation 2 and schedules packet forwarding after t time. A node with lower contention period expires first and transmits scheduled packet (applying algorithm 2) after updating the α, sender address and sender coordinates in the packet header. Other competitive nodes cancel their schedule on hearing this forwarded packet. The packet is also overheard by the node A. Now, node A recognizes this packet by checking ResendQueue. Thus, node A sets next hop to the transmitting neighbor for further transmissions. Once next hop is set, no need to take care of θ or α. This process continues until data reaches to the sink node. To Take care of different network conditions, the following cases should be addressed:

Case 1: Only one neighbor is present inside the solid angle: In Figure 4, the node A has only one neighbor n1 in its solid angle. When node n1 receives packets from A, node n1 starts its contention period and forwards the packets on expiring the contention period.

Case 2: More than one neighbors are present inside the solid angle and α<30°: As depicted in Figure 5, nodes n2 and n3 are available inside the solid angle. On receiving the packet, both of the nodes start their contention period according to equation 2. Suppose, contention period of n3 expired first, the node n3 will forward the packet. The node n2 will also hear this packet because α of node A was less than 30° so n2 is in communication range of n3 (according to equation 8). Now, n2 cancels its contention schedule knowing that another node already forwarded this packet.

In equation 8, chord is the maximum distance between any two neighbors of the sender node. So, if α <= 30° then chord <= R.

(8) chord=2×R×sin(α)

Case 3: More than one neighbors are present inside the solid angle and α>30°: This case is similar to case 2 but here α of node A is greater than 30° (as shown in Figure 6). It means two neighbors of node A may not be in communication range of each other. Here, α > 30° so chord will be greater than R. In this case, sender node (i.e., node A) has to take responsibility to inform other neighbors for cancelling the contention schedule. The possibilities of traffic congestion, among the nodes lying in the larger solid angle are taken care of by using the concept of RTF & CTF mechanism. The description about RTF and CTF is given in subsection 3.6.

Case 4: Void Handling and Backtracking: Sometimes α value may exceed the 180°, but the node didn’t find any forwarding node (as shown in Figure 7). In this case, the node backtracks the packet and blocks itself for further forwarding (but such node can send the packet as a source). When a node receives the backtracked packet with α value greater than 180°, then it assumes that the next hop didn’t find any forwarding node and it looks for its TransmittedQueue to check whether the received packet information is available or not. If the packet information is not available in the TransmittedQueue, discard the packet, otherwise, if the packet information is available in its TransmittedQueue then the node increases its α value and forwards the packet greedily. When blocked node overhears this packet, it updates its nextHopAddress field so that it could send the packet as a source node in future. If successive nodes are caught with VNP, then such portion of the network is termed as concave void. The A3DR protocol has the capability of handling concave void by repeating VNP handling procedure. In this way, the packet reaches to the sink node if any single path is available. Hence, only initial packets may suffer from the VNP, and further transmissions follow the recovered path.

3.6 RTF and CTF Scenario

In this work, we have proposed a handshake message based forwarding that avoids multiple forwarding. Each candidate node lying in the conical section starts contention timer delay. The node whose contention expires sends a request-to-forward (RTF) message to previous node and previous node communicates this information through clear-to-forward (CTF) message to other nodes in the process of competing for forwarding including node whose contention delay expired. The node whose contention delay was expired, forward the packet while other nodes stop contending as one has forwarded the packet. The RTF message contains address of RTF generating node as sender address, and address of previous node is receiver address along with packet id & binary flag. The flag is set only if RTF message is generating on contention expiry. This is shown in Figure 8.

Figure 8 RTF frame
Figure 8

RTF frame

Further, on receiving the RTF message, a node checks the flag value and comes to know that a node has succeeded in contention and ready for forwarding the packet. It will issue a CTF message to each candidate node after receiving the CTF message. A node that has generated the RTF message forward the packet while other nodes come out from the process of forwarding. The CTF contains sender address as address of a node that has received RTF and address of all candidate nodes as receiver addresses along with packet id & flag value. This is shown in Figure 9.

Figure 9 CTF frame
Figure 9

CTF frame

Figure 10 depicts the resolution of multiple packets forwarding problem using handshake messages RTF and CTF. Here, contention period of node 2 expires before contention expiry of node 3. On expiry of contention period, node 2 sends RTF to node 1 and node 1 send CTF in response of RTF to node 2 & 3. On receiving the CTF, node 2 forwards the packet while node 3 quits from the forwarding process. Thus, multiple packet forwarding problem is resolved in this case.

Figure 10 Overhear problem resolution using RTF and CTF concept
Figure 10

Overhear problem resolution using RTF and CTF concept

3.7 Route Maintenance

The node maintains a list of recently transmitted packets that are not overheard. If the forwarded packet is not overheard till timer expiration, then it is assumed that the packet has dropped. The cause of packet drop can be either (i) heavy congestion or (ii) node failure. Lower layers deal with the problem of heavy congestion. To recover from the condition of node failure, the sender sets the next hop to null and broadcasts the packet in solid angle (as depicted in algorithm 4). Again, conical region maintenance and next hop selection are similar to section 3.4 and section 3.5 respectively.

4 Simulation Results and Discussion

The proposed protocol is implemented on the INET framework under the OMNET++ simulator. The simulation parameters are given in table 1. Other supporting protocols (like 802.11 mac, IPv4 network layer protocol, UDP transport layer protocol etc.) are directly taken from ready made INET framework. The nodes are deployed randomly where four nodes are considered as the sources which are placed at different corners of the network. The sink node is fixed at the center of the network. The performance of A3DR is compared with the 3DRTGP [29], ARP [10], GPSR [19] and BLR [14]. The competitive protocols BLR and 3DRTGP also used the concept of packet overhearing. The 3DRTGP is based on the packet forwarding region where the packet is forwarded to the specified region only. It is not efficient to handle the concave VNP due to limited backtrack capability. On the other hand, GPSR uses greedy forwarding in the beginning, and moves to perimeter mode when a greedy path does not exist (i.e., void region). The perimeter mode requires planarity of the network, which is calculated using GG [8] by ignoring third coordinate. Hence, it may take a longer path to deliver the packets. The purpose of using GG is to show that planarity is not efficient for 3D networks. The ARP also uses greedy forwarding in the beginning and switch to angle based forwarding when packet stuck with VNP. The ARP does not support backtracking so, in some conditions, it may not deliver the packet even if path is available. In addition to these protocols, the results are also compared with BLR i.e., contention based routing protocol where a node becomes a potential forwarder which wins the contention in terms of minimum contention delay. In BLR, a fixed 30° of angle (or 60° of full angle) has been considered for as potential angle of forwarding, and if nodes are not available in this fixed angle, then applied backup policy. The backup policy is similar to the GPSR approach which makes planar network and extracts the faces by using left hand rule (or right hand rule).

Table 1

Simulation Parameters [29]

Parameter Value
Simulator OMNET++ [30]

(INET 3.6.3 framework)
MAC IEEE 802.11

(ad hoc mode)
Data Packet Size 32 bytes (UDP datagrams)
Simulation Time 300 seconds
Packet Lifetime (expiry time) 500 milliseconds
Target Network Area 500m × 500m × 200m
Communication Range 40 to 120 meters
Initial Energy 5.0J
Number of nodes 100 to 500 randomly deployed
Bit-Rate 200 kbps
Packet rate 1 to 10 packets/sec
spherical hole (void) radius 30 to 70 meters

Four types of experiments have been performed to measure the results (i) the packet rate is 10 packets/sec, the communication range is 100 meters and number of nodes are varying from 100 to 500. (ii) The number of nodes are 500, communication range is 100 meters and packet rate varied from 1 to 10 packets/second for each source node. (iii) The number of nodes is 200, packet rate is 2 packets/second/source, spherical hole radius is 50 meters and communication range varied from 40 to 120 meters. (iv) The 200 nodes are deployed in dimension of 250m × 250m × 250m network, packet rate is 2 packets/sec, communication range is 70 meters and spherical hole radius is varied from 30 to 70 meters. In the simulation study, each scenario is tested on 10 different random networks by changing 10 seed values uniformly selected in range (10–100). Further, for each network 3 repeated executions are carried out and each reported result is an average of 30 outputs. The variation in the results is represented by confidence interval which is shown in graphs.

The performance of proposed protocol has been evaluated on the basis of packet reception ratio (PRR), end-to-end delay, residual energy and network traffic. The PRR is the ratio of total number of packets received at the sink to the number of packets sent from source node. End-to-end delay is the time difference between packet generated at source node and delivered by the sink node. It is used to evaluate the timing performance of the protocol. The residual energy represents the lifetime of the network i.e., higher residual energy causes greater network lifetime. The maximum part of energy is consumed in transmission and reception of data. The data processing and computation take very less energy. Hence, routing protocols focus on minimizing the transmission and reception of packets. In this simulation, the residual energy is calculated based on the average of remaining energy at each node. The total number of packets transmitted during simulation is termed as network traffic. It becomes an overhead if the protocol requires additional packets to deliver the message. In simulation study, number of transmitted packets is fixed (i.e., according to the packet rate), so the traffic overhead is computed according to the total number of transmissions that occurred during the simulation.

4.1 Effect of varying number of nodes

The result depicted in Figure 11 indicates that A3DR provides almost 100% PRR in all the cases concerning the network density. The solid angle α calculation and its updation are dependent on the network density, so variation in number of nodes is not affecting the reception ratio. Other competitive algorithms are suffering from some packet drops. The 3DRTGP algorithm is angular broadcast in nature and currently packet rate is set to 10 packets/second, so it is creating too many redundant packets. As a result, it is suffering from traffic congestion and packet loss. The GPSR is performing smoothly and PRR is increasing with increasing the number of nodes in same network. It is possible because packets get a better path for planarization based recovery policy in dense networks. The reception ratio of ARP is increasing as increasing the number of nodes in the network. The ARP cannot backtrack to the previous node in concave void condition, but when number of nodes increased then probability of recovery from void node problem gets increased. The case of BLR is slightly different because it uses a fixed sector to forward the packet. When the number of nodes is less, then there is less probability of occurrence of node inside the sector. If nodes are not available inside the sector, then it uses 2D planarization which may leads to routing failure. As a result, less reception ratio in the case of lower density of the network. On the other hand, when density increases then there is more chance of occurring nodes at the same projection which can lead to collision.

Figure 11 Effect of varying number of nodes on packet reception ratio
Figure 11

Effect of varying number of nodes on packet reception ratio

The timing performance is shown in Figure 12. The A3DR is running smoothly with constant end-to-end delay with no effect of network density. Here, end-to-end delay is depending on hop count and availability of nodes inside the initial solid angle. Some initial packets have to deal with void node problem and remaining packets follow recovered path. Therefore, it is about 20–25 milliseconds in all the experiments. The BLR is having minimum delay because either packets are receiving in case of path availability or not receiving at all. The delay is calculated for delivered packets only. GPSR and ARP are suffering from relatively higher delay due to recovery from void problem in case of sparse network. But, when network density gets increased then beaconing congestion cause the end-to-end delay. Therefore, these protocols always suffer from higher delivery delay. The 3DRTGP also has to suffer from void node problem in case of 100 & 200 nodes which results in higher end-to-end delay. Furthermore, end-to-end delay is minimized for other maximized network density.

Figure 12 Effect of varying number of nodes on end-to-end delay
Figure 12

Effect of varying number of nodes on end-to-end delay

The results presented in Figure 13 indicate that BLR is energy efficient routing protocol but its reception ratio is very less so nodes energy couldn’t be utilized. Hence, it is showing the highest residual energy. ARP and GPSR are showing moderate energy consumption but these protocols couldn’t efficiently utilize energy by managing reception ratio. Initially 3DRTGP starts with angular flooding but it generates uncontrolled redundant packets in the network. The movement of redundant packets depletes the network energy.

Figure 13 Effect of varying number of nodes on overall residual energy
Figure 13

Effect of varying number of nodes on overall residual energy

The effect of network density on network traffic is given in Table 2. It is clearly shown that the number of unnecessary transmissions increases in beacon based protocols (ARP and GPSR) on increasing the network density. In BLR protocol, higher network density causes identical projection on line joining sender and sink nodes, which leads to higher traffic congestion and redundant transmissions. Thus, number of transmissions increased in BLR. The 3DRTGP protocol is generating too many redundant packets due to angular flooding nature. The more the number of nodes lead to more redundant packets, which create direct impact of number of nodes in the network. The packet transmission of proposed A3DR depends on angle based conical sector which is directly proportional to the network density. Additionally, forwarding node selection depends on contention period which is free from periodic beaconing. Thus, it has minimized traffic and constant results on different numbers of nodes in the network.

Table 2

Effect of varying number of nodes on network overhead

Number of nodes 3DRTGP ARP BLR A3DR GPSR
100 820414 77062 56967 78893 77030
200 1415228 85654 81001 75119 85567
300 1841316 99674 83960 73169 98074
400 3023190 111001 133233 71892 111058
500 3032580 125633 111266 70271 126106

The results depicted in Figures 11 up to 13 and Table 2 denote the effect of variation in network density. Here, it is observed that the proposed A3DR protocol is an efficient protocol in terms of packet delivery, network energy and network overhead. Some initial packets suffer from higher end-to-end delay due to delay based contention mechanism which results in moderate end-to-end delay.

Analysis: The formula for computing the α is given in equation 6. Here, network volume V = 500 × 500 × 200, communication range R = 100 and number of nodes (n) varying from 100 to 500. When n = 100


We distributed nodes in uniform random manner so there is a probability of occurrence of one next hop candidate for each sender node in their conical section covered by angle α = 40.42°. That means network is properly connected and path exist from each source to sink node. Further, delay based contention approach is able to select congestion free route. Thus, packets are delivering properly with 100% success rate. When the number of nodes increased to 500, the angle α will be:


It can be observed, while number of nodes in the network increased, the angle value get decreased. Therefore, same trend is followed for higher density also. This is verified with simulation results shown in Figure 11.

The source nodes are placed at different corners of the network. Suppose, 3D geographical locations are (0, 0, 0), (0, 0, 200), (0, 500, 0) and (500, 500, 200). The sink node is placed at the center of the network whose 3D coordinates are (250, 250, 100). The sink node is having equal euclidean distance from each source. The euclidean distance between sink and source with position (0, 0, 0) is calculated using euclidean formula


The distance of 367.42 meters with communication range of 100 meters can be travelled in 367.42100=4 hops in ideal case. The nodes are randomly placed in the network so average hop distance, between source node to sink node, might be 4 to 6 hops. The average delay per hop distance varies between 4 to 5 milliseconds. Therefore, the average delay varies between 20 and 30 milliseconds. This variation can be clearly seen in Figure 12.

There are 4 source nodes which are generating 10 packets/sec traffic for 300 seconds. So, total packets generated are 4 × 10 × 300 = 12000. Each packet has to travel 4 to 6 hops before reaching to sink node. That means 48000 to 72000 transmissions are needed in ideal case. On the other hand, multiple retransmissions due to packet loss and some additional supporting transmissions (e.g. RTF & CTF packets) also exist in practical scenario. Therefore, total packet transmissions are slightly increased. When network density is high, then conical angle is smaller which leads to lesser number of transmissions. While density is low and number of nodes are 100, the angle α = 40.42° which is greater than 30°. Here, case 3 of section 3.5 might be applicable and this case can be resolved using RTF CTF concept which is given in section 3.6. Here, additional RTF & CTF packets need to be propagated as a result overhead increases in lower density. The network overhead also affects overall energy consumption. This analysis can be verified with simulation results available in Table 2 and Figure 13.

4.2 Effect of Packet Rate

Since analyzing the effect of packet rate is important to check the performance, it is presented in Figures 14 up to 16 and Table 3. The number of nodes and communication range are set to 500 and 100 meters, respectively. The results are tested on variation in packet rate from 1 to 10 packets/second per source. As we have already checked the performance in subsection 4.1 at the packet rate of 10 packets/second where performance of A3DR was constant on PRR and end-to-end delay. The same trend for PRR and delivery delay is also followed on lower packet rates. The variation in packet rate is not affecting the performance of A3DR protocol and performing efficiently. The residual energy is also decreasing and network traffic is increasing on growing the packet rate which is a usual scenario.

Figure 14 Effect of varying packet rates on packet reception ratio
Figure 14

Effect of varying packet rates on packet reception ratio

Figure 15 Effect of varying packet rates on end-to-end delay
Figure 15

Effect of varying packet rates on end-to-end delay

Figure 16 Effect of varying packet rates on overall residual energy
Figure 16

Effect of varying packet rates on overall residual energy

Table 3

Effect of varying packet rates on overall packets transmitted

1 452137 79850 6918 7167 78706
2 906339 84881 13516 14057 82586
4 1811490 95143 26686 27814 90533
5 2264941 100422 35021 34741 94389
8 3623252 115483 141563 55249 106114
10 3032580 125633 111259 72271 126106

Figure 14 illustrates the packet delivery pattern. The BLR is providing almost 100% reception rate and it is decreasing on raising the packet rate. It is performing better when packet rate is less than 5 packets/second and getting congested on higher packet rate. So, it is performing worse in terms of reception ratio. Meanwhile, 3DRTGP is not able to handle the network flooding which causes higher congestion and packet loss on different packet rates. The GPSR and ARP have about same delivery because of beaconing nature but GPSR losses relatively more packets because of planarization based recovery policy. The A3DR is working constantly with ensuring guaranteed packet delivery.

The delivery delay performance is shown in Figure 15. The GPSR is taking relatively more time because of its VNP recovery strategy. The ARP takes more delivery time because of per node processing delay. The A3DR is running smoothly with average delay of 23 milliseconds. The 3DRTGP is able to provide minimum delay and able to deliver only about 67% of the packets. As a result the packet rate is having constant effect on end-to-end delay for the given scenario.

The energy efficiency is inversely proportional to the network overhead i.e., the lesser the overhead, the higher the energy efficiency. The performance of these parameters is depicted in Figure 16 and Table 3. Due to flooding nature, the 3DRTGP protocol is generating too many redundant packets as increasing the packet generation rate at source nodes which results into quick energy depletion. On the other hand, periodic beacons along with growing packet rate are resulting moderate increment in network overhead which also affects the overall residual energy. At the end, A3DR has constant effect of packet rate and it is creating very less additional packets. Thus, proposed A3DR protocol is a traffic efficient protocol which lead to energy efficiency.

Analysis: The simulation parameters with 500 nodes for α computation and hop distance prediction are same as subsection 4.1. Therefore, reception ratio and end-to-end delay analysis is also similar to previous subsection for A3DR protocol. The simulation scenario depends on varying packet rate from 1 packet/second to 10 packets/second. An average of 4 to 6 hops are needed to transfer the packets between source and sink nodes. There are 4 × 4 × 1 × 300 = 4800 to 6 × 4 × 1 × 300 = 7200 transmissions needed to deliver the packet at sink node when 4 source nodes transfer the packet at the rate of 1 packet/second for 300 seconds. On the other hand, when packet rate is set to 5 packets/second then data transmission get increased and becomes 4 × 4 × 5 × 300 = 24000 to 6 × 4 × 5 × 300 = 36000. This variation in overall transmissions also affects network energy in the same way. This trend will be followed for other packet rates. This analysis verifies the simulation results generated in Table 3 and Figure 16.

4.3 Effect of Communication Range

There are numerous sensor motes available according to their specification and application [3]. Here, we are considering the some applications, like agriculture in hilly area (3D) and forest monitoring, where we need more devices with smaller distance to monitor the specific geographical region. As per literature survey and study about specification of different motes & communication devices, it is found that communication range of some standard sensors, for such applications, varies from 40 meters to 120 meters. Here, the number of nodes are set 200 and packet rate is 2 packets/sec/source. The results are calculated on the basis of varying communication range from 40 meters to 120 meters. When the number of nodes are fixed and communication range varies from smaller value to larger, the network connectivity moves from weaker to stronger. Also, the communication range is inversely proportional to the hop count. The results calculated on the basis of different communication range are shown in Figures 17 up to 20.

Figure 17 Effect of communication range on packet reception ratio
Figure 17

Effect of communication range on packet reception ratio

Figure 18 Effect of communication range on end-to-end delay
Figure 18

Effect of communication range on end-to-end delay

Figure 19 Effect of communication range on overall residual energy
Figure 19

Effect of communication range on overall residual energy

Figure 20 Effect of communication range on overall packets transmitted
Figure 20

Effect of communication range on overall packets transmitted

The smaller value of communication range causes network disconnection which leads to lower delivery of the packets. When communication range was 40 meters, only half of the nodes were able to deliver the packet at sink node. On increasing the communication range, nodes connectivity in the network get stronger. The effect of communication range on reception ratio can be seen in Figure 17. The BLR protocol is suffering from heavy packet loss when communication range is 40–60 meters. The problem with BLR is fixed solid angle and recovery policy based on 2D plane. The reception ratio improves with increased communication range. On the other hand, reception ratio decreases on very high value of communication range because of fixed angle based contention policy. The GPSR has only 25% and 43% reception ratio on the 40 meters and 60 meters of respective communication range due to greedy nature and planarization based VNP management approach. Further, only 29% and 47% packets could be received at sink node in ARP protocol on smaller range.

The 3DRTGP protocol is able to provide relatively higher delivery rate because of its broadcasting nature. Its delivery ratio is 95% on communication radius of 80 meters and beyond this range network gets congested which causes degrading delivery rate. At the end, A3DR provides almost guaranteed packet delivery even if any single path is available. The 50% and 75% reception ratio received at respective communication range of 40 and 60 meters because of limited connectivity between source and sink. All packets are receiving at sink node on longer communication range.

Other than reception ratio, the impact of communication range on delivery delay is shown in Figure 18. The end-to-end delay is minimum in 3DRTGP, A3DR and BLR Protocols in all combinations of communication range. On the other side, GPSR and ARP protocols are taking longer path and getting more delay in data delivery.

The maximum part of network traffic is affected by beaconing and broadcasting. The ARP and GPSR are beacon based protocols where beacon transmissions needed periodically with smaller number of data packets. Therefore, by increasing the communication range, only data packets transmission is reduced which results in smaller impact on overall traffic. In 3DRTGP protocol, too many redundant packets travelled via multiple intermediate nodes in case of smaller communication range. On increasing the communication range, the hop distance is minimized and significantly reduces the network traffic. The BLR and A3DR are beaconless protocols and minimize the network overhead. The BLR considers fixed larger conical region for next hop selection, and so the overhead is significantly higher. The proposed A3DR protocol utilizes varied sector size computed using communication range and minimized overall network traffic. The network traffic always affects network energy. This can be seen in Figures 19 and 20.

Analysis: For given network when radius R = 40, the α is computed using equation 6:


The probably one next hop candidate could occur in sector covered by angle α = 149.89° which indicates uncertainty about network connectivity. Each source node may not be reachable to the sink node and packet reception rate shall decrease. When communication range increase to 100, the angle α will be:


Here, network is connected with high probability to ensure delivery of data from each source. The same trend is followed for higher communication range also which is verified with simulation results shown in Figure 17.

The distance between source and sink node is 367.42 meters. Consider the communication range of 40 meters where data has to travel 367.4240=10 hops between source and sink in ideal case. As per variation in communication range, per hop delay may vary between 3 to 6 milliseconds. The nodes are randomly placed in the network so average hop distance, between source node to sink node might be 12 or more. Therefore, average delay would be greater than 60 milliseconds. In case of communication range of 120 meters, the 4 hops are sufficient to data delivery which leads to smaller delivery time (i.e., about 20 milliseconds. This variation can be verified with the results depicted in Figure 12.

There are 4 source nodes which are generating 2 packets/sec traffic for 300 seconds. So, total packets generated are 4 × 2 × 300 = 2400. The smaller number of packets could reach to sink because of network disconnection in lower communication range. In case of 40 meters range, each packet has to travel more than 12 hops before reaching to the sink node. The results available in Figure 17 indicates less than 1200 packet delivery. So, traffic generated is about 12×1200 = 14400 transmissions. In addition to that, lot of packets may be transmitted during reaching to intermediate path and multiple backtracking, overhear problem resolution with RTF-CTF concept and retransmissions because of packet loss. The packet transmissions directly impacts the residual energy of the network. This analysis shows the similarity with simulation results available in Figure 20 and 19.

4.4 Effect of Hole size

The spherical hole is placed at the center of the network and packets have to go through this hole during packet delivery to the sink node. The hole size varies as per variation in radius of the hole. The effect of hole size on different parameters is displayed in Figures 21 up to 23. Further, four source nodes are randomly selected at one side of the void region whereas sink node is fixed with 3D coordinates (240, 125, 125) to another side of the void region such that each source has to pass the packet through void region. The packet rate is fixed to 2 packets/sec, communication range is 70 meters and 200 nodes deployed in the network of 250m × 250m × 250m dimension. There is no effect of hole size on A3DR protocol. It is able to deliver each packet even if any single path exists. On the other hand other competitive algorithms are suffering from packet loss. As hole region is spreading, the delivery ratio of other algorithms degrades. In BLR protocol, when radius of hole is increase to 60 meters then one of the source node lost its connectivity and delivery ratio is gone below to 75% and it is degraded to 50% on hole size radius of 70 meters. This can be seen in Figure 21.

Figure 21 Effect of varying hole size on packet reception ratio
Figure 21

Effect of varying hole size on packet reception ratio

The major impact of hole size can be seen on end to end delay. On expanding the hole size, the path length will increase which impacts end to end delay. It can be seen in Figure 22, the impact of hole size on A3DR protocol is minimum whereas other protocols are suffering from higher end to end delay on larger the hole size.

Figure 22 Effect of varying hole size on end-to-end delay
Figure 22

Effect of varying hole size on end-to-end delay

The hole size also affects the overall network overhead. The path length increases on widening the hole size which affects the network overhead. It can be seen in Figure 23, the impact of hole size on A3DR protocol is minimum because of judicial formulation of contention period. The other competitive protocols are suffering from higher overhead packets due to improper contention period formulation or beaconing process. The effect on residual energy is plotted in Figure 24 which indicates increasing hole size causes decreasing residual energy. The effect of greater hole size causes longer route in terms of hop count which increases overall packet transmissions and leads to more energy depletion. This energy depletion trend is clearly visible in the plot. The figure denotes that hole size variation having minimum impact on residual energy of A3DR protocol. Other competitive protocols suffering from relatively more energy loss.

Figure 23 Effect of varying hole size on overall packets transmitted
Figure 23

Effect of varying hole size on overall packets transmitted

Figure 24 Effect of varying hole size on overall residual energy
Figure 24

Effect of varying hole size on overall residual energy

It can be concluded that A3DR has no impact on delivery ratio and minimum impact of greater hole size on end to end delay and total packet transmissions. Therefore, it is outperforming other existing geographical routing protocols.

Analysis: The network volume V = 250 × 250 × 250, communication range R = 70 and number of nodes n = 200


The conical sector covered by angle α = 26.97° provides sufficient confidence about network connectivity. The spherical hole with maximum radius of 70m placed at center of the network. The 3D coordinates of center are (125, 125, 125) which indicates the hole is not able to connect with network boundary and path exist between source and sink with more density. Thus, packets may be delivered properly with higher reception rate. This is verified with simulation results shown in Figure 17.

The source nodes are placed at opposite side of the hole with respect to the sink node with coordinates (240, 125, 125). Suppose, 3D geographical location of one of the source is (0, 125, 125), so the path between source to sink node is going through the spherical void region. Now consider the void with smaller radius of 30m, one side void boundary coordinates will be (125 − 30, 125 − 0, 125 − 0) = (95, 125, 125) and coordinate (125 + 0, 125 + 0, 125 + 0) = (155, 125, 125) for the other side. Further, packet has to move through void boundary which is half of the circumference () i.e., 30π= 94.25m. Thus, route between source to sink node is divided in three segments: (i) path between source and one side of void boundary with euclidean distance 95m i.e., (0, 125, 125) to (195, 125, 125), (ii) path along with void boundary with distance 94.25m, and (iii) path between other side of void boundary and sink node with euclidean distance 85m i.e., (155, 125, 125) to (240, 125, 125). Here, total distance of (95 + 94.25 + 85 = 274.25m) to be covered and requires 274.2570=4 hops in ideal case. Practically, it might be 5 to 7 hops which may create 25 to 35 milliseconds delivery delay. The results depicted in Figure 18 verifies this claim at hole radius size of 30m.

On the other hand, when void radius reaches 70m, the distance of three segments become: (i) 55m i.e., euclidean distance between (0, 125, 125) and (125 − 70, 125 − 0, 125 − 0) = (55, 125, 125), (ii) 70π= 220m i.e., half circumference along void boundary, and (iii) 45m i.e., euclidean distance between (125 + 70, 125 − 0, 125 − 0) = (195, 125, 125) and (240, 125, 125). Ideally, total hop distance of (55 + 220 + 45 = 320m) to be covered in 32070=5 hops. The more hop distance might be required in practical case which may cause higher delivery delay.

The 4 source nodes generate 2 packets/sec traffic for 300 seconds i.e., total 4 × 2 × 300 = 2400 packets. Each packet has to travel about 5 to 7 hops which may create 12000 to 16800 transmissions in ideal case. Here, multiple retransmissions due to packet loss and some additional supporting transmissions (e.g. RTF & CTF packets) might be required in practical scenario. Therefore, total packet transmissions are slightly increased. On the larger hole size, the average hop count will increase and may create additional transmissions. The network overhead also affects overall energy consumption. This analysis can be verified with simulation results available in Figure 20 and Figure 19.

5 Conclusion and Future Directions

A dynamic angle-based three-dimensional geographical routing protocol A3DR has been presented in this paper. The key idea is to choose a dynamic solid angle based on network density for packet forwarding. Further, the proposed protocol is able to solve the void node problem and avoid the network congestion using contention delay concept. The effective formulation for delay has been carried out that generate different delay even the nodes have same projection, distance or angle. Also, the protocol has resolved the overhear problem for a node lying outside the hearing region by RTF and CTF concept. The effectiveness of A3DR protocol has been evaluated using INET framework under OMNET++ simulator. The performance has been checked by varying network density, packet rate, communication range and hole size. The A3DR protocol is able to provide more than 99% delivery ratio while minimizing the end-to-end delay, energy expenditure and network overhead. The simulation results have proven that A3DR is outperforms existing geographical routing schemes.

The effectiveness of proposed protocol is yet to be verified on real test-bed. The extension of A3DR can be used to minimize the path length by extending to anchor based approach. Additionally, this protocol can be extended for mobile networks, but one has to care of mobility issue and route expiration time.


The authors are obliged to Digital India Corporation (formerly media lab asia) under Ministry of Electronics and Information Technology, Govt. of India, New Delhi, for providing remarkable set-up in Department of Computer Science and Engineering, Motilal Nehru National Institute of Technology Allahabad, Prayagraj-211004, India.


[1] Abdallah A. E., Low overhead hybrid geographic-based routing algorithms with smart partial flooding for 3d ad hoc networks, Journal of Ambient Intelligence and Humanized Computing, 2018, 9(1), 85–94.10.1007/s12652-017-0528-ySearch in Google Scholar

[2] Abdallah A. E., Fevens T., Opatrny J., High delivery rate position-based routing algorithms for 3d ad hoc networks, Computer Communications, 2008, 31(4), 807–817.10.1016/j.comcom.2007.10.037Search in Google Scholar

[3] Akyildiz I. F. Vuran M. C., Wireless sensor networks, 2010, 4, John Wiley & Sons.10.1002/9780470515181Search in Google Scholar

[4] Bose P., Morin P., Stojmenović I., Urrutia J., Routing with guaranteed delivery in ad hoc wireless networks, Wireless networks, 2001, 7(6), 609–616.10.1145/313239.313282Search in Google Scholar

[5] Cai K., Yin Z., Jiang H., Tan G., Guo P., Wang C., Li B., Onionmap: A scalable geometric addressing and routing scheme for 3d sensor networks, IEEE Transactions on Wireless Communications, 2015, 14(1), 57–68.10.1109/TWC.2014.2329677Search in Google Scholar

[6] de Lima C. H. de Abreu G. T. F., Analysis of contention-based relay selection mechanisms in autonomous multi-hop networks, IEEE Information Theory Workshop on Networking and Information Theory, IEEE, 2009, 186–190.10.1109/ITWNIT.2009.5158568Search in Google Scholar

[7] de Lima C. H., Nardelli P. H., Alves H., Latva-aho M., Contention-based geographic forwarding strategies for wireless sensors networks, IEEE Sensors Journal, 2016, 16(7), 2186–2195.10.1109/JSEN.2015.2509778Search in Google Scholar

[8] Gabriel K. R. Sokal R. R., A new statistical approach to geographic variation analysis, Systematic Biology, 1969, 18(3), 259–278.10.2307/2412323Search in Google Scholar

[9] Ghoreyshi S. M., Shahrabi A., Boutaleb T., Void-handling techniques for routing protocols in underwater sensor networks: Survey and challenges, IEEE Communications Surveys & Tutorials, 2017, 19(2), 800–827.10.1109/COMST.2017.2657881Search in Google Scholar

[10] Giruka V. C. Singhal M., Angular routing protocol for mobile ad hoc networks, Proceedings of the 25th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW’05), Washington, DC, USA, 2005, IEEE Computer Society, ICDCSW ’05, 551–557, ISBN 0-7695-2328-5-06.Search in Google Scholar

[11] Gupta N. K., Yadav R. S., Nagaria R. K., 3d geographical routing protocols in wireless ad hoc and sensor networks: an overview, Wireless Networks, 2019, ISSN 1572-8196.10.1007/s11276-019-01983-ySearch in Google Scholar

[12] Han G., Jiang J., Zhang C., Duong T. Q., Guizani M., Karagiannidis G. K., A survey on mobile anchor node assisted localization in wireless sensor networks., IEEE Communications Surveys and Tutorials, 2016, 18(3), 2220–2243.10.1109/COMST.2016.2544751Search in Google Scholar

[13] Harris J. W. Stocker H., Handbook of Mathematics and Computational Science, 1998, New York: Springer-Verlag.10.1007/978-1-4612-5317-4Search in Google Scholar

[14] Heissenbüttel M., Braun T., Bernoulli T., WäLchli M., Blr: beaconless routing algorithm for mobile ad hoc networks, Computer communications, 2004, 27(11), 1076–1086.10.1016/j.comcom.2004.01.012Search in Google Scholar

[15] Huang D. Yan Y., A contention-based routing protocol for vanet, Telkomnika, 2016, 14(1), 319–325.10.12928/telkomnika.v14i1.2743Search in Google Scholar

[16] Huang H., Yin H., Luo Y., Zhang X., Min G., Fan Q., Three-dimensional geographic routing in wireless mobile ad hoc and sensor networks, IEEE Network, 2016, 30(2), 82–90.10.1109/MNET.2016.7437029Search in Google Scholar

[17] Huang H., Yin H., Min G., Zhang J., Wu Y., Zhang X., Energy-aware dual-path geographic routing to bypass routing holes in wireless sensor networks, IEEE Transactions on Mobile Computing, 2018, 17(6), 1339–1352, ISSN 1536-1233.10.1109/TMC.2017.2771424Search in Google Scholar

[18] Jodeh H., Mikkawi A., Awad A., Othman O., Comparative analysis of routing protocols for under-water wireless sensor networks, Proceedings of the 2nd International Conference on Future Networks and Distributed Systems, ACM, 2018, 33.10.1145/3231053.3231086Search in Google Scholar

[19] Karp B. Kung H.-T., Gpsr: Greedy perimeter stateless routing for wireless networks, Proceedings of the 6th annual international conference on Mobile computing and networking, ACM, 2000, 243–254.10.1145/345910.345953Search in Google Scholar

[20] Król M., Schiller E., Rousseau F., Duda A., Weave: Efficient geographical routing in large-scale networks., EWSN, 2016, 89–100.Search in Google Scholar

[21] Kuhn F., Wattenhofer R., Zollinger A., Asymptotically optimal geometric mobile ad-hoc routing, Proceedings of the 6th international workshop on Discrete algorithms and methods for mobile computing and communications, ACM, 2002, 24–33.10.1145/570810.570814Search in Google Scholar

[22] Lam S. S. Qian C., Geographic routing in d-dimensional spaces with guaranteed delivery and low stretch, IEEE/ACM Transactions on Networking (TON), 2013, 21(2), 663–677.10.1145/1993744.1993770Search in Google Scholar

[23] Leong B., Mitra S., Liskov B., Path vector face routing: Geographic routing with local face information, 13th IEEE International Conference on Network Protocols, IEEE, 2005, 12–pp.Search in Google Scholar

[24] Leong B., Liskov B., Morris R., Geographic routing without planarization., NSDI, 2006, 6, 25.Search in Google Scholar

[25] Liu B.-H., Pham V.-T., Hou B.-Y., Chiu S.-W., Virtual-coordinate-based delivery-guaranteed routing protocol in three-dimensional wireless sensor networks, Wireless Communications and Mobile Computing, 2015, 15(2), 215–227.10.1002/wcm.2336Search in Google Scholar

[26] Mao Y., Wang F., Qiu L., Lam S. S., Smith J. M., S4: Small state and small stretch routing protocol for large wireless sensor networks, Symposium on Networked Systems Design and Implementation, 2007, 101–114.Search in Google Scholar

[27] Myoupo J. F., Nana B. P., Tchendji V. K., Fault-tolerant and energy-efficient routing protocols for a virtual three-dimensional wireless sensor network, Computers & Electrical Engineering, 2018, 1–16.10.1016/j.compeleceng.2018.02.012Search in Google Scholar

[28] Obaidat M. Misra S., Principles of wireless sensor networks, 2014, Cambridge University Press.10.1017/CBO9781139030960Search in Google Scholar

[29] Rubeaai S. F. A., Abd M. A., Singh B. K., Tepe K. E., 3d real-time routing protocol with tunable parameters for wireless sensor networks, IEEE Sensors Journal, 2016, 16(3), 843–853.10.1109/JSEN.2015.2487140Search in Google Scholar

[30] Varga A., Omnet++ website, 2019, URL in Google Scholar

[31] Witt M. Turau V., Bgr: Blind geographic routing for sensor networks, Third International Workshop on Intelligent Solutions in Embedded Systems, IEEE, 2005, 51–61.Search in Google Scholar

[32] Yadav S. Yadav R. S., A review on energy efficient protocols in wireless sensor networks, Wireless Networks, 2016, 22(1), 335–350.10.1007/s11276-015-1025-xSearch in Google Scholar

[33] Yick J., Mukherjee B., Ghosal D., Wireless sensor network survey, Computer networks, 2008, 52(12), 2292–2330.10.1016/j.comnet.2008.04.002Search in Google Scholar

[34] Yu F., Pan S., Hu G., Hole plastic scheme for geographic routing in wireless sensor networks, IEEE International Conference on Communications (ICC), IEEE, 2015, 6444–6449.10.1109/ICC.2015.7249351Search in Google Scholar

[35] Zhou J., Chen Y., Leong B., Sundaramoorthy P. S., Practical 3d geographic routing for wireless sensor networks, Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems, ACM, 2010, 337–350.10.1145/1869983.1870016Search in Google Scholar

Received: 2020-03-05
Accepted: 2020-07-09
Published Online: 2021-01-27

© 2021 Naveen Kumar Gupta et al., published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Downloaded on 30.11.2022 from
Scroll Up Arrow