# Queue Content Analysis in a 2-Class Discrete-Time Queueing System under the Slot-Bound Priority Service Rule

Authors: Sofian De Clercq; Bart Steyaert; Herwig Bruneel
Journal: Mathematical Problems in Engineering
 (2012)

---

## Abstract

The paper we present here introduces a new priority mechanism in discrete-time queueing systems. It is a milder form of priority when compared to HoL priority, but it favors customers of one type over the other when compared to regular FCFS. It also provides an answer to the starvation problem that occurs in HoL priority systems. In this new priority mechanism, customers of different priority classes entering the system during the same time slot are served in order of their respective priority class—hence the name slot-bound priority. Customers entering during different slots are served on an FCFS basis. We consider two customer classes (pertaining to two levels of priority) such that type-1 customers are served before type-2 customers that enter the system during the same slot. A general independent arrival process and generally distributed service times are assumed. Expressions for the probability generating function (PGF) of the system content (number of type-j customers, j=1,2) in regime are obtained using a slot-to-slot analysis. The first moments are calculated, as well as an approximation for the probability mass functions associated with the found PGFs. Lastly, some examples allow us some deeper insight into the inner workings of the slot-bound priority mechanism.


---

## Body

## 1. Introduction

Multiclass queueing systems, or queueing systems buffering multiple types of customers, have been widely adopted in queueing theory, since they enable the modelling of nonidentical behaviour of different types of customers that enter the same system. In a multiclass environment, virtually any combination of features with respect to the arrival characteristics, service requirements, buffer management rules that pertain to the individual classes (Fiems et al. [1]) could be considered.In this paper we study a2-class discrete-time queueing system with infinite waiting room and one server, under the so-called slot-bound priority service rule (SBP) (which is based on the work in De Clercq et al. [2]). That is to say, class-1 customers receive preferential treatment over class-2 customers that have arrived during the same slot. In addition, customers that enter the system during consecutive slots are served on a first-come-first-served (FCFS) basis, regardless of the class they belong to. Slot-bound priority can be used to model any system in which batches of, for example, customers, packets, or tasks, arrive which have to be addressed or serviced in a specific order for whatever reason, while the batches themselves need to be served FCFS. For instance, a batch of customers may be the traffic that accumulates before a traffic light. When the light turns green, the faster drivers (high priority customers) will gain an edge and arrive at the next lights sooner, where they will be “served” once those lights turn green. Moreover SBP can be seen as a polling mechanism in which, during each slot, a gate is placed after each of the two queues (see f.i. Takagi [3], Boxma et al. [4]). Whenever the server encounters a gate it discards this gate, and starts service on the other queue, hence preserving the FCFS order across different arrival slots. The lower priority customer’s service times may be seen as server vacations for the high priority customers and as we will see the type-1 (and even type-2) population of the queue has the so-called decomposition property. Fuhrmann and Cooper [5] and Shantikumar [6] show this property in continuous time and Ishizaki [7] shows a decomposition property in discrete time.The complexity of the analysis of this type of multiclass queueing system is, among others, highly dependent on the service-time distributions. It is often found that deterministic service times are used in order to ease the analysis (e.g., in Fiems et al. [1] or Stavrakakis [8]) while still being widely applicable, since, for instance, the ATM transport paradigm employs fixed-size packages. Another service-time distribution that is frequently adopted is the geometric distribution, which reduces the analysis’s complexity due to its memoryless nature (e.g., in Ndreca and Scoppola [9]). Nevertheless, as will be demonstrated in the subsequent sections, the approach that is proposed in this paper allows us to obtain results for generally distributed service times that are independent of one another; however, note that their probability distribution may be dependent on the class of the customer being served. On the other hand, the numbers of arrivals during consecutive slots are assumed to be mutually independent as well, albeit that the numbers of arrivals of customers of different types during the same slot can be correlated in our setting. Discrete-time queueing systems with independent and identically distributed (i.i.d.) customer arrivals have been studied mostly under a general arrival distribution (Bruneel [10], Walraevens et al. [11], Stavrakakis [8], and Ndreca and Scoppola [9]), since the exact nature of the arrival process has, apart from some pathological cases, little or no impact on the complexity of the analysis. The ultimate purpose of this contribution is to analyze the joint probability distribution of the system content at random slot marks as contributed by all types of customers, following a slot-to-slot approach. We refer to De Clercq et al. [12] for the delay analysis for this model.In the related literature, multiclass systems may be looked upon as having multiple arrival streams with different characteristics, (e.g., Masuyama and Takine [13], Takine [14]) or servicing multiple types of customers/fluids (e.g., He [15], Kulkarni and Glazebrook [16]). Masuyama analysed a system much like the one considered here, in a continuous-time setting with multiple batch Markovian arrival streams and batches consisting of customers of the same type, whereas our discrete time model allows batches containing customers of different types. The references indicated above assume a continuous-time setting. A number of contributions have also been made regarding multiclass systems in discrete-time, mostly in combination with some sort of priority rule, for example, nonpreemptive priority (e.g., Walraevens et al. [11], Fiems et al. [1], Ndreca and Scoppola [9]), or gated priority (e.g., Stavrakakis [8], Ishizaki et al. [17]). There are some results for discrete-time FCFS-based systems with multiple types of customers as well, as can be seen, for instance, in Van Houdt and Blondia [18], where the customer delay distributions are studied for the specific case of MMAP[K]/PH[K]/1 and where the arrival process is generalised to include batch arrivals. Note however that the delay analysis in Van Houdt and Blondia [18] is based on the total amount of work in the system at a random slot mark, while we are interested in studying the numbers of customers of both types in the system, which is a much more difficult task. In addition, as far as the service-time distributions are concerned, our model is more general as well.Interestingly, when studying the SBP policy described previously in a discrete-time multiclass system, one encounters the same intricate problem as Takine [14] (page 349) mentioned having in his analysis of a multiclass FIFO system with class-dependent nonexponential interarrival times: “It is widely recognized that the queue length distribution in a FIFO queue with multiple non-Poissonian arrival streams having different service-time distributions is very hard to analyze, since we have to keep track of the complete order of customers in the queue to describe the queue length dynamics.” We will see that under certain assumptions concerning the arrival process, our approach will suffice to deliver a discrete time solution to this problem. A first assumption is the general independent nature of the arrival process (batch Bernoulli process). When we demand that during a slot only customers pertaining to one class can enter the system, a pure multiclass FCFS policy in discrete-time is the result.The remainder of the paper is organised as follows. In the next section we present the mathematical model of the system. Next, we detect a 4-dimensional Markov chain which we can analyze and derive a steady-state expression for the jointprobability generating function (PGF) of the system occupancies of both types of customers. From this main result, we subsequently derive expressions for the mean values of these random variables, determine their tail probabilities, and for some specific examples compare them to the mean system occupancies in a system governed by the nonpreemptive head-of-line (np-HoL) priority rule, before concluding this paper.


