Parked Vehicles as Cluster Heads and Gateways for Efficient Routing in VANET

Vehicular Ad hoc Network (VANET) refers to wireless connection of a large number of moving and stopped cars to transfer some knowledge about some events (e.g. accident, traffic jam, weather condition, etc.) to the passengers and drivers. The mobility of vehicles in unexpected directions destroys the network links and decreases the stability of the route between vehicles. This problem leads to repeat the routing discovery and maintenance operations and as a result increases the overhead and delay. Several classes of routing polices were proposed such as flat, hierarchical, cluster based, etc. Moreover, in the cluster based routing protocols, number of cluster head selection and cluster formation schemes have been suggested. Unfortunately, the stability of cluster heads and links was not satisfied. This paper aims to solve this problem by producing a new clustering formation technique. This technique selects the parked and stopped vehicles to work as cluster heads and gateway nodes with high stability. Moreover, a new cluster based routing protocol to build optimal paths with maximum stability and minimum delay called CRSD depending on optimization model is suggested. Several simulation scenarios with various mobility speeds and numbers of stopped and parked vehicles showed that CRDS is better than link reliability-based clustering approach (LRCA) and cluster-based VANET oriented evolving graph (CVoEG) according to network overhead, average end to end delay, path stability, and packet delivery ratio.


1-Introduction
Vehicular ad hoc Network (VANET) or as it is named classic VANET is an amazing network used to connect vehicles that are owned by citizens, fire-stations, police (police patrol), hospitals (ambulances) and etc. [1]. These vehicles may be moved at different speeds (inside the cities or on highways) or parked beside the highways, branch roads or at parking lot [2]. Each vehicle talks other vehicles using vehicle to vehicle (V2V) connection style. There is a new type of VANET named hybrid VANET is employed by connecting vehicles with each other using V2V and with the roadside unit using vehicle to infrastructure (V2I) communication mode [3,4]. Generally, VANET depending on vehicles can be used in various applications such as environmental applications (to reduce the CO 2 generation), safety (to exchange information about accidents, weather, etc.) or convenience (to exchange information about oil stations, restaurants, etc.) or among drivers and passengers [5,6]. Moreover, it can be exploited in the military field to exchange information between the vehicles and soldiers [7,8].
It is right that VANET represents a significant class of mobile ad hoc network (MANET) [9], but it has a special feature (i.e. energy availability in vehicles) makes it a unique network and differs from MANET [10]. However, like the MANET; it suffers from a number of challenges such as un-stability of links, routing, lack of bandwidth, etc. [7]. Mobility of vehicles at high speed creates a high dynamic topology and makes VANET more difficult to be deployed as compared to MANET. Therefore, several MANET's strategies are not suitable for VANET [11].
Computing the best route from source to the destination according to some parameters is called routing process [12]. With the mobility of vehicles, computing the best route is the largest challenge in VANET and can be done by different types of routing policies which are categorized into cluster based and topology-based [13]. The former type is divided to proactive and reactive protocols [14]. The proactive protocols compute the route from each node to all destinations frequently even there is no need for that [15]. With high mobility of vehicles, the overhead and bandwidth consumption of using these protocols will be huge. Reactive ones are used only when there is a request to send data from a node to another. The time of computing this route increases the delay of delivering the data to the destination [7,15]. The later type is used to organize the network as a set of clusters [16]. The members of each cluster communicate with each other to select one node to work as a leader called cluster head and some nodes to be as a bridge to connect with other neighbor clusters named gateways while the rest nodes are ordinary ones [17]. These protocols may increase the network scalability. However, the mobility of vehicles destroys the clusters and the network link frequently [13]. Therefore, the problem of cluster based network is the need to re-build the clusters which increases the overhead and delay. Moreover, this increases the route failure and route maintenance cases which lead to high delay in transferring data to the target vehicles [7,13].
This article focuses on enhancing the route stability and the cluster based routing process in classic VANET to improve its performance. The contributions of this paper focus on the above problems as follow:  Producing a new clustering strategy depending on parked and stopped vehicles to build the cluster and select the cluster head, gateways and member nodes.  Suggesting a new cluster based routing protocol depending on optimization model to compute the route from source to destination with lowest delay.  Taking the priority of each link into consideration. The highest priority is given to the link with highest stability.
The paper is divided into the following sections: section 2 contains set of the previous related works. Section 3 shows the suggested clustering mechanism. Section 4 shows the method of gateway selection. Section 5 explains the produced routing protocol. Section 6 displays the simulation. Finally, section 7 shows the conclusions and future plans to extend this research work.

