1 Introduction

1.1 Summary of prior results

The shortest remaining processing time (SRPT) queue discipline assigns preemptive priority to the task with the smallest residual service time. It is well known for enjoying excellent theoretical properties, namely minimizing the mean response time (Schrage and Miller 1966) and the queue length at any point of time (Schrage 1968, see also Smith 1976), in single server, single customer class queues. Moreover, for such systems, Núñez-Queija (2002) showed optimality of the tail behavior of the SRPT sojourn time distribution in the case of heavily tailed service times. However, using large deviation techniques, Nuyens and Zwart (2006) found that in the light tailed case, the corresponding decay rate of the sojourn time distribution under SRPT is actually suboptimal.

Recent findings suggest that the SRPT protocol is also well-suited for multiserver systems with a single queue. Grosof et al. (2018) showed asymptotic optimality in the heavy-traffic limit of the mean response time in the M/G/k queue utilizing SRPT. Dong and Ibrahim (2021) investigated the multiserver M/G/k+G queue with impatient customers under the SRPT protocol and proved that in this setting, the SRPT discipline asymptotically maximizes the system throughput.

Fig. 1
figure 1

Linear network with two resources

It is natural to ask about the performance of the SRPT discipline in multiserver queueing networks. In this paper, we focus on resource sharing networks, also known as flow level models or bandwidth sharing networks, introduced by Massoulié and Roberts (1999, 2000) in order to study congestion control for Internet traffic. In such systems flows corresponding to continuous transfers of elastic documents are being transmitted on type-specific paths, requiring simultaneous service at each node on their routes. An overview of developments in the theory of bandwidth sharing networks may be found in Harrison et al. (2014). Various service disciplines for such networks have been proposed, including max-min fairness (see, e.g., Bertsekas and Gallager 1992), potential delay minimization (Massoulié and Roberts 1999), proportional fairness (Kelly 1997), balanced fairness (Bonald and Proutière 2003) and more general \(\alpha \)-fair policies, introduced by Mo and Walrand (2000).

It is easy to see that the SRPT policy implemented in a resource sharing network no longer minimizes the total queue length and the mean response time. Consider, for example, a simple linear network with three routes and two resources, having unit service capacities, as depicted in Fig. 1. Suppose that at time zero there is a single flow of size 3 on each of the “short” routes 1, 2 and a single flow of size 2 on the “long” route 3. Assume also that there are no external arrivals to the system until the time 5. Under the SRPT protocol, the flow on route 3 gets prioritized and hence at time 3 we have two flows in the system. If, however, the flows on the ”short” routes are transmitted first, then there is only one flow in the network at time 3. Consequently the choice of SRPT may actually result in a larger number of unfinished tasks in a system with shared resources. In fact, Verloop et al. (2005) showed that the SRPT protocol in a strictly subcritical linear resource sharing network may behave suboptimally to the point of making the underlying system unstable. A similar phenomenon in the context of multiclass queueing networks was recently reported by Chojecki and Kruk (2022).

1.2 Our work

In the situation described above, it is reasonable to ask about the existence and nature of performance measures under which the SRPT discipline in a network with shared resources is actually optimal. The aim of our paper is to address this question using criteria based on cumulative transmission times of flows with given remaining service requirements. We consider general resource sharing networks with arbitrary topology and node capacities, without making any distributional assumptions on the underlying stochastic primitives. In order to quantify the network’s ability to serve files of different sizes, for every route i and time \(t\ge 0\), we introduce the (random) cumulative transmission time distribution \(T_i(t,\cdot )\). Here, for \(s\ge 0\), \(T_i(t,s)\) is the cumulative bandwidth allocated to route i by time t for the transmission of flows with residual file sizes (evaluated at the times of their processing) not greater than s.

In the first part of this paper, we compare the effects of implementing different transmission protocols for the underlying queueing system by comparing the corresponding vector-valued functions \(T=(T_i)_{i \in \mathbf{I}}\), where \(\mathbf{I}\) is the set of the network routes, with respect to the pointwise functional inequality. This relation is defined as follows: for functions \(f=(f_i)\), \(g=(g_i)\) of two variables \(t,s\ge 0\), we have \(f\le g\) if and only if \(f_i(t,s)\le g_i(t,s)\) for each coordinate i and all nonnegative ts. In line with the terminology established in Gieroba and Kruk (2021) and Kruk (2016, 2017, 2021), a protocol maximizing T - equivalently, minimizing the corresponding cumulative idleness vector \(Y=(Y_i)_{i \in \mathbf{I}}\), whenever the latter one can be defined - with respect to this partial ordering is called minimal. We show that the SRPT protocol in a resource sharing network is minimal (Theorem 1). The converse of this statement is, in general, false. However, in a minimal network with shared resources, flows on each route are prioritized according to SRPT (Theorem 2). In particular, a single-server, single customer class queue, which is a special case of our network with a single resource, is minimal if and only if the system is working under the SRPT protocol (Corollary 2). The above findings generalize the results of Gieroba and Kruk (2021), which were originally obtained under a limiting additional assumption that the capacities of all the network resources are equal.

In the search of a minimality notion enforcing the SRPT transmission ordering globally in the entire network, as opposed to its usage only as the local, intra-route, discipline, we adopt the partial ordering of real-valued functions introduced in Kruk (2017). For \(f,g: [0,\infty )\rightarrow {\mathbb {R}}\), we write \(f\ll g\) if either \(f=g\), or if \(f\le g\) in the interval \([c,c+\epsilon ]\) for some \(\epsilon >0\), where \(c= \inf \{x\ge 0: f(x)\ne g(x)\}\) is the “left edge” of the set of points for which the values of f and g differ.

