# Adjacency-Information-Entropy-Based Cooperative Name Resolution Approach in ICN
## 4 Proposed Approach
### Latency Neighbor Discovery
#### 4.2.2 Discovery Process  
Neighbor relationships in distributed systems tend to be transitive, i.e., if \(MN_{A}\) is a neighbor of \(MN_{B}\) and \(MN_{B}\) is a neighbor of \(MN_{C}\), then there is a high probability that \(MN_{A}\) is also a neighbor of \(MN_{C}\). This characteristic is more significant when the network nodes are densely distributed. ACNR also exploits this characteristic for latency neighbor discovery. For more efficient discovery, we found that the practical significance of adjacency information entropy to discover important nodes through comprehensive consideration of direct and indirect neighbors was relatively consistent with the scene of latency neighbor discovery in LNMRS. Forwarding discovery messages to nodes with higher adjacency information entropy is beneficial to discover more latency neighbors, so ACNR adapts the concept related to the adjacency information entropy based on transmission latency. For a name resolution node \(MN_{i}^{l}\), the importance of latency neighbor (ILN) can be represented as Equations (11)-(13):  
\[Q_{i}=\sum_{j\in LT\left(MN_{i}^{l}\right)}\left|L\Gamma\left(MN_{j}^{l} \right)\right| \tag{11}\]  
\[p_{ij}=\frac{\left|L\Gamma\left(MN_{j}^{l}\right)\right|}{Q_{i}},\ j\in LT \left(MN_{i}^{l}\right) \tag{12}\]  
\[ILN\left(MN_{i}^{l}\right)=-\sum_{j\in LT\left(MN_{i}^{l}\right)}p_{ij}\log_{2 }p_{ij} \tag{13}\]  
The above equations show that the importance of a node is not only related to itself but also the importance of its neighbor nodes, and the ILN can quantitatively represent the importance of a node in the network. With this metric, the neighbor discovery message can be forwarded to the node with higher influence, and the limitation of considering the node's low degree but neglecting its high influence neighbors in some degree-greedy methods will not exist. After initialization, each name resolution node communicates with the nodes in its latency neighbor list periodically and obtains others' latency neighbor lists to join its latency neighbor candidate set. The nodes in this set have the same name resolution service level as the current name resolution node. The current name resolution node also measures the latency of each node in the latency neighbor candidate set, and then adds the nodes satisfying Equation (10) to its latency neighbor set. With the periodic execution of this process, latency neighbor information will also continuously spread among nodes. In this paper, variable \(n\) is used to represent the execution rounds of the neighbor discovery process, and this variable also reflects the maximum hops of latency neighbor information spread among nodes. The specific algorithm is given in Algorithm 2.  
```
0:\(MN_{i}^{l}\), \(T=\{t_{1},t_{2}\dots t_{L}\}\) m
0:neighbors
1:initialization: neighbors\(\leftarrow\)MN\({}_{i}^{l}\). neighbors
2:candidates \(\leftarrow\)null
3:for\(mn\) in neighbors do
4: calculate ILN of \(mn\).neighbors by formula (13)
5: sort \(mn\).neighbors with ILN in descending order
6: add the first \(m\)\(mn\).neighbors to candidates
7:for\(c\) in candidates do
8:if\(d\left(MN_{i}^{l}\right),\ c\ \right)<\ t_{L}\)then
9: add \(c\) to neighbors
10:return neighbors
```  
**Algorithm 2**Discovery Process.