# Ad Hoc Communication Topology Construction for Delay-Sensitive Internet of Vehicle Applications

Authors: Joong-Lyul Lee; Jaejin Hwang; Hyesung Park; Donghyun Kim
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

Advances in new technologies are changing the Internet of Things (IoTs) from vehicular ad hoc networks (VANETs) to Internet of Vehicles (IoVs). This IoV needs to construct a network topology in order to efficiently send and receive data to Cloud or Fog nodes. In such a topology construction, there are various methods of configuring a topology considering network interference and configuring a topology for energy saving, such as a mobile sensor network. However, there has been no research on the topology construction considering the rapidly high movement of mobile node, characteristic of IoV. In this article, we proposed thek-Lifetime Tree Topology Construction (k-LTTC) algorithm during emergency situations for IoV with highly dynamic characteristics. By applying the time domain to the topology construction, it is guaranteed to maintain the topology for a specific period of time (k-Life Time). The first algorithm is a centralized algorithm to construct k-lifetime tree topology, and the second algorithm is a decentralized algorithm to construct k-lifetime tree topology. We describe the time complexity and message complexity for the mathematical analysis of our proposed algorithms. Furthermore, we provided the simulation results to verify our proposed method.


---

## Body

## 1. Introduction

The vehicular ad hoc networks (VANETs) have been received a lot of attention in research in both academia and industry. Currently, with the development of Internet of Things (IoTs) technology and the increase in the number of IoTs, these two technologies of IoT and VANETs are converging [1–5]. IoVs improve the efficiency and safety of modern transportation systems. Traffic congestion detection, road condition monitoring (e.g., icy road surface), and pothole detection are a few examples demonstrating the significance of IoV and its applications [6–12]. In a typical setting, each IoV node is equipped with an On-Board Unit (OBU), which is an integrated electric device with various modules such as GPS and a radio transceiver. Thanks to the advances in the relevant technologies, the cost to build an IoV node is getting lower; therefore, more and more people believe the benefits of IoV will come to our real life in the very near future [13–16].The communication technologies adopted by IoV so far fall into one of the following five categories; (a) Vehicle to Roadside (V2R), (b) Vehicle to Infrastructure (V2I), (c) Vehicle to Vehicle (V2V), (d) Vehicle to Sensors (V2S), or (e) Vehicle to Personal device (V2P). Each vehicle has an OBU that is capable of being connected with the Road Side Unit (RSU) infrastructure (which is connected to the Internet and the rest of the IoV infrastructure) using cellular or WLAN communication technology. In the literature, such a communication strategy is frequently referred to as V2I communication. While this approach is highly applicable to some instances, it is not adaptable for the areas where a proper infrastructure (e.g., 3G, 4G, and 5G cellular towers, IEEE 802.11p WAVE) is not in place for some reasons, e.g., very high deployment cost and extreme geographic limitation. The third approach can be used for situations where the first two approaches cannot be adopted at all. V2V is a well-established IoV networking concept for such a completely infrastructure-less environment. V2S connects with sensor nodes to gather environment sensing information from each sensor node and V2P connects with personal devices to provide network service or personal device services (e.g., Google Android Auto and Apple CarPlay). In this IoV communication type, the hybrid approach is useful if the area of interest is partially covered by the service infrastructure, and the combination of V2V and V2I is used to provide the connectivity among IoV nodes and the IoV infrastructure. Regardless of the communication network implementation strategies, in IoV, each vehicle should be able to communicate with the other vehicles and the rest of IoV infrastructure directly (via single-hop communication) and/or indirectly (via multihop communication) (see Figure1).Figure 1
The types of vehicular communication in the Internet of Vehicles (IoV).The hybrid communication framework is very useful in many real-world IoV application scenarios as every IoV node is not necessarily able to directly communicate with the main IoV infrastructure throughout an RSU. In this framework, the overall stability of IoV is highly dependent on the stability of the multihop routing path from an IoV node to an RSU over a number of intermediate IoV nodes. However, the identification of such a routing path is extremely difficult due to the highly dynamic nature of IoV. In addition, unless carefully chosen, such a path may suffer from unacceptable latency, which might be a crucial issue for many time-critical IoV applications. This article introduces a new strategy to construct a tree topology in emergency responding IoV applications, in which the root of the tree is a special emergency responding vehicle with an extremely long-distance communication capability and thus is directly connected to the rest of IoV infrastructure. We assume that the IoV nodes are highly mobile, but at the same time, they provide their short-term travel plans voluntarily to assist the formation of the tree topology to cope with the emergent situation. In fact, such a tree topology structure could be useful for data collection for IoV nodes about emergent information and the broadcasting of important notifications about the emergency situation to the IoV nodes, thus having great real-world significance. The main contributions of this article can be summarized as follows:(1)
For the first time in the literature, we investigate the problem of constructing a tree topology with bounded latency in a highly dynamic IoV environment. In detail, given a positive integerk and a set of IoV nodes, whose future travel trajectories are known in advance, this article investigates the problem of constructing a tree topology, which is rooted at an IoV node (i.e., a police patrol car) and connects all the other IoV nodes such that the height of the tree is bounded by the given constant k. We formally define the problem of our interest as the k-Lifetime Tree Topology Construction (k-LTTC) problem, whose goal is to construct a k-lifetime tree topology, a bounded height rooted-tree topology over IoV nodes that can last for coming k-time slots.(2)
We propose two heuristic algorithms with polynomial running time for thek-LTTC problem. The first algorithm is a centralized algorithm for the k-LTTC problem by exploiting the concept of the connected dominating set based on the assumptions that Intelligent Transportation Systems (ITS), which is operating the IoV infrastructure and attempts to construct the topology and knows the detailed information of every participating vehicle (e.g., node location and future travel trajectories). The second algorithm is a distributed version for the k-LTTC problem. Therefore, it is more applicable to real-world situations because sometimes it does not exist the central node that has the entire information of the network.The rest of this article is structured as follows: Section2 describes the related work. In Section 3, we present the network model and problem formulation. Section 4 describes the result and discussion. Finally, Section 5 concludes this article.


