## 2 Materials and Methods
### System Model  
In LNMRS, if there is a resolution node \(RN_{i+1}^{k}\), and its corresponding parent node is \(RN_{i}\), then for any user \(u_{i+1}\) of \(RN_{i+1}^{k}\), its corresponding resolution node in level \(i\) must be \(RN_{i}\). If some mapping records of \(RN_{i}\) are stored on \(RN_{i+1}^{k}\), the resolution service latency may still be guaranteed if a resolution request of \(u_{i+1}\) is responded to by \(RN_{i+1}^{k}\). Based on the above idea, in order to alleviate excessive storage pressure on high-level resolution nodes in LNMRS by collaboratively stored mapping records to low-level resolution nodes, we propose a collaborative storage and resolution method based on index neighbor structure. In this method, the higher-level resolution node stores some mapping records with compressed data structures such as BloomFilter, and these mapping records are stored actually in the index neighbor of this higher-level resolution node, and resolution requests related to these mapping records are finally responded to by the index neighbor. Here, the index neighbor must satisfy some certain latency constraints. Considering that record mapping table lookup and index table lookup in memory are based on hash algorithm in microsecond order, and the resolution service latency is in millisecond order, processing latency on the resolution node is ignored when considering the resolution service latency. **Definition 1**. : _Index neighbor._  
Index neighbor is a structural relationship among name resolution nodes. An index neighbor is dedicated for collaboratively storing and resolving mapping records for high-level resolution nodes, an example index neighbor structure of the name resolution node \(RN_{i}\) is shown in Figure 2, and the latency constraint that the index neighbor should meet is in Equation (1). Figure 2: An index neighbor structure example, which shows the relationships among master node, index neighbor node, and users of the master node. In the service scenario involving index neighbor, a resolution request is sent from a user of the master node to the master node, and then redirected to the index neighbor. The resolution response is then sent by the index neighbor to the user. \[indexNci^{k}=\{RN_{i+1}^{k}\mid latency(u_{i},RN_{i})+latency(RN_{i}, RN_{i+1}^{k})+latency(RN_{i+1}^{k},u_{i}) \tag{1}\] \[<=2*T_{i},\forall u_{i}\in U(RN_{i})\}\]  
In the above equation, \(RN_{i}\) denotes any resolution node in level \(i\), which is called the master node in index neighbor context, \(u_{i}\) denotes any user in \(U(RN_{i})\), \(T_{i}\) is the deterministic latency value corresponding to level \(L_{i}\), \(RN_{i+1}^{k}\) denotes an index neighbor of the master node, and \(latency(u_{i},RN_{i})+latency(RN_{i},RN_{i+1}^{k})+latency(RN_{i+1}^{k},u_{i})\) is the round-trip latency of the resolution service procedure, where the request is sent to \(RN_{i}\) from \(u_{i}\), and then redirected to \(RN_{i+1}^{k}\) and is responsed by \(RN_{i+1}^{k}\). From the formula we can see that if the latency between \(RN_{i}\) and \(RN_{i+1}^{k}\), and the latency between \(RN_{i+1}^{k}\) and \(u_{i}\), is delicately constrained, the whole service latency might be smaller than the pre-defined upper bound. Definition 2: Index neighbor group. The definition of the index neighbor is closely related to users of the master node. To construct an index neighbor structure, the most ideal situation is that the index neighbor resolution node could provide resolution service for all users of the master node within a deterministic latency upper bound. However, this constraint is too strict, and it may be possible that none of the lower-level resolution nodes satisfy the latency constraint of Equation (1) for all users of the master node.