#### 3.2. Definition of LCL Algorithm

In VANET based on IEEE1609, a broadcast storm problem aggravates the drawback of poor bandwidth utilization. It creates massive duplicate messages which overload the wireless channel. The overloaded channel in turn causes long delays and collisions in packet transmissions. To address this issue, we propose a novel algorithm that can mitigate a broadcast storm by utilizing the basic information of the receiver and the transmitter. Suppose that a group of vehicles are moving in the same direction, but they are not necessarily located on the same road. A message transmitted by one vehicle may reach many other vehicles in the wireless range of the transmitter, as can be seen in

Figure 4. Suppose that vehicle A detects an emergency event and alerts its proceeding vehicles of the danger by broadcasting a warning message. Applying one of the algorithms in Reference [

17,

18], all receiving vehicles use a timer that triggers retransmission upon expiration of its timer value. Suppose that vehicle B is elected as a relay vehicle by the previous algorithms [

17,

18]. Such relay vehicles can have the following problem. If vehicle B is on a neighbor road, emergency information of A disseminates to an undesired direction. A similar situation may happen either in urban or in highway scenarios. To address this problem, our method considers a vehicle’s position during the relay selection phase.

In the proposed method, we introduce the notion of a source LCL

${L}_{LCL}$, which is a perpendicular line crossing the heading direction of transmitting vehicle

${V}_{i}$ (presented in

Figure 5a). For the sake of simplicity, we explain the concept of the algorithm using only two vehicles, denoted by

${V}_{i}$ and

${V}_{j}$. In

Figure 5,

${V}_{i}$ represents a transmitter, while

${V}_{j}$ represents a receiver of a multi-hop message. Transmitter

${V}_{i}$ may also indicate the direction of data dissemination using a specific field in a multi-hop message. In a general highway scenario, it is more effective to propagate messages backward with respect to the vehicle’s moving direction. This way, we can alert the receiving vehicles following behind the transmitter of the imminent danger or emergency ahead of the receiving vehicles. In this particular case, thus, we assume that a message is disseminated from the front vehicle backwards to the rear vehicles. Only in highly segmented network scenario do we utilize the neighbors of the opposite direction to propagate a warning message. In

Figure 5a, the lateral crossing line

${L}_{LC{L}_{i}}$ of transmitter

${V}_{i}$ is indicated by a dotted line that is drawn from the center of

${V}_{i}$.

${L}_{LC{L}_{i}}$ intersects the wireless range of receiver

${V}_{j}$ at two intercepting points,

$e$ and

$f$. The distance between the position of

${V}_{j}$ and one of the two intercepting points is equal to

${V}_{j}$’s wireless range

$R$, as depicted in

Figure 5b. A positional distance

${d}_{p}$ between

${V}_{j}$ and the lateral crossing line

${L}_{LC{L}_{i}}$ of

${V}_{i}$ is defined by Equation (1).

Here,

${H}_{i}$ is a heading angle of the source

${V}_{i}$.

${P}_{i}\left(y\right)$ and

${P}_{j}\left(y\right)$ are the positions of

${V}_{i}\mathrm{and}{V}_{j}$ on

$y$ axis, respectively, while

${P}_{i}\left(x\right)\mathrm{and}{P}_{j}\left(x\right)$ are the positions of

${V}_{i}\mathrm{and}{V}_{j}$ on

$x$ axis, respectively. For the sake of simplicity, we assume that

${d}_{p}$ is always perpendicular to

${L}_{LC{L}_{i}}$ of transmitting vehicle

${V}_{i}$. A line segment

$L$ is defined from point

$e$ to point

$f$ over

${L}_{LC{L}_{i}}$, as shown in

Figure 5c. Then, the length of

$L$ can be expressed by Equation (2).

In

Figure 5d, a portion of

${V}_{j}$’s wireless range is segmented by the

$L$. We name this portion an upper sector of the receiver’s wireless range that is partitioned by transmitter’s

