MCNC: Data Aggregation and Dissemination in Vehicular Ad hoc Networks Using Multicast Network Coding

Nowadays, more and more APs are deployed for the wireless access. The roadside APs are able to improve the bandwidth of VANETs. In this paper, we design a Multicast Network Coding (MCNC) method to aggregate and disseminate data in VANETs. It is appropriate for the areas where APs have been deployed but cannot cover the all range of vehicles movement. Data transmission is divided into 3 stages in MCNC. Network coding, multicast aggregating, and decoding are implemented in the 3 stages, respectively. Simulation results show that MCNC is able to cut down 2/3 overhead messages of Epidemic when the cover area of the APs is only 1/5. Its loss rate and delay are lower than the other methods. We also discuss its benefit for the deployment of VANETs.


Introduction
Vehicular networks are usually regarded as a class of adhoc networks, where mobile nodes are vehicles exchanging data with each other. Vehicle can communicate with nearby vehicles when their distance is less than the communication range. Data are delivered among vehicles via Vehicleto-Vehicle (V2V) protocol. Vehicular Ad hoc Networks (VANETs) will diverse applications associated with traffic safety [1], traffic efficiency [2], entertainment, file sharing [3,4], and so on [5]. However, vehicles move at different speeds and form dynamic networks over time. VANET changes so fast; it is often difficult to find a path between a pair of vehicles using ordinary ad hoc routing protocol. Epidemic is the high reliability protocol, but it will waste too much bandwidth and reduce the scalability of networks [6].
Deploying infrastructures is a method to improve the reliability of data delivery. Intelligent VANET is a way of integrating on multiple wirelesses such as IEEE 802.11, 3G cellular systems, and IEEE 802.16e in vehicular networks [7]. Vehicles communicate with roadside infrastructures via Vehicle-to-Infrastructure (V2I) protocol. The infrastructures are connected via the wired networks and are able to buffer more data than vehicles. The experiments in [8] show that the deployment of infrastructures can bring up to the improvement of performance in delivery ratio. With the increasing use of smart phones, 3G cellular systems become a popular infrastructure, but the research in [9] suggests that cellular data bandwidth is likely to remain limited and expensive. With the recent development of the IEEE 802.11p [10] 5.9G DSRC/WAVE radios, Wi-Fi based Access Points (APs) on the side of road will be more as the infrastructures of VANETs.
Most applications of VANETs focus on planning vehicle paths, such as detecting remote road conditions [11]; sensing traffic lights [12]; avoiding rear collisions [10]. These applications require disseminating data to part of vehicles in some regions. The receivers are dynamic and cannot be identified by senders because of vehicles constant movement. It is impossible that infrastructures signal covers all of regions reached by vehicles. Multihop communications among vehicles are necessary to destinations or infrastructures. So routing packet remains to be a challenge in such network architecture which integrates V2V communication with V2I communication. However, vehicle movements are constrained to roads. Even though lots of vehicles are equipped with GPS receivers or smart phones to define their routes, their movements are probably constrained to preset paths. It is another characteristic of VANETs that it is possible to predict the vehicle movement [13]. In this paper, we present a Multicast Network Coding (MCNC) method to aggregate and disseminate data in VANETs. Data are divided into short fixed-size blocks in source vehicle and disseminated to the other vehicles. The vehicles nearby APs implement network coding and send the coding blocks to APs. The blocks are aggregated and recoded among APs multicast tree. Finally, the blocks are sent out in APs that the destinations are predicted to close. The experiments show that MCNC is able to reduce overhead messages and enhance the reliability of transmission. MCNC is designed according to the former characteristic of VANETs and appropriate for the areas that Wi-Fi based APs have been set up but cannot cover entirely.
The remainder of this paper is organized as follows. In the next section, we discuss the related work. Section 3 presents the description and implementation of the MCNC. The evaluation and analysis of the MCNC are showed in Section 4. The paper is concluded in Section 5.

