certain static and dynamic priority policies in queueing systems · 2012-11-01 · abstract certain...

53
Certain Static and Dynamic Priority Policies in Queueing Systems by Vahid Sarhangian A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate Department of Mechanical and Industrial Engineering University of Toronto Copyright c 2011 by Vahid Sarhangian

Upload: others

Post on 09-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Certain Static and Dynamic Priority Policies in QueueingSystems

by

Vahid Sarhangian

A thesis submitted in conformity with the requirementsfor the degree of Master of Applied Science

Graduate Department of Mechanical and Industrial EngineeringUniversity of Toronto

Copyright c© 2011 by Vahid Sarhangian

Page 2: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Abstract

Certain Static and Dynamic Priority Policies in Queueing Systems

Vahid Sarhangian

Master of Applied Science

Graduate Department of Mechanical and Industrial Engineering

University of Toronto

2011

In this thesis, we first study delay systems with different classes of impatient customers.

We analyze the M/GI/1 + M queue serving two priority classes under the static non-

preemptive priority discipline. We also study the multi-server priority queue considering

two cases depending on the time-to-abandon distribution being exponentially distributed

or deterministic. In all models, we obtain the Laplace transforms of the virtual waiting

time for each class by exploiting the level-crossing method. This enables us to obtain the

steady-state system performance measures. In the second part, we consider the steady-

state waiting time distributions of a two class M/GI/1 queue operating under a dynamic

priority discipline. We find an accurate approximation for the steady-state waiting time

distribution of the low-priority customers which allows us to study how they are penalized

as the priority parameter increases. We also obtain bounds for the variance of the waiting

time of high-priority customers.

ii

Page 3: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Dedication

To my parents

Acknowledgements

I am sincerely grateful to my supervisor Prof. Barıs Balcıoglu for his support, encour-

agement and confidence in me throughout the research. I would also like to thank the

committee members Prof. Timothy Chan and Prof. Daniel Frances for their comments

and suggestions. Finally, I am grateful to my colleagues and friends Hossein Abouee-

Mehrizi, Michael Jong Kim, Jonathan Lesage, and Pedram Sahba, for the invaluable

discussions I had with them.

iii

Page 4: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Contents

1 Introduction 1

2 Multi-Class Queues with Impatient Customers 8

2.1 The Single Server Priority Queue with Impatient Customers . . . . . . . 9

2.2 The Multi-Server Priority Queue with Impatient Customers . . . . . . . 17

2.2.1 The Two-Priority Class M/M/c+M Queue . . . . . . . . . . . . 17

2.2.2 The Two-Priority Class M/M/c+D Queue . . . . . . . . . . . . 21

2.3 FCFS Queues with Impatient Customers . . . . . . . . . . . . . . . . . . 26

3 Queues with Dynamic Priority Discipline 28

3.1 Approximate Waiting Time Distributions . . . . . . . . . . . . . . . . . . 29

3.1.1 Low-Priority Customers . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.2 High-Priority Customers . . . . . . . . . . . . . . . . . . . . . . . 32

3.2 Numerical Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Conclusion 41

Bibliography 43

iv

Page 5: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

List of Tables

3.1 Comparing simulated and approximated tail probabilities for low-priority

customers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Expected value and variance of waiting time for different values of u . . . 37

v

Page 6: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

List of Figures

3.1 Waiting time distribution of low-priority customers for different values of u 39

3.2 Waiting time distribution of high-priority customers for different values of u 40

vi

Page 7: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1

Introduction

Motivated by customer contact centers, health-care systems, and telecommunication net-

works, in this thesis, we study multiclass queueing systems with certain static and dy-

namic priority policies.

In the first part of thesis, we analyze multi-class queueing systems with impatient

customers. We focus on the non-preemptive priority policy while serving two classes of

customers, and also provide some results for the first-come-first-served (FCFS) policy in

multi-class systems. Under both policies, once the service for a customer starts, it cannot

be preempted in favor of another customer. This appears to be a valid assumption for

modeling customer contact centers, where service refers to customers and agents talking

on the phone, or health-care systems, where service could be a surgical operation, or

telecommunication networks, where service is receiving data or voice packets. In customer

contact centers, the Automatic Call Distributor (ACD) can classify callers based on the

type of service requested or information provided by the caller revealing if s/he can be

considered a premier class customer. If callers, grouped in different classes by the ACD,

wait on the line for too long before an agent handles their call, they can hang up and

be lost to the system. In health-care systems, the type of health service requested or

the severity of the condition of the patient can be used for classification and scheduling

1

Page 8: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 2

resources, yet, patients might either die or choose to go to another health-care facility

if they cannot start with medical treatment in a reasonable time. In telecommunication

networks, there can be hard deadlines to receive data beyond which the data becomes

useless.

In the queueing literature, there is an extensive body of research on single or multi-

server systems serving a single class of impatient customers, e.g., [3, 4, 22, 35, 41, 43, 45].

In FCFS multi-class systems with c identical parallel servers, if the exponential service

time distribution is the same for all k classes of customers that arrive according to

independent Poisson processes, an appropriately constructed single class M/M/c + Hk

model (see Baccelli and Hebuterne, 1981 [3]) can be used if customers in each class have

exponential reneging times. HereHk denotes a k-stage Hyperexponential random variable

(r.v.) representing the time-to-abandon r.v. of the constructed single class of customers

(see the end of Section 2.3). However, incorporating non-exponential distributions for

interarrival, service time and time-to-abandon r.v.s, or considering priority disciplines,

especially in systems serving more than two classes of customers, make it difficult to

construct tractable and exact analytical models; instead, one has to resort to simulation

studies, e.g., [2]. When there are two classes of customers to consider, we can find some

earlier analytical models. Choi, Kim, and Chung (2001) [13] study the M/M/1 queue

where high-priority customers have deterministic impatience time and have preemptive

priority over patient low-priority customers. Analyzing the underlying Markov process,

they provide the joint distribution of the system size, and the Laplace transform (LT)

of the response time of low-priority customers. Brandt and Brandt (2004) [8] study

the M/M/1 system where high-priority customers, for whom general time-to-abandon

distribution is assumed, are served under the preemptive-resume priority policy alongside

patient low-priority customers. They derive the probability generating function of the

joint queue size distribution and the LT of the waiting time of low-priority customers.

Iravani and Balcıoglu (2008b) [23] study two problems in the M/GI/1 setting. In the

Page 9: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 3

first problem which considers the preemptive-resume priority discipline, both classes have

exponentially distributed times-to-abandon. In the second problem, the non-preemptive

priority is worked on, yet, the low-priority class is assumed to be patient. For both

problems, they provide the LT of the virtual waiting time for both classes. The non-

preemptive priority policy for impatient high-priority customers in multi-server queues

has been studied by Brandt and Brandt (1999) [7], also by assuming patient low-priority

customers. In this model, reneging high-priority customers, whose wait time is below

a threshold value, become low-priority customers. They provide the exact waiting time

and queue length distributions for high-priority customers as well as approximations for

the factorial moments of the number of low-priority customers.

It appears that when non-preemptive priority discipline is taken into consideration,

in previous research, impatience behavior is assumed only for high-priority customers.

There are few exceptions to this, all in Markovian settings. Jouaini and Dallery (2007)

[29] analyze a multi-server Markovian system with two classes, yet they assume identically

distributed times-to-abandon (as well as identical service time distributions) for both

classes. They study the corresponding birth-and-death process and derive the steady-

state probabilities of the number of total customers, and high-priority customers in the

system. Wang (2004) [44] studies the non-preemptive priority M/M/1 queueing system

where both classes have identically distributed service requirements, and exponential

times-to-abandon with possibly different rates. He analyzes the two-dimensional Markov

chain and provides approximations for the performance measures of the system. Stolletz

and Helber (2004) [42] also construct a Markov chain in modeling a call center with skill-

based routing, where a group of flexible servers -in addition to specialized server groups

for each class- attends to two impatient classes of customers under the non-preemptive

rule.

Even though in some cases prioritization of a specific class of customers can be due

to their impatience, in many other settings, such as customer contact centers and health-

Page 10: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 4

care systems, different classes of customers can be impatient with different levels of

tolerance for waiting in the queue. For instance, patients waiting for special medical

treatments are usually categorized into priority groups according to their conditions so

that, patients with higher risk of death (i.e., the most impatient customers), receive

service first as the highest priority customers. In some other context, prioritization can

be even irrelevant of the patience limit of customers. For example, many call centers give

exclusive priority to their more valuable customers who are on a contract (e.g., [34, 40]),

or are known, according to historical data, to be more profitable. Therefore, there is a

need to incorporate impatience for low-priority customers in settings operating under the

non-preemptive priority policy.

In this thesis, we first analyze the two-class non-preemptive priority M/GI/1 + M

queue in Section 2.1. We allow general and different service time distributions for each

class as well as different reneging rates. Then, we extend the problem in Section 2.2

to two-class multi-server queues. We assume identical exponential service time distribu-

tions for both classes yet retain different exponential rates in Section 2.2.1, and different

deterministic patience limits in Section 2.2.2. Same service time distribution is a reason-

able assumption, as exemplified by Milner and Olsen (2008) [34], in call centers where

the service is the same for all classes but prioritization differentiates contract customers

from those without a contract. In Section 2.2.1, we also visit the case with patient

high-priority customers and low-priority customers that can abandon the system if their

patience expires. Examples for this case are service firms that offer a guarantee to their

special or VIP customers on the service delivery time [20, 40]; if this guarantee is not met,

high-priority customers are not charged, which can lead high-priority customers to wait