2-Related Works
There is a large number of routing protocols were suggested to enhance the routing operation in VANET. Some of them are topology based (i.e. reactive and proactive) while others are cluster based. The topology based algorithms were studied in several surveys [15,[18][19][20][21][22]. Therefore, this section focuses only on some of the clustering strategies and cluster based routing protocols. M. Bhaumik et al. [23] suggested a novel clustering routing technique depends on dividing the VANET into clusters with different sizes based on affinity propagation method, node and traffic speed and infrastructure kind. It aims to calculate the path with lowest time and reduce the total overhead. A. Sachdev et al. [24] exploited the clustering technique and suggested a routing approach for VANET using the firefly strategy to perform reliable warning message transmission among the cars. This approach selects the appropriate links when constructing a route to the destination using a number of specified simple rules. W. Farooq et al. [25] designed a system consists of multicast routing and cluster selection technique for VANET. The cluster election technique depends on the mobility speed and the cluster threshold value to establish high stable clusters. It aims to reduce the number of cluster heads switch operation of cluster members which reduce the overhead. The multicast routing protocol was suggested to deal with high dynamic feature in highway and urban environments. A. Abushour et al. [13] suggested three routing protocols. First one is the cluster-based life-time routing, which tries to enhance the average throughput and path stability in the bidirectional segment topology. Second one is intersection dynamic VANET routing technique which focuses on minimizing the delay and maximizing the throughput and path stability in the grid scenario. Final one is reduction protocol that was produced to mitigate the overhead of exchanged messages in the clusters by producing a strategy to compute the best numbers of the transmitted messages between the members and their cluster head. X. Ji et al. [26] suggested an algorithm named LRCA to select cluster heads, format the clusters and maintain the destroyed clusters. Also, they proposed a link lifetime-based neighbor sampling method to determine the unstable neighbors. Then, they suggested a routing algorithm of LRCA which determines the routes depending on the network condition. It assigns a weight for each road segment and computes the weight for each path. The path with minimum weight is the best and can be used to transfer the data. S. P. Ardakani [27] proposed a cluster based routing approach to improve the total performance of VANET by assigning an address for each car according to its mobility and location. Moreover, they applied a clustering technique named hamming distance which works in a distributed manner to create the suitable clusters. K. Aravindhan et al. [28] combined context and geographic clustering strategies and produced a hybrid one to minimize the control traffic and overhead. Then they proposed a destinationaware routing algorithm focuses the destination and the movement of the vehicle in determining the next forwarding vehicle in the path. P. S. Hamedani et al. [29] produced a reliable two-level routing strategy for cluster based VANET to reduce the situations of the link broken. It selects the strong link in the first level while applies the greedy technique to find the optimal path. This strategy depends on the direction, distance and velocity in selecting the suitable links. F. Abbas et al. [30] produced a cluster head selection approach depends on link reliability where each vehicle has the highest degree of link reliability will be chosen as a cluster head. Moreover, they exploited ant colony algorithm to produce new clustering-based multipath routing protocol. It chooses the optimal paths based on energy consumption, latency, throughput and reliability. S. Benkerdagh et al. [31] designed a cluster based routing strategy based on a real-time and rapid heuristic algorithm. Then, they proposed an efficient approach to handle the data by reducing the number of exchanging packets. Moreover, the authors produced a proposal to build stable clusters to enhance the bandwidth consumption and time of data delivery. D. Zhang et al. [32] designed a multi-hop clustering scheme to increase the cluster's stability and coverage. The determining operation of the cluster head is done depending on priority-based neighbor-following mechanism. Also, this mechanism chooses the best neighbors to connect to the same cluster. For maintenance of the cluster, the authors produced a merging strategy to increase the robustness and reliability of the cluster. Z. Khan et al. [33] proposed a new graph model named CVoEG model to enhance the communication reliability. It selects the cluster heads and members depending on the degree of link reliability. Moreover, it uses Eigen gap heuristic method to integrate the vehicles in a suitable group of clusters. After that, the authors presented a reliable routing protocol depending on CVoEG model to build the most reliable route to the target. S. A. Sophy et al. [34] built a cluster based routing strategy to reduce the number of links broken cases. They used the biogeographybased optimization model to select available network and ant colony optimization model to perform the vertical handover. Moreover, they used two-layer cluster-based routing approach to maintain the paths. D. Radhika et al. [35] designed cluster-based routing algorithm based on bagging ensemble x-means. This algorithm divides the network into groups and depending on the vehicles' density, velocities, directions, and distances to join each car to the nearest cluster. Then it selected the car with the lowest distance between the members play the role of cluster head. B. Azat et al. [36] proposed a clustering strategy depends on the vehicle's location, direction, speed, destination and number of its interests to determine the cluster head eligibility for each vehicle. In addition, the authors suggested a routing algorithm depends on the target vehicle to determine the forwarding vehicles in the path by computing the forward eligibility metric of the vehicles.

3-Suggested Clustering Technique
Clustering method is one of the essential factors to improve the performance of cluster based routing schemes in VANET. It can help in increasing the stability of the network and reducing the overhead and delay. This paper produces a clustering way tries to select the cluster head and gateway nodes depending on the parked and stopped vehicles to increase the network stability is proposed. Therefore, we assume that there are three types of vehicles: parked, stopped and moving. The speed of stopped and parked vehicles is equal to 0 for a specified time period t (we assumed in this paper that 0 < t ≤ 3 minutes) and equal to 0 for a specified time period more than 3 minutes, respectively. While the speed of moving cars is more than 0. The type of each vehicle during the cluster formation operation can be candidate gateway (CG), candidate member (CM) or candidate cluster head (CH). After the cluster formation operation, these types convert to the cluster head (H), member (M), gateway (G), or cluster head and gateway (HG). HG is the vehicle that can work as cluster head and gateway simultaneously. Table I contains other notations that are used in this paper. The distance between vehicle i and j. ϒ i It is a Boolean variable. Its value is equal to true if δ i =  and H i received HEAD message with ID_H differs from its ID_H. Otherwise, its value will be false.

ID-H i
The ID of cluster head that controls the vehicle i.
Moving vehicle, parked vehicle, stopped vehicle.  If there is a received HELLO message with flag = 1 or 2 (β ≠   α ≠  ), then each moving vehicle changes its type to CM. In this status, the selection of cluster head is done as follows:  If there is only one parked vehicle (let i) received HELLO messages with flag = 0 or 2 then it will change its type to H and sends an ACK message to all other vehicles which change their type to M. See Fig. 1 (a). Fig. 1. The cases of cluster head selection  If there are more than one parked vehicles, then each one will change its type to CH and sends CHECK message contains complete information about the candidate members to the parked vehicle(s) (CHs) using multicast transmission mode. Then, each CH will compare its candidate members with the candidate members of each one of other CHs. If (λ j  λ i ), then the parked vehicle i and j change the type to H and CM respectively. The cluster head i will send ACK message to the CMs which change the type to M (see Fig. 1 (b)). Otherwise (i.e. λ j  λ i ), then the vehicle i and j will work as cluster head and their type will be H. Sometime, there is a set of candidate members located with the coverage of more than one parked vehicles (i.e. µ i  µ j   ), then each cluster head will determine its members based on the distance between it and each candidate member using (1). For example, the candidate member k is located at distances d ik and d jk from the cluster head i and j respectively. Then, if d ik < d jk ; then k will be as a member in the cluster of i (see Fig. 1 (c)). If d ik = d jk , then will work as a member of the cluster that has lowest number of members to reduce the overhead (see Fig. 1 (d)). (2) If (β ≠   α ≠  ) Then If (β ≠  ) Then Go to Cluster Formation (Algorithm 2) (8) Else (i.e. P>1) (9) For each V i1 (10) Type (V i1 )  CH (11) V i,1 sends CHECK message (12) End For (13) For i = 1 to P If (λ i  λ j ,  j  β | i ) Then   If the is only one stopped vehicle, then it will work as cluster head and change its type to H. then it will send an ACK message to all other vehicles which change their type to M. Otherwise, If there are more than one stopped vehicles; each one will change its type to CH and sends CHECK message contains complete information about the candidate members to CHs using multicast transmission mode. If (λ j  λ i ), then the stopped vehicle i and j change the type to H and CM respectively. The cluster head i will send ACK message to the CMs which change the type to M. Otherwise (i.e. λ j  λ i ), then the vehicle i and j will work as cluster head and their type will be H. If (µ i  µ j   ), then each cluster head will determine its members based on the distance between it and each candidate member using (1).
 If there is no a received HELLO message with flag = 1 or 2 (β =   α =  ), then CH will be selected depending on the velocity where the vehicle with lowest velocity will change its type to H and sends ACK message to all neighbor vehicles which change their type to M. While r < Q do (6) For i = r to Q (7) If (µ i  µ i +1   ) Then (8) Determining µ i and µ i+1 using (1) (9) End For (10) r = r + 1 (11) End While (12) For i = 1 to Q (13) H i sends ACK to each vehicle  µ i (14) For j = 1 to C i (15) Type (V j )  M (16) End For (17) End If

4-Gateway Selection
After selecting of cluster head and determining its members, the cluster head and members (as shown in algorithm 3) broadcast a HEAD message contains its ID, velocity, location, flag, and ID_H (ID_H is the ID of its CH). If a member receives a HEAD message with ID_H differs from its ID_H, then it changes its type to CG and sends information about the vehicle(s) of another cluster using INFO message to its cluster head. If there is one or more than one parked or stopped vehicles of CGs, then the cluster head will store them as gateway vehicles and sends Notification to all of them. Each of these vehicles after receiving this Notification will change its type to G. Using several gateways can increase the availability and capacity of links between the clusters and distributes the load of data transmitting among these gateways. However, the cluster head gives the first priority to the parked vehicles while the second priority is given for the stopped vehicles to be as gateway (intermediate) nodes in routing operation of data. Note: the cluster head may work as a gateway vehicle in addition to its work as cluster head only if it receives a HEAD message(s) from the vehicles of the neighbor cluster(s) and there is no any parked or stopped vehicle gateway vehicle. If the above cases are not available (i.e. there is no parked or stopped vehicle and cluster head cannot work as a gateway), then it will select the vehicle with lowest speed as a gateway vehicle. If (δ i   ) Then (8) For j =1 to N i Then (9) Type (V j )  G (10) Else If (ϒ i = True) Then (11) Type (H i )  HG (12) Else (13) Determining CG with lowest speed. (14) Type (CG)  G (15) End If (16) End For

5-Suggested Routing Protocol
In this paper, we suggest that the used vehicular network is pure without any road side unit. Some vehicles are stopped and parked while others are moving. Each vehicle has GPS to determine its location coordination. To send some data with size T from a vehicle to another, there is need to compute the optimal route according to several parameters and constraints. Routing operation of data in VANET is one of the largest challenges. Mobility of vehicles is the main reason for the routing problem because it leads to break the links which need to be corrected. The correction operation increases the overhead and delivery time of data. At another side, some of the transmitted data between vehicles must be reached to the destination with minimum delay (e.g. police, emergency and firefight data). Therefore, delay and stability are important factors in building operations of routes. Thus, to calculate the best route to the destination, a new routing protocol named CBSD is suggested depends on an optimization model. Determining of the best route with minimum delay and maximum stability for VANET can be done by converting the whole network to graph with a set of vertices and links. We assume that each link has a priority represents the stability degree. The objective function is minimum as shown in (1), therefore, we give minimum priority value for the link with highest stability. There are several types of links: parked to parked vehicle, stopped to stopped vehicle, moving to moving vehicle, moving to parked vehicle and vice versa, moving to stopped vehicle, stopped to parked and vice versa (i.e. parked/stopped/moving to parked/stopped/moving vehicle). Certainly the link from parked to parked vehicle takes the maximum priority because it has the highest stability while the link from moving to moving vehicle takes the minimum priority.
To compute the route to the destination, the entire vehicular network is modeled as a graph with V and L represents the sets of vehicles and edges. Let x ij is a variable to explain is the link from node i to j is selected in the route or not. Let w ij , d ij and b ij points to the priority of the link from node i to j, delay of sending T bytes from i to j and remaining bandwidth in the link from i to j. Moreover, suppose that f ij is the size of data flow from i to j. The routing problem in this paper represents Mixed Integer Programming as follows: Objective: S.T.
x ij {0,1}, According to (1), the selected route must contain links with minimum delay and maximum stability. However, selection of optimal route to the destination subjects to several constraints. First (2), the volume of data from that can pass using the link from node i to j should be less than or equal to the remaining bandwidth. Second (3), to avoid the loop in the selected route; the transmitted data from node i to j cannot be sent back from j to i. Third (4), the volume of transmitting data from i to j must be more than or equal to zero. Fourth (5), the value of x ij will be 0 if there is no data is transmitted from i to j. Else, its value is 1. Fifth (6), the priority of each link can be more than 0 and less than or equal to 1.

6-Simulation and Results
To illustrate the behavior of the suggested clustering technique and routing protocol, NS-2-35 and SUMO-0.19.0 installed on Linux operating system are used in this paper. In the simulation environment, the total number of vehicles is 5000 separating in Baghdad city. CRDS is compared with LRCA [26] and CVoEG [33] in various simulation scenarios with several numbers of parked and stopped vehicles and speeds. LRCA and CVoEG were explained in the related works section of this paper. The simulation time for each scenario is 600 seconds and the execution is repeated for 15 times and then the average value is computed for each performance metric to increase the accuracy. The performance metrics used in this paper are path stability (i.e. the total number of un-broken links in all paths divided by the number of links in all paths), packet delivery ratio, average end to end delay and overhead. The simulation scenarios are as follows:  Fig. 2 shows the path stability of LRCA, CVoEG and CRDS with different numbers of vehicles. As it is illustrated the path stability increases with maximizing the number of parked vehicles because the mobility reduces and as a result the link broken situations will be reduced. However, CRDS is better than other routing protocols because it selects the cluster head and gateways from the parked vehicles and gives highest priority to the links between the parked vehicles and stopped vehicles to work as parts of selected paths to the destinations. Fig. 3 explains the network overhead of applying CRDS, LRCA and CVoEG with various numbers of parked vehicles. Mobility of the vehicles breaks the links frequently. Therefore, to maintain them; several routing packets are sent which increase the overhead. Increasing the number of parked vehicles reduces the exchanging routing packets and as a result the overhead will be reduced. However, CRDS minimizes the overhead to the lowest level because it exploits the links among the parked and stopped cars to construct the routes. It means that the broken links that belong to the selected paths are low using CRDS. Fig. 4 illustrates the average E2E delay of applying CRDS, LRCA and CVoEG with various numbers of parked vehicles. In VANET, the failure links need to some time to be established again. This time increases the total E2E delay of delivering the data to the destinations. Normally, maximizing the number of parked vehicles reduces the situations of link failure which reduces the delay. Selecting the parked vehicles as cluster heads and gateways and using them as intermediate nodes in the built paths makes CRDS more suitable for VANET as compared to other protocols. Fig. 5 presents PDR of LRCA, CVoEG and CRDS with several numbers of parked vehicles. Due to the mobility, the failed links increase the number of dropped packets. But with exploiting the parked and stopped vehicles, this number will be minimized. This can be done using CRDS.  Fig. 6, Fig. 7, Fig. 8 and Fig. 9 display the path stability, network overhead, average E2E delay and PDR of using CRDS, LRCA and CVoEG with different average mobility speeds of vehicles.
As it is shown, that increasing the moving speed effects negatively on the efficiency and performance of all routing strategies. The broken links reduce the path stability and PDR as shown in Fig. 6 and Fig. 9 while they increases the overhead due to the need to exchange additional routing packets to correct them (see Fig. 7). Moreover, they maximize the average E2E delay due to the spent time to correct these links (see Fig. 8). However, CRDS achieves better results than other routing protocols because it depends on the links with high stability (i.e. the links among parked and stopped vehicles) in building the paths. Thus the mobility of other vehicles (i.e. moving vehicles) will not effect on the selected path significantly as compared to other protocols.

7-Conclusions and Future Works
One of the large problems in classical VANET is lack of link stability due to the mobility of vehicles at unpredicted speed which leads to make the routing process very difficult. As it is known, the link stability increases the efficiency of the network and guarantees that the data arrive to the destination very quickly. This paper focused on enhancing the routing process of data from a source to destination in classical VANET depending on parked and stopped vehicles to increase the link stability. It presented new clustering technique to select more stable vehicles to work as gateway nodes and cluster heads to increase the entire network stability. Moreover, new cluster based routing protocol called CRDS was proposed to construct the route to the target vehicle with minimum delay and maximum stability. It depends on a proposed optimization model in determining the best route to each target. In this model, each link takes a priority to display its stability. The performance of CRDS was proved using various simulation scenarios with various number of parked and stopped vehicles and mobility speeds. Moreover, it had been compared with LRCA and CVoEG according to path stability, packet delivery ratio, network overhead and average end to end delay and presented good results in all these performance metrics.