# SubvectorS_Geo: A Neural-Network-Based IPv6 Geolocation Algorithm
## 3 The SubvectorS_Geo Algorithm
### Encoder
#### 3.3.3 Path Encoding
 \tag{17}\]  
\(H_{s}\) is our filtering evaluation for the hostname similar routers after the closest common router in the landmark measurement data, the path segment starting from the closest common router \(P_{m,n,j}\) to the terminal routing address \(P_{m,n,k}\). When any IPv6 route \(P_{m,n,c(j<c<k)}\) on the path segment has a hostname similar to the one in the \(H_{lrp}\) hostname data, i.e., there is a route with a similar hostname after the closest common router, the value is assigned as 1. Otherwise, the value is assigned as 0. Delay vector encoding: The different trusted regions divided by different routing features determine the different delay vectors of interest, as shown below. \[T_{l}= \begin{cases}t_{m,n,k},t_{m,n,(k-1)},...,t_{m,n,(i+1)},t_{m,n,i}&\text{ if }P_{i}=P_{m,n,i}\ \text{and }\ L=1\\ t_{m,n,k},t_{m,n,(k-1)},...,t_{m,n,j},...,t_{m,n,1}&\text{if }P_{i}=\gamma\ \text{and }\ L=1\\ t_{m,n,k},t_{m,n,(k-1)},...,t_{m,n,j},...,t_{m,n,1}&\text{if }P_{i}=\gamma\ \text{and }\ L=0\end{cases}  \tag{18}\]  
\(T_{l}\) landmark delay vector coding: In the landmark path delay dataset \(T_{ld}\), when \(P_{i}=P_{m,n,i}\) and \(L=1\), the path coding delay vector \(T_{l}\) is assigned to all delays from the terminal IP delay \(t_{m,n,k}\) to the marking IP delay \(t_{m,n,i}\), and the inverse path order delay is assigned. When \(P_{i}=\gamma\) and \(L=1\), the assignment of this path delay vector code \(T_{l}\) starts from the terminal IP delay \(t_{m,n,k}\) to the end of the starting router delay \(t_{m,n,1}\), also called the inverse path order delay assignment. When \(P_{i}=\gamma\) and \(L=0\), the assignment of this path delay vector code starts from the terminal IP delay \(t_{m,n,k}\) to the end of the starting router delay \(t_{m,n,1}\), also called the inverse path order delay assignment. \[T_{t}= \begin{cases}t_{m,x,k},t_{m,x,(k-1)},...,t_{m,x,(j+1)},t_{m,x,j}&\text{ if }P_{i}=P_{m,x,i}\text{ and }\ L=1\\ t_{m,x,k},t_{m,x,(k-1)},...,t_{m,x,(i+1)},t_{m,x,i}&\text{ if }P_{i}=P_{m,x,i}\text{ and }\ L=0\\ t_{m,x,k},t_{m,x,(k-1)},...,t_{m,x,(j+1)},t_{m,x,j}&\text{ if }P_{i}=\gamma\text{ and }\ L=1\\ t_{m,x,k},t_{m,x,(k-1)},...,t_{m,x,j},...,t_{m,x,1}&\text{ if }P_{i}=\gamma\text{ and }\ L=0 \end{cases}  \tag{19}\]  
\(T_{t}\) target delay vector encoding: In the target path delay dataset \(T_{td}\), when \(P_{i}=P_{m,x,i}\) and \(L=1\), the path encoding delay vector \(T_{t}\) is assigned to all the delays from the terminal IP delay \(t_{m,x,k}\) to the closest common route IP delay \(t_{m,x,i}\), in the reverse path delay order. When \(P_{i}=P_{m,x,i}\) and \(L=0\), the path encoding delay vector \(T_{t}\) is assigned to all the delays from the terminal IP delay \(t_{m,x,k}\) to the identified IP delay \(t_{m,x,i}\). When \(P_{i}=\gamma\) and \(L=1\), the path encoding delay vector \(T_{t}\) is assigned to all the delays from the terminal IP delay \(t_{m,x,k}\) to the closest common router delay \(t_{m,x,i}\), also called the inverse path delay order. When \(P_{i}=\gamma\) and \(L=0\), this path delay vector code \(T_{t}\) is assigned from the terminal IP delay \(t_{m,x,k}\) to the starting route \(t_{m,x,1}\), also called the inverse path delay order. \(P_{m,x,i}\) is the representation of the identification IP in the target IP path, which is encoded in the same way as \(P_{m,n,i}\).