## 2 Distributed Fair Rate Allocation Algorithm
### Convergence to the Optimal Rate Allocation  
Let us start the iterations of the proposed CDM with \(\mathbf{\mu}^{0}=\mathbf{0}\). In the following we show that \(\mathbf{\mu}^{k}\longrightarrow\mathbf{\mu}^{*}\) as \(k\) increases. Initially, we assume that at the k-th iteration \(\mu_{i}^{k}>0\) only if \(\mu_{i}^{*}>0\), that is, the active constraints (_i.e._, attained with equality) at the k-th iteration are exactly the same as in the optimal solution and we prove that the algorithm converges to \(\mathbf{\mu}^{*}\). Afterwards, we describe the mechanism used by the CDM in order to activate or deactivate constraints until the subset of active constraints in the optimal solution is found out. Convergence to the Optimal Solution Given the Subset of Active Constraints at the Optimum  
Let us first recall in Proposition 1, a known result that establishes the relationship between primal and dual variables in the primal and dual subproblems [11, 12]. **Proposition 1**: _Let us consider the j-th primal subproblem \(p_{j}(\hat{y}_{j}^{k})\) in Problem (19) and the j-th dual subproblem \(d_{j}(\lambda_{j}^{k})\) in Problem (13) of the CDM. Then, the inner optimization variable \(\hat{\lambda}_{j}^{k}\) is a decreasing function of \(\hat{y}_{j}^{k}\) in the primal subproblems and the inner optimization variable \(y_{j}^{k}\) is a decreasing function of \(\lambda_{j}^{k}\) in the dual subproblems._  
See [12] (Lemma 2). Note, in particular, that if \(\hat{\lambda}_{j}^{k}\leq\lambda_{j}^{*}=\mathbf{A}^{T}\mathbf{\mu}^{*}\) as a result of the primal subproblems, then it is true that \(\hat{y}_{j}^{k}\geq y_{j}^{*}\) and vice versa. Similarly, if \(y_{j}^{k}\leq y_{j}^{*}\) as a result of the dual subproblems, then \(\lambda_{j}^{k}\geq\lambda_{j}^{*}=\mathbf{A}^{T}\mathbf{\mu}^{*}\) and vice versa. Note also that given \(\mathbf{\mu}^{k}\), all the values \(\lambda_{j}^{k}=[\mathbf{A}^{T}]_{j}\mathbf{\mu}^{k}\) with \(j\in\mathcal{I}_{i}\) attain either \(\lambda_{j}^{k}\geq\lambda_{j}^{*}\) or \(\lambda_{j}^{k}\leq\lambda_{j}^{*}\) as far as \([\mathbf{A}^{T}]_{j}\) is exactly the same for all \(j\in\mathcal{I}_{i}\). That is, if we start an iteration of the CDM with \(\mathbf{\lambda}^{k}\) in the dual subproblems, it holds that \(y_{j}^{k}\geq y_{j}^{*}\) for all \(j\in\mathcal{I}_{k}\) if \(\lambda_{j}^{k}\leq\lambda_{j}^{*}\) and vice versa due to Proposition 1. Once we obtain the values \(\mathbf{y}^{k}\) from the dual subproblems, the primal projection in Problem (14) is computed. Since we assume that [PERSON]'s condition holds, Problem (14) defines a convex program where strong duality is fulfilled. Therefore, KKT optimality conditions can be applied and the solution to the primal projection can be expressed as  
\[\hat{\mathbf{y}}^{k}=\mathbf{y}^{k}-\mathbf{A}^{T}\mathbf{\gamma} \tag{21}\]  
where \(\gamma_{i}\geq 0\) if \([\mathbf{A}]_{i}\hat{\mathbf{y}}\leq c_{i}\) and \(\gamma_{j}\in\mathbb{R}\) if \([\mathbf{A}]_{j}\hat{\mathbf{y}}=c_{j}\). In the first case, \(\gamma_{i}=0\) if the corresponding rate constraint is not exceeded and \(\gamma_{i}>0\) if the opposite situation occurs in order to satisfy it with equality. In the second case, \(\gamma_{j}\) can take any value in order to satisfy the corresponding constraint. As a result of the primal projection, it is clear that all the nodes in every subset \(\mathcal{I}_{i}\) either increase or decrease the initial allocation \(y_{j}^{k}\) in order to obtain \(\hat{y}_{j}^{k}\). In other words, if \(m,n\in\mathcal{I}_{i}\), then it is impossible, for example, that \(\hat{y}_{m}^{k}=y_{m}^{k}-a_{1}\) and \(\hat{y}_{n}^{k}=y_{n}^{k}+a_{2}\) with \(a_{1},a_{2}\geq 0\). Moreover, if \(\boldsymbol{\mu}^{k}\) is close enough to the optimal solution and assuming that \(\mu_{j}^{k}>0\) only if \(\mu_{j}^{*}>0\), the constraints that are attained with equality after the primal projection correspond only to the values \(\mu_{j}^{k}>0\).