Today, vehicular ad-hoc network (VANET) is a hot research topic due to its many applications like collision avoidance, congestion road notification, parking lot availability, road-side business advertisements, etc. All these applications have hard delay constraints i.e. the messages should reach the target location within certain time limits. So, there must be efficient routing in VANET which meets these delay constraints. In this paper, two techniques are proposed to minimize the data traffic and delay in VANET. Firstly, a context based clustering is proposed which takes into consideration various parameters in cluster formation-location of vehicle, direction of vehicle, velocity of vehicle, interest list of vehicle [1] and destination of vehicle. Secondly, a destination based routing protocol is proposed for these context based clusters for efficient inter-cluster communication.
Vehicular ad-hoc network is a special type of mobile ad-hoc network (MANET) which has some unique features like high and predictable mobility, frequent disconnections in network, geographical based routing, hard delay constraints, etc. Due to these features, the routing protocols of MANETs are not suitable for VANETs. A routing protocol in VANET should meet the delay constraints as well as reduce the overall traffic in the network.
In this paper, two solutions are proposed for efficient communication among vehicles in VANET. Firstly, a stable context based clustering mechanism is proposed which takes into consideration following parameters in cluster formation-location of vehicle, direction of vehicle, velocity of vehicle, interest list of vehicle [
Secondly, a destination based routing protocol is proposed for these context based clusters in VANET for efficient inter-cluster communication. In context based clustering, we use destinations of vehicles in cluster formation due to which every cluster has some destination which is determined from the destinations of the vehicles within the cluster. When a cluster head needs to forward the message, it must select the optimal cluster heads in its neighborhood to carry the message. A cluster head selects the optimal neighbor cluster heads based on two parameters-direction of neighbor cluster heads and destination of neighbor cluster heads. When a cluster head gets a message, it first computes the direction of transmission (DT) of a message from its position coordinates and target location (TL) of a message. Then it compares the DT of a message with the directions of neighbor cluster heads using cosine similarity formula as discussed in Section 5. It also compares the TL of a message with the destinations of neighbor cluster heads. The neighbor cluster head whose direction is similar to DT of a message and whose destination is closest to the TL of a message is selected for carrying the message towards the target of a message. This next forwarding node selection is done by calculating a FE (Forward Eligibility) metric. The neighbor node with maximum FE metric will be elected as next forwarding node.
The rest of the paper is organized as follows. In Section 2, various existing routing techniques in VANET are discussed. In Section 3, context based clustering is described. Cluster head selection is illustrated in Section 4. Section 5 describes the proposed destination based routing for context based clusters. Testing results are discussed in Section 6. Finally, Section 7 includes the conclusion.
There are many routing techniques which were proposed previously, the most common routing protocols used in VANET are as follows:
1) Greedy Perimeter Stateless Routing (GPSR): In [
2) Diagonal Intersection Based Routing (DIR): DIR is also a geographical based routing protocol. In DIR, a series of diagonal intersections are constructed between source and destination and routing is done through these intersections [
3) Cluster Based Routing (CBR): In CBR, when a source node wants to send a message to the target location (TL), it doesn’t discover the route but forward the message to the neighbor cluster head whose geographical position has minimal angle with the data packet’s destination [
4) Cluster Based Directional Routing: In cluster based directional routing, a source node forwards the message to the neighbor cluster head whose moving direction is similar to that of transmission direction of a message [
The previous routing protocols have many drawbacks. GPSR and CBR do not consider the direction of the neighbor nodes while selecting the next optimal forwarding node which may be inefficient. Cluster Based Directional Routing does not consider destinations of neighboring nodes while selecting the next forwarding node. DIR causes additional overhead in making routing decisions. By taking into consideration all these drawbacks, a destination based routing algorithm is proposed.
In context based clustering, vehicles are grouped to form clusters based on five parameters as follows:
Location: Each vehicle can determine its current location by using a location-aware device known as global positioning system (GPS). This GPS device supplies information to on-board unit (OBU), which determines its current location. The location of a vehicle is determined in the form of (Locationx, Locationy) pair. For vehicles to be in the same cluster, the distance between the vehicles should be minimum.
Direction: The direction of a vehicle is determined by calculating the difference between last two locations collected by a GPS device. It is represented in the form of (Directionv). For vehicles to be in the same cluster, the directions of vehicles should be similar.
Velocity: The velocity of a vehicle is represented in the form of (Velocityv) and is determined by OBU. For vehicles to be in the same cluster, the velocity difference should be minimum.
Destination: The destination coordinates can be determined by the location aware device and is represented in the form of (Destinationx, Destinationy). There can be two choices to determine the destination of a vehicle-one is final destination (FD) which is determined by GPS and other is relative destination (RD) which is determined with respect to some reference point. For vehicles to be in the same cluster, the distance between the destinations of vehicles should be minimum.
Interest list: Every vehicle has some interests [
P K I = ( P K 1 , P K 2 , P K 3 , ⋯ , P K n )
Here, P K I is a value (expressed as a fraction or percentage) which indicates how much the user is interested in topic “I”. e.g. [1, 0, 1] may indicate that a vehicle is interested in parking and congestion information but has no interest in accident information. For vehicles to be in the same cluster, the interest lists of vehicles should be similar. The similarity between the interest lists of vehicles is determined by cosine similarity formula [
Based on above parameters, groups among the vehicles are formed. Each group has a group representative known as cluster head (CH). The CH will maintain the interests of a vehicle. When a CH receives some message, it first checks whether the vehicles inside the cluster are interested in the message or not. If the vehicles inside the cluster are interested then CH will forward the message to all the members of the cluster. Otherwise, the message will be forwarded to the next cluster head without propagating the message inside the cluster. This will reduce the irrelevant network transmissions within the cluster [
For optimal cluster head selection, a weighted cluster head selection algorithm is proposed in which every node computes a weight based on certain parameters and the node with maximum weight will be elected as the cluster head [
1) In the first step, each vehicle obtains its clustering parameters-location, direction, velocity, destination and interest list from its onboard unit.
2) In the second step, each vehicle identifies its neighboring vehicles whose direction is similar to it.
3) After identifying its neighboring vehicles with similar direction, each vehicle sends/receive its clustering parameters to/from its neighbors.
4) When a vehicle gets the clustering parameters from each of its neighbor, it maintains a list for each neighbor. A list consists of neighbor vehicle’s ID, its location, its velocity, its destination, its interest list and interest list compatibility (IC). Interest list compatibility (IC) is computed using cosine similarity formula [
I C X , Y = ∑ k = 1 n p x k p y k ∑ k = 1 n p x k 2 ∑ k = 1 n p y k 2 (1)
5) After maintaining a list for each neighboring vehicle, each vehicle calculates its cluster head eligibility (CHE) value using Equation (2):
C H E k = A C k A D k A V k A R D k (2)
Here, ADk specifies the average distance between vehicle “k” and each of its neighbor “j” [
A D k = ∑ J ( x j − x k ) 2 + ( y j − y k ) 2 N (3)
Here ( x k , y k ) , ( x j , y j ) represents position coordinates of vehicles “k” and “j” respectively and “N” is the number of neighbors.
AVk is the average of the contrasts between velocity of the vehicle “k” and each of its neighbor “j” [
A V k = ∑ J | v k − v j | N (4)
Here vk, vj represents speeds of vehicles “k” and “j” respectively.
ACk is the average of the interest compatibilities between vehicle “i” and each of its neighbor “j” [
A C k = I C k j N (5)
In order to maximize CHE value, this parameter should be maximized.
ARDk is the average of the distances between relative destination of vehicle “k” and each of its neighbor “j” [
A R D k = ∑ J ( x j − x k ) 2 + ( y j − y k ) 2 N (6)
Here ( x j , y j ) and ( x k , y k ) represents coordinates of relative destinations of vehicles “k” and “j”. In order to maximize CHE value, this parameter should also be minimized.
6) After calculating CHE value, each vehicle sends/receives CHE value to/ from its neighbors.
7) After getting CHE values from all of its neighbors, each vehicle select the vehicle having maximum CHE value as its cluster head (CH). In this way, every vehicle selects its cluster head. Every CH maintains a cluster membership table that contains all the ids of the vehicles inside the cluster. In case of multi-hop clustering [
The illustration of cluster head selection and cluster formation is as follows:
First, every vehicle obtains its clustering parameters from their on-board units (OBU) as shown in
Here, IL is represented in the form of a vector as [1, 0, 1] which may indicate that the vehicle is interested in traffic congestion and accident information but not interested in parking information.
In second step, each vehicle exchange parameters with their neighbors and calculate the interest list compatibility (IC) for each of its neighbor using Equation (1). After obtaining the parameters from each of its neighbor, the vehicle calculates its CHE value using Equation (2). In
The vehicle with highest CHE value will be elected as a Cluster Head. In
the vehicle with CHE value of 2.84 is shown as a sub-cluster head.
In previous Sections 3 and 4, we make clusters based on five parameters-location of vehicle, direction of vehicle, velocity of vehicle, interest list of vehicle and destination of vehicle. As a result of this, every cluster has some direction and destination. The destination of a cluster is assumed to be the destination of the cluster head. The proposed destination based routing protocol considers two parameters-direction of cluster head and destination of cluster head in order to select the next forwarding cluster head node.
Every message has some target location TL and direction of transmission DT [
D T = ( x k − x t l , y k − y t l ) (7)
And, every cluster head “h” has a velocity vector which can be represented as shown in Equation (8).
V h = v h i ^ + v h j ^ (8)
The direction of transmission D T is said to be similar to the direction of cluster head “h” if their cosine similarity is greater than 0. The similarity between D T and V h is computed using Equation (9).
Similarity h = cos θ = D T ⋅ V h | D T | | V h | (9)
Also, every cluster head “h” has some destination which is represented as ( D e s t X h , D e s t Y h ) . The distance between the target location ( x t l , y t l ) and the destination of cluster head is calculated by using Equation (10).
Δ D h = ( x t l − D e s t X h ) 2 + ( y t l − D e s t Y h ) 2 (10)
Following are the steps of our proposed destination based routing protocol:
1) When a source node “s” wants to send a message to the destination node “d”, it first forwards the message containing target location TL ( x t l , y t l ) to its cluster head “k”.
2) The cluster head “k” then checks whether the TL is inside the cluster or not. If the cluster head “k” finds the TL inside the cluster, it forwards the message to TL. Otherwise, it selects the next neighbor cluster head “h” for forwarding the message.
3) In order to select the next forwarding cluster head node, a cluster head “k” uses the destinations and directions of its neighbor cluster heads. First, it calculates the direction of transmission of a message DT using Equation (7). Then it calculates Similarity h using Equation (9) for each neighbor cluster head node “h” having velocity V h . Then it calculates the distance between the target location and destination Δ D h for each neighbor cluster head node “h” using Equation (10).
4) After calculating Similarity h and Δ D h for each neighbor cluster head node “h”, a cluster head node “k” calculates the following metric FE (forwarding eligibility) for each neighbor cluster head node “h”:
F E = Similarity h Δ D h × 100 (11)
5) The neighbor cluster head node whose FE value is maximum is selected as the next forwarding cluster head node.
6) Again, the next forwarding cluster head node checks whether the target location TL is inside the cluster or not. If it finds the TL inside the cluster, it forwards the message to TL. Otherwise, it again selects the next forwarding cluster head node by using FE and the process is repeated.
In
head node. First neighbor cluster head node has velocity (20, 10) and destination (40, 80). Second cluster head node has velocity (40, 50) and destination (70, 100). Third cluster head node has velocity (0, −100) and destination (100, −100). The target location has coordinates (50, 100).
Using these sample values, the node “k” computes FE metric for each of its neighbor as shown in
The node with FE value of 4.85 will be selected as the next forwarding cluster head node. This node will be the optimal next forwarding node. In contrast, the other routing techniques may choose the next forwarding node (e.g. node with FE value 3.68) based on their current position which may not be always efficient.
The flow chart for our proposed routing procedure is shown in
To test the performance of our proposed destination based routing scheme in context based clustered environment, two types of simulators are used-Traffic Simulator which simulates the mobility of vehicles across the streets and Network Simulator which simulates the network among the vehicles. SUMO (Simu-
lation of UrbanMobility) is the most popular traffic simulator used in VANET. There are many features of SUMO which makes it a very useful traffic simulator such as multi-lane streets with lane changing, different vehicle types, representing networks with many streets, coupling with network simulators (ns2), etc. For network simulation, ns2 is used. The output of SUMO is a mobility trace which acts as a input to the network simulator ns2.
The simulation parameters and their values used are shown in
In Simulation, the factors like loss %, delivery ratio, delivery delay, etc. in our proposed approach are compared with that in cluster based routing (CBR) scheme as well as with traditional broadcasting scheme.
In
In
In
From the above graphs, it can be concluded that our destination based routing scheme is more efficient than the cluster based routing scheme and traditional
Parameters | Values |
---|---|
K-hop clustering | K = {1, 2} |
Node’s speed | 100 m/s - 500 m/s |
Packet size | 1500 bits |
MAC protocol | 802.11 p |
Simulation time | 100 s |
broadcast scheme in terms of delivery ratio, packet drops, delivery delay, etc. This is due to the fact that our proposed routing technique always chooses an optimal next forwarding node based on the FE metric as shown in
Many clusters based routing techniques like CBR make use of current location of a node and its neighbor nodes in order to determine the next forwarding node. This may not be the optimal next forwarding node selection as the node may be currently closer or at small angle with the target location but it may change its direction and move away from the target location in future. So, we must take the direction of movement of a node as well as destination of a node in order to select the next forwarding node. This will increase the delivery ratio and reduce the overall delay to route the message from source node to destination node.
Sethi, V. and Chand, N. (2017) A Destination Based Routing Pro- tocol for Context Based Clusters in VANET. Communications and Network, 9, 179-191. https://doi.org/10.4236/cn.2017.93013