Related Works
In recent years, many studies focus on deploying infrastructures in VANETs. It is proved [8] to bring up the improvement of data delivery. Cabernet [14] proposes onehop Internet access schemes using open Wi-Fi based APs in VANETs. In [15], Bychkovsk et al. analyze the feasibility that vehicles can access open Wi-Fi based APs providing the wired network connections in VANETs. They define the prime method of data delivery from APs to vehicles. Throwboxes [16] as infrastructures can hold packets and later forward the packets to other nodes. It helps relay messages between mobile clients in a Delay Tolerant Network (DTN) and saves power in scheduling sleep. MAR [17] as an infrastructure is a commuter router that exploits wireless diversity to provide improved data for users. It can be placed in moving vehicles to enable high-speed data access. DP [18] on the roadside is proposed to address the data dissemination in VANETs. Data poured from the source are buffered and rebroadcast at the intersections. It focuses on data dissemination, and no buffer allocation scheme is proposed. MobTorrent [19] is a framework designed for vehicles accessing to roadside Wi-Fi APs. Vehicles inform the selected APs to fetch data. The scheduling algorithm in MobTorrent replicates the data on mobile helpers.
A few studies have been attracted on utilizing vehicle trajectory information for VANETs of deploying APs. More and more vehicles are equipped with satellite navigation systems. With increasing usage of smart phones like Apple iPhone or Android phones, navigation systems based on smart phones are popular. Vehicle trajectory information has become a valuable input for data forwarding. In [20], a protocol is proposed to enable efficient multihop routing capabilities. It fully supports two-way communications between mobile vehicles and APs. Vehicular mobility is predicted on the information offered by the navigation system in terms of final destination and path. TSF [21] considers a reliable, efficient APs-to-vehicles data delivery by minimizing the packet delivery delay. Data delivery is performed through the computation of a target point based on the destination vehicle's trajectory information. Roadside APs can be selected as relays where destination vehicle is expected to pass by. Selecting AP optimally minimizes the packet delivery delay. TBD [22] utilizes vehicle trajectory information to improve communication delay and delivery probability for vehiclesto-APs destination communications. A delay model of packets routing along roads is set up. The path with minimum delay can be found with the help of the real-time traffic condition information.
There is also some research leveraging roadside parking to distribute data in VANETs. ParkCast [23,24] assumes that the parked vehicles are grouped into a line cluster at roadside. It defines the communication between moving vehicles and parked ones. The wireless device on vehicles has a battery for supporting the communication in parking. APs are replaced by parked vehicles to delivery data in VANETs. PASS [2] is a parking-lot-assisted carpool method. It optimizes transport utilization by sharing ride among drivers. A user can get vehicles information from the drivers in PASS. The drivers decide whether to provide carpooling services or not. In fact, many V2V protocols are also able to be used as vehicles-to-APs communications. Epidemic Routing [25] is the first proposed to reliably deliver messages in intermittently connected networks. It is not optimized for the VANETs. PRoPHET [26] was proposed to select the next hops using the history of encounters. Both of them are used as the typical protocols of VANETs and will be analyzed in our simulation.
Network coding has been proven to be a promising approach that can improve the reliability of communication. A few studies focus on using network coding in VANETs. CodeTorrent [27] is a file swarming protocol based on network coding for VANETs. It deals with typical mobile network issues such as dynamic topology and intermittent connectivity. CodeOn [28] is a push-based scheme for popular content distribution in VANETs. Data are actively broadcasted to vehicles from APs and further distributed among vehicles. It uses network coding to reduce the lossy of data. In [29], M. Sathiamoorthy et al. analyze the benefits of distributed storage using erasure codes for file sharing in VANETs. Distributed storage codes not only offer the reduction of bandwidth occupied by large file copy but also provide significant reduction of cost in VANETs. In [30], Palma et al. propose a data dissemination technique based on Fountain codes. Its goal is provide the real-time service in a lossy vehicular network. It achieves an improvement on arrival times of packets towards destination vehicles. The works adopt network coding to handle content distribution in VANETs and are referred for coding and transmission of this paper.

