Opportunistic Delayed Transmission for Network Coding in Vehicular Wireless Networks

In vehicular wireless networks, mobile nodes move at a high speed. Thus, the network topology changes frequently. When the traffic is heavy, the collision probability increases dramatically. Network coding is one of the efficient packet transmission schemes to improve throughput and reduce the number of packet transmission. In this paper, we propose an Opportunistic Delayed Transmission (ODT) scheme. This scheme is a trade-off between delay and coding opportunity where the intermediate node may wait for a certain period to maximize the coding opportunity. We use NS-2 network simulator to evaluate the performance of the proposed scheme. The simulation results show that our proposed scheme improves not only the coding ratio but also the packet delivery ratio.


Introduction
With the advances of technology, wireless networks have been widely used everywhere.For example, vehicular wireless networks are deployed to improve vehicle driving safety.IEEE stipulated the IEEE802.11p[1] standard and Wireless Access in the Vehicular Environment (WAVE).In VANET [2], mobile nodes usually move at a high speed.Thus, the network topology changes frequently.If mobile nodes transmit several packets at a same time, the probability of collision will increase.In order to solve the problem, network coding transmission is adopted for VANET.Network coding is one of the efficient schemes to achieve these problems.Ahlswede at el. [3] propose a network coding mechanism in 2000.Intermediate nodes not only relay the packets but also have network coding capability.Intermediate nodes receive packets from different source nodes and combine packets with coding opportunity by linear [4] or XOR [5] operation.After encoding packets, the intermediate nodes broadcast the encoded packet to its neighbor nodes.Then, the neighbor nodes receive the packets and decode it.Consequently, network coding reduces the number of packet transmission and increases the information of packet.
We introduce how network coding works and compare the difference between with and without network coding mechanism.Consider an example of wireless transmission without network coding method.There are three nodes in the network as shown in Figure 1.Node A and node C want to exchange packets each other through an intermediate node.Node A wants to send a packet P 1 to node C through intermediate node B. Similarly, node C delivers a packet P 2 to node A via intermediate node B. As shown in Figure 1.(a), the traditional store-and-forward [6] method requires four transmissions to exchange these two packets, including packet P 1 from node A to node B, packet P 1 from node B to node C, packet P 2 from node C to node B, and packet P 2 from node B to node A. As shown in Figure 1.(b), the string network deploys network coding method.Two sender nodes, A and C, exchange packets each other via an intermediate node B. This process only requires three times of transmissions.First, node A and node C transmit packet P 1 and packet P 2 to node B separately.After node B receives packet P 1 and P 2 , it performs XOR operation for packets P 1 and P 2 to create a new coded packet P 1 ⊕P 2 .Finally, node B broadcasts the coded packet P 1 ⊕P 2 .Then, node A decodes P 1 ⊕(P 1 ⊕P 2 ) to get packet P 2 , and node C decodes P 2 ⊕(P 1 ⊕P 2 ) to obtain packet P 1 .Therefore, network coding can reduce the number of packet transmission.In this case, the throughput is improved about 33.33% compared to the store-and-forward approach.In this paper, we propose opportunistic delayed transmission scheme.This scheme is a tradeoff between delay and coding opportunity.In our scheme, the intermediate node may wait for a period to maximize the coding opportunity.An Intermediate node first checks whether the output queue has other packet to encode.If the output queue does not have any other packets, the node starts a timer to wait for a while to receive other packets.After the timer is timeout, the intermediate node starts to find coding opportunity and transmits all of packets in output queue.
The reminder of this paper is organized as follows.In Section 2, we briefly introduce the background of network coding and related works.In Section 3, we propose opportunistic delayed transmission scheme.In Section 4, we use NS-2 network simulator to implement the proposed methods and present the experimental results.We compare the schemes in terms of throughput gain, coding rate and packet arrival rate.Finally, we conclude the paper.

Related Works
In this section, we survey and introduce network coding in wireless networks.Amount of research shows that network coding can increase throughput and decrease the number of packet transmission.In [5], COPE is the first practical implementation of network coding in wireless networks.COPE has three main techniques.First is opportunistic listening.Wireless network is a broadcast environment.When a node transmits packets, its neighbor nodes can overhear the packets.Therefore, every node can snoop the neighbor nodes and stores the overheard packets in a short time.Each node adds the reception report in COPE header to notify its neighbor nodes.Second is opportunistic coding.Every node has to find the maximum number of packets which have coding opportunity to encode together and broadcasts the encoded packet.If a packet is encoded by n packets, neighbor nodes must have n -1 packets to decode.The last is learning neighbor state.Nodes transmit packets in wireless networks.However, the reception report in the coding header may get lost by collision or transmission delay.Nodes cannot know what packets the neighbor node has in real time.Therefore, each node not only checks the reception report but also guesses what packets do the neighbor nodes have.In [7], the queue management uses for first in first out method with network coding.FIFO can prevent packets waiting for a long time in the waiting queue.The intermediate node searches appropriate packets to mix before the next packet in waiting list transmits.The sender node sends an RTS packet to check if the network is free.If the neighbor relay node is free, it returns a CTS packet to the sender node.After receiving the CTS packet, the sender node knows that the intermediate node is ready to receive data.Then, the sender node gets the first packet in the packet pool and sends to the relay node.When the relay node receives the packet, it checks the packet pool to get a packet to encode.The relay node performs XOR operation to combine packets.Finally, it broadcasts the coded packet to neighbor nodes.

