An Efficient Bypassing Void Routing Algorithm for Wireless Sensor Network
Since the sensor node’s distribution in a wireless sensor network (WSN) is irregular, geographic routing protocols using the greedy algorithm can cause local minima problem. This problem may fail due to routing voids and lead to failure of data transmission. Based on the virtual coordinate mapping, this paper proposes an efficient bypassing void routing protocol to solve the control packet overhead and transmission delay in routing void of WSN, which is called EBVRPVCM. The basic idea is to transfer the random structure of void edge to a regular one through mapping the coordinates on a virtual circle. In EBVRPVCM, some strategies, executed in different regions, are selected through virtual coordinates to bypass routing void efficiently. The regular edge is established by coordinate mapping that can shorten the average routing path length and decrease the transmission delay. The virtual coordinate mapping is not affected by the real geographic node position, and the control packet overhead can be reduced accordingly. Compared with RGP and GPSR, simulation results demonstrate that EBVRPVCM can successfully find the shortest routing path with higher delivery ratio and less control packet overhead and energy consumption.
In recent years, wireless sensor network (WSN) has been widely used in various fields . Routing is one of the key technologies in WSN. Geographic routing  selects path only relying on the location information of neighbor nodes. Since geographic routing protocol has the characteristic of better scalability and is less affected by the network size, it has broad application prospects  in large-scale WSNs. Due to the node’s irregularity in distribution, geographic routing protocol using greedy algorithm can cause local minima problem thus leading to data transmission failure eventually , which is called routing void problem.
To solve the routing void,  designated a quarantine program around the cavity. The program using the ban in the area of separation node acts as a relay node to avoid routing void. Reference  put forward a RCF (Ring-Constraint Forwarding) algorithm. RCF creates an annular cavity around the band. To avoid voids, the policy routing is created by selecting the relay node in the annular band. Chang et al. proposed the RGP (Route-Guiding Protocol) algorithm . To avoid routing voids, RGP is selected for each node in the network from the overall perspective of the destination node according to the position relationship between the relay node and the void area. While the above methods are adopted to select a special area designating relay node to reduce computational complexity, the implementation process will have greater control packet overhead and transmission delays. RGP is not conducive to network energy-saving and also unable to resolve planning given special area inside the node routing void problem. Reference  proposed GPSR (greedy perimeter stateless routing) protocol. To solve the problem, GPSR used a network link topology through a combination of greedy mode and edge forwarding mode. Reference  presented a subeffective interface routing algorithm. But the routing algorithms in [4, 8] need to build and maintain peripheral node link diagram (such as Gabriel Graph), which is not conducive to the expansion of large-scale networks.
At present the method which uses virtual geography information to solve the routing void problem has achieved some initial research results [9, 10]. But the key problem is that network nodes use the preselected reference node  or the neighbor node information to rebuild their coordinate information . If the network node corresponding to the destination node is changed, it uses the virtual reconstruction location information. It can only apply to a fixed destination node, and the network is inevitably void. Node in virtual position based routing protocol is limited by the real physical position, and the virtual location can be adjusted. Although the greedy algorithm is simple and less complex, the existing virtual routing protocols are not suitable for every node in the network.
To overcome the drawbacks of the above protocols, an effective bypass void routing protocol based on the virtual coordinates mapping (EBVRPVCM) is proposed in this paper. The protocol not only maps the routing void of edge node coordinate to a void in the center of the cavity so as to cover a virtual circle in the network, but also creates the virtual coordinate of the edge node. Therefore the edge node with a virtual coordinate can be selected as a relay node. For the void area on the network, a circular virtual structure can effectively bypass routing void. Compared with the traditional protocols, the proposed protocol selects the relay node by greedy algorithm on one node and saves the energy consumption effectively. Through establishing the virtual location, it is independent of the destination node. There is no need to rebuild the virtual location information even if the destination node changes.
The rest of the paper is organized as follows. Section 2 describes the related work of routing void generation and network edge structure. Section 3 describes the components, stages, and design of the proposed protocol. Section 4 analyzes the virtual coordinated, actual coordinates, path, and control cost of EBVRPVCM. Section 5 evaluates the performance through numerical simulation on NS2 platform. Section 6 is the conclusion and future work.
2. The Related Work
2.1. Routing Void Generation
For routing based geographic information, we use the greedy algorithm to choose the relay nodes which is closer than their neighbor nodes to the destination. If such neighbor node does not exist, there will be routing void . Figure 1 illustrates the void generate schematic.
As shown in Figure 1, node receives the data transmitted by , and the destination node is . A set of neighbor nodes for the node is ; since the distances from the nodes , , and to the destination node are greater than that of , the route appears void according to the greedy algorithm . The data will not be able to pass through. Similarly, when the node sends data to the destination node , routing void will appear too.
2.2. No Routing Void Network Edge Structure
Suppose, in WSN, the number of edge nodes around an obstacle area is and the set of edge nodes is . The edge node must meetwhere is the Euclidean distance between the nodes and , is the communication radius of the node, is an integer, the edge node set is , and any node can only communicate with the two adjacent nodes.
If the distance between the edge node of obstacle and a fixed node satisfiesthe distribution of the edge node to the center of the circle is determined. is the radius of the circle, as shown in Figure 2. In the edge of the structure around the area of the obstacle, each edge node has only two neighbor edge nodes. From isotropic circular geometry, the packet routing is not void for any destination node while going through the region.
Each node uses the greedy algorithm to select the relay node path. As an example, the source node sends packets to destination node and shows the generation of free routing void. The edge node receives the packet and uses the greedy algorithm to find the next hop relay node. The same is for edge node . The two nodes are distributed in a concentric circle, and the distance of to destination node is less than that of . Then selects as the next hop node, and the routing void problem does not occur. Packets in the edge node will not either incur routing void problem. The edge node uses greedy algorithm to select the next hop node , and the packet is sent to the edge node . Until the data is sent to the destination node , in this process, the greedy algorithm mechanism has not failed.
3. EBVRPVCM Routing Protocol
EBVRPVCM is composed of the greedy mode and the void processing mode. In this protocol, the relay node uses the conventional greedy mode to forward data. If the greedy mode fails, and the routing void appears, it changes to the void processing mode. According to the execution sequence, the void processing is divided into void detection, virtual coordinate mapping, and void area division. Through the void processing, the virtual coordinates of edge node are established. After starting the greedy mode again, these edge nodes with virtual coordinates can be selected as relay nodes. The details of designing the void processing mode about EBVRPVCM are given in the following subsection. There are three main stages of the given protocol.
3.1. Void Probe Stage
The void detection stage is responsible for collecting information of the void edge node after routing void appears. When the packets meet the routing void during data transmission within the network, we called it the failed node of the greedy algorithm and try to find a substitute node. When the substitute node detects the routing void, it caches the data packets, generates a void robe packet, and initiates the process of void detection. The void probe packet stores the whole founded time and labels each edge node and geographic coordinates. The detection process can be implemented through using left (right) hand technology . When the detection packet goes back to the founded node, it contains the information of the edge node set that is named .
In the detection process, it is found that there are multiple nodes and multiple probe packets within the same void detection area simultaneously. To reduce the detection of repeated forwarding different probe packets to the same node, the node receives probe packets and labels the void founded time recorded in the probe packets. According to the void founded time, it discards the probe packets if the founded time in the node labeled by new probe packets is later than that in the node and otherwise continues to probe until it reaches the corresponding founded node. Eventually only the probe packets sent by the earliest founded node complete the void detection in the entire void region.
3.2. Virtual Coordinate Mapping Stage
The virtual coordinate mapping stage mainly maps the node information to a virtual circle, where the founded node is obtained from the void edge node. Eventually it is converted into the structure without the routing void network edge as mentioned in Section 2.2.
The probe packets launched by the discovery node and eventually returned to the founded node contain the ID and the corresponding geographic coordinate information of the edge nodes in the routing void. Let denote the coordinates of each edge node, and the coordinates of the void center point are
The maximum distance from the edge node to the void center is
Here, void center is the center of the circle, and is the radius of virtual circle for mapping of virtual circle. When the mapping of virtual circle is determined, the virtual coordinate maps the void edge node .
Let indicate the line segments of the connection of adjacent edge node, which maps the virtual circle of center as a starting point and denotes the rays passing by node as . is a set temporarily storing a plurality of node information, stands for the base, and the virtual coordinates of the edge node need to be determined, respectively. The pseudo code of virtual coordinate mapping algorithm is shown in Pseudocode 1.
Figure 3 is the diagram of virtual coordinate mapping schematic. As shown in Figure 3, stands for the void center, and the arc is the part of the mapping virtual circular. Edge nodes and are the mapped virtual location of and , respectively. After mapping, the virtual positions of edge nodes , , and are between the virtual nodes and . The mapped nodes are , , and , respectively.
Once the virtual coordinate mapping is completed, the discovered node initializes the virtual location distribution package. Also it distributes the virtual location coordinates of the edge nodes and the void center to the edge of the corresponding node and sends the probe packets along with the path (void edge). After receiving the virtual location of the distribution package, each edge node broadcasts the information to the neighbor nodes. The broadcast message contains a virtual coordinate of edge node itself and that of the void center point.
3.3. Void Zone Division Stage
In order to perform different routing strategies in different regions, the void zone division stage is responsible for the current void surrounding dividing. According to the location of void and the destination node, the void and the surrounding area are divided into the closer region and the free zone, as shown in Figure 4.
In Figure 4, is mapped as the virtual circle center, is the destination node, and the dotted line, as shown in the circle, determines the mapping of virtual circle. We draw two tangents from the destination node to the mapped virtual circle which crosses at the points and , respectively. The quadrilateral region surrounded by , , , and is the detachment area of the mapped virtual circle, which is the area shown in Figure 4. The rest of the region within the two tangent lines and mapped virtual circle with the removal of detachment area is called the closer region of the mapped virtual circle, that is, the area shown in Figure 4. The lateral region from the tangent of the mapped virtual circle is known as the free zone of the mapped virtual circle, which is the area shown in Figure 4. The three areas are divided according to the current route void based on the different destination node correspondingly.
3.4. Virtual Coordinate Based Routing Design
After performing above three phases, the edge node of the void contains the location information of the actual coordinates and virtual coordinates. According to the destination node, the peripheral void is divided into three different regions. The founded nodes use the virtual coordinate to initiate a routing event and send the cached packets in the first phase to the related nodes. In route search, the nodes distributed in three different regions select the relay nodes in different ways. But they adopt the conventional greedy algorithm. The main steps of EBVRPVCM are as follows.
Step 1. A node receives a data packet.
Step 3. If the node is closer to the area, it uses the virtual coordinates to select a relay node; if the node is out of the area, it uses the actual coordinate prior to selecting nonedge node as the relay node; if it is in the free zone, it uses the actual coordinate to select a relay node.
Step 5. The node starts void processing mode and establishes the current void virtual coordinates and returns to Step 2.
Step 6. The node sends data packets to the selected relay node.
Since the mapping of virtual round void constitutes a nonvoid edge routing structure, the packets going through the void can bypass the void. It is not affected by the position of source node and destination node.
4. Analysis of EBVRPVCM
4.1. The Virtual Coordinates and Actual Coordinates
After executing the virtual coordinate mapping algorithm, virtual coordinates of edge nodes are sequentially distributed on the current mapped virtual void circle correspondingly. So it is possible that there exists the dislocation among the mapped edge virtual coordinates and the nonvoid edge node coordinates. It is known from Section 3.3 that the virtual coordinate is only used between the void edge node and its neighbor nodes. According to the routing steps mentioned in Section 3.4, it uses the virtual coordinate to select the relay node in the closer region. Once bypassing the current void and entering the detachment region, it prefers to use the actual coordinate to select the relay node. The virtual coordinate plays a guiding role in the process of selecting relay node. Since it is independent of geographical coordinates , the execution of greedy algorithm  is only limited either within the geographical coordinates or within the virtual coordinates. Therefore, even if there is coordinates overlap between the virtual coordinate of the edge and the coordinates of nodes on the nonvoid edge, it does not affect the routing selection.
4.2. Path Analysis
From Section 3.2, it is known that all the neighbor nodes of edge node receive the broadcast void information after mapping the virtual coordinate. Nodes use this void information to judge the void in advance, and correspondingly the transmission path is shortened. As shown in Figure 5(a), the node sends a packet to the destination node, and the void appears when sends data packets to node using the greedy algorithm  before the establishment of virtual coordinates.
If we use the edge forwarding protocol to solve void problem, the packet is always at to enter the edge forwarding mode. Assuming that there is a uniform distribution of the network nodes, the node density is . When the current void virtual coordinate is established using EBVRPVCM routing protocol, the probability of at least one edge node falling in the communication radius of node and node iswhere is the area of intersection region within communication radius that does not contain the obstacle region. In this case, the edge node will be directly selected as the forwarding node according to the virtual coordinate, which shortens the transmission path. With the increase of the node’s probability density , the probability of shortening the transmission path is increased gradually. Therefore, EBVRPVCM can obtain the shortest routing path. Meanwhile, it is conducive to further shorten the routing path in the case of using the whole information of void during the process of relay node selection.
As shown in Figure 5(b), nodes and are the source node and destination node, respectively. is the ideal transmission path of nonvoid. is the transmission path selected by routing protocol based on the edge forwarding. is the transmission path selected by EBVRPVCM.
Because edge forwarding protocol can only forward packets in one direction, the selected path is longer. Virtual coordinate chooses forwarding direction flexibly according to the void information. Correspondingly, it shortens the routing path.
4.3. Control Cost Analysis
Note that the control packet size is CPSgr in the greedy routing algorithm, while the void probe packet size and the distribution package size are and DPSdis, respectively, in EBVRPVCM route. The number of void edge nodes is VENvs, the average number of hops to reach the destination node is hrdEBVRPVCM, and the number of control packets used to send packets is in the following:
The average size of a control packet for each data packet is
As the number of packet sent across the network increases, the average size of the control packet in EBVRPVCM protocol is close to the greedy algorithm.
To compare with the edge forwarding protocol, we have the following notations. The edge forwarding control packet size is FCPefp, the ratio of the greedy algorithm for routing is , and the average number of hops data reaching the destination node is hrdgr, and then the number of control packets used to send packets is
The average size of a control packet is
From Section 4.2, because under the edge forwarding mode and , it is known that
Correspondingly, we obtain the following results:
For the same fixed node of wireless sensor network, is constant. From (9), the average control packet size ACPefp is independent of the amount of data packet size , and the range of the value is set in (11). While is reduced with the increase of data packets sent in the network, there exists that satisfies , when . So the size of control packet used in EBVRPVCM is smaller than that in the edge forwarding protocol.
5. Simulation Analysis
5.1. Parameter Setting
To verify the performance of EBVRPVCM routing protocol, this paper simulates it on the platform of NS2  and compares it with RGP and GPSR. Simulation scenario is a square area, and sensor nodes are evenly distributed within the square area. We simulate routing void of the real application environment through prohibiting deploying nodes around the center.
For the convenience of comparison, we randomly select the destination nodes in the lower region of the square area and source nodes in the upper region, respectively. The source nodes send packets to the destination nodes. During the simulation, we randomly select one node as the destination node and 4 nodes as the source node. The void radius changes from 90 m to 270 m. The simulation performance indexes are ratio of packet successfully transmitted, end-to-end delay, average number of hops, cost of control packet, and energy consumption. Because the routing protocols of [5, 9] do not guarantee that any node in the network is effective, even if there exists a routing path, it may not be possible to establish a link. So we compare the performance of EBVRPVCM with RGP  and GPSR . Specific parameters are shown in Table 1.
5.2. Scenario 1: Effects of Void Radius on Transmission Ratio
Effect of void size on the successful transmission ratio is shown in Figure 6.
With the gradual increasing of void radius, the successful transmission ratios of EBVRPVCM and GPSR are in the trend of decreasing. While the successful transmission ratio of RGP keeps at around 95%. When the void is small, the performance of EBVRPVCM and GPSR is better than that of RGP.
With the increase of void radius, RGP remains the stable success transmission ratio because it is a flooding based routing protocol that has stronger ability to establish an effective path. When the void radius is over 210 m, the success transmission ratio of EBVRPVCM is lower than that of RGP.
5.3. Scenario 2: Effects of Void Radius on Average Transmission Delay
Figure 7 illustrates the effects of void size on the average transmission delay.
The average transmission delay is mean value of transmission delay of packet successfully reaching destination node. As the RGP needs to establish a routing path firstly and then transmits data, the transmission delay is higher, and the transmission delay is two times more than that of the other two kinds of routing protocols. When the void is small, the transmission delay of EBVRPVCM is slightly smaller than that of GPSR. With the increasing of void radius, the transmission delay is increased accordingly, but the growth of transmission delay of GPSR is faster than that of EBVRPVCM.
5.4. Scenario 3: Effects of Void Size on Average Hops
The effect of void size on the average hops is shown in Figure 8. The number of average hops of EBVRPVCM is around 8 hops less than that of RGP. With the increasing void radius, the number of average hops becomes larger gradually.
When the void radius is over 240 m, there is relatively substantial increase of the average number of hops of GPSR routing. As the EBVRPVCM routing can select the shortest path to bypass the void region according to position of void and the destination, the corresponding growth of average transmission delay and hop increases flatly with the growing of the void radius as shown in Figures 7 and 8.
5.5. Scenario 4: Effects of Void Size on Average Energy Consumption
Table 2 shows the statistical results of average energy consumed by sending the unit packet under different void radius during the simulation periods of 0~100 s and 0~200 s, respectively.
Because there are more nodes participating in path establishment in RGP and needs to maintain the link, the average energy consumption is far higher than that of the other two kinds of routing algorithms. The routing path establishment of EBVRPVCM and GPSR only needs the information of neighbor nodes, so the average energy consumption is less than that of RGP. But after void is mapped through the virtual coordinate, EBVRPVCM uses the greedy mode to select routing path. Correspondingly, the average energy consumption of EBVRPVCM is less than that of GPSR.
The subsequent routing uses greedy mode to alleviate it. With the simulation time increasing, the average energy consumption reduces gradually. So the longer the network’s working cycle, the more the advantages EBVRPVCM has.
5.6. Scenario 5: Effects of Packet Size on Routing Performance
When the size of data packet increases, the average transmission delay becomes higher. The collision probability is increasing during wireless transmission. The collision causes the decreasing of the transmission success ratio and increasing of the transmission delay. Figures 9 and 10 illustrate the effects on transmission success ratio and average transmission delay when the source node sends different packet sizes under the condition of maintaining the void radius at 150 m, respectively.
As shown in Figure 9, EBVRPVCM has the minimum effect caused by the packet size. With the increasing of packet size from 128 bytes to 512 bytes, the transmission success ratio of EBVRPVCM is decreased about 5%, while that of GPSR and RGP is decreased by approximately 15% and 25%, respectively.
Since there are more control packets in RGP, with the increasing of the packet size, the collision probability during wireless transmission becomes higher, which leads to the rapid increasing of packet loss rate. GPSR did not optimize the transmission path in path selection, so the data is overconcentrated in the edge nodes of the void, which caused the increasing of transmission collision. While EBVRPVCM optimized transmission path and rationally dispersed the data packets, it alleviated the transmission collision problem.
Known from Figure 10, the average transmission delay of RGP is very sensitive to data packet size, and the average transmission delay increases nearly 8 times with data packet increasing from 128 bytes to 512 bytes, while EBVRPVCM and GPSR are less affected by the packet size, and the transmission delay of EBVRPVCM is slightly less than that of GPSR.
5.7. Scenario 6: The Cost of Control Packet
The smaller routing control packet overhead can improve the energy efficiency of wireless sensor network and prolong the network lifetime. Figure 11 illustrates the relationship between the void radius and control packet cost.
As the EBVRPVCM gets the whole void information only through one routing void detecting, it makes the subsequent data packets, generated by other source nodes and bypass the void, only work in the single greedy mode while passing the void. Therefore EBVRPVCM not only has less control packet cost, but also is less affected by the void size, although the control packet cost of RGP routing is less affected by void radius, since it uses the flooding mechanism, which causes the larger control packet cost.
While each time GPSR routing passes through the routing void, it enters into edge forwarding mode using more control packets. With the increasing of void, correspondingly there are more nodes switching to edge forwarding mode. And each time when the different data packets pass through the void surrounding, they enter the edge forwarding mode, which cause the control packet cost growing faster.
6. Conclusion and Future Work
For routing void problems in geographical position, we use the network edge structure of nonrouting void to design an EBVRPVCM routing protocol. EBVRPVCM routing is implemented through void detection and virtual coordinate mapping. The void process is divided into three stages. In the void and the surrounding area routing, it selects the relay nodes using the corresponding virtual coordinate information. For a routing void, EBVRPVCM routing only needs one probe and mapping process. Thus it can greatly reduce the complexity of routing protocols. The simulation results show that the proposed EBVRPVCM routing protocol has a better performance of average transmission success rate, delay, and the average hops. The control packet overhead is less, and the proposed EBVRPVCM is conducive to save network energy.
We are trying to monitor the habitat information and establish the monitoring WSN of Qinling stub-nosed monkey. Because of its habitat, Qinling Mountain is a complex terrain with many obstacles, the void of monitoring WSN is unavoidable. For the further work, we will optimize EBVRPVCM and use it in the habitat monitoring WSN of the Qinling stub-nosed monkey.
Conflict of Interests
The authors declare no conflict of interests.
This work was supported in part by Natural Science Basic Research Plan in Shaanxi Province of China under Grant 2014KW03-02, and Natural Science Foundation of China under Grant 61202393. The authors are grateful to Professor Zhang, Dr. Guan, and Dr. Wang that they help us to revise the paper. Also the authors are grateful to the anonymous referee for a careful checking of the details and for helpful comments that improved this paper.
P. Bull, G. Antonopoulos, L. Guan, X. Wang, and X. Fan, “A multi-class mobility model for dynamic and dependable systems,” in Proceedings of the 27th International Conference on Advanced Information Networking and Applications Workshops (WAINA '13), pp. 1010–1015, Barcelona, Spain, March 2013.View at: Publisher Site | Google Scholar
B. Karp and H. T. Kung, “GPSR: greedy perimeter stateless routing for wireless networks,” in Proceedings of the 6th Annual International Conference on Mobile Computing and Networking (MOBICOM '00), pp. 243–254, August 2000.View at: Google Scholar
G. Trajcevski, F. Zhou, R. Tamassia, B. Avci, P. Scheuermann, and A. Khokhar, “Bypassing holes in sensor networks: load-balance vs. latency,” in Proceedings of the IEEE Global Telecommunications Conference (GLOBECOM '11), pp. 1–5, IEEE, Houston, Tex, USA, December 2011.View at: Publisher Site | Google Scholar
G. L. Xing, C. Y. Lu, R. Pless, and Q. Huang, “On greedy geographic routing algorithms in sensing-covered networks,” in Proceedings of the 5th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '04), pp. 31–42, ACM, Tokyo, Japan, May 2004.View at: Publisher Site | Google Scholar
NS2 Manual, http://www.isi.edu/nsnam/ns/doc/.