## 2. Related Work

Recently, several efforts have been made to study the data aggregation and topology control schemes for conventional VANET. In [17], Ibrahim and Weigle proposed Cluster-based Accurate Syntactic Compression of Aggregated Data in VANETs (CASCADE) data aggregation technique. In [18], Nzouonta et al. proposed two road-based routing protocols using vehicular traffic routing protocols: a reactive protocol RBVT-R and a proactive protocol RBVT-P. Using simulations, the article showed that the RBVT protocols outperform existing ones in terms of the average delivery ratio and average delay. In [6], Yu et al. proposed an adaptive forwarding delay control scheme for VANET data aggregation based on a distributed learning algorithm. The authors provided simulation results to demonstrate the effectiveness of the proposed scheme. In [19], Zhu et al. studied a delay-constrained data aggregation scheme for VANETs. With the analysis based on real traces, the authors proposed a centralized and distributed aTree. The centralized and distributed aTree first constructs a data aggregation tree based on the shortest path tree and then assigns a waiting time budget to each node by the centralized or distributed way. In [20], Yuan et al. proposed an infrastructure-free data aggregation algorithm by restricting forwarders. The authors found that throughput decrement can be caused by DCF collisions in VANETs and showed that the proposed algorithm improves throughput with beacon-ignorance in high-density vehicle situations.In [21, 22], Ferreira and Xuan et al. proposed and formally analysed the least cost path using the extended evolving graphs in Fixed Schedule Dynamic Networks (FSDNs). In [23], Bernd Thallner et al. proposed a distributed fault-tolerant algorithm for constructing a k-regular, k-connected topology for fault-tolerant communication in wireless ad hoc networks. The proposed algorithm adapts to highly dynamic wireless networks as it is guaranteed to converge and exhibits good performance. In [24], Su et al. proposed a scheme to perform rerouting before route breaks predicting mobility of node using GPS devices in wireless networks. In [25], Zhigang et al. proposed a new clustering technique for large multihop vehicular ad hoc networks. A cluster is controlled by the priorities related to vehicles traffic information. It has high priority as a vehicle moves longer distances. In [26], Srivastava et al. proposed distributed algorithm for constructing a rooted spanning tree in a dynamic network and for finding a k-core of spanning tree. In [27], Althaus et al. proposed an algorithm for the minimum cost k-hop spanning tree problem in the given complete graph on n nodes with metric edge costs. In [28], Ghosh et al. proposed a bicriteria formulation to the optimal routing tree construction problem in order to consider bounded node degree and minimum radius. This result showed the trade-off in maximizing the data collection rate and minimizing the maximum packet delay. In the previous related work, the authors proposed an algorithm for topology construction in a dynamic environment and k-hop spanning tree. Our work is different from the previously existing work considering both the time domain and transmission delay in highly dynamic IoV environments.


## 3. Network Model and Problem Formulation

In this section, we describe the network model, notation, and problem formulation.


### 3.1. Notation and Problem Statement

Definition 1.
(graph by time space). Given a graphG  = (V(n,t), E(i,j,t)) by time-spaces, each IoV node has location V(n,t) = (xt, yt) In and each edge E(i,j,t) = (V(i,t), V(j,t)) in the time-space.Definition 2.
(radius of nodev). The radius Rv of node v is defined as the maximum communication range of each IoV node v, i.e., Rv=maxdcrv:v∈V.Definition 3.
(moving distance of nodev). The moving distance Dv of node v is defined as the maximum moving distance of each IoV node v, i.e., Dv=maxdmvv:v∈V.Definition 4.
(distance metric space). Consider the distance metrics space (V, δ), where V is the set of IoV nodes with their locations at each time slot. For each pair of vehicular nodes u,v∈V,δu,v is the Euclidean distance between vehicular node u and v:(1)
δu,v>0(2)
δu,v=0 if u = v(3)
δu,v=δv,u for all u,v∈V(4)
δu,w+δw,v≥δv,u for all u,v,w∈VDefinition 5.
(δ(i, j) of node i, j). δ(i, j) of node i, j is defined as δ(i, j) = |Vi − Vj| =  xj−xi2+yj−yi2.Definition 6.
(edge weightwi,j of node i, j). The edge weight of node i, j is defined as network priority for Quality of Service (QoS) in the network. The high priority has a lower value. The edge weight is set to 1 as an initial value by default. This will be used to regulate overall network traffic by prioritizing specific high-priority applications.Definition 7.
(list of total edge weightW (i, j) of node i, j). The list of edge weight of node i, j is defined as GList = Sort {W (i, j), W (k, l),...}.Definition 8.
(location prediction of nodev). The location prediction of IoV node v is defined as the next location in each time t moving each IoV node v by time t, speed s, and direction d, i.e., xmoving = s × cosd, ymoving = s × sind, The location ofvi,t1 = {xt0 + xmoving, yt0 + ymoving}The location ofvi,t2 = {xt1 + xmoving, yt1 + ymoving}The location ofvi,tk = {xtk − 1 + xmoving, ytk − 1 + ymoving}Problem 1.
Given a set of vehicular setV=v1,v2,v3,…,vn and constant k ≥ 2, we want to construct k-lifetime tree topology in order to guarantee data aggregation within and during k-lifetime while maintaining topology during k-lifetime slots in a highly dynamic topology scenario due to the high mobility nature of IoV node.
In this problem, we consider the design guidelines to an effective topology control algorithm as in [29]. Broadcasting by flooding is a common communication method in many network applications. However, this communication method causes a broadcast storm problem resulting in serious redundant rebroadcasts, contention, and collision [30]. Moreover, for long network connectivity, in other words, long network lifetime with reducing the energy consumption with the use of possible minimal power, WSNs consider the transmission range [31]. In a different way, IoVs also need to consider the transmission range but not for the energy consumption and network connectivity like in the WSNs, however, to avoid packet retransmission incurring by packet collisions caused by channel interference.
It is desirable to manage the network connectivity and avoid packet retransmission in highly dynamic mobility. Therefore, we need to construct ak-lifetime tree topology considering the delay time and dynamic environment with two different transmission ranges in the centralized and decentralized way. In general, there is no central authority in a wireless multihop network. In this case, we use a decentralized algorithm to construct a k-lifetime tree topology. If we have a centralized authority that collects local information and manages the network, we will use a centralized algorithm to construct a k-lifetime tree topology.


