## 4 D2D Group Communication Scheme with Bidirectional and InCrentental A-Star (BICA*) Routing
### Path Selection Algorithm
Figure 9a is an established path according to the BICA* algorithm. If the gray node failed for some reason, the inconsistency between \(g\) and \(rhs\) values is an indication of link rupture. Nodes after the failed node will be marked as unreachable, as indicated in Figure 9c and then Figure 9d. With BICA*, the search needs not be restarted from scratch. Instead, the search can be resumed from the state as shown in Figure 9e, backtracking to states where the search can be carried on. The time it takes for path repair can be significantly reduced. Figure 8: An illustration for bidirectional search BICA*. ## 5 Performance Evaluation

A series of simulations are conducted to validate the feasibility and effectiveness of the proposed approach. Simulations are conducted using Matlab with the environmental and parameter settings listed in Table 1. We compare the proposed scheme with existing approaches from various perspectives, including delay, throughput, executing time, and satisfaction ratio. Figure 10 shows the scenario of our simulation. There is one macro cell and four UE groups. The radius of the macro cell is 500 m. Groups are randomly distributed within the coverage of the macro cell. Group members are randomly generated to be within the

Figure 9: An illustration for incremental update of BICA\({}^{\star}\). radius of the group center. Members of a group prefer the same content type. A member UE moves randomly within the range of a group. Group mobility is also considered in the simulation. We adopt the Reference Point Group Mobility (RPGM) model [34]. For instance, if a group has a moving vector \(\overrightarrow{R}\), a member UE of the group has a randomly generated moving vector \(\overrightarrow{K}\), and the net moving vector for the UE will be \(\overrightarrow{R}+\overrightarrow{K}\). \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline Bandwidth & 10 MHZ \\ Number of RBs & 50 \\ Number of Macro & 1 \\ Radius of Macro & 500 m \\ Power of Macro & 46 dBm \\ Path Loss Model [35] & Macro : \(128.1+37.6*log_{10}d\) (\(d\) in km) \\ D2D : \(148+40*log_{10}d\) (\(d\) in km) \\ Noise power density & \(-174\) dBm/Hz \\ Power of UE & 23 dBm \\ Number of groups & 4 \\ Radius of group & 50, 75, 100, 125 m \\ Number of UEs in group & 10–50 \\ D2D maximum communication range & 10, 15, 20, 25, 30 m \\ Speed of UE & 0, 3, 6 (Km/h) \\ File distribution & Zipf [36] \\ [\(\alpha\), \(\beta\)] & [0.5, 0.5] \\ UE cache size & 2 GB \\ Simulation Time & 1 min \\ Rounds & 30 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Environmental and parameter settings for simulation. Figure 10: A scenario for the simulations. We consider three different content types in our study. They are text, music, and video. Each type has 200 instances in the simulation with a QCI (QoS Class Identifier) value and delay budget specified in Table 2. The size of each content instance is within specified minimal and maximal values. The distribution of contents follows Zipf's Law [37], that is, the frequency of the \(n\)-th frequent content is one-tenth of the frequency of the most frequent content. During the simulation, for every 10 ms, a UE issues a content request. A UE would not request contents it already possessed. The request reaches the header first. The header will take care of the request according to the procedures and algorithms discussed in previous sections. For comparative study, we also implement Greedy, Two-Stage Relay Selection (TSRS) [18], and a standard A* algorithm in our simulation. In a Greedy scheme, a node always picks up, from its neighbors, the node nearest to the target as its relay. TSRS finds a relay in between, and with equal distance to, the sender and receiver. If this relay cannot receive correctly, the approach will consider another relay between the sender and the first relay. If this relay fails again, it will consider another relay between the first relay and the receiver. The procedure repeats until a path is established.