## 3 The Proposed Downloading Scheme
### The Maximum-Flow LP and the Minimum-Cost LP  
In the satellite network topology map \(G(V,E)\), we need to calculate the distance-constrained subgraph \(G^{c}(V^{c},E^{c})\in G(V,E)\) through the traffic demand matrix \(D\in\mathbb{R}^{N\times N}\). First, the Dijkstra algorithm is used to compute the shortest path from all satellites to other satellites in the visible area of an ES. Then, a set of candidate links and nodes is initialized to NULL. Let \(N(s,d)\) denote the number of hops in the shortest path between the pair of source and destination \((s,d)\). After that, the algorithm traverses other intermediate nodes in the area, using \(M(s,d)\) to represent the number of hops of the shortest path of \((s,d)\), and an appropriate hop threshold \(HT\) can be taken based on the computing resources of the network. If the satellite \(v\) satisfies the inequality \(N(s,v)+N(v,d)\leq N(s,d)+HT\), the satellite \(v\) and its four ISLs as the element of the subgraph node set \(V^{c}\) and edge set \(E^{c}\). Once the subgraph for each data flow has been calculated, two linear programmings can be formulated to the MCMF algorithm.  
By constraining the data flow distance between each pair of source/destination \((s,d)\), we can obtain the matching subgraph. The linear programming issue of the greatest data flow of multiple sources and sinks constrained by the subgraph \((LP\#1)\) is represented by Equation (8).  
\[\max:l^{*}=\sum_{c\in C}l^{c}_{in}(d_{c}) \tag{8}\]  
**Subject to:**  
\[0 \leq l^{c}(e) \forall c\in C,\forall e\in E^{c} \tag{8a}\] \[l^{c}(e) \leq L(e) \forall c\in C,\forall e\in E^{c}\] (8b) \[\sum_{c\in C}l^{c}(e) \leq L(e) \forall c\in C,\forall e\in E\] (8c) \[l^{c}_{in}(v) =l^{c}_{out}(v)+b^{c}(v) \forall c\in C,\forall v\in V^{c}\] (8d) \[l^{c}_{in}(s_{c}) =0 \forall c\in C\] (8e) \[l^{c}_{out}(d_{c}) =0 \forall c\in C\] (8f) \[l^{c}_{out}(s_{c}) \leq D^{c} \forall c\in C \tag{8g}\]  
\[l^{*}=\sum_{c\in C}l^{c}_{in}(d_{c}).\]  
Let \(l^{c}(e)\) denote the traffic rate of commodity \(c\) on link \(e\). Let \(l^{c}_{in}(v)\), \(l^{c}_{out}(v)\) and \(b^{c}(v)\) denote the in/out overall traffic rate of ISLs and the traffic rate of the feeder link in satellite \(v\), respectively. Let \(D^{c}\) denote the request flow \(c\) of the matrix \(D\). Equation (8a)-(8c) require that the sum of all commodity traffic rates on a link \(\mathrm{e}\) is less than the link capacity \(L(e)\). Equation (8d)-(8f) are limited to the subgraphs for each commodity flow. Equation (8g) ensures the receive rate of each commodity at most \(D^{c}\). The maximum flow of multiple source-destination in the network can be attained by solving this LP.  
To minimum the routing cost, the second linear programming problem \((LP\#2)\) is represented by Equation (9).  
\[\min:y^{*} \tag{9}\]  
**Subject to:**  
\[r_{\text{out}}^{c}\left(s_{c}\right) =\Gamma^{c} \forall c\in C \tag{9a}\] \[\sum_{c\in C}r^{c}(e) \leq Z(e) \forall c\in C,\forall e\in E\] (9b) \[r_{in}^{c}(v) =r_{\text{out}}^{c}\left(v\right) \forall c\in C,\forall v\in V^{\prime}\] (9c) \[r_{in}^{c}(s_{c}) =0 \forall c\in C\] (9d) \[r_{\text{out}}^{c}\left(d_{c}\right) =0 \forall c\in C \tag{9e}\]  
\[y^{*}=\sum_{c\in C}\sum_{e\in E}x_{e}^{c}\times M(e).\]  
Let \(\Gamma^{c}\) denote the maximum flow of the commodity \(c\) obtained by solving the maximum flow LP, and \(V^{\prime}=V-\left(s_{c},d_{c}\right)\). In the above formula, Equation (9a) requires the fixed rate of each commodity flow obtained by \(LP\#1\). The remaining resemble the preceding constraints. The objective of our function is to minimize the sum of flow rates \(x_{e}^{c}\) multiplied by link cost \(M(e)\). In our scheme, the greedy approach is utilized to solve these two LPs in order to achieve the maximum flow and minimum cost routing.