patiently. The non-VIP customers, who have to pay for service no matter how long they

wait, can be deterred if they wait for too long and can renege from the system. Finally, in

Section 2.3, we consider the FCFS policy when serving k classes of customers. Under the

FCFS policy, we model the M/GI/1 queue with class specific service time distributions,

Page 11: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 5

yet, for tractability, we have to assume that the reneging rates are the same across all

customer classes. In the extension to the multi-server case, we resort to identical service

time distributions for each class.

In all these models, we obtain the LT of the virtual waiting time for all classes by

employing the level-crossing technique due to to Brill (1975, 1977) [9, 11] (see also Brill,

2008, [12]). This enables us to write down the integral equations for the density functions

of the virtual waiting time for classes. Eventually, we obtain their LT’s. Using these

virtual waiting time LT’s, we are able to obtain the steady-state performance measures

of the queueing systems analyzed, such as the waiting time distributions with their mean

values, and proportion of reneging customers for each class.

In the second part of the thesis, we study a two class queueing system operating under

a non-preemptive dynamic priority discipline. Each class has a pre-assigned urgency

index denoted by ui (i = 1, 2). A class i customer arriving at time t receives the priority

number t+ui. At each service completion epoch, the server chooses the customer with the

lowest priority index amongst all the customers in the system. Let u = u2−u1 (u2 ≥ u1).

When u = 0, customers are served in the order of their arrival so the priority rule

reduces to an FCFS discipline. When u =∞, customers of class 1 always receive priority

and the priority rule which is referred to as the “head-of-the-line rule” becomes static.

Altering the parameter u in the interval (0,∞), therefore, different levels of priority can

be assigned to class 1 customers, which we refer to as the high-priority customers along

with the class 2 customers which we refer to as the low-priority customers. An alternative

way of applying this priority rule, which is of more significance in real world applications,

is to assign customers of each class to a separate queue and track the waiting time of the

customers at the head of each queue. In this case, when the server completes a service

at time t, it chooses the next customer to serve from the class with the highest value of

WHi (t)− ui, where WH

i (t) is the waiting time of the customer at the head of queue i at

time t (see Koole, Nielsen, and Nielsen, 2009 [31]). Allocating priorities in this way is

Page 12: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 6

very common in call-centers and healthcare systems [31], where often different levels of

service must be provided for different types of customers.

Despite its wide application in industry, however, the literature on dynamic prioriti-

zation is quite limited. Such a priority rule was introduced by Jackson (1960) [24] who

analyzed a discrete-time queue with Bernoulli input and geometric service times. The

continuous version of the problem was later studied in Holtzman (1971) [21] in which

bounds on the mean waiting times were obtained. Goldberg (1977) [18] characterized

the transient and the steady-state distribution of the waiting times in a general setting

and derived an expression for the mean steady-state waiting times of each class assum-

ing Poisson arrivals. Goldberg (1980) [19] provided a proof for Jackson’s conjecture [25]

on the optimality of this type of scheduling in minimizing maximum lateness of jobs in

queueing systems. Prabhu and Resser (1985) [37] analyzed the priority rule when u is an

exponential random variable. They also refer to an unpublished work [26] in which the

transform of the steady-state waiting time of low-priority customers is obtained. Koole,

Nielsen and Nielsen (2009) [31] recently revisited the problem and provided an approxi-

mation for the waiting time distributions in a Markovian system. Their approach is based

on discretizing the waiting time of the customers at the head of the line and reducing

the problem to finding the steady-state solution of a two dimensional continuous time

Markov chain with infinite state space. Aside from the last two papers mentioned, there

are no other results in the literature for the distribution of the waiting times under this

dynamic priority discipline. The importance of waiting-time distributions or tail prob-

abilities is however evident in many service systems such as contact centers where the

service levels are defined as the proportion of customers served under a certain amount

of time.

We consider the steady-state waiting time distributions of a two class M/GI/1 queue

operating under the dynamic priority discipline. We find an accurate approximation for

the steady-state waiting time distribution of the low-priority customers (class 2) which

Page 13: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 1. Introduction 7

allows us to study how they are penalized as the priority parameter u increases. We

also extend Goldberg’s results to obtain bounds for the variance of the waiting time of

class 1 customers. Our results can also be applied to multi-server queueing systems with

identical exponential servers.

The rest of the thesis is organized as follows. Chapter 2 deals with the waiting time

analysis of multi-class queues with impatient customers. In Section 2.1, we analyze the

M/GI/1 + M queue serving two classes of customers according to the non-preemptive

priority rule. In Section 2.2, the analyses of the M/M/c + M and M/M/c + D queues

operating under the non-preemptive priority policy are presented. In Section 2.3, we

consider the FCFS policy in single and multi-server queues. In Chapter 3, we study

the waiting time distributions in a dynamic priority queue. In Section 3.1, the model

is formally described and the approximation formulas are presented for class 1 and 2

customers. Numerical experiments are presented in Section 3.2 to test the performance

of the approximation and to study the waiting time distribution of each class. Finally,

conclusions are presented in Chapter 4.

Page 14: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2

Multi-Class Queues with Impatient

Customers

In this chapter, we first analyze a single server queueing system serving two priority-

classes of customers in Section 2.1. The priority discipline is non-preemptive in nature.

Our contribution is to allow impatience for both classes of customers while assuming class-

specific general service times. In Section 2.2, we attempt to generalize the same priority

service discipline to multi-server settings. This is achieved by assuming exponential

service times and considering the service rate to be the same for both classes. However,

we are able to incorporate class-specific time-to-abandon distributions. In Section 2.2.1,

we study the case with exponential time-to-abandon distribution, and in Section 2.2.2,

we analyze the time-out problem where customers have constant patience limits. The last

model we present in Section 2.3 is the FCFS queueing system with k classes of customers.

We examine both the single and multiple server cases by assuming the same exponential

reneging distribution for all classes.

8

Page 15: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 9

2.1 The Single Server Priority Queue with Impatient

Customers

In this section, we model a queueing system in which a single server attends to two classes

of impatient customers under the non-preemptive priority rule. High-priority (class 1)

customers have to wait for the completion of the service time of the low-priority (class 2)

customer they might see under service upon their arrival at the system. Upon completion

of a service, only if there are no high-priority customers in the system, the next customer

to serve is the first low-priority customer in line (provided that there are any low-priority

customers waiting). For both classes, we assume that once their service starts, they are

patient until their service is over. That is, reneging behavior is observed only among

customers during their waiting time in the queue.

In this setting, class i customers arrive at the queueing system according to an in-

dependent Poisson process with rate λi, i = 1, 2. The independent and identically dis-

tributed (i.i.d.) service-time r.v. for class i is denoted by Bi, and it follows a general

distribution function Bi(x) (with Bi(x) = 1−Bi(x) denoting the complementary service

time distribution) with mean 1/µi. Furthermore, the Laplace-Stieltjes transform (LST)

of the service-time distribution function is denoted by bi(s). We assume that the time-to-

abandon distribution for class i customers is exponential with rate ωi. The service-time

distributions and reneging rates of each class could be different from one another. Ad-

ditionally, service-time and time-to-abandon r.v.s are independent of each other and the

Poisson arrival processes.

Let Vi(t) denote the virtual waiting time of a class i customer at time t (the time

this customer would have to wait if its patience were infinite) with fi(x) as its density

function. A class i customer with patience R arriving at the system at time t must wait

for the min{Vi(t), R}, at the end of which it either reaches the server and its service

commences if Vi(t−) ≤ R, or abandons the queue otherwise, with its patience expired.

Page 16: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 10

We eventually obtain their LT’s from which the waiting time distribution for each class

can be obtained. To do this, we employ the level-crossing theorem due to Brill (1975,

1977) [9, 11], Brill and Posner (1977) [10], Cohen (1977) [14], Cohen and Rubinovitch

(1977) [15], and Shanthikumar (1981) [39]. This method briefly asserts that for every

level x > 0 of the virtual waiting time, the rate of downcrossing level x is equal to the

rate of upcrossing level x.

We first carry out the analysis for high-priority customers. According to the level-

crossing theorem, the density function of the virtual waiting time for a class 1 customer

is given by

f1(x) = λ1B1(x)P0 + λ2B2(x)P0 + λ1

∫ x

0

B1(x− y)e−ω1yf1(y)dy

+λ2B2(x)

∫ ∞0

e−ω2yf2(y)dy, x > 0, (2.1)

where P0 is the steady-state probability of finding the system empty, and satisfies the

normalizing equation

P0 +

∫ ∞0

f1(x)dx = 1.

In Eq. (2.1), f1(x) on the left hand side (LHS) is the rate of downcrossing level x > 0 on

the virtual waiting time sample path of high-priority customers. The rate of upcrossing

level x > 0, as given on the right hand side (RHS), has four parts: The first two terms

are the upcrossing rates of x due to high- and low-priority customers arriving at an

empty system. The term λ1∫ x0B1(x − y)e−ω1yf1(y)dy is the upcrossing rate caused by

high-priority customers that must wait a positive time 0 < y < x. That is, a “tagged”

high-priority customer arriving at a busy system can cause an upcrossing if its patience

is more than the amount of virtual waiting time y, and its service requirement is in

excess of x− y. The last term on the RHS is the upcrossing rate caused by low-priority

customers arriving at a busy system. These customers do not contribute to the virtual

waiting time of high-priority customers until it is their turn to seize the server, i.e., when

the virtual waiting time of class 1 customers hits level 0. Since the queue is stable due

Page 17: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 11

to reneging, all these customers reach the server in a finite amount of time if they do

