Fault-Tolerant Streaming via Synchronized Segmentation Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional architectures for streaming segmented content lack effective fault tolerance, leading to interruptions when a single server fails, and clients may not automatically switch to alternative servers, causing playback disruptions.
Innovation Solution
A fault-tolerant system is implemented using multiple synchronized segmentation servers that generate identical sets of segments and playlists, along with a caching server that automatically probes for server availability and directs requests to backup servers in case of failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single segmentation server is used to stream segmented content, then the system complexity is reduced, but the reliability deteriorates because server failure causes streaming interruption
Solution Approach 1:
The system segments the streaming service into multiple independent segmentation servers, each capable of generating and serving content segments. This allows the system to maintain reliability through redundancy while keeping each server component relatively simple and independent.
Solution Approach 2:
Backup segmentation servers perform preliminary actions by pre-generating and caching content segments before they are needed. When the primary server fails, these pre-prepared segments are immediately available to maintain continuous streaming without interruption.
2Reliability
If multiple segmentation servers are deployed for fault tolerance, then the reliability improves, but the device complexity increases
Solution Approach 1:
The system implements feedback mechanisms where clients report server availability and segment retrieval status. This feedback loop enables automatic server selection and failover decisions, reducing the complexity of managing multiple servers by letting the system self-regulate based on real-time conditions.
Solution Approach 2:
Clients are empowered to self-select appropriate segmentation servers based on playlist information and server availability. This self-service approach reduces the need for complex centralized coordination, as each client independently manages its own server selection and failover logic.
3Reliability
If clients automatically switch to backup servers, then the streaming reliability improves, but the difficulty of detecting and measuring server status worsens
Solution Approach 1:
The system uses periodic actions through scheduled playlist updates and server status probing. Clients periodically request updated playlists that contain current server availability information, and backup servers periodically check primary server status. This periodic monitoring makes server status detection manageable while enabling automatic failover.
Data Source
AI summary
Multiple segmentation servers are synchronized to provide failover capacity in such a way that should a failover occur, the segment numbers/playlists/encryption keys/decryption keys are identical on each of the segmentation servers. Synchronizing the contents of a segmentation server on one or more backup segmentation servers ensures that the delivery of a content stream is immune to the failure of segmentation servers, provided at least one segmentation server remains fault-free. A caching server may further facilitate the fault tolerance by checking the availability of the individual segmentation servers, collect content segments from one of the segmentation servers, and serve the content segment to clients. The caching server automatically checks a primary segmentation server to ensure it is available (e.g., online), and provides automatic failover to a backup segmentation server should the primary server experience a fault (e.g., go offline).


