1 Introduction
Wireless communication techniques support devices in communicating when they are in proximity of each other as well other ones that are far removed from their peers. Adhoc networks better suit environments where devices are within short range, as they do not need infrastructure to communicate among each other compared to long-range communication, which depends on infrastructure. The Intelligent Transportation System (ITS) involves both these types, as vehicles, which are its primary members, can communicate among each other, resulting in vehicle to vehicle (V2V) communication, as well communicate with infrastructure, i.e., roadside units called Vehicle to Infrastructure (V2I). The communication standard exclusively utilized for short-range communication is called Dedicated Short-range Communications (DSRC). A significant part of DSRC is Wireless Access in Vehicular Environment (WAVE). WAVE has its own stack, where the first two physical and medium access control layers have standards listed under 802.11p.
The IEEE 1609 Family of Standards for Wireless Access in Vehicular Environments (WAVE), which includes 1609.1, 1609.2, 1609.3 and 1609.4, clearly defines the architecture, services and interfaces in connection with communication among vehicles as well with infrastructure [1]. The European Telecommunications Standards Institute (ETSI), which publishes standards for information and communications technologies, also supports such adhoc networks for information dissemination in ITS applications. A network layer protocol called GeoNetworking, standardized by ETSI, plays a similar role in extending the region of such communication using technology like ITS-G5, which does not need an infrastructure for such wireless multihop communication and acts as an alternative to WAVE [2].
Video is a type of media that plays a vital role in Vehicular Adhoc Networks, as these networks deal with various categories of applications, such as safety applications and user applications. The user applications deal with serving general information like news, sports, and information about the place where the vehicle is moving, as well entertaining the passengers with audio or video streams or downloads. The safety applications deal with the transmission of important information to drivers about car accidents, traffic jams or bridge closure on their route ahead. Based on this information, the drivers can make a decision dynamically to take an alternate route instead of adding to the existing chaos [3].
Considering emergency scenarios, video data sent as small clips give a clear image of the happenings at the place of emergency. The transmission of such video data among vehicles is very challenging as the vehicles are generally mobile, although some environments may involve parked vehicles. This mobility results in changing topology, which makes the route vary very frequently. These scenarios create multi-hop environments where the data need to transit many nodes before they reach the destination vehicle. Considering transmission of video data, this results in two types of transmission. One is video download, which is encountered when a complete file download is involved. The other being video streaming, which works on frames playing in sequence as and when they arrive. When on-demand user applications are considered, generally, the file size may be large while that of emergency applications may be comparatively small.
Routing is a technique used by nodes that are interested in communication but are not within range of each other in large networks. Every node that acts as a router node selects the route which the packets are supposed to take with the help of routing tables that are maintained by them. The choice of the appropriate routing protocol is important, as they differ with varying topology, trajectory information, i.e., the set of intersections passed by a vehicle, the position of the vehicle with varying time, clusters formed by vehicles, etc.
Reactive routing suits VANETs, as they find routes dynamically on demand, compared to proactive routes, which are framed periodically. Adhoc On-Demand Vector (AODV) [4], which belongs to the reactive category, was applied in the design of the DRR algorithm. The suitability of the reactive routing protocol AODV is also justified by a review work [5], which explains the frequently varying topology of VANETs in detail.
When data needs to transit through multiple hops in such mobile networks, the percentage of packet loss is expected to be higher. Hence, in this work, the technique Network Coding (NC) was used, which combines a pre-set number of packets it has created (source node) or received (recoder) into one or more outgoing packets. This technique gives a better throughput, less delay, and more robustness to packet networks [6-7]. During a file transfer applying Random Linear Network Coding (RLNC), which is one of the standard forms of NC, the file contents will be divided into blocks, called 'generations', which are further said to contain symbols. The linear combination of several symbols over the Galois field is done. When, say, x symbols are involved in encoding, x linearly independent symbols are required for decoding. Recoders play a vital role in network coded communication, as they are involved in mixing the contents for further transmission. Inter-sessions are said to be encountered when there is an exchange of data between two nodes. A recoder is helpful in mixing the packets and broadcasting the mixed contents when the sender and receiver are not within range of each other.
Instantly Decodable Network Coding (IDNC) is a special extension of NC, which suggests a procedure for simple XORing in place of complex encoding and decoding using the Galois field. This is oriented mainly towards the reduction of decoding delay of packets in recoders [8].
The success of a transmission is based on various parameters, such as throughput, packet loss, EED, etc. In general, throughput has been considered a significant parameter in wireless networks, but EED supported by the packet delivery ratio (PDR) also influences overall performance. Any transmission exhibiting low EED but large PDR is very inefficient. Hence, in this work, both these parameters were measured and analyzed. Two helper nodes, which are intermediate nodes to the recoder and destinations, are in action when packets are missed out.
2 Related Work
The various areas in VANETs where research is of high interest are accident avoidance, driver assistance systems, V2V communication, V2I communication through data dissemination, etc. [5] There are also various other approaches with which performance enhancement of video data transmission can be done, for example by using computer vision algorithms, remote sensing data fusion techniques, and mapping and navigation tools in the automotive sector.
Poliak et al. [9] state that road regulations are issued by every government to avoid accidents, chaos on the road, fatalities, etc. Freight transport on roads has a significant role in contributing to these challenges. This work focused on finding the influence of the violation of regulations in connection with drivers, as well as vehicle conditions on roads leading to accidents. The EU government has made clear regulations on driver working hours (minimum and maximum driving hours, rest periods, etc.), which are monitored with the help of tachographs. Considering road accidents, the main factors are the vehicle, the driver of the vehicle, and the communication there exists. Major challenges seen by drivers causing accidents have been listed as: lack of proper training, over-speeding, not following regulations while on turns and reversing, violating traffic signs, etc. Some of the reasons listed by drivers themselves are: lack of free parking spaces, congestion, loading/unloading deadlines, poor planning of the transport route, force by the employer to drive beyond the permitted time limits, etc. A suggestion has been the use of a Garmin-type navigation unit that communicates with the driver or the vehicle regarding the route, bridges to avoid, availability of parking space, etc. In all these scenarios the communication of information between the driver or vehicle on roads with the surroundings near the destination has been proven to be significant. A centralized database showing all vacant parking spaces is a suggested solution.
Making a contribution towards the optimization of manufacturing systems in the automotive industry in Slovakia by introducing Industry 4.0, which involves Internet of Things, automation, deep learning techniques etc., was the main motive of the study by Nagy et al. [10]. The effect of the combination of computer vision algorithms (CVAs), fusion of remotely sensed data as well as a mapping and navigation tool based in the Slovak automotive industry was the main focus. Citroen C3 and Peugeot 208, two popular automobiles, were taken into consideration. CVAs play a vital role in autonomous vehicles, safety on roads, object detection in the surroundings, as well enhances driving assistance. Various categories of analysis, such as statistical and visual analysis, are used to arrive at the above-mentioned decisions.
Valaskova et al. [11] discuss self-driving cars, which are a representation of the advancement of vehicular communication. Self-driving cars that mimic the behavior of cars with drivers need to navigate through challenging roads and environments efficiently, carrying the passengers or goods in a safe way towards their destination. This work explored the importance of the combination of the control algorithms, intelligent wireless sensor networks and virtual data modeling in the success of self-driving cars. The control algorithms help the system with object detection, dynamic decision making, planning of the route ahead to navigate, etc., which are real-time requirements for self-driving vehicles. Wireless sensor networks are involved in supporting the vehicle in making decisions regarding traffic signals, crossing pedestrians, bad road conditions etc., with the integration of data from various sensors embedded in the vehicle as well in the surroundings. As test drives are preferred by every human driver, simulation plays a vital role in analyzing the behavior of a vehicle in various challenging scenarios. The tools supporting the employment of such virtual data models creates a safe environment for testing the deployment of control algorithms forecasting the risks that could be experienced, even without a physical prototype. The combination of these three factors could help in increasing the accuracy of the required parameters, which may in turn lead to better decision making. An extensive survey was done on recoder or relay node selection too, as it was of high interest for this work.
The impact of driver behavior on fuel consumption was designed in two stages in Ping et al. [12]. The first stage deals with an unsupervised clustering algorithm, whereas the second deals with the dynamic behavior of drivers who are integrated to generate the model for relationships among the two entities. This could have a positive impact on the reduction of the cost of transportation and give a good input to the Automated Driver Assistance system.
The selection of nodes that forward the data is also important in the successful transmission of data. One work on this issue was done by Suthaputchakun et al. in [13], which proposes a method called 3P3B, a multi-hop broadcast protocol that gives fast channel access only to high priority messages. This was claimed to be the first to handle multiple problems such as broadcast, hidden terminal, and better communication in frequently interrupted networks. Vehicles that are positioned far away but within communication range are considered for transmission. Packet drop is avoided by working in two modes: transmission mode and holding mode. The latter is entered when the predefined number of retransmissions are done. Parameters like EED, overhead of control packets over data packets, average number of packets delivered are measured in a multiple transmitter environment and were proved to be a better performance measure compared to traditional broadcasts.
Another work on node selection was designed by Chang et al. in [14], i.e., a fuzzy based technique, which does the appropriate selection of edge nodes. Such a selection was shown to reduce the number of unnecessary and concurrent transmissions otherwise seen in wireless networks. Route selection specifically with regard to the last two hops was given importance. Criteria like link quality, slow moving vehicles to avoid frequent change in edges, and routes with a higher number of vehicles moving in the same direction are considered during the selection process.
NC has been proven to suit environments requiring low latency by Park et al. [15]. One interesting application of this kind was introduced in this work, where multicasting of data from some cameras is given to security personnel on the move. If, say, T seconds are required to send one set of report data, any data reaching later than T seconds becomes obsolete.
When a file transfer is considered, the completion time is an important parameter. The influence of dynamic programming applied in such an environment was shown by Skevakis et al. in [16], achieving a reduction in transmission delay and better throughput by designing the system as a Markov decision process.
Many studies have attempted to transmit both coded and un-coded versions of data. One such work was done by Yu et al. [17], who used RLNC for coding. In their method, the intermediate node has to give feedback on the reception status of the packets. Based on the feedback from the recoder, the next set of packets is further divided into sub generations and transmitted and proved to be NPcomplete. This actually adds computational load to the recoder, increasing the delay.
NC deals with many operations, such as linear, random linear, exclusive-OR (XOR) operation among others. Khanzada et al. [18] concluded that XOR operation plays a significant role among all of these and like parameters such as throughput, EED, and PDR depend on the packet size, it needs significant attention.
The application of Instantly Decodable Network Coding (IDNC) during the transmission of small files showed better performance in Li et al. [19] when hard deadlines have to be met compared to Inter Session Network Coding (ISNC).
Another work on ISNC was done by Cui et al. [20], who discuss the inter-session network coding environment where a decision about transmitting or holding packets is taken when the relay node needs to mix packets from two sources with varying data rates. The proposed scheme transmits the prioritized base layer data to the receiver. This helps to better utilize the network bandwidth as well to reduce the number of packets. This technique showed a better quality of video compared to existing schemes.
IDNC, an interesting NC stream, has shown good results in terms of delay reduction. Time critical applications are a significant area of research. Delay reduction was achieved by Karim et al. [21] by making the nodes simultaneously communicate with the base station as well with the other devices through two interfaces. Special care is taken for in-order delivery of packets during implementation. IDNC is put into work for addressing the dual delivery delay problem, which is equivalent to an independent maximum weight set selection problem. The authors compared the mean decoding delay (DD) and completion time (CT) of various algorithms, such as cellular IDNC, D2D IDNC among others, for a network composed of various devices. They showed that their proposed algorithm had the lowest mean CT and DD.
Usage of multiple relay nodes in a RLNC system is recommended by Tsimbalo and Sandell in [22], where the number of relay nodes is decided using Monte Carlo simulation, which makes the efficiency equal to a single relay node with reduced error and better throughput compared to conventional schemes.
The work by Ravi and Dey in [23] encourages multiple functionalities by a single relay system in an ISNC environment. It suggests a list of functions that could be chosen by the relay node appropriately to achieve a zero-error condition, indicating that both nodes receiving the data get the correct data without any errors. In complex scenarios, where achieving this zero-error condition is tedious, it gets reduced to E-errors, where minimum errors are encountered. The list of functions that support both the above criteria are given graph coloring schemes.
A study on both single and multiple relays was done by Li et al. in [24], which deals with two source nodes transmitting data to two such different environments, where the relay nodes combine and transmit data to the two nodes again. The expressions for the bit error rate were derived and verified with Monte Carlo simulations. Further, it was also shown that multiple relays outperform single relay networks.
Another work on multiple relays was done by Atapattu et al. in [25], which takes the signal to noise ratio as a significant parameter and considers the cumulative distribution function of two users. The ordering of relays is done based on a feedback mechanism and with a training overhead. The results showed this technique to be efficient.
The IDNC technique was applied to VANETs by Wang and Yin [26] to select the relays based on channel conditions, density of packets received, location, and speed of vehicles. This work considered a highway scenario for data dissemination and the design was shown to reduce the delay in units of slots and improve the throughput.
In the coding scheme proposed by Lim et al. in [27], single hop networks were applied with Marton coding, where multi-hop networks were applied with the Cover-El Gamal partial decode-forward coding scheme.
3 Proposed Architecture and Algorithm
The present work focused on enhancing the performance of video stream transmission in VANETs. When the nodes involved in the transmission are not within range of each other, multi-hop scenarios result. The other nodes in the network that are involved in helping these nodes are called 'relay nodes' in general and 'recoders' when NC is done. Usage of the NC technique involves recoders helping the other nodes to communicate by transmitting data, in spite of no specific self-benefits. As the data from both nodes in communication reach the recoder in between them, the distance the data travels gets reduced and hence helps in reducing delay. In conventional techniques, it is seen that recoders are assigned with equal or more work load compared to the transceivers, i.e., the source and destination nodes. Hence, this work was oriented towards making the recoders load lightly. This technique was designed with two phases: the analysis phase, in which the performance of the network with varying recoder behaviors is measured. Secondly, the recoder recommendation phase, which is carried out after observation of the results of the analysis phase. In this phase, an appropriate recoder is dynamically selected and hence the proposed algorithm is called Dynamic Recoder Recommender (DRR).
3.1 Analysis Phase
Three different behaviors of recoders were simulated here: one for intra-session (InS) scenarios and two for inter-session scenarios – one called Heavy Recoders (HR) and the other called Light Recoders (LR). In the InS scenario, two files are exchanged by two nodes, say, from node X to node Y and from node Y to node X; these are considered as two independent transmissions. Recoder node R recodes (decodes and then encodes the data from different packets of the same flow) the packets from the same flow and transmits them towards the destination, where they are again decoded. In the HR scenario, the recoder receives the packets from two sources, say node X and node Y (transceivers), waits for enough packets to be received based on the generation size, and recodes them (decodes and then encodes the data from different packets of two different flows), thus implementing an inter-session. This is suitable for complete video file downloads. The encoding and decoding are done using random linear NC encoders.
In the LR scenario, the recoder does not decode every packet but does a simple XOR on two of the received packets from each of the nodes and sends the resulting packet across to the two transceivers as well as the helper nodes. The encoding and decoding are done using on-the-fly encoders with generation number set to '1'. The storage required and time spent by the recoders on these transit packets are thus less compared to the Heavy Recoders, making the process more efficient.
As mobile networks end up with packet losses, two helper nodes that are positioned in between the recoder and the transceivers are selected, one for each transmission. When packets are missed by a destination, it requests the corresponding helper node by sending the packet details, which then transmits only the requested packets towards the destination. If the helper does not possess the packet, the request is discarded.
Implementation
This work simulated the above WAVE environment set-up using the Ns3 network simulator, where 32 nodes were generated. A video file named "st_highway_cif.mp4" was chosen for the experimentation and a trace file of the same was created using the ffmpeg tool. For the experimentation, this trace file was split into two files. One of these files was made into packets and transmitted by one of the transceiver nodes. The second file was used by the other node, selected for communication with the first transceiver node. These packets moved towards the recoder and, based on the type of the recoder, the processing on the data continued. AODV protocol is applied in the environment set-up for routing and the technique NC is applied for encoding and decoding. The details of the values given to the various parameters are tabulated in Table 2. A pair of nodes was randomly chosen to be the transceivers. Twenty such pairs were considered in testing the set-up. The three different scenarios distinguished above – intrasessions, heavy recoders and light recoders – were set up by varying the functionality of the recoders.
Mobility was given to the nodes using mobility models supported by Ns3. Mobility models play a major role in the performance of mobile networks such as discussed in [28]. Two different mobility models – Constant Position (CP) and Gauss Markov (GM) – were applied and the results were observed. The CP model simulates vehicles with no mobility, which applies to vehicles in very heavy traffic jams or parking lots. The GM model is a very popular model and can be applied in the simulation of Flying Adhoc Networks (FANETs), as it gives the option for a third dimension. It was chosen here, as the model supports a parameter alpha, which helps in balancing between memory and randomness for deciding on the next position and velocity of each vehicle. As NC involves
recoders for mixing the packets sent, a node between the two transceivers was selected to acts as a recoder. Clock time was used as the seed in these random selections. Two different video trace files, as mentioned above, of size around 11 Kb each, were transmitted by a pair of vehicles towards a randomly selected recoder. The recoder mixed these two packets and transmitted them towards the transceivers. The EED and PDR were noted.
Figure 1 gives a complete architecture of the light recoders used for video streaming and Table 1 gives the descriptions of the terms used in Figure 1.

