A Network Coding Based Rarest-First Packet Recovery Algorithm for Transmitting Geocast Packets over Hybrid Sensor-Vehicular Networks

Vehicular ad hoc network (VANET) and road-side sensors are used to improve driving safety in many applications. Sensor nodes deployed along the roadside are used to sense road conditions and then deliver information about dangerous conditions to vehicles. In hybrid sensor-vehicular networks, new challenges arise and should be addressed. Geocasting can be used to perform the regional broadcast to deliver geographic-related safety, commercials, and advertisements messages. The challenging problem in geocasting is how to deliver packets to all the nodes within the geocast region with high efficiency but low overhead. Network coding is a special in-network data-processing technique that can potentially increase the network capacity and packet throughput in wireless networking environments. In this paper, a network coding based rarest-first packet recovery algorithm for transmitting geocast packets over hybrid sensor-vehicular-networks is proposed. The proposed algorithm can increase packet delivered ratio at each mobile node. As a result, the safety and transmission efficiency can be achieved simultaneously.


Introduction
A vehicular ad hoc network (VANET) provides communications among nearby vehicles and between vehicles and fixed equipment, for example, road-side unit (RSU).People can access telematic services through the road-side unit in VANETs.With numerous connectivity facilities for vehicles, telematic services have become extremely popular, and its use grows exponentially.To provide vehicle safety services, such as emergency warning system, lane-changing assistant, and anticollision system, roadside-sensor nodes are often deployed along the road to sense and collect road conditions.A hybrid sensor-vehicular network combines wireless communications provided by vehicular ad hoc networks (VANETs) with sensing devices in cars and road-side sensor infrastructure, that is, wireless sensor networks (WSNs).The roadside-sensor nodes can form a wireless sensor network to communicate with each other through the wireless interface.When a vehicle accident occurs, the sensors can deliver warning messages to vehicles for safe driving.
Geocasting is a kind of regional broadcasting, which sends messages to a number of nodes within a specific region.Geocasting can be used to perform the regional broadcast to deliver geographic-related safety, commercial, and advertisement messages.For telematic applications in VANETs, geocasting is an important and frequent communication service.Geocasting is widely used to deliver packets to nodes within a certain geographical region for sending emergency messages.In a wireless sensor network, nodes may take on different roles, that is, data source nodes, intermediate nodes, and sink nodes, according to their tasks.The roadsidesensor nodes can use the geocasting scheme to deliver the sensed data to vehicles within a certain geographical region to provide the drivers with early warnings and avoid the accident from occurring again.The challenging problem in geocasting is how to deliver the packets to all the nodes within the geocast region with high efficiency but with low overhead [1][2][3].
A source node may reside inside or outside the geocast region.When the source node resides inside the geocast region, the source node floods the packets to all nodes within the geocast region for disseminating location-based information.When the source node resides outside the geocast region, a forwarding zone (FZ) is defined as a partitioned network between the source node and the geocast region.The size of the forwarding zone is determined by (i) the size of the geocast region and (ii) the location of the source node.The current location is determined using GPS receivers at each node.When a node outside the geocast region receives a geocast packet and the packet was not received previously, the node will forward the packet to its neighbors if it is belonged to the forwarding zone; otherwise, it will discard the packet.Once a geocast packet is reached at the geocast region and a node is received, the node will accept the packet.The node will also broadcast the packet to its neighbors, if it has not received the packet previously (repeated reception of a packet is checked using sequence numbers in the packet header).
Network coding is a special in-network data-processing technique that can potentially increase the capacity and the throughput of the wireless network.Network coding has recently emerged as a promising generalization by allowing nodes to mix and then forward information received on its incoming links.With network coding, intermediate nodes may send out packets that are linear combinations of previously received information.The main benefits of network coding are (1) network throughput improvements and (2) robustness enhancement on data transmission.
In a sensor network, geocasting may be required to query node conditions in a certain area.In VANET, geocasting can be used to send emergency warnings to a region.In urban areas, VANET may suffer from greatly high node density.To increase the throughput of geocast packets that reached at the geocast region with high node density, the multiforwarding zone concept, which is our previous work depicted in [4], can be adopted to increase the throughput of geocast packets at the geocast region with high node density.In this paper, a network coding based rarest-first packet recovery algorithm for transmitting geocast packets over hybrid sensor-vehicular networks is proposed to increase packet delivered quality at each vehicle.By equipping network coding technique for geocast packets according to network-status, the proposed algorithm can enhance the utilization of packet transmission and can satisfy the requirement of adaptive telematic services over hybrid sensor-vehicular networks.
The rest of this paper is organized as follows: Section 2 introduces related works about geocasting and network coding.Section 3 describes the proposed network coding based transmission architecture for delivering geocast packets over hybrid sensor-vehicular networks.Section 4 shows the experimental results.Section 5 has the conclusion remarks.

