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 the k-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.

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 [15]. 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 [612]. 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 [1316].

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 Figure 1).

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 integer k 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 the k-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: Section 2 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.

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 graph G  = (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 node ). The radius of node is defined as the maximum communication range of each IoV node , i.e., .

Definition 3. (moving distance of node ). The moving distance of node is defined as the maximum moving distance of each IoV node , i.e., .

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 , is the Euclidean distance between vehicular node u and v:(1)(2) if u = (3) for all (4) for all

Definition 5. (δ(i, j) of node i, j). δ(i, j) of node i, j is defined as δ(i, j) = |Vi − Vj| =  .

Definition 6. (edge weight 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 weight W (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 node ). The location prediction of IoV node 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 × , ymoving=s × , The location of  = {xt0 + xmoving, yt0 + ymoving}The location of  = {xt1 + xmoving, yt1 + ymoving}The location of  = {xtk − 1 + xmoving, ytk − 1 + ymoving}

Problem 1. Given a set of vehicular set 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 a k-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 on k-Lifetime Tree Topology Construction for IoVs

In this section, we describe a centralized algorithm for the k-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 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.

An ECS β is the size to construct a k-hop tree by the minimum value of transmission range or moving distance (i.e., ) during k-time slots.where and is the radius of node and is the moving distance of node . 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).

Input: A set of vehicle , time constant k
Output: Cluster set
(1) = min{};
(2);
(3)GList = {δ(i, j), δ(k, l),.…};
(4)for i = 1 to GList length do
(5)δ(i, j) = getElement(GList);
(6)ifthen
(7)  GList= GList− {δ(i, j)}
(8)end if
(9)end for
(10)ECList = make the beginning Clusters by disconnected edge;
(11)for i = 1 to ECList length do
(12)Ci = getClusterElement(ECList);
(13)TECS = TotalSize
(14)if TECS ≤ β then
(15)  
(16)else
(17)  make sub-Clusters dividing by ECS β;
(18)  GCA(, k);
(19)end if
(20)end for
(21)Return cluster set

Theorem 1. ECS β has at most one cluster at in the given complete graph.

Proof. In the given complete graph, we can formulate the following equations. If , hop tree and if , hop tree.

Theorem 2. .

Proof. Each cluster has the same size with . The best cluster is the one that has the biggest Euclidean distance that has the same size with .
In Phase 2, we can check network connectivity by calculating a Euclidean distance between each vehicle predicting the mobility of vehicle during certain k-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.where is the network priority weight at time l, is the Euclidean distance between the node u and the node at time l, and is the network connection weight between the node u and the node at time l.We calculated a total weight W(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 on a time union graph is 0 (Algorithm 2).
Phase 3. The k-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.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.

Input: clustering set , time constant k
Output: List of edge weight W(i,j)
(1);
(2)GList=Sort {δ(i,j), δ(k,l), …};
(3)whileC do
(4)if δ (i, j) ≥ CommunicationRange then
(5)  remove Edge;
(6)end if
(7);
(8) Calculate edge weights considering time slots k at each Cluster;
(9)end while
(10)Return List of edge weight W(i,j);
Input: Cluster Ci, time constant k
Output: k-hop bounded tree Tm
(1)make subset in the Ci;
(2)whiledo
(3)  Choose max number of set Sj in the subset ;
(4)  set ;
(5)  set ;
(6)end while
(7)find connected path between using shortest path;
(8)γ ←  size of connected path;
(9)  if γ> 2k then
(10)   divide connected path;
(11)  end if
(12)  if γ is odd number then
(13)   ;
(14)  else
(15)   ;
(16)  end if
(17)   => construct the bounded k-hop tree removing cycling edge
(18)  whiledo
(19)  for each adjacent vertex to () to (u) do
(20)   if v has no cycling then
(21)    
(22)   end if
(23)  end for
(24)   ←  − 
(25)   ← the min number of u
(26)  end while
(27)
(28)Return k-hop bounded tree Tm;

Theorem 3. Time complexity of the proposed algorithm is O(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 on k-Lifetime Tree Topology Construction for IoVs

In this section, we describe the distributed algorithm for the k-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 slot k, 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 Figure 6(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).

Input: A set of vehicle , time constant k
Output: k-hop topology tree T
(1)Set randnum;
(2)Set tokenlevel = 0;
(3)Set vehiclelocation = {(Xti,Yti), …, (Xtk,Ytk)};
(4)if randnumρ then
(5) Set INITIATOR;
(6) Broadcast INVITE Message;
(7)end if
(8)if ReceiveTokenthen
(9);
(10)if Vehiclelevel = = Zerolevelthen
(11)  if W(i,j) ≤ CR and W(i,j) ≠ 0 then
(12)    Change Vehiclelevel from current state;
(13)    Reply JOIN Message;
(14)    Broadcast INVITE Message;
(15)  end if
(16)else
(17)  if Vehiclelevel ≥ Tokenlevelthen
(18)   Discard Token;
(19)  else
(20)   Change Vehiclelevel from Token;
(21)if W(i,j) ≤ CR and W(i,j) ≠ 0 then
(22)    Change Vehiclelevel from current state;
(23)    Reply JOIN Message;
(24)    Broadcast INVITE Message;
(25)   end if
(26)  end if
(27)end if
(28)else if Timeτ then
(29)  Set INITIATOR;
(30)  Broadcast INVITE Message;
(31)end if

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 the k-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 a k-lifetime tree topology by the centralized algorithm. We compare the minimum spanning tree algorithm and k-LTTC algorithm in this simulation. Figures 79 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 1015 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).

5. Conclusions

In this article, we propose the k-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.

Data Availability

No data were used to support this study.

Disclosure

This paper is an extended version of the authors’ paper, presented at IEEE INFOCOM 2018-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS) [38].

Conflicts of Interest

The authors declare that they have no conflicts of interest regarding the publication of this article.