Streaming Digital Content Synchronization via Age Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecompatibility with standard HTTP protocolsVSAvoidsynchronization accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidlatency
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improverendering timing precisionVSAvoidsynchronization reliability
Core Design Contradiction:
Manufacturing precisionVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If proprietary synchronization techniques are implemented, then synchronization accuracy improves, but device complexity increases due to additional software and hardware resources required

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidsoftware and hardware resources
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10079884B2Streaming digital content synchronization
Publication Date: 2018.09.18 ADOBE INC
  • US10079884B2 patent drawing
  • US10079884B2 patent drawing
  • US10079884B2 patent drawing

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.