Related Works
In this section, works related to geocasting and network coding are presented.

Geocasting.
Geographical routing requires no routing information exchange except the discovery of the positions of the neighbors within a single hop.Geographical routing has been applied to geocast and becomes a promising routing method for wireless sensor networks due to its simplicity.Geocast protocols can be mainly categorized based on flooding the network or on forwarding a geocast packet on a particular routing path [1].In [2], Ko and Vaidya presented two different location-based multicast schemes to decrease delivery overhead of geocasting packets.The proposed algorithms limit the forwarding space for transmitting packets to the forwarding zone.Simulation results show that the proposed schemes can reduce the message overhead significantly.Meanwhile, it is possible to achieve accuracy of multicast delivery comparable with multicast flooding.In [3], two location-aided routing (LAR) protocols are proposed to decrease the overhead of route discovery by utilizing location information for mobile hosts.The LAR protocols use location information to reduce the search space for a desired route, which results in fewer route discovery messages.In [4], Hsu et al. proposed geocasting algorithms using Voronoi diagram to forward messages to neighbors who may be the best choices for a possible position of destination.The V-GEDIR routing method determines neighbors that may be closest to the destination.The CH-MFR is based on the convex hull on neighboring nodes.The proposed V-GEDIR and CH-MFR algorithms are loop-free and have smaller flooding rate compared to other directional geocasting methods.
In [5], Stojmenovic et al. proposed three mesh approaches for delivering packets to the geocast group: FLOOD, BOX, and CONE.The mesh provides redundant paths between the source and the destination region against host mobility and link failures.In the proposed mesh approaches, the mesh is created in initial step for discovering redundant paths.Nodes inside the destination region will join the mesh while receiving the initial packet.After an unicast reply is sent back to the sender according to the reverse path, the flooding is stopped.The FLOOD approach has the highest control overhead and network-wide data load, but provides the highest level of reliability.The CONE approach has the smallest control overhead and network-wide data load, but provides the smallest level of reliability.The BOX approach fall between the FLOOD and CONE approaches.In a BOX forwarding zone, the forwarding zone is defined as the smallest rectangle that covers both the source node and the geocast region.In a CONE forwarding zone, the forwarding zone is defined as a cone rooted at source node, such that angle made by the cone is large enough to include the forwarding zone [2].Consider a source node S that needs to send geocast packets to all nodes that are currently located within a certain geographical region, that is, geocast region.Reducing the area of the forwarding zone can reduce the control overhead and network-wide data load.However, a geocast packet may be lost due to no node exists in the reduced area of the forwarding zone.In a CONE forwarding zone, such a case occurs when the angle made by the cone is not large enough.
A geocast packet will be lost if no enough nodes in the forwarding zone (FZ) can forward the packet to the geocast region.Figure 1 shows an example of packet loss caused by no enough nodes in the forwarding zone (FZ).In Figure 1 node S due to that no enough nodes can forward packet to them.Node A cannot receive packets from source node S due to channel losses induced by the long-distance transmission.Although node D and E can receive packets from source node S, however, node D and E drop the received packets and will not forward the packets to other nodes, for example, B and C, because of node D and E are not belonging to the forwarding zone.Forwarding zone adaptation can solve the above-mentioned issues.In a CONE forwarding zone, the forwarding zone can be expanded into a BOX forwarding zone to avoid packet loss caused by the small angle made by the cone.In a BOX forwarding zone, a parameter δ can be used to extend the forwarding zone [2].When δ is positive, the rectangular forwarding zone is extended.In case of still no node exists in the extended forwarding zone, the source node can use the simplest flooding mechanism to flood geocast packets to the destined geographical region.Source node broadcasts the geocast packet to all its neighbors.The flooding mechanism can increase the possibility that packets can be relayed to the destined geocast region.Meanwhile, the flooding mechanism is simple and easy to implement.However, it will increase the transmission overhead and networkwide data load as a tradeoff between transmission efficiency and packet reachability.
In [6,7], Ko and Vaidya presented a novel protocol called GeoTORA for geocasting packets in ad hoc networks.The GeoTORA protocol is obtained using a small variation on the TORA anycasting protocol.In GeoTORA, flooding is limited to nodes within a small region.GeoTORA can significantly reduce the overhead of geocast delivery.In [8], Ko and Vaidya proposed two novel geocasting protocols for achieving high delivery rate and low overhead by utilizing the local location information of nodes with region flooding: Geographic-Forwarding-Geocast (GFG) and Geographic-Forwarding-Perimeter-Geocast (GFPG).Simulation results show that the CFG and CFPG have significant improvement in delivery rate and reduction in overhead.However, the authors do not consider the packet loss caused by broadcast storm within the geocast region.
Our transmission scheme differs from above-mentioned works is that we try to (1) increase the packet delivery ratio with multiforwarding zone and (2) recover the packet loss caused by broadcast storm within the geocast region at high node density using network coding.

