Streaming Digital Content Synchronization via Age Calculation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional HTTP streaming techniques often result in synchronization issues between client devices due to differences in timing when acquiring manifest files and rendering segments, leading to delays of up to two segments, or six to twelve seconds, which can be frustrating for viewers expecting synchronized content.
Innovation Solution
The proposed solution involves determining the time to render digital content by calculating the age of the content using the 'last-modified' and 'date' headers, optionally adding cache time, and subtracting this age from a predefined setback time to ensure synchronized playback across client devices, without requiring synchronized local clocks or proprietary communication techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional HTTP streaming techniques are used to stream digital content to multiple client devices, then the content can be delivered over the internet using standard protocols, but the rendering of content becomes unsynchronized between client devices due to differences in timing when acquiring manifest files and rendering segments
Solution Approach 1:
The server performs preliminary actions by including timing information (last-modified timestamp and age) in the response headers before the client device renders the content. This allows the client to calculate the content age and determine the appropriate render time in advance, ensuring synchronized playback across multiple devices without requiring complex real-time synchronization protocols.
Solution Approach 2:
The server acts as an intermediary that provides timing information through response headers (last-modified, age, date). This intermediary mechanism enables client devices to independently calculate synchronized render times without requiring direct communication or clock synchronization between clients, thus maintaining HTTP protocol simplicity while achieving precise synchronization.
2Manufacturing precision
If client devices wait for the most recently posted segment to ensure synchronization, then content synchronization improves, but latency increases by up to two segments or six to twelve seconds
Solution Approach 1:
The invention changes the parameter used for synchronization from waiting for the most recent segment to calculating render time based on content age and a setback time. By using the formula: render time = date header time - age - setback time, the system achieves synchronization with minimal latency, as devices render content based on its actual age rather than waiting for segment boundaries.
3Manufacturing precision
If local wall-clock times are used to indicate when segments should be rendered, then rendering timing can be specified, but synchronization fails because clocks on client devices are not synchronized to each other
Solution Approach 1:
The server acts as a trusted intermediary that provides a reference time (date header) and content age information. Client devices use this intermediary information to calculate render times locally without needing to synchronize their own clocks. The formula render time = date header time - age - setback time ensures all devices arrive at the same render time independently, making synchronization reliable without requiring clock synchronization between devices.
4Manufacturing precision
If proprietary synchronization techniques are implemented, then synchronization accuracy improves, but device complexity increases due to additional software and hardware resources required
Solution Approach 1:
The client device performs self-service by independently calculating the render time using the formula: render time = date header time - age - setback time. The device uses only the timing information provided in the HTTP response headers (last-modified, age, date) and its own local clock, requiring no additional proprietary software, hardware resources, or network synchronization infrastructure. This achieves accurate synchronization while maintaining device simplicity.
Data Source
AI summary
Streaming digital content synchronization techniques are described. A response is received to a request to stream the digital content. The response includes a time at which the digital content was last modified (e.g., a last-modified header) and a time at which the response was generated, e.g., a date header. An age is calculated by subtracting the time at which the digital content was last modified, e.g., the last-modified header, from the time at which the response was generated, e.g., the date header. An age describing an amount of time the response spent in one or more caches, if available, is added as part of this age. The time is determined by subtracting the age from a predefined setback time and the stream of the digital content is rendered based at least in part on the determined time.


