# Adjacency-Information-Entropy-Based Cooperative Name Resolution Approach in ICN
## 2 Related Work
### Neighbor Cooperation  
A neighbor relationship is an important concept in distributed systems. In most distributed systems, for the sake of scalability, a variety of functions and algorithms are performed autonomously by nodes deployed in a distributed manner, and the system composed of these distributed nodes forms a whole that unites to provide some service together [33]. Distributed nodes do not have the structure information of the whole system, but they can exchange information with other nodes in close proximity to discover the structure of the local area. Then, they can make better decisions and complete their tasks more efficiently, and these nodes nearby are called neighbor nodes. The discovery and usage of a neighborhood are key concerns for distributed node cooperation, and researchers have proposed different algorithms. The simplest way to discover and use neighbors is the flooding algorithm; a width-first search is used in Gnutella [34], which forwards query requests to all direct adjacency nodes of the current node. It has a high discovery rate, but the drawback is that it is costly, request messages grow exponentially with the number of hops, and when the requested target is far, the message overhead can impose a significant burden. As an improvement, the literature [35]  
Figure 1: The nested tree structure in the local name mapping and resolution system. Users select their own master name resolution node (MN) at each service level to provide name resolution service with deterministic response latency. The user set of the MN of the same user at different levels has nesting relationships, which forms a nested tree structure. proposes the SOADP algorithm, which limits the scope of flooding without reducing the query success rate and uses the forwarding state information of the nodes to decide whether to perform the duplication of the discovery message. The DS [36] algorithm is an improved random walker cooperative search algorithm, where the requesting node sends several walker messages to the adjacency nodes based on one-hop flooding messages and forwards a query message based on each node's neighbor structure index table and node storage capacity, until that walker message finds its target or reaches the maximum hop limit and is discarded. In addition to node storage capacity, node processing capacity, network bandwidth, physical latency, and local network topology information are also references for optimizing the efficiency of neighbor cooperation in distributed systems [37]. The literature [38] proposes an overlay network model where nodes in a close physical location are formed into a group by measuring the communication latency of nodes and establishing neighbor relationships between nodes in the group for inter-node cooperation. However, the neighbor relationships are maintained through a central server and the maintenance overhead increases dramatically when the network size is large. Some other researchers apply heuristic algorithms to neighbor cooperation. One study, [39], introduced theories such as particle swarm and self-organizing networks to describe the selection of neighbors and the process of overlay network evolution; QRF [40] uses a genetic algorithm and maintains historical statistics of neighbors, such as the average number of successful lookup hops, and based on this information the best neighbor node was intelligently selected for message forwarding. [PERSON] proposes an improved DBSCAN algorithm in [41] that uses covering trees to retrieve node neighbors in parallel and uses triangular inequalities to filter unnecessary distance computation to improve efficient clustering and neighbor cooperation. Most of the neighbor cooperation methods mentioned above use topology degree or the direct connection relationship of network nodes to discover and use neighbor nodes. Many studies take the degree as the indicator to quantify the structure characteristics of nodes.