Three Models, Three Different Capacity Assumptions
Queue models with the same arrival rate and service-time distribution can describe very different systems. A hospital with a fixed number of staffed beds, a call centre with a waiting list, and a system that starts service immediately for every arrival should not be represented by the same model. The key selection questions are: how many customers can be in the system, how many can receive service at once, and what happens when all servers are busy?
Throughout, assume arrivals form a Poisson process of rate \(\lambda>0\), and each service time is exponential with rate \(\mu>0\). Service times are independent of one another and of the arrivals. In the multi-server models, there are \(c\ge1\) identical servers. The occupancy process \((X_t)_{t\ge0}\), on a probability space \((\Omega,\mathcal{F},\mathbb{P})\), counts customers in service plus customers waiting. It is a continuous-time Markov chain; its natural history up to time \(t\) gives the filtration \((\mathcal{F}_t)_{t\ge0}\). A stationary occupancy distribution describes probabilities that do not change with time. It is not itself a statement that every initial distribution immediately has those probabilities.
The three models share the same arrival and service assumptions, but their transition rates differ. In either finite-server model, the occupancy birth rate is \(\lambda\) when an arrival can enter. The total service-completion rate in state \(n\) is \(\min(n,c)\mu\): each of the \(\min(n,c)\) busy servers completes service at rate \(\mu\). In M/M/c/K, the birth rate is zero at \(n=K\). In M/M/∞, the birth rate is always \(\lambda\) and the death rate in state \(n\) is \(n\mu\).
Occupancy Distributions and Stability
Write \(a=\lambda/\mu\), the offered load in service-time units. For the finite-server models, define the unnormalized occupancy weights \(w_0=1\) and \(w_n=a^n/n!\) for \(1\le n\le c\). For \(n>c\), the M/M/c weights continue as \(w_n=(a^n)/(c!c^{n-c})\). The finite-capacity model uses the same weights only through \(n=K\). The infinite-server weights are \(a^n/n!\) for every \(n\ge0\).
Proof. In a birth-death occupancy chain, let \(\lambda_n\) be the birth rate from \(n\) to \(n+1\), and \(\delta_{n+1}\) the death rate from \(n+1\) to \(n\). If \((\pi_n)\) is stationary, balance of probability flow across the boundary between states \(n\) and \(n+1\) gives \(\pi_n\lambda_n=\pi_{n+1}\delta_{n+1}\). Thus, starting with \(\pi_0\), successive probabilities are determined by the rate ratios. In the finite-server queues, \(\lambda_n=\lambda\) below capacity and \(\delta_{n+1}=\min(n+1,c)\mu\). The recurrence gives \(\pi_n=\pi_0 a^n/n!\) through \(n=c\), then multiplies each subsequent weight by \(\lambda/(c\mu)\). These are exactly the stated \(w_n\). For finite \(K\), their finite sum is positive and finite; normalizing them gives a probability distribution. Substitution into the adjacent-state flow equations verifies stationarity. The same recurrence determines any stationary distribution up to its normalizing constant.
For M/M/c, the tail weights after \(c\) are a geometric series with ratio \(\lambda/(c\mu)\). Their sum is finite exactly when that ratio is less than \(1\), giving the stated condition. If it is at least \(1\), the positive weights have infinite sum, so they cannot be normalized to a stationary probability distribution. For M/M/∞, the recurrence gives weights \(a^n/n!\); their sum is \(e^a\), so normalization gives \(e^{-a}a^n/n!\). These probabilities satisfy the rate-balance equations because \(\pi_n\lambda=\pi_{n+1}(n+1)\mu\). This proves the formulas and the existence conditions. \(\square\)
In M/M/c, \(\lambda/(c\mu)\) is the utilization of each server in the stable model. When it is at least \(1\), the unlimited waiting room cannot support a stationary occupancy distribution. A finite M/M/c/K system has only finitely many occupancy states, so it still has a stationary distribution even when offered arrivals exceed the maximum service capacity. That does not mean it serves every offered arrival: its stationary distribution includes a positive probability of being full.
For an M/M/c system, an arrival waits exactly when it finds at least \(c\) customers present. Its stationary probability of waiting is therefore \(\sum_{n=c}^{\infty}\pi_n\), commonly called the Erlang C probability. For M/M/c/K, an arrival is blocked exactly when it finds \(K\) customers present. Poisson arrivals see the stationary time-average occupancy distribution (PASTA), so the blocking probability is \(\pi_K\), and the long-run accepted throughput is \(\lambda(1-\pi_K)\). In that finite-capacity model with \(K>c\), an accepted arrival waits exactly when it finds an occupancy from \(c\) through \(K-1\). These statements distinguish an accepted arrival from an arrival that starts service immediately.
Worked Model-Selection Problems
Worked Example: A Call Centre With a Waiting Room
A call centre has \(c=2\) agents, arrival rate \(\lambda=3\) calls per hour, and exponential service rate \(\mu=2\) per agent per hour. First suppose every caller can wait. Compare the stationary waiting probability with the alternative of a hard total capacity \(K=3\), and with an unlimited-server idealization.
Here \(a=\lambda/\mu=3/2\), and server utilization is \(\lambda/(c\mu)=3/4<1\), so the unlimited-waiting-room M/M/2 model has a stationary distribution. Its weights are \(w_0=1\), \(w_1=3/2\), \(w_2=(3/2)^2/2=9/8\). For \(n\ge2\), each next weight is \(3/4\) times the previous one. The sum from state 2 onward is \((9/8)/(1-3/4)=9/2\), so the total weight is \(1+3/2+9/2=7\). The probability an arrival waits is therefore \((9/2)/7=9/14\). As a further check, the expected queue length is \((9/8)\sum_{r=1}^{\infty}r(3/4)^r/7=(9/8)\cdot12/7=27/14\), using \(\sum_{r\ge1}r x^r=x/(1-x)^2\) for \(0\le x<1\).
Now impose capacity \(K=3\), so the system has two agents and room for one waiting caller. The four weights for states \(0,1,2,3\) are \(1,3/2,9/8,(9/8)(3/4)=27/32\). Their sum is \(32/32+48/32+36/32+27/32=143/32\). Thus \(\pi_3=27/143\), the blocking probability. Throughput is \(3(1-27/143)=348/143\) calls per hour. An accepted arrival waits if it finds two callers already present; conditional on acceptance this probability is \(\pi_2/(1-\pi_3)=(36/143)/(116/143)=9/29\). In particular, an accepted arrival can wait in this \(K=3,c=2\) system: it is admitted at occupancy 2, when both agents are busy, and becomes the one waiting caller.
With infinitely many servers, all arrivals start service immediately and none are blocked. The stationary occupancy is Poisson with mean \(a=3/2\). This is appropriate only if the system truly has enough immediate service capacity that a shared queue and a fixed server limit are not meaningful constraints.
Check: The finite-system probabilities are \(32/143,48/143,36/143,27/143\); their numerators sum to \(143\). The accepted and blocked rates sum to \(348/143+3(27/143)=3\), the offered arrival rate.
Worked Example: Overload With a Hard Capacity
A clinic has \(c=2\) servers, \(\lambda=5\) arrivals per hour, \(\mu=2\) services per server per hour, and capacity \(K=3\). Which of the three models can describe a stationary system if arrivals may be turned away at capacity?
For M/M/c, \(\lambda/(c\mu)=5/4>1\). The infinite-waiting-room model has no stationary occupancy distribution, so it is not a stationary model for this load. The M/M/c/K model does have one. Its weights are \(w_0=1\), \(w_1=5/2\), \(w_2=(5/2)^2/2=25/8\), and \(w_3=(25/8)(5/4)=125/32\). The total is \(32/32+80/32+100/32+125/32=337/32\), hence \(\pi_3=125/337\). The blocking probability is \(125/337\), and throughput is \(5(1-125/337)=1060/337\) arrivals per hour.
The M/M/∞ model has stationary Poisson occupancy with mean \(5/2\), but it assumes every arrival receives immediate service. It would be suitable only if the two-server limit were removed; it cannot represent the clinic’s actual capacity or blocking. The finite model is selected because the operational capacity and rejection rule are part of the problem, not because it has a convenient stationary formula.
Check: The blocked rate is \(5(125/337)=625/337\), and \(1060/337+625/337=1685/337=5\), so accepted throughput plus blocked arrivals equals the offered rate.
Worked Example: Capacity Equal to the Number of Servers
There are \(c=2\) servers, no waiting spaces, and capacity \(K=2\). Let \(\lambda=\mu=1\). Find the stationary blocking probability and compare it with the corresponding M/M/2 model with unlimited waiting.
For M/M/2/2, only states \(0,1,2\) are allowed. Here \(a=1\), so the weights are \(1,1,1/2\), and their sum is \(5/2\). The stationary probabilities are \(2/5,2/5,1/5\), respectively. State 2 is full, so blocking probability is \(1/5\), and throughput is \(1(1-1/5)=4/5\). Because \(K=c\), no accepted arrival can wait: any arrival finding fewer than two customers finds a free server.
For M/M/2 with unlimited waiting, utilization is \(1/(2\cdot1)=1/2<1\). The weights are \(1,1,1/2\), followed by a geometric tail with ratio \(1/2\). The tail beginning at state 2 sums to \((1/2)/(1-1/2)=1\), so the total weight is \(3\). The probability an arrival waits is \(1/3\), but no arrival is blocked. This comparison isolates the modeling difference: both systems have two servers, but only the finite-capacity system rejects arrivals.
Check: The finite probabilities sum to \(2/5+2/5+1/5=1\). There are exactly three possible occupancy states, not four, because total capacity \(K=2\) excludes state 3.
A Practical Selection Rule and Common Errors
Start from the physical system rather than from the formula you hope to use. If there is a fixed number of servers and an unlimited waiting room, use M/M/c and check \(\lambda<c\mu\) before using stationary performance measures. If the number of places for customers is limited, specify total capacity \(K\) and use M/M/c/K; distinguish blocked arrivals at state \(K\) from accepted arrivals that may still wait. If arrivals always begin service immediately and the number of simultaneous services is effectively unlimited, M/M/∞ is the natural occupancy model.
Common mistake. For \(c=2\) and \(K=2\), one might mistakenly list four weights \(1,1,1/2,1/4\), then normalize them. The fourth weight describes state 3, but that state is forbidden by total capacity 2. The correct weights are only \(1,1,1/2\), giving probabilities \(2/5,2/5,1/5\) and blocking probability \(1/5\). Another frequent error is to say that every accepted arrival avoids waiting in a finite system. That is true when \(K=c\), but not when \(K>c\): with \(c=2,K=3\), an accepted arrival finding occupancy 2 waits.
The distinctions are summarized below.
| Model | Capacity and waiting | Stationary condition | Key occupancy outcome |
|---|---|---|---|
| M/M/c | \(c\) servers; unlimited waiting room | \(\lambda<c\mu\) | Waits when occupancy is at least \(c\); no capacity blocking |
| M/M/c/K | \(c\) servers; total capacity \(K\ge c\) | Finite \(K\); stationary for positive rates | Blocked at occupancy \(K\); accepted customers may wait if \(K>c\) |
| M/M/∞ | Unlimited servers; no waiting room needed | Stationary for finite \(\lambda/\mu\) | Poisson stationary occupancy with mean \(\lambda/\mu\) |
Check Your Understanding
For each question, identify the model assumptions before doing any calculation.
- A system has three servers, no limit on the waiting list, \(\lambda=5\), and \(\mu=2\). Does the M/M/3 model have a stationary occupancy distribution?
- In an M/M/2/4 system, what happens to an arrival finding occupancy 2? What happens at occupancy 4?
- For M/M/2/2 with \(\lambda=\mu=1\), recompute the three occupancy weights, their normalization, and the blocking probability.
- Why does M/M/∞ have no queueing delay under its assumptions, even when its mean occupancy is large?
- Give one operational fact that would make M/M/c/K a better choice than M/M/c, and one fact that would make M/M/∞ inappropriate.