## 2 LEO Satellite Networks Model
### Setup and Update of Link State  
In satellite networks, when satellite receives a packet, the packet is inserted into the buffer queue at one direction by sequence, waiting to be sent out. However, the buffer space is limited, and accumulated packets will fill up the whole queue if the traffic is too heavy. Then the packets which still get into the queue will be dropped. Therefore, it is essential to monitor the queue to reduce unnecessary packets loss. Let \(t_{c}\) denote the queue check interval, according to the average input packet rate \(I_{avg}(t-t_{c})\) and the average output packet rate \(O_{avg}(t-t_{c})\) in the past, and we predict the average input packet rate \(I_{avg}\) and the average output packet rate \(O_{avg}\) in the next \(t_{c}\) seconds with Equations (1) and (2):  
\[I_{avg}=(1-\lambda_{I})\cdot I_{avg}(t-t_{c})+\lambda_{I}\cdot I_{avg}(t) \tag{1}\]  
\[O_{avg}=(1-\lambda_{O})\cdot O_{avg}(t-t_{c})+\lambda_{O}\cdot O_{avg}(t) \tag{2}\]  
where \(\lambda_{I}\) and \(\lambda_{O}\) represent the weight of the past average input rate and the past average output rate, respectively, \(0<\lambda_{I}<1\), \(0<\lambda_{O}<1\). These weights act as filters. The average input packet rate and the average output packet rate are desired to represent the long average packet rate, which should be counted over a long period. The short-term light traffic load needs to be filtered. Therefore, the selection of \(\lambda_{I}\) and \(\lambda_{O}\) are essential. If these weights are too large, the average packet rate will nearly equal the instantaneous traffic load. Otherwise, if these weights are too small, it is hard for the average packet rate to represent the long-range traffic load, which results in ineffective estimation and routing  
Figure 1: Satellite networks topology. (**a**) Equatorial region; (**b**) Polar regioncomputation. In this paper, the values of \(\lambda_{I}\) and \(\lambda_{O}\) are assigned dynamically according to the traffic load by Equations (3) and (4). \[\lambda_{I}=\left\{ \begin{array}{ll}\max\biggl{\{}\frac{I_{avg}(t)}{I_{avg}(t- t_{c})}\cdot\alpha_{1},a_{0}\biggr{\}},I_{avg}(t)<I_{avg}(t-t_{c})\\ \min\biggl{\{}\frac{I_{avg}(t)-I_{avg}(t-t_{c})}{I_{avg}(t-t_{c})},\alpha_{2} \biggr{\}}&\textit{else}\end{array} \right. \tag{3}\]  
\[\lambda_{O}=\left\{ \begin{array}{ll}\max\biggl{\{}\frac{O_{avg}(t)}{O_{avg}( t-t_{c})}\cdot\alpha_{1},a_{0}\biggr{\}},O_{avg}(t)<O_{avg}(t-t_{c})\\ \min\biggl{\{}\frac{O_{avg}(t)-O_{avg}(t-t_{c})}{O_{avg}(t-t_{c})},\alpha_{2} \biggr{\}}&\textit{else}\end{array} \right. \tag{4}\]  
Thus, the estimated average rate does not change much when the instantaneous traffic load is closed to the estimated traffic load in the last interval. The short-term light traffic load is filtered, and the average packet rate can be estimated effectively. In DRL-THSA, for a given direction, \(L_{\max}\) denotes the max length of the buffer queue, and \(L(t)\) represents the current length of the buffer queue. Therefore, the queue occupancy rate is calculated by Equation (5). \[q=\frac{L(t)}{L_{\max}}\in[0,1] \tag{5}\]  
To avoid dropping a packet, it is crucial to make sure that the queue is not full before the next check. The predicted queue occupancy rate is calculated by Equation (6). \[p=q+\frac{\left[I_{avg}-O_{avg}\right]\cdot t_{c}}{L_{\max}} \tag{6}\]  
In this way, two cases can be envisioned:  
* \(p\geq 1\): It means packet drop may happen in the next \(t_{c}\) seconds. Therefore, the link state is set to be congested whatever the current queue occupancy rate is. The threshold \(T_{1}\) and \(T_{2}\) should meet \(T_{1}=T_{2}=0\). * \(p<1\): The thresholds should be adjusted to fit the average input packet rate \(I_{avg}\) and the average output packet rate \(O_{avg}\).