The first stage is initialization for network model representation of the VANET network. We start by choosing the vehicle to Infrastructure(V2I) communication. The second stage is for congestion state representation, on the VANET not all the network is congested. Thus, to identify the network is congested or not we use the beacon busy ratio the information exchange between the vehicle and the V2I. Some information is level of service based on the speed of the vehicle, the road segment or the capacity of the road. The final stage is path determination, based on the fuzzy output the information with neighbor RSU, latter it used to suggest the road segment that have better index in the network.
3.1.1. Stage 1: Initialization
A Nearest Neighbors
In VANET communication, the vehicles direction, speed and location are unpredictable. On the road segment, the presence of high number of neighboring vehicles results to a higher congestion on the road. In our work, each RSU in the network keeps a list of all possible neighbor vehicles with in the transmission range. To compute the distance between vehicles we use a Euclidean distance to identify the neighboring vehicles. Let us suppose that if there are two vehicles V
1 and V
2 with in the transmission range r of the RSU as illustrated on
Figure 2. These vehicles are traveling with the speed of V
1 and V
2 at a time
t. Thus, to calculate the distance D between vehicles D (V
1, V
2) at location X and Y we use Eq. (1).
B Communication Model
On VANET neighboring vehicles, some vehicles are relatively placed closer than other neighbors. Such nodes can be considered as nearest neighbors (NN). Therefore, to get the physical distance we consider the received signal strength indicator (RSSI) mechanism. This RSSI mechanism uses Pathloss model Frii's free space propagation model. Because, on VANET environment, there are several causes to occur pathloss such as reflection, absorption, and deflection on the transmission medium. It has significant advantage to measure the transmission from transmitter to receiver. An RSSI-based[
14] is computed to determine the neighbor nodes. The RSSI based distance computed using on Eq. (2)
Where ρidenotes the transmission power, and Giand Gj denote the antenna gains of nodes i and j, respectively. Nodes j and i are the transmitter and receiver, respectively. λ Indicates the wavelength (meter) of the transmission signal.
Each node keeps a separate set of nearest neighbors (NNs) with their estimated location and speed information. If a node has a frequent number of NNs, then it means that the node has less opportunity to become a forwarder of other nodes. Nodes with a fewer number of NNs are vital and can perform more than others can.
Every node maintains an individual collection of nearby nodes that have been marked as nearest neighbors along with their approximate positions. If a node consistently has a significant number of connectivity neighbors, this implies that other nodes have fewer chances of selecting the mentioned node as a forwarder.
3.1.2. Stage 2: Congestion State Representation
A Beacon Busy Ratio (BBR)
Since, the nature of vehicular network channel is dynamically which affected by the temporal arrival time of the vehicles on the road segment. To identify the congestion state, we used a Load Beacon Busy Ratio (BBR) scheme for detection of congestion level on the network extracted from vehicles. In VANET, vehicles communicate with in the area they use beaconing. The authors on [
15]described beaconing as “the process of periodically and locally broadcasting status information is a key communication pattern in vehicular ad hoc networks
. The authors on[
16]noted, “Beaconing is one of the most important communication modes, which is used to advertise the presence of a car to its neighbor cars
. The authors on [
15] investigate the impact of send messages to vehicle to keep them aware and found that sending directly with single-hop to each other works better and faster than sending through multiple vehicle i.e. multi-hop. The BBR defined by the following Eq. (3):
Where M(V) is the message received from neighbor vehicles arrived at the RSU and Channel Capacity is the total link capacity for the queue in the congested network. The RSU computes the BBR of the congested queue value derived from available vehicles that have in communication with the RSU. Once the value of the current state of the road segment extracted from BBR we then can define the minimum and maximum congestion threshold. This help as later as an input for fuzzification step.
Since our work focus in vehicular communication, for maximum channel capacity we use a data rate range between 3 to 12 Mbps. The VANET commonly confront congestion due to road traffic over-burden on links beyond their capacity. On VANET, the acceptable maximum data rate as stated on [
6] for a vehicle can move with a speed of up to 80km/h. By using these values, the BBR value lies in between 0.2 and 0.6. The BBR value as it become in between 0.2-0.43 it means the road segment has “Good” congestion state, if it is between 0.43-0.6 the road segment as “acceptable” congestion state and if it is greater than 0.6 the road segment has “Poor” congestion state.
B Vehicle Speed
The VS
ratio used to identify the ratio of the total delay on a vehicle on the congested road and the total time of the vehicle, that derived from Eq. (4).
Where DT is total travel distance of vehicle i on the road segment and TS is total time spent by vehicle i on the road segment. Based on the result obtain from VSratio we can identify the level of the serve of the road segment on the current time.
C Road Segment Capacity
The RS
ratio used to calculate the traffic link or capacity during maximum flow condition at peak hour of the road by using Eq. (5).
For RSU to suggest the most non-congested path towards the destination based on the CRI value through the control packet by broadcasting the CRI value to RSU. This process done when the suggestion level path the capacity of the road, then the RSU calculates the CR value later it used to share or exchange in between neighbor RSU.
3.1.3. Stage 3: Fuzzy Logic Based Congestion Controller
In the fuzzy logic-based algorithm, during the RSU receive a message from vehicles, it proceeds to analyze the state of network congestion using fuzzy input load metrics. In our context, a fixed threshold value used, to detect that the network is experiencing congestion beyond the defined threshold. We utilize the fuzzy inference mechanism to evaluate the real-time performance of road status whether it is congested or not. This fuzzy inference system consists of three steps: Fuzzification, Fuzzy inference and Defuzzification. In the First step, each RSU converts its own input value in to a membership degree of fuzzy set in this work; we use a triangular membership function to convert the input in to fuzzy value. In the second step, each RSU performs fuzzy inference based on a set of If-Then rule using the membership degree obtained in the fuzzification step. The last step is defuzzification, in which the result of fuzzy inference is converted into crisp value we employ a Congestion Threshold (CT) method for all fuzzy logic controllers in this work. This module called on every encounter between each pair of vehicles and RSU to learn best route for the vehicle.
Figure 3.
Fuzzy logic-based controller.
Figure 3.
Fuzzy logic-based controller.
A Fuzzification
On this fuzzification process, choosing fuzzy rules for congestion control involves establishing good relationship between the inputs (load metrics) and outputs (control actions). As an input relevant load metrics that will serve as inputs to the fuzzy logic controller is Beacon Busy Ratio (BBR), Level of Service (LOS), and Road Segment Capacity (RSc). The selection of fuzzy sets highly dependent on the specific context and requirements of the congestion control problem in vehicular ad hoc networks. It is essential to strike a balance between simplicity and expressiveness to ensure that the fuzzy logic controller can effectively capture the nuances of congestion control. Based on the load metrics, traffic density described by terms such as "Good," "Acceptable," and "Poor."
B Base Rule
After fuzzification, we need to determine the method for combining the fuzzy rules to make a control decision. These methods use fuzzy reasoning to aggregate the rule outputs and produce a crisp control action. Thus, we implement the fuzzy rules in a rule base within the fuzzy logic controller. The rule base consists of the defined linguistic terms, antecedents, consequents, and weights. During runtime, the input values evaluated against the fuzzy rules to determine the appropriate control action. For each fuzzy input sets, we mapped total 9 rules in IF THEN conditional statement.
Table 1. emphasis the complete set of base rules that used the three input fuzzy variables and one out numerical variable. That numerical variable represents the congestion Threshold (
CT) of the road at time
t.
C Defuzzification
Defuzzification process converts the aggregated fuzzy outputs into crisp control actions. This process involves summarizing the fuzzy outputs and selecting a representative value that corresponds to the desired control action. During defuzzification, it is better to specify the control actions that the fuzzy logic controller will take based on the inputs. On these actions by using crisp output congestion notification triggered. As crisp output, we use congestion threshold (CT).
D Congestion Threshold (CT)
The CT value derived from the BBR, L
os and RS
c mapped input variable by using maximum value of the state. For example, on Rule 1 there is “Good”, “Good”, “Good” it represents the value 0.3, 0.1, and 0.5 respectively, then the CT value lies in between 0.1 and 0.63 thus the result indicates the road shows good congestion threshold value. Similarly, if we then take Rule 5 by sum up the numerical value again, we dividend by 3 we get the CT value between 0.63 and 1.5 it indicates the road congestion has acceptable congestion rate. Finally, by Rule 9 the result of CT value lies in between 1.5 and 2.4, which has poor congestion state. For CT value, as demonstrated on Eq. (7)
Figure 4.
Proposed congestion control using fuzzy logic Flowchart.
Figure 4.
Proposed congestion control using fuzzy logic Flowchart.
Algorithm 1: Proposed Method Algorithm
Input: Beacon Busy Ratio (BBR), Level of Service (Los), Road Segment (RSc)
Output: Congestion Threshold
1. procedure void proposed Method (BBR, Los, RSc)
2. Vehicle forward current status of the road
3. RSU receive computing parameter from vehicle
4. while (Vehicle in RSid)
5. RSU calculates BBR, Los, RSc based on Eq. (3), (4), (5)
6. [CT, Status] =fuzzy_logic_method (BBR, LOS, RSc) //Apply Fuzzy Logic Controller
7. if CT≥0.1 and CT≤0.63 then //Maximum threshold based on Eq. (7)
8. Road is not Congested
9. RSU periodically update road status
10. else if CT>0.63 and CT<1 then
11. Road has Acceptable Congestion Status
12. RSU periodically update road status
13. else
14. Road is Congested
15. Update (Route ← RSUid, status, CT)
16. end if
17. end while
18. end procedure
3.1.4. Stage 4: Path Determination
Once on the congestion level, the CRI is initiated using the vehicle traffic data, route suggestion step began s to calculate an optimal route. Ideal route suggestion is refreshed at each intersection, taking into account the data provided by the RSU. We also consider how busy the roads are and try to choose routes with less traffic to avoid being stuck. RSU and receive new information from a central location and can share their own information with other RSU nearby. The congestion in the VANET identified by utilizing the communication channel condition. The traffic load in the channel estimated, and if the level reached based on the threshold, the traffic congestion identified; consequently, the congestion condition is forward to the nearby vehicles to alert them about the traffic congestion. If traffic congestion threshold state is detected using the fuzzy set, then the RSU forward the path determination packets to the vehicles.
Figure 5.
Path determination flowchart.
Figure 5.
Path determination flowchart.
Each vehicle on the road periodically sends a message to their nearby RSU and updates the road segment information at time t. Each RSU keeps its associated road segments information in route suggestion table. The RSU exchanges the CT information with other RSUs and sends the road segment information to the data center as well. Congestion Suggestion Table (CST) includes the optimal route from an origin to destination considering the travel time and route congestion. The congestion information exchanging between RSU has the following steps.
RSU gather road information from the vehicles on the road segment. Based on our assumption each road intersection deployed with special RSU to gather information and based on the information RSU calculates the CT value.
RSU send request to neighbor RSU. The RSU forward its CT value with additional information. The RSU ID, Road Segment ID (RSid), and CT.
- 3.
RSU receive an information from neighbors RSU and suggest route path discovery. After the RSU received reply from neighbor RSU about road segment information, it suggests the vehicle that have less congested road segment towards to vehicle destination.
- 4.
Then the RSU Update current congestion status of the road segment
Algorithm 2: Path Determination Method Algorithm
Input: CT, Road Segment (RSid), RSUid
Output: Route Path
1. RSU broadcast < RSUid, RSid, CT>
2. for each neighbor RSUid compare CRI value do
3. if the CT has “Good” OR “Acceptable” state then
4. if road segment is destination, then
5. break; //vehicle reach destination
6. else
7. Road Segment with good CT value is suggested for the route
8. UPDATE current_status(CT, RSid)
9. end if
10. else
11. Road Segment with good CT value is Not suggested for the route
12. UPDATE RSU information
13. end if
14. end for
15. end procedure