Blocking and loss: Erlang B
What happens when every line is busy and there is nowhere to wait? Watch calls arrive at an exchange with a few trunk lines: when all are busy, the next call is simply lost. Then use Erlang's B formula, computed one line at a time, to see how often that happens and how many lines a trunk needs for 1% loss.
5 quick questions
Pick an answer to see why. Your score saves with your progress.
01An office makes 60 calls an hour, each lasting 4 minutes on average. What is the offered load?
Offered load = arrival rate × average holding time = 60 per hour × 4/60 hour = 4 erlangs: enough traffic to keep 4 lines busy on average.
02In a loss system (M/M/c/c), what happens to a call that arrives when all c lines are busy?
There is no waiting room, so queue length and waiting time are always zero. A call that finds every line busy is blocked and cleared.
03Using B(k) = A·B(k−1) / (k + A·B(k−1)) with B(0) = 1 and A = 2, what is B(2)?
B(1) = 2×1 / (1 + 2×1) = 0.667. B(2) = 2×0.667 / (2 + 2×0.667) = 1.333 / 3.333 = 0.400.
04About how many lines does a trunk need for 10 erlangs if at most 1% of calls may be lost?
Ten lines would be busy all the time and lose many calls. Erlang B gives 1.3% loss with 17 lines and 0.71% with 18, so 18 is the fewest that meets 1%.
05Why does one pool of 117 lines for 100 erlangs work better than ten separate pools for 10 erlangs each?
Ten pools of 18 lines need 180 lines in total, each busy about 55%. One shared pool needs 117, each busy about 85%, for the same 1% loss.
Glossary
- Erlang
- The unit of traffic: one line (or server) busy all the time. Offered load in erlangs = arrival rate × average holding time.
- Holding time
- How long one call (or job, or session) keeps its line or server busy.
- Trunk
- A group of lines between two exchanges that callers share; each call uses one line while it lasts.
- Blocking (loss)
- A call that arrives when every line is busy and is turned away. Its probability is the grade of service, such as 1%.
- Loss system (M/M/c/c)
- Random arrivals, random holding times, c servers and room for only c customers: nobody ever waits, extra arrivals are lost.
- Erlang B formula
- B(c, A) = (A^c/c!) / Σ A^k/k! for k = 0 to c: the share of calls lost when A erlangs are offered to c lines. Computed in practice with the recursion B(k) = A·B(k−1) / (k + A·B(k−1)).
- Carried load
- The traffic actually served: A × (1 − B). Divided by c it gives each line's utilisation.
Notes and sources
- Because arrivals are random (Poisson), they see the system as it is on average (PASTA, Wolff 1982): the share of time all c lines are busy equals the share of calls lost.
- Real callers often try again after a busy tone, which adds load; Erlang B assumes blocked calls simply go away ("blocked calls cleared").
- Erlang B holds for any call-length distribution with the same mean (the M/G/c/c system); only the arrivals must be random.
- 40 calls an hour, 3-minute calls and the trunk sizes are illustrative; every blocking figure is computed from Erlang's formula.
- The trunk panel has 18 sockets; a lit lamp is a busy line. The picture shows one moment, while the meter gives long-run averages.
- Harchol-Balter, Performance Modeling and Design of Computer Systems (Cambridge University Press, 2013), ch. 14: M/M/k and M/M/k/k
- Bertsekas and Gallager, Data Networks, 2nd ed., ch. 3 (the M/M/m/m loss system)
- MIT OpenCourseWare 6.262 Discrete Stochastic Processes (Poisson processes, Markov queues)
- ITU-T E.600: Terms and definitions of traffic engineering (the erlang)
- ITU-T E.520: Number of circuits to be provided in automatic outgoing circuit groups
Quiz Unlocks after the last step.