Implementation of Network Coding in VANET
In [5], COPE designs the network coding principle without delaying packets.When a node receives packets, the node has to decide whether the packet has coding opportunity immediately and transmits to the next hop.Packets without waiting for coding have less delay.However, the consequent coding opportunity decreases.To increase coding opportunity, we introduce our proposed method with network coding in VANET, called opportunistic delayed transmission.This scheme increases not only the coding ratio but also the packet delivery ratio.Moreover, we assume that every packet may have different packet length.In addition, the merged packets must have same length.Thus, the shorter packets should be padded with zeroes.Finally, we propose similar packet size first (SPSF) to encode the packets whose size is close.

Opportunistic delayed transmission
As shown in Figure 2, there are two data flows in the network topology, node A transmits packet to node B via an intermediate and node E. Node C transmits packets to node D via node E. In the beginning, sender nodes transmit packets to intermediate nodes.When sender nodes transmit packets, the neighbor nodes which are in the sender node's transmission area can overhear the packet.Every node has its own packet pool to store the receiving or overhearing packet temporarily.The purpose of the packet pool is to decode the encoded packets.If a node overhears packets, the node broadcast a message to tell its neighbor nodes what it overheard.The intermediate nodes receive packets from source nodes and store packets to the output queue.Next, the intermediate node dequeues the head of the packet in the output queue.In our scheme, the intermediate node may wait for a period to maximize the coding opportunity.If the output queue does not have another packets, the intermediate node will start a waiting timer to wait period of time to receive more packets.After the timer timeouts, the output queue may store new packets.The coding opportunity increase and the head of packet can find packets to encode easily.

Similar Packet Size First
In network coding, intermediate nodes combine packets which are from different source node and broadcast the encoded packets.We assume that every packet nay have different packet size.When network coding performs XOR operation, all of these packets should have the same packet length.Therefore, the shorter packets will be padded with zeroes.If a small packet combines with a big packet, the node consumes more bandwidth.Consequently, throughput gain decreases.A simple scheduling method is first in first out (FIFO).The intermediate nodes find the first packet with coding opportunity to encode.In general, FIFO scheduling has lower delay.
However, the difference of packet length may be large.To solve the problem, we propose similar packet-size first scheduling method to find two packets with similar length to encode together.In the beginning, the sender node dequeues the head of packet in the output queue.Next, the sender node searches the packets in the output queue to find the packets which have coding opportunity.If several packets have coding opportunity, the node selects two packets with similar packet size to encode.

Flow control
Figure 3 describes the processing flow chart of opportunistic delayed transmission.If the network channel is idle, the sender node dequeues the first packet in the output queue to transmit.Then the sender checks whether the output queue stores other packets or not.If no packets exist, the sender waits for a period of time to receive packets.If the queue has some packets, the sender finds some coding opportunity for the head of the packet.If the sender finds packets with coding opportunity, the sender performs XOR operation to combine the packets together.Finally, the sender transmits the packets to the next hop.

Simulation Results
In this section, we evaluate the performance of the proposed opportunistic delayed transmission via NS-2 network simulator [8].We compare opportunistic delayed transmission with the traditional network coding.We implement the experiment in a five-node network topology as shown in Figure 2. Two data flows are from node A to node B and from node C to node D. We compare two scheduling schemes including first in first out and similar packet-size first scheduling.The detail simulation parameters are shown in Table 1.The routing protocol is AODV, MAC protocol is 802.11p, and the packet size is a random number ranged between 100 and 500 bytes.Basically, the sender node transmits 50 packets every second.In VANET, the network topology may change frequently.Therefore, neighbor nodes may not always overhear packets.We assume that the overhearing ratio denotes the probability of overhearing packets for the neighbor nodes.We evaluated the waiting intervals of 0.02 seconds and 0.04 seconds which represent one packet transmission slot time and two transmission slot times, respectively.Figure 4 show the impact of overhearing rate on the coding ratio.The opportunistic delayed transmission improves the coding ratio because the intermediate nodes processing packets without any waiting time have a low probability to encode packets together.With a short waiting time, the coding rate is higher than that without delaying transmission.If the waiting time is longer, nodes will have a higher coding opportunity to encode packets.At the same time, the end-to-end delay also increases.

Throughput gain
The throughput gain is defines as: (1) T decode is the total of decoded packet throughput, and T encode is the total of encoded packet throughput.Figure 5 shows the throughput gain for each scheme.The throughput gain with similar packet-size first scheduling is higher than that with first in first out because similar packet size first scheme selects a similar size of packets to encode to decrease the total of encoded packets.Figure 6 shows the packet delivery ratio for each scheme.Packet transmission without waiting time has the lowest packet delivery ratio.Because the coding opportunity will be less without delaying transmission, the number of packet transmission is higher than that with opportunistic delayed transmission.Therefore, the probability of collision is higher than ODT.

Conclusions
In this paper, we propose an opportunistic delayed transmission scheme to improve the coding ratio in vehicular wireless networks.The proposed scheme makes a trade-off between delay and coding opportunity.The intermediate node may wait for a period to maximize the coding opportunity.When an intermediate node has few packets in output queue, the node waits for a short time.Moreover, we propose similar packet size first scheduling to select the packets to encode.Simulation results show that the proposed scheme increases not only the coding ratio but also the packet delivery ratio.

Figure 1 .
Figure 1.Example of packet transmission.(a) Without network coding.(b) With network coding.

Figure 3 .
Figure 3. Flow chart of opportunistic delayed transmission.

Figure 4 .
Figure 4. Impact of overhearing rate on coding ratio.

Figure 5 .
Figure 5. Impact of overhearing rate on throughput gain.

Figure 6 .
Figure 6.Impact of overhearing rate on packet delivery ratio.