${L}_{LC{L}_{i}}$. The proposed technique computes an upper sector for each receiver. Then, the value of this upper sector is used to calculate retransmission back-off timer for corresponding receiver. The value of this area is varied for each neighbor since each neighbor receives the message in different position. The smaller the upper sector area, the shorter the retransmission back-off timer for the corresponding receiver. Within this period, receiver waits for the retransmission of current message by different source. If it detects retransmission, then it cancels retransmission task scheduled earlier (broadcast suppression). As the value of upper sector area is used in calculation of retransmission back-off timer, it should be a smaller to achieve a shorter back-off timer. According to our concept, the value of this area is directly proportional to the value of back-off timer. Therefore, in

Figure 5, if receiver

${V}_{j}$ yields

${A}_{j}$ that represents smaller area than the produced areas of other neighbors, it becomes relay node for this hop. In this way of selection, the proposed scheme can select the farthest and most aligned neighbor to the transmitter node

${V}_{i}$. A value of

${A}_{j}$ can be computed using different approaches. However, we propose a simpler way for computation of

${A}_{j}$.

To convert

${A}_{j}$ in a simpler form, we define the following parameters: (1) As shown in

Figure 6a, there is

$h$ distance between the point

$g$ and

${L}_{LC{L}_{i}}$ of

${V}_{i}$. By definition,

$h$ represents the difference between

$R$ and

$\left(h=R-{d}_{p}\right)$; (2). Assuming

$h$ is perpendicular to

$L$, we define

${l}_{1}$ and

${l}_{2}$, which stands for the distances between the points

$g$ and

$e$ and the points

$g$ and

$f$, respectively, as seen in

Figure 6b. As line

$h$ divides the

$L$ into two equal segments, we assume that

${l}_{1}$ and

${l}_{2}$ are equal. Hence, they represent the same value, such as

$l$ in

Figure 6c.

$l$ is defined using Equation (3).

If we apply Equation (2) and a definition of

$h$ in Equation (3), then we obtain the

$l$ in the following form.

The points

$e$,

$f$, and

$g$ shape a triangle that accounts for the area

${{A}^{\prime}}_{j}$ equivalent to the area

${A}_{j}$. The

${{A}^{\prime}}_{j}$ may represent an upper sector corresponds to

${V}_{j}$, as seen in

Figure 6c. Now,

${{A}^{\prime}}_{j}$ can simply be specified using Equation (5).

Using Equation (5),

${{A}^{\prime}}_{j}$ can be obtained by each receiver, and then it is exploited to compute a unique back-off timer. This unit of time represents the period in which the receiver must hold prior to retransmission of received message. Equation (5), however, may not provide a unique back-off timer for each receiver. In a multilane road or in multiple roads closely constructed to one another, there can be many vehicles that may have the same distance to the source. In this case, these vehicles may consume additional time for competing the channel access. In the worst case, these vehicles may not hear each other. In such a case, they form a hidden terminal problem, which can bring about severe damage on network performance. As illustrated in

Figure 7, two nodes receive a broadcast message in similar positions on their moving axis (either

${P}_{j}\left(x\right)$ or

${P}_{j}\left(y\right)$). They are approximately in the same distance from a source vehicle, as presented in

Figure 7. Then, in the best case, these two nodes can hear each other, as in

Figure 7a, and a back-off timer obtained by each vehicle may result in an equal value. Then, it may lead to the collision due to a synchronized retransmission or it may cause an additional contention time to the wireless channel. In

Figure 7a, vehicles C and B receive the message in the distances

${d}_{y}^{C}$ and

${d}_{y}^{B}$, respectively. Since the distances

${d}_{y}^{C}$ and

${d}_{y}^{B}$ indicate approximately the same amount, a variation in the value of

${{A}^{\prime}}_{B}$ and

${{A}^{\prime}}_{C}$, respectively, obtained by node B and node C will be very small. In the worst scenario, as in

Figure 7b, both vehicles cannot hear one another, and these relay nodes may rebroadcast the message at the same time, where all receivers may end up receiving a corrupted packet. Thus, an additional criterion is needed during calculation of the back-off timer for each receiver. In this stage, therefore, we propose to use the receivers’ lateral position information while acquiring the back-off timer. If a receiver’s position is closer to the lane on which a source node is located, then it should rebroadcast the message earlier than other receivers.