not abandon the queue. Therefore, a tagged low-priority customer that must wait for a

positive time y > 0 causes an upcrossing, if it is patient enough to survive this wait (with

probability∫∞0e−ω2yf2(y)dy) and if its service requirement exceeds x. Note that the

virtual waiting time of class 2 with density function f2(x) comprises the amount of work

due to patient high- and low-priority customers that the tagged low-priority customer

finds in the system upon its arrival, plus, the additional work that patient high-priority

customers bring in during the queue time of the tagged low-priority customer.

To obtain the density function f2(x), we need the distribution of the busy period

generated by both high- and low-priority customers. A busy period generated by k high-

priority customers in the queue, with a distribution (density) function of Lk(x) (lk(x)), is

defined as the duration of the period that elapses between the beginning of the service of

the first high-priority customer among k+1 high-priority customers present in the system

(k remaining in the queue) and the instant at which the system is cleared of all high-

priority customers. According to this definition, for instance, the busy period generated

by a high-priority customer arriving at an idle system has a distribution function of

L0(x), because the number of high-priority customers in the queue is 0. We resort to

the result provided by Rao (1967) [38] who studies an M/GI/1 +M queue with a single

class of impatient customers. Observing that the busy-period initiated by k high-priority

customers in the queue in our problem is equivalent to that of the k impatient customers

in queue in Rao’s M/GI/1 +M system with λ1 and ω1 as the arrival and reneging rates,

respectively, and B1 as the service time r.v., the LT lk(s) of lk(x) is

l0(s) =b1(s) +

∑∞r=1

νr

r!ψ(r − 1, s)b1(s+ rω1)

1 +∑∞

r=1νr

r!ψ(r − 1, s)

, (2.2)

lk(s) =b1(s) +

∑∞r=1(−1)rψ(r − 1, s)b1(s+ rω1)θ(k, r)

1 +∑∞

r=1νr

r!ψ(r − 1, s)

, k > 0 (2.3)

where ν = λ1/ω1,

Page 18: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 12

θ(k, r) =

∑r

j=0(−1)jνj

j!

(kr−j), r ≤ k,∑r

j=r−k(−1)jνj

j!

(kr−j), r > k,

and

ψ(r, s) =r∏j=0

[1− b1(s+ jω1)].

The busy period initiated by a low-priority customer arriving at an empty system

is its service time (B2) plus the busy-period generated by high-priority customers that

may be present in the system at the completion B2. We denote the r.v. of the busy

period initiated by such a low-priority customer by H, its distribution function, density

function, and LT by H(x), h(x), and h(s), respectively. Then, we have H = B2 + L,

where L is the busy period generated by high-priority customers who arrive during B2

and do not renege until B2 is over. The LT of H is given by Iravani and Balcıoglu (2008b)

[23] as

h(s) =∞∑j=0

lj−1(s)

∫ ∞0

e−sx(ν(1− e−ω1x))

j

j!e−ν(1−e

−ω1x)b2(x)dx, (2.4)

where l−1(s) = 1 and lj−1(s) for j ≥ 1 are given in Eqs. (2.2) and (2.3).

Employing the level-crossing theorem again, the density function of the virtual waiting

time for a low-priority customer is given by

f2(x) = λ1L0(x)P0 + λ2H(x)P0 + λ2

∫ x

0

H(x− y)e−ω2yf2(y)dy, x > 0, (2.5)

which satisfies the normalizing equation

P0 +

∫ ∞0

f2(x)dx = 1.

In Eq. (2.5), f2(x) on the LHS is the rate of downcrossing level x > 0 on the virtual

waiting time sample path of low-priority customers. The rate of upcrossing level x > 0,

as given on the RHS, has three parts: The terms λ1L0(x)P0 and λ2H(x)P0 give the

upcrossing rates of x due to high- and low-priority customers arriving at an empty system,

Page 19: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 13

respectively. Such customers increase the virtual waiting time for low-priority customers

by the busy period they generate. The last term is the upcrossing rate due to low-priority

customers that must wait a positive time 0 < y < x. Such customers also increase the

virtual waiting time by a busy period if they can survive the offered waiting time y. Thus,

the rate of such upcrossings is λ2∫ x0H(x − y)e−ω2yf2(y)dy. Note that the contribution

of high-priority customers arriving at a busy system in the virtual waiting time of low-

priority customers is already included in these three components presented on the LHS

of Eq. (2.5).

When we take the LT of the workload density function of each class in Eqs. (2.1) and

(2.5), we have

f1(s+ ω1)−f1(s)

λ1β1(s)= −P0 −

λ2β2(s)

λ1β1(s)(P0 + f2(ω2)), (2.6)

f2(s+ ω2)−f2(s)

λ2κ(s)= −

(λ1g0(s)

λ2κ(s)+ 1

)P0, (2.7)

where βi(s) is the LT of the complementary service time distribution for class i, κ(s) is

the LT of H(x), and g0(s) is that of the L0(x). Since f2(ω2) appears on the RHS of Eq.

(2.6), we first look into Eq. (2.7), which is an inhomogeneous difference equation of the

form

u(x+ ω)− a(x)u(x) = b(x), ω > 0,

studied in e.g., Jagerman (2000)[28] (p. 115). If the limit

lim supj→∞

∣∣∣∣b(x+ jω + ω)

b(x+ jω)

1

a(x+ jω + ω)

∣∣∣∣ < 1, (2.8)

holds uniformly in x, then the general solution is given by (Jagerman (2000)[28] (p. 116))

u(x) = cv(x)−∞∑j=0

b(x+ jω)

a(x)a(x+ ω)...a(x+ jω), (2.9)

where c is a constant and v(x) is the solution of the corresponding homogeneous equation

v(x+ ω)− a(x)u(x) = 0.

One can easily check that (2.8) holds for Eqs. (2.6) and (2.7). Also applying the

boundary conditions f1(∞) = 0, f2(∞) = 0, for both equations the constant c = 0, and

Page 20: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 14

hence the unique solution of Eqs. (2.6) and (2.7) has the form

u(x) = −∞∑j=0

b(x+ jω)

a(x)a(x+ ω)...a(x+ jω), (2.10)

with the series being uniformly convergent since the limit in Eq.(2.8) holds uniformly in

x (Jagerman (2000)[28] (p. 115)).

Using Eq. (2.10), we have

f2(s) = P0

∞∑j=0

(1 +

λ1g0(s+ jω2)

λ2κ(s+ jω2)

) j∏m=0

λ2κ(s+mω2). (2.11)

Eq. (2.11) helps to find P0, the probability of having an idle system: by letting s→ 0 in

both sides of Eq. (2.11), and noting that f2(0) = 1− P0, we get

P0 =

(∞∑j=0

(1 +

λ1g0(jω2)

λ2κ(jω2)

) j∏m=0

λ2κ(mω2)

)−1.

In order to obtain f2(ω2), which appears on the RHS of Eq. (2.6), we need the expected

length of busy periods E[L0] and E[H] initiated by high- and low-priority customers,

respectively, which can be computed via Eqs. (2.2) and (2.4). Letting s→ 0 in Eq. (2.7)

gives

f2(ω2) =(1− P0)− (λ1E[L0] + λ2E[H])P0

λ2E[H].

Observing that Eq. (2.6) has the same solution form given in Eq. (2.10), we obtain

f1(s) =∞∑j=0

(P0 +

λ2β2(s+ jω1)

λ1β1(s+ jω1)

(P0 + f2(ω2)

)) j∏m=0

λ1β1(s+mω1). (2.12)

Given fi(s) in Eqs. (2.11) and (2.12), by numerically inverting fi(s)/s using tech-

niques such as the ones due to Abate and Whitt (1995) [1] and Jagerman (1982) [27], one

can obtain Fi(x), i.e., the steady-state probability that the virtual waiting time for class

i is less than x. Let Wi,S, Wi,R and Wi,T be the r.v.s corresponding to the waiting time

distributions of successfully served, reneging and all (total) customers in class i = 1, 2,

respectively. First,

Wi,S(x) = P{Wi,S < x} =P0 +

∫ x0e−ωitfi(t)dt

Pi,S, (2.13)

Page 21: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 15

where Pi,S is the probability that a class i customer is served. Here,∫ x0e−ωitfi(t)dt can

be computed by numerically inverting its LT, fi(ωi + s)/s. Then, following the formulae

provided by Stanford (1979) [41], we can find the following steady-state performance

measures:

Wi,T (x) = P{Wi,T < x} = 1− e−ωix + e−ωixFi(x), (2.14)

and from

Wi,T (x) = (1− Pi,A)Wi,S(x) + Pi,AWi,R(x), (2.15)

one can obtain the CDF of reneging customers, Wi,R(x) = P{Wi,R < x}, in class i,

i = 1, 2. In Eq. (2.15), Pi,A = 1 − Pi,S, is the steady-state probability that a type i

customer reneges before being served and can be found from

1− Pi,A = Pi,S = P0 +

∫ ∞0

e−ωiyfi(y)dy = P0 + fi(ωi). (2.16)

The mean waiting time of class i customers that are served, E[Wi,S], can be found as,

E[Wi,S] =

∫∞0xfi(x)e−ωixdx

Pi,S. (2.17)

The mean waiting time of all class i customers, denoted by E[Wi,T ], can be calculated

more easily. Because, with W i,T (x) = 1−Wi,T (x) and F i(x) = 1− Fi(x),

E[Wi,T ] =

∫ ∞0

W i,T (x)dx =

∫ ∞0

e−ωixF i(x)dx,

which is the LT of F i(x) (expressed in terms of ωi). Thus,