### 3.2. A Centralized Algorithm onk-Lifetime Tree Topology Construction for IoVs

In this section, we describe a centralized algorithm for thek-LTTC problem for IoVs. A centralized algorithm has three phases: Phase 1, partition into small clusters by Expected Cluster Size (ECS) β and greedy algorithm; Phase 2, connectivity calculation by an δu,v between each vehicle during k-lifetime applying time domain; Phase 3, the k-LTTC algorithm to construct a k-lifetime tree topology by the connected dominating set. In Phase 1, we apply a partition by adapting a greedy algorithm and cluster size. In Figure 2, we establish clustering from the large-scale network region into the small-scale network for network efficiency, bandwidth efficiency, and calculation efficiency [32, 33]. We designed geographic clustering algorithm (GCA) to make a partition into several clusters.Figure 2
Partition in the overall region by ECSβ.An ECSβ is the size to construct a k-hop tree by the minimum value of transmission range or moving distance (i.e., α∗=minRv,Dv) during k-time slots.(1)ECS=β≤2×k×α∗,where α∗=minRv,Dv and Rv is the radius of node v and Dv is the moving distance of node v. We will create the clusters by the GCA and if some clusters are greater than the ECS β, we will set up a partition cluster into a small cluster again using the GCA (Algorithm 1).Algorithm 1: Geographic clustering algorithm (GCA) for the k-LTTC problem.
Input: A set of vehicle V∗, time constant kOutput: Cluster set C∗(1)
α∗ = min{Rv,Dv};(2)
β=2×k×α∗;(3)
GList = {δ(i, j), δ(k, l),.…};(4)
fori = 1 to GList length do(5)
δ(i, j) = getElement(GList);(6)
ifδi,j≥Rvthen(7)
GList= GList− {δ(i, j)}(8)
end if(9)
end for(10)
ECList = make the beginning Clusters by disconnected edge;(11)
fori = 1 to ECList length do(12)
Ci = getClusterElement(ECList);(13)
TECS = TotalSizeDs,vix,y−De,vix,y(14)
ifTECS ≤ βthen(15)
C∗=C∗∪Ci(16)
else(17)
make sub-Clusters dividing by ECS β;(18)
GCA(V∗, k);(19)
end if(20)
end for(21)
Return cluster setC∗=C1,C2,…,CnTheorem 1.
ECS β has at most one cluster at 2×k×α∗ in the given complete graph.Proof.
In the given complete graph, we can formulate the following equations. Ifα∗=Rv, 2×k×Rv≤2×k=k hop tree and if α∗=Dv, 2×k×Dv≤2×k×Rv≤2×k=k hop tree.Theorem 2.
OPT≤MinTotalSize/2×k×α∗.Proof.
Each cluster has the same size with2×k×α∗. The best cluster is the one that has the biggest Euclidean distance that has the same size with 2×k×α∗.
In Phase 2, we can check network connectivity by calculating a Euclidean distance between each vehicle predicting the mobility of vehicle during certaink-lifetime, as shown in Figure 3. In [24], the authors’ model depicts the duration of time in network connectivity between two nodes using the motion parameters of two neighbour nodes (such as speed, moving direction, and radio propagation range). Using a different approach with [24], we construct a model to check network connectivity by applying the time domain in this problem as we assume that we can predict the mobility of vehicle nodes by Definition 8. Calculating the connected edges in this k-space-time domain in the following equation, we can find connected edges in a unified time domain, as shown in Figure 3.(2)Wu,v=∑l=0kwtlδu,vtl∏l=0kεu,vtlk,where wtl is the network priority weight at time l, δu,vtl is the Euclidean distance between the node u and the node v at time l, and εu,vtl is the network connection weight between the node u and the node v at time l.(3)εu,v=1,ifδu,v≤Rv,0,otherwise.
We calculated a total weightW(i,j) by multiplying the distance weight, the network priority weight, and the network connection weight between each vehicle at each time slot. We do not consider the out-of-bounds distance of communication range between each vehicle. In Figure 3, node 2 and node 7 have a connected edge with two nodes existing in the communication range at time slot 1 and slot 2. The two nodes do not have a connected edge as they exist over the communication range at time slot 3. Therefore, this edge does not include an integrated topology as the total weight Wu,v on a time union graph is 0 (Algorithm 2).
Phase 3. Thek-LTTC algorithm. In this phase, we construct k-lifetime tree topology to gather the data within k-lifetime slots. We assume that it will take 1-unit time to transfer the data per one hop. Therefore, we want to construct a k-hop spanning tree to transfer data to root node from leaf nodes during k-lifetime slots. The hop-constrained spanning tree problem is well known to be a NP-hard problem [34]. Accordingly, we propose the greedy algorithm to find the k-hop spanning tree (Algorithm 3). In this algorithm, we find the dominating set converting our problem into set cover problem. Then, we find the connected dominating set using the shortest path between dominating set. If this connected path is greater than 2k, we chose to divide the subgraph. If this connected graph is less than or equal to 2k, we choose the root node as in equation (3). Therefore, it has the connected dominating set using the greedy algorithm in [35]. We describe a greedy algorithm to choose a dominating set in the given set G converting from the dominating set to the set cover problem. After calculating the average distance by k-lifetime slots, we find the connected dominating set, as shown in Figure 4. In the given connected dominating set, if the number of connected dominating sets is an odd number, we will add 1 to the number of connected paths (γ). Then, we can choose a root node as the centre node, as shown in Figure 5. After checking whether a k-hop bounded graph can construct in the given graph, we choose the root node from centre node in the given connected dominating sets.(4)root node=γ+12,ifγ=odd number,γ2,ifγ=even number,where γ is the number of connected path. Finally, we construct a k-hop spanning tree using a connected dominating set with a removing cycle (Algorithm 3). We find the bounded k-hop tree.Figure 3
An integrated topology snapshots over the time domain.Figure 4
Connected dominating set in the unified graph.Algorithm 2: A weight calculation for the k-LTTC problem.
Input: clustering set C∗, time constant kOutput: List of edge weight W(i,j)(1)
C∗=C1,C2,…,Cn;(2)
GList = Sort {δ(i,j), δ(k,l), …};(3)
whileC∗≠ϕCdo(4)
ifδ (i, j) ≥ CommunicationRangethen(5)
remove Edge;(6)
end if(7)
Wi,j=∑l=0kWtlδi,jtl∏l=0kεu,vtl/k;(8)
Calculate edge weights considering time slotsk at each Cluster;(9)
end while(10)
Return List of edge weightW(i,j);Figure 5
k-lifetime tree in IoVs.Algorithm 3: A centralized algorithm for the k-LTTC problem.
Input: Cluster Ci, time constant kOutput:k-hop bounded tree Tm(1)
make subsetS∗ in the Ci;(2)
whileSj∈S∗≠ϕdo(3)
Choose max number of setSj in the subset S∗;(4)
setD∗←D∗∪j;(5)
setS∗←S∗−j;(6)
end while(7)
find connected path betweenD∗ using shortest path;(8)
γ ←  size of connected path;(9)
ifγ > 2kthen(10)
divide connected path;(11)
end if(12)
ifγ is odd numberthen(13)
v←γ+1/2;(14)
else(15)
v←γ/2;(16)
end if(17)
=> construct the bounded k-hop tree removing cycling edge(18)
whilev∈G⋅v≠ϕdo(19)
for each adjacent vertex to (v) to (u) do(20)
ifv has no cyclingthen(21)
Tm=Tm∪v,u(22)
end if(23)
end for(24)
G.v ← G.v − v(25)
v ← the min number of u(26)
end while(27)(28)
Returnk-hop bounded tree Tm;Theorem 3.
Time complexity of the proposed algorithm isO(VE).Proof.
Initially, a centralized algorithm makes subsets in a cluster. It executes as many as the number of subsets. It executes as many times as each vertex and as many as the number of neighbouring edges of each vertex. Therefore, the time complexity of the proposed algorithm is O(VE).


