Introduction

With the rapid increase of the earth observation satellites, the demand for space transmission has been growing greatly [1, 2]. Satellites located in low and medium orbits mainly transmit the data of tasks through ground terminals (GTs) and the transmissions largely depend on the coverage of GTs. However, due to the relatively low coverage of the GTs, the visible ranges and visible opportunities of user satellites and GTs are limited. If the user satellites are directly connected to the ground network, a large number of GTs need to be deployed in different areas on the Earth, resulting in high operation and maintenance costs [3, 4]. Additionally, the deployment of GTs is restricted by geographical and political conditions, e.g., it is not easy to construct GTs either on the ocean or in oversea countries [5]. The above two reasons lead to a low data transmission capacity between user satellites and GTs. To satisfy the increasing demands of space data transmission, data relay satellites (TDRSs) are widely used for data relay. Theoretically, three TDRSs can achieve global coverage and provide data relay service for user satellites located in low–medium orbits, thereby significantly extending the visible duration between the user satellites and GTs, and improving the data transmission efficiency [6, 7].

More recently, researchers have proposed the concept of a space information transmission system named data relay satellite network (DRSN) [8, 9]. An overview of DRSN is shown in Fig. 1, in which DRSN consists of a backbone network layer, a user layer, and a terrestrial network layer. The backbone network consisting of TDRSs is responsible for providing data relay services to the user layer. The user layer includes various satellites, near-space vehicles, and deep-space explorers, which are collectively called user spacecrafts (USs). Moreover, the terrestrial network layer involves networked GTs as well as the management center (MC) of DRSN. In this sense, researchers generally transform the space data transmission problem into a task scheduling problem of DRSN (DRSNSP), which is crucial to be investigated for improving the data transmission efficiency of DRSN.

Fig. 1
figure 1

An overview of a DRSN

Previous studies on DRSNSP mainly focused on static scheduling problems. However, in practical applications, due to unexpected system disturbances such as service duration change, resource failure, and temporary tasks, the scheduling process may yield uncertainties that cause interference to the task scheduling of DRSN. Hence, studies on the dynamic scheduling of DRSN considering system disturbances are more in line with the requirements of actual scenarios [10]. Additionally, breakpoint transmission (i.e., task splitting) has been proved effective to improve the task completion rate and resource utilization of DRSN [9]. It would be promising to obtain better scheduling results by incorporating the breakpoint transmission mechanism into the dynamic scheduling of DRSN. To the best of our knowledge, there are no previous studies on the dynamic scheduling model and algorithm for DRSNSP simultaneously considering breakpoint transmission and hybrid system disturbances (including the required service duration change, resource failure, and temporary tasks).

To eliminate system disturbances and improve the task completion rate, we extend the static scheduling model of DRSN to make it suitable for dynamic scheduling. Meanwhile, we design a k-step dynamic scheduling algorithm considering breakpoint transmission (k-steps-BT) algorithm to solve the dynamic scheduling problem. The major contributions and innovations of this study are:

  1. (1)

    A breakpoint transmission mechanism is considered in the dynamic scheduling problem of DRSN. The mechanism aims to transform original tasks into a set of subtasks, thereby fully utilizing the idle visible duration between user satellites and GTs to further improve the data transmission efficiency.

  2. (2)

    A scheduling model suitable for both static and dynamic scheduling of DRSN is constructed, in which we transform the hybrid disturbances dynamic scheduling of DRSN into the temporary tasks’ dynamic scheduling.

  3. (3)

    A k-steps-BT algorithm is designed to solve the dynamic scheduling problem considering temporary tasks. Moreover, we verify that the proposed model and algorithm could significantly improve the task completion rate without drastic adjustment to the static scheduling scheme.

The remainder of this paper is organized as follows. The section “Related work” reviews the related work. In the section “Dynamic scheduling model”, we extend the static scheduling model and make it suitable for both static and dynamic scheduling of DRSN. In the section “Dynamic scheduling algorithm”, we introduce the k-steps-BT algorithm to solve the model. The section “Experimental results and discussion” is devoted to the experimental results and discussion. “Conclusion” contains some concluding remarks.

Related work

To solve DRSNSP, researchers have proposed different scheduling models and algorithms. The scheduling types involve static scheduling [9,10,11], dynamic scheduling [8, 12, 13], and hybrid static and dynamic scheduling [14]. Existing models include mixed-integer linear programming model [4, 9, 11], constraint satisfaction model [12, 14, 15], and graph model [7, 16]. The algorithms involve exact algorithms [4, 17], heuristics [10, 18,19,20] and metaheuristics [7, 14, 21, 22].

As for exact algorithms, Rojanasoonthon et al. [4] constructed a mixed-integer linear programming model for DRSNSP based on the modeling method of parallel machine scheduling problem, and proposed a branch-and-bound algorithm to obtain the optimal solution of the above model. Reddy et al. [17] designed a dynamic programming algorithm to solve the task scheduling of DRSN with single access link.