E[Wi,T ] =1− fi(ωi)− P0

ωi=Pi,Aωi

, (2.18)

where the equality of the nominators of the fractions on the RHS is due to Eq. (2.16).

Finally, with E[Wi,T ] and E[Wi,S], using Eq. (2.15), we can find the mean waiting time

of reneging class i customers, E[Wi,R], from

E[Wi,T ] = (1− Pi,A)E[Wi,S] + Pi,AE[Wi,R]. (2.19)

Page 22: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 16

We close this section by demonstrating a nice relationship between P0 and Pi,S. If we

integrate both sides of Eq. (2.1) on (0,∞), we have

1− P0 = ρ1P0 + ρ2P0 + ρ1

∫ ∞0

e−ω1yf1(y)dy + ρ2

∫ ∞0

e−ω2yf2(y)dy,

P0 = 1− ρ1(P0 +

∫ ∞0

e−ω1yf1(y)dy

)− ρ2

(P0 +

∫ ∞0

e−ω2yf2(y)dy

),

= 1− ρ1P1,S − ρ2P2,S,

where ρ1 = λ1/µ1 and ρ2 = λ2/µ2. This expression for P0 is similar to P0 = 1−ρ1−ρ2, the

probability of finding an idle server in a two-class M/GI/1 queue with patient customers

where all customers are served (P1,S = P2,S = 1) provided that ρ1 + ρ2 < 1.

Page 23: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 17

2.2 The Multi-Server Priority Queue with Impatient

Customers

In this section, we extend the model studied in Section 2.1 by assuming c identical and

parallel servers. When service times are non-Exponential r.v.s, an exact analysis of the

M/GI/c queue even with a single class of patient customers is not possible. Thus, we

consider only exponential service times. Furthermore, we assume that the service time

distribution with rate µ is the same for both classes. As in Section 2.1, high-priority (class

1) and low-priority (class 2) customers arrive in accordance with independent Poisson

processes with rate λi, and renege from the system if they are not served before their

patience expires. The service of a low-priority customer cannot be preempted. In order

a waiting low-priority customer to reach a server, there should not be any high-priority

customers waiting in the queue. We study this system in two sections where models differ

due to the time-to-abandon distributions assumed. In Section 2.2.1, we analyze the case

in which both classes have exponential time-to-abandon distributions, and in Section

2.2.2, we study the “time-out problem” where customers have deterministic patience

limits.

2.2.1 The Two-Priority Class M/M/c+M Queue

In this section, we assume that class i customers have exponentially distributed times-to-

abandon with rate ωi, i = 1, 2. This model can apply to call centers that can distinguish

between customer classes with the help of the ACD such as the one analyzed via simu-

lation by Saltzman and Mehrotra (2001) [40].

As in Section 2.1, we need the LT’s of the virtual waiting time density functions for

both classes. Before proceeding further, let Pj be the probability of having j ≤ c − 1

servers busy in steady-state. Since the number of busy servers is a birth-and-death

process, Pj can be expressed as P0ρj/j!, where ρ = λ/µ, λ = λ1+λ2, and P0 is the steady-

Page 24: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 18

state probability of having all servers idle. Using this, we can express the probability of

no wait for a customer (the probability that c− 1 or fewer servers are busy) as

P (W = 0) =c−1∑j=0

ρj

j!P0,

and we have the following normalizing equation

P (W = 0) +

∫ ∞0

fi(y)dy = 1, i = 1, 2. (2.20)

Next, employing the level-crossing theorem for the multi-server model, for high-

priority customers, for x > 0, we have

f1(x) = λPc−1e−cµx + λ1

∫ x

0

e−cµ(x−y)e−ω1yf1(y)dy + λ2e−cµx

∫ ∞0

e−ω2yf2(y)dy.(2.21)

Eq. (2.21) is very similar in spirit to Eq. (2.1). The differences are that arrivals that find

fewer than c − 1 servers do not contribute to the virtual waiting time, and the amount

of contribution of those who find all servers busy and survive the offered waiting time is

exponentially distributed with rate cµ, which is the time until the next departure when

all servers are busy.

To obtain f2(x), we need the distribution of the busy period initiated by high- and

low-priority customers. The busy-period starts when all servers become busy and ends

when no high-priority customers are left in the system. Since service time distributions

are the same for both classes, the distributions of busy periods generated by high- and

low-priority customers are the same, which we denote by Lc(x).

Observe that Lc(x) is the same distribution as the distribution of the busy period

in an M/M/c + M queue receiving a single class of impatient customers according to a

Poisson process with rate λ1, where each server has a service rate of µ and customers a

reneging rate of ω1. In this single-class M/M/c+M queue (similar to the M/M/c queue

with patient customers, see Daley and Servi, 1998 [17]), we define the busy period as the

time starting from the instant when all servers become busy until we have c− 1 servers

busy again. Since all c servers of the single-class M/M/c+M queue are busy during the

Page 25: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 19

busy period, clearing customers at a rate of cµ, the distribution of its busy period is the

same as L0(x), which is the distribution of the busy period in an M/M/1+M queue with

λ1 Poisson arrival rate, ω1 reneging rate, and cµ service rate. Thus, we conclude that

Lc(x) is identical in distribution to L0(x) of the M/M/1+M queue and the LST of Lc(x),

which we denote by lc(s), is found from Eq. (2.2) by substituting b1(s) = cµ/(cµ + s).

Now we employ the level-crossing theorem for the low-priority customers and have

f2(x) = λPc−1Lc(x) + λ2

∫ x

0

Lc(x− y)e−ω2yf2(y)dy, x > 0. (2.22)

Eq. (2.22) is parallel to Eq. (2.5), therefore, we omit explanations that may be repetitive.

If we take the LT of Eqs. (2.21) and (2.22), we get

f1(s+ ω1)−cµ+ s

λ1f1(s) = − λ

λ1Pc−1 −

λ2λ1f2(ω2), (2.23)

f2(s+ ω2)−f2(s)

λ2g0(s)= − λ

λ2Pc−1, (2.24)

where g0(s) is LT the Lc(x).

As in Section 2.1, the solution of Eq. (2.24) can be found by using Eq. (2.10):

f2(s) =λPc−1λ2

∞∑j=0

j∏k=0

λ2g0(s+ kω2). (2.25)

The probability of finding all servers idle, P0, is found by letting s → 0 in Eq. (2.25),

and using Eq. (2.20) with Pc−1 = ρc−1P0/(c− 1)!,

1− P (W = 0) =λ

λ2

ρc−1

(c− 1)!P0

∞∑j=0

j∏k=0

λ2g0(kω2),

P0 =

(c−1∑i=0

ρi

i!+

λ

λ2

ρc−1

(c− 1)!

∞∑j=0

j∏k=0

λ2g0(kω2)

)−1.

In order to obtain f2(ω2), which appears on the RHS of Eq. (2.23), we need the

expected length of a busy period, E[Lc], that can be found from Perry and Asmussen

(1995) [36] and Boxma el al. (2010) [6]:

E[Lc] =∞∑k=0

λk1∏kj=0(cµ+ jω1)

. (2.26)

Page 26: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 20

In the limit as s→ 0, Eq. (2.24) gives

f2(ω2) =(1− P (W = 0))− λPc−1E[Lc]

λ2E[Lc]. (2.27)

Now we can write the solution for Eq. (2.23) with the help of Eq. (2.10) as

f1(s) =λPc−1 + λ2f2(ω2)

λ1

∞∑j=0

j∏k=0

λ1cµ+ s+ kω1

. (2.28)

Let

m(x) =e−cµx

j!

(1− e−ω1x

ω1

)j,

which has the LT (Jagerman, 2000 [28], p. 122)

m(s) =

j∏k=0

1

cµ+ s+ kω1

.

Then, using m(x), we can explicitly invert the LT f1(s) as

f1(x) =λPc−1 + λ2f2(ω2)

λ1λ1e

−cµx∞∑j=0

1

j!

(λ1(1− e−ω1x)

ω1

)j= (λPc−1 + λ2f2(ω2))e

{−cµx+λ1(1−e−ω1x)/ω1}.

We can use Eqs. (2.13), (2.16), and (2.18) by replacing P0 with P (W = 0) to compute

Wi,S(x), Pi,A = 1−Pi,S, and E[Wi,T ]. The other distribution functions and mean waiting

times can be found from Eqs. (2.14), (2.15), (2.17), and (2.19).

We close this section by considering a special case, assuming that high-priority cus-

tomers are patient. This model is relevant to service industry that offers a guarantee to

their VIP customers on service delivery time: if this guarantee is not met, the service will

be free for VIP customers (see Ho and Zheng, 2004 [20], and Saltzman and Mehrotra,

2001 [40]). In this scenario, it is reasonable to assume that high-priority (VIP) customers

are patient, because they know that, in the worst case, if they wait too long, they will

not be charged any service fees. Since high-priority customers are patient, Eq. (2.21)

becomes (the difference is the second term on the RHS)

f1(x) = λPc−1e−cµx + λ1

∫ x

0

e−cµ(x−y)f1(y)dy + λ2e−cµx

∫ ∞0

e−ω2yf2(y)dy,

Page 27: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 21

that has a solution of

f1(x) = (λPc−1 + λ2f2(γ2))e−(cµ−λ1)x.

The busy period distribution required for f2(x) in Eq. (2.22) is identical to the busy

period distribution in an ordinary M/M/1 queue with the same arrival rate and cµ as

the service rate, which has the following LST (e.g., Kleinrock, 1975, [30], p. 215)

lc(s) =λ1 + cµ+ s−