### 3.3. A Decentralized Algorithm onk-Lifetime Tree Topology Construction for IoVs

In this section, we describe the distributed algorithm for thek-LTTC problem in highly dynamic networks. Unlike the centralized algorithm, the central node does not need to have the entire information of the networks in a decentralized method. This distributed algorithm is a more realistic algorithm than the centralized method. Our proposed algorithm is a modified version by adding time domain in order to consider the mobility of the IoV node in the existing distributed algorithm [36]. Our algorithm 4 is as follows.In the initialization step, every one of the nodes is state 0. The random number generator generates a random number in each vehicular node at the same time duration by the synchronized time clock. Some nodes are promoted as an initiator if the generated random number is over the threshold (ρ).In the construction step, each initiator node sends an INVITE message to neighbour nodes, when the neighbour nodes receive the INVITE message, including location information, time slotk, and level l. For M{Timestamp, L(xt, yt), Constant k, Level l}, the neighbour node will begin calculating the distance between the location of receiver node L(xt, yt) and the location of the initiator or sender L(xt, yt) and the time slot k. If the Euclidean distance (δ(i, j)) between receiver node and neighbour node exists within the communication range during k-lifetime slot units, the neighbour node will join the initiator or sender node that sends the JOIN message. As the neighbour node increases the level by adding a child node, these neighbour nodes will rebroadcast an INVITE message to their neighbour nodes. If the node does not receive any INVITE message after some time (τ) duration, the node starts working as an INITIATOR. Hence, this node also sends an INVITE message to the neighbour nodes.In the maintenance and conflict step, one node can receive an INVITE message from two neighbour nodes, as shown in Figure6(a). In this case, the node will join a high-level node group. If any node group is the same, it will make a decision to join the group based on an earlier timestamp. The initiator node can receive an INVITE message from another initiator, as shown in Figure 6(b). As the initiator compares the sending time, the initiator with late sending time will join the other groups and this initiator will send a discard message to the neighbour nodes. Initiator node can receive an INVITE message from child node, as shown in Figure 6(c).Algorithm 4: A decentralized algorithm for the k-LTTC problem.
Input: A set of vehicle V∗, time constant kOutput:k-hop topology tree T(1)
Setrandnum;(2)
Settokenlevel = 0;(3)
Setvehiclelocation = {(Xti,Yti), …, (Xtk,Ytk)};(4)
ifrandnum ≥ ρthen(5)
SetINITIATOR;(6)
BroadcastINVITE Message;(7)
end if(8)
ifReceive “Token” then(9)
Wi,j=∑l=0kδi,jtl∏l=0kεu,vtl/k;(10)
ifVehiclelevel = = Zerolevelthen(11)
ifW(i,j) ≤ CR and W(i,j) ≠ 0 then(12)
ChangeVehiclelevel from current state;(13)
ReplyJOIN Message;(14)
BroadcastINVITE Message;(15)
end if(16)
else(17)
ifVehiclelevel ≥ Tokenlevelthen(18)
DiscardToken;(19)
else(20)
ChangeVehiclelevel from Token;(21)
ifW(i,j) ≤ CR and W(i,j) ≠ 0 then(22)
ChangeVehiclelevel from current state;(23)
ReplyJOIN Message;(24)
BroadcastINVITE Message;(25)
end if(26)
end if(27)
end if(28)
else ifTime ≥ τthen(29)
SetINITIATOR;(30)
BroadcastINVITE Message;(31)
end ifFigure 6
A decentralized algorithm for thek-LTTC problem.In this case, if the initiator does not have any child node, the initiator will join the group, which has sent the INVITE message. After thek-LTTC, if a node receives an INVITE message from neighbour node, the node will make the decision in the following. If the node sends its data to the parent node and the level of the received node is higher than the parent node, the node will work to join from the sender node even though the node still has remaining time (k-lifetime).Theorem 4.
Message complexity of the proposed algorithm is 2k(n-1).Proof.
Each initiator node sends an invite request message to neighbour nodes. This communication counted (n-1) messages. Neighbour nodes send an invite reply message to the initiator node. This communication counted (n-1) messages. It repeats k times for k-lifetime tree construction. Therefore, the total communication message is 2k(n-1).