MCNC and Its Implementation
The process of information delivery is similar in the network architectures which integrate V2V with V2I communication. The sources firstly forward data to infrastructures in multihop communications among vehicles. Data are transmitted in wired networks formed by infrastructures and then are sent International Journal of Distributed Sensor Networks 3 from a few infrastructures to the destinations in multihop wireless communications. In our MCNC method, we define the 3 stages as ToInfra, BeInfra, and ToVehic.
In this section, we present, respectively, the method of data transmission on the 3 stages of MCNC. It firstly composes network coding and multicast to aggregate data in VANET.

ToInfra Stage.
Data dissemination is unreliable when information is announced by the source far away from infrastructures. Before the vehicle is able to contact with infrastructures, the generic routing algorithm for VANETs is used among vehicles. We select the epidemic routing in this moment to describe our method. When vehicles sense a route to infrastructures, they will aggregate and send out data in the way of network coding. If data meet part of destinations in epidemic routing [26], they will be received directly by these nodes.
The communication between vehicles and infrastructures needs to be completed in a very short time when vehicles are moving fast. In order to transmit data integrally and realize the network coding operation, the source data are divided into a number of blocks that are the same as maximum length. Every data block contains a vehicle ID and a block ID. ( , , ) is denoted as the block sent by vehicular . t is the time to the block timeout discarded. Every block has the live time to avoid heavy network load. The current value of is taken to next hop to continue reducing over time. Block is discarded while = 0.
The live time max is the maximum values of t. t is counted down at max while the block is generated from the source. max can be computed by (1) where is the class of the packet QoS and 0 is the constant adjusting max to proper value. Int() is the integral function. Flow( ) is the current vehicle flow and given by Sum( ) is the sum of vehicles that communicate with this vehicle in time . The coefficient is a constant value between 0 and 1, representing the degree of Flow( ) decreases. The greater the value, the faster the older affects are depreciated. Infrastructures send active messages periodically. is the TTL of active message. = − 1 when the message is forwarded by a vehicle. Vehicles send the active message immediately after receiving it and then do not send the same message. The active message will not be forwarded any more while = 0. max is the TTL of the active message sent by infrastructures. max can be computed by (3) as follows: where is the signal intensity sent by infrastructures. The higher the power of infrastructures, the more the TTL of active message will be. Sum( ) is the sum of vehicles that communicate with this infrastructure in time t. V is the velocity of these vehicles. The more the vehicles are connected by the infrastructure and the faster the vehicles move, the less the TTL of active message will be. 1 , 2 , and 3 are the weights of the former parameters, respectively. max = 1 while the value obtained by (3) is less than 0. max = 15 while the value obtained by (3) is more than 15. In other words, 1 ⩽ max ⩽ 15.
Linear network coding begins immediately when the vehicle receives the active message of infrastructures. The blocks ( , , ) where > 0 will be encoded and sent to infrastructures. In order to reduce the complexity of decoding operation, the dimension of encoding vector is taken a fixed value . A row vector contains consecutive blocks sent by the same vehicle. The blocks IDs in the vector are from . . . ] .
is the local encoding matrix of the vehicle receiving the active message. All of elements in the matrix originate a pseudorandom sequence produced according to the vehicle ID. We reform the Fibonacci Algorithm [31]

Relay
Have active messages from the infrastructure Blocks sequence. Seq k denotes the pseudorandom sequence and is given by where VID source is the unique identification of the source vehicle and VID 0 is the unique identification of the vehicle executing network coding. The element in the matrix is gotten from Seq k and given by is the global coding matrix with × dimension and can be denoted as follows: ] .
Implementing linear network coding on the blocks from the vehicle is formalized as computing the product of two matrixes. It is denoted as The dimension of matrix ( ) is × , and its element ( ) can be computed by The blocks sourced from the different vehicles have the different opportunity if they send the whole matrix ( ) successively. It is possible that the blocks sent later are not able to reach infrastructures. The movements of vehicles make the path unreachable. In order to make the equal opportunity for every vehicles transmitting information, the vehicles receiving active message only send an element of ( ), then send an element of ( + 1), and so on. An infrastructure can receive multiple network codes that source from the same consecutive blocks but are computed by local encoding matrix of different vehicles (see Figure 1). Receiver can decode the blocks of row completely when ( , ) ≥ . ( , ) denotes the number of nonlinear codes received by the infrastructure and encoded by the row blocks of the vehicle . The element of ( ) in the same row is the nonlinear codes of the same blocks. The other vehicles also encode the blocks and send to the infrastructure. So the receiver maybe decodes the blocks completely when a vehicle only sends a few front elements of a row. The vehicle will send elements of coding matrix by columns. The infrastructure will send Break messages to the coding vehicles when ( , ) ≥ . The vehicle breaks off network coding process when receiving Break messages.
When the vehicle on ToInfra stage receives a message, its process is formally shown in Figure 2.
Network coding algorithm on Figure 2 is described in Algorithm 1.