√(λ1 + cµ+ s)2 − 4λ1cµ

2λ1,

from which its mean can be found as

E[Lc] =1

cµ− λ1.

2.2.2 The Two-Priority Class M/M/c+D Queue

In this section, we analyze the multi-server queueing system where the patience limit of

customers are constants: if a class i customer does not start receiving service in τi time

units after its arrival, it abandons the system without being served. The single-class

version of this problem was studied by Boots and Tijms (1999) [5] and Liu and Kulkarni

(2008a, 2008b) [32, 33]. Such models apply to telecommunication systems where data

become useless if not received within a hard deadline.

To include two priority classes, we again employ the level-crossing theorem, and for

high-priority customers, for x > 0, we have

f1(x) = λPc−1e−cµx + λ1

∫ x∧τ1

0

e−cµ(x−y)f1(y)dy + λ2e−cµx

∫ τ2

0

f2(y)dy, (2.29)

where a ∧ b = min(a, b), and f1(x) satisfies the same normalizing equation given in Eq.

(2.20). Eq. (2.29) is similar to Eq. (2.21) with the following differences: The second

term on the RHS is the upcrossing rate caused by high-priority customers arriving at the

system when all servers are busy. In this case, if x > τ1, a tagged high-priority customer

can cause an upcrossing only if it arrives when the virtual waiting time is less than its

Page 28: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 22

patience, i.e., 0 < y < τ1 (otherwise, it abandons the system). If 0 < x < τ1, it suffices

to arrive at a system with a virtual waiting time less than x, i.e., 0 < y < x, because

in this case, the customer will not abandon and receive service. The third term is the

upcrossing rate caused by low-priority customers that must wait for a positive amount

of time y. A tagged low-priority customer causes an upcrossing if it reaches the server

(with probability∫ τ20f2(y)dy) and if the time until next departure after it reaches the

server is in excess of x.

To write the equation for f2(x), we need the busy period distribution Lc(x) as in

Section 2.2.1, this time considering deterministic patience limits. Similar arguments

made in Section 2.2.1 apply here and Lc(x) is identically distributed as the busy period

in a single-class M/M/1 + D queue with λ1 as the arrival rate, cµ as the service rate,

and τ1 as the deterministic patience limit. We next obtain the LT of the busy period in

this M/M/1 + D queue, which we denote by l0(s). To do this, we resort to Perry and

Asmussen (1995) [36] and Liu and Kulkarni (2008a) [32] who provide l0(s, ξ), which is

the conditional LT of the busy period in a single-class M/M/1 +D queue, given that the

service time initiating the busy period is a constant ξ:

l0(s, ξ) =

α1eα1ξ−α2eα2ξ

γ1−γ2 0 ≤ ξ ≤ τ1,

e−s(ξ−τ1)l0(s, τ1) ξ > τ1,

where

α1 =(cµ− s− λ1) +

√(s+ λ1 − cµ)2 + 4cµs

2,

α2 =(cµ− s− λ1)−

√(s+ λ1 − cµ)2 + 4cµs

2,

γi = (cµ− αi −λcµ

s+ cµ)e−αiτ1 , i = 1, 2.

For our problem, we need to remove the condition on the first service time:

l0(s) =

∫ τ1

0

γ1eα1ξ − γ2eα2ξ

γ1 − γ2cµe−cµξdξ +

∫ ∞τ1

e−s(ξ−τ1)l0(s, τ1)cµe−cµξdξ,

Page 29: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 23

which, after some simplification, reduces to

l0(s) =cµ

γ1 − γ2

[γ2(1− e−τ1(cµ−α2)

)α2 − cµ

−γ1(1− e−τ1(cµ−α1)

)α1 − cµ

+(γ1e

α1τ1 − γ2eα2τ1)e−cµτ1

cµ+ s

].

Recalling that Lc(x) denotes the complementary distribution of the busy period,

similar to Eq. (2.22), for low-priority customers we have

f2(x) = λPc−1Lc(x) + λ2

∫ x∧τ2

0

Lc(x− y)f2(y)dy, x > 0. (2.30)

Note that similar to Eq. (2.29), the second term on the RHS in Eq. (2.30) points out

that the upcrossing rate caused by low-priority customers arriving at the system when

all servers are busy depends on the level x.

We start with Eq. (2.30) the solution of which depends on the value of x through

x ∧ τ2. Using

k1(x) = Lc(x) + λ2

∫ x

0

Lc(x− y)k1(y)dy, (2.31)

k2(x) = Lc(x) + λ2

∫ τ2

0

Lc(x− y)k1(y)dy, (2.32)

we can express f2(x) as

f2(x) =

λPc−1k1(x), x < τ2,

λPc−1k2(x), x ≥ τ2.

Using Eq. (2.20) and the fact that Pc−1 = ρc−1P0/(c− 1)!, we write

1− P (W = 0) =λρc−1

(c− 1)!P0

(∫ τ2

0

k1(x)dx+

∫ ∞τ2

k2(x)dx

),

P0 =

(c−1∑i=0

ρi

i!+

λρc−1

(c− 1)!

(∫ τ2

0

k1(x)dx+

∫ ∞τ2

k2(x)dx

))−1.

In order to solve for k1(x), we take the LT of both sides of Eq. (2.31). Letting k1(s)

denote the LT of k1(x), and as in previous sections, g0(s) the LT of Lc(x), we have

k1(s) =g0(s)

1− λ2g0(s), (2.33)

Page 30: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 24

which can be used first to calculate k2(x), and then f2(x). Using Eq. (2.33), we can

also obtain P c2,S, the probability of serving a low-priority customer arriving at the system

when all servers are busy (noting that P (W = 0) + P c2,S = P2,S)

P c2,S =

∫ τ2

0

f2(y)dy = λPc−1

∫ τ2

0

k1(x)dx, (2.34)

where∫ τ20k1(x)dx can be computed by numerically inverting k1(s)/s. However, we need

Pc−1 that requires P0, which in return calls for evaluating∫∞τ2k2(x)dx. As will be demon-

strated shortly, this can be by-passed easily.

The same solution approach taken for f2(x) can be applied to solve Eq. (2.29), which

can be explicitly expressed as

f1(x) =

(λ2P

c2,S + λPc−1

)e−(cµ−λ1)x, x < τ1,(

λ2Pc2,S + λPc−1

)eλ1τ1e−cµx, x ≥ τ1.

To bypass computing k2(x), which requires inverting both k1(s) and g0(s) numerically,

we first note that it is more convenient to use Eq. (2.20) for f1(x), i.e.,

P (W = 0) +(λ2P

c2,S + λPc−1

) [∫ τ1

0

e−(cµ−λ1)xdx+ eλ1τ1∫ ∞τ1

e−cµxdx

]= 1,

P (W = 0) +

(λ2P

c2,S +

λρc−1

(c− 1)!P0

)[1

cµ− λ1(1− e−(cµ−λ1)τ1

)+

1

cµe−(cµ−λ1)τ1

]= 1,

which, after simplification, gives us

P0 =1− λ2P c

2,S

[1

cµ−λ1

(1− e−(cµ−λ1)τ1

)+ 1

cµe−(cµ−λ1)τ1

]∑c−1

i=0ρi

i!+ λρc−1

(c−1)!

[1

cµ−λ1 (1− e−(cµ−λ1)τ1) + 1cµe−(cµ−λ1)τ1

] . (2.35)

Also from Eq. (2.34), we have

P0 =P c2,S

λρc−1

(c−1)!

∫ τ20k1(x)dx

. (2.36)

Equating Eqs. (2.35) and (2.36), we can obtain P c2,S and using either of these equations

gives P0.

Page 31: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 25

We close this section by relating the virtual and actual waiting time distributions.

The virtual waiting time distribution for class i is

Fi(x) = P (W = 0) +

∫ x

0

fi(x)dx.

Thus,

Wi,T (x) =

Fi(x), x < τi,

1, x ≥ τi,

and for served customers

Wi,S(x) =

Fi(x)/Pi,S x < τi,

1, x ≥ τi,

where

Pi,S = P (W = 0) +

∫ τi

0

fi(x)dx.

One can see that waiting time distributions can be calculated by only numerically in-

verting k1(s)/s, without computing k2(x) in Eq. (2.32).

Page 32: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 26

2.3 FCFS Queues with Impatient Customers

In this section, we model first the single server, then the multi-server FCFS queueing

systems with k classes of impatient customers. Class i customers arrive according to

a Poisson process with rate λi, have exponential times-to-abandon with rates ωi, i =

1, . . . , k.

We start with the single server case. When service times are general with possibly

different distributions, using the level crossing theorem, we have

f(x) = P0

k∑i=1

λiBi(x) +k∑i=1

λi

∫ x

0

Bi(x− y)e−ωiyf(y)dy, x > 0, (2.37)

where Bi(x) is the complementary service time distributions for class i customers.

Note that Eq. (2.37) is very similar to Eq. (2.1), except that we have more than

two classes and do not have different virtual waiting time density functions for each

class. Rather, f(x), is the density function of the virtual waiting time for all classes of

customers.

When we take the LT of both sides of Eq. (2.37), we have

f(s) = P0

k∑i=1

λiβi(s) +k∑i=1

λiβi(s)f(s+ ωi), (2.38)

where, as introduced in Section 2.1, βi(s) is the LT of Bi(x).

We are unable to solve for f(s) unless we assume the same reneging rate for each

class. By setting ω1 = . . . = ωk = ω, Eq. (2.38) becomes

f(s+ ω)− (k∑i=1

λiβi(s))−1f(s) = −P0,

