Streaming Data Synchronization via Master-Slave Node Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In adaptive bitrate streaming, ensuring synchronized video and audio chunk boundaries across multiple encoders or transcoders is challenging, particularly in backup architectures where redundancy is required, as existing methods lack a robust protocol for determining relative priority and synchronizing content chunks effectively.

Innovation Solution

A synchronization protocol is implemented across nodes, where each node determines its relative priority based on inter-node communications, with a master node setting chunk boundaries and slave nodes extrapolating based on received synchronization information, using query and information messages to maintain aligned content chunks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple encoders or transcoders are deployed for backup or redundancy purposes, then system reliability is improved, but synchronization of video and audio chunk boundaries becomes more difficult to maintain

Engineering Contradiction:
Improvesystem reliabilityVSAvoidsynchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the synchronization task into segments by assigning different roles (master and slave) to different encoder nodes. The master encoder handles boundary determination while slave encoders follow its lead, segmenting the complex synchronization problem into manageable parts that can be distributed across multiple nodes for improved reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A synchronization protocol acts as an intermediary mechanism between multiple encoders, facilitating coordinated operation. The protocol mediates the interaction between master and slave encoders, enabling them to maintain synchronized chunk boundaries without direct complex interconnections, thus improving reliability while managing synchronization complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If a synchronization protocol is implemented across multiple nodes, then chunk boundary synchronization is improved, but communication overhead and system complexity increase

Engineering Contradiction:
Improvechunk boundary synchronizationVSAvoidprotocol implementation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The synchronization protocol implements asymmetric roles where one encoder is designated as master and others as slaves. This asymmetry simplifies the protocol implementation complexity by creating a clear hierarchy: the master encoder makes boundary decisions while slave encoders simply follow, reducing the complexity each node must handle while maintaining precise chunk boundary synchronization

Inventive Principle:
Principle #4Asymmetry

3Manufacturing precision

If the master node sets chunk boundaries for all encoders, then synchronization accuracy is improved, but the master node becomes a single point of failure

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidsystem reliability
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The system implements preliminary action by having standby encoders pre-configured to assume the master role. Before a failure occurs, the synchronization protocol establishes a hierarchy where certain encoders are designated as potential masters. When the current master fails, the pre-configured standby encoder can immediately take over, maintaining synchronization accuracy while eliminating the single point of failure

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9706509B2Synchronization of streaming data
Publication Date: 2017.07.11 CISCO TECHNOLOGY INC
  • US9706509B2 patent drawing
  • US9706509B2 patent drawing
  • US9706509B2 patent drawing

AI summary

An apparatus can include an interface to receive and send inter-node communications messages with respect to at least one other node. A synchronization control can implement a synchronization protocol for controlling synchronization of content chunks generated for at least one content stream based on synchronization data. The synchronization control can determine the synchronization data for the content stream (i) based on synchronization information provided in an information message received from the other node if the other node has a greater priority or (ii) based on self-established synchronization information if the other node has a lower priority.