Network Coding.
Network coding, which was introduced by Seada and Helmy [9], allows each node in a network to perform some computations, for example, encoding and decoding, to enhance bandwidth utilization in network communications.Ahlswede et al. introduced network information flow problem that can be regarded as the max-flow min-cut theorem for network transmission.By employing coding at the nodes, that is, network coding, bandwidth can in general be saved.A node can function as an encoder in the sense that it receives messages from all the input links; the node encodes, and then forwards messages to all the output links.In [10], Ahlswede et al. presented an explicit construction of a code for multicast in a network that achieves the max-flow bound on the information transmission rate.Linear coding regards a block of data as a vector over a certain base field and allows a node to apply a linear transformation to a vector before passing it on.The authors formulate a multicast problem and prove that linear coding suffices to achieve the optimum, which is the max-flow problem from the source to each receiving node.The code is linear, which makes encoding and decoding easy to implement in practice.In [11], Li et al. proposed decentralized algorithms that compute minimum-cost subgraphs for establishing multicast connections in networks using network coding.Two decentralized algorithms are described for computing minimum-cost subgraphs: one that applies for linear cost function and the other that applies for strictly convex cost functions.The proposed decentralized approach can achieve minimum-cost multicast with network coding.
In [12], Lun et al. introduced an opportunistic approach to network coding named COPE, where each node snoops on the medium, obtains the status of its neighbors, detects coding opportunities, and codes as long as the recipients can decode.COPE can efficiently support multiple unicast flows even when traffic demands are unknown and bursty.Emulation results show that COPE substantially improves the network throughput.COPE's throughput becomes many times higher than current 802.11 mesh networks as the number of flows and the contention level increases.In [13], Katti et al. proposed a new protocol named CAPO for multihop wireless networks.In addition to code packets, CAPO attaches nonencoded packets together opportunistically.CAPO has a lazy decoding process which tries to decode stored coded packets to increase the decoding probability, which can reduce the number of retransmissions using the minimum number of decodings.In comparison with COPE, CAPO with its opportunistic attaching and lazy decoding feature can reduce the number of transmissions noticeably.