the solution of which is (after employing Eq. (2.10))

f(s) = P0

∞∑j=0

j∏m=0

(k∑i=1

λiβi(s+mω)

). (2.39)

In the FCFS multi-server case with c servers, as in Section 2.2, each server has a rate

µ, and we assume that independent service times are exponentially distributed. Then,

Eq. (2.37) can be re-written as

Page 33: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 2. Multi-Class Queues with Impatient Customers 27

f(x) = λPc−1e−cµx +

k∑i=1

λi

∫ x

0

e−cµ(x−y)e−ωiyf(y)dy, x > 0, (2.40)

where λ =∑k

i=1 λi. Note that f(x) satisfies Eq. (2.20) where we substitute f(x) instead

of fi(y).

To solve Eq. (2.40), we take the derivative with respect to x, which gives us the

following first order differential equation:

f′(x) ≡ df(x)

dx=

k∑i=1

λie−ωixf(x)− cµf(x),

the solution of which has the form

f(x) = Be{∑ki=1

λiωi

(1−e−ωix)−cµx}, (2.41)

where B is a constant, and by setting x = 0 in Eqs. (2.40) and (2.41), is found to be

B = λPc−1 =λρc−1

(c− 1)!P0,

where, as before, ρ = λ/µ. Finally, P0 can be computed from Eq. (2.20) as

P0 =

(c−1∑j=0

ρj

j!+ λ

ρc−1

(c− 1)!

∫ ∞0

e{∑ki=1

λiωi

(1−e−ωix)−cµx}dx

)−1.

With f(s) in Eq. (2.39) for the single server case or f(x) in Eq. (2.41), we can use Eqs.

(2.13)-(2.19) to compute the waiting time distributions, the fraction of customers served

and the mean waiting times for each class (and by replacing P0 with P (W = 0) in these

equations for the multi-server case). Note that in the single-server case with identical

reneging rates, all these measures (e.g., E[Wi,S]) will be the same for each class. The

difference will be in the mean system time of served customers due to different mean

service times added to E[Wi,S].

An alternative approach to obtain f(x) for the multi-server case is to use the single

class M/M/c+Hk model (see Baccelli and Hebuterne, 1981 [3]) with Poisson arrival rate

λ and service rate µ where Hk is a k-stage Hyperexponential r.v., which is an exponential

r.v. with rate ωi with probability λi/λ.

Page 34: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3

Queues with Dynamic Priority

Discipline

In this chapter, we study a queueing system with two-classes of customers served accord-

ing to a dynamic priority rule. In addition to the fact that the priority switches from one

class to another, the other difference with respect to the static non-preemptive queueing

system of Chapter 2 is that both classes of customers are patient and do not renege due

to impatience. Customers are served in order of the priority number t + ui (i = 1, 2),

where t is the arrival time and ui is the pre-assigned urgency index of class i. Since we

assume that u2 ≥ u1, class 1 customers tend to receive priority more frequently, thus, we

refer to this class as the high-priority class. Although the mean waiting time analysis can

be found in the literature (Goldberg, 1977 [18]), deriving the waiting time distributions

in this problem is not trivial. Therefore, we propose approximations in Section 3.1. In

specific, in Section 3.1.1, we develop an approximation for the waiting time distribution

of class 2 (i.e., the low-priority) customers, and in Section 3.1.2 we find bounds for the

variance of the waiting time r.v. of class 1 customers. We test the accuracy of our

approximation in Section 3.2.

28

Page 35: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 29

3.1 Approximate Waiting Time Distributions

Consider an M/GI/1 queueing system with two types of customers and the dynamic

priority discipline with parameter u = u2 − u1 in effect. As before, class i customers

arrive at the system according to independent Poisson processes with rate λi. The service

requirement of class i customers is an r.v. with mean 1/µi, distribution function Bi(x),

and Laplace–Stieltjes transform (LST) bi(s). Let ρ be the total traffic intensity of the

system given by ρ = λ1/µ1 + λ2/µ2, which is also the server utilization. To ensure

stability, we assume ρ < 1. We aim to analyze the steady-state waiting time of class 1

(W1) and class 2 (W2) customers with LST’s denoted by w1(s) and w2(s), respectively.

3.1.1 Low-Priority Customers

Let V denote the total workload (submitted to the server by both class 1 and 2 customers)

of the system in steady-state, which is equal to the waiting time of all customers under

the FCFS policy. Consider a busy period for class 1 customers initiated by the workload

V as defined in Goldberg (1977) [18]. Let us denote this busy period by LV , its steady-

state distribution by LV (x) and its LST by lV (s). Goldberg obtained an expression for

the average waiting time of class 2 customers by making the following observation: A

tagged class 2 customer arriving at the system in steady-state has to wait for all the

work currently in the system, V , plus the additional work, X1, brought to the system

by future class 1 customers arriving in the next u time units before the tagged customer

reaches the server, that is,

E[W2] = E[V ] + E[X1]

= E[V ] + (λ1/µ1)

∫ u

0

[1− LV (y)]dy. (3.1)

(See [18] for details of the derivation). Although we can proceed and find the LST of V

and X1, one can see that they are not independent because X1 requires LV (y), which in

Page 36: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 30

return depends on V . Thus, finding the distribution of the sum of V and X1 is quite

complicated. We pursue a different approach to estimate the waiting time distribution.

Let us first determine the distribution of V and LV . Under any non-anticipating and

work conserving policy, the LST of V denoted by f(s) is

f(s) = E[e−sV ] =(1− ρ)(λ1β1(s) + λ2β2(s))

1− (λ1β1(s) + λ2β2(s)), (3.2)

where βi(s) is the LST of the complementary service time distribution of class i customers

given by (1− bi(s))/s. Furthermore, observe that LV is the so called delayed busy period

of class 1 customers with the delay being the workload V . The LST of LV is hence given

by (see, e.g., Conway, Maxwell, and Moller [16]):

lV (s) = E[e−sLV ] = f(s+ λ1 − λ1l0(s)), (3.3)

where l0(s) is the LST of the busy period distribution in an M/GI/1 queue with class 1

as the only customer class, and is characterized as the solution to the Kendall functional

equation

l0(s) = b1(s+ λ1 − λ1l0(s)). (3.4)

Note that this provides a possible means of using Goldberg’s formula (Eq. (3.1)) to

calculate the first moment of waiting time via numerical inversion of the LST of the

complementary distribution of LV given by (1− lV (s))/s.

Now consider a tagged class 2 customer arriving at the system in steady state. If

the busy period LV ends in the next u time units, i.e., LV ≤ u, then there are no high-

priority customers left in the system, and the tagged class 2 customer enters service with

its waiting time being equal to LV . On the other hand, if the busy period does not end

in the next u time units, then the tagged class 2 customer, who has now waited for u

time units, gains priority over future class 1 arrivals. Therefore, its waiting time is equal

to the work it faced upon its arrival, V , plus the additional work brought by class 1

customers that arrived in the u time units after its arrival, namely X1(u). Therefore, we

Page 37: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 31

can write

w2(s) = E[e−sW2 ] = E[e−sLV 1{LV ≤u}] + E[e−s(V+X1(u)]1{LV >u}], (3.5)

where 1a is the indicator function, and equals 1 if event a is true, and 0 otherwise.

Although we are not able to find an explicit expression for w2(s), we propose a

practical way for estimating the tail probabilities for class 2 customers. Note that for

t ≤ u, independent of the length of the busy period, we can write

P (W2 > t) = P (LV > t) = 1− LV (t), t ≤ u. (3.6)

Given the LST of the busy period in Eq. (3.3), we can numerically invert (1 −

lV (s))/s, which is the LST of the complementary distribution of LV , and obtain the tail

probabilities. An interesting and important observation here is that P (W2 > t) remains

the same for all priority parameters, satisfying u ≥ t since LV does not depend on u. We

will discuss this further in Section 3.2.

For t > u, we propose the following approximation to obtain P (W2 > t). We pre-

viously observed that given LV > u, the waiting time of the tagged class 2 customer is

equal to V +X1(u). Clearly, due to the dependence of V and LV , the distribution of V

changes given that LV > u. However, assuming that the dependence is negligible, i.e.,

E[e−sV |LV > u] ≈ f(s),

and since V and X1(u) are independent, we can write for t > u

w2(s) ≈ E[e−s(V+X1(u))] = E[e−sV ]E[e−sX1(u)]. (3.7)

Let N1(u) be the the number of class 1 arrivals in u time units which is a Poisson ran-

dom variable with rate λ1. Conditioning first on N1(u), and then removing the condition

we have

E[e−sX1(u)|N1(u) = n] =(b1(s)

)n,

E[e−sX1(u)] =∞∑n=0

(b1(s)

)n e−λ1u(λ1u)n

n!

= e−λ1u(1−b1(s)). (3.8)

Page 38: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 32

Substituting Eqs. (3.8) and (3.2) in Eq. (3.7), we arrive at our final approximation

for t > u as

w2(s) ≈ f(s)e−λ1u(1−b1(s)). (3.9)

The motivation behind this approximation is that the events V +X1(u) > t and LV ≤ u

are approximately mutually exclusive for t > u. We test the accuracy of our approxima-

tion in Section 3.2.

3.1.2 High-Priority Customers

We now turn our attention to class 1 customers. Goldberg (1977) [18] derived an expres-

sion for the average waiting time of high-priority customers observing that a high-priority

customer arriving at the system has to wait for the current work in system, V , excluding

the work brought into the system by class 2 customers which have arrived in the last u

time units and have not yet started service, namely X2, that is

E[W1] = E[V ]− E[X2]

