## 3 SATLD for MGSS Considering Waiting Time
### Determination Method of Start Time  
First-come-first service and short-job first methods are commonly used in operating system process scheduling. However, different from the process scheduling in the operating system, the request may appear at any time in the single ground station downlink scheduling period. If the arrival time of the current request is beyond the whole planning period, it must wait until the cycle starts, and the ground station has a visible window for the current request. Inspired by the FCFS, we propose a downlink scheduling algorithm based on the arrival time (DSA-AT) of downlink requests. As shown in Figure 3, DSA-AT arranges all requests in ascending order according to their arrival time, and arranges the access window time first according to the order of tasks. In order to reduce the waiting time of the downlink request as much as possible, the specific start time of the request is arranged as \begin{table}
\begin{tabular}{l l} \hline \hline
**Symbol** & **Description** \\ \hline \(\mathcal{R}_{s}\) & The downlink request set in \(s\) \\ \hline \(\mathcal{A}_{s}\) & The Access window set for \(s\) \\ \hline \(ST(tw_{sg}^{n})\) & Start time of \(tw_{sg}^{n}\) \\ \hline \(ET(tw_{sg}^{n})\) & End time of \(tw_{sg}^{n}\) \\ \hline \(AT(R_{s}^{\prime})\) & The arrival time of in \(r\)th request of \(s\) \\ \hline \(DT(R_{s}^{\prime})\) & The duration time of in \(r\)th request of \(s\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: _Cont._ \begin{table}
\begin{tabular}{l l} \hline \hline
**Symbol** & **Description** \\ \hline \(x_{ijk}\) & binary variable, if the \(k\)th path is chosen between \(i\) and \(j\) (\(\mathcal{P}_{ijk}=1\)) or not (\(\mathcal{P}_{ijk}=1\)) \\ \hline \(y_{r}\) & the service start time for downlink request \(r\) \\ \hline \(z_{gr}\) & the chosen \(g\) for \(r\) \\ \hline \(u_{sn}\) & binary variable, if the \(z_{gr}\
eq z_{g(r+1)}\) (\(u_{sr}=1\)) or not (\(u_{sr}=0\)), \(r\in\mathcal{R}_{s}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Decision variables. early as possible in its visible window. The algorithm is described in detail in Algorithm 1. The input of DSA-AT includes a set of downlink links, a set of ground stations, a set of satellites, and a set of visible windows between the ground station and the satellite. The output is a scheme that includes all the ground stations allocated for the downlink request and the corresponding specific start time. Firstly, arrange the downlink request set in ascending order of arrival time. Then, downlink resource allocation is performed on each request in sequence. Determine all the access windows of the satellite _sat_ that emit the current request \(r\). Arrange all access windows in ascending order of the start time of the window, and check whether they meet the requirements of the current request. If it is satisfied, the specific execution time is determined, and the waiting time from the request arrival time to the execution time is recorded. Additionally, then, the access window update algorithm is applied to \(A^{\prime}\), as shown in Algorithm 2. The input includes the access window set \(A^{\prime}\), the current request \(r\), the chosen ground station number \(g\), the specific start time of request \(r\)\(y_{r}\). The output is the updated access window set. The first step is to select all the access window sets \(\mathcal{A}\) that need to be updated from the ground station numbers currently allocated. Because the arrangement of the current request will only affect the access window with the same ground station number. For each visible window, according to the time occupation interval assigned to downlink request \(r\) by the ground station, it can be known that there are at most four relationships between each window and the occupied time. As shown in Figure 4, the four types are subset, left-overlapping, right-overlapping, and inclusion. The first type of relationship is \([tBega_{a},tEnd_{a}]\in[st,et]\), and window \(a\) is completely occupied, so remove it from \(A^{\prime}\).