Here,

${d}_{ij}$ is distance between the vehicles

${V}_{i}$ and

${V}_{j}$ on lateral axis (perpendicular to the moving axis of source).

${l}_{lane}$ is an average width of road lane. In simulation stage, we defined the width of the lane as 3 m in urban scenario and 3.5 m in highway scenario. The value of

${b}_{j}$ is always one for the receivers moving on the same lane with the source node. Since two vehicles are moving in the lane, the lateral distance between them is less than the width of a lane. Therefore, the first term of Equation (6) becomes zero, and

${b}_{j}$ becomes 1. As

${d}_{ij}$ represents a lateral distance between

${V}_{i}$ and

${V}_{j}$, the value of

${b}_{j}$ for the

${V}_{j}$s that are moving on the same road with

${V}_{i}$ may lay within the range

$\left[1;1+\lfloor widt{h}_{road}/widt{h}_{lane}\rfloor \right]$. Then, the results of Equations (5) and (6) can be applied in Equation (7) to define a final back-off timer

${\tau}_{j}$ for each receiver

${V}_{j}$.

Here,

${T}_{max}$ is defines a maximum waiting delay similarly in 17.

$\delta $ represents a random value that is used to enhance the uniqueness of back-off timer corresponds to each receiver. Equation (7) is timer calculation formula used by the APTt algorithm proposed in Reference [

17]. If a potential transmitter obtains a smaller overlapped area, it gets shorter back-off timer. Similarly, in our method, if a transmitter obtains a smaller area in the upper sector, it achieves earlier retransmission of received message. Here,

${b}_{j}$ aligns the relay node to the precious transmitter. A detailed implementation steps of in proposed algorithm can be seen in Algorithm 1.

**Algorithm 1:** Lateral Crossing Line Based Forwarding |

**Input parameters:** |

${V}_{i},{V}_{j}\leftarrow $ transmitter and receiver, respectively, $M\left({V}_{i}\right)\leftarrow $ a multi-hop broadcast message received from ${V}_{i}$, $R\leftarrow $ the wireless range, ${d}_{p}\leftarrow $ positional distance between ${V}_{i}$ and ${V}_{j}$, ${L}_{LC{L}_{j}}\leftarrow $ LCL of ${V}_{j}$, ${H}_{M}\leftarrow $ direction of message dissemination, ${l}_{lane}\leftarrow $ width of lane, ${d}_{ij}\leftarrow $ lateral distance between ${V}_{i}$ and ${V}_{j}$ |

**Output:** |

A unique back off timer ${\tau}_{j}$ for all ${V}_{j}s$; |

1 | /* calculate LCL of each ${V}_{j}$*/ |

2 | **FOR** each receiver ${V}_{j}$ of message $M\left({V}_{i}\right)$ **DO** |

3 | | **IF**$H\in 90\xb0or270\xb0$**THEN** |

4 | | | **IF**${x}_{j}\ge {x}_{i}$**THEN** |

5 | | | | ${d}_{p}={x}_{j}-{x}_{i};$ // source is heading west |

6 | | | **ELSE IF** |

7 | | | | ${d}_{p}={x}_{i}-{x}_{j};$ // source is heading east |

8 | | | **END IF** |

9 | | **ELSE** |

10 | | | **IF**${y}_{j}\le {y}_{i}$**THEN** |

11 | | | | ${d}_{p}=\left|{y}_{i}-{y}_{j}\right|;$ // source is heading north |

12 | | | **ELSE IF** |

13 | | | | ${d}_{p}=\left|{y}_{j}-{y}_{i}\right|;$ // source is heading south |

14 | | | **END IF** |

15 | | **END IF** |

16 | | **IF**${d}_{p}>{D}_{thre}$**THEN** // in sparse network ${D}_{thre}$ can be zero |

17 | | | ${L}_{j}=2\sqrt{{R}^{2}-{d}^{2}};$ |

18 | | | /* triangular area definition for neighbor j */ |