Regarding the rule-based heuristics, He et al. [8] constructed a dynamic scheduling model considering hybrid tasks, i.e., common tasks, emergency tasks, and temporary tasks, and proposed a stochastic optimization framework and two heuristics to solve the above model. The results show that the proposed algorithms can effectively increase the task completion rate. To solve the static scheduling problem of DRSN, Liu et al. [16] transformed the graph model into a mixed-integer linear programming model considering the antenna slewing time, and proposed a polynomial-time algorithm to solve DRSNSP. Wang et al. [5] designed a repeated game framework to solve the task conflict problem during the scheduling process of DRSN. Additionally, Wang [18] et al. proposed a two-stage heuristic algorithm based on a hierarchical scheduling strategy. The results show that compared with the greedy randomized adaptive search procedure (GRASP), the proposed algorithm has a greater gain in improving the task completion rate. Dai et al. [13] designed a real-time scheduling algorithm for the emergency task scheduling problem of DRSN. The algorithm divides the task scheduling process into initial scheduling, emergency task dynamic scheduling, and final scheduling. The results verify that the proposed algorithm can significantly improve the completion rate of emergency tasks compared with genetic algorithm (GA) and simulated annealing algorithm (SA). To solve the task scheduling problem of DRSN, Chen et al. [9] designed two heuristic algorithms considering breakpoints that can apply to the scenarios with different scheduling requirements, respectively. The experimental results show that, compared with the conventional algorithms, the proposed algorithms can effectively improve resource utilization. Wu et al. [10] designed a heuristic algorithm based on conflict resolution, which effectively solved the task scheduling of DRSN considering multiple service time windows. Zhang et al. [20] decomposed the long-term task scheduling and multi-dimensional resource management problem of DRSN into numerous mixed-integer programming problems and proposed an effective heuristic algorithm to deduce the data drop rate and energy consumption compared with the existed methods.

With regard to metaheuristics, as the most representative algorithms of metaheuristics, GA and artificial bee colony (ABC) algorithm have achieved remarkable results in solving DRSNSP. Song et al. [7] introduce the knowledge about satellite scheduling into DRSNSP, and proposed a knowledge-based GA to improve the operating efficiency of DRSN. To solve hybrid static and dynamic scheduling problems of DRSN, Deng et al. [14] proposed an improved GA as the static scheduling algorithm and a heuristic algorithm based on preemptive scheduling as the dynamic scheduling algorithm. Meanwhile, Fang et al. [21] proposed an improved GA to solve the static scheduling problem of DRSN. The experimental results show the effectiveness of the algorithms proposed by Deng et al. and Fang et al. Zhuang et al. [22] verified by simulation experiments that the artificial bee colony (ABC) algorithm is better than the simulated annealing (SA) in solving the static scheduling problem of DRSN.

More recently, the data-driven and knowledge-driven algorithms such as learning-based algorithms are widely used for solving task scheduling of DRSN. Li et al. [23] addressed the scheduling problem of DRSN by formulating it as a sequential decision-making problem. They proposed a Markov decision model and developed a deep reinforcement learning (DRL) algorithm to solve the scheduling problem. The experimental results demonstrated the superiority of the proposed algorithm over traditional heuristic and metaheuristic approaches, particularly for large-scale optimization problems. To enhance the emergency dispatch capability of DRSN, He et al. [24] proposed a multi-agent reinforcement learning-based algorithm for the satellite resource allocation problem considering heterogeneous resource competition and cooperation. The experimental results showed that the proposed algorithm can effectively improve the task completion rate. To handle the challenges posed by uncertain channel conditions, Wang et al. [25] developed a DRL algorithm for the cooperative resource scheduling of the ground terminal network and relay satellite network. To reduce system delays and enhance the quality of experience for users, Wang et al. [26] and Huang et al. [27] introduced a multi-layer neural network model and knowledge-driven network access approach to simulate task request and transmission, respectively. Fan et al. [28] developed a multi-layer network graph aggregation model for DRSN to group tasks with similar spatial–temporal characteristics, and demonstrated that the proposed method can effectively reduce the solution time through a real-world case study. To solve the matching problem of satellite resources and data transmission requirements, Song et al. [29] and Liu et al. [30] proposed an improved k-means algorithm, respectively. Both studies successfully validated the effectiveness of their proposed algorithms across different scenarios.

According to the above literature review, it can be found that:

  1. (1)

    Although exact algorithms can obtain the optimal solutions when solving small-scale scheduling problems, it is difficult to find the optimal solution within a reasonable time when coping with a large-scale problem. Meanwhile, heuristics and metaheuristics are more promising for solving DRSNSP.

  2. (2)

    Breakpoint transmission mechanism has been proved effective to improve the task completion rate and resource utilization of DRSN [9]. However, there are few studies on dynamic scheduling of DRSN considering considers breakpoint transmission.

  3. (3)

    Most studies on static scheduling of DRSN, and a few studies on dynamic scheduling, but there are no studies on mathematical models as well as algorithms for dynamic scheduling of DRSN simultaneously considering breakpoint transmission and hybrid system disturbances.

Dynamic scheduling model

In this section, we unify the hybrid system disturbances as the disturbance of temporary tasks and extend the static scheduling model of DRSN. The explicit symbols used throughout this section are listed in Table 1.

Table 1 Notations

Static scheduling model