Under the additional assumption of unit resource capacities, we can define the cumulative idleness processes \(Y_i(t,s)=t-T_i(t,s)\). Adapting the approach of Kruk (2017) to our setting, we then say that a service discipline with the cumulative idleness distribution functions \(Y_i\), \(i\in \mathbf{I}\), is locally edge minimal if for every time \(t_0\ge 0\) there exists \(h>0\) such that replacing this service protocol by another one in the interval \([t_0,t_0+h]\) results in the cumulative idleness distribution functions \(Y'_i\) satisfying \(\sum _{i\in \mathbf{I}} Y_i(t,\cdot )\ll \sum _{i\in \mathbf{I}} Y'_i(t,\cdot )\) for every \(t\in [t_0,t_0+h)\), or equivalently \(\sum _{i\in \mathbf{I}} T'_i(t,\cdot )\ll \sum _{i\in \mathbf{I}} T_i(t,\cdot ), \ t\in [t_0,t_0+h).\) The latter relation can be used to introduce local edge minimality also in the general case of arbitrary resource capacities, in which the idleness processes are not defined.

Our main result is Theorem 4 in Sect. 5, stating that a service policy in a network with shared resources is locally edge minimal if and only if it belongs to a class of strong SRPT protocols. Loosely speaking, a SRPT discipline for a resource sharing network is strong SRPT if its tie-breaking rule allows for scheduling the transmission of flows with the smallest residual file sizes on as many routes as possible and, moreover, with the greatest available rates (see Sect. 5.1 for a precise definition). Therefore, in our setting, such protocols may be regarded as the most efficient SRPT policies. Both the definition of a strong SRPT service discipline and the proof of our main result simplify considerably in the case of unit resource capacities. Therefore, to aid the reader, we analyze this case first (see Sect. 4) before addressing these issues in full generality.

Summarizing, the main contributions of this paper are:

  • Generalization of minimality of SRPT resource sharing networks to the case of arbitrary link capacities.

  • Introduction of a novel strong SRPT service policy for networks with shared resources.

  • Establishing equivalence of locally edge minimal resource sharing networks with those implementing strong SRPT protocols.

1.3 Related studies

Our work was motivated by a closely related study of Kruk (2016, 2017) on service protocols for real-time resource sharing networks. In these papers, the second coordinate s in the processes \(Y_i(t,s)\), \(T_i(t,s)\) was used to denote the current lead time of the flow rather than its residual service time. In the setting of Kruk (2016, 2017), the earliest deadline first (EDF) and strong EDF protocols were shown to be optimal (minimal and locally edge minimal, respectively). Moreover, local EDF (i.e., implementing the EDF protocol on each route, but not necessarily globally) and strong EDF protocols for a network with shared resources were characterized by the above-mentioned optimality properties. Such characterizations seem to be of some interest, because it is apparently hard to find network equations characterizing the EDF (and, similarly, SRPT) protocol in resource sharing networks. This is in sharp contrast to successful applications of such equations in the EDF multiclass queueing networks, see Bramson (2001) or Kruk (2008, 2019).

It is known that the EDF and SRPT service disciplines are closely related to each other in a single server setting. To our knowledge, their similarity was first observed by Bender et al. (1998) and then, more explicitly, by Down et al. (2009). More recently, Atar et al. (2018) introduced a unified framework for the analysis of single server queueing systems with various scheduling disciplines, including EDF and SRPT. Although the analogy between these two policies is apparently weaker in multiclass, multiserver networks (see the discussion in the last section of Chojecki and Kruk (2022) and the references given there), some similarity in their behavior was to be expected also in networks with shared resources. Our study, together with the results of Kruk (2016, 2017), illustrates qualitative similarity of SRPT and EDF in the latter setting. Observe, however, that there are also important differences in the analysis of these two service disciplines. The lead times of all the tasks in the system decrease with unit speed and hence their relative ordering, determining priorities under the EDF policy, does not change. In contrast, the residual service times of the flows decrease according to their transmission rates, so their ordering changes in time and, moreover, it depends on the underlying service protocol. Therefore, our analysis necessarily differs from the one presented in Kruk (2016, 2017). If we consider the cumulative transmission times \(T_i(t,\cdot )\) as functions of the residual service times of the transmitted flows, as we do here, then, given the network primitives, there is a unique one-to-one relationship between the processes \(T_i\) and the resulting system state, which may not hold in the real-time setting (see Proposition 1 and Remark 2, to follow). On the other hand, handling the changes in the relative ordering of the flows according to their remaining transmission requirements needs extra care which was not necessary in the analysis of EDF-like protocols. Moreover, in contrast to Kruk (2016, 2017), in the present study we do not assume that all the network resource capacities are equal. Consequently, as we have already observed, additional difficulties in the arguments and, in fact, even in the definitions of the service disciplines under consideration, arise here. In fact, our work gives an indication of the changes required in order to generalize the results from Kruk (2016, 2017) to the case of arbitrary link capacities.

1.4 Structure of the paper

This paper is organized as follows. In Sect. 2, after introducing suitable notation, we define a stochastic model for a resource sharing network and the corresponding SRPT service discipline. Section 3 is devoted to the study of minimality of such networks in the sense given above. In Sect. 4, under the assumption of unit link capacities, we define a strong SRPT service discipline and show its local edge minimality. In Sect. 5, we generalize the notions and results of the previous section to the case of general node capacities. Section 6 concludes.

1.5 Notation

The following notation will be used throughout. For a finite set A, let |A| denote the cardinality of A and let \(2^A\) denote the family of all the subsets of A. Let \({\mathbb {R}}\) denote the set of real numbers and let \({\mathbb {R}}_+=[0,+\infty )\). For \(a,b\in {\mathbb {R}}\), we write \(a\vee b\) (\(a\wedge b\)) for the maximum (minimum) of a and b. Vector inequalities are to be interpreted componentwise, i.e., for \(a,b\in {\mathbb {R}}^n\), \(a=(a_1,...,a_n)\), \(b=(b_1,...,b_n)\), \(a\le b\) if and only if \(a_i\le b_i\) for all \(i=1,...,n\). Functional inequalities are to be interpreted pointwise, i.e., for \(f,g:A\rightarrow {\mathbb {R}}^n\), we write \(f\le g\) if and only if \(f(x)\le g(x)\) for all \(x\in A\). By convention, a sum over the empty set of indices equals zero. We also assume that \(\inf \varnothing = \min \varnothing = +\infty \).

The Borel \(\sigma \)-field on \({\mathbb {R}}_+\) will be denoted by \({\mathcal {B}}({\mathbb {R}}_+)\). For \(B\in {\mathcal {B}}({\mathbb {R}}_+)\), we denote the indicator of the set B by \({\mathbb {I}}_{B}\). For a function f(xy) of two variables, let \(d_x f(x,y)\) denote the differential of f(xy) with respect to x, i.e., \(d g_y(x)\), where \(g_y(x)=f(x,y)\) is a function of x depending on a parameter y.

Let \({\mathbf {M}}\) denote the set of finite, nonnegative measures on \( {\mathcal {B}}({\mathbb {R}}_+)\). When \(\mu \in {\mathbf {M}}\) and \(a,b \in {\mathbb {R}}_+ \cup \{ +\infty \}\), we will simply write \(\mu (a,b)\), \(\mu [a,b)\), \(\mu (a,b]\) instead of \(\mu ((a,b))\), \(\mu ([a,b)),\ \mu ((a,b]),\) respectively. For \(\mu \in {\mathbf {M}}\), let \(l_\mu = \sup \{x\in {\mathbb {R}}_+: \mu [0,x) =0 \}\) be the left endpoint of support of the measure \(\mu \). We denote the measure in \({\mathbf {M}}\) that puts one unit of mass at a point \(x\in {\mathbb {R}}\) by \(\delta _x\).

For a right-continuous function \(x:[0,\infty )\rightarrow {\mathbb {R}}^n\) with left limits and \(t>0\), define \(\bigtriangleup x (t)=x(t)-x(t-)\), where \(x(t-)=\lim \limits _{s\rightarrow t^-}x(s)\).

2 Stochastic model

2.1 Network structure

We consider a network with a finite number of resources (nodes), labelled by \(j=1,...,J\), and a finite set of routes, labelled by \(i=1,...,I\). Each route may be identified with a nonempty subset of \(\mathbf{J}=\{1,...,J\}\), interpreted as the set of resources used by this route. Let \(A=[a_{ji}]\) be the \(J\times I\) incidence matrix in which \(a_{ji}=1\) if resource j is used by route i and \(a_{ji}=0\) otherwise. Let \(\mathbf{I}=\{1,...,I\}\). Then the set \({\mathcal {R}}(i)\) of resources used by route i may be described by the equation \({\mathcal {R}}(i)=\{j\in \mathbf{J} :a_{ji}=1\}\). Similarly, the set \({\mathcal {F}}(j)\) of routes using the resource j is defined by the equation \({\mathcal {F}}(j)=\{i\in \mathbf{I}:a_{ji}=1\}\).

By a flow on route i we mean a continuous transfer of a file through the resources used by this route. We assume that a flow takes simultaneous possession of all the resources on its route during its transmission. The processing rate of a flow is the rate at which the corresponding file is being transmitted. By the bandwidth assigned to route i we mean the sum of the processing rates of the flows on this route. Finally, the bandwidth allocated through resource j is the sum of the bandwidths assigned to routes \(i\in {\mathcal {F}}(j)\). We assume that every resource \(j\in \mathbf{J}\) has finite capacity (i.e., the maximal bandwidth which can be allocated through it) denoted by \(C_j\in (0,\infty )\). Let

$$\begin{aligned} C_{max}=\max _{j\in \mathbf {J}}C_j. \end{aligned}$$
(1)

2.2 Stochastic primitives

Let \((\Omega , {\mathcal {A}}, {\mathbf {P}})\) be a probability space on which all the random objects to follow will be defined. The initial condition consists of the nonnegative, integer-valued random variables \(Q_i(0)\), \(i\in \mathbf{I}\), counting the numbers of initial flows on each route at time zero and the strictly positive random initial file sizes of the initial flows \(v_{i,k}\), where \(i\in \mathbf{I}\), \(k=1,...,Q_i(0)\). The initial flow with service time \(v_{i,k}\) will be called flow k on route i.

Let \(N_i(\cdot )\) be the exogenous arrival process for the route \(i\in \mathbf{I}\). For \(t \ge 0\), \(N_i(t)\) represents the number of flows arriving to the i-th route in the time interval (0, t]. The k-th arrival modelled by \(N_i(\cdot )\) will be called flow \(Q_i(0)+k\) on route i. For \(i\in \mathbf{I}\) and \(t\ge 0\), let \(A_i(t)=Q_i(0)+N_i(t)\).

For \(i\in \mathbf{I}\) and \(k > Q_i(0)\), a random variable \(v_{i,k}\) represents the initial size of the file associated with the k-th flow on route i, i.e., the cumulative amount of processing necessary to complete the transfer of this flow through the network. We assume that for each \(i\in \mathbf{I}\) the random variables \(v_{i,k}\), \(k\ge 1\), are strictly positive.

2.3 Residual file sizes

For \(t \ge 0\), \(i\in \mathbf{I}\) and \(k\le A_i(t)\), let \(w_{i,k}(t)\) denote the residual size of the file of flow k on route i at time t, i.e., the remaining transmission time, measured in the units of service, still required to complete its transfer. Thus, \(w_{i,k}(\cdot )\) decreases during the transmission of the flow k on route i according to the transmission rate assigned to this flow and it is constant otherwise.

We combine the stochastic primitives defined above into the following measure-valued arrival processes: for \(i\in \mathbf{I}\) and \(t\ge 0\), let

$$\begin{aligned} {\mathcal {A}}_i(t)=\sum _{k=1}^{A_i(t)}\delta _{v_{i,k}}, \qquad \quad {\mathcal {V}}_i(t)=\sum _{k=1}^{A_i(t)} v_{i,k} \delta _{v_{i,k}}. \end{aligned}$$

2.4 Measure-valued state descriptors

For \(t\ge 0\) and \(i\in \mathbf{I}\), the measure-valued state descriptors for route i are defined by

$$\begin{aligned}&{\mathcal {Q}}_i(t)=\sum _{k=1}^{A_i(t)} {\mathbb {I}}_{(0,\infty )} (w_{i,k}(t)) \delta _{w_{i,k}(t)}, \end{aligned}$$
(2)
$$\begin{aligned}&{\mathcal {W}}_i(t)=\sum _{k=1}^{A_i(t)} w_{i,k}(t) \delta _{w_{i,k}(t)}. \end{aligned}$$
(3)

The random measure \({\mathcal {Q}}_i(t)\) (resp. \({\mathcal {W}}_i(t)\)) puts the unit mass (resp., the mass equal to the corresponding residual file size) at the residual file size of any flow present on route i at time t. Then \(Q_i(t)={\mathcal {Q}}_i(t)({\mathbb {R}}_+)\) denotes the number of flows on the route \(i\in \mathbf{I}\) at time t. Let \(Q(t)=(Q_1(t),...,Q_I(t))\) and

$$\begin{aligned} {\mathcal {Q}}(t)=({\mathcal {Q}}_1(t),..., {\mathcal {Q}}_I(t)). \end{aligned}$$
(4)

The current shortest remaining processing time process for route i will be denoted by \(L_i(\cdot )\), where \(L_i(t) =l_{{\mathcal {Q}}_i(t)}\) for all \(t\ge 0\).

2.5 SRPT service protocol

The network operates under the SRPT policy, dynamically allocating the greatest available bandwidths to flows with the shortest residual transmission times. In the case of preemption, we assume preempt-resume and no setup, switchover or other type of overhead. A detailed description of this protocol is given below.

Let \(t\ge 0\) be such that \(Q(t)\ne 0\) and let \(i_0\in \mathbf{I}\), \(k_0\le A_{i_0}(t)\) be such that \(w_{i_0,k_0}(t)>0\) and \(w_{i_0,k_0}(t)\) is the smallest of the residual transmission times of the flows present in the system at time t. Here and elsewhere, we assume that ties are broken in an arbitrary manner unless it is explicitly stated otherwise. The flow \(k_0\) on route \(i_0\) is chosen for transmission at time t, with the greatest possible rate

$$\begin{aligned} \lambda _0 =\min _{j\in {\mathcal {R}}(i_0)} C_j. \end{aligned}$$
(5)

This assignment makes the resources belonging to the set

$$\begin{aligned} \mathbf{B}_0= \{j\in {\mathcal {R}}(i_0): C_j=\lambda _0\} \end{aligned}$$
(6)

transmit at their full capacities, so no more flows can be transmitted at time t on any route using any of these nodes.

Let

$$\begin{aligned} \mathbf{J}_1=\mathbf{J}\setminus \mathbf{B}_0, \qquad \mathbf{I}_1=\{i\in \mathbf{I}: {\mathcal {R}}(i) \subseteq \mathbf{J}_1\}. \end{aligned}$$
(7)

If \(\sum _{i\in \mathbf{I}_1} Q_i(t)=0\) (in particular, if \(\mathbf{I}_1=\emptyset \)), then the assignment of flows for transmission at time t is finished, because no more flows can be transmitted at that time. Otherwise let \(i_1\in \mathbf{I}_1\), \(k_1\le A_{i_1}(t)\) be such that \(w_{i_1,k_1}(t)>0\) and \(w_{i_1,k_1}(t)\) is the smallest of the residual transmission times of the flows present in the system at time t which are on routes belonging to the set \(\mathbf{I}_1\). We choose the flow \(k_1\) on route \(i_1\) for transmission at time t, with the greatest possible rate

$$\begin{aligned} \lambda _1 = \min _{j\in {\mathcal {R}}(i_1)} \left( C_j - \lambda _0 {\mathbb {I}}_{{\mathcal {R}}(i_0)}(j)\right) . \end{aligned}$$

Note that \({\mathcal {R}}(i_1) \cap \mathbf{B}_0= \emptyset \) by (7) and hence \(\lambda _1>0\) by (5), (6). The latter assignment makes the resources belonging to the set

$$\begin{aligned} \mathbf{B}_1= \{j\in {\mathcal {R}}(i_1): C_j=\lambda _1+ \lambda _0 {\mathbb {I}}_{{\mathcal {R}}(i_0)}(j)\} \end{aligned}$$
(8)

transmit at their full capacities, so that no more flows can be transmitted at time t on any route using any of these nodes.

Let \(\mathbf{J}_2=\mathbf{J}_1\setminus \mathbf{B}_1\), \(\mathbf{I}_2=\{i\in \mathbf{I}: {\mathcal {R}}(i) \subseteq \mathbf{J}_2\}\). If \(\sum _{i\in \mathbf{I}_2} Q_i(t)=0\) (in particular, if \(\mathbf{I}_2=\emptyset \)), we stop, otherwise we continue in this way until, at some step n, we get \(\sum _{i\in \mathbf{I}_n} Q_i(t)=0\) and the assignment procedure at time t stops. This assignment is effective until one of the ongoing transmissions is finished, or a new flow arrives to the system, or two (or more) flows with different file sizes at time t are processed so that their residual transmission times coincide. Then, subject to the same rules, a rearrangement may happen.

It is clear that the indices \(i_l\), \(k_l\), the sets \(\mathbf{B}_l\), \(\mathbf{I}_l\), \(\mathbf{J}_l\) and the transmission rates \(\lambda _l\) defined above depend on the time t at which they have been defined/chosen, although we usually do not make this dependence explicit in our notation.

Define \(\Lambda = \Lambda (t) = (\Lambda _i(t))_{i\in \mathbf {I}}\) as the bandwidth allocation vector at time t. In the case of the algorithm described above, we put \(\Lambda _{i_l}(t):= \lambda _l, l=0,...,n-1\), and \(\Lambda _i(t)=0\) for \(i\in \mathbf {I}\setminus \{i_0,...,i_{n-1}\}\).

Remark 1

The SRPT scheduling algorithm described above simplifies in a special case in which the capacities of all the network resources are equal. Without loss of generality (changing the units if necessary) we can then assume that

$$\begin{aligned} C_1=...=C_J=1. \end{aligned}$$
(9)

In this case, we have \(\mathbf{B}_m={\mathcal {R}}(i_{m})\) for all m under consideration, so that \({\mathcal {R}}(i_m)\cap {\mathcal {R}}(i_{l}) = \emptyset \) for \(m\ne l\) and all \(\lambda _m\) are equal to one. This setup was previously considered in Gieroba and Kruk (2021) and, under the additional assumption of a linear network topology, also in Verloop et al. (2005).

In what follows, we will frequently compare the performance of the SRPT policy defined above with the performance of other service disciplines. In some of them, flows on every route are scheduled for transmission according to the SRPT protocol, i.e., in the order of increasing residual file sizes, although the choice of routes on which the transmission takes place does not have to conform to the SRPT discipline. In such a case, mimicking the approach of Down et al. (2009), we can fully characterize the dynamics of the measure-valued state descriptors \( {\mathcal {Q}}_i(t)\), \({\mathcal {W}}_i(t)\), \(i\in \mathbf{I}\), in terms of the underlying bandwidth allocation process \(\Lambda (t)\), \(t\ge 0\). To this end, let us define a function \(\phi :{\mathbb {R}}_+\times {\mathbb {R}}_+ \rightarrow \{0,1\}\) such that \(\phi (x,y)=1\) if \(x=0\), \(y=1\), and \(\phi (x,y)=0\) otherwise. Then for every \(t\ge 0\), \(i\in \mathbf{I}\) and \(k\le A_i(t)\), we have

$$\begin{aligned} w_{i,k}(t) = v_{i,k} - \int _{\tau _{i,k}}^{\tau _{i,k}\vee t} \Lambda _i(s) \; \phi \left( {\mathcal {Q}}_i(s)[0,w_{i,k}(s)), {\mathcal {Q}}_{i,k}(s)[0,w_{i,k}(s)] \right) \; ds, \end{aligned}$$
(10)

where \(\tau _{i,k}=\inf \{ t\ge 0:A_i(t)\ge k\}\) is the arrival time of flow k to route i and

$$\begin{aligned} {\mathcal {Q}}_{i,k}(t) = \sum _{l=1}^{k} {\mathbb {I}}_{(0,\infty )}(w_{i,l}(t)) \delta _{w_{i,l}(t)} \end{aligned}$$
(11)

compare the equations (4)–(6) in Down et al. (2009). Note that \({\mathcal {Q}}_{i}(t) ={\mathcal {Q}}_{i,A_i(t)}(t)\) (see (2)). For given \(\Lambda _i\), the Eqs. (2), (10)–(11) have a unique right-continuous solution \(\{w_{i,k}(t)\}_{k\ge 1}\), completely determining \({\mathcal {Q}}_i(t)\) and \({\mathcal {W}}_i(t)\).

Networks using SRPT as the intra-route service discipline were investigated by Aalto and Ayesta (2009). An example of such a system is a resource sharing network with fixed priorities of routes, in which flows on every route are served according to SRPT.

2.6 Network equations

In order to define the network equations, we introduce the following random fields. For \(i\in \mathbf{I}\) and \(t,s\ge 0\), let

$$\begin{aligned} E_i(t,s)= & {} \sum _{k=1}^{N_i(t)} \delta _{v_{i,k+Q_i(0)}} (0,s] ={\mathcal {A}}_i(t)(0,s]-{\mathcal {Q}}_i(0)(0,s], \\ Z_i(t,s)= & {} {\mathcal {Q}}_i(t)(0,s]. \end{aligned}$$

In other words, \(E_i(t,s)\) is equal to the number of external arrivals by time t of flows on route i with residual transmission times at time t less than or equal to s and \(Z_i(t,s)\) is the number of flows on route i with residual transmission times at time t not greater than s which are still present in the system at that time. Observe that \(N_i(t)=\lim _{s\rightarrow \infty } E_i(t,s)\), \(Q_i(t)=\lim _{s\rightarrow \infty } Z_i(t,s)\). Let \(E(t,s)=(E_i(t,s))_{i\in \mathbf{I}}\), \(Z(t,s)=(Z_i(t,s))_{i\in \mathbf{I}}\). Similarly, the vectors \(D(t)=(D_i(t))_{i\in \mathbf{I}}\), \(T(t,s)=(T_i(t,s))_{i\in \mathbf{I}}\) denote the number of departures (i.e., transmission completions) and the cumulative bandwidth allocated to each route i by time t for the transmission of flows with residual file sizes (evaluated at the times of their processing) not greater than s. Note that \(D_i(t)=A_i(t)-Q_i(t)\) and

$$\begin{aligned} T_i(t,s)=\sum _{k=1}^{A_i(t)}[(v_{i,k}\wedge s)-w_{i,k}(t)]^+. \end{aligned}$$
(12)

We claim that for \(i\in \mathbf {I}, t,s\ge 0\)

$$\begin{aligned} {\mathcal {V}}_i(t)(s,\infty ) - s {\mathcal {A}}_i(t)(s,\infty ) ={\mathcal {W}}_i(t)(s,\infty ) - s {\mathcal {Q}}_i(t)(s,\infty ) +T_i(t,\infty ) - T_i(t,s), \end{aligned}$$
(13)

where

$$\begin{aligned} T_i(t,\infty )=\lim \limits _{s\rightarrow +\infty }T_i(t,s) = \int _0^t \Lambda _i(s) ds \end{aligned}$$
(14)

is the cumulative bandwidth assigned to route i up to time t. Indeed, since

$$\begin{aligned} {\mathcal {V}}_i(t)(s,\infty ) - s {\mathcal {A}}_i(t)(s,\infty )= & {} \sum _{k=1}^{A_i(t)}(v_{i,k}-s)^+, \nonumber \\ {\mathcal {W}}_i(t)(s,\infty ) - s {\mathcal {Q}}_i(t)(s,\infty )= & {} \sum _{k=1}^{A_i(t)}(w_{i,k}(t)-s)^+, \end{aligned}$$
(15)

and by (12), we have

$$\begin{aligned} T_i(t,\infty ) - T_i(t,s) =\sum _{k=1}^{A_i(t)} [v_{i,k} -(w_{i,k}(t)\vee s)]^+, \end{aligned}$$

the Eq. (13) reduces to an easily verifiable identity

$$\begin{aligned} (v_{i,k}-s)^+ = (w_{i,k}(t)-s)^+ + [v_{i,k} -(w_{i,k}(t)\vee s)]^+, \qquad k=1,...,A_i(t). \end{aligned}$$

Define \(V_i(t)={\mathcal {V}}_i(t)({\mathbb {R}}_+),\ W_i(t)={\mathcal {W}}_i(t)({\mathbb {R}}_+).\) By substituting \(s=0\) in (13) we obtain the equality

$$\begin{aligned} V_i(t) = W_i(t) + T_i(t,\infty ), \qquad t,s\ge 0. \end{aligned}$$
(16)

For \(i\in \mathbf {I},\ t,s\ge 0\), let

$$\begin{aligned} P_i(t, s)= \sum _{k=1}^{A_i(t)} {\mathbb {I}}_{(s,\infty )}(v_{i,k})\; {\mathbb {I}}_{[0,s]}(w_{i,k}(t)) \end{aligned}$$

denote the number of flows arriving to route i by time t (including the initial ones) with transmission times initially greater than s, but partially processed so that their residual transmission times at time t are less than or equal to s. Finally, let \(P(t,s)=(P_i(t,s))_{i\in \mathbf{I}}\) and let

$$\begin{aligned} \mathfrak {X}(t,s)=(Z(t,s),D(t),T(t,s), P(t,s)), \qquad t, s\ge 0. \end{aligned}$$
(17)

By definition, all the components of \(\mathfrak {X}\) are nonnegative, \(D(\cdot )\), \(T(\cdot ,s)\) are nondecreasing in each coordinate, \(Z(t,0)=T(t,0)=0\) for \(t\ge 0\) and \(D(0)=T(0,s)=P(0,s)= 0\) for \(s\ge 0\). Moreover, all the coordinates of \(Z(t,\cdot )\) and of the increments \(T(\tilde{t},\cdot )-T(t,\cdot )\) are nondecreasing for all \(\tilde{t}\ge t\ge 0\). The process \(\mathfrak {X}\) satisfies the following network equations:

$$\begin{aligned} Z(t,s)= Z(0,s)+E(t,s)+P(t,s)-D(t), \end{aligned}$$
(18)
$$\begin{aligned} D_i(t)=P_i(t, 0), \qquad i\in \mathbf{I}, \end{aligned}$$
(19)
$$\begin{aligned} \sum _{i\in {\mathcal {F}}(j)} \big ( T_i(\tilde{t}, s)- T_i(t,s) \big ) \le C_j (\tilde{t}-t), \qquad j\in \mathbf{J}, \end{aligned}$$
(20)

valid for every for \(\tilde{t}\ge t\ge 0\) and \(s\ge 0\). In particular, the inequality (20) enforces the resource capacity constraints. We also impose the following, intuitively obvious, requirement: for all \(t\ge 0\), \(0\le s_1<s_2\), \(i\in \mathbf{I}\),

$$\begin{aligned} \int _0^t {\mathbb {I}}_{[Z_i(u,s_2)=Z_i(u,s_1)]} \; d_u \left( T_i(u,s_2)-T_i(u,s_1)\right) =0. \end{aligned}$$
(21)

This condition mathematically formalizes the fact that flows that are not present in the system cannot be transmitted. By definition, the process \(\mathfrak {X}\) for an SRPT resource sharing network (and, in fact, for any “real” service discipline) satisfies (21). Putting \(s_1=0\), \(s_2=s\) in the latter equation and recalling that \(Z(u,0)=T(u,0)=0\), for all \(t, s\ge 0\) we get

$$\begin{aligned} \int _0^t {\mathbb {I}}_{[Z_i(u,s)=0]} \; d_u T_i(u,s)=0, \qquad i\in \mathbf{I}. \end{aligned}$$
(22)

3 Minimality of SRPT networks

3.1 An auxiliary result

The following proposition, providing a useful one-to-one correspondence between the performance processes \(Z_i\) and \(T_i\), \(i\in \mathbf {I}\), generalizes Proposition 1 from Gieroba and Kruk (2021) to our setting and it can be proved by an analogous argument.

Proposition 1

Consider two performance processes: \(\mathfrak {X}(t,s)\) given by (17) and \(\mathfrak {X}'(t,s)=(Z'(t,s),D'(t),T'(t,s), P'(t,s)), \ t, s\ge 0\), satisfying the same conditions as \(\mathfrak {X}(t,s)\). By \(E_i'\), \(i\in \mathbf {I}\) we denote the random field analogous to \(E_i\), corresponding to the process \(\mathfrak {X}'\). Let \(i\in \mathbf {I}\), \(T\in (0,+\infty )\). If \(Z_i(0,\cdot )=Z_i'(0,\cdot )\), \(E_i(t,\cdot ) \equiv E_i'(t,\cdot )\) and \(T_i(t,\cdot ) \equiv T_i'(t,\cdot )\) for \(t\in [0, T]\), then \(Z_i(t,\cdot ) \equiv Z_i'(t,\cdot )\) for \(t\in [0, T]\).

Remark 2

A counterpart of Proposition 1 in the setting of real-time service disciplines, considered in Kruk (2016, 2017), in which the coordinate s of the processes \(E_i(t,s)\), \(T_i(t,s)\), \(Z_i(t,s)\) corresponds to the current lead times of flows, rather than their residual service times, is false. For a counterexample, consider the protocols from Example 1 in Kruk (2017) on the time horizon [0, 2]. The reason for this different behavior is the fact that the lead times of the flows do not depend on their transmission rates. Consequently, if there are several flows on the same route i with the same deadline, the dynamics of the process \(T_i\) determine the cumulative transmission rate assigned to all these flows, but it does not reveal how this overall rate is divided between them.

Corollary 1

Under the assumptions of Proposition 1 we have \(D_i(\cdot ) \equiv D_i'(\cdot )\) and \(P_i(t,\cdot ) \equiv P_i'(t,\cdot )\) on [0, T].

Indeed, \(D_i\) and \(D'_i\) are piecewise constant functions with \(D_i(0)=D'_i(0)=0\) and for \(t\in [0, T]\),

$$\begin{aligned} \triangle D_i(t)= \triangle N_i(t) -\triangle Q_i(t) =\triangle N_i'(t) -\triangle Q_i'(t)=\triangle D_i'(t), \end{aligned}$$

so \(D_i(\cdot ) \equiv D_i'(\cdot )\) on [0, T]. This, together with (18), implies that \(P_i(t,\cdot ) \equiv P_i'(t,\cdot )\) for \(t\in [0, T]\).

3.2 Minimality

The Eqs. (18)–(21) are very general in nature, and hence they are satisfied by systems working under various service disciplines. In particular, they do not imply any lower bounds on the transmission rates, allowing for excessive system idleness. To illustrate this point, let us consider the following example.

Example 1

(Idle queue) Let \(I=J=1,\ C_1=1\). For the stochastic primitives defined in Sect. 2.2, let \(\mathfrak {X}\) be the process defined by (17), with \(Z(t,s)= Z(0,s)+E(t,s)\), \(D(t)=T(t,s)=P(t,s)=0\) for all \(t,s\ge 0\). Then \(\mathfrak {X}\) satisfies (18)–(21), together with the nonnegativity and monotonicity assumptions listed below (17).

Let us also mention that SRPT resource sharing networks, like other networks with resource sharing, typically do not have the non-idling property. The following example is standard.

Example 2

(Linear network) Consider the network pictured in Fig. 1, with \(I=3\), \(J=2\), \(C_1=C_2=1\), \({\mathcal {R}}(1)=\{1\}\), \({\mathcal {R}}(2)=\{2\}\) and \({\mathcal {R}}(3)=\{1,2\}\). Recall that \(L_i(t)\) is the smallest residual service time of a flow on route i at time t. If \(Q_1(t)>0\), \(Q_2(t)=0\), \(Q_3(t)>0\) and \(L_1(t)<L_3(t)\), then at time t a flow on route 1 is transmitted and the system is unable to transmit flows on route 3. Consequently, the second resource is idle, although there are flows on a route using this resource which are waiting for transmission at that time.

We shall now define a notion of minimality which enforces the transmission of flows on every given route in the SRPT order (see Theorem 2, to follow) and, moreover, it implies a suitable counterpart of non-idleness for networks with shared resources.

Definition 1

Let \(\mathfrak {X}^{(k)}=(Z^{(k)},D^{(k)},T^{(k)}, P^{(k)})\), \(k=1,2\), be two performance processes of the form (17) for resource sharing networks, having the same incidence matrix A and the same stochastic primitives (i.e., with \(Z^{(1)}(0,\cdot )=Z^{(2)}(0,\cdot )\) and the same external arrival function E), satisfying (18)–(21), together with the nonnegativity and monotonicity assumptions made below (17). We write \(\mathfrak {X}^{(1)}\preceq \mathfrak {X}^{(2)}\) if \(T^{(1)}(\omega )\ge T^{(2)}(\omega )\) for every \(\omega \in \Omega \).

Recall that vector inequalities are to be interpreted componentwise and functional inequalities are to be interpreted pointwise. For example, the condition \(T^{(1)}(\omega )\ge T^{(2)}(\omega )\) in Definition 1 means that \(T^{(1)}_i(t,s)(\omega )\ge T^{(2)}_i(t,s)(\omega )\) for all \(i \in \mathbf{I}\) and \(t,s\ge 0\).

Definition 2

A performance process \(\mathfrak {X}\) of the form (17), satisfying (18)–(21), together with the nonnegativity and monotonicity assumptions made below (17), is called minimal if for any process \(\mathfrak {X}'\) such that \(\mathfrak {X}'\preceq \mathfrak {X}\), we have \(\mathfrak {X} \preceq \mathfrak {X}'\).

In other words, the process \(\mathfrak {X}\) is minimal if the inequality \(\mathfrak {X}'\preceq \mathfrak {X}\) for \(\mathfrak {X}'=(Z',D',T', P')\) implies that \(T(\omega )\equiv T'(\omega )\) and thus, by Proposition 1 and Corollary 1, \(\mathfrak {X}(\omega )=\mathfrak {X}'(\omega )\) for every \(\omega \in \Omega \).

Remark 3

In the special case of (9), considered in Gieroba and Kruk (2021), the following additional performance processes were defined. Let

$$\begin{aligned} Y_i(t,s)=t-T_i(t,s), \qquad \quad i\in \mathbf{I}, \end{aligned}$$
(23)

denote the cumulative idleness by time t with regard to transmission of flows on route i with residual file sizes (evaluated at the times of their processing) less than or equal to s and let \(Y(t,s)=(Y_i(t,s))_{i\in \mathbf{I}}\). In this case, the relation \(\mathfrak {X}^{(1)}\preceq \mathfrak {X}^{(2)}\) is equivalent to \(Y^{(1)}(\omega )\le Y^{(2)}(\omega )\) for every \(\omega \in \Omega \). Consequently, a performance process \(\mathfrak {X}\) is minimal if and only if the corresponding idleness process Y is minimal in the sense of the pointwise functional inequality. An analogous notion of pathwise minimality for real-time transmission protocols was introduced in Kruk (2016). (Compare also Definition 5 of local edge minimality in Sect. 4, to follow, which is also stated in terms of Y.) Our Definitions 12 are natural extensions of these notions to the general case, where the resource capacities are not necessarily equal and hence no natural counterpart of the processes \(Y_i\), \(i\in \mathbf{I}\), is available.

The relation “\(\preceq \)” is reflexive and transitive. Moreover, Proposition 1 and Corollary 1 imply that it is also antisymmetric. Therefore “\(\preceq \)” is a partial ordering and a performance process is minimal if and only if it is a minimal element relative to this ordering. This relation is suitable for comparing the effects of implementing different transmission protocols in the same stochastic system.

Remark 4

In the theory of probability, random variables are usually introduced as equivalence classes of measurable functions which coincide almost surely and hence they are defined only up to a set of \({\mathbf {P}}\) measure zero. From this point of view, in Definition 1 we should have required that \(T^{(1)}(\omega )\ge T^{(2)}(\omega )\) for almost all (instead of all) \(\omega \in \Omega \). Here, following Gieroba and Kruk (2021) and Kruk (2016, 2017), we proceed somewhat differently, regarding each random variable defining our stochastic models as a representative from the corresponding equivalence class (arbitrarily chosen, but fixed thereafter), with well-defined values for each \(\omega \in \Omega \). This approach allows for making pathwise comparisons for every possible scenario.

The notion of minimality from Definition 2 and, more generally, maximization of the cumulative bandwidth functions \(T=(T_i)_{i\in \mathbf {I}}\) in a suitable sense, has an interesting interpretation in terms of the corresponding truncated workload minimization.

Definition 3

For \(t,s\ge 0\) and \(i\in \mathbf {I}\), the quantity

$$\begin{aligned} W_i^s(t) = \sum _{k=1}^{A_i(t)}(w_{i,k}(t)\wedge s) \end{aligned}$$
(24)

will be called the workload on route i at time t, truncated at the level s.Footnote 1

Note that \(W^s_i(t)\) would be the actual workload (i.e., the sum of the remaining file sizes still waiting for transmission) on route i at time t if, starting at that time, the network transmitted all the files of size not greater than s unchanged, but truncated or compressed all the files longer than s to the size s. Accordingly, for \(s\le \min \{w_{i,k}(t): k=1, ..., A_i(t), w_{i,k}(t)>0\}\) we have \(W_i^s(t) = s Q_i(t)\), while for \(s\ge \max \{w_{i,k}(t): k=1, ..., A_i(t) \}\), \(W_i^s(t) = W_i(t)\). Therefore, for fixed t, i, the mapping \(s \rightarrow W_i^s(t)\) may be thought of as an outcome of interpolation between a linear function with slope \(Q_i(t)\) and a constant function with value \(W_i(t)\).

Suppose that for given t we want to minimize the truncated workload function \(s \rightarrow W^s(t)=(W_i^s(t))_{i\in \mathbf{I}}\) in the class of admissible policies (i.e., the ones corresponding to the performance processes satisfying (18)–(21)). This problem can be split into two steps. The first one, intuitively obvious, is to minimize the corresponding maxima \(W(t)=(W_i(t))_{i\in \mathbf{I}}\) or equivalently to maximize the total cumulative bandwidths \(T(t,\infty )=(T_i(t,\infty ))_{i\in \mathbf{I}}\) assigned to the routes (see (14), (16)). The Eqs. (15), (24) imply that for each s, i

$$\begin{aligned} W_i^s(t) + {\mathcal {W}}_i(t)(s,\infty ) - s {\mathcal {Q}}_i(t)(s,\infty )= & {} \sum _{k=1}^{A_i(t)}(w_{i,k}(t)\wedge s) + \sum _{k=1}^{A_i(t)}(w_{i,k}(t)- s)^+ \\= & {} W_i(t). \end{aligned}$$

This, together with (13), shows that for given stochastic model primitives, once the minimal W(t) (equivalently, the maximal \(T(t,\infty )\)) has been found and fixed, minimization of the truncated workload function is the same as maximization of the cumulative bandwidth function \(s\rightarrow T(t,s)\). In particular, a minimal policy (performance process) in the sense of Definition 2 may be thought of as the minimizer of the truncated workload function \((t,s)\rightarrow W_i^s(t)\), \(t,s\ge 0\), in the sense of the pointwise functional inequality.

In general, as it is usually the case in partially ordered sets, there are multiple minimal elements corresponding to the same stochastic primitives. For example, any resource sharing network with fixed priorities of routes in which flows on any given route are transmitted according to SRPT is minimal. For resource sharing networks, minimality means that the system prioritizes flows on each route in the SRPT order (see Theorem 2, to follow) and it is as efficient (i.e., non-idle) as it can be, given the network topology, the stochastic primitives and the prescribed algorithm for bandwidth allocation between the routes.

The following result generalizes Theorem 1 in Gieroba and Kruk (2021) to the case of arbitrary resource capacities. Its proof follows the lines of the argument given there, but it requires a number of modifications, so we provide it here for the sake of completeness.

Theorem 1

The vector \(\mathfrak {X}\) of performance processes given by (17), corresponding to the SRPT protocol defined in Sect. 2.5, is minimal.

Proof

Fix \(\omega \in \Omega \). For the remainder of the proof, all the random objects under consideration are evaluated at this \(\omega \). Suppose that \(\mathfrak {X}(\omega )\) is not minimal. Let \(\mathfrak {X}'=(Z',D',T', P')\) be such that \(\mathfrak {X}'\preceq \mathfrak {X}\) and \(\mathfrak {X}\npreceq \mathfrak {X}'\). Let \(Q'(t)=\lim _{s\rightarrow \infty } Z'(t,s)\) for each \(t\ge 0\) and let

$$\begin{aligned} t_0 = \sup \{\bar{t}\ge 0: T'(t,\cdot )=T(t,\cdot ) \; \forall t\in [0,\bar{t}]\}. \end{aligned}$$
(25)

Since \(T'(0,\cdot )=T(0,\cdot )=0\) by assumption, the set in (25) is nonempty. On the other hand, the relation \(\mathfrak {X}\npreceq \mathfrak {X}'\) implies that \(t_0<\infty \). By (20) and the fact that \(T(\cdot ,s)\), \(T'(\cdot ,s)\) are nondecreasing for each s, the latter functions are Lipschitz continuous. Hence, by Proposition 1 and Corollary 1, we have

$$\begin{aligned} \mathfrak {X}(t,\cdot )=\mathfrak {X}'(t,\cdot ), \qquad 0\le t \le t_0. \end{aligned}$$
(26)

Recall the maximal resource capacity \(C_{max}\) defined by (1) and put

$$\begin{aligned} \epsilon _1&= \min \left\{ \frac{w_{i,k}(t_0)}{C_{max}}: i \in \mathbf{I}, k\le A_i(t_0), w_{i,k}(t_0)>0\right\} \nonumber \\&\wedge \; \inf \{ u>0 : \bigtriangleup N(t_0+u)\ne 0 \}. \end{aligned}$$
(27)

By definition, \(\epsilon _1>0\) and in both \({\mathcal {Q}}\) and \({\mathcal {Q}}'\) we have the same flows in the time interval \([t_0,t_0+\epsilon _1)\). Next, let

$$\begin{aligned} \epsilon _2&=\frac{1}{2(C_{max}\vee 1)}\min \{ |w_{i,k}(t_0) -w_{j,l}(t_0)|: i,j \in \mathbf{I}, k \le A_i(t_0), l \le A_j(t_0),\nonumber \\&\qquad w_{i,k}(t_0)>0, w_{j,l}(t_0)>0, w_{i,k}(t_0)\ne w_{j,l}(t_0) \}. \end{aligned}$$
(28)

By definition, \(\epsilon _2>0\) and no two flows with different residual file sizes at the time \(t_0\) have equal residual file sizes at any time \(t\in [t_0,t_0+\epsilon _2)\) in either of the systems \({\mathcal {Q}}\), \({\mathcal {Q}}'\). Finally, let

$$\begin{aligned} t_1 = t_0 + (\epsilon _1 \wedge \epsilon _2). \end{aligned}$$
(29)

Note that the flows transmitted by the system \({\mathcal {Q}}\) and the transmission rates assigned to them by the SRPT protocol defined in Sect. 2.5 do not change in the time interval \([t_0,t_1)\). Let \(t\in [t_0,t_1)\). In the remainder of the proof we will use the notation introduced in Sect. 2.5.

Assume first that \(Q(t_0)\ne 0\). By the definition of the SRPT service protocol, the \(k_0\)-th flow on route \(i_0\), i.e., the flow with the shortest remaining processing time in the network, is transmitted in the time interval \([t_0,t_1)\) by the SRPT system at the rate \(\lambda _0\) given by (5). We consider three cases.

  1. 1.

    For \(t\in [t_0,t_1)\) and \(s\ge w_{i_0,k_0}(t_0)\), by the inequality \(\mathfrak {X}'\preceq \mathfrak {X}\) and (26) we have

    $$\begin{aligned} T'_{i_0}(t,s)&\ge T_{i_0}(t,s)=T_{i_0}(t_0,s) +\lambda _0(t-t_0)=T'_{i_0}(t_0,s)+\lambda _0(t-t_0)\\&\ge T'_{i_0}(t,s), \end{aligned}$$

    where the last inequality follows from the fact that for \(s\ge 0\), \(T'_{i_0}(\cdot ,s)\) cannot increase at a rate greater than \(\lambda _0\) by its definition (see (5)). Consequently, for t and s as above,

    $$\begin{aligned} T'_{i_0}(t,s)=T_{i_0}(t,s). \end{aligned}$$
    (30)
  2. 2.

    For \(t\in [t_0,t_1)\) and \(s\le w_{i_0,k_0}(t_0)-\lambda _0(t_1-t_0)\), we have \(s< w_{i_0,k_0}(t_0)-\lambda _0(t-t_0)=w_{i_0,k_0}(t)\) and hence, by the definition of \(i_0,k_0\) from Sect. 2.5, \(Z_{i_0}(t,s)=0\). In particular, \(Z_{i_0}(t_0,s)=0\). By (26),

    $$\begin{aligned} Z'_{i_0}(t_0,s)=0. \end{aligned}$$
    (31)

    The Eqs. (31), (18) and (26)–(27), (29) imply that \(Z'_{i_0}(t,s)=0\) for \(t\in [t_0,t_1)\), since there are no arrivals or departures in the system represented by \(\mathfrak {X}'\) in the time interval \((t_0,t_1)\) and \(P'_i(t,s)=0\) (\(w_{i_0,k_0}(t)\) is the lowest of all residual processing times of flows present on the route \(i_0\) and \(s<w_{i_0,k_0}(t)\), so it would be impossible to lower the residual processing time of a flow to s). This in turn, together with (22), implies

    $$\begin{aligned} T_{i_0}(t,s)-T_{i_0}(t_0,s)=T'_{i_0}(t,s)-T'_{i_0}(t_0,s)=0 \end{aligned}$$
    (32)

    for \(t\in [t_0,t_1)\). But \(T_{i_0}(t_0,s)=T'_{i_0}(t_0,s)\) by (26), so \(T_{i_0}(t,s)=T'_{i_0}(t,s)\).

  3. 3.

    Finally, let \(t\in [t_0,t_1)\) and \(w_{i_0,k_0}(t_0)-\lambda _0(t_1-t_0)<s< w_{i_0,k_0}(t_0)\). For \(t\in [t_0, t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0)\), we have \(w_{i_0,k_0}(t)>s\). Arguing as in case 2 (with \(t_1:=t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0\)) we obtain that \(T_{i_0}(t,s)=T'_{i_0}(t,s)\) for \(t\in [t_0, t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0)\). By continuity, \(T_{i_0}(t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0, s)=T'_{i_0}(t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0, s)\). For \(t\in (t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0, t_1)\), we have \(w_{i_0,k_0}(t)< s\). Arguing as in case 1 (for \(t\in [t_0+(w_{i_0,k_0}(t_0)-s)/\lambda _0, t_1)\)), we have \(T'_{i_0}(t,s)=T_{i_0}(t,s).\) Hence, \(T'_{i_0}(t,s)=T_{i_0}(t,s)\) for \(t\in [t_0,t_1)\).

We have proved that \(T'_{i_0}(t,s)=T_{i_0}(t,s)\) for all \(t\in [t_0,t_1)\), \(s\ge 0\).

By a similar argument, for \(\tilde{\mathbf{I}}:=\{i_0,...,i_{n-1}\}\), where \(i_k\) is the route chosen for transmission in the \(k+1\) -st step of the SRPT scheduling algorithm and n is the number of such steps, we obtain

$$\begin{aligned} T'_{i}(t,s)=T_{i}(t,s), \qquad t\in [t_0,t_1), \;\; s\ge 0, \;\; i\in \tilde{\mathbf{I}}. \end{aligned}$$
(33)

If \(\tilde{\mathbf{I}}=\mathbf{I}\), we have

$$\begin{aligned} T'(t,\cdot )=T(t,\cdot ) \qquad \forall t\in [0,t_1). \end{aligned}$$
(34)

If this is not the case, let \(i\in \mathbf{I}\setminus \tilde{\mathbf{I}}\). By the definition of the service protocol in the SRPT resource sharing system, at any time \(t\in [t_0,t_1)\) no flow on route i is chosen for transmission. This may be due either to the equality \(Q_i(t)=0\) on \([t_0,t_1)\), or to the fact that \(i\notin \mathbf{I}_n\), where \(\mathbf{I}_n\) is the set of routes on which transmission is possible after completion of the SRPT scheduling. In the first case, using (26), we get \(Q'_i(t_0)=Q_i(t_0)=0\). This, together with (27), (29), implies that \(Q'_i(t)=0\) for all \(t\in [t_0,t_1)\). Hence, by (22), for any \(s\ge 0\), we have (32) with i substituted for \(i_0\), which implies

$$\begin{aligned} T'_{i}(t,s)=T_{i}(t,s), \qquad t\in [t_0,t_1), \; s\ge 0, \end{aligned}$$
(35)

by the same argument, as the one following (32). If \(i\notin \mathbf{I}_n\), then \({\mathcal {R}}(i) \cap \mathbf {B}_m\ne \emptyset \) for some \(m<n\). Observe that the transmisson rate on route \(i_m\) equals

$$\begin{aligned} \lambda _m=\min _{j\in {\mathcal {R}}(i_m)}\left( C_j-\sum _{l=0}^{m-1} \lambda _l{\mathbb {I}}_{{\mathcal {R}}(i_l)}(j)\right) \end{aligned}$$

and, moreover, we have

$$\begin{aligned} \mathbf {B}_m=\left\{ j\in {\mathcal {R}}(i_m):C_j=\lambda _m +\sum _{l=0}^{m-1}\lambda _l{\mathbb {I}}_{{\mathcal {R}}(i_l)}(j)\right\} . \end{aligned}$$
(36)

\(\mathbf {B}_m\) is the set of resources transmitting at their full capacities, so that no more flows can be transmitted on any route using any of these nodes. By the definition of the SRPT service protocol, for \(t\in [t_0,t_1)\) and \(s\ge \max \{w_{i_l,k_l}(t_0):\ l=1,...,m\}\), we have \(T_{i_l}(t,s)-T_{i_l}(t_0,s) =\lambda _l(t-t_0),\ l=1,...,m\). Thus, by (33), \(T'_{i_l}(t,s)-T'_{i_l}(t_0,s) =\lambda _l(t-t_0),\ l=1,...,m\). For such s and \(j\in {\mathcal {R}}(i)\cap \mathbf {B}_m\), by (20) and (36) we have

$$\begin{aligned} C_j(t-t_0)\ge & {} \sum _{\bar{i}\in {\mathcal {F}}(j)} \big ( T'_{\bar{i}}(t, s)- T'_{\bar{i}}(t_0,s) \big ) \; \ge \; \sum _{l=0}^{m} {\mathbb {I}}_{{\mathcal {R}}(i_l)}(j) \big ( T'_{i_l}(t, s)- T'_{i_l}(t_0,s) \big )\\= & {} \sum _{l=0}^{m} \lambda _l{\mathbb {I}}_{{\mathcal {R}}(i_l)}(j) (t-t_0) \; =\; \left( \lambda _m+\sum _{l=0}^{m-1}\lambda _l {\mathbb {I}}_{{\mathcal {R}}(i_l)}(j)\right) (t-t_0) \\= & {} C_j(t-t_0), \end{aligned}$$

and hence

$$\begin{aligned} \sum _{\bar{i}\in {\mathcal {F}}(j)} \big ( T'_{\bar{i}}(t, s) -T'_{\bar{i}}(t_0,s) \big ) = \sum _{l=0}^{m} {\mathbb {I}}_{{\mathcal {R}} (i_l)}(j) \big ( T'_{i_l}(t, s)- T'_{i_l}(t_0,s) \big ). \end{aligned}$$

Using this observation and monotonicity of \(T'\), we have (32) with i substituted for \(i_0\). The increment \(T'_{i}(t,\cdot )-T'_{i}(t_0,\cdot )\) is nonnegative and nondecreasing, so the validity of (32), with i substituted for \(i_0\), for \(s\ge \max \{w_{i_l,k_l}(t_0):l=1,...,m\}\), implies its validity also for \(s< \max \{w_{i_l,k_l}(t_0):l=1,...,m\}\). Consequently, by (26), we have (35). Hence, regardless of the case, under the assumption \(Q(t_0)\ne 0\), (34) holds, which contradicts (25), (29).

Finally, if \(Q(t_0)= 0\), then for each \(i\in \mathbf{I}\) we proceed as in the case of \(i\in \mathbf{I}\setminus \tilde{\mathbf{I}}\) and \(Q_i(t)=0\) for \(t\in [t_0,t_1)\). \(\square \)

The following result is a partial converse of Theorem 1. It is an extension of Theorem 2 in Gieroba and Kruk (2021) to the case of arbitrary resource capacities and it can be proved by a similar argument.

Theorem 2

Let a performance process \(\mathfrak {X}\) for a resource sharing network be minimal. Then the flows on each route \(i\in \mathbf{I}\) of this network are scheduled for transmission according to the SRPT protocol.

Corollary 2

The performance process of a single-server, single customer class queueing system is minimal if and only if the system is working under the SRPT service discipline.

This follows immediately from Theorems 1 and 2 in the case of \(I=J=1\).

4 Local edge minimality in the case of unit resource capacities

4.1 Definitions

Before considering local edge minimality properties of the SRPT protocol, let us recall a few notions and facts concerning edge comparison for real functions on \({\mathbb {R}}_+\), adapted from Kruk (2017).

Definition 4

(Compare Kruk (2017), Definition 5) Let \(f, g:{\mathbb {R}}_+\rightarrow {\mathbb {R}}\) be such that \(f(0)=g(0)\) and let \(c=c_{f,g} = \sup \{ a\in {\mathbb {R}}_+: f(x)=g(x) \; \forall x\in [0,a] \}\). We write \(f \ll g\) if either \(c=\infty \) (i.e., \(f\equiv g\) on \({\mathbb {R}}_+\)), or \(c<\infty \) and there exists \(\epsilon =\epsilon _{f,g}>0\) such that \(f\le g\) on \([c,c+\epsilon ]\).

Remark 5

By the definition of \(c=c_{f,g}\), if \(f \ll g\) and \(c<\infty \), then for every \(\delta >0\) there exists a point \(x\in [c,c+(\delta \wedge \epsilon _{f,g}) ]\) such that \(f(x)<g(x)\).

Lemma 1

(see Kruk (2017), Lemma 1) The relation “\(\ll \)” is a partial ordering.

We can now continue with our main topic. Throughout this section we additionally assume the condition (9). Recall the idleness processes (23).

We let \({\mathcal {Q}}\) be a state process of the form (2), (4), describing the time evolution of a resource sharing network. Let \(\mathfrak {X}\) denote the corresponding performance process of the form (17), satisfying (18)–(21), together with the nonnegativity and monotonicity assumptions made below (17). We also consider another resource sharing network having the same incidence matrix and the same stochastic primitives as the former one, with the corresponding state process \({\mathcal {Q}}'\) and performance process \(\mathfrak {X}'\), which is subject to the same conditions and constraints as \(\mathfrak {X}\).

Definition 5

The state process \({\mathcal {Q}}\) is called locally edge minimal at a time \(t_0\ge 0\) if there exists a strictly positive random variable h such that for any state process \({\mathcal {Q}}'\) as above, satisfying

$$\begin{aligned} {\mathcal {Q}}'(t_0)(\omega )={\mathcal {Q}}(t_0)(\omega ), \qquad \qquad \omega \in \Omega , \end{aligned}$$
(37)

we have \(\sum _{i\in \mathbf{I}} Y_i(t,\cdot )(\omega )\ll \sum _{i\in \mathbf{I}} Y_i'(t,\cdot )(\omega )\) (or, equivalently, \(\sum _{i\in \mathbf{I}} T_i'(t,\cdot )(\omega )\ll \sum _{i\in \mathbf{I}} T_i(t,\cdot )(\omega )\)) for every \(\omega \in \Omega \), \(t\in (t_0,t_0+h(\omega ))\).

The state process \({\mathcal {Q}}\) is called locally edge minimal if it is locally edge minimal at every \(t_0\ge 0\).

Recalling Definition 3 and the discussion following it, we may regard a locally edge minimal state process \({\mathcal {Q}}\) as a minimizer of the total truncated workload function \(s\rightarrow \sum _{i\in \mathbf{I}} W_i^s(t)(\omega )\) for each \(\omega \in \Omega \) in the sense of the ordering “\(\ll \)” for t in a suitable right neighbourhood of each \(t_0\ge 0\).

For future reference, note that the Eqs. (2)–(3), (13)–(16), (23) and (37) imply

$$\begin{aligned} Y'(t_0,s)(\omega ) = Y(t_0,s)(\omega ), \qquad \qquad s\ge 0, \; \omega \in \Omega . \end{aligned}$$
(38)

4.2 Strong SRPT protocols

In order to provide counterparts of Theorems 1 and 2 in our present setting, we have to identify a suitable subclass of the family of SRPT protocols, coinciding with locally edge minimal policies. The construction of this subclass, mimicking the definition of strong EDF policies from Kruk (2017), Sect. 5.3, is provided below.

Fix \(\omega \in \Omega \). In what follows, the random objects under consideration are evaluated at this \(\omega \). Let \(t\ge 0\) be such that \(Q(t)\ne 0\). We will identify the set of routes on which the transmission, with unit rate, holds at time t.

Let \({\mathcal {P}}(t) \subset 2^{2^\mathbf{I}}\) be the family of subsets of \(\mathbf{I}\) of the form \(\{i_0,...,i_{n-1}\}\) constructed as all possible outcomes of the SRPT scheduling policy described in Sect. 2.5. We will choose a subset \({\mathcal {P}}_s(t) \subseteq {\mathcal {P}}(t)\) corresponding to performance processes which are locally edge minimal at t.

Let \(L^{(1)}(t)=\min \{L_i(t):i\in \mathbf{I}\}\), where \(L_i(t)\) is the shortest residual processing time of a flow on route i at time t. By the definition of the SRPT policy, for every \(B\in {\mathcal {P}}(t)\), we have \(\min \{L_i(t):i\in B\}= L^{(1)}(t)\). Let

$$\begin{aligned} m^{(1)}(t)= & {} \max \{ |\{i\in B: L_i(t)=L^{(1)}(t) \}|:B\in {\mathcal {P}}(t) \}, \\ {\mathcal {P}}^{(1)}(t)= & {} \{ B\in {\mathcal {P}}(t): |\{i\in B: L_i(t)=L^{(1)}(t) \}| = m^{(1)}(t) \}. \end{aligned}$$

In words, the elements of \({\mathcal {P}}^{(1)}(t)\) correspond to these SRPT scheduling policies at time t, which have active transmission of flows with the smallest residual file size in the system at time t on as many routes as possible. If \(|{\mathcal {P}}^{(1)}(t)|=1\), we put \({\mathcal {P}}_s(t) ={\mathcal {P}}^{(1)}(t)\), otherwise we take the second step as follows.

For \(k=1,2,...\), in the \(k+1\)-st step of our search procedure, if \(\max \{L_i(t):i\in B\} = L^{(k)}(t)\) for every \(B\in {\mathcal {P}}^{(k)}(t)\), let \({\mathcal {P}}_s(t) ={\mathcal {P}}^{(k)}(t)\). Otherwise, let

$$\begin{aligned} L^{(k+1)}(t)= & {} \min _{B\in {\mathcal {P}}^{(k)}(t)} \min \{L_i(t):i \in B, L_i(t)> L^{(k)}(t) \},\\ m^{(k+1)}(t)= & {} \max \{ |\{i\in B: L_i(t)=L^{(k+1)}(t) \}|:B \in {\mathcal {P}}^{(k)}(t) \}, \\ {\mathcal {P}}^{(k+1)}(t)= & {} \{ B\in {\mathcal {P}}^{(k)}(t): | \{i\in B: L_i(t)=L^{(k+1)}(t) \}|= m^{(k+1)}(t) \}. \end{aligned}$$

This means that the elements of \({\mathcal {P}}^{(k+1)}(t)\) correspond to these scheduling policies in \({\mathcal {P}}^{(k)}(t)\) at time t, which have active transmission of flows with the smallest available residual file size greater than \(L^{(k)}(t)\) at time t on as many routes as possible. If \(|{\mathcal {P}}^{(k+1)}(t)|=1\), we take \({\mathcal {P}}_s(t) ={\mathcal {P}}^{(k+1)}(t)\). Otherwise, we take the next (i.e., \(k+2\)-nd) step and continue the procedure in this way until we finally choose the set \({\mathcal {P}}_s(t)\). The index k such that \({\mathcal {P}}_s(t)={\mathcal {P}}^{(k)}(t)\) will be denoted by \(k_s=k_s(t)\).

By construction, between the arrivals and departures of flows, the quantities \(L^{(k)}(\cdot )\) decrease at unit rate, while \(m^{(k)}(\cdot )\) and the sets \({\mathcal {P}}^{(k)}(\cdot )\) remain constant. Consequently, \(k_s(\cdot )\) and the sets \({\mathcal {P}}_s(\cdot )\) do not change in these time intervals, either. For the sake of completeness, in the case of \(t\ge 0\) such that \(Q(t)=0\), we put \({\mathcal {P}}_s(t)=\{\emptyset \}\).

The assignment of transmission rates for the routes \(i\in \mathbf{I}\) (and hence the corresponding service policy) is called a strong SRPT protocol if

$$\begin{aligned} T(t,\infty ) = \int _0^t r(u) du, \qquad t\ge 0, \end{aligned}$$
(39)

where the transmission rate process \(r(\cdot )\) is such that for almost every \(t\ge 0\) with respect to the Lebesgue measure,

$$\begin{aligned} r(t) = ({\mathbb {I}}_{B(t)}(i) )_{i\in \mathbf{I}} \qquad \text{ for } \text{ some } B(t) \in {\mathcal {P}}_s(t), \end{aligned}$$
(40)

where the set B(t) in (40) remains constant between the arrivals and departures of flows. By definition, any strong SRPT policy is an SRPT policy in the sense introduced in Sect. 2.5, but the opposite implication is, in general, false.

Example 3

Consider the linear network from Example 2 with \({\mathcal {Q}}_1(t)={\mathcal {Q}}_2(t)={\mathcal {Q}}_3(t)=\delta _1\), in which \(L^{(1)}(t)=L_1(t)=L_2(t)=L_3(t)=1\). Then there are two SRPT protocols available at the time t: either scheduling transmission of the flow on route 3, or scheduling simultaneous transmission of the flows on routes 1, 2 (in both cases, with the highest available rate 1), yielding \({\mathcal {P}}(t)=\{\{3\}, \{1,2\}\}\). Consequently \(m^{(1)}(t)=2\) and \({\mathcal {P}}^{(1)}(t)= {\mathcal {P}}_s(t)=\{\{1,2\}\}\), so only the second one of the above arrangements (kept unchanged until the minimum of the time \(t+1\) and the next arrival after t) is strong SRPT.

4.3 Main result for the case of unit resource capacities

Theorem 3

Let \({\mathcal {Q}}\) denote a state process of the form (2), (4), with the corresponding performance process \(\mathfrak {X}\) in the form (17) satisfying (18)–(21), together with the nonnegativity and monotonicity assumptions made below (17). Then under the assumption (9), the process \({\mathcal {Q}}\) is locally edge minimal if and only if the flows in the system corresponding to \({\mathcal {Q}}\) are being transmitted under a strong SRPT service protocol.

Proof

Let \({\mathcal {Q}}\) be the state process corresponding to a strong SRPT service protocol. Fix \(t_0\ge 0\). We will show that \({\mathcal {Q}}\) is locally edge minimal at \(t_0\). Let a process \({\mathcal {Q}}'\), subject to the assumptions made at the beginning of this section, be such that (37), and hence (38), holds. Fix \(\omega \in \Omega \). In the remainder of the proof, all the random objects under consideration are evaluated at this \(\omega \). Put

$$\begin{aligned} h= \min \{w_{i,k}(t_0): i\in \mathbf{I}, k\le A_i(t_0), w_{i,k}(t_0)>0 \} \wedge \inf \{ u>0 : \bigtriangleup N(t_0+u)\ne 0 \} \end{aligned}$$
(41)

(compare (27)). By definition, \(h>0\) and in both \({\mathcal {Q}}\) and \({\mathcal {Q}}'\) we have the same flows in the time interval \([t_0,t_0+h)\). Put

$$\begin{aligned} \epsilon&=\frac{1}{2}\min \{|w_{i,k}(t_0) - w_{j,l}(t_0)|: i,j \in \mathbf{I}, k \le A_i(t_0), l \le A_j(t_0),\nonumber \\&\qquad \quad w_{i,k}(t_0)>0, w_{j,l}(t_0)>0, w_{i,k}(t_0)\ne w_{j,l}(t_0) \} \end{aligned}$$
(42)

(compare (28)) and fix \(\hat{t}\in (t_0,t_0+(h\wedge \epsilon ))\). Define the functions fg as

$$\begin{aligned} f(s)= \sum _{i\in \mathbf{I} } Y_{i}'(\hat{t},s), \qquad g(s) =\sum _{i\in \mathbf{I} } Y_{i}(\hat{t},s), \qquad s\ge 0, \end{aligned}$$
(43)

and let \(c=c_{f,g}\) be as in Definition 4. Our aim is to show that \(g\ll f\). If \(c=\infty \), then \(f \equiv g\), so \(g\ll f\). Assume that \(c<\infty \).

In what follows, we assume that \(L^{(k)},\ k=1,2,...\), defined in Sect. 4.2 are calculated for the system \({\mathcal {Q}}\) and their counterparts for the system \({\mathcal {Q}}'\) are denoted by \(L'^{(k)},\ k=1,2,...\). We consider the following cases.

  1. 1.

    \(c< L^{(1)}(\hat{t})\). This is impossible, because \(f(s) =g(s)\) for \(s\le L^{(1)}(\hat{t})\) by the definition of \(L^{(1)}(\hat{t})\). Indeed, there are no flows with residual transmission times less than \(L^{(1)}(\hat{t})\) at time \(\hat{t}\) in the system \(\mathfrak {X}\). Moreover, we have the same flows in the systems corresponding to \({\mathcal {Q}}\) and \({\mathcal {Q}}'\) in the time interval \([t_0,t_0+h)\). The system corresponding to \({\mathcal {Q}}\) processes the flow with residual transmission time \(L^{(1)}(\hat{t})\) at time \(\hat{t}\) at the greatest possible rate in the whole time interval \([t_0,\hat{t})\) as it is a strong SRPT protocol. Therefore \(L'^{(1)}(\hat{t})\ge L^{(1)}(\hat{t})\).

  2. 2.

    If \(c= L^{(1)}(\hat{t})\), then in the time interval \([t_0,\hat{t}]\) the system \({\mathcal {Q}}\) is transmitting, at unit rate, a flow with residual transmission time c at time \(\hat{t}\) on \(m^{(1)}:=m^{(1)}(\hat{t})\) routes. For any \(s\in [c,c+\hat{t}-t_0)\),

    $$\begin{aligned} g(s) = \sum _{i\in \mathbf{I} } Y_{i}(\hat{t},s) = \sum _{i\in \mathbf{I}} Y_{i}(t_0,s) + I (\hat{t}-t_0) - m^{(1)} (s-L^{(1)}(\hat{t}) ), \end{aligned}$$
    (44)

    where the second equality follows from the fact that the flows with residual transmission time c at time \(\hat{t}\) are the only flows with residual transmission times less than or equal to s at this time (the last term is the amount of transmission of such flows).

    By the definition of \(m^{(1)}\), at any time \(t\in [t_0,t_0+h)\), it is impossible to schedule the transmission of flows with residual transmission time c at time \(\hat{t}\) on more than \(m^{(1)}\) routes, so for s as above we have

    $$\begin{aligned} \sum _{i\in \mathbf{I} }Y'_{i}(t_0,s) + I (\hat{t}-t_0) - m^{(1)} (s-L^{(1)}(\hat{t})) \le \sum _{i\in \mathbf{I} } Y_{i}'(\hat{t},s) \;=\; f(s). \end{aligned}$$

    This, together with (38) and (44), shows that \(g(s)\le f(s)\) for \(s\in [c,c+\hat{t}-t_0)\) and consequently \(g\ll f\).

  3. 3.

    \(L^{(1)}(\hat{t})< c < L^{(2)}(\hat{t})\). Let \(s\in (L^{(1)}(\hat{t}),c \wedge (L^{(1)}(\hat{t})+\hat{t}-t_0))\). By the definition of c, we have \(f(s)=g(s)\), so (44) and the definition of \(L^{(1)}(\hat{t})\) imply that in the time interval \([t_0,\hat{t}]\) the system \({\mathcal {Q}}'\) is transmitting flows with residual transmission time s at time \(\hat{t}\) on at least \(m^{(1)}\) routes. Recalling that it is impossible to schedule the transmission of flows with residual transmission time s at time \(\hat{t}\) on more than \(m^{(1)}\) routes in this time interval, we conclude from (38) and (44) that at almost every time \(t\in [t_0,\hat{t}]\) (with respect to the Lebesgue measure), the transmission of these flows by the system \({\mathcal {Q}}'\) is active on exactly \(m^{(1)}\) routes, with unit rate on each of them.

    By definition of the SRPT protocol, for almost every time \(t\in [t_0,\hat{t}]\) (with respect to the Lebesgue measure), the system \({\mathcal {Q}}\) is transmitting flows with residual transmission time \(L^{(1)}(\hat{t})\) at time \(\hat{t}\) on \(m^{(1)}\) routes, with unit rate on each of them.

    Since \(c< L^{(2)}(\hat{t})\), the strong SRPT system \({\mathcal {Q}}\) is not transmitting any flow with residual transmission time c at time \(\hat{t}\) in the time interval \([t_0,\hat{t}]\). In the same time interval, the system \({\mathcal {Q}}'\) has to transmit such a flow (at least partially) to avoid a contradiction with the definition of c. This, however, contradicts the definition of \(L^{(2)}(\hat{t})\), since it is possible to transmit, with rate one, flows with lead time \(L^{(1)}(\hat{t})\) at time \(\hat{t}\) on \(m^{(1)}\) routes and transmit a flow with residual transmission time smaller than \(L^{(2)}(\hat{t})\) at the same time. Therefore, this case is impossible.

  4. 4.

    \( c = L^{(2)}(\hat{t})\). Reasoning similarly as in case 2, for any \(s\in [c,c+\hat{t}-t_0)\) we obtain

    $$\begin{aligned} g(s) = \sum _{i\in \mathbf{I} } Y_{i}(\hat{t},s)= & {} \sum _{i\in \mathbf{I} } Y_{i}(t_0,s) + (I-m^{(1)})(\hat{t}-t_0) - m^{(2)}(s-c) \nonumber \\= & {} \sum _{i\in \mathbf{I} } Y_{i}'(t_0,s) + (I-m^{(1)}) (\hat{t}-t_0) - m^{(2)}(s-c) \nonumber \\\le & {} \sum _{i\in \mathbf{I} } Y_{i}'(\hat{t},s) \;=\; f(s), \end{aligned}$$
    (45)

    where the second equality follows from the definition of a strong SRPT protocol, the third one follows from (38), while the inequality follows from the argument given in case 2 and the definitions of \(L^{(2)}(\hat{t})\), \(m^{(2)}\). We have obtained the relation \(g\ll f\) again.

Notice that the cases 3 and 4 can be easily generalized to \(L^{(p)}(\hat{t})< c < L^{(p+1)}(\hat{t})\) and \(c = L^{(p+1)}(\hat{t}),\ p=1,..., k_s-1\), where \(k_s\) is the number of steps in the strong SRPT scheduling algorithm. Finally let us consider \(c>L^{(k_s)}(\hat{t})\). Reasoning similarly as at the beginning of the argument for case 3, we conclude that this implies a transmission of a flow with residual file size c at time \(\hat{t}\) in the time interval \([t_0,\hat{t}]\) by the system \({\mathcal {Q}}'\) which, in turn, contradicts the definition of \(k_s\) in the description of the SRPT scheduling algorithm. Hence, this case is also impossible.

Summarizing the above considerations, in every possible case we have \(g\ll f\) and hence the state process \({\mathcal {Q}}\) is locally edge minimal at \(t_0\).

To prove the converse, let the state process \({\mathcal {Q}}\) be locally edge minimal. Fix \(t_0\ge 0\) and let \(h>0\) be as in Definition 5. Decreasing h, if necessary, we may assume that h is not greater than the right-hand side of (41). Consequently, there are no arrivals or departures in the time interval \((t_0,t_0+(h\wedge \epsilon ))\), where \(\epsilon \) is defined by (42), under any service policy which satisfies the resource capacity constraints (9), (20) and agrees with the one used in the system \({\mathcal {Q}}\) on \([0,t_0]\). We will show that in the time interval \([t_0,t_0+(h\wedge \epsilon ))\) flows are being scheduled for transmission according to a strong SRPT discipline.

Let \({\mathcal {Q}}'\) be a state process with the same stochastic primitives as \({\mathcal {Q}}\), corresponding to the service discipline which emulates the one used in \({\mathcal {Q}}\) up to the time \(t_0\) and uses a strong SRPT protocol thereafter. Fix \(\omega \in \Omega \). In what follows, the random objects under consideration are evaluated at this \(\omega \).

Let \(\hat{t}\in (t_0,t_0+(h\wedge \epsilon ))\) and let the functions fg be defined by (43). By local edge minimality of \({\mathcal {Q}}\), we have \(g \ll f\). On the other hand, proceeding as in the previous part of the proof, we get \(f\ll g\), so \(f\equiv g\). The knowledge of the dynamics of \(\sum _{i\in \mathbf{I} } Y_{i}'(\hat{t},\cdot )\) (and hence, by (23), \(\sum _{i\in \mathbf{I} } T_{i}'(\hat{t},\cdot )\)) for each \(\hat{t}\in (t_0,t_0+(h\wedge \epsilon ))\) allows us to determine uniquely the number of flows being processed, their residual transmission times and the processing rates in the time interval \([t_0,t_0+(h\wedge \epsilon ))\). Indeed, define \(k'_s(\cdot )\) analogously to \(k_s(\cdot )\) but for the system corresponding to \({\mathcal {Q}}'\) and let \(L'^{(k)}\) and \(m'^{(k)} ,\ k=1,...,k_s(\hat{t}),\) be defined analogously to \(L^{(k)}\) and \(m^{(k)}\), but for the system corresponding to \({\mathcal {Q}}'\). Since \({\mathcal {Q}}'\) works under a strong SRPT protocol, equations like those in (44), (45) and so on hold true. By applying (44) to the system corresponding to \({\mathcal {Q}}'\), with \(L^{(1)}(\hat{t})\) replaced by \(L'^{(1)}(\hat{t}) =L'^{(1)}(t_0)-(\hat{t}-t_0)\), for \(s\in [L'^{(1)}(\hat{t}), L'^{(1)}(\hat{t})+\hat{t}-t_0)\) we obtain

$$\begin{aligned} \sum _{i\in \mathbf{I} } Y'_{i}(\hat{t},s) = \sum _{i\in \mathbf{I}} Y'_{i}(t_0,s) + I (\hat{t}-t_0) - m'^{(1)} (s-L'^{(1)}(t_0)+(\hat{t}-t_0)). \end{aligned}$$

Reasoning similarly, for \(k=2,...,k'_s(\hat{t})\) and \(s\in [L'^{(k)}(\hat{t}), L'^{(k)}(\hat{t})+\hat{t}-t_0)\), we have \(L'^{(k)}(\hat{t})=L'^{(k)}(t_0)-(\hat{t}-t_0)\) and

$$\begin{aligned} \sum _{i\in \mathbf{I} } Y'_{i}(\hat{t},s)= & {} \sum _{i\in \mathbf{I}} Y'_{i}(t_0,s) + \left( I-\sum _{l=1}^{k-1} m'^{(l)}\right) (\hat{t}-t_0)\\&- m'^{(k)}(s-L'^{(k)}(t_0)+(\hat{t}-t_0)). \end{aligned}$$

These equations uniquely determine \(m'^{(k)},\ k=1,..., k'_s(\hat{t})\). Since \(f\equiv g\) (and hence, \(\sum _{i\in \mathbf{I}} Y_{i}'(\hat{t},\cdot )=\sum _{i\in \mathbf{I} } Y_{i}(\hat{t},\cdot )\)) for \(\hat{t}\in (t_0,t_0+(h\wedge \epsilon ))\), analogous equations are true also for the system corresponding to \({\mathcal {Q}}\) in the same intervals. This implies that in both systems the same numbers of flows with the same residual processing times are being transmitted and hence the system corresponding to \({\mathcal {Q}}\) uses a strong SRPT protocol. \(\square \)

5 Local edge minimality-general case

5.1 General strong SRPT policies

If the resource capacities on some route i are not equal, it is not clear how to define the idleness \(Y_i\) on this route. Consequently, the performance processes \(T_i\) must be used instead of \(Y_i\) in the definition of local edge minimality and in the corresponding proofs, as in Sect. 3. This is only a matter of notational changes. In particular, Definition 5 requires only a minor modification:

Definition 6

The state process \({\mathcal {Q}}\) is called locally edge minimal at a time \(t_0\ge 0\) if there exists a strictly positive random variable h such that for any state process \({\mathcal {Q}}'\) as in the paragraph before Definition 5, satisfying (37), we have \(\sum _{i\in \mathbf{I}} T_i'(t,\cdot )(\omega )\ll \sum _{i\in \mathbf{I}} T_i(t,\cdot )(\omega )\) for every \(\omega \in \Omega \), \(t\in (t_0,t_0+h(\omega ))\).

Again, the state process \({\mathcal {Q}}\) is called locally edge minimal, if it is locally edge minimal at every \(t_0\ge 0\).

Similarly as in the previous case, the Eqs. (2)–(3), (13)–(16) and (37) imply

$$\begin{aligned} T'(t_0,s)(\omega ) = T(t_0,s)(\omega ), \qquad \qquad s\ge 0, \; \omega \in \Omega . \end{aligned}$$
(46)

A more serious problem arises when we are trying to identify locally edge minimal (i.e., strong SRPT) service protocols in the general setting. Indeed, since the maximal transmission rates on different routes no longer have to be equal, it is important not only to schedule the transmission of as many flows with the shortest remaining service times as possible, but also to choose those of them which can be transmitted with the greatest available rates. This makes the construction of the corresponding strong SRPT protocols notably more complicated than its counterpart described in Sect. 4.

Fig. 2
figure 2

Tree network from Example 4

Unlike the previous case, in general we cannot identify an SRPT protocol with a set of routes along which the transmission takes place at a given time.

Example 4

(Tree network) Let \(I=2,\ J=3\), \({\mathcal {R}}(1)=\{1,3\},\ {\mathcal {R}}(2)=\{2,3\}\) and set the resource capacities to \(C_1=C_2=2,\ C_3=3\). The network under consideration is shown in Fig. 2. Assume that there is only one file with residual transmission time 1 on each route at a given time t. If \(i_0=1,\ i_1=2\), then the bandwidths assigned to the routes are \(\Lambda _1(t)=2,\ \Lambda _2(t)=1\). If \(i_0=2,\ i_1=1\), then \(\Lambda _1(t)=1, \Lambda _2(t)=2.\) In both cases, flows on the same routes 1, 2 are selected for service.

As we have seen in the above example, the order in which the routes are chosen for transmission may affect the transmission rates assigned to them. Consequently, we have to use sequences of routes instead of their sets in the SRPT network protocol description.

Fix \(\omega \in \Omega \). In what follows, the random objects under consideration are evaluated at this \(\omega \). Let \(t\ge 0\) be such that \(Q(t)\ne 0\). We will identify the processing rates on the routes at which the transmission holds at time t.

Let \({\mathcal {S}}(t)\) be the set of all sequences of routes in the form \((i_0,...,i_{n-1})\) constructed as possible outcomes of the SRPT scheduling described in Sect. 2.5. For \(B\in {\mathcal {S}}(t)\), we will write \(i \in B=(B_n)\) if there exists an index \(\tilde{n}\) such that \(i=B_{\tilde{n}}\) (i.e., i is a non-idling route under the assignment corresponding to B). Each element B of \({\mathcal {S}}(t)\) can be associated with its bandwidth allocation vector \(\Lambda ^B(t)\) defined as in Sect. 2.5. We will choose a subset \({\mathcal {S}}_s(t) \subseteq {\mathcal {S}}(t)\) corresponding to performance processes which are locally edge minimal at t.

We alter the algorithm described in Sect. 4 by replacing \({\mathcal {P}}(t)\) with \({\mathcal {S}}(t)\) and modifying each step k to identify the set \({\mathcal {S}}^{(k)}\subseteq {\mathcal {S}}(t)\) corresponding to SRPT protocols which transmit as many flows having the given residual processing time \(L^{(k)}\) as possible and, moreover, with the greatest available rates. This modification is described formally below.

Let \(L^{(1)}(t)= \min \{L_i(t):i\in \mathbf {I}\}\) and \({\mathcal {S}}^{(0)}(t)={\mathcal {S}}(t)\). In the k-th step of the scheduling algorithm, \(k\ge 1\), suppose that \(L^{(k)}(t)\), \({\mathcal {S}}^{(k-1)}(t)\) have already been defined. In the following sequence of substeps, we will either define the set \({\mathcal {S}}_s(t)\) and finish the algorithm, or (if the \(k+1\) -st step is necessary) define the set \({\mathcal {S}}^{(k)}(t)\) and the random variable \(L^{(k+1)}(t)\). Let

$$\begin{aligned} \lambda ^{(k)}_1(t)= & {} \max _{B\in {\mathcal {S}}^{(k-1)}(t)}\{\Lambda ^B_{i}(t): i\in B,\ L_i(t)=L^{(k)}(t)\},\\ m^{(k)}_1(t)= & {} \max \{ |\{i\in B: L_i(t)=L^{(k)}(t),\ \Lambda ^B_{i}(t) =\lambda ^{(k)}_1(t) \}|:B\in {\mathcal {S}}^{(k-1)}(t) \}, \\ {\mathcal {S}}_1^{(k)}(t)= & {} \{ B\in {\mathcal {S}}^{(k-1)}(t){:} | \{i\in B{:}L_i(t)=L^{(k)}(t), \Lambda ^B_i(t) =\lambda ^{(k)}_1(t)\}|=m_1^{(k)}(t) \}. \end{aligned}$$

By definition, the number \(\lambda _1^{(k)}(t)\) is the maximal processing rate on the routes having a flow with the residual processing time \(L^{(k)}(t)\) and the elements of \({\mathcal {S}}^{(k)}_1(t)\) correspond to these SRPT scheduling policies at time t, which have active transmission of flows with the residual file size \(L^{(k)}(t)\) at time t at the greatest possible rate on as many routes as possible. If \(|{\mathcal {S}}_1^{(k)}(t)|=1\), we put \({\mathcal {S}}_s(t) ={\mathcal {S}}_1^{(k)}(t)\), completing our search algorithm. Otherwise, we take the second substep as follows.

For \(l\ge 1\), in the \(l+1\) -st substep of our search procedure, if \(\min \{\Lambda ^B_{i}(t): i\in B,\ L_i(t)=L^{(k)}(t)\} = \lambda ^{(k)}_l(t)\) for every \(B\in {\mathcal {S}}^{(k)}_l(t)\), we take \({\mathcal {S}}^{(k)}(t)={\mathcal {S}}^{(k)}_l(t)\). Otherwise, let

$$\begin{aligned} \lambda _{l+1}^{(k)}(t)= & {} \max \{\Lambda ^B_{i}(t){:}B \in {\mathcal {S}}^{(k)}_l(t),\ i\in B,\ \Lambda ^B_{i}(t) <\lambda ^{(k)}_l(t),\ L_i(t)=L^{(k)}(t)\},\\ m_{l+1}^{(k)}(t)= & {} \max \{ |\{i\in B{:} L_i(t)=L^{(k)}(t), \ \Lambda ^B_{i}(t)=\lambda ^{(k)}_{l+1}(t) \}|:B\in {\mathcal {S}}_{l}^{(k)}(t) \}, \\ {\mathcal {S}}_{l+1}^{(k)}(t)= & {} \{ B\in {\mathcal {S}}_l^{(k)}(t){:}|\{i\in B{:} L_i(t)=L^{(k)}(t),\ \Lambda ^B_{i}(t)=\lambda ^{(k)}_{l+1}(t) \}|= m_{l+1}^{(k)}(t) \}. \end{aligned}$$

The elements of \({\mathcal {S}}_{l+1}^{(k)}(t)\) correspond to those scheduling policies in \({\mathcal {S}}^{(k)}_l(t)\) at time t, which have active transmission of flows with the residual file size \(L^{(k)}(t)\) at time t at the rate \(\lambda ^{(k)}_{l+1}(t)\) on as many routes as possible. If \(|{\mathcal {S}}^{(k)}_{l+1}(t)|=1\), we take \({\mathcal {S}}_s(t)={\mathcal {S}}_{l+1}^{(k)}(t)\), finishing our search. Otherwise, we take the next (i.e., \(l+2\) -nd) substep and continue the procedure in this way until either we choose the set \({\mathcal {S}}_s(t)\) (ending our algorithm), or we define the set \({\mathcal {S}}^{(k)} (t)\). In the latter case, if

$$\begin{aligned} \max _{B\in {\mathcal {S}}^{(k)}(t)} \max _{i\in B} L_i(t) = L^{(k)}(t), \end{aligned}$$

we take \({\mathcal {S}}_s(t)={\mathcal {S}}^{(k)}(t)\), finishing the search. Otherwise, we let

$$\begin{aligned} L^{(k+1)}(t) = \min _{B\in {\mathcal {S}}^{(k)}(t)} \min \{L_i(t):i \in B,\ L_i(t)> L^{(k)}(t) \}, \end{aligned}$$

completing the k-th step of our algorithm.

Then, if needed, we proceed with the next steps (\(k+1, k+2,...\)) of the above algorithm until we finally identify the set \({\mathcal {S}}_s(t)\). Similarly as in the algorithm from the previous section, the index k such that \({\mathcal {S}}_s(t)={\mathcal {S}}^{(k)}(t)\) will be denoted by \(k_s=k_s(t)\). This assignment is effective until one of the ongoing transmissions is finished or a new flow arrives to the system, or two (or more) flows with different file sizes at time t are processed so that their residual transmission times coincide. Then, subject to the same rules, a rearrangement may happen.

Fig. 3
figure 3

Network from Example 5

The following example illustrates the principle of operation of the algorithm presented above.

Example 5

Let \(I=7,\ J=4,\ C_1=0.5,\ C_2=1.5,\ C_3=C_4=1,\ {\mathcal {R}}(1)=\{1\},\ {\mathcal {R}}(2)=\{2\},\ {\mathcal {R}}(3)=\{3\},\ {\mathcal {R}}(4)=\{4\},\ {\mathcal {R}}(5)=\{2,3\},\ {\mathcal {R}}(6)=\{1,3\},\ {\mathcal {R}}(7)=\{3,4\}\). Assume that at a given time t we have \(L_1(t)=L_4(t)=L_5(t)=1,\ L_6(t)=1.5,\ L_2(t)=L_3(t)=2,\ L_7(t)=3\). We also assume that there are no external arrivals to the system in the time interval \([t,t+1]\). The corresponding network is pictured in Fig. 3.

  1. 1.

    In the first step of the algorithm, we first note that \(L^{(1)}(t)=\min \{L_i(t):i\in \mathbf {I}\}=1.\) We observe that flows with residual processing time 1 are present on three routes: 1, 4 and 5. In the first substep, we find the biggest possible processing rate on these routes \(\lambda ^{(1)}_1(t)=1\). We can schedule flows on at most two routes with this processing rate (routes 4 and 5) for transmission, therefore \(m^{(1)}_1(t)=2\) and the set \({\mathcal {S}}^{(1)}_1(t)\) consists of all sequences of the form (4, 5, ...)Footnote 2, corresponding to those SRPT scheduling policies which have active transmission on routes 4 and 5 as the first ones to serve. Since \({\mathcal {S}}^{(1)}_1(t)\) obviously has more than one element, we proceed with the second substep. We can still schedule the flow on route 1 for transmission. This time, we have \(\lambda ^{(1)}_2(t)=0.5\) and \(m^{(1)}_2(t)=1\). The set \({\mathcal {S}}^{(1)}_2(t)\) consists of all sequences of the form (4, 5, 1, ...). In the third substep we note that there are no more unscheduled routes i with \(L_i(t)=1\) left, so we put \({\mathcal {S}}^{(1)}={\mathcal {S}}^{(1)}_2(t)\) and end the first step.

  2. 2.

    In the second step of the algorithm, we note that \(L^{(2)}(t)=2\) (the flow with residual processing time 1.5 cannot be transmitted, because it is present only on route 6 and both nodes on this route are fully utilized for all SRPT scheduling policies in \({\mathcal {S}}^{(1)}\).) We observe that \(\lambda ^{(2)}_1(t)=0.5\) because for all \(B\in {\mathcal {S}}^{(1)}\) there is still 0.5 capacity left at node 2 which is the only node used by route 2. Therefore, we have \(\lambda ^{(2)}_1(t)=0.5\), \(m^{(2)}_1(t)=1\) and the set \({\mathcal {S}}^{(2)}_1(t)\) consists of all sequences of the form (4, 5, 1, 2, ...). Since there are no more flows which can be scheduled for transmission at this time, there exists only one such sequence corresponding to a viable SRPT scheduling policy and it is (4, 5, 1, 2). We put \({\mathcal {S}}_s(t)=\{(4,5,1,2)\}\) and end the algorithm.

Summarizing, in the case under consideration, the only strong SRPT protocol at time t corresponds to the transmission rates \(\Lambda _1(t)=\Lambda _2(t)=0.5\), \(\Lambda _3(t) =\Lambda _6(t)=\Lambda _7(t)=0\) and \(\Lambda _4(t)=\Lambda _5(t)=1\). This assignment remains effective until the time \(t+1\), because this is the time when the transfer of some of the flows (more specifically, those on routes 4 and 5) is completed and, moreover, this is the first time when two flows with different residual processing times at time t (more specifically, the flow with residual processing time 1.5 present on route 6 which is not transmitted in this time interval and the flow with residual processing time 2 at time t on route 2 processed at rate 0.5) “merge”.

5.2 Main result

The following theorem is a generalization of Theorem 3 in which the assumption (9) is removed.

Theorem 4

Let \({\mathcal {Q}}\) denote a state process of the form (2), (4), with the corresponding performance process \(\mathfrak {X}\) in the form (17) satisfying (18)–(21), together with the nonnegativity and monotonicity assumptions made below (17). Then \({\mathcal {Q}}\) is locally edge minimal if and only if the flows in the system corresponding to \({\mathcal {Q}}\) are being transmitted under a strong SRPT service protocol.

Proof

We follow the ideas of the proof of Theorem 3 with necessary modifications, taking different processing rates into account. Let \({\mathcal {Q}}\) be the state process corresponding to a strong SRPT service protocol. Fix \(t_0\ge 0\). We will show that \({\mathcal {Q}}\) is locally edge minimal at \(t_0\). Let a process \({\mathcal {Q}}'\), subject to the assumptions made at the beginning of this section, be such that (37) holds. Fix \(\omega \in \Omega \). In the following argument, all the random objects under consideration are evaluated at this \(\omega \). Let \(\epsilon _1\), \(\epsilon _2\) be given by (27)–(28). By definition, the flows transmitted in the system \({\mathcal {Q}}\) and the transmission rates assigned to them by this system do not change in the time interval \([t_0,t_0+(\epsilon _1\wedge \epsilon _2))\). Let

$$\begin{aligned} h=\epsilon _1\wedge \frac{\epsilon _2}{C_{max} \vee 1}. \end{aligned}$$
(47)

Fix \(\hat{t}\in (t_0,t_0+h)\), define the functions fg as

$$\begin{aligned} f(s)= \sum _{i\in \mathbf{I} } T_{i}'(\hat{t},s), \qquad g(s) =\sum _{i\in \mathbf{I} } T_{i}(\hat{t},s), \qquad s\ge 0 \end{aligned}$$
(48)

and let \(c=c_{f,g}\) be as in Definition 4. We want to check that \(f\ll g\). If \(c=\infty \), then \(f \equiv g\), so \(f\ll g\). Suppose that \(c<\infty \).

We assume that \(L^{(k)},\ k=1,2,...\), defined in the description of the algorithm from Sect. 5.1 are evaluated for the system \({\mathcal {Q}}\) and their counterparts for the system \({\mathcal {Q}}'\), when necessary, will be denoted by \(L'^{(k)},\ k=1,2,...\). By \(n^{(k)}\) we denote the number of different processing rates at which the flows with the residual transmission time \(L^{(k)}(t_0)\) are processed by the system \({\mathcal {Q}}\), i.e., the number of substeps in the k-th step of the algorithm described above (with \(t=t_0\)). First, notice that

$$\begin{aligned} L^{(1)}(\hat{t})&=L^{(1)}(t_0)-\lambda ^{(1)}_1(t_0)(\hat{t}-t_0),\nonumber \\ L^{(2)}(\hat{t})&=L^{(1)}(t_0)-\lambda ^{(1)}_2(t_0)(\hat{t}-t_0),\nonumber \\&\quad ...\nonumber \\ L^{(n^{(1)})}(\hat{t})&=L^{(1)}(t_0)-\lambda ^{(1)}_{n^{(1)}}(t_0)(\hat{t}-t_0),\nonumber \\ L^{(n^{(1)}+1)}(\hat{t})&=L^{(2)}(t_0)-\lambda ^{(2)}_{1}(t_0)(\hat{t}-t_0),\nonumber \\&\quad ... \end{aligned}$$
(49)

Recall that \(k_s\) is the number of steps in the strong SRPT scheduling algorithm. Put

$$\begin{aligned}&\epsilon _3=(\hat{t}-t_0)[\min \{ |\lambda _i^{(k)}(t_0) - \lambda _j^{(k)}(t_0)|: k = 1,..., k_s(t_0), 1\le i <j \le n^{(k)}\} \wedge 1 ], \end{aligned}$$
(50)
$$\begin{aligned}&\epsilon _4 = (\hat{t}-t_0)\min \{ \lambda _i^{(k)}(t_0), k = 1,..., k_s(t_0),1\le i \le n^{(k)}\}, \end{aligned}$$
(51)

and let

$$\begin{aligned} \epsilon =[(\epsilon _2 \wedge \epsilon _3)/2] \wedge \epsilon _4. \end{aligned}$$
(52)

Note that \(\hat{t}-t_0 < h \le \epsilon _2/C_{max}\) (see (47)), so by (28) and (49)–(50), (52), the minimal distance between two distinct atoms of \({\mathcal {Q}}(\hat{t})\) is not smaller than \(2\epsilon \). Moreover, any flow processed by the system \({\mathcal {Q}}\) in the time interval \([t_0,\hat{t}]\) receives at least \(\epsilon _4\) (and hence not less than \(\epsilon \)) units of transmission in this time interval. We consider the following cases.

  1. 1.

    \(c< L^{(1)}(\hat{t})\). We rule out this possibility, arguing as in the corresponding case of the proof of Theorem 3.

  2. 2.

    If \(c= L^{(1)}(\hat{t})\), then in the time interval \([t_0,\hat{t}]\) the system \({\mathcal {Q}}\) is transmitting flows with residual service time c at time \(\hat{t}\) at the rate \(\lambda _1^{(1)}:=\lambda _1^{(1)}(t_0)\) on \(m_1^{(1)} :=m_1^{(1)}(t_0)\) routes. For any \(s\in [c,c+\epsilon ]\),

    $$\begin{aligned} g(s) =\sum _{i\in \mathbf{I} } T_{i}(\hat{t},s) = \sum _{i\in \mathbf{I} } T_{i}(t_0,s) + m_1^{(1)} (s-L^{(1)}(\hat{t})), \end{aligned}$$
    (53)

    where the second equality holds by the fact that the flows with residual transmission time c at time \(\hat{t}\) are the only ones with residual transmission times less than or equal to s at this time (the last term is the amount of transmission of such flows after their residual transmission times cross the barrier s.)

    By the definition of \(\lambda _1^{(1)}\), at any time \(t\in [t_0,t_0+h)\), it is impossible to schedule the transmission of flows with residual transmission time not greater than c at time \(\hat{t}\) at a rate greater than \(\lambda _1^{(1)}\). Moreover, by the definition of \(m_1^{(1)}\), at any time \(t\in [t_0,t_0+h)\), it is impossible to schedule the transmission of flows with residual service time c at time \(\hat{t}\) at the rate \(\lambda _1^{(1)}\) on more than \(m_1^{(1)}\) routes, so for \(s\in [c,c+\epsilon ]\),

    $$\begin{aligned} \sum _{i\in \mathbf{I} }T'_{i}(t_0,s) + m_1^{(1)} (s-L^{(1)}(\hat{t})) \ge \sum _{i\in \mathbf{I} } T_{i}'(\hat{t},s) \;=\; f(s). \end{aligned}$$

    This, together with (46) and (53), shows that \(f(s)\le g(s)\) for \(s\in [c,c+ \epsilon ]\), yielding \(f\ll g\).

  3. 3.

    \(L^{(1)}(\hat{t})< c < L^{(2)}(\hat{t})\). Let \(s\in (L^{(1)}(\hat{t}),c\wedge (L^{(1)}(\hat{t})+\epsilon ))\). By the definition of c, we have \(f(s)=g(s)\), so (53) and the definition of \(L^{(1)}(\hat{t})\) imply that in the time interval \([t_0,\hat{t}]\) the system \({\mathcal {Q}}'\) is transmitting flows with residual service time s at time \(\hat{t}\) with rate \(\lambda _1^{(1)}\) on at least \(m_1^{(1)}\) routes. However, it is not possible to schedule the transmission of flows with residual file size s at time \(\hat{t}\) at rate \(\lambda _1^{(1)}\) on more than \(m_1^{(1)}\) routes in this time interval, so from (53) we conclude that at almost every time \(t\in [t_0,\hat{t}]\), the transmission of these flows by the system \({\mathcal {Q}}'\) with rate \(\lambda _1^{(1)}\) is active on exactly \(m_1^{(1)}\) routes.

    By the definition of a strong SRPT policy, for almost every time \(t\in [t_0,\hat{t}]\), the system \({\mathcal {Q}}\) is transmitting flows with residual service time \(L^{(1)}(\hat{t})\) with rate \(\lambda _1^{(1)}\) at time \(\hat{t}\) on \(m_1^{(1)}\) routes. Hence, with \(L^{(1)}(\hat{t})< c< L^{(2)}(\hat{t})\), we arrive at a contradiction by an argument similar to the one given for the case 3 in the proof of Theorem 3.

  4. 4.

    \(c = L^{(2)}(\hat{t})\). First assume that \(n^{(1)}:=n^{(1)}(t_0)\ge 2\). The system \({\mathcal {Q}}\) is transmitting flows with residual transmission time c at time \(\hat{t}\) with rate \(\lambda _2^{(1)}:=\lambda _2^{(1)}(t_0)\) on \(m_2^{(1)}:=m_2^{(1)}(t_0)\) routes. Let \(s\in [c,c+\epsilon ]\). By the definition of \(L^{(2)}(\hat{t})\) and the choice of \(\epsilon \), there are two kinds of flows with residual file sizes not greater than s at time \(\hat{t}\). The first one consists of \(m_1^{(1)}\) flows with residual transmission time \(L^{(1)}(\hat{t})\) at time \(\hat{t}\). In the time interval \([t_0,\hat{t}]\) each of them receives \( (s-L^{(1)}(\hat{t})) \wedge \lambda _1^{(1)} (\hat{t}-t_0) \) units of transmission when its residual service time does not exceed s. By (49), \( s-L^{(1)}(\hat{t})=s-L^{(1)}(t_0) +\lambda _1^{(1)} (\hat{t}-t_0) \) and by (49), (51)–(52),

    $$\begin{aligned} s-L^{(1)}(t_0)\le & {} L^{(2)}(\hat{t}) +\epsilon -L^{(1)}(t_0)\\= & {} -\lambda _2^{(1)} (\hat{t}-t_0) +\epsilon \le - \lambda _2^{(1)} (\hat{t}-t_0) +\epsilon _4 \le 0, \end{aligned}$$

    so \((s-L^{(1)}(\hat{t})) \wedge \lambda _1^{(1)} (\hat{t}-t_0) = s-L^{(1)}(\hat{t})\). Hence, the cumulative transmission of these flows in the time interval \([t_0,\hat{t}]\) when their residual file sizes are not greater than s is equal to \(m_1^{(1)} (s-L^{(1)}(\hat{t}))\).

The second group under consideration consists of \(m_2^{(1)}\) flows with residual transmission time \(L^{(2)}(\hat{t})\) at time \(\hat{t}\). By a similar argument, the cumulative transmission of these flows in \([t_0,\hat{t}]\) when their residual transmission times do not exceed s is equal to \(m_2^{(1)} (s-L^{(2)}(\hat{t})) = m_2^{(1)} (s-c)\). Therefore, for \(s\in [c,c+\epsilon ]\) we get

$$\begin{aligned} g(s) \;= \; \sum _{i\in \mathbf{I} } T_{i}(\hat{t},s)= & {} \sum _{i\in \mathbf{I} } T_{i}(t_0,s) + m_1^{(1)} (s-L^{(1)}(\hat{t}))+ m_2^{(1)} (s-c) \nonumber \\= & {} \sum _{i\in \mathbf{I} } T_{i}'(t_0,s) +m_1^{(1)} (s-L^{(1)}(\hat{t}))+ m_2^{(1)} (s-c) \nonumber \\\ge & {} \sum _{i\in \mathbf{I} } T_{i}'(\hat{t},s) \;=\; f(s), \end{aligned}$$
(54)

where the third equality follows from (46) and the inequality follows from the argument given in case 2, together with the definitions of \(L^{(2)}(\hat{t})\), \(m_2^{(1)}\). Again, we have \(f\ll g\).

If \(n^{(1)}=1\), the system \({\mathcal {Q}}\) is transmitting flows with residual transmission time \(c = L^{(2)}(\hat{t})\) at time \(\hat{t}\) with rate \(\lambda _1^{(2)}:=\lambda _1^{(2)}(t_0)\) on \(m_1^{(2)}:=m_1^{(2)}(t_0)\) routes. Again, we take \(s\in [c,c+\epsilon ]\) and proceed similarly as above. In this case, however, by (49), (28) and (47), we have

$$\begin{aligned} s-L^{(1)}(\hat{t})\ge & {} L^{(2)}(\hat{t})-L^{(1)}(\hat{t}) = L^{(2)}(t_0)-L^{(1)}(t_0) + (\lambda _1^{(1)}-\lambda _1^{(2)}) (\hat{t}-t_0) \\\ge & {} 2 \epsilon _2 + (\lambda _1^{(1)} - C_{max}) (\hat{t}-t_0) \ge 2 \epsilon _2 + \lambda _1^{(1)} (\hat{t}-t_0) - C_{max} h \\\ge & {} 2 \epsilon _2 + \lambda _1^{(1)} (\hat{t}-t_0) - \epsilon _2 > \lambda _1^{(1)} (\hat{t}-t_0), \end{aligned}$$

where \(C_{max}\) is the maximal resource capacity (see (1)), so \( (s-L^{(1)}(\hat{t})) \wedge \lambda _1^{(1)} (\hat{t}-t_0) = \lambda _1^{(1)} (\hat{t}-t_0). \) Accordingly, in the counterpart of (54), we now use \(\lambda _1^{(1)}(\hat{t}-t_0)\) and \(m_1^{(2)}\) instead of \(s-L^{(1)}(\hat{t})\), \(m_2^{(1)}\), respectively.

The cases 3 and 4 can be easily generalized to \(L^{(p)}(\hat{t})< c < L^{(p+1)}(\hat{t})\) and \(c = L^{(p+1)}(\hat{t}),\ p=1,..., \sum _{k=1}^{k_s}n^{(k)}(t_0)-1\), where \(n^{(k)}\) is the number of substeps in the k-th step of the strong SRPT scheduling algorithm. Finally, the case \(c>L^{(\sum _{k=1}^{k_s}n^{(k)}(t_0))}(\hat{t})\) can be handled just like its counterpart from the proof of Theorem 3.

Summarizing, we have \(f\ll g\) in each case, so \({\mathcal {Q}}\) is indeed locally edge minimal at \(t_0\).

To prove the converse, let the state process \({\mathcal {Q}}\) be locally edge minimal, fix \(t_0\ge 0\) and let \(h>0\) be as in Definition 6. We can assume that h is not greater than the right-hand side of (47), so that there are no arrivals or departures in the time interval \((t_0,t_0+h)\) under any policy satisfying the constraints (20) and coinciding with the one used in the system \({\mathcal {Q}}\) on \([0,t_0]\). Below, we verify that in the time interval \([t_0,t_0+h)\), flow transmissions in \({\mathcal {Q}}\) are being scheduled according to a strong SRPT protocol.

Let \({\mathcal {Q}}'\) be a state process with the same stochastic primitives as \({\mathcal {Q}}\), corresponding to the policy emulating the one used in \({\mathcal {Q}}\) up to time \(t_0\) and using a strong SRPT protocol thereafter. Fix \(\omega \in \Omega \). In the remainder of the proof, the random objects under consideration are evaluated at this \(\omega \).

Let \(\hat{t}\in (t_0,t_0+h)\) and let fg be defined by (48). By local edge minimality of \({\mathcal {Q}}\), we have \(f \ll g\). However, arguing as in the first part of this proof, we obtain \(g\ll f\), so \(f\equiv g\). The knowledge of \(\sum _{i\in \mathbf{I} } T_{i}'(\hat{t},\cdot )\) for each \(\hat{t}\in (t_0,t_0+h)\) allows us to uniquely determine the number of flows being processed, their residual transmission times and processing rates in the time interval \([t_0,t_0+h]\). Indeed, let \(k'_s\), \(L'^{(k)}\), \(n'^{(k)}\) and \(\lambda '^{(k)}_l\), \(m'^{(k)}_l\), \(k=1,...,k'_s\), \(l=1,...,n'^{(k)}\), be the analogs of \(k_s\), \(L^{(k)}\), \(n^{(k)}\) and \(\lambda ^{(k)}_l\), \(m^{(k)}_l\) for the system \({\mathcal {Q}}'\). Fix \(\hat{t}\in (t_0,t_0+h)\), define \(\epsilon _3\), \(\epsilon _4\) by counterparts of (50)–(51) for the system \({\mathcal {Q}}'\) and let \(\epsilon \) be given by (52). Since \({\mathcal {Q}}'\) is a strong SRPT protocol, equations like those in (53), (54) and so on hold. Applying (53) to the system \({\mathcal {Q}}'\) with \(L^{(1)}(\hat{t})\) replaced by \(L'^{(1)}(\hat{t}) =L'^{(1)}(t_0)-\lambda _1'^{(1)}(\hat{t}-t_0)\), for \(s\in [L'^{(1)}(\hat{t}), L'^{(1)}(\hat{t})+ \epsilon ]\) we get

$$\begin{aligned} \sum _{i\in \mathbf{I} } T'_{i}(\hat{t},s) = \sum _{i\in \mathbf{I}} T'_{i}(t_0,s) + m_1'^{(1)} (s-L'^{(1)}(t_0)+\lambda _1'^{(1)}(\hat{t}-t_0)). \end{aligned}$$

Similarly, for \(k=1,...,\sum _{k=1}^{k'_s}n'^{(k)}\), we have relations analogous to (49) and if k has the form \(k=\sum _{l=1}^{k_1}n'^{(l)}+k_2\) for some \(k_1, k_2\in \{0,1,...\}\) such that \(k_1<k'_s\) and \(1\le k_2\le n'^{(k_1+1)}\), while \(s\in [L'^{(k)}(\hat{t}), L'^{(k)}(\hat{t})+ \epsilon ]\), then

$$\begin{aligned} \sum _{i\in \mathbf{I} } T'_{i}(\hat{t},s)&= \sum _{i\in \mathbf{I}} T'_{i}(t_0,s) + \sum _{d=1}^{k_1}\sum _{l=1}^{n'^{(d)}} \lambda _l'^{(d)}m_l'^{(d)} (\hat{t}-t_0)\\&\quad +\sum _{l=1}^{k_2} m_{l}'^{(k_1+1)} (s-L'^{(k_1+1)} (t_0)+\lambda _{l}'^{(k_1+1)}(\hat{t}-t_0)). \end{aligned}$$

These equations uniquely determine \(m_l'^{(k)},\ k=1,...,k'_s(\hat{t}),\ l=1,...,n'^{(k)}\). Since \(f\equiv g\) (i.e., \(\sum _{i\in \mathbf{I} } T_{i}'(\hat{t},\cdot )=\sum _{i\in \mathbf{I} } T_{i}(\hat{t},\cdot )\)) for \(\hat{t}\in (t_0,t_0+h)\), analogous equations hold also for the system \({\mathcal {Q}}\) in the same intervals. Hence, in both systems the same numbers of flows with the same residual processing times are being transmitted with the same rates, so the system \({\mathcal {Q}}\) uses a strong SRPT protocol. \(\square \)

The following theorem follows directly from Theorems 1 and 4.

Theorem 5

Let \({\mathcal {Q}}\) be a locally edge minimal state process of the form (2), (4). Then the corresponding performance process \(\mathfrak {X}\) is minimal.

6 Concluding remarks

An alternative definition of the SRPT protocol description in a single server queue is to give preemptive priority to the job that can be completed first. In a resource sharing network, this definition is equivalent to the previous one as long as all the resource capacities are equal (see (9)). However, in the general case, with arbitrary \(C_j\), these two notions no longer coincide. For example, if we prioritize flows with respect to their shortest transmission completion times, rather than their residual file sizes, in the first step of the counterpart of the scheduling algorithm from Sect. 2.5, we choose the flow minimizing \(w_{i,k}(t)/\lambda _0(i)\), where \(\lambda _0(i)=\min _{j\in {\mathcal {R}}(i)} C_j\) is the maximal rate at which a flow on route i can be transmitted (compare (5)). Consequently, in this variant of the SRPT discipline, we assign weights to routes, equal to the reciprocals of the potential transmission rates on these routes, which is somewhat reminiscent of the potential delay minimization policy introduced by Massoulié and Roberts (1999). However, it follows from our Theorems 1 and 4 that in the absence of the condition (9), such protocols are typically not optimal in the sense considered in this paper.