## 2. Mathematical Model

In a discrete-time setting, consider a queue with infinite waiting room and a single server serving 2 types of customers in FCFS order. When customers of different types enter the system during the same slot (i.e., simultaneously), the type-1 customers among them are served first. This principle is known as slot-bound priority (De Clercq et al. [2]). The number of type-j customers (j=1,2) entering the system during slot n is denoted by aj,n. We will adopt the notation An(z1,z2)≜E[z1a1,nz2a2,n] for the joint pgf of a1,n and a2,n. Hence, our model is not limited to uncorrelated a1,n and a2,n. However, we will consider i.i.d. arrivals, meaning (a1,n,a2,n) and (a1,m,a2,m) are i.i.d. random vectors for n≠m. Therefore, we will omit the index and use A(z1,z2) instead. The first-order partial derivatives of this function taken in (1,1) are the arrival rates of each separate type of customer:
(2.1)λj≜∂A(z1,z2)∂zj|(z1,z2)=(1,1)=E[aj],j=1,2.We consider a single-server system, where all service times are modelled as being independent and generally distributed. Furthermore all service times of type-j customers are i.i.d. discrete random variables (DRVs). The earliest a customer’s service time can start is the slot following its arrival slot. Let sj (with pgf Sj(z)≜E[zsj]) denote the service time of a random type-j customer.Additionally we define the auxiliary DRVsbj, ag, and sg. bj will denote the number of type-j customers entering the system during a random slot given that at least one customer of any type enters the system during the slot. Consequently b1+b2>0 by definition. Secondly, ag is an indicator which is 1 if at least one customer enters the system during a slot and 0 otherwise. If ag=1, we aggregate the arriving customers and call this set of customers a group (of customers) for short (hence the index g). In such a setting, ag is the number of groups (of customers) entering the system during a slot. sg is the service time of such a group, meaning the combined service time of all customers making up such a group. Based on these definitions, we may write
(2.2)B(z1,z2)≜E[z1b1z2b2]=A(z1,z2)-A(0,0)1-A(0,0),(2.3)Ag(z)≜E[zag]=A(0,0)+(1-A(0,0))z,(2.4)Sg(z)≜E[zsg]=B(S1(z),S2(z)).
Note that Ag(B(z1,z2))=A(z1,z2), a relation that will be fully exploited further in this paper.In this paper we are interested in the queue content, meaning the number of customers of each type in the system at typical slot marks. Withvj,n we denote the number of type-j customers in the queue at the beginning of slot n. Pr[vj,n=k] is in general a function of n, the slot index. To avoid having to specify the slot index, we assume that the system reaches stochastic equilibrium and as such let n approach infinity. A sufficient condition in our model would be that the arrival rate of customers multiplied by the average service time of each of said customers is less than 1. Formally let ρj≜λjE[sj]. Then ρj can be interpreted as being the average number of slots it takes the server to serve all type-j customers that enter the system during a single slot. We can then say that stochastic equilibrium is reached if ρ≜ρ1+ρ2<1. We hold this inequality for true in the rest of this paper.In general,v1,n and v2,n are correlated. We will focus our efforts towards finding an expression for
(2.5)V(z1,z2)≜limn→∞Vn(z1,z2)≜limn→∞E[z1v1,nz2v2,n],
the steady-state joint pgf for v1 and v2.


## 3. Queue Content Analysis

