# A Novel Multipath Transmission Scheme for Information-Centric Networking
## 4 Path Management
### Path Switching  
As described above, we determine the initial paths based on prior knowledge of the _PST_. However, these ICN relay nodes usually need to carry more traffic and are a frequent location of congestion. During the transmission, once a path experiences heavy congestion, it is necessary to re-examine its availability. To alleviate congestion, a common method is to allocate fewer data chunks to congested paths. This method is feasible when the path is slightly congested for a short time. Once a path is heavily congested for a long time, it means that the path cannot provide high-quality transmission services. In this case, it is wise to delete the congested path from \(S\) and look for another alternative.  
In this paper, we use the packet loss rate to judge whether a sub-path is congested. Considering that a high sampling frequency may cause redundant calculation overhead, we set a time interval, \(\Delta t\), during which the receiver samples the instantaneous packet loss rate. According to the experimental results from [45], we set \(\Delta t\) to 0.2 s. As shown in Equation (4), the packet loss rate is calculated in a smooth manner to avoid erroneous estimates caused by short-term burst traffic.  
\[LOSS_{i}(t)=\alpha\times loss_{i}(t)+(1-\alpha)\times LOSS_{i}(t-\Delta t) \tag{5}\]  
where \(LOSS_{i}(t)\) is the average packet loss rate of path \(i\), and \(loss_{i}(t)\) is the ratio of the number of lost packets to the number of transmitted packets during \(\Delta t\). The receiver calculates the packet loss rate of each path and feeds the congestion information back to the edge router through request packets, and the latter performs path switching. Weintroduce a congestion threshold, \(L_{thresh}\). According to the relationship between \(LOSS_{i}(t)\) and \(L_{thresh}\), we can judge whether the path is in the heavy congestion state. The path switching algorithm pseudocode is shown in Algorithm 2.  
\[congestion\_flag=\left\{\begin{array}{c}0,0<LOSS_{i}(t)<L_{thresh}\\ 1,L_{thresh}<LOSS_{i}(t)\end{array}\right. \tag{6}\]  
The main overhead of multipath transmission is determined by the maintenance cost of the path state. The higher the maintenance cost, the higher the complexity. Assume that the number of optional relay nodes is \(N\). In a RON, each node needs to maintain the path state with other \(N-1\) nodes, so the maintenance cost is O(N\({}^{2}\)). PPRR selects \(M\) from \(N\) optional nodes to form the top set and maintains the path state between \(M\) nodes according to the probing results, so its complexity is O(\(M^{2}\)). The method adopted in this paper is based on prior information of historical transmission, and does not require any probing operation, so the complexity is also O(1). This shows that our method is scalable. Moreover, we use a practical data scheduling strategy in this paper. To avoid out-of-order arrival of packets of the same chunk, we set the granularity of data scheduling to chunk level instead of packets. The edge node adopts the round robin method based on the packet loss rate, and preferentially allocates the chunks to be transmitted to the path with the smallest packet loss rate.  
```
1:Input:\(loss(t)\), \(LOSS(t\)-\(\Delta t)\), \(PST\), \(P\)
2:Output:\(S\)
3:for every \(\Delta t\) during transmission do
4: count the packet loss rate \(loss_{i}(t)\) of selected path
5:\(LOSS_{i}(t)=\alpha\times loss_{i}(t)+(1\)-\(\alpha)\times LOSS_{i}(t\)-\(\Delta t)\)
6:for every \(NA_{i}\) in \(S\)do
7:if\(LOSS_{i}(t)>L_{thresh}\)then
8:\(S=S\backslash\{NA_{i}\}\)
9:\(TSR_{i}=TSR_{i}-1\)
10:\(S=S\cup SelectTop\_K(P\backslash S\), \(PST\),1)
11:end if
12:endfor
13:endfor
```  
**Algorithm 2** Path Switching Algorithm