advanced 2 min answer

A media company plans a global live event and its CDN partner cannot guarantee capacity in one region. How should multi-CDN steering, origin shielding and per-region bitrate caps combine — and how do you prevent steering oscillation?

multi-cdnlive-streamingsteeringorigin-shieldoscillation
Show the full answer Hide the answer

The components

Multi-CDN steering distributes viewers across providers, either at manifest request time (the player is told which CDN to use) or via DNS. Manifest-level steering is far better for live, because it allows per-session decisions, mid-stream switching, and a response measured in seconds rather than in DNS TTLs.

Origin shielding places a caching tier between the CDNs and the origin, so that N CDNs pulling the same segment produce one origin request rather than N. For live, where every segment is new and every CDN wants it simultaneously, the shield is not an optimisation — it is what makes multi-CDN viable at all, since without it the origin's load multiplies by the number of providers.

Per-region bitrate caps limit the top of the ladder where capacity is constrained. This is the degradation lever that lets a capacity shortfall produce slightly lower quality for everyone in that region rather than rebuffering for some — a far better outcome, and one that must be configurable per region before the event, not improvised during it.

Preventing oscillation

Naive steering oscillates: CDN A degrades, everyone moves to B, B becomes overloaded, everyone moves back, and the system spends the event in a resonance that is worse than either provider alone. The controls:

  • Move a fraction, not the population. Shift 10% and observe. A control loop that can move everything in one step will.
  • Hysteresis: require a larger degradation to move away than to move back, so the system does not chatter around a threshold.
  • A minimum dwell time before any session is re-steered, so an individual player is not flipping between providers mid-stream.
  • Damping between decisions — a control interval longer than the time for a shift's effect to become visible in the metrics. Most oscillation is a control loop reacting faster than its own feedback arrives.
  • Capacity awareness, not just quality awareness. Steering on measured quality alone will send traffic to a provider until it degrades. Steering must know each provider's committed capacity and stay within it, treating quality as a secondary signal.
  • Sticky assignment by default, with switching reserved for genuine degradation.

The signals that should drive steering

Not aggregate averages. Per-region, per-ISP, per-CDN-node and per-device-class rebuffer ratio, startup time, and throughput — because a serious failure affecting one ISP in one region is invisible in a global average that includes tens of millions of healthy sessions.

The practical rule: alert and steer on the worst segments, not the mean. A dashboard showing a healthy p50 while one ISP's users cannot watch is the standard failure of live-event monitoring.

What to prepare in advance

Contractual capacity commitments per region per provider, so the steering system has real numbers rather than inferred ones. Pre-cached static assets on every provider. A rehearsed manual override, because the automated system will encounter a situation its designers did not anticipate. And a defined degradation ladder — reduce top bitrate, disable secondary features, cap concurrent streams per account — with owners and pre-agreed trigger points.