The Network Coding Based Rarest-First Packet Recovery Algorithm
In urban areas, VANET may suffer from greatly high node density.To increase the throughput of geocast packets that reached at the geocast region with high node density, we propose a geocasting mechanism using the multi-forwarding zone concept [4].The proposed multi-forwarding zone (MFZ) geocasting mechanism splits the original forwarding zone into two or more small forwarding zones.The simplest way is to draw a virtual cutting line from the center of the geocast region to the source node.The virtual cutting line splits the original forwarding zone into two small forwarding zones: upper forwarding zone (UFZ) and lower forwarding zone (LFZ).The size of the upper forwarding zone (UFZ) and lower forwarding zone (LFZ) are the same.For nodes that are equipped antennas with multiinput multioutput (MIMO), geocast packets can be forwarded simultaneously using the upper forwarding zone (UFZ) and lower forwarding zone (LFZ).For nodes with single antenna, geocast packets can be forwarded interleavedly using the upper forwarding zone (UFZ) and lower forwarding zone (LFZ).
In case of that no enough nodes exist in the extended multiforwarding zone (MFZ), forwarding zone adaptation policy is adopted to increase the possibility that packets can be relayed to the destined geocast region.In a CONE multiforwarding zone, the multiforwarding zone can be expanded into a BOX multiforwarding zone to avoid packet loss caused by the small angle made by the cone.In a BOX multiforwarding zone, we adopt the parameter δ to extend the multiforwarding zone as listed in [2]. Figure 2 shows an example of delivering geocast packets using a BOX multiforwarding zone (MFZ).In Figure 2, the upper forwarding zone (UFZ) is responsible for delivering geocast packet Pa; the lower forwarding zone (LFZ) is responsible for geocast packet Pb.The throughput of geocast packets that reached at the geocast region will be increased by using the proposed multiforwarding zone (MFZ) geocasting mechanism.If there still no node exists in the extended multiforwarding zone (MFZ), the source node will use the simplest flooding mechanism to flood geocast packets to the destined geographical region.The flooding mechanism can increase the possibility of packets that can be relayed to the destined geocast region.
Using the multiforwarding zone (MFZ) geocasting mechanism can transmit packets to the geocast region quickly and efficiently.However, it will cause the broadcast storm when too many geocast packets are arrived at the destined geocast region in a certain period.In the geocast region, when multiple nodes receive a geocast packet, these nodes will all rebroadcast the packet to its neighbors if the packet has not been received before.When multiple nodes re-broadcast the packet to its neighbors simultaneously, it will make the severe contention on the radio channel.Blindly flooding induces the broadcast storm, which wastes precious bandwidth by sending redundant packets that will probably collide.
In order to recover the packet loss caused by broadcast storm within the geocast region, we adopted the network coding technique to reduce the number of retransmissions using the minimum number of network-coded packets.Each node generates a new packet, which is a linear combination of the earlier received packets on the link, by coefficients in the finite field.A Galois field GF(q), that is, field with a finite number of elements q, is adopted to encode packets.We will use Galois fields for q = 2 m , where m is 5 in our algorithm.Each packet is represented as a binary string of m bits and will perform XOR operations (multiplications and additions).All the coefficients used are randomly selected and will be embedded in the header of the network-coded packet.
In order to enhance the network coding performance, we propose a network coding based rarest-first packet recovery algorithm for transmitting geocast packets over hybrid sensor-vehicular networks.When a node receives a recovery request packet, the node puts the request packet into a temporary buffer.The node then triggers a lazy recovery timer for the first received request packet, which is used to gather more request information of its neighbor nodes.When the lazy recovery timer is timeout, for example, three seconds, the node will send a network coded recovery packet to its neighbors for recovering missing packets.The coefficients of the network coded recovery packet are determined by the network coding based rarest-first packet recovery algorithm.
The network coding based rarest-first packet recovery algorithm calculates the number of which packets are missing around its neighbor nodes.A Recover Rate variable is defined for calculating the packet recovery rate of sending a specific network-coded packet.In the higher Recover Rate value, the specific network-coded packet is rarest and hence can recover more missing packets for its neighbor nodes.Despite the Recover Rate value, the algorithm also considers whether the network-coded packet is decodable or not at the requesting nodes.The rarest-first packet recovery algorithm employs an iterative approach known as a level-wise search that starts with large 1-packet sets, that is, the packet sets that contain only 1 packet and then increased the number of packet to k to discover large k-packet sets for packet recovery.Figure 3 illustrates the flowchart of the proposed network coding algorithm.The detail steps of the proposed network coding based rarest-first packet recovery algorithm are depicted as follows.
Step 1. Record the information of packets owned by source node S, and those packets are missing by S's neighbor nodes.Find the frequent missing packet number and put it into the 1-packet sets, L 1 .Step 2. Calculate the Recover Rate of each packet sets in packet sets L k .
Step 3. If a packet's Recover Rate is big or equal to the threshold Min Recover Rate, then the packet is put into the candidate packet sets C k .
Step 4. If k > 3, then the process jumps to Step 5; otherwise, k = k + 1 and the process jumps to Step 2.
Step 5. Put all packets from the packet sets L k into the packet sets transmission packet table (TRP).Find the packet p with maximum recover rate.
Step 6.Once the packet p with maximum Recover Rate has been found, the node encodes the packet p with network coding and then broadcasts the packet to its neighbor nodes for packet recovery.Figure 4 shows an example of packet recovery using network coding with rarest-first packet recovery algorithm.Assume that the sender has all of the missing packets of node A, B, C, and D; node A lacks the packet 1, 3, and 4; node B lacks the packet 2, 4, and 5; node C lacks the packet 2 and 5; node D lacks the packet 2 and 5. Initially, the rarest-first packet recovery algorithm calculates the packet recovery rate for each missing packet.For example, if the sender broadcasts  a packet 1 to its neighbors, the value of Recover Rate is calculated as 2 because node A and D can recover missed packet 1.In this example, the value of Min Recover Rate is set to 2. Since each missed packet's Recover Rate is bigger or equal then to Min Recover Rate, these missed packets are put into the packet sets L 1 .Then, the algorithm uses L 1 to generate candidate missed packet set C 2 in order to find L 2 .The algorithm generates candidate missed packet sets and eliminates those having a subset with lower packet recovery rate, that is, Min Recover Rate.Two actions that the algorithm performs are join and prune.In the join action, L k−1 is joined with L k−1 to generate potential candidates.The prune action removes candidates that have a subset with lower packet recovery rate Min Recover Rate.Once the higher packet recovery packet sets have been found, the algorithm encodes the packet set with linear network coding and then sends the network-coded packet to its neighbors for recovering missed packets.In this example, there are four packet sets {1, 2}{1, 5}{2, 3}{3, 5} with maximum packet recovery rate 4 in the TRP (transmission packet table).Since each network coded packet from these packet sets can recover 4 packets, the algorithm randomly selects a packet set for generating a network-coded packet and then broadcasts the networkcoded packet to its neighbor for packets recovery.