19 | | | ${A}_{j}=\left({R}_{j}-{d}_{p}\right)\sqrt{{R}^{2}-{d}^{2}}$ |

20 | | | /* definition of lane position */ |

21 | | | ${b}_{j}=\lfloor \frac{{d}_{ij}}{{l}_{lane}}\rfloor +1$; |

22 | | | /* definition of waiting delay */ |

23 | | | ${\tau}_{j}={T}_{max}\frac{{b}_{j}\ast {{A}^{\prime}}_{j}}{\pi {R}^{2}}+\delta $; // select corresponding |

24 | | **ELSE** |

25 | | | ${V}_{j}isnotallowedtoretransmit$ |

26 | | **END IF** |

27 | **END FOR** |

Applying our algorithm to the same network in

Figure 5, we can analyze each receiver vehicle’s estimated waiting time. Using

Figure 8, we are illustrating a similar example scenario, which is presented in

Figure 5. In

Figure 8, an upper sector area for each neighbor of transmitter node A is indicated in different colors. According to our proposed scheme, vehicle D has a longer positional distance and aligned movement with transmitter node A; hence, it acquires the smallest

${A}_{j}$ area compared to the other neighbors. The neighbor C is also one of the furthest receivers, but it has larger lateral distance with A and shorter positional distance. Due to this, it obtains a longer retransmission back-off timer when compared with B and D. Using our method, the messages can also be disseminated toward the desired direction without any overhead.

#### 3.3. Message Dissemination in Intersection Area

The direction of a message dissemination in an urban area can be set as a predefined value which indicates a multidirectional propagation of broadcast message. Normally, in an urban environment, vehicles approach an intersection zone from various directions. Taking advantage of this environmental feature, we can propagate the data in multiple directions. We assume vehicles are aware of an intersection zone, using either one of the intersection detection algorithms presented in Reference [

30,

31]. Prior to each broadcast, transmitter verifies whether its wireless range overlaps any intersection. If an intersection is detected, then,

${H}_{M}^{i}$ is set to a predefined value that indicates multidirectional data propagation. This value is specially employed to increase the awareness of vehicles regarding any emergency event occurred in urban area. For instance, we used 360 as a multidirectional data propagation value in our implementation.

In

Figure 9, a multidirectional message dissemination procedure is illustrated. The V1 broadcasts an emergency message within intersection area, where its message is supposed to be disseminated through the multiple directions. Since this special dissemination is required, receivers should consider their position with respect to the LCLs (blue dashed lines) of source vehicle V1. These LCLs are crossing both the

$P\left(x\right)$ and

$P\left(y\right)$ position of the originator of broadcast message V1. Each receiver

${V}_{j}$ computes two different areas that represent upper sectors

${{A}^{\prime}}_{{j}_{x}}$ and

${{A}^{\prime}}_{{j}_{y}}$. Afterwards, the values of

${b}_{{j}_{x}}$ and

${b}_{{j}_{y}}$ are defined for each receiver

${V}_{j}$. Then, receiver node

${V}_{j}$ obtains the back-off timer for two different retransmissions that originate the propagation of event message in two various directions.

For instance, in

Figure 9, receiver vehicle V9 can relay the data in both Western (

$270\xb0$) and Southern (

$180\xb0)$ directions. It computes a back-off timer for each direction using the value of corresponding upper sector area

${A}_{j}$ and lane difference

${b}_{j}$. In

Figure 9, V9 may give up the retransmission once it detects a duplicate message for the corresponding direction. As seen in

Figure 9, vehicle V9 produces the smallest area over the

$y$-axis; thus, it becomes a relay node in which its retransmission originates a data propagation in the Western direction. On the other hand, V10 node may also contend to become a relay for the Western direction, owning to a large distance from V1 vehicle. Here, a lateral distance of V10 is larger than the lateral distance of V9. Due to this factor, V10 obtains a larger

