# An Intelligent Cluster-Based Routing Scheme in 5G Flying Ad Hoc Networks
## 2 Related Work
## 3 Network Architecture

Figure 1 shows a 5G network characterized by ultra-densification and heterogeneity. Our investigation focuses on the access network, rather than the network core (or backbone), in which the FANETs and UAVs operate as seen in [2,18]. Due to ultra-densification, a massive amount of data is generated, and due to heterogeneity, UAVs have different transmission capabilities. A 5G network can be segregated into different network planes comprised of different network cells (i.e., macrocell, picocell, and femtocell). There are a CC and DCs. The CC handles the global context, and it (a) gathers global information (i.e., residual energy) and local information (i.e., geographical location) from DCs to provide network-wide information, and (b) sends routing decisions to the DCs, which form routes accordingly. Meanwhile, a DC handles the local context in a network plane, and it (a) gathers global information (i.e., residual energy) from CC, and (b) sends local information and clustering decisions to the CC so that VCGs can be selected for inter- and intra-plane communications. _Network planes._ A 5G network consists of _three_ network planes, namely, _macrocell, picocell_, and _femtocell_. Each network plane consists of UAVs and BSs with different characteristics as shown in Table 5. In general, the macrocell, picocell, and femtocell have large, medium, and small transmission ranges (or coverage), and so they have high, medium, and low node densities of UAVs, respectively. According to the authors of [38], the macrocell has a coverage of a 1000 m, pico has a coverage up to 100 m, while femto has a coverage of a few meters [38]. UAVs can move from one network plane to another (i.e., either to an upper plane or to a lower plane) based on the relative speed and the number of handovers across different network planes. In order to mitigate the effect of high node mobility, UAVs with high, medium, and low node mobilities connect to macrocell, picocell, and femtocell, in order to reduce handovers among BSs, respectively. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multirow{2}{*}{**Network Plane**} & \multicolumn{3}{c}{**Characteristics**} \\ \cline{2-4}  & **Node Density (Percentage** & **Node Mobility (Meters** & **Transmission Range** \\  & **of UAVs)** & **per Second)** & **(Meters)** \\ \hline Macrocell & 45\% & 66.7–100 & 10–500 \\ Picocell & 35\% & 33.4–66.6 & 10–300 \\ Femtocell & 20\% & 0–33.3 & 10–100 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Characteristics of network planes. Central controller (CC) makes decisions and manages the global task (i.e., vertical routing). There are three main disadvantages. First, CC causes a _lower network scalability_. Second, CC causes a _lower network reliability_ due to a single point of failure. Third, CC causes a _reduced network performance_ (e.g., lower throughput and higher end-to-end delay) due to a higher congestion level at the CC [39; 40] because it (a) handles a massive amount of data and (b) is updated with highly dynamic data. Therefore, CC may not be suitable to handle FANETs with high node mobility [41]. _Distributed controllers (DCs)_ make decisions and manage local tasks (e.g., in the network plane). Each network plane has a DC that handles UAVs and BSs in the respective plane, and connects the UAVs and BSs to the CC. The DCs handle highly dynamic data, which addresses the disadvantages of the CC. However, the DC has the main disadvantage in which its decisions and management are limited to the local context (i.e., clustering and cluster maintenance). ### Data Lifetime

In FANETs, UAVs and BSs generate highly dynamic data, such as geographical location, and moving speed and direction. Higher dynamicity reduces data lifetime and increases the need to update controllers (i.e., CC and DCs) with the data. Data have either short-lifetime (i.e., with short expiry due to high dynamicity) or long-lifetime (i.e., with long expiry due to low dynamicity) as follows:

\[t_{p}=