Performance Evaluations
To evaluate the performance of the proposed algorithms, we use the NS2 network simulator to simulate the geocast environment.There are 19 mobile nodes in a 5000 meter by 5000 meter grid in the simulation environment; 9 mobile nodes are within the forwarding zone; 10 mobile nodes are within the geocast region.We generated a scenario file with 1 source node, which sends out a 512 bytes packet per 10 ms using constants bit rate (CBR) generator.The parameters in the simulated IEEE802.11bWLAN environment are based on Orinoco 802.11bCard [14].The simulation runs with durations of 30 seconds.To simulate the mobility of mobile nodes, two nodes will move inside the geocasting region at International Journal of Distributed Sensor Networks  time 10 and 15.A node will move out the geocast region during time 13 to 20.Nodes within geocast region will perform network coding if the nodes receive the packet recover request from its neighbors; the packet recover request will be put into a recover request queue.A node will perform the network coding after 0.3 seconds, which can gather more recover requests.The node then codes as many request packets as the recipients can recover the lost packets.Comparisons of multiforwarding zone (MFZ) mechanisms with/ without network coding are performed.
Figure 5 shows the results of delivering geocast packets using multiforwarding zone (MFZ) mechanisms with 10 nodes within geocast region.The x axis denotes the simulation time, and the y axis denotes the average packet throughput in Kbytes.The red line denotes the simulation result of delivering geocast packets using multiforwarding zone (MFZ) mechanism without network coding, the green-line denotes the simulation result of delivering geocast packets using the multiforwarding zone (MFZ) with network coding.In Figure 5, the source node sends geocast packets to the geocast region.When nodes in the geocast region receive the geocast packets, these nodes then re-broadcast the geocast packets to its neighbors.Blindly flooding induces the broadcast storm, which wastes precious bandwidth by sending redundant packets that will probably collide.The packet throughput increases rapidly at beginning and then drops at time 5 due to packet loss that is caused by severe contention on the radio channel.In Figure 5, the green-line stays in the top of red line, which means that delivering geocast packets using multiforwarding zone (MFZ) with network-coding can have higher average packet throughput.In the proposed multiforwarding zone (MFZ) with network coding scheme, nodes will send the network coded packet with maximum recover rate for packet recovery.As a result, the average packet throughput can be increased.Figure 6 shows the results of delivering geocast packets using multiforwarding zone (MFZ) mechanisms with 30 nodes within geocasting region.In Figure 6, the source node sends geocast packets to the geocast region.When nodes in the geocast region receive the geocast packets, these nodes then re-broadcast the geocast packets to its neighbors.Blindly flooding induces the broadcast storm, which wastes precious bandwidth by sending redundant packets that will probably collide.The packet throughput increases rapidly at beginning and then drops at time 5 due to packet loss that is caused by severe contention on the radio channel.In Figure 6, the green line stays in the top of red-line, which means that delivering geocast packets using multiforwarding zone (MFZ) with network coding can have higher average packet throughput.In the proposed network-coding based rarest-first packet recovery algorithm with multiforwarding zone (MFZ), nodes will send the network coded packet with the maximum recover rate for packet recovery.As a result, the average packet throughput can be increased.In Figure 6, the red-line (without network coding) is ended at time 17; the green-line (with network coding) is ended at time 19.It means that the multiforwarding zone (MFZ) with network coding continues to send network-coded packets to recover lost packets of its neighbor nodes.Therefore, the simulation time of the green line (with network coding) is longer than that of red line (without network coding).