## 3.1. Notation and Problem Statement

Definition 1.
(graph by time space). Given a graphG  = (V(n,t), E(i,j,t)) by time-spaces, each IoV node has location V(n,t) = (xt, yt) In and each edge E(i,j,t) = (V(i,t), V(j,t)) in the time-space.Definition 2.
(radius of nodev). The radius Rv of node v is defined as the maximum communication range of each IoV node v, i.e., Rv=maxdcrv:v∈V.Definition 3.
(moving distance of nodev). The moving distance Dv of node v is defined as the maximum moving distance of each IoV node v, i.e., Dv=maxdmvv:v∈V.Definition 4.
(distance metric space). Consider the distance metrics space (V, δ), where V is the set of IoV nodes with their locations at each time slot. For each pair of vehicular nodes u,v∈V,δu,v is the Euclidean distance between vehicular node u and v:(1)
δu,v>0(2)
δu,v=0 if u = v(3)
δu,v=δv,u for all u,v∈V(4)
δu,w+δw,v≥δv,u for all u,v,w∈VDefinition 5.
(δ(i, j) of node i, j). δ(i, j) of node i, j is defined as δ(i, j) = |Vi − Vj| =  xj−xi2+yj−yi2.Definition 6.
(edge weightwi,j of node i, j). The edge weight of node i, j is defined as network priority for Quality of Service (QoS) in the network. The high priority has a lower value. The edge weight is set to 1 as an initial value by default. This will be used to regulate overall network traffic by prioritizing specific high-priority applications.Definition 7.
(list of total edge weightW (i, j) of node i, j). The list of edge weight of node i, j is defined as GList = Sort {W (i, j), W (k, l),...}.Definition 8.
(location prediction of nodev). The location prediction of IoV node v is defined as the next location in each time t moving each IoV node v by time t, speed s, and direction d, i.e., xmoving = s × cosd, ymoving = s × sind, The location ofvi,t1 = {xt0 + xmoving, yt0 + ymoving}The location ofvi,t2 = {xt1 + xmoving, yt1 + ymoving}The location ofvi,tk = {xtk − 1 + xmoving, ytk − 1 + ymoving}Problem 1.
Given a set of vehicular setV=v1,v2,v3,…,vn and constant k ≥ 2, we want to construct k-lifetime tree topology in order to guarantee data aggregation within and during k-lifetime while maintaining topology during k-lifetime slots in a highly dynamic topology scenario due to the high mobility nature of IoV node.
In this problem, we consider the design guidelines to an effective topology control algorithm as in [29]. Broadcasting by flooding is a common communication method in many network applications. However, this communication method causes a broadcast storm problem resulting in serious redundant rebroadcasts, contention, and collision [30]. Moreover, for long network connectivity, in other words, long network lifetime with reducing the energy consumption with the use of possible minimal power, WSNs consider the transmission range [31]. In a different way, IoVs also need to consider the transmission range but not for the energy consumption and network connectivity like in the WSNs, however, to avoid packet retransmission incurring by packet collisions caused by channel interference.
It is desirable to manage the network connectivity and avoid packet retransmission in highly dynamic mobility. Therefore, we need to construct ak-lifetime tree topology considering the delay time and dynamic environment with two different transmission ranges in the centralized and decentralized way. In general, there is no central authority in a wireless multihop network. In this case, we use a decentralized algorithm to construct a k-lifetime tree topology. If we have a centralized authority that collects local information and manages the network, we will use a centralized algorithm to construct a k-lifetime tree topology.


