Synchronization Server Lookup Table for Joining Receiver Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for achieving synchronized data processing between receivers, particularly in scenarios like live streaming, face challenges in quickly synchronizing a joining receiver with a group already playing a stream, leading to delays and potential missed information, especially when using broadcast or multicast distribution.
Innovation Solution
A method that involves selecting and transmitting data units from a stored cache to a joining receiver, correlating them with the processing timeline of a first receiver, allowing for earlier synchronization by using a common timeline and potentially higher transmission rates to reduce the time needed for synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a joining receiver waits for status reports and delay calculation from the synchronization server before starting play-out, then synchronization with the group is achieved, but the user experience is seriously degraded due to long waiting delays
Solution Approach 1:
The synchronization server pre-calculates and stores delay values for different receiver types in a lookup table before receivers need to join. When a receiver joins, it can immediately retrieve its delay value without waiting for status reports and real-time calculations, thus eliminating the long waiting delay while maintaining synchronization accuracy.
Solution Approach 2:
The system performs preliminary classification of receivers into types based on their characteristics, and pre-computes the delay values that each type would need for synchronization. This preliminary preparation allows joining receivers to start play-out immediately with the correct delay value from the lookup table.
2Reliability
If receivers use buffering to smooth out jitter and accommodate reception time differences, then synchronization is maintained, but the initial play-out time is delayed until buffers are sufficiently filled
Solution Approach 1:
The system pre-determines the appropriate buffer delay value for each receiver type through preliminary analysis and stores it in the lookup table. When a receiver joins, it immediately applies this pre-calculated delay value without needing to wait for buffer filling, thus eliminating the buffer filling delay while maintaining synchronization stability.
Solution Approach 2:
The system changes the parameter approach from dynamic buffer adjustment to static pre-determined delay values. By storing pre-calculated delay parameters in the lookup table, the system allows receivers to immediately start play-out with the correct delay parameter without the time-consuming buffer filling process.
3Loss of energy
If the source transmits data units at a standard rate to all receivers, then network efficiency is maintained, but joining receivers experience longer synchronization delays
Solution Approach 1:
The system pre-calculates the transmission delay values for different receiver types and stores them in the lookup table before receivers need to join. This preliminary preparation allows the source to immediately transmit data units to joining receivers with the correct pre-determined delay, avoiding the need for real-time delay calculation and reducing synchronization time while maintaining network efficiency.
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
A method, a client device and a synchronization server are described for enabling synchronization of data processing by a first and second receiver wherein the method may comprise: said first receiver processing data units of a first broadcast stream, a play-out delay Δtp defining a time interval between transmission of a data unit to said first receiver and the processing of said data unit by said first receiver; initiating transmission of data units of a second broadcast stream to said second receiver, a common timeline correlating one or more data unit in said first stream with one or more corresponding data unit in said second stream; and, selecting one or more data units from a plurality of stored data units corresponding to said second stream, wherein at least part of said selected data units have corresponding data units of said first stream that have been transmitted to said first receiver but that have not been processed by said first receiver due to said play-out delay.