Conclusion
Geocasting can be used to perform the regional broadcast to deliver geographic-related safety, commercials, and advertisements messages.The challenging problem in geocasting is how to deliver packets to all the nodes within the geocast region with high efficiency but low overhead.In this paper, International Journal of Distributed Sensor Networks a network coding based transmission architecture for delivering geocast packets over hybrid sensor-vehicular networks is proposed.By equipping network coding technique for geocast packets according to network status, the proposed algorithm can enhance the utilization of packet transmission and can satisfy the requirement of adaptive telematic services over hybrid sensor-vehicular networks.Simulation results show that the proposed network coding based rarest-first packet recovery algorithm with multiforwarding zone (MFZ) mechanism can have higher average packet throughput.

Figure 1 :
Figure 1: An example of packet loss caused by no enough nodes in the forwarding zone (FZ).

For ( k ForFigure 3 :
Figure 3: The flowchart of the network coding based rarest-first packet recovery algorithm.

Figure 4 :
Figure 4: Packet recovery using network coding with rarest-first packet recovery algorithm.

Figure 5 :
Figure 5: The results of delivering geocast packets using multiforwarding zone (MFZ) mechanisms with 10 nodes within the geocast region.

Figure 6 :
Figure 6: The results of delivering geocast packets using multiforwarding zone (MFZ) mechanisms with 30 nodes within the geocast region.