= E[V ]− (λ2/µ2)

∫ u

0

[1− LV (y)]dy. (3.10)

Again having the LST of LV given by Eq. (3.3), one can use numerical Laplace transform

inversion to evaluate the integral above and find the expected waiting time of high-priority

customers.

We first derive the LST of X2. Let N2(u) denote the number of class 2 customers

who have arrived during the last u time units and are still waiting in the queue. We have

P{N2(u) = n} =∞∑i=n

P{N2(u) = n|Y (u) = i}e−(λ2u)(λ2u)i

i!, (3.11)

where Y (u) is the total number of class 2 arrivals in u time units and follows a Poisson

process with rate λ2. Now define q as the probability that an arbitrary class 2 customer

arriving in the past u time units is still in system. Conditioning on the time of its arrival

Page 39: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 33

which is uniform on (0, u), using Eq. (3.6) we can write

q =1

u

∫ u

0

[1− LV (y)]dy.

Therefore,

P{N2(u) = n|Y (u) = i} =

(i

n

)qn(1− q)i−n. (3.12)

Now returning to Eq. (3.11) and substituting Eq. (3.12) in it, we have

P{N2(u) = n} =∞∑i=n

P{N2(u) = n|Y (u) = i}e−(λ2u)(λ2u)i

i!

=∞∑i=n

(i

n

)qn(1− q)i−n e

−(λ2u)(λ2u)i

i!

=e−λ2qu(λ2qu)n

n!,

which is a Poisson random variable with mean λ2q. Now we can proceed to find the

LST of X2. Conditioning on the value of N2(u) we have

E(e−sX2 |N2(u) = n) =(b2(s)

)nE(e−sX2) =

∞∑n=0

(b2(s)

)n e−λ2qu(λ2qu)n

n!

= e−λ2qu(1−b2(s)).

The first moment of X2 is given by

E(X2) = − lims→0

d

dsE(e−sX2) = (λ2/µ2)qu, (3.13)

which coincide with the result obtained by Goldberg (see Eq. (3.10)). The second

moment of X2(u) is given by

E(X22 ) = lim

s→0

d2

ds2E(e−sX2) = λ2quE(S2

2) +

(λ2qu

µ2

)2

, (3.14)

where E(S22) is the second moment of the service time of class 2 customers.

Page 40: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 34

Having the second moment of X2, we can find bounds on the variance of the waiting

time of class 2 customers. Denoting the variance of an r.v. X by Var(X), noting that

W2 = V −X2

Var(W2) = Var(V ) + Var(X2)− 2Cov(V,X2),

where Cov(V,X2) is the covariance between the two r.v.s. Since V and X2 are clearly

positively correlated, i.e., Cov(V,X2) > 0, we can write,

Var(W2) < Var(V ) + Var(X2), (3.15)

where Var(X2) can be obtained with the first and second moments of X2 given by Eqs.

(3.13) and (3.14) as

Var(X2) = E(X22 )− E(X2)

2,

= λ2quE(S22).

Furthermore, from the Cauchy–Schwarz inequality

Cov(V,X2) ≤ (Var(V )Var(X2))1/2 ,

with which we can write

Var(W2) ≥ Var(V ) + var(X2)− 2 (Var(V )Var(X2))1/2 . (3.16)

We close this section by noting that the above results can be easily applied to a multi-

server system with identical exponential servers. Consider c servers working with rate µ.

The system is stable if (λ/cµ) < 1, where λ = λ1 + λ2. The LST of the total workload

distribution is that of the waiting time of customers in an FCFS system given by

f(s) =λPc−1

s+ (cµ− λ),

where Pc−1 is the steady-state probability of having c− 1 busy servers and equals

Pc−1 =

µ

)c−1P0

(c− 1)!,

Page 41: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 35

where

P0 =

(c−1∑n=0

µ

)n1

n!+

µ

)ccµ

c!(cµ− λ)

)−1.

Also in the case of exponentially distributed service times, the LST of the busy period of

class 1 customers, required in Eq. (3.4) to be substituted for l0(s), is available in closed

form:

lc(s) =(λ1 + cµ+ s)− ((λ1 + cµ+ s)2 − 4cµλ1)

1/2

2λ1.

3.2 Numerical Examples

In this section, we present numerical results to first confirm the accuracy of our approx-

imation for tail probabilities of class 2 customers, and then to study how the waiting

time distribution of each class is affected as the priority parameter changes. We should

note that the numerical inversion of LST’s are carried out using the EULER method

of [1]. Also in all simulation experiments, we chose the simulation runs long enough to

guarantee that the half-width of the 95% confidence intervals is less than 1% of the point

estimates.

We consider a multi-server system with c = 20 servers and exponentially distributed

service times with rate µ = 1. Arrival rates of 1 and class 2 customers are λ1 = 10

and λ2 = 8 respectively. For t ≤ u, the results are exact so we test the accuracy of our

approximation by comparing it to results obtained from simulation for t > u in Table

3.1. The approximate values are obtained by numerically inverting the LST in Eq. (3.9).

As expected we can see that the accuracy of the approximation increases in t, but even

for values of t close to u the approximated value remains fairly accurate.

Table 3.2 lists the expected value and the variance of waiting times for different

values of u. The expected values are obtained exactly via numerical Laplace transform

inversion, whereas the variances are obtained via simulation. One can observe that by

Page 42: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 36

u t P (W2 > t)Simulation Approximation

0.2 0.3 0.365 0.3720.4 0.305 0.3080.5 0.251 0.2530.7 0.168 0.1700.9 0.112 0.1141.1 0.075 0.0761.3 0.050 0.0511.5 0.034 0.0341.7 0.023 0.023

1 1.1 0.173 0.1831.2 0.146 0.1511.5 0.082 0.0831.8 0.045 0.0462.1 0.025 0.0252.5 0.011 0.0113.0 0.004 0.004

1.5 1.6 0.110 0.1181.9 0.064 0.0652.2 0.035 0.0362.5 0.019 0.0203.0 0.007 0.0073.5 0.003 0.003

2 2.1 0.070 0.0762.5 0.034 0.0343.0 0.012 0.0133.5 0.005 0.0054.0 0.002 0.002

Table 3.1: Comparing simulated and approximated tail probabilities for low-prioritycustomers

Page 43: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 37

u E[W1] Var[W1] E[W2] Var[W2]0 0.275 0.200 0.275 0.200

0.2 0.237 0.176 0.323 0.2860.4 0.207 0.154 0.361 0.3700.6 0.181 0.134 0.393 0.4490.8 0.161 0.115 0.419 0.5251.0 0.143 0.099 0.441 0.5961.2 0.129 0.086 0.459 0.6621.4 0.117 0.074 0.474 0.7211.6 0.107 0.064 0.486 0.7761.8 0.098 0.054 0.497 0.8272.0 0.091 0.048 0.506 0.8722.5 0.078 0.034 0.522 0.9653.0 0.070 0.025 0.532 1.0353.5 0.065 0.019 0.539 1.0874.0 0.061 0.015 0.543 1.1254.5 0.059 0.013 0.546 1.1525.0 0.058 0.011 0.548 1.1715.5 0.057 0.010 0.549 1.185∞ 0.055 0.008 0.551 1.215

Table 3.2: Expected value and variance of waiting time for different values of u

increasing the priority parameter u, both the expected waiting time of class 1 and its

variance decrease. The expected waiting time of class 2, on the other hand, increases

along with its variance. Therefore, for high-priority customers the maximum variance is

obtained in the case where u = 0 or FCFS while the lowest variance is achieved in the

case of u = ∞ or static priority. This, of course, provides a tighter bound than the one

than we analytically obtained in the previous section.

In Figure 3.1 and Figure 3.2, we use simulation to plot the waiting time distribution

of class 1 and class 2 customers in a system with c = 8 servers and λ1 = 3.5, λ2 = 2.5, and

µ = 1. As we observed analytically in the previous section, the probability P (W2 < t)

does not depend on u for t ≤ u. Therefore, increasing the priority of class 1 customers

only affects the waiting time distribution of class 2 customers for t > u. On the contrary,

changing the priority parameter affects the waiting time distribution of high-priority

customers for all values of t. This is an important observation in terms of service levels

Page 44: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 38

in service systems and telecommunication networks. In such systems, the service levels

are usually defined in terms of the proportion of customers served under a specific time,

e.g., P (W1 < t1) ≥ α1, and P (W2 < t2) ≥ α2. Therefore, for example, if the service

level of class 2 customers is met with a priority parameter u ≥ t2, then one can increase

the priority of class 1 customers (by increasing u) and hence provide a better service to

them without violating the service level of class 2 customers or requiring further capacity.

Nevertheless, this would result in longer waiting times for those customers who will have

to wait more than t2 time units. Thus, to avoid penalizing class 2 customers too much, one

might want to consider another constraint in a higher percentile, i.e., P (W2 < t3) ≥ α3

with t3 > u, for which we obtained an accurate estimate.

Page 45: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 39

+

+

+

+

+

++

+ + + + + + +

*

*

*

**

**

** * * * * *

^

^

^

^^

^^

^ ^ ^ ^ ^ ^ ^

0 0.6 1.2 1.8 2.4 3 3.6

0.65

0.75

0.85

0.95

o+*^

u012∞

Time

Probability

Figure 3.1: Waiting time distribution of low-priority customers for different values of u

Page 46: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 3. Queues with Dynamic Priority Discipline 40

+

+

++

+ + + + + + + + + +

*

*

** * * * * * * * * * *

^

^

^^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^

0 0.6 1.2 1.8 2.4 3 3.6

