Research Article

A Road Layout Based Broadcast Mechanism for Urban Vehicular Ad Hoc Networks

Algorithm 1

Pseudocode of VBURL.
Reception of a broadcast message
If (new message)
  Save the message
  Set FT
  If (intersection vehicle)
    Set IFT =
  Else if (intersection within TR && approaching intersection)
  Set IFT =
Else
  If (FT is running)
    Cancel FT
  If (IFT is running)
    If (implicit ACK from all branches where neighbors exist ∥ msg from intersection vehicle)
      Cancel IFT
    Else
     Keep waiting implicit ACK
If (RT is running)
   Cancel RT
If (IRT is running)
   If (implicit ACK from all branches where neighbors exist)
     Cancel IRT
   Else
    Keep waiting implicit ACK
If (NFT is running)
   Cancel NFT
Timer expiration
If
  Broadcast the message
If (intersection vehicle)
   Set IRT =
Else
   Set RT =
 Wait for implicit ACK
Else if (IFT)
  Broadcast the message
  Set IRT =
  If (FT is running)
    Cancel FT
Else if (RT ∥ IRT)
  If (num. of rebroadcast by RT or IRT less than maximum)
    Broadcast the message
    Num. of rebroadcast by RT or IRT ++
    Set RT or IRT =
    Wait for implicit ACK
Arrival at intersection zone
If (IRT is running)
  Reset IFT =
Meet new neighbor vehicles without message
If (FT, IFT, RT, and IRT are NOT running)
 Set NFT