# ICN-Oriented Mobility Support Method for Dynamic Allocation of Mobile Data Flows
## 3 How Can Dynamic Allocation Flows Be Realized in Mobility Support?
### Late-Binding Node Selection Problem Statement
#### 3.3.2 Problem Statement  
We specify packet transmission delay \(D_{i}^{j}\) after switching as follows:  
\[D_{i}^{j}=D_{si}^{j}+D_{id}^{j} \tag{1}\]  
where \(D_{si}^{j}\) is the packet transmission delay from the source to the late-binding node using late-binding node \(i\) in flow \(j\). \(D_{id}^{j}\) is the packet transmission delay from late-binding node \(i\) to the destination. The transmission path is calculated by the routing protocol adopted in the network. Minimize  
\[\overline{D}=\sum_{i=1}^{S}\sum_{j=1}^{F}D_{i}^{j}Z_{i}^{j}/F \tag{2}\]  
Subject to  
\[Z_{i}^{j}=\{0/1\} \tag{3}\]  
\[\sum_{i=1}^{S}Z_{i}^{j}=1,\forall j\in[1,F] \tag{4}\]  
\[\sum_{j=1}^{F}b_{i}^{j}Z_{i}^{j}\leq B_{i},\forall i\in[1,S] \tag{5}\]  
\[N_{i}=N_{imax}-N_{i-pre},\forall i\in[1,S] \tag{6}\]  
\[\sum_{j=1}^{F}n_{i}^{j}Z_{i}^{j}\leq N_{i},\forall i\in[1,S] \tag{7}\]  
where \(Z_{i}^{j}\) is an integer variable in \(\{0,1\}\), which is used to indicate whether node \(i\) is the late-binding node of flow \(j(Z_{i}^{j}=1)\) or not \((Z_{i}^{j}=0)\). Constraint (4) ensures that each flow is finally processed by a late-binding node. In constraint (5), \(B_{i}\) represents bandwidth capacity from late-binding node \(i\) to the destination before the selection of the late-binding node; \(b_{i}^{j}\) indicates the bandwidth required to transmit flow \(j\) from late-binding node \(i\) to the destination. The constraint is used to ensure that the bandwidth capacity of the switching path formed by selecting the late-binding node meets the transmission requirements of the mobile data flow. Equation (6) is used to calculate the available space of the MFT in node \(i\), where \(N_{i-pre}\) is the number of entries in the MFT of router \(i\) before selecting the late-binding node and \(N_{imax}\) is the maximum number of entries allowed in the MFT for router \(i\). Constraint (7) ensures that the number of MFT entries in the router does not exceed the maximum capacity of the MFT after the late-binding node is selected. We note that if node \(i\) is not a candidate late-binding node for flow \(j\), then \(D_{i}^{j}=\infty\). If node \(i\) is in the original path from consumer to producer, it can be a candidate late-binding node of flow \(j\). The factors affecting average packet transmission delay include the number of hops from the source node to the destination node and the propagation delay, processing delay, and queuing delay of the router. The number of hops from the source node to the destination node depends on the routing algorithm. In general, the lower the number of hops, the smaller the delay. The propagation delay is generally fixed. The queuing delay varies according to the traffic on the path and is related to the bandwidth occupied by the mobile flow allocated to the path. Router processing delay is mainly the lookup time of the MFT and routing table. When the size of the MFT and routing table is small, the time cost isvery low. Therefore, we can infer that the average packet transmission delay is only related to the number of hops between a producer and a consumer, assuming that the wired link delay is the same. We prove that the selection problem of late-binding nodes can be modeled as a special Multi-selection Multidimensional Knapsack Problem (MMKP), which is an NP-hard problem. The problem description of an MMKP is as follows: There are \(m\) backpacks and \(g\) group items, and each group (expressed by \(i\)) has \(l_{i}\) items. \(g\) group items have \(n\) items in total. Let \(M=\{1,2,\ldots,m\}\) be the knapsack set and \(G=\{1,2,\ldots,g\}\) be the group set, with \(l_{i}=\{1,2,\ldots,l_{i}\}\) as the item set of group \(i\), \(v_{ij}\) as the profit value of item \(j\) in group \(i\), \(c_{ijk}\) as the weight of resource \(k\) required for item \(j\) of group \(i\), and \(r_{k}\) as the total weight of resources on backpack \(k\). The goal of the MMKP is to select one item from each group while maximizing the total value of the selected items under the restriction of the total weight of resources in the backpack.