${b}_{j}$ value, which eventually causes a longer back-off timer. In the proposed scheme, a designation of relay node relies on the back-off value obtained by each receiver using Equation (7). If a node obtains the smallest back-off timer, it designates itself a relay node earlier than other receivers, as aforementioned. Similarly, the V8 vehicle acquires the smallest back-off timer, after which it broadcast the duplicate message in the Southern direction. Thus, in this example, V9 dismisses its scheduled retransmission task due to the detection of a duplicate message from V8. Then, the V9 vehicle executes a rebroadcast of event message in the Western direction, which also dismisses a retransmission task scheduled by the V8 vehicle. Using this distributed concept, each relay node of a corresponding direction conducts self-designation and then propagates the event message in specific directions, as shown in

Figure 9.

In order to mitigate duplicate broadcast in intersection zone, we can assign a threshold upon the value of

${d}_{p}$. Suppose, in

Figure 9, a rebroadcast executed by V9 may not be detected by V2 and V3 vehicles due to long pairwise distance. Then, one of them conducts an undesired retransmission aiming to initiate a data dissemination in the Western direction, where the propagation is already launched by V9. The threshold that we assign on

${d}_{p}$ may prevent this redundant retransmission. The value of the threshold is specified by the source vehicle upon the analysis of a network density using the one-hop neighbor table. It may increase if density becomes high, whereas if it decreases once, the number of neighbors goes down. The implementation steps of a proposed algorithm in an urban area is presented in Algorithm 2.

**Algorithm 2:** Relay Selection in Intersection Area |

**Input parameters:** |

${d}^{x}\leftarrow $ distance to the ${L}_{LC{L}_{i}}^{x}$ on X axis, ${d}^{y}\leftarrow $ distance to the ${L}_{LC{L}_{i}}^{y}$ on Y axis, ${P}_{IZ}\leftarrow $ position details of intersection zone, ${H}^{j}\leftarrow $ the heading angle of ${V}_{j}$, ${H}_{M}^{i}\leftarrow $ dissemination direction of event message $M\left({V}_{i}\right)$ received from ${V}_{i}$, ${D}_{thre}^{x},{D}_{thre}^{y}\leftarrow $ threshold distance set to limit the number of relay candidates, |

**Output:** |

Back off timer values ${\tau}_{j}^{x}\mathrm{and}{\tau}_{j}^{y}$; |

8 | **FOR** each neighbor node ${V}_{j}$ of ${V}_{i}$ **DO** |

9 | | **IF** the value of ${H}_{M}^{i}$ is $360\xb0$ **DO** |

10 | | | ${d}_{p}^{x}=\left|{x}_{j}-{x}_{i}\right|;$ |

11 | | | ${d}_{p}^{y}=\left|{y}_{j}-{y}_{i}\right|;$ |

12 | | **END IF** |

13 | | **IF**${d}_{p}^{x}>{D}_{thre}^{x}$**THEN** // in extreme sparse network, ${D}_{thre}=0$ |

14 | | | $compute{L}_{LC{L}_{i}}^{x},{A}_{j}^{x},{\tau}_{j}^{x},{b}_{j}^{y};$ |

15 | | | $Schedule\left({\tau}_{j}^{x},{b}_{j}^{y},M\left({V}_{i},{E}_{i}\right)\right)$; |

16 | | **ELSE** |

17 | | | $DismisstherebroadcastofM\left({V}_{i},{E}_{i}\right)onXaxis$ |

18 | | **END IF** |

19 | | **IF**${d}_{p}^{y}>{D}_{thre}^{y}$**DO** |

20 | | | $compute{L}_{LC{L}_{i}}^{y},{A}_{j}^{y},{\tau}_{j}^{y},{b}_{j}^{x};$ |

21 | | | $Schedule\left({\tau}_{j}^{y},{b}_{j}^{x},M\left({V}_{i},{E}_{i}\right)\right)$; |

22 | | **ELSE** |

23 | | | $DismisstherebroadcastofM\left({V}_{i},{E}_{i}\right)onYaxis;$ |

24 | | **END IF** |

25 | **END FOR** |

26 | **IF**$M\left({V}_{i},{E}_{i}\right)$ is received from vehicle ${V}_{k}$ **THEN** |

27 | | Dismiss the transmission scheduled to corresponding direction |

28 | **END IF** |