In this study, we incorporate a breakpoint transmission mechanism into the task scheduling of DRSN. The breakpoint transmission mechanism has been introduced in the static scheduling of DRSN [9], in which a single task can be reasonably split into multiple subtasks and thus scheduled in multiple time windows. Mathematically, the formulation of the static scheduling model of DRSN considering breakpoint transmission is shown in Eq. (1), where f1 is the objective function, which means to maximize the task completion rate and \(Z_{{\text{C}}} \left( t \right)\) is a function that splits task t into n subtasks. The first part of the numerator in f1 is the number of completed tasks without using breakpoint transmission, and the second part is the number of completed tasks using breakpoint transmission. Note that, if an original task is split into multiple subtasks, it would be scheduled only if all subtasks are successfully scheduled. Constraints C1 ~ C6 represent task requirement constraints, and C7 ~ C9 represent resource usage constraints. Constraints C1–C2 guarantee that the actual service duration of task t equals its required service duration. Constraint C3 indicates the actual start time of the original task or subtask is not earlier than the earliest start time. Constraint C4 means that the actual end time of the original task or subtask is not later than the latest end time. Constraint C5 says that each original task or subtask only be served by one antenna. Constraint C6 guarantees that each original task or subtask is executed in one visible time window. Constraint C7 restricts that the actual start time of the original task or subtask should not be earlier than the start time of the visible time windows and Constraint C8 requires that the actual end time of the original task or subtask is no later than the end time of the visible time window. Constraint C9 guarantees that the antenna serves one task at a time. Constraint C9 guarantees that the antenna serves one task at a time, where \(acts_{mrj}\) and \(acts_{nrj}\) represent the actual start timing of task n and m, \(acte_{mrj}\) and \(acte_{nrj}\) represent the actual end timing, and adjust and rec mean the alignment and reset time of the antenna r before/after a task scheduled, respectively

