In a queuing model, customers arrive at a station for service. As always, the terms are generic; here are some typical examples:
Queuing models can be quite complex, depending on such factors as the probability distribution that governs the arrival of customers, the probability distribution that governs the service of customers, the number of servers, and the behavior of the customers when all servers are busy. Indeed, queuing theory has its own lexicon to indicate some of these factors. In this section, we will discuss a few of the basic, continuous-time queuing chains. In a general sense, the main interest in any queuing model is the number of customers in the system as a function of time, and in particular, whether the servers can adequately handle the flow of customers. This section parallels the section on discrete-time queuing chains.
Our main assumptions are as follows:
Assumption (b) in means that the times between arrivals of customers are independent and exponentially distributed, with parameter \( \mu \). Assumption (c) means that we have a first-in, first-out model, often abbreviated FIFO. Note that there are three parameters in the model: the number of servers \( k \), the exponential parameter \( \mu \) that governs the arrivals, and the exponential parameter \( \nu \) that governs the service times. The special cases \( k = 1 \) (a single server) and \( k = \infty \) (infinitely many servers) deserve special attention. As you might guess, the assumptions lead to a continuous-time Markov chain.
Let \( X_t \) denote the number of customers in the system (waiting in line or being served) at time \( t \in [0, \infty) \). Then \( \bs{X} = \{X_t: t \in [0, \infty)\} \) is a continuous-time Markov chain on \( \N \), known as the M/M/\( k \) queuing chain.
In terms of the basic structure of the chain, the important quantities are the exponential parameters for the states and the transition matrix for the embedded jump chain.
For the M/M/\( k \) chain \( \bs{X} \),
So the M/M/\( k \) chain is a birth-death chain with 0 as a reflecting boundary point. That is, in state \( x \in \N_+ \), the next state is either \( x - 1 \) or \( x + 1 \), while in state 0, the next state is 1. When \( k = 1 \), the single-server queue, the exponential parameter in state \( x \in \N_+ \) is \( \mu + \nu \) and the transition probabilities for the jump chain are \[ Q(x, x - 1) = \frac{\nu}{\mu + \nu}, \; Q(x, x + 1) = \frac{\mu}{\mu + \nu} \] When \( k = \infty \), the infinite server queue, the cases above for \( x \ge k \) are vacuous, so the exponential parameter in state \( x \in \N \) is \( \mu + x \nu \) and the transition probabilities are \[ Q(x, x - 1) = \frac{\nu x}{\mu + \nu x}, \; Q(x, x + 1) = \frac{\mu}{\mu + \nu x} \]
For the M/M/\( k \) queuing chain \( \bs{X} \), the infinitesimal generator \( G \) is given by \begin{align*} G(x, x) & = -(\mu + \nu x), \; G(x, x - 1) = \nu x, \; G(x, x + 1) = \mu; \quad x \in \N, \, x \lt k \\ G(x, x) & = -(\mu + \nu k), \; G(x, x - 1) = \nu k, \; G(x, x + 1) = \mu; \quad x \in \N, \, x \ge k \end{align*}
So for \( k = 1 \), the single server queue, the generator \( G \) is given by \( G(0, 0) = -\mu \), \( G(0, 1) = \mu \), while for \( x \in \N_+ \), \( G(x, x) = -(\mu + \nu) \), \( G(x, x - 1) = \nu \), \( G(x, x + 1) = \mu \). For \( k = \infty \), the infinite server case, the generator \( G \) is given by \( G(x, x) = -(\mu + \nu x) \), \( G(x, x - 1) = \nu x \), and \( G(x, x + 1) = \mu \) for all \( x \in \N \).
Again, let \( \bs{X} = \{X_t: t \in [0, \infty)\} \) denote the M/M/\( k \) queuing chain with arrival rate \( \mu \), service rate \( \nu \) and with \( k \in \N_+ \cup \{\infty\} \) servers. As noted in the introduction, of fundamental importance is the question of whether the servers can handle the flow of customers, so that the queue eventually empties, or whether the length of the queue grows without bound. To understand the limiting behavior, we need to classify the chain as transient, null recurrent, or positive recurrent, and find the invariant functions. This will be easy to do using our results for more general continuous-time birth-death chains. Note first that \( \bs{X} \) is irreducible. It's best to consider the single server and infinite server cases individually.
The single server queuing chain \( \bs{X} \) is
This follows directly from results for the continuous-time birth-death chain, with constant birth rate \( \mu \) on \( \N \) and constant death rate \( \nu \) on \( \N_+ \).
The result makes intuitive sense. If the service rate is less than the arrival rate, the chain is transient and the length of the queue grows to infinity. If the service rate is greater than the arrival rate, the chain is positive recurrent. At the boundary between these two cases, when the arrival and service rates are the same, the chain is null recurrent.
The infinite server queuing chain \( \bs{X} \) is positive recurrent. The invariant distribution is the Poisson distribution with parameter \( \mu / \nu \). The invariant probability density function \( f \) is given by \[ f(x) = e^{-\mu / \nu} \frac{\left(\mu / \nu\right)^x}{x!}, \quad x \in \N \]
This also follows from results for the continuous-time birth-death chain. In the notation of that section, the birth rate is constant, \( \mu(x) = \mu \) for \( x \in \N \) and the death rate is proportional to the number of customers in the system: \( \nu(x) = \nu x \) for \( x \in \N_+ \). Hence the invariant function (unique up to multiplication by constants) is \[ x \mapsto \frac{\mu(0) \cdots \mu(x - 1)}{\nu(1) \cdots \nu(x)} = \frac{\mu^x}{\nu^x x!} \] Normalized, this is the Poisson distribution with parameter \( \mu / \nu \).
This result also makes intuitive sense.