# A Multipath Data-Scheduling Strategy Based on Path Correlation for Information-Centric Networking
## 4 Multipath Data Scheduling
### Path Correlation Analysis
Then the overlap degree of \(path_{i}\) and \(path_{j}\) can be expressed as:  
\[\rho_{ij}=\frac{2l}{m+n} \tag{4}\]  
Based on the above assumptions, we can calculate the joint reliability of \(path_{i}\) and \(path_{j}\), which can be expressed as:  
\[ \begin{array}{ll}R(i,j)&={(1-p)}^{l}(1-{(1-{(1-p)}^{m-l})}(1-{(1-p)}^{n-l})) \\ &={(1-p)}^{m}+{(1-p)}^{n}-{(1-p)}^{{(1-\frac{\rho_{ij}}{2})}(m+n)}.\end{array}  \tag{5}\]  
According to Formula (5), it can be known that as \(\rho_{ij}\) increases, \(R(i,j)\) will decrease, proving that the joint reliability will decrease as the overlap degree of the sub-paths increases. As shown in Figure 2, there are three paths between the data source and the destination (marked by green, red, and blue arrows). Assuming that the failure probability of each link segment is \(0.1\). according to Formula (3), the reliability of paths \(1\), \(2\) and \(3\) can be expressed as \(R(1)={(1-0.1)}^{4}\approx 0.6561\), \(R(2)={(1-0.1)}^{5}\approx 0.5905\) and \(R(3)={(1-0.1)}^{5}\approx 0.5905\), respectively. Path \(1\) and path \(2\) are overlapping, and the number of overlapping links is \(1\). According to Formula (5), the joint reliability of path \(1\) and path \(2\) can be expressed as \(R(1,2)\approx 0.8162\). Path \(2\) and path \(3\) do not overlap, so their joint reliability can be expressed as \(R(1,3)\approx 0.8592\). It follows that the mutual overlap between sub-paths reduces the joint reliability. If two sub-paths share a bottleneck link in the underlying physical network, the bottleneck link is usually the \"thin waist\" of the two sub-paths and is prone to congestion. Therefore, the state changes (e.g., an increase or decrease in the RTT or packet loss rate) of the bottleneck link will directly reflect on the overlapping sub-paths. For instance, an increase in RTT for one sub-path may be associated with an increase in RTT for another sub-path that overlaps it, and vice versa. Based on this, we believe that the behavior between overlapping sub-paths is highly similar. In this paper, we use the statistical correlation of RTT to estimate the correlation between sub-paths. Assuming that \(RTT_{i}(n),n=1,2,\ldots,N\) is the RTT sampling value of \(path_{i}\), and \(RTT^{\prime}_{i}(n),n=1,2,\ldots,N-1\) is the derivative of \(RTT_{i}(n)\), which can be expressed as:  
\[RTT^{\prime}_{i}(n)=RTT_{i}(n+1)-RTT_{i}(n),n=1,2,\ldots,N-1 \tag{6}\]  
We introduce a correlation coefficient to describe the overlapping degree between different paths, which is calculated as:  
\[Cor(i,j)=\frac{cov(RTT^{\prime}_{i}(n),RTT^{\prime}_{j}(n))}{\sqrt{var(RTT^{ \prime}_{i}(n))}} \tag{7}\]  
where, \(Cor(i,j)\) denotes the correlation coefficient of \(path_{i}\) and \(path_{j}\), \(cov(RTT^{\prime}_{i}(n),RTT^{\prime}_{j}(n))\) denotes the covariance of RTT variation of \(path_{i}\) and \(path_{j}\) and \(var(RTT^{\prime}_{i}(n))\) and \(var(RTT^{\prime}_{j}(n))\) denote the variance of RTT variation of \(path_{i}\) and \(path_{j}\), respectively. We set a skewness threshold \(\delta\). If \(Cor(i,j)>\delta\), then \(path_{i}\) and \(path_{j}\) are correlated; otherwise, \(path_{i}\) and \(path_{j}\) are uncorrelated. For a multipath connection, we design a relay node-selection-algorithm based on path correlation (see Algorithm 1), which is described as follows:  
Step 1: First, initialize the set of candidate relay nodes \(R\) based on the result returned by the NRS, initialize the set of selected relay nodes \(S\) to be empty, and add the default IP path to the set of selected paths \(P\). Step 2: If the source node caches the path correlation information about the destination node, the relay node is selected based on this information, and the relay node selection ends; if the source node does not record any path correlation information about the destination node locally, go to Step 3. Step 3: The source node randomly selects \(k\) relay nodes from \(R\) to construct the initial ID paths and calculates the path correlation coefficient during transmission.