## 3.2. A Centralized Algorithm onk-Lifetime Tree Topology Construction for IoVs

In this section, we describe a centralized algorithm for thek-LTTC problem for IoVs. A centralized algorithm has three phases: Phase 1, partition into small clusters by Expected Cluster Size (ECS) β and greedy algorithm; Phase 2, connectivity calculation by an δu,v between each vehicle during k-lifetime applying time domain; Phase 3, the k-LTTC algorithm to construct a k-lifetime tree topology by the connected dominating set. In Phase 1, we apply a partition by adapting a greedy algorithm and cluster size. In Figure 2, we establish clustering from the large-scale network region into the small-scale network for network efficiency, bandwidth efficiency, and calculation efficiency [32, 33]. We designed geographic clustering algorithm (GCA) to make a partition into several clusters.Figure 2
Partition in the overall region by ECSβ.An ECSβ is the size to construct a k-hop tree by the minimum value of transmission range or moving distance (i.e., α∗=minRv,Dv) during k-time slots.(1)ECS=β≤2×k×α∗,where α∗=minRv,Dv and Rv is the radius of node v and Dv is the moving distance of node v. We will create the clusters by the GCA and if some clusters are greater than the ECS β, we will set up a partition cluster into a small cluster again using the GCA (Algorithm 1).Algorithm 1: Geographic clustering algorithm (GCA) for the k-LTTC problem.
Input: A set of vehicle V∗, time constant kOutput: Cluster set C∗(1)
α∗ = min{Rv,Dv};(2)
β=2×k×α∗;(3)
GList = {δ(i, j), δ(k, l),.…};(4)
fori = 1 to GList length do(5)
δ(i, j) = getElement(GList);(6)
ifδi,j≥Rvthen(7)
GList= GList− {δ(i, j)}(8)
end if(9)
end for(10)
ECList = make the beginning Clusters by disconnected edge;(11)
fori = 1 to ECList length do(12)
Ci = getClusterElement(ECList);(13)
TECS = TotalSizeDs,vix,y−De,vix,y(14)
ifTECS ≤ βthen(15)
C∗=C∗∪Ci(16)
else(17)
make sub-Clusters dividing by ECS β;(18)
GCA(V∗, k);(19)
end if(20)
end for(21)
Return cluster setC∗=C1,C2,…,CnTheorem 1.
ECS β has at most one cluster at 2×k×α∗ in the given complete graph.Proof.
In the given complete graph, we can formulate the following equations. Ifα∗=Rv, 2×k×Rv≤2×k=k hop tree and if α∗=Dv, 2×k×Dv≤2×k×Rv≤2×k=k hop tree.Theorem 2.
OPT≤MinTotalSize/2×k×α∗.Proof.
Each cluster has the same size with2×k×α∗. The best cluster is the one that has the biggest Euclidean distance that has the same size with 2×k×α∗.
In Phase 2, we can check network connectivity by calculating a Euclidean distance between each vehicle predicting the mobility of vehicle during certaink-lifetime, as shown in Figure 3. In [24], the authors’ model depicts the duration of time in network connectivity between two nodes using the motion parameters of two neighbour nodes (such as speed, moving direction, and radio propagation range). Using a different approach with [24], we construct a model to check network connectivity by applying the time domain in this problem as we assume that we can predict the mobility of vehicle nodes by Definition 8. Calculating the connected edges in this k-space-time domain in the following equation, we can find connected edges in a unified time domain, as shown in Figure 3.(2)Wu,v=∑l=0kwtlδu,vtl∏l=0kεu,vtlk,where wtl is the network priority weight at time l, δu,vtl is the Euclidean distance between the node u and the node v at time l, and εu,vtl is the network connection weight between the node u and the node v at time l.(3)εu,v=1,ifδu,v≤Rv,0,otherwise.
We calculated a total weightW(i,j) by multiplying the distance weight, the network priority weight, and the network connection weight between each vehicle at each time slot. We do not consider the out-of-bounds distance of communication range between each vehicle. In Figure 3, node 2 and node 7 have a connected edge with two nodes existing in the communication range at time slot 1 and slot 2. The two nodes do not have a connected edge as they exist over the communication range at time slot 3. Therefore, this edge does not include an integrated topology as the total weight Wu,v on a time union graph is 0 (Algorithm 2).
Phase 3. Thek-LTTC algorithm. In this phase, we construct k-lifetime tree topology to gather the data within k-lifetime slots. We assume that it will take 1-unit time to transfer the data per one hop. Therefore, we want to construct a k-hop spanning tree to transfer data to root node from leaf nodes during k-lifetime slots. The hop-constrained spanning tree problem is well known to be a NP-hard problem [34]. Accordingly, we propose the greedy algorithm to find the k-hop spanning tree (Algorithm 3). In this algorithm, we find the dominating set converting our problem into set cover problem. Then, we find the connected dominating set using the shortest path between dominating set. If this connected path is greater than 2k, we chose to divide the subgraph. If this connected graph is less than or equal to 2k, we choose the root node as in equation (3). Therefore, it has the connected dominating set using the greedy algorithm in [35]. We describe a greedy algorithm to choose a dominating set in the given set G converting from the dominating set to the set cover problem. After calculating the average distance by k-lifetime slots, we find the connected dominating set, as shown in Figure 4. In the given connected dominating set, if the number of connected dominating sets is an odd number, we will add 1 to the number of connected paths (γ). Then, we can choose a root node as the centre node, as shown in Figure 5. After checking whether a k-hop bounded graph can construct in the given graph, we choose the root node from centre node in the given connected dominating sets.(4)root node=γ+12,ifγ=odd number,γ2,ifγ=even number,where γ is the number of connected path. Finally, we construct a k-hop spanning tree using a connected dominating set with a removing cycle (Algorithm 3). We find the bounded k-hop tree.Figure 3
An integrated topology snapshots over the time domain.Figure 4
Connected dominating set in the unified graph.Algorithm 2: A weight calculation for the k-LTTC problem.
Input: clustering set C∗, time constant kOutput: List of edge weight W(i,j)(1)
C∗=C1,C2,…,Cn;(2)
GList = Sort {δ(i,j), δ(k,l), …};(3)
whileC∗≠ϕCdo(4)
ifδ (i, j) ≥ CommunicationRangethen(5)
remove Edge;(6)
end if(7)
Wi,j=∑l=0kWtlδi,jtl∏l=0kεu,vtl/k;(8)
Calculate edge weights considering time slotsk at each Cluster;(9)
end while(10)
Return List of edge weightW(i,j);Figure 5
k-lifetime tree in IoVs.Algorithm 3: A centralized algorithm for the k-LTTC problem.
Input: Cluster Ci, time constant kOutput:k-hop bounded tree Tm(1)
make subsetS∗ in the Ci;(2)
whileSj∈S∗≠ϕdo(3)
Choose max number of setSj in the subset S∗;(4)
setD∗←D∗∪j;(5)
setS∗←S∗−j;(6)
end while(7)
find connected path betweenD∗ using shortest path;(8)
γ ←  size of connected path;(9)
ifγ > 2kthen(10)
divide connected path;(11)
end if(12)
ifγ is odd numberthen(13)
v←γ+1/2;(14)
else(15)
v←γ/2;(16)
end if(17)
=> construct the bounded k-hop tree removing cycling edge(18)
whilev∈G⋅v≠ϕdo(19)
for each adjacent vertex to (v) to (u) do(20)
ifv has no cyclingthen(21)
Tm=Tm∪v,u(22)
end if(23)
end for(24)
G.v ← G.v − v(25)
v ← the min number of u(26)
end while(27)(28)
Returnk-hop bounded tree Tm;Theorem 3.
Time complexity of the proposed algorithm isO(VE).Proof.
Initially, a centralized algorithm makes subsets in a cluster. It executes as many as the number of subsets. It executes as many times as each vertex and as many as the number of neighbouring edges of each vertex. Therefore, the time complexity of the proposed algorithm is O(VE).