We already introduced the concept of groups. The reason why we group customers that enter the system during the same slot is that we know that customers of different groups are served in FCFS order, while those that are part of the same group are subject to the slot-bound priority rule (type-1 customers are served before type-2 customers). On top of that, we know that each group’s content, that is, the number of customers of each type in it, is an i.i.d. process described by (b1,b2). Let wn denote the number of groups in the queueing system at the beginning of slot n. If there is only a part of a certain group in the system at the beginning of that slot because some customers of that group have already been served, we still include this group in wn. As such wn=0 means the system is empty.If the system is not empty, then the server must be serving a customer. The group that customer belongs to (called the active group) might already have had some customers served and might house more customers than just the one in service. Therefore, lethj,n denote the number of type-j customers in the active group that are still in the system at the beginning of slot n. By convention, we will set h1,n=h2,n=0 if the queueing system is empty.Lastly, whenever the server is serving a customer, we definern to be its remaining service time at the beginning of slot n. In the other case, we set rn=0, once again implying that the system is empty. Summarizing, we find that
(3.1)wn=0⟺h1,n=h2,n=0⟺rn=0⟺v1,n=v2,n=0.The purpose of introducing these new DRVs is twofold. For one, together they constitute a discrete-time Markov chain. Secondly and most importantly, we can determine the number of customers of each type using these drv’s. The number of type-j customers in the queue at the beginning of slot n is the sum of those present in the active group, hj,n, and those in the (wn-1)+ queued groups, that have not yet been served (we adopt the notation (·)+≡max(·,0)). The number of type-j customers in these latter groups is all i.i.d. drv’s with distribution equal to that of bj (see Section 2). And so we find
(3.2)vj,n=∑i=1(wn-1)+‍bj,i+hj,n,j=1,2.The indexi in bj,i was added as an enumeration index for the unserved groups that are queued in the system. Technically you do not need rn in this equation. However, we do need rn to form a Markov chain together with wn and both hj,n, given the service-time distributions and arrival process. The renewal period for this Markov chain equals one slot, so we will focus on a slot-to-slot analysis to determine the joint pgf of h1,n, h2,n, rn, and wn in regime.First notice that(h1,n,h2,n,rn,wn)=(0,0,0,0), (1,0,1,1) or (0,1,1,1) are similar cases, in the sense that the corresponding transition probabilities of the system’s state at the beginning of slot n+1 are same for these three cases. In the first we have an empty system, and in the latter two cases we have a system with only one customer sitting out its last slot of service. The state at the beginning of the next slot is in either case going to be dependent solely on the arrival process during slot n. In view of the SBP service paradigm we find that
(3.3)hj,n+1=aj,n,j=1,2,rn+1={s1,ifa1,n>0,s2,ifa1,n=0,a2,n>0,0,ifa1,n=a2,n=0,wn+1=ag.Whenh1,n+h2,n=1 and rn=1, the active group will leave the system at the end of slot n. In the above we saw what the system state evolves to when this group was the only group in the system at the start of slot n. When wn>1, the next group in line will be served at the beginning of slot n+1. It consists of bj type-j customers and hence our state evolves to
(3.4)hj,n+1=bj,j=1,2,rn+1={s1,ifb1>0,s2,ifb1=0(implyingb2>0),wn+1=wn-1+ag.Ifrn=1, then we know that a customer will finish service at the end of slot n. Moreover when h1,n+h2,n>1, the leaving customer will not be the last of the active group and hence this group will still be in the system at the beginning of slot n+1.(i)
Assumeh1,n>1. In this case the customer leaving the system was of type 1 and the active group contains at least one additional type-1 customer. Hence the following customer selected for service will be again of type 1, leading to the following set of system equations:
(3.5)h1,n+1=h1,n-1,h2,n+1=h2,n,rn+1=s1,wn+1=wn+ag.(ii)
Second, assumeh1,n=1 and h2,n>0. This case covers what happens if the customer leaving the system was of type-1, but contrary to the above case, the active group does not contain any additional type-1 customers. It does however contain a type-2 customer. In such a case, our state evolves into
(3.6)h1,n+1=0,h2,n+1=h2,n,rn+1=s2,wn+1=wn+ag.(iii)
Third, whenh1,n=0 and h2,n>1, we know that the served customer was of type-2 and the active group contains at least one additional type-2 customer. Hence the following customer selected for service will again be of type-2:
(3.7)h1,n+1=0,h2,n+1=h2,n-1,rn+1=s2,wn+1=wn+ag.
This covers the cases where the active group does not leave the system although a customer does at the end of slot n.Whenrn>1, no customer will leave the system, and hence, the system state evolves to
(3.8)hj,n+1=hj,n,j=1,2,rn+1=rn-1,wn+1=wn+ag.Equations (3.3)–(3.8) cover the possible evolution of the state description (h1,n,h2,n,rn,wn). We define the distribution function pn(i1,i2,j,k) and joint pgf Pn(x1,x2,y,z) of these drv’s as
(3.9)pn(i1,i2,j,k)=Pr[h1,n=i1,h2,n=i2,rn=j,wn=k],Pn(x1,x2,y,z)≜E[x1h1,nx2h2,nyrnzwn]=∑i1,i2,j,k=0∞‍x1i1x2i2yjzkpn(i1,i2,j,k).Using the system equations in (3.3) and (3.4) we can deduce an expression for Pn+1(x1,x2,y,z), the joint pgf of the system’s state at the start of slot n+1, as follows:
(3.10)Pn+1(x1,x2,y,z)=E[x1h1,n+1x2h2,n+1yrn+1zwn+1]=E[x1a1,nx2a2,nyrn+1zag{h1,n+h2,n=rn=wn≤1}]+E[x1b1x2b2yrn+1zwn-1+ag{h1,n+h2,n=rn=1,wn>1}]+E[x1h1,n-1x2h2,nys1zwn+ag{h1,n>1,rn=1}]+E[x10x2h2,nys2zwn+ag{h1,n=1,h2,n>0,rn=1}]+E[x10x2h2,n-1ys2zwn+ag{h1,n=0,h2,n>1,rn=1}]+E[x1h1,nx2h2,nyrn-1zwn+ag{rn>1}],
in which we used the notation E[A{B}] for E[A∣B]Pr[B]. Conditioning further on the arrival process to remove rn+1 from the first two terms in (3.10) yields the following:
(3.11)Pn+1(x1,x2,y,z)=Ag(z(B(x1,x2)S1(y)+B(0,x2)(S2(y)-S1(y))))×(Pn(0,0,0,0)+pn(1,0,1,1)+pn(0,1,1,1))+Ag(z)(B(x1,x2)S1(y)+B(0,x2)(S2(y)-S1(y)))×(∑k=1∞‍zk-1(pn(1,0,1,k)+pn(0,1,1,k))-pn(1,0,1,1)-pn(0,1,1,1))+Ag(z)S1(y)x1∑i1=2∞‍∑i2=0∞‍∑k=1∞‍x1i1x2i2zkpn(i1,i2,1,k)+Ag(z)S2(y)∑i2,k=1∞‍x2i2zkpn(1,i2,1,k)+Ag(z)S2(y)x2∑i2=2∞‍∑k=1∞‍x2i2zkpn(0,i2,1,k)+Ag(z)y(Pn(x1,x2,y,z)-Pn(0,0,0,0)-∑i1,i2,k=0∞‍x1i1x2i2zkpn(i1,i2,1,k)).In order to tackle this elaborate expression, we introduce some short-hand notation(3.12)Rn(x1,x2,z)≜∑i1=1∞‍∑i2=0∞‍∑k=1∞‍x1i1-1x2i2zk-1pn(i1,i2,1,k),Qn(x2,z)≜∑i2=1∞‍∑k=1∞‍x2i2-1zk-1pn(0,i2,1,k).As we agreed in the previous section, we assume a system in stochastic equilibrium. Concretely we define(3.13)P(x1,x2,y,z)≜limn→∞Pn(x1,x2,y,z),R(x1,x2,z)≜limn→∞Rn(x1,x2,z),Q(x1,x2,z)≜limn→∞Qn(x1,x2,z).We are interested in the steady-state joint pgfP(x1,x2,y,z), since Pn(x1,x2,y,z) will resemble P(x1,x2,y,z) for large enough values of n given any starting conditions. Taking the limit of both sides of (3.11) while using the previous definitions yields after rearranging the terms
(3.14)P(x1,x2,y,z)(1-Ag(z)y)=Ag(z)z(S1(y)-x1)R(x1,x2,z)+Ag(z)z(S2(y)-S1(y))R(0,x2,z)+Ag(z)z(S2(y)-x2)Q(x2,z)-P0Ag(z)y-Ag(z)zS2(y)(R(0,0,z)+Q(0,z))+Ag(z)(S1(y)B(x1,x2)+(S2(y)-S1(y))B(0,x2))×(R(0,0,z)+Q(0,z)-R(0,0,0)-Q(0,0))+Ag(z(S1(y)B(x1,x2)+(S2(y)-S1(y))B(0,x2)))×(P0+R(0,0,0)+Q(0,0)),
where we wrote P0≜P(0,0,0,0) for short. Since pn(i1,i2,l,0)=0 if (l,i1,i2)≠(0,0,0), the equivalence
(3.15)P(x1,x2,y,0)≡P0
holds by definition. Considering the left-hand side and the right-hand side of (3.14) for z=0, and taking into account that Ag(0)=A(0,0), gives us the following relation between R(0,0,0)+Q(0,0) and P0(3.16)P0=A(0,0)(P0+R(0,0,0)+Q(0,0)).The equation in (3.14) still contains the unknown functions R(x1,x2,z) and Q(x2,z). To solve for them, notice that (3.14) holds for all values x1, x2, y, and z with moduli less than 1 (i.e., in the complex unit disk) since the (partial) probability generating functions that appear in (3.14) are then analytic functions. Because |Ag(z)|<1 when |z|<1, (3.14) holds when we substitute y by Ag(z). For the same reason we can substitute x1 by 0 therein. To keep the resulting expression and all following expressions a tad bit more tidy, we omit the function parentheses and write XY(z) where we mean X(Y(z)), in which X is a function with only one variable. Thus we write
(3.17)Ag(z)zS2Ag(z)R(0,x2,z)=Ag(z)z(x2-S2Ag(z))Q(x2,z)-Ag(z)S2Ag(z)(B(0,x2)-z)(R(0,0,z)+Q(0,z))-S2Ag(z)B(0,x2)(z-1)(1-A(0,0))P0.This is a first equation inR(0,x2,z), Q(x2,z), and R(0,0,z)+Q(0,z), all three of which are at this point unknown. If we substitute y by Ag(z) and x1 by S1Ag(z) in (3.14) we can find a second equation in those same three unknown functions. This second equation reads
(3.18)Ag(z)z(S2Ag(z)-S1Ag(z))R(0,x2,z)=Ag(z)z(x2-S2Ag(z))Q(x2,z)+Ag(z)zS2Ag(z)(R(0,0,z)+Q(0,z))+(S1Ag(z)B(S1Ag(z),x2)+(S2Ag(z)-S1Ag(z))B(0,x2))·(P0(1-Ag(z))-Ag(z)(R(0,0,z)+Q(0,z))).Notice that in both of the above-described substitutions we aimed to removeP(x1,x2,y,z) and R(x1,x2,z) from the equation. Following this same strategy, we eliminate Q(x2,z) from the equation by substituting x2 by S2Ag(z) in both (3.17) and (3.18), granting us a system of two equations in R(0,S2Ag(z),z) and R(0,0,z)+Q(0,z). Solving it for the latter function eventually leads to
(3.19)Ag(z)(R(0,0,z)+Q(0,z))=P0(1-A(0,0))(z-1)SgAg(z)z-SgAg(z).Note that (3.19) for z=0 implies (3.16). We can now invoke the system of equations in (3.17) and (3.18) to obtain R(0,x2,z) and Q(x2,z), now that R(0,0,z)+Q(0,z) is known explicitly. This produces the following expressions:
(3.20)Ag(z)R(0,x2,z)=P0(1-A(0,0))(z-1)B(S1Ag(z),x2)-B(0,x2)z-SgAg(z),(3.21)Ag(z)Q(x2,z)x2-S2Ag(z)S2Ag(z)=P0(1-A(0,0))(z-1)B(S1Ag(z),x2)-SgAg(z)z-SgAg(z).Notice that (3.19) can be checked using (3.20) and (3.21) setting x2=0. Substituting y by Ag(z) in (3.14) removes only P(x1,x2,y,z) from the equation and thus we are able to calculate R(x1,x2,z), resulting in
(3.22)Ag(z)(x1-S1Ag(z))R(x1,x2,z)=P0(1-A(0,0))(z-1)S1Ag(z)(B(x1,x2)-B(S1Ag(z),x2))z-SgAg(z),
which can again be checked by means of (3.20). The unknown functions now known, we substitute them in (3.14) and rework the resulting formula, in order to obtain the moderately presentable final result hereafter:
(3.23)P(x1,x2,y,z)P0=1+x1yz(Ag(z)-1y-Ag(z))(S1(y)-S1Ag(z)x1-S1Ag(z))(B(x1,x2)-B(S1Ag(z),x2)z-SgAg(z))+x2yz(Ag(z)-1y-Ag(z))(S2(y)-S2Ag(z)x2-S2Ag(z))(B(S1Ag(z),x2)-SgAg(z)z-SgAg(z)).Using the normalisation property of pgf’s we find the constantP0 to be 1-ρ. The above formula is pretty symmetric with respect to the last two terms of the right-hand side, the only exception being their last factor. This pgf actually harbors much more information than we intended to obtain in the first place, but for sake of continuity, we show our results for V(z1,z2). Substituting both vj, j=1,2 in V(z1,z2) by the system equation found in (3.2) and taking the limit n→∞, we obtain
(3.24)V(z1,z2)=(1-ρ)(1-1B(z1,z2))+P(z1,z2,1,B(z1,z2))B(z1,z2).Substituting the expression in (3.23) in this equation gives our main result, which is a closed-form expression for the joint pgf V(z1,z2).


### 3.1. Main Result

The joint pgf of type-1 and type-2 customers in a single-server discrete-time queueing system under the slot-bound priority rule, where the arrival process of the two types of customers is batch Bernoulli with joint pgf A(z1,z2) and independent class-specific service times with pgf’s S1(z) and S2(z), is given by
(3.25)V(z1,z2)=(1-ρ)(1+z1S1A(z1,z2)-1z1-S1A(z1,z2)B(z1,z2)-B(S1A(z1,z2),z2)B(z1,z2)-SgA(z1,z2)+z2S2A(z1,z2)-1z2-S2A(z1,z2)B(S1A(z1,z2),z2)-SgA(z1,z2)B(z1,z2)-SgA(z1,z2)).From this pgf it is easy to obtain the steady-state pgf of the number of type-1 or type-2 customers or even the total amount of customers in the queue at random slot bounds (V(z,1), V(1,z), and V(z,z), resp.). The first two generating functions—which we will denote by V1(z) and V2(z)—are given by the following concise expressions:
(3.26)V1(z)=(1-ρ)(1+zS1A1(z)-1z-S1A1(z))B(z,1)-B(S1A1(z),1)B(z,1)-SgA(z,1),(3.27)V2(z)=(1-ρ)(1+zS2A2(z)-1z-S2A2(z))B(S1A2(z),z)-SgA2(z)B(1,z)-SgA2(z),
where we adopt the notations A1(z)≜A(z,1) and A2(z)≜A(1,z).We can check our results by considering the case whereA(z1,z2)=A(z1,1) holds (i.e., no type-2 customer arrivals are generated). V(z1,z2) is then equal to the pgf of the number of customers in a simple single-class queueing system at random slot bounds (see f.i. [10]). The same goes for A(z1,z2)=A(1,z2). Furthermore, if S1(z)=S2(z), then V(z,z) once again reduces to the result found in [10], as expected.


## 3.1. Main Result

The joint pgf of type-1 and type-2 customers in a single-server discrete-time queueing system under the slot-bound priority rule, where the arrival process of the two types of customers is batch Bernoulli with joint pgf A(z1,z2) and independent class-specific service times with pgf’s S1(z) and S2(z), is given by
(3.25)V(z1,z2)=(1-ρ)(1+z1S1A(z1,z2)-1z1-S1A(z1,z2)B(z1,z2)-B(S1A(z1,z2),z2)B(z1,z2)-SgA(z1,z2)+z2S2A(z1,z2)-1z2-S2A(z1,z2)B(S1A(z1,z2),z2)-SgA(z1,z2)B(z1,z2)-SgA(z1,z2)).From this pgf it is easy to obtain the steady-state pgf of the number of type-1 or type-2 customers or even the total amount of customers in the queue at random slot bounds (V(z,1), V(1,z), and V(z,z), resp.). The first two generating functions—which we will denote by V1(z) and V2(z)—are given by the following concise expressions:
(3.26)V1(z)=(1-ρ)(1+zS1A1(z)-1z-S1A1(z))B(z,1)-B(S1A1(z),1)B(z,1)-SgA(z,1),(3.27)V2(z)=(1-ρ)(1+zS2A2(z)-1z-S2A2(z))B(S1A2(z),z)-SgA2(z)B(1,z)-SgA2(z),
where we adopt the notations A1(z)≜A(z,1) and A2(z)≜A(1,z).We can check our results by considering the case whereA(z1,z2)=A(z1,1) holds (i.e., no type-2 customer arrivals are generated). V(z1,z2) is then equal to the pgf of the number of customers in a simple single-class queueing system at random slot bounds (see f.i. [10]). The same goes for A(z1,z2)=A(1,z2). Furthermore, if S1(z)=S2(z), then V(z,z) once again reduces to the result found in [10], as expected.


## 4. Decomposition Property

The expressions we found forV1(z) and V2(z) bear a great resemblance to the results found for the single class system in f.i. Bruneel [10], be it for the last factor which incorporates the effects of SBP. If we were only interested in the pgfs of v1 and v2 and not their joint pgf, the above observation suggests a shortcut in the analysis. In this section we will demonstrate that the decomposition property introduced by Fuhrmann and Cooper [5] for a generalized vacation model in continuous time can be used to determine V1(z) (and V2(z)) in discrete time as well (see, e.g., page 91 in Takagi [3]). In essence, the decomposition property states that for a generalized vacation system, the number of customers present in the system at the beginning of a random slot is distributed as the sum of two independent random variables. The slot-bound priority rule can be seen as such a vacation system; we can consider service times of type-2 customers as vacations for type-1 customers, and vice versa. The two independent random variables then are the stationary number of type-j customers in the system at the beginning of a random slot when no customers pertaining to other types enter the system (vj* with pgf Vj*(z)) and the stationary number of type-j customers in the system at the beginning of a random slot during a vacation period (xj with pgf Xj(z)). The vacations then cover all slots during which no type-j customer is being served.For the remainder of this section we will concentrate on finding an expression forV1(z) using this method, as V2(z) is largely obtained in a similar fashion. The first of the two random variables discussed previously is the stationary number of type-1 customers at the beginning of a random slot, given that there are no arrivals of customers of other types. This drv has a known pgf (see, e.g., Bruneel [10]) and is given by
(4.1)V1*(z)=(1-ρ1)(1+zS1A1(z)-1z-S1A1(z)).Note that this expression—up to a normalization constant—equals the first factor in the right-hand side of (3.26).Since vacations cover all slots during which no type-1 customer is being served, two scenarios may occur for the second drv. A first is that the randomly chosen slot is an idle slot, in which case no type-1 customers occupy the system. The second possibility is that the server is serving a type-2 customer, in which case there are x1* (with pgf X1*(z)) type-1 customers occupying the system—that is, x1* represents the number of type-1 customers in the system at the beginning of a random slot during which a type-2 customer is being served. Summarizing, the decomposition property leads to the following result:
(4.2)V1(z)=V1*(z)X1(z),X1(z)=1-ρ1-ρ1+ρ21-ρ1X1*(z).Note that up until now no features of SBP were used, and hence the remaining unknown pgfX1*(z) will characterize SBP. Let slot I be a randomly chosen slot during which a type-2 customer is being served (hereafter called customer c). Then the number of type-1 customers at the beginning of slot I is defined as x1* (see Figure 1). Because of the SBP rule, the group being served during slot I does not contain any unserved type-1 customers, and hence x1* only contains type-1 customers of groups that have not started their service yet. Since the type-1 customers in the system at the start of slot I entered the system after the arrival of customer c, and none of those customers leaves the system before slot I (since groups are served FCFS), x1* can be written as the sum of the number of type-1 customers that arrived during consecutive slots following the arrival slot of customer c (which we know to be a set of i.i.d. drv’s). With t1 representing the time (expressed in slots) ranging from the slot following the arrival of customer c to slot I itself (excluding slot I), and T1(z) its pgf, we find that
(4.3)x1*=∑n=1t1‍a1,n⇒X1*(z)=T1A1(z).Figure 1
The type-1 customers in the system at the beginning of slotI are accumulated in the queue during the t1 time slots that it takes customer c to leave the system. Notice that t1 is stochastically not identical to the delay of a random type-2 customer.The timet1 is the sum of two drv’s, namely, the time it takes for the work pertaining to customers of both types in the system at the beginning of customer c’s arrival slot to leave the system (represented by w- with pgf W-(z)) and the interval starting from the initiation of the service of the group customer c belongs to, until the beginning of slot I (represented by r1 with pgf R1(z)) (see Figure 1). Since these drv’s are mutually independent of one another, T1(z) is the product of their pgfs (i.e., T1(z)=W-(z)R1(z)). First, thanks to the BASTA property (see f.i. Halfin [19]), w- has the same distribution as the work in the system at the beginning of a random slot minus one (because we do not count customer c’s arrival slot), unless customer c arrives in an empty system. Therefore its pgf is given by
(4.4)W-(z)≜(1-ρ)(z-1)z-A(S1(z),S2(z)).Notice thatW-(z) is independent of the type of customer c (a consequence of the BASTA property) and that we therefore neglected adding a type subscript to w- and W-(z).Secondly, obtaining the pgf ofr1 requires a renewal type argument (see f.i. Kleinrock [20]), and it can be checked that the pgf of the number of slots between the service initiation of the group customer c belongs to and slot I is given by
(4.5)R1(z)≜A(S1(z),S2(z))-A1S1(z)ρ2(z-1).FromT1(z)=W-(z)R1(z), one can find X1*(z) using (4.3), which can then be applied to obtain X1(z) using (4.2). The decomposition result (4.2) then yields expression (3.26) for V1(z) (in view of the definitions (2.2) and (2.4)).Notice thatX1*(z) is a function of A1(z) and not of z directly. This property however does not hold for X2*(z), the pgf of the stationary number of type-2 customers at the beginning of a vacation—where a vacation in this context would be a slot during which no type-2 customer is being served—when searching for V2(z). Because of the SBP rule, the group customer c (which now represents a random type-1 customer that is being served) belongs to will still have all its type-2 customers. These need to be added to the type-2 customers that entered the system during the t2 slots following customer c’s arrival. Because the former drv is not independent of the latter when correlation exists in the arrival process (i.e., when A(z1,z2)≠A1(z1)A2(z2)), X2(z)* cannot be written merely as a function of A2(z).Finally we would like to call attention to the fact that this method of analysis could also be applied if instead of two priority classes, customers pertaining to more than two priority classes entered the queue. Naturally only the marginal pgf’s could be determined. To calculate the joint pgf of these different types of customers in the queue, the previous slot-to-slot analysis would quickly get cluttered, and other methods should be employed which are not within the scope of this paper (see also De Clercq et al. [2]).In the next section, among other things that we will observe the tail probabilities will not be dependent on the dominant singularity ofV1*(z) (or V2*(z)), but solely on the dominant singularity of X1(z) and (X2(z), respectively.


## 5. Moments and Tail Probabilities

Now that we obtained the joint pgfV(z1,z2), we can derive some interesting performance measures concerning v1 and v2. First, all moments are derivable from V(z1,z2) using the moment generating property of pgf’s. As an illustration we show the first moments below. The second derivatives of the arrival process are defined as λij=E[aiaj]:
(5.1)E[v1]=Sg′′(1)λ1(1-A(0,0))2(1-ρ)+S1′(1)λ11+λ12,E[v2]=Sg′′(1)λ2(1-A(0,0))2(1-ρ)+S2′(1)λ22+λ22+λ12S1′(1).The first equation, for example, is comparable to the first moment found for the number of customers in a single-class system (e.g., whenA(z1,z2)=A(z1,1)), although the concept of group service times comes across somewhat strange in this setting. Also, the third term in the second equation reflects the effect of SBP on the low-priority customers.Furthermore, we derive the tail probabilities ofv1, v2, and even v1+v2 using the dominant pole approximation technique (see f.i. Van Mieghem [21]). Therefore, suppose that the dominant singularities of A(z1,z2), S1(z), and S2(z) are all poles (in contrast to branch points). Then from Vivanti’s theorem ([22] page 1254) we know they are real and positive. Furthermore, because pgfs are always analytic inside and well defined on the unit disk, these singularities must have a modulus larger than 1. Since V(z1,z2) is a rational function of A(z1,z2) and both Sj(z), its dominant singularities zv1, zv2, and zvT (singularities of V(z,1), V(1,z), and V(z,z), resp.) are poles as well. Hence, for high enough k we can very accurately approximate, for example, Pr[v1=k] calculating only zv1 and its residue as shown in [21]. We start by determining zv1, dominant pole of V1(z).Clearly,zv1 will either be the dominant pole of B(z,1), S1A(z,1), B(S1A(z,1),1), or SgA(z,1)≡B(S1A(z,1),S2A(z,1)) or be a zero of z-S1A(z), or B(z,1)-SgA(z,1) with modulus larger than 1—whichever has lowest modulus.LetRAj be the radius of convergence of SjA(z,1), and RA≜min(RA1,RA2). Since SjA(z,1)>A(z,1)>z for z∈]1,RA[, one can easily deduce that, of the functions B(z,1), SjA(z,1), B(S1A(z,1),1), and SgA(z,1), SgA(z,1) is the one with the smallest radius of convergence, which will be represented by RB. In particular, if we denote by Ra1 the radius of convergence of A(z,1) (and of B(z,1)), the inequality RB≤Ra1 must hold.As for the zeros of the denominators in (3.26), note that all zeros of z-S1A(z) are zeros of B(z,1)-B(S1A(z,1),1) in the numerator as well. Hence we only focus on the zeros of B(z,1)-SgA(z,1). As a result of RB≤Ra1 and the equilibrium condition we find that this last denominator has exactly one zero in the region ]1,RB[ as shown in [23]. Therefore this zero is our dominant pole zv1 we have been searching. Calculating zv1 comes down to finding a solution to the equation y0=A(S1(y0),S2(y0))—other than y0=1—and solving y0=A(zv1,1).The dominant pole approximation then becomes(5.2)Pr[v1=n]≈-θ1zv1-n-1,
where θ1 is the residue of V1(z) at z=zv1 (=limz→zv1(z-zv1)V1(z)).Analogous to the previous result we can derive thatzv2 is the zero of B(1,z)-SgA(1,z), and this zero can be calculated from y0=A(1,zv2). Finally zvT is found in a similar way as it satisfies y0=A(zvT,zvT).When one or more of the dominant singularities in eitherA(z1,z2), S1(z), or S2(z) is a branch point, we face a different story. It is no longer certain that B(z,1)-SgA(z,1) has a zero in ]1,RC[ in the case that the smallest singularity of SgA(z,1) is a branch point. We can use the following criterium (see f.i. Steyaert [23]) to determine whether there is a zero, which can be used in the dominant pole approximation discussed previously:
(5.3)limz→RC-SgA(z,1)B(z,1)>1.If the above is true, then the dominant pole approximation holds. Otherwise no zero is found in the interval]1,RC[ and hence the dominant singularity is a branch point at RC, which calls for a case-by-case analysis of the tail behaviour and falls outside the scope of the current paper.


## 6. Numerical Examples

There are a lot of different parameters incorporated in this model. To get some insight on howv1 and v2 will react for various arrival and service-time distributions, we propose an example with a limited number of parameters that appeal to our intuition. We therefore consider
(6.1)A(z1,z2)=eα(pz1+qz2+rz1z2-1),Sj(z)=zz-E[sj](z-1).We choose service times with a geometric distribution and a Poisson arrival process (parameterα), in which each arrival instance generates a type-1 customer with probability p, a type-2 customer with probability q, and customers of both types with probability r. Needless to say p+q+r=1. A useful comparison of our proposed priority rule will include that of total priority or HoL priority (e.g., studied in Walraevens et al. [11]).In a first graph we choosep=q=0 (and consequently r=1), and E[s1]=E[s2]=2. This concretely means that both customer types are indifferentiable concerning their respective service times and always enter the system in pairs. We increase the workload ρ by increasing α and observe its effect on the average buffer content E[v1] and E[v2]. The resulting graphs can be found in Figure 2 together with those for nonpreemptive HoL priority (abbreviated E[v1,HoL] and E[v2,HoL]).Figure 2
E
[
v
j
] and E[vj,HoL] versus ρ with r=1, E[sj]=2 and α variable.Even though we have chosen a symmetric arrival process (i.e.,A(z1,z2)=A(z2,z1)) there seems to be a difference between E[v1] and E[v2], one that can only be attributed to the presence of priority. By comparing with HoL priority we observe that for low loads, E[vj]≈E[vj,HoL], while for high loads the difference E[v2]-E[v1] becomes almost negligible compared to their respective absolute values. The former is a consequence of the fact that for low loads the queue content is largely dominated by the active group’s content, since hardly any additional groups get queued up. The latter we can clarify by pointing out that the probability that the server is busy when a random group arrives is ρ. The higher ρ, the more queueing of different groups occurs, and thus the queue content will be dominated by the content of the successive groups that are queued. In case each group counts on average the same amount of type-1 customers as type-2 ones, (due to λ1=λ2) the difference E[v2]-E[v1] will be solely the result of the active group’s content—which is actually not the same as a random group’s content. Lastly, and not surprisingly ρ=1 is an asymptote, in which case the queue content will evolve to infinity in steady state.Next, we examine what happens to the average type-1 and type-2 population for a fixed load ρ, when we increase ρ1 (and hence decrease ρ2 because ρ1+ρ2=ρ). We can do this in two ways: by varying the class-specific arrival rates (i.e., by adjusting p and q) or by varying E[s1] and E[s2]. The parameters used to plot the graphs in Figure 3 are displayed in its caption. Even though the graphs are very different from one another, we point out that in both graphs, when ρ1=ρ2, E[v1]<E[v2] because of the SBP priority, more so even for absolute priority. In the first graph we vary the arrival rates, and as the customer composition rises in favor of type-1 customers, we observe that E[v1]>E[v2] for values of ρ1 for which still E[v1,HoL]<E[v2,HoL]. This is an illustration of the more moderate form of priority assignment by SBP. In the second figure in Figure 3(b), the class specific arrival rates are kept constant and equal to one another. The graph plots the average type-1 and type-2 customers versus ρ1/ρ, by increasing the type-1 service times (and reducing type-2 service times). As E[s1] increases, the average type-2 customer population increases as well for HoL priority, even though their service time decreases. This is caused by type-1 service times. As such SBP is clearly the better option: type-2 customers do get served before some type-1 customers.(a)E[vj] and E[vj,HoL] versus ρ1/ρ with r=0, E[sj]=1 and ρ=α=2/3, p and q being variable. (b) E[vj] and E[vj,HoL] versus ρ1/ρ with p=q=0.5, E[s1]+E[s2]=10 and ρ=5α=2/3, both E[sj] being variable (E[sj]≥1).
(a)
(b)Lastly Figure4 shows an approximation of Pr[vj=n] on a logarithmic scale together with some dots representing simulation results. Approximations that were found for Pr[vj,HoL] in Walraevens et al. [24] were used to compare against HoL priority. The number of type-1 and type-2 customers entering the system during the same slot is slightly correlated, and twice as many type-2 customers enter the system as type-1 customers on average. The exact parameters can be found in the figures caption. Clearly, the dominant-pole approximation described in Section 4 constitutes an efficient and accurate method to calculate the queue content distribution of both types of customers.Figure 4
Dominant pole approximation of the probability distribution of bothvj and vj,HoL on a logarithmic scale with p=0.2, q=0.6 and r=0.2 so that twice as many type-2 customers enter the system as type-1 customers. E[sj]=2 and ρ=9/10.


## 7. Conclusion

In a dual-class queueing system in discrete time under stochastic equilibrium, we derived expressions for the joint pgf of the number of type-1 and type-2 customers in the queue when the SBP rule is used as a server discipline. We obtained this after a slot-to-slot analysis using a carefully chosen Markov chain. More concretely we introduced the notion of a “group” of customers, which could be looked upon as classless entities entering and leaving our system, on basis of which we could more easily carry out the analysis. The first moments and tail probabilities were explicitly calculated as well. Moreover, some examples made the effect of SBP clear, comparing it to HoL priority, in which the most important result stated that SBP behaves as FCFS (no difference between the ways customers of different classes are treated) for high workloads while it behaves more as HoL priority for lower loads. Also, our results show that a dominant pole approximation for calculating the queue content distribution of both types of customers is both efficient and accurate.



---

*Source: 425630-2012-10-21.xml*