$$ \begin{gathered} \max \, f_{1} = \frac{{\sum\nolimits_{{t \in T_{\beta } }} {\sum\nolimits_{r \in R} {\sum\nolimits_{{vt_{tr}^{j} \in VT_{tr} }} {x_{trj} } } } + \sum\nolimits_{{\left\{ {t_{1} ,t_{2} , \cdots ,t_{n} } \right\} = Z_{C} \left( t \right),t \in T_{\alpha } }} {\sum\nolimits_{r \in R} {\sum\nolimits_{{vt_{tr}^{j} \in VT_{tr} }} {\min \left( {x_{{t_{1} rj}} , \cdots ,x_{{t_{n} rj}} } \right)} } } }}{\left| T \right|} \hfill \\ s.t. \, \left\{ \begin{gathered} C1: \, acd_{trj} = d_{t} ,\forall t \in T_{\beta } ,r \in R,vt_{tr}^{j} \in VT_{tr} \hfill \\ C2: \, \sum\nolimits_{n = 1} {x_{{t_{n} rj}} \cdot acd_{{t_{n} rj}} } = d_{t} ,\left\{ {t_{1} ,t_{2} , \cdots ,t_{n} } \right\} = Z_{C} \left( t \right),\forall t \in T_{\alpha } ,r \in R,vt_{tr}^{j} \in VT_{tr} \hfill \\ C3: \, acts_{trj} \cdot x_{trj} \ge sts_{t} ,\forall t \in \overline{T} ,r \in R,vt_{tr}^{j} \in VT_{tr} \hfill \\ C4: \, \left( {acts_{trj} + acd_{trj} } \right) \cdot x_{trj} \le ste_{t} ,\forall t \in \overline{T} ,r \in R,vt_{tr}^{j} \in VT_{tr} \hfill \\ C5: \, \sum\nolimits_{r \in R} {x_{trj} \le 1,\forall t \in \overline{T} ,vt_{tr}^{j} \in VT_{tr} } \hfill \\ C6: \, \sum\nolimits_{{vt_{tr}^{j} \in VT_{tr} }} {x_{trj} \le 1,\forall t \in \overline{T} ,} \, r \in R \hfill \\ C7: \, acts_{trj} \cdot x_{trj} \ge vts_{tr}^{j} ,\forall t \in \overline{T} ,r \in R,vt_{tr}^{j} \in VT_{tr} \, \hfill \\ C8: \, (acts_{trj} + acd_{trj} ) \cdot x_{trj} \le vte_{tr}^{j} ,\forall t \in \overline{T} ,r \in R,vt_{tr}^{j} \in VT_{tr} \hfill \\ C9: \, \left[ {acts_{mrj} - adjust,acte_{mrj} + rec} \right] \cap \left[ {acts_{nrj} - adjust,acte_{nrj} + rec} \right] = \emptyset \, ,\forall m \in \overline{T} ,n \in \overline{T} ,r \in R \hfill \\ x_{trj} \in \left\{ {0,1} \right\},\forall t \in \overline{T} ,r \in R,vt_{tr}^{j} \in VT_{tr} \, \hfill \\ \end{gathered} \right.. \hfill \\ \end{gathered} $$
(1)

Dynamic scheduling model

Here, we extend the static scheduling model and make it suitable for dynamic scheduling of DRSN. Specifically, we consider three disturbances: required service duration change, resource failure, and temporary tasks. Note that the above three disturbances are unified. Specifically, for a task with a changed required service duration, we can treat it as a temporary task. In doing so, we can cancel the scheduling scheme of the task, and release the resources occupied by it (if the task is scheduled in the static scheduling scheme). Resource failure mainly refers to TDRSs or Uss’ malfunction. Tasks executed by the failed resource will fail to be scheduled, and thus, these tasks need to be adjusted. Similar to the processing method of tasks with changed required service duration, tasks that are scheduled unsuccessfully due to resource failure can also be regarded as temporary tasks. Hence, all tasks affected by the above three disturbances considered in this study can be converted to temporary tasks. Based on the above analysis, the static scheduling model can be appropriately extended to obtain the dynamic scheduling model.

  1. (1)

    Evaluation metric of dynamic scheduling scheme

Without loss of generality, the greater the deviation between the dynamic scheduling scheme and the static scheduling scheme, the more adjustment cost [31,32,33]. Therefore, to evaluate the deviation between the dynamic scheduling scheme and the static scheduling scheme, here we introduce the dynamic disturbance measure (DDM) as an evaluation metric to measure the deviation, which reads

$$ \psi \left( {S_{sta} ,S_{dyn} } \right) = \lambda_{del} n_{del} + \lambda_{c} n_{c} , $$
(2)

where \(\psi\) represents DDM, \(S_{sta}\) represents the static scheduling scheme, \(S_{dyn}\) represents the dynamic scheduling scheme, \(n_{del}\) represents the number of tasks deleted from the static scheduling scheme due to required service duration change, resource failure or temporary tasks, \(\lambda_{del}\) represents the weight of the deleted tasks, \(n_{c}\) represents the number of tasks adjusted from the static scheduling scheme, and \(\lambda_{c}\) represents the weight of the adjusted tasks. Meanwhile, \(\lambda_{del}\) and \(\lambda_{c}\) satisfy

$$ \lambda_{del} { + }\lambda_{c} = 1. $$
(3)
  1. (2)

    Extension of the task set

Based on the above analysis, we convert the system disturbances involving required service duration change, resource failure and temporary tasks to the disturbance of temporary tasks. Let \(T_{add}\) be a set of temporary tasks, we have

$$ T_{new} = T \cup T_{add} , $$
(4)

where \(T_{new}\) represents the task set for dynamic scheduling.

We use the breakpoint transmission mechanism in the dynamic scheduling model. That is, a single task can be reasonably split into multiple subtasks and thus scheduled in multiple time windows. Note that, the task splitting process is performed dynamically during the task scheduling process, which is detailed in the section “Dynamic scheduling algorithm. Suppose \(T_{add}^{\alpha }\) to be the task set in \(T_{add}\) that can be split and \(\overline{T}_{add}^{\alpha }\) to be the subtask set of the task in \(T_{add}^{\alpha }\). Namely, we have

$$ \overline{T}_{add}^{\alpha }\, { = }\,\left\{ {t_{n} {|}\left\{ {t_{1} ,t_{2} , \cdots ,t_{n} } \right\} = Z_{C} \left( t \right),t \in T_{add}^{\alpha } } \right\}, $$
(5)

where \(Z_{{\text{C}}} \left( t \right)\) is a function that splits task t into n subtasks.

Let \(T_{add}^{\beta }\) represent the set of tasks without splitting in \(T_{add}\), that is

$$ T_{add} = T_{add}^{\alpha } \cup T_{add}^{\beta } . $$
(6)

To unify the original task and the subtask, similarly, we convert the original task set \(T_{add}^{\beta }\) into a subtask set \(\overline{T}_{add}^{\beta }\). Namely, we have

$$ \overline{T}_{add}^{\beta } = T_{add}^{\beta } . $$
(7)

In doing so, we can convert the temporary task set \(T_{add}\) into a subtask set \(\overline{T}_{add}\), that is

$$ \overline{T}_{add} = \overline{T}_{add}^{\alpha } \cup \overline{T}_{add}^{\beta } . $$
(8)

To make the model formulation more concise, based on the above analysis, the task set of dynamic scheduling \(T_{new}\) can be converted into a form of subtask set. Namely

$$ \begin{aligned} T_{{new}} & = T \cup T_{{add}} \\ & = \left( {T_{\alpha } \cup T_{\beta } } \right) \cup \left( {T_{{add}}^{\alpha } \cup T_{{add}}^{\beta } } \right) \\ & = \left( {\overline{T} _{\alpha } \cup \overline{T} _{\beta } } \right) \cup \left( {\overline{T} _{{add}}^{\alpha } \cup \overline{T} _{{add}}^{\beta } } \right) \\ & = \overline{T} \cup \overline{T} _{{add}} , \\ \end{aligned} $$
(9)

where \(\overline{T}_{\alpha }\) and \(\overline{T}_{\beta }\) are the subtask sets corresponding to \(T_{\alpha }\) and \(T_{\beta }\), which can be obtained according to the derivation method of \(\overline{T}_{add}^{\alpha }\) and \(\overline{T}_{add}^{\beta }\). \(\overline{T}\) is the subtask set form of T derived by breakpoint transmission [9].

  1. (3)

    Extension of the set of visible time windows

The method for generalization of the visible time window set of the dynamic scheduling model is as follows. We add the visible time window of each task in the temporary task set to the visible time window set of the static scheduling model. We denote \(VT_{tr}^{new}\) as a visible time window set of dynamic scheduling model, and thus, for each \(t \in T_{new}\), its visible time windows are defined as

$$ vt_{trj}^{new} = [vts_{trj}^{new} ,vte_{trj}^{new} ],j = 1,2 \cdots ,\forall r \in R,vt_{trj}^{new} \in VT_{tr}^{new} . $$
(10)
  1. (4)

    Extension of the constraints set

The dynamic scheduling of temporary tasks is also constrained by task requirements (C1 ~ C6 in Eq. (1)) and resource usage constraints (C7 ~ C9 in Eq. (1)). Therefore, the static scheduling model with specific adjustments could be used for dynamic scheduling.

  1. (5)

    Extension of the static scheduling model

To sum up, we extend the static scheduling model of DRSN considering breakpoint transmission into a dynamic scheduling model suitable for temporary tasks, which reads

$$ \begin{gathered} {\text{max }}f = \frac{{\sum\nolimits_{{t \in T_{new}^{\beta } }} {\sum\nolimits_{r \in R} {\sum\nolimits_{{vt_{trj}^{new} \in VT_{tr}^{new} }} {x_{trj} } } } + \sum\nolimits_{{\left\{ {t_{1} ,t_{2} , \cdots ,t_{n} } \right\} = Z_{C} \left( t \right),t \in T_{new}^{\alpha } }} {\sum\nolimits_{r \in R} {\sum\nolimits_{{vt_{trj}^{new} \in VT_{tr}^{new} }} {\min \left( {x_{{t_{1} rj}} , \cdots ,x_{{t_{n} rj}} } \right)} } } }}{{\left| {T_{new} } \right|}} \hfill \\ {\text{s}}{\text{.t}}{. }\left\{ \begin{gathered} {\text{C1: }}acd_{trj} = d_{t} ,\forall t \in T_{new}^{\beta } ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \hfill \\ {\text{C2: }}\sum\limits_{n = 1} {x_{{t_{n} rj}} \cdot acd_{{t_{n} rj}} } = d_{t} ,\left\{ {t_{1} ,t_{2} , \cdots ,t_{n} } \right\} = Z_{C} \left( t \right),\forall t \in T_{new}^{\alpha } ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \hfill \\ {\text{C3: }}acts_{trj} \cdot x_{trj} \ge sts_{t} ,\forall t \in T_{new} ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \hfill \\ {\text{C4: }}\left( {acts_{trj} + acd_{trj} } \right) \cdot x_{trj} \le ste_{t} ,\forall t \in T_{new} ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \hfill \\ {\text{C5: }}\sum\limits_{r \in R} {x_{trj} \le 1,\forall t \in T_{new} ,vt_{trj}^{new} \in VT_{tr}^{new} } \hfill \\ {\text{C6: }}\sum\limits_{{vt_{tr}^{j} \in VT_{tr} }} {x_{trj} \le 1,\forall t \in T_{new} ,} \, r \in R \hfill \\ {\text{C7: }}acts_{trj} \cdot x_{trj} \ge vts_{tr}^{j} {,}\forall t \in T_{new} ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \, \hfill \\ {\text{C8: }}(acts_{trj} + acd_{trj} ) \cdot x_{trj} \le vte_{tr}^{j} ,\forall t \in T_{new} ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \, \hfill \\ {\text{C9: }}\left[ {acts_{mrj} - adjust,acte_{mrj} + rec} \right] \cap \left[ {acts_{nrj} - adjust,acte_{nrj} + rec} \right] = \emptyset { ,}\forall m \in T_{new} ,n \in T_{new} ,r \in R \hfill \\ x_{trj} \in \left\{ {0,1} \right\},\forall t \in T_{new} ,r \in R,vt_{trj}^{new} \in VT_{tr}^{new} \, \hfill \\ \end{gathered} \right.. \hfill \\ \end{gathered} $$
(11)

Hereby, it is important to note that, on the one hand, the above model could be slightly adjusted to be suitable for dynamic scheduling considering the required service duration change and resource failure. On the other hand, although this model is extended from the static scheduling model, it builds a framework that can uniformly characterize the static scheduling and dynamic scheduling of DRSN, that is, it can be applied to both static and dynamic scheduling of DRSN.

Dynamic scheduling algorithm

k-Steps-BT

To improve the task completion rate of dynamic scheduling without drastic adjustments to the static scheduling scheme, here we propose an algorithm named k-steps-BT. Based on the principle of backtracking algorithm [34, 35] and search tree [36,37,38], k-steps-BT realizes conflict resolution and reschedules tasks quickly when temporary tasks occur. k-Steps-BT includes three modules: (1) temporary task-resource matching; (2) task splitting; (3) adjustment tree expansion and control.

  1. (1)

    Temporary task-resource matching

The temporary task-resource matching aims to generate a set of available time windows for scheduling the temporary tasks according to the priority of the temporary tasks, similar to [9]. If the available time windows satisfy the service duration of a temporary task, the task will be scheduled by a immediate predecessor. That is, the temporary task is inserted immediately after the earliest start time of the available time windows. If there exist temporary tasks that cannot be scheduled after temporary task-resource matching, we record these tasks and move to module (2).

  1. (2)

    Task splitting

According to the breakpoint transmission mechanism, a single task will be reasonably split into multiple subtasks and then scheduled in multiple time windows. The process of breakpoint transmission is shown in Algorithm 1.

figure a

Specifically, if each available time window \(\left[ {avts_{t*r}^{j} ,avte_{t*r}^{j} } \right]\) of the temporary task \(t*\) in available resources set \(AVT_{t*}\) cannot meet scheduling requirements of \(t*\), we add \(t*\) to the splitting task set \(T_{add}^{\alpha }\) (Lines 1–9). To minimize the number of splits (Since the antenna will have an idling time when it switches from one task to another [39] [40], which will cause additional scheduling overhead), we choose the split method based on the minimum number of splits to split tasks (Lines 11–12). If the original task \(t*\) can be split into multiple subtasks and be executed in multiple available time windows, \(t*\) will be scheduled. Afterward, we update the visible time window \(VT_{tr}\) and record the task splitting scheme \(S_{split}\). Otherwise, we transfer to module 3 (Lines 13–19). Additionally, according to different split objects, task splitting can be divided into three types: split of the scheduled tasks, split of the temporary tasks, and split of both scheduled tasks and temporary tasks. The above three task splitting types are shown in Figs. 2, 3, and 4, respectively.

  1. (3)

    Adjustment tree expansion and control

Fig. 2
figure 2

Split of the scheduled tasks

Fig. 3
figure 3

Split of the temporary tasks

Fig. 4
figure 4

Split of the scheduled tasks and temporary tasks

Figure 5 is a schematic of the adjustment tree expansion and control. As shown in Fig. 5, if temporary task \(t*\) cannot be scheduled by the breakpoint transmission, we define the scheduled task whose execution duration intersects the available time windows of temporary task \(t*\) as an adjustable task. If temporary task \(t*\) is successfully scheduled by removing the adjustable task, we define the adjustable task as a new node of the adjustment tree, that is, we regard the adjustable task as a new temporary task. In doing so, we define the above process as adjustment tree expansion. Sequentially, we perform a new round of adjustment tree expansion of the new temporary tasks, and this adjustment operation can be regarded as the 2nd step of the adjustment of \(t*\). We repeat the above process until the k-steps is reached, that is, the value of k determines the adjustment depth of the k-steps-BT algorithm. In this sense, it is obvious that the dynamic scheduling of temporary tasks is a process of constantly expanding the adjustment tree.

Fig. 5
figure 5

Schematic of adjustment tree expansion

Note that, as k increases, the size of the adjustment tree will grow exponentially. In addition, we consider the task splitting in the scheduling of each node task in the adjustment tree, which further increases the running time of the algorithm. Consequently, to meet the timeliness requirements of dynamic scheduling, we control the size of the expansion tree. In this study, we generally take \(k = 2\).

Algorithm framework

In summary, we first present the pseudo-code of k-steps-BT in Algorithm 2. Then, we analyze the algorithm flow and computation complexity of k-steps-BT.

  1. (1)

    Analysis of Algorithm Flow

As shown in Algorithm 2, during the initialization phase of k-steps-BT, we let the current search step \(k = 1\), the maximum search step \(k_{\max } = 2\) and the dynamic scheduling scheme \(S_{dyn} = \emptyset\) (Line 1). We perform task-resource matching for each temporary task \(t* \in T_{add}\) to generate the available time window set \(AVT_{t*}\) (Lines 3–4). If the available resources meet the scheduling requirements of the \(t*\), \(t*\) will be scheduled. Then, we update the visible time window \(VT_{tr}\) and add the scheduling information of \(t*\) to the dynamic scheduling scheme \(S_{dyn}\) (Lines 4–7). If the available resources do not meet the scheduling requirements of \(t*\), we schedule \(t*\) by breakpoint transmission (i.e., Algorithm 1). In doing so, if \(t*\) is successfully scheduled, we update the visible time window and add the scheduling information of \(t*\) to the dynamic scheduling scheme \(S_{dyn}\) (Lines 8–13). If \(t*\) is unsuccessfully scheduled by breakpoint transmission, the execution duration of the scheduled tasks are used as the resources of the \(t*\). Sequentially, we perform the temporary task-resource matching to generate the adjustable task set for \(t*\) in the current search step (Lines 14–17). If \(t*\) is scheduled after releasing the resources occupied by the adjustable task t, we remove the scheduling scheme of t, regard t as a new temporary task, and then transfer to \(k + 1\) search step (Lines 18–21). Note that temporary tasks generally have higher priority than common tasks. Hence, it makes sense to prioritize temporary tasks. The algorithm repeats the above process until the maximum search step \(k_{\max }\) is reached. If the temporary task is failed to be scheduled during \(k_{\max }\) steps, it reveals that the adjustment cost of the temporary task \(t*\) is too high. In this sense, the temporary task \(t*\) is rejected to be scheduled (Lines 15–29). Finally, we integrate the static scheduling scheme \(S_{sta}\) and dynamic scheduling scheme \(S_{dyn}\) as a final scheduling scheme (Line 33).

  • (2) Complexity Analysis of k-steps-BT

We can observe from Algorithm 2 that the time complexity of temporary task sorting is \(O\left( {\left| {T_{add} } \right|^{{2}} } \right)\) (Line 2) and the complexity of temporary task-resource matching is \(O\left( {\left| {T_{add} } \right| \times \left| {VT} \right|} \right)\) (Lines 3–4), where \(\left| {T_{add} } \right|\) represents the number of temporary tasks, \(\left| {VT} \right|\) indicates the total number of visible time windows and is defined as \(\left| {VT} \right| = \sum\nolimits_{t \in T} {\sum\nolimits_{r \in R} {\left| {VT_{tr} } \right|} }\), where \(\left| {VT_{tr} } \right|\) represents the number of visible time windows of task t on antenna r. The complexity of scheduling temporary tasks using breakpoint transmission is \(O\left( {\left| {T_{add} } \right| \times \left| {VT} \right|^{{2}} } \right)\) (Lines 5–13). The complexity of adjustable task set generation of the current step is \(O\left( {\left| {T_{add} } \right| \times \left| {ST} \right|} \right)\) (Lines 16–17), and the complexity of adjustment tree expansion is \(O\left( {\left| {T_{add} } \right| \times \left( {\left| {ST} \right|{ + }\left| {ST} \right|^{{2}} + \cdots + \left| {ST} \right|^{{k_{\max } }} } \right)} \right)\) (Lines 18–30), where \(\left| {ST} \right|\) is the number of scheduled tasks. Since \(\left| {ST} \right| \le \left| T \right|\), the time complexity of k-steps-BT is \(O\left( {\left| {T_{add} } \right| \times \left( {\left| T \right|{ + }\left| T \right|^{{2}} + \cdots + \left| T \right|^{{k_{\max } }} } \right)} \right)\), which reveals that the time complexity of k-steps-BT increases exponentially with the increase of k. Therefore, to meet the timeliness requirements of dynamic scheduling, we control the size of the expansion tree. Specifically, we take \(k_{\max } = 2\).

figure b

Experimental results and discussion

Simulation parameter setting

The proposed algorithm is implemented in Matlab and executed on an Intel(R) Core(TM) i5 2.80 GHz, with 8.0 GB RAM. The scheduling period is from 2019–10-08 00:00:00 to 2019–10-09 00:00:00. The application scenario involves 300 common tasks (the task ID are 1 to 300), 6 temporary tasks (the task ID are 301 to 306), 10 USs, 3 TDRSs, and each TDRS carries a single access antenna. The benchmark and simulation scenarios’ settings are detailed in [9].

Dynamic scheduling scheme analysis

In this section, we first use a state-of-the-art metaheuristic solver named adaptive variable neighborhood descent combined with a tabu list (AVND-TL) which is our previous work [9] as the static scheduling algorithm to find a scheduling scheme of common tasks. Then, we use k-steps-BT to solve the dynamic scheduling of temporary tasks, where k = 2. The results are shown in Table 2, where mode “0” means the task scheduling fails, “ + 1” means the task is scheduled without using breakpoint transmission, and “ + 2” means the task is successfully scheduled using breakpoint transmission.

Table 2 Dynamic scheduling scheme (no. 301–306 is the scheduling scheme of temporary tasks)

In Table 2, the scheduling duration of tasks 16 and 47 in the static scheduling scheme conflicts with the service time windows of temporary tasks 304 and 305, respectively. The scheduling scheme of the scheduled tasks 16 and 47 is adjusted by k-steps-BT algorithm and the conflict is further resolved during the dynamic scheduling process. That is, the scheduled tasks 16, 47 and the temporary tasks 304 and 305 are all successfully scheduled by using k-steps-BT algorithm. Additionally, the temporary tasks 303 can be scheduled by breakpoint transmission. Note that, when \(k = 2\), the temporary task 301 fails to be scheduled, because the adjustment cost is too high. Therefore, based on the preliminary results in Table 2, it can be verified that the k-steps-BT algorithm is effective.

Comparisons and sensitivity analysis

In this section, we discuss the impacts of different numbers of temporary tasks and different values of k for k-steps-BT. For the sake of comprehensive and fair comparisons, we prepare a set of real-world scenarios each scenario involves 300 common tasks, 38 temporary tasks, 10 USs and 3 TDRSs. Additionally, we compare the proposed approach with a state-of-the-art method named preemptive dynamic scheduling algorithm (PDSA) [14] and a scalable framework for dynamic scheduling of DRSN called whole rescheduling algorithm (WRA) [12] on the same scheduling instances. Note that WRA is an algorithm framework and we adopt AVND-TL [9] in the framework of WRA.

As for dynamic disturbance measure (DDM), we calculate the DDM between the dynamic scheduling schemes generated from the WRA, PDSA, and k-steps-BT with the static scheduling scheme by Eq. (2), where we set \(\lambda_{del} = 0.8\) and \(\lambda_{c} = 0.2\). Specifically, the number of tasks deleted from the static scheduling scheme, i.e., \(n_{del}\), can be determined by comparing the dynamic with static scheduling schemes. The number of tasks adjusted from the static scheduling scheme, i.e., \(n_{c}\), can be calculated in the same way. Note that, although a single task can be split into multiple subtasks, and it (including its subtasks) can be adjusted multiple times during the dynamic scheduling, it is only recorded as one adjustment.

  1. (1)

    Experimental results of different number of temporary tasks

We set k = 2 in k-steps-BT algorithm and present the experimental results with different number of temporary tasks Fig. 6. With regard to temporary task completion rate, we can observe from Fig. 6a that WRA is better than PDSA and k-steps-BT, and PDSA is better than k-steps-BT in the case with a small-scale temporary task, in which the number of temporary tasks is less than 30. That is, the number of temporary tasks completed by k-steps-BT is more than that of the PDSA when there are more than 30 temporary tasks. As for total task completion rate, WRA is better than k-steps-BT and k-steps-BT is significantly better than PDSA. Regarding the results of dynamic disturbance measure, we can observe from Fig. 6c that k-steps-BT is substantially better than PDSA and PDSA is better than WRA. Note that, the dynamic disturbance measure of the PDSA rises sharply when the number of temporary tasks is more than 20, while the dynamic disturbance measure of k-steps-BT is still relatively stable. Regarding the running time of algorithms, PDSA and k-steps-BT are substantially better than WRA.

Fig. 6
figure 6

Experimental results of different number of temporary tasks (k = 2)

It is noteworthy that the advantage of the k-steps-BT algorithm in enhancing task completion rate becomes less pronounced when the count of temporary tasks is limited. In such cases, the DRSN conserves available resources, enabling most temporary tasks to be scheduled without requiring sophisticated adjustments. In contrast, the WRA algorithm profoundly ensures optimal task completion rate by subjecting all tasks to rescheduling. Nevertheless, as the temporary task volume expands, both the computing time and dynamic disturbance measurement of WRA experience substantial escalation. Furthermore, in comparison to the k-steps-BT algorithm, the PDSA algorithm obviates the need for retrospective scheme adjustments. It directly arranges temporary tasks based on their priorities, showcasing a pronounced advantage in computing time and temporary task completion rate. However, for extensive temporary task scheduling, the PDSA algorithm's performance in terms of task completion rate and dynamic disturbance measurement still significantly trails that of the k-steps-BT algorithm.

Given the aforementioned observations, it is evident that the k-steps-BT algorithm offers significant advantages over the PDSA and WRA algorithms in effectively addressing the dynamic scheduling challenges within DRSN involving extensive temporary tasks. Conversely, the PDSA algorithm appears better suited for tackling scheduling problem entailing smaller-scale temporary tasks.

  1. (2)

    Experimental results of different values of k

Here, we analyze how the value of k affects performance of k-steps-BT. The experimental results are reported in Fig. 7, in which the number of temporary tasks is 20. The results show that k-steps-BT with different values of k have different performances in the number of temporary tasks completed, the total number of tasks completed, the dynamic disturbance measure, and the running time of the algorithm. Specifically, the increase of the k can effectively increase the completion rate of temporary tasks and the total task completion rate. However, the dynamic disturbance measure and running time increases sharply with the increase of k.

Fig. 7
figure 7

Experimental results of different value of k

Discussion

The dynamic scheduling of temporary tasks will inevitably interfere with the scheduling tasks. Therefore, to solve the dynamic scheduling problem caused by arriving of temporary tasks, we designed an algorithm named k-steps-BT with a faster response speed and lower adjustment cost. Meanwhile, the effectiveness of the k-steps-BT is proved through extensive experiments. In this section, we further discuss the applicability of k-steps-BT based on the experimental results.

The experimental results of Fig. 6 show that although WRA can effectively improve the task completion rate, the higher running time and dynamic disturbance measure of WRA do not meet the requirements of dynamic scheduling (timeliness and minor adjustment of scheduling scheme), which is a typical example of “no free lunch” [41, 42]. In addition, PDSA focuses overly on improving the completion rate of temporary tasks, while ignoring the total task completion rate, which leads to a higher dynamic disturbance measure. However, the number of temporary tasks completed of the k-steps-BT is more than that of the PDSA when there are more than 30 temporary tasks, and the total number of tasks completed of the former is substantially greater than that of the latter. Meanwhile, the dynamic disturbance measure of the PDSA rises sharply when the number of temporary tasks more than 20, while the dynamic disturbance measure of k-steps-BT is still relatively stable. The results of the above situation can be accounted for the following two reasons. On the one hand, k-steps-BT with a backtrack mechanism are more flexible for dynamic adjustment of tasks, which can handle conflicts between temporary tasks and scheduled tasks well. On the other hand, PDSA can only schedule temporary tasks by deleting the scheduled tasks because of the limited resources in the case with large-scale temporary tasks, which will lead to large adjustments in the dynamic scheduling scheme (i.e., the dynamic disturbance measure). Note that the time overhead of k-steps-BT is slightly more than that of PDSA (the maximum gap is within 2 s), which is reasonable for the timeliness requirement of dynamic scheduling. In this sense, k-steps-BT substantially outperform PDSA.

It is noteworthy that k-steps-BT achieves a good balance in terms of the temporary task completion rate, total completion rate, dynamic disturbance measure, and running time. Specifically, the numerical value of k determines the search depth of k-steps-BT in the solution space according to the idea of “exploration and exploitation” [43]. The k-steps-BT with a larger numerical value of k has a robust global searching ability but takes more time and vice versa. Therefore, we can select k-steps-BT with different k values for scenarios with different user requirements. If users pay more attention to the total task completion rate and temporary task completion rate, the k-steps-BT with a larger numerical value of k is more appropriate. Conversely, if users focus on the timeliness of scheduling, the k-steps-BT with a smaller numerical value of k is more appropriate.

Note that a great balance trade-off between timeliness and performance should made in practical applications, and we can observe from Fig. 7 that the running time and dynamic disturbance measure increase sharply with the increase of the k, which do not meet the dynamic scheduling requirements of DRSN. In this sense, to balance the performance and timeliness of k-steps-BT, k is recommended to be 2.

Conclusion

In this paper, first, we transform the dynamic scheduling considering hybrid system disturbances into the temporary tasks dynamic scheduling of DRSN. Second, we construct a dynamic scheduling model considering breakpoint transmission, which builds a framework that can uniformly characterize the static scheduling and dynamic scheduling of DRSN. Finally, we design an efficient algorithm to solve the above model and verify the effectiveness of the proposed model and algorithm by extensive experiments. Specifically, the proposed algorithm can improve the task completion rate with minimum adjustment cost and reasonable scheduling overhead when system disturbance occurs.

Future works will be focused on applying the breakpoint transmission to distributed scheduling considering hybrid system disturbances and designing more efficient algorithms to improve the performance of DRSN.