# A Mathematical Model for Efficient and Fair Resource Assignment in Multipath Transport
## 3 Mathematical Model
### Extension of the Objective Function for Fairness
#### 3.2.3 Network Flow Fair Allocation (NFF)  
In Network Flow Fairness, the entire network is the resource whose capacity should be equally shared between flows. This network capacity is determined by summing up the throughput of all flows inside the network, or their subflows in case of multipath transport. Unlike the link capacity which can be easily specified due to the physical nature of a link, the network capacity is difficult to calculate as already mentioned in Definition 8. It depends on the topology of the network, the location of source and sink nodes and which flows or subflows get bottlenecked on which link. Furthermore, there is a trade-off between the goal of resource usage maximization and fairness as discussed in Section 2.3: using multipath might on the one hand be desired to maximize network utilization but on the other hand be unwanted for fairness reasons to avoid that a flow occupies multiple paths which should be assigned to other flows. An example for a network where NFF is applied was already given in Figure 4.  
When the entire network is the resource, fairness cannot be expressed by link-level constraints in the LP formulation but can only be included in the objective function. It is proposed to reflect the network fairness by a negative term whose absolute value increases in case of a large difference between the capacity assignments among the flows. The objective function for NFF is developed in multiple steps. After each step, an example of a network architecture is shown where the fairness methods specified up to that step fail to ensure fair allocation of the flows and thus require an extension which is then shown in the next step; the respective objective functions are denoted as NFF-objective-I, -II, etc. Let \(flow\_diff^{st}\) be the sum of the allocation differences between flow \([s,t]\in K\) and all other flows \([q,r]\in K\). \(\delta_{\text{all}}\) estimates the total allocation differences between all flows not concerning whether the flows share a common congested link or not. In Equation (13), the denominator is introduced because the allocation difference between two flows is added twice, between flows \(s\), \(t\) and vice versa:  
\[flow\_diff^{st}=\sum_{(q,r)\in K}|\;(m^{st}-m^{qr})\;|\qquad\forall[s,t]\in K, \tag{12}\]  
\[\delta_{\text{all}}=\frac{\sum_{[s,t]\in K}flow\_diff^{st}}{2}. \tag{13}\]  
The objective function NFF-objective-I (Equation (14)) maximizes the differences of the aggregated allocation (\(Alloc\)) and the total allocation difference among the flows (\(\delta_{\text{all}}\)). Though it seems that the objective function provides a network flow fair solution, it does not always fully utilize the available network capacity, as shown in the previously discussed scenario in Figure 4. As explained earlier, according to the network flow fair allocation method, flow \([\text{a},\text{f}]\) should get 20 Mbps and flow \([\text{m},\text{n}]\) should get 10 Mbps from the network. This implies the objective function value of 20 (\(Alloc=20+10,\;\delta_{\text{all}}=20-10\)) for this scenario. However, if each flow gets 10 Mbps, then the optimum value from the the objective function remains the same (\(10+10-0=20\)) as there is nodifference between the flow allocations. Thus, both allocations are valid and optimum for this scenario; however, they differ in the fairness:  
\[\text{NFF-objective-I:}\] \[\text{maximize}:\quad Alloc-\delta_{\text{all}}. \tag{14}\]  
Nevertheless, if the solver allocates \(10\,\mathrm{M}\mathrm{b}\mathrm{p}\mathrm{s}\) to each flow, the network capacity is not fully utilized, which is not desirable. From the closer look, it is visible that the flow \([\mathrm{a},\mathrm{f}]\) does not utilize multipath though the flow is multipath capable and not affecting any other flow.