0.65

0.75

0.85

0.95

o+*^

u012∞

Time

Probability

Figure 3.2: Waiting time distribution of high-priority customers for different values of u

Page 47: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 4

Conclusion

In this thesis, we analyze delay systems that are inspired from health-care systems,

customer contact centers, and communication networks.

We present the exact analysis of three models in all of which multiple classes of im-

patient customers are served. The first system involves a single server attending to two

classes of impatient customers in accordance with the non-preemptive priority policy.

Our contribution is incorporating general and class-specific service time distributions in

this setting. The second system has identical parallel servers receiving classes of impa-

tient customers that require the same type of service. Although we assume the same

exponential service time distribution for all customers, we permit different classes to ex-

hibit different times-to-abandon characteristics by assuming class-specific deterministic

patience limits or class-specific reneging rates when patience times follow exponential

distributions. The third system is operating under the FCFS rule. Although, we intro-

duce general and class-specific service time distributions for multiple classes of customers,

we can design a tractable solution only when all customers have the same exponentially

distributed patience limits. In all models, we employ the level-crossing technique to ex-

press the virtual waiting time density functions and obtain their LT’s. We relate these

transforms to the classical system performance measures.

41

Page 48: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Chapter 4. Conclusion 42

We also study a two class queueing system operating under a dynamic priority dis-

cipline which is often used in practice to provide different levels of service to costumers

with different importance. We propose an accurate approximation for the tail probability

of low-priority customers. Unfortunately, we are not able to obtain the tail probability

of high-priority customers, however, using analytical and numerical results we obtain

bounds on the variance of the waiting time of such customers. Our analyses lead us to

obtain some insights in design of service levels, and on the effect of priority assignment

in service systems.

Page 49: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Bibliography

[1] Abate, J. and W. Whitt. 1995. “Numerical inversion of Laplace transforms of prob-

ability distributions”, ORSA Journal of Computing, Vol. 7, 36–43.

[2] Ahghari, M. and B. Balcıoglu. 2009. “Benefits of cross-training in a skill-based rout-

ing contact center with priority queues and impatient customers”, IIE Transaction,

Vol. 41, 524–536.

[3] Baccelli, F. and G. Hebuterne. 1981. “On queues with impatient customers”, Per-

formance ’81, ed. F.J. Kylstra (North Holland, Amsterdam 1981), Vol. 32, 159–179.

[4] Baccelli, F., P. Boyer, and G. Hebuterne. 1984. “Single-server queues with impatient

customers”, Advances in Applied Probability, Vol. 16, 887–905.

[5] Boots, N. K. and H. Tijms. 1999. “A multiserver queueing system with impatient

customers”, Management Science, Vol. 45, No. 3, 444-448.

[6] Boxma, O., D. Perry, W. Stadje, and S. Zacks. 2010. “The busy period of an M/G/1

queue with customer impatience”, Journal of Applied Probability, Vol. 47, 130–145.

[7] Brandt, A. and M. Brandt. 1999. “On a two-queue priority system with impatience

and its applications to a call center”, Methodology and Computing in Applied Prob-

ability, Vol. 1, No. 2, 191–210.

43

Page 50: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Bibliography 44

[8] Brandt, A. and M. Brandt. 2004. “On the two-class M/M/1 system under preemp-

tive resume and impatience of the prioritized customers”, Queueing Systems, Vol. 47,

147–168.

[9] Brill, P. H. 1975. System Point Theory in Exponential Queues, Ph.D. Thesis, De-

partment of Industrial Engineering, University of Toronto.

[10] Brill, P. H. and M. J. M. Posner. 1977. “Level crossings in point processes applied

to queues: Single-server case, Operations Research, Vol. 25, No. 4, 662–674.

[11] Brill, P. H. 1979. “An embedded level crossing technique for dams and queues,

Journal of Applied Probability, Vol. 16, No. 1, 174–186.

[12] Brill, P. H. 2008. Level Crossing Methods in Stochastic Models. Springer.

[13] Choi, B. D., B. Kim, and J. Chung. 2001. “M/M/1 queue with impatient customers

of higher priority,” Queueing Systems, Vol. 38, 49–66.

[14] Cohen, J. W. 1977. “On up- and downcrossings”, Journal of Applied Probability,

Vol. 4, No. 2, 405-410.

[15] Cohen, J. W. and M. Rubinovitch. 1977. “On level crossings and cycles in dam

processes”, Mathematics of Operations Research, Vol. 2, No. 4, 297-310.

[16] Conway, R. W., W. L. Maxwell, and L. W. Moller. 1967. Theory of Scheduling.

Addison-Wesley, Reading Mass.

[17] Daley, D. J. and L. D. Servi. 1998. “Idle and busy periods in stable M/M/k queues”,

Journal of Applied Probability, Vol. 35, 950-962.

[18] Goldberg, H. M. 1977. “Analysis of the earliest due date scheduling rule in queueing

systems”, Mathematics of Operations Research, Vol. 2, No. 2, 145–154.

Page 51: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Bibliography 45

[19] Goldberg, H. M. 1980. “Jackson’s conjecture on earliest due date scheduling”, Math-

ematics of Operations Research, Vol. 5, No. 3, 460–466.

[20] Ho, T. and Y. S., Zheng. 2004. “Setting customer expectations in service delivery:

An integerated marketing-operations prespective”, Management Science, Vol. 50,

479–488.

[21] Holtzman, J. M. 1971. “Bounds for a dynamic priority queue”, Operations Research,

Vol. 19, 461–468.

[22] Iravani, F. and B. Balcıoglu. 2008a. “Approximations for the M/GI/N + GI type

call center”, Queueing Systems, Vol. 58, 137–153.

[23] Iravani, F. and B. Balcıoglu. 2008b. “On priority queues with impatient customers”,

Queueing Systems, Vol. 58, 239–260.

[24] Jackson, J. R. 1960.“Some problems in queueing with dynamic priorities”, Naval

Research Logistics Quarterly, Vol. 7, 235–249.

[25] Jackson, J. R. 1961.“Queues with dynamic priorities”, Management Science, Vol. 8,

18–34.

[26] Jagerman, D. L. 1979. “Analysis of a dynamic priority queueing model”, Unpublished

work.

[27] Jagerman, D. L. 1982. “An inversion technique for the Laplace transform”, Bell

System Technical Journal, Vol. 61, No. 8, 1995–2002.

[28] Jagerman, D. L. 2000. Difference Equations with Applications to Queues, Marcel

Dekker, Inc., New York.

[29] Jouini, O. and Y. Dallery. 2007. “Stationary delays for a two-class priority queue

with impatient customers”, Proceedings of the 2nd International Conference on Per-

formance Evaluation Methodologies and Tools, Nantes, France.

Page 52: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Bibliography 46

[30] Kleinrock, L. 1975. Queueing Systems Volume I: Theory, John Wiley & Sons, New

York.

[31] Koole, G. M., B. F. Nielsen, and T. B. Nielsen. 2009. “Waiting time dependent

multi-server priority queues”, Working paper.

[32] Liu, L. and V. G. Kulkarni. 2008a. “Busy period analysis for M/PH/1 queues with

workload dependent balking”, Queuing Systems, Vol. 59, No. 1, 37–51.

[33] Liu, L. and V. G. Kulkarni. 2008b. “Balking and reneging in M/G/s system ex-

act analysis and approximations”, Probability in the Engineering and Informational

Sciences Vol. 22, 355–371.

[34] Milner, J. M. and T. L. Olsen. 2008. “Service level agreements in call centers: prils

and prescriptions”, Management Science, Vol. 54, 238–252.

[35] Palm, C. 1953. “Methods of judging the annoyance caused by congestion”, Tele

Vol. 2, 1–20.

[36] Perry, D. and S. Asmussen. 1995. “Rejection rules in the M/G/1 queue”, Queueing

Systems, Vol. 19, 105–130.

[37] Prabhu, N. U., P. K. Reeser. 1985. “A random family of queueing systems with a

dynamic priority discipline”, Mathematics of Operations Research, Vol. 10, No. 1,

24–32.

[38] Rao, S. S. 1967. “Queueing with balking and reneging in M/G/1 systems”, Metrika,

Vol. 12,173–188.

[39] Shantikumar, J. G. 1981. ”On level crossing analysis of queues”, The Australian

Journal of Statistics, Vol. 23, 337–342.

[40] Saltzman, S. M. and V. Mehrotra. 2001. “A call center uses simulation to drive

strategic change”, Interfaces, Vol. 31, 87–101.

Page 53: Certain Static and Dynamic Priority Policies in Queueing Systems · 2012-11-01 · Abstract Certain Static and Dynamic Priority Policies in Queueing Systems Vahid Sarhangian Master

Bibliography 47

[41] Stanford, R. E. 1979. “Reneging phenomenon in single channel queues,” Mathematics

of Operations Research, Vol. 4, No. 2, 162–178.

[42] Stolletz, R. and S. Helber. 2004. “Performance analysis of an inbound call center

with skills-based routing”, OR Spectrum, Vol. 26, 331–352.

[43] Takacs, L. 1974. “A single server queue with limited virtual waiting time”, Journal

of Applied Probability, Vol. 11, 612–617.

[44] Wang. Q. 2004. “Modeling and analysis of high risk patient queues”, European Jour-

nal of Operational Research, Vol. 155, 502–515.

[45] Zeltyn, S. and A. Mandelbaum. 2005. “Call centers with impatient customers: many-

server asymptotics of the M/M/n+G queue”, Queueing Systems, Vol. 51, No. (3/4),

361–402.