Figure 1 Proposed architecture for light recoders.
Table 1 Descriptions of Terms Used in Figure 1.
| Notation | Description | ||||
|---|---|---|---|---|---|
| VD1, VD2 | Video data to be transmitted by Source-1 and Source-2 respectively to their peers | ||||
| in inter-session | |||||
| ENC(VD1),ENC | Encoded video data transmitted after encoding using on the fly NC encoder by | ||||
| (VD2) | Source 1 and Source 2 respectively | ||||
| XOR | Exclusive OR Operation (Mixing) | ||||
| VD3 | The mixed packet obtained after XORing the packets received by the recoder | ||||
| from Source-1 and Source-2. | |||||
| ENC (VD2) VD3 | The encoded video data of Source-2 is extracted by XORing the received data | ||||
| XOR ENC(VD1) | with encoded video data of its own held in the buffer. | ||||
| VD2 | The data from the above step is decoded where Destination-2 retrieves desired | ||||
| DNC(ENC(VD2)) | packet contents of Source-2 i.e. VD2 | ||||
| ENC (VD1) VD3 XOR ENC(VD2) | The encoded video data of Source-1 is extracted by Destination-1 by XORing the | ||||
| received data with encoded video data of its own held in the buffer. | |||||
| DNC(ENC (VD1)) | The encoded video data of VD1 is decoded where Destination-1 retrieves desired | ||||
| packet contents of Source-1 i.e. VD1 | |||||
One of the significant observations from the analysis phase with all three abovementioned types of recoders is that in some of the scenarios the packets transmitted by the encoder do not reach the recoder or packets transmitted by the recoders do not reach the decoders. The reason is that the recoder nodes are selected at random in this phase, which would sometimes result in longer paths. This brings an initiation for the recoder recommendation phase
3.2 Recoder Recommendation Phase
The objective of this phase is to dynamically select the appropriate recoder based on the path selected by AODV during run time. Initially a dummy packet is sent from the source to the destination and another one from the destination to the source. This generates two different flows, as the channels are half-duplex channels. Considering X and Y as the transceiver nodes, the major steps involved in this phase are:
- 1. The nodes present in the forwarding path, say, from node X to node Y, as decided by AODV, are noted.
- 2. The nodes present in the reverse path,say, from node Y to node X, as decided by AODV, are noted.
- 3. The common nodes between both paths are noted as list of nodes for selection.
- 4. The middle element of the list obtained in step 3 is assigned as the recoder node and the node closest to node X, i.e., the source of Transmission-1, is taken as Helper-1. The node closest to node Y, i.e., the source of Transmission-2, is taken as Helper-2. Once the recoders and helpers are selected, the actual file transfer is done and EED and PDR are noted.
AODV generates the routing table for all the nodes when the dummy packet is to be transmitted from node X to node Y. There is no direct method to find a route from a given source to a destination in Ns3, as it depends on the number of nodes, position and mobility parameters, which are set based on the environmental setup of the different experiments. Hence, it is challenging to find the path taken by packets from source to destination. This algorithm was designed to find the path chosen by two inter-sessions and select an appropriate recoder for the actual data to be transmitted.
Algorithm:
- 1. A dummy packet is transmitted by the source node towards the destination.
- 2. Load and open the routing table of the source node.
- 3. Retrieve the record that holds the path to the destination node among others.
- 4. Extract the interface address to know the next hop in the path.
- 5. Unload the current routing table and load the routing table of the next hop
- 6. Repeat steps 3 to 5 until the next hop becomes the destination node. This results in obtaining the path of transmission-1 decided by AODV.
- 7. Repeat Steps 1 to 6 to extract the path for the reverse transmission, i.e., Transmission-2.
- 8. Find the common nodes seen in both the paths. Select the recoder and helper nodes appropriately.
The procedure to handle all possible cases that can be encountered are shown in the pseudocode given below. The terms used in the pseudocode are selfexplanatory and are based on the fields generated and maintained by the routing table formed by AODV like Destination and Interface (next hop) among others.
PSEUDOCODE:
currentnodeId_processed = SourceNodeId source_address = SourceNode_IPaddress; destination_address = DestinationNode_IPaddress do until currentnodeId_processed ! = DestinationNodeId {//Opens the routing table of the current node processed readfileptr.open (RT_ currentnodeId_processed); //reads a record from the routing table current_route_toprocess = readfileptr.readroute ( ); If (current_route_toprocess .Destination = destination_address)
Table 2 Parameter Set for Experimentation.
| Parameter | Values | ||
|---|---|---|---|
| Number of nodes | 32 | ||
| Simulation area | 1000 X 400 | ||
| Orthogonal Frequency Division | |||
| Multiplexing | Multiplexing | ||
| Bandwidth | 10 MHz | ||
| Data rate | 6Mbps | ||
| Packet size | 512 bytes/1024 bytes | ||
| Generation size | 1 for LR, 3 for HR | ||
| Mobility model | Constant Position/ Gauss Markov | ||
| Routing protocol | AODV | ||
| Inter-packet arrival time | 0.75 seconds | ||
| Initial distance between the vehicles | 50m | ||
| Speed range of the vehicles | 0 km/hr to 30 Km/hr | ||
{currentnodeId_processed = current_route_toprocess .Interface; nextnodeinpath [index++] = current_route_toprocess. Interface; readfileptr.close }
The same procedure is applied to find the path of Transmission-2 and then the nodes in both paths are compared for commonality. When common nodes have been found, the following procedure is followed for finding the recoder and helpers.
If (commonnodes_count >= 3)
{recoder = commonnodes[commonnodes_count/2];
helper1 = commonnodes[(commonnodes_count/2)-1];
helper2 =commonnodes[(commonnodes_count/2)+1];}
else if (commonnodes_count = 2)
{recoder = commonnodes[0];
helper1 = commonnodes[0];
helper2 = commonnodes[1];}
else if (commonnodes_count =1)
{recoder = commonnodes[0];
helper1 = commonnodes[0];
helper2 = commonnodes[0];}
else if (commonnodes_count = 0)
{if(path1_nodecount = 1)
{recoder = helper1 = helper2 = path1_nodelist[0];}
else if(path1_nodecount = 2)
{helper1 = path1_nodelist[0];
recoder = helper2 = path1_nodelist[1];}
else if (path1_nodecount = 3)
{ helper1 = path1_nodelist[0];
recoder= path1_nodelist[nodes_count/2];
helper2 = path1_nodelist[2];}
if (path1_nodecount = 0)
{//The above complete procedure is done with path2_nodelist}
else
{//The nodes are in range of each other, i.e., single hop
//No recoder is required and direct communication is done}
4 Results
The mobility model was initially set to Constant Position and the packet size was set to 1024. The observed result for the environmental set-up of Ns3 is shown in Figure 2. The highest EED observed in the two transmissions of each simulation was considered as representing the completion of the inter-session. Then the average EED measured in the twenty pair combinations as mentioned above was calculated to be plotted.

Figure 2 Average end-to-end delay observed for the Constant Position mobility model with packet size set to 1024 bytes.
The same procedure was followed throughout in all simulations done. This showed that all three types of recoders exhibited a lower EED and a higher PDR with the implementation of the above DRR algorithm compared to that of random recoders. It was also observed that the light recoders outperformed the heavy recoders as well the intra-session recoders.
The packet size has a big influence on the EED, as discussed in [29]. Hence, the experiment was repeated with the packet size set to 512 bytes, for which the observed results are presented in Figure 3. It was observed that the time taken with this packet size was longer for each of the recoder types compared to their 1024 counterparts.

Figure 3 Average end-to-end delay observed for the Constant Position mobility model with packet size set to 512 bytes.
Figures 4 and 5 display the results when the mobility model applied was Gauss Markov with varying packet sizes and the different recoder types used both
random recoders as well as the DRR algorithm. The light recoders proved to perform better than the other two and the recoders showed better performance when the DRR algorithm was applied compared to random recoders. As randomness was introduced in position, speed and direction here, it was observed that some experiments resulted in successful transmission for light recoders but unsuccessful transmission for heavy recoders and vice versa. Hence, as a penalty for unsuccessful transmission given uniformly to all unsuccessful transmissions, a value of 99 was set (as infinity cannot be involved when averaging the EEDs) and therefore the average EEDs shown in the graph are higher. PDRs of such transmissions are noted as 0. The average of PDRs of the scenarios observed are shown in Table 3.

Figure 4 Average end-to-end delay observed for the Gauss Markov mobility model with packet size set to 1024 bytes.

Figure 5 Average end-to-end delay observed for the Gauss Markov mobility model with packet size set to 512 bytes.
| Mobility Model | Algorithm | Packet Size (In Bytes) | HR_PD R | LR_PDR | IS_PDR |
|---|---|---|---|---|---|
| GM | DRR | 1024 | 68.75 | 70.69 | 63.44 |
| GM | Random Recoder | 1024 | 55.92 | 52.81 | 47.5 |
| GM | DRR | 512 | 50.12 | 60.1 | 60.54 |
| GM | Random Recoder | 512 | 47 | 26.96 | 52.5 |
| CP | DRR | 1024 | 80 | 82.5 | 80.63 |
| CP | Random Recoder | 1024 | 62.5 | 62.5 | 62.15 |
| CP | DRR | 512 | 87.33 | 77.28 | 76.49 |
| CP | Random Recoder | 512 | 54.26 | 56.94 | 55.74 |
Table 3 Packet delivery ratio observed in scenarios.
5 Discussion
The results of the work discussed above were compared with the results declared in a similar work [30]. This article was chosen because the experimental set-up used was similar to that of DRR. The authors did an experiment with network simulator Ns3. They introduced random mobility to the nodes. The claim for the PDR parameter was that the initial value was 87% but over time it declined to 68%. A similar behavior was observed in DRR with LR for an initial value of 82.5%, which declined to 70.69%.
The initial end-to-end delay observed in [30] was 3.76E+10 ns, i.e., 37.6 seconds, which gradually peaked to 9.07E+10 ns, i.e., 90.7 seconds, whereas the initial EED observed when the DRR algorithm was applied with LR was 19.02 seconds and the maximum observed was 40.73 seconds. The initial EED observed when the DRR algorithm was applied with HR was 26.1 seconds and the maximum observed was 58.18 seconds. This shows that the DRR algorithm had better performance when applied in a VANET scenario.
According to the results observed and presented in the Result section of this work, DRR also outperformed the results presented in [31], where a similar scenario was set up and the experiment was conducted with AODV without dynamic recoder.
6 Conclusion
Some important observations were made from the implementation of the DRR algorithm. When the nodes were within range of each other, both transmissions were successful with direct transmission without recoders. When they were not within range of each other, the following three environments were observed:
- 1. One common node in the paths of both transmissions. This is a best-case environment, as the selected recoder is known to both sources and both transmissions are successful.
- 2. No common nodes both transmissions use completely different paths for transmission. In this case, the first transmission is successful as the recoder is selected from Path-1 according to the algorithm. The successful completion of Transmission-2 varies with a probability of 0 to 1 due to the randomness exhibited by the position and the mobility of the vehicles, and the selected recoder is not in the planned path. Suggested modification: anytime when there is no common node and two different paths are used, it is better to use Intra Session NC with two different recoders (multiple relay concept).
- 3. No common nodes, one of the transmissions say Path-1 exhibits more than one hop and Path-2 shows one hop. In this case, Path-1 with the selected recoder shows a success percentage nearing 100. The successful completion of Transmission-2 varies with a probability of 0 to 1, as direct transmission is skipped for the sake of the combination of packets in the recoder. Suggested modification: direct transmission can be done in Path-2 and intrasession can be applied to Path-1.
With these observations, some possible future extensions for this work can be listed: real-time test beds can be used and live streams can be applied to the designed model and tested; parallelism can be introduced in all phases and the delay experienced can be further reduced; with the same environment run on GPU machines, better results can be achieved; multicasting of data in addition to unicasting can be done.
With these suggested modifications, a new extended version of DRR can be implemented in future.
Some limitations of this work should be noted. The experimentation was done considering only two mobility models; other recommended models for VANETs may be applied in future. Real-time data input may make the experimentation provide results that are closer to real world environments.