## 3.3. A Decentralized Algorithm onk-Lifetime Tree Topology Construction for IoVs

In this section, we describe the distributed algorithm for thek-LTTC problem in highly dynamic networks. Unlike the centralized algorithm, the central node does not need to have the entire information of the networks in a decentralized method. This distributed algorithm is a more realistic algorithm than the centralized method. Our proposed algorithm is a modified version by adding time domain in order to consider the mobility of the IoV node in the existing distributed algorithm [36]. Our algorithm 4 is as follows.In the initialization step, every one of the nodes is state 0. The random number generator generates a random number in each vehicular node at the same time duration by the synchronized time clock. Some nodes are promoted as an initiator if the generated random number is over the threshold (ρ).In the construction step, each initiator node sends an INVITE message to neighbour nodes, when the neighbour nodes receive the INVITE message, including location information, time slotk, and level l. For M{Timestamp, L(xt, yt), Constant k, Level l}, the neighbour node will begin calculating the distance between the location of receiver node L(xt, yt) and the location of the initiator or sender L(xt, yt) and the time slot k. If the Euclidean distance (δ(i, j)) between receiver node and neighbour node exists within the communication range during k-lifetime slot units, the neighbour node will join the initiator or sender node that sends the JOIN message. As the neighbour node increases the level by adding a child node, these neighbour nodes will rebroadcast an INVITE message to their neighbour nodes. If the node does not receive any INVITE message after some time (τ) duration, the node starts working as an INITIATOR. Hence, this node also sends an INVITE message to the neighbour nodes.In the maintenance and conflict step, one node can receive an INVITE message from two neighbour nodes, as shown in Figure6(a). In this case, the node will join a high-level node group. If any node group is the same, it will make a decision to join the group based on an earlier timestamp. The initiator node can receive an INVITE message from another initiator, as shown in Figure 6(b). As the initiator compares the sending time, the initiator with late sending time will join the other groups and this initiator will send a discard message to the neighbour nodes. Initiator node can receive an INVITE message from child node, as shown in Figure 6(c).Algorithm 4: A decentralized algorithm for the k-LTTC problem.
Input: A set of vehicle V∗, time constant kOutput:k-hop topology tree T(1)
Setrandnum;(2)
Settokenlevel = 0;(3)
Setvehiclelocation = {(Xti,Yti), …, (Xtk,Ytk)};(4)
ifrandnum ≥ ρthen(5)
SetINITIATOR;(6)
BroadcastINVITE Message;(7)
end if(8)
ifReceive “Token” then(9)
Wi,j=∑l=0kδi,jtl∏l=0kεu,vtl/k;(10)
ifVehiclelevel = = Zerolevelthen(11)
ifW(i,j) ≤ CR and W(i,j) ≠ 0 then(12)
ChangeVehiclelevel from current state;(13)
ReplyJOIN Message;(14)
BroadcastINVITE Message;(15)
end if(16)
else(17)
ifVehiclelevel ≥ Tokenlevelthen(18)
DiscardToken;(19)
else(20)
ChangeVehiclelevel from Token;(21)
ifW(i,j) ≤ CR and W(i,j) ≠ 0 then(22)
ChangeVehiclelevel from current state;(23)
ReplyJOIN Message;(24)
BroadcastINVITE Message;(25)
end if(26)
end if(27)
end if(28)
else ifTime ≥ τthen(29)
SetINITIATOR;(30)
BroadcastINVITE Message;(31)
end ifFigure 6
A decentralized algorithm for thek-LTTC problem.In this case, if the initiator does not have any child node, the initiator will join the group, which has sent the INVITE message. After thek-LTTC, if a node receives an INVITE message from neighbour node, the node will make the decision in the following. If the node sends its data to the parent node and the level of the received node is higher than the parent node, the node will work to join from the sender node even though the node still has remaining time (k-lifetime).Theorem 4.
Message complexity of the proposed algorithm is 2k(n-1).Proof.
Each initiator node sends an invite request message to neighbour nodes. This communication counted (n-1) messages. Neighbour nodes send an invite reply message to the initiator node. This communication counted (n-1) messages. It repeats k times for k-lifetime tree construction. Therefore, the total communication message is 2k(n-1).