BeInfra Stage.
Infrastructures are connected by wired media. They consist of wireless APs, network nodes, servers, and so on. It is able to guarantee the reliability and the real-time of data transmission among infrastructures. Their group members are all or one node. When wireless AP receives the coding blocks from vehicles, it will send these blocks to another node according to their destinations. The node is the root of multicast tree. The root aggregates and recodes these blocks according to their destinations and then sends them to egress APs following the tree. Creating tree for every multicast group will make more forward states on middle node and cause more delay in data transmission. We aggregate all of multicast groups in a few share trees to resolve the former problem on BeInfra stage.

Constructing Multicast Shared
Tree. The multicast group means the set of the APs leading to members rather than the set of the members themselves. The domain of infrastructures contains at least one Network Manager Server (NMS). It controls the computation of all shared trees. NMS maintains a link-state database describing the topology of infrastructures.
There are one ingress router and multiple egress routers in a shared tree. The shared tree is rooted as a network node and leafing as egress APs. NMS selects routers as the root and leaves and computes the topology of shared tree. We partition all APs into subsets and cluster the members of all multicast group in the subsets in here then select the leaves and root of the shared tree. The method includes the detailed steps as the following.
(1) Partitioning Aps. All APs are partitioned according to the topology of infrastructure networks. Clustering algorithms are required in here. We use fuzzy clustering algorithm to partition APs into subsets. First, denotes the relation strength between AP and j and is given by is a constant to adjust the weight of and , and ≥ 0. is the minimum delay (or the shortest path length) from AP to , and is the hop count of the path. The value of is concerned with the shortest distance between two APs. The less the distance is, the more the value is. The relational matrix is defined as the following equation: where is the total number of APs in VANETs.
In order to prove a fuzzy equivalence relation, we must demonstrate that is reflexive symmetrical and transitive [32]. is reflexive because all its diagonal elements are equal to 1. Suppose all links are dull-duplex in here, and their shortest path sourced either extremities is the same between AP and , and so = , = ( ) −1 , is symmetrical. All of the other elements are less than diagonal elements, and so the inner product of is computed by is transitive because ( ) 2 ⊆ . Therefore is a fuzzy equivalence relation.
The partition of APs set can be got from -cut sets of the fuzzy equivalence relation . The cut set is denoted as ( ) , and the value of its elements is obtained by the following equation: The set of All LERs are partitioned into many subsets. The belongs to [0, 1]; the less the value of is, the more the number of subsets is.
(2) Aggregating Members. NMS gives an identifier to every sub-set in the infrastructures domain and finds members of every multicast group according to the route-state tables of APs. Multicast member is replaced with the ID of sub-set including the member, and the multicast group G (member 1 ,. . ., member ) is transferred to (ID 1 ,. . ., ID ), which is defined as Class Group. The same IDs are merged into one element in . All multicast groups are indexed in and saved as their registration in NMS. NMS contrasts the in term of sub-set ID. The number of with the same ID is denoted as the compression parameter . If is more than a specific threshold ( ⩾ 2), those groups are aggregated to use a Class Group.
(3) Selecting Leaves. There is only one leaf for a shared tree in every sub-set. The leaf is an AP in or out the sub-set. NMS finds the multicast groups, which are aggregated to one Class Group . Then NMS divides all members of those multicast groups into Vertex set according to sub-set ID. The members in same and sub-set are placed a Vertex set. The Vertex set is linked into a sub-graph of the infrastructures domain. The nodes of the sub-graph consist of all APs in the Vertex set and the routers as intermediate nodes.
We select the median point of the sub-graph as the leaf of shared tunnel. The parameter , which denotes the sum of distances from a node in the sub-graph to all members of Vertex set, is computed by where min ( , ) is the length of shortest path between node and member j and is the number of members in the Vertex set. The parameter ( , ) is the bandwidth that multicast group spares member . The compression parameter is the number of multicast groups aggregated into the shared tree.
( , ) = 0 when multicast group does not include member . NMS selects the node with the minimum parameter as the leaf of shared tree in the sub-set.
(4) Selecting Multicast Root. The root of shared tunnel is selected by the method similar to the selecting leaves. It can be any node in the infrastructures domain. The parameter , which denotes the sum of distances from a node to all sources of multicast group aggregated into the tree, is defined by the following equation: where min ( , ) is the length of shortest path between node and source j and is the bandwidth occupied by multicast flow from source . NMS selects the node with the minimum parameter as the root of the shared tree. So the of root must satisfy the following condition: N is the number of nodes in the infrastructures domain.
(5) Computing Multicast Shared Tree. NMS computes the shared tunnel tree for the Class Group which connects the selected root and leaves. It can use any existing multicast tree algorithm [22] (e.g. the Dijkstra's algorithm, Steiner tree-based heuristic routing algorithm with the objective of minimizing the cost on multi-QoS constraint). How the multicast tree is computed in the algorithms is outside the scope of this paper.

Recoding on Root.
APs send coding blocks to the roots of multicast shared tree according to their destinations. The root discards the same coding blocks and send Break messages to the coding vehicles when ( , ) ≥ . Then the root will recode to the coding blocks with the same destinations and sources. The recoding blocks are transferred to the APs along the multicast shared tree. The APs in the tree cover the area where destinations vehicles arrive at or will arrive at. nonlinear codes of blocks in the same row are selected to recode with the global coding matrix, which is denoted as . The matrix is unique and constant to the infrastructures and need not be transferred on VANETs. All vehicles have the duplicate copy of and decode the recoding blocks using . All of elements in originate a pseudorandom sequence. Seq f denotes the pseudorandom sequence and is given by is an intermediate variable to produce the sequence. Sm 0 can be designated by the VANET administrator, and its The dimension of matrix is × , and its row sum can be computed by where Pr( ) is the probability that blocks arrive at destination from the infrastructure in time t; it can be designated by the VANET administrator according to the APs density. is a guaranteed factor, where ≥ 2. Implementing recoding on the coding blocks is formalized as computing the product of matrixes. It is denoted as ( ) is the nonlinear rows in matrix ( ), and they are received and selected by root. The dimension of matrix ( ) is × , and its element ( ) can be computed by The process of recoding on root is described in Algorithm 2.

ToVehic Stage.
The leaves on multicast tree are the APs that may send blocks to destination vehicles within the designated time max . Their communication ranges cover the location where vehicles are passing or will pass. The blocks are immediately sent out from APs after being recoded completely. Their live time = max . The function and computation of live time are the same as the ToInfra stage. AP stops sending the recoded blocks of the same row when it receives the ACK message from vehicles and then returns the message to the root of multicast tree. AP also stops sending when the recoded blocks are sent completely but does not return the ACK message.
The vehicles buffer and send the blocks which ̸ = 0. The destination vehicle will return the ACK message when it receives the nonlinear recoded blocks of the same row and then begins decoding. The method of reducing packet includes the detailed steps as the following.
and are the values that the received number of rows subtract the number of row in ( ) and ( ) , respectively.
(2) Decoding the Recoding Blocks. The designated row of ( ) is constant to a VANET. The row of ( ) is variable because it changes with the vehicle IDs of source and coding. We do not decode the ( ) to ( ) directly but decode two blocks successively, because the constant matrix ( ) is easy to preprocess. The recoding blocks can be decoded by the below equation:  Matrix inverse is not usually used in the decoding process because it is complex and can exhaust the computing resource. In our case, ( ) is the subset of constant matrix . All subsets of inverse can be precalculated in the mainframe computer. Their inverse matrixes are stored in vehicles as the table. The space occupied by the tables is * 2 . This is storable to the vehicle. In this step, vehicles need not compute the inverse matrix, and they can find quickly the inverse matrix in the table according its rows sequence. So the decoding of the recoding blocks can be finished rapidly in (26).
(3) Decoding the Coding Blocks. Destination vehicles can decode ( ) to X(p) in any decoding algorithm on the step. We improve the step in preprocessing ( ) matrix. To obtain ( ) matrix, a variant of the Gaussian elimination is used. A typical Gaussian elimination or LU decomposition restricts us to wait until we decoded the recoding block and had the × coefficient matrix [33]. However, decoding operation is started early in our case, and ( ) is preprocessed as the first block arrives.
( ) is confirmed of the sequences of the rows and the IDs of coding vehicles on the root. The first block can carry this information to the destination vehicle. Destination computes the ( ) matrix in advance. It preprocesses the ( ) in Gaussian elimination while receiving ( ) and records the processing steps. These steps contain the processing order of rows and the multiplying coefficients of every row. After ( ) is decoded to ( ), the vehicle decodes ( ) in the steps of preprocessing ( ) . Processing objects are only the elements of ( ), and decoding ( ) is speed-up.

Evaluation
In this section, we generate the movement of vehicles on the ONE simulator [34] and evaluate the performance of our MCNC method in contrast with Epidemic, PRoPHET routing, and generic Wi-Fi.

Simulation Setup.
The ONE simulator uses the Helsinki city map and generates node movement and routing [35]. We extract the area with the range of 4000 m × 3000 m from the map and configure two types of network nodes. Vehicle node moves on the map at the speed of 10 to 50 km/h and waits time of 10 to 120 seconds to stop communication after arriving to the destination. The vehicles choose random destinations on the map and move there following the shortest path. AP node is static and communicates with other APs in wired links. The radio range is configured as 200 m, and the MAC protocol is IEEE 802.11. Epidemic replicates messages to all encountered nodes that do not have them yet. PRoPHET only sends messages to the nodes that have the highest chances to deliver the messages to the destination. They are two typical routing protocols for ad hoc networks and have been implemented by the users of the ONE simulator as add-ons. In generic Wi-Fi, vehicles data must be delivered by APs in the radio range, and the routing capability of vehicles is disabled.
Two scenarios are generated in the evaluation. A sparse network with 30 vehicles simulates the rural area. A dense network with 150 vehicles simulates the urban area.
The other parameters of MCNC method are listed as follows. The TTL of the active message max = 2 or 5. The live time of blocks among vehicles max = 300 seconds. The dimension of encoding vector = 10. The number of APs is variable.

Performance
Analysis. The measured parameters on the simulator are the block loss rate, transmission delay, and overhead messages. Block loss rate [13] is the ratio of lost blocks to the sending blocks from sources. Transmission delay is the time of a block delivered from the source to all destinations. Overhead ratio [13] is the effective blocks as the percentage of all forwarding blocks among vehicles. They synthetically reflect the performance of MCNC. The simulation lasts for 30 minutes. The 10 sources in 2 scenarios are selected to generate flows for the evaluation. The average values of the 3 parameters are presented as the basis for analyzing their performance. Figure 4 shows the average blocks loss rate in the sparse scenario. It is easy to see that as the number of APs increases, blocks loss rate decreases in the five data plots. When the number of APs is 80, the radios of APs cover the whole area and blocks loss rate is 0 for all the method. Epidemic has the less loss rate than the others, since it sends copies to all encountered vehicles and transmits successively in the greatest probability. Generic Wi-Fi is the most loss rate and cannot be used while APs only cover part of area. PRoPHET also cannot delivery many blocks to the destinations in the sparse scenario. MCNC is close to Epidemic in blocks loss rate. When the cover area of APs is 1/5 (the number of APs is 16 in Figure 4), the blocks loss rate of MCNC is less than 0.    will increase weakly while max is changed from 2 to 5. With the increase of hops after network coding and aggregating, the block loss rate only increases 0.04 when the number of APs is 16. Figure 5 is similar to Figure 4. Generic Wi-Fi is unchangeable in different scenarios. Figure 5 only shows a part plot of generic Wi-Fi. The other methods all decrease their blocks loss rate in dense scenario. MCNC in the scenario is closer to Epidemic than the sparse scenario. When the cover area of APs is 1/5, the blocks loss rate of MCNC decreases to less than 0.08. The changes of max do not have strong influence on the transmission reliability of MCNC.  Figure 6 shows the average delay of blocks that are transmitted successively to destinations in the sparse scenario. Generic Wi-Fi only deliver few blocks to destinations while the number of APs is less than 20. Its delay changes randomly and does not associate with the number of APs and vehicles. The other methods all decrease the transmission delay with the increase of APs. PRoPHET only takes one of encountering vehicles as the next hop. Although the vehicle has the highest chance to destinations, it maybe moves more time to send block. So the delay of PRoPHET is more than the other methods. MCNC is also near to Epidemic in delay. Their delays are same in no AP setting. MCNC use APs to delivery blocks, but increase in little delay. When the cover area of APs is 1/5, the delay of MCNC is more 8% than Epidemic, and it can reach the target of transmission real-time. The changes of max have some influence on the delay of MCNC. The delay increases less than 10% when max is changed from 2 to 5.
The delays of four methods in dense scenario are shown in Figure 7, which is similar to Figure 6. They all decrease their delays in the dense scenario. Their delays are closer than the sparse scenario. When the number of APs is 16, the delay of MCNC is more than 6% Epidemic, PRoPHET is more than 22% Epidemic, and the delay increases less than 3% with the change of max from 2 to 5. Figure 8 shows the average overhead radios, which are the same in all test scenarios. Generic Wi-Fi does not generate overhead messages on any conditions, and its values are always least in four methods. Epidemic generates most overhead messages, which rise with the increase of APs, since AP also sends Epidemic message to the other vehicles. For this reason, PRoPHET also generates more overhead messages while setting more APs. MCNC has the same overhead ratio with Epidemic in no AP setting. With the increase of the number of APs, the overhead messages begin to decrease rapidly in MCNC. The rate of decrease is diminished after  the cover area of the APs is more than 1/4 (the number of APs is 16). MCNC reduces the overhead message after network coding and aggregates the flows in multicast share trees on infrastructures. So its aggregating ability is obvious.
The changes of max have huge influence on the overhead ratio of MCNC. The greater max is, the less the overhead ratio is and the more the aggregating ability is. With max changing from 2 to 5, the overhead ratio cuts down more than 1/2 after the cover area of the APs is more than 1/4. If max and the number of APs satisfy the requirements, blocks can be coded and sent to APs after leaving the sources. The overhead ratio of MCNC ( max = 5) is 1200% when the cover area of the APs is 1/5. This value is the 1/3 of Epidemic and even less than PRoPHET. So the 2/3 overhead messages are cut down, and the scalability of VANETs is improved.
Given all that, MCNC is able to achieve lower overhead ratios than both Epidemic and PRoPHET. Its blocks loss ratio and delay are tiny higher than Epidemic but lower than the other methods. It aggregates greater part of overhead messages using multicast and network coding. Installing APs in part of area can improve the performance of MCNC in any scenario. MCNC is appropriate for the areas that APs have been deployed but cannot cover entirely.

Conclusion
VANET can use APs as the infrastructures to improve its performance. Our works aggregate messages in multicast trees on infrastructures networks mainly consisted of APs and implement network coding on the vehicles that the hop to APs is less than max . We divide data transmission into 3 stages: ToInfra, BeInfra, and ToVehic. Network coding, multicast aggregating, and decoding are implemented in the 3 stages, respectively. Data dissemination uses the generic routing algorithm for VANETs before network coding.
The experiments show that our MCNC is able to cut down 2/3 overhead messages of Epidemic when the cover area of the APs is 1/5. The costs of aggregations are a tiny improvement of delay. The blocks loss ratio and transmission delay of MCNC are also lower than the other methods. The performance of MCNC is similar in sparse scenario and dense scenario. In many places, Wi-Fi based APs can be deployed, but their radios cannot cover the whole area of vehicles movement, and MCNC will exert the promoting affluence on the development of VANETs.