Fault Tolerance for HDS and just-in-time HLS

Fault Tolerance for HDS is implemented by deploying origin servers, packagers, and encoders redundantly. This deployment optimizes the HDS workflow because the client can obtain the missing fragments in the bootstrap using client-side Best Effort Fetch (BEF) and server-side 503 failover processes, described in OSMF Best Effort Fetch Functional Spec and Rock Solid Live Streaming.

For HLS workflow, client-side BEF is not readily available. In the HLS workflow, the URL of a segment, missing in m3u8 (HLS manifest), cannot be predicted easily. This is because HLS segments must be aligned with the cue points. Therefore, a functionality equivalent to BEF must be introduced in the server system. BEF-type functionality is achieved by including fragments available in the whole server system (not just at the local origin server) in the HLS manifest. See Deployment guide to know more about the JIT fault tolerance implementation and configuration options for HDS and HLS workflow.