## 4. Simulation Results and Discussion

In this section, we present the simulation result to evaluate our algorithm. The simulation was implemented using Java language. This simulation was performed on an Intel i5 core CPU, 8 GB RAM, and Windows 10 environment. The running time of the simulation is less than 1 second, as it took an average of 600 milliseconds to get results. By GCA and weight calculation algorithm, we have constructed a complete graph. Based on the complete graph, we constructed ak-lifetime tree topology by the centralized algorithm. We compare the minimum spanning tree algorithm and k-LTTC algorithm in this simulation. Figures 7–9 represent a network topology constructed by a minimum spanning tree algorithm at 30 nodes, 50 nodes, and 80 nodes with a connection within the communication range (250). In this simulation, we can see that topology is constructed by not hop limitation but communication range. Figures 10–15 represent the network topology constructed by the proposed k-LTTC algorithm with a connection within the communication range (250). In Figures 10, 12, and 14, the connected edge is not over 4 connections due to the 2-hop limitation from root node. In other words, every constructed tree has at most 4-hops. In Figures 11, 13, 15, and 16, the connection edge is not over 6 connections by the 3-hop limitation. Generating 150 nodes randomly, Figures 16 and 17 represent network topologies constructed by the minimum spanning tree algorithm and the proposed k-LTTC algorithm with a connection within communication range (120). In this simulation, we can see that the limited topology is constructed by the hop limitation algorithm (Algorithms 3).Figure 7
Spanning tree (30 nodes).Figure 8
Spanning tree (50 nodes).Figure 9
Spanning tree (80 nodes).Figure 10
k-lifetime tree (k = 2) (30 nodes).Figure 11
k-lifetime tree (k = 3) (30 nodes).Figure 12
k-lifetime tree (k = 2) (50 nodes).Figure 13
k-lifetime tree (k = 3) (50 nodes).Figure 14
k-lifetime tree (k = 2) (80 nodes).Figure 15
k-lifetime tree (k = 3) (80 nodes).Figure 16
k-lifetime tree (k = 3) (150 nodes).Figure 17
Spanning tree (150 nodes).


## 5. Conclusions

In this article, we propose thek-LTTC algorithm to consider highly dynamic networks in the characteristic of IoVs. As IoV is one category of MANET, topology control is important in order to send and receive data efficiently. To the best of our knowledge, this is the first work to adopt time slots as a mechanism to consider IoVs with high mobility. As we construct k-lifetime tree topology, this algorithm guarantees to transfer the data within k-lifetime slots and maintain topology during k-lifetime. We have proposed two different algorithms in a centralized and decentralized topology construction way. It has been shown that the proposed central algorithm has O(VE) time complexity and the proposed distributed algorithm has 2k(n − 1) message complexity. The proposed problem is the same as the minimum cost k-hop spanning tree problem(kHMST) [27, 37]. In [27], Althaus et al. proposed approximating kMST algorithm with O(n2) and Hassin et al. proposed TVC algorithm with O(mn2) in a subproblem. Our algorithm has better time complexity than the previously proposed algorithm. Furthermore, through simulation, we have verified the correctness of our proposed algorithms.



---

*Source: 8221179-2022-04-13.xml*