Logical Clock Synchronization for Distributed Video Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in achieving synchronized video viewing across remote client devices due to discrepancies in network connections and client device capabilities, leading to poor user experiences when multiple users manipulate playback controls simultaneously.

Innovation Solution

The use of a logical clock system allows client devices to maintain synchronization by identifying messages related to actions that occurred before a specific event, enabling the server to establish a strict happened-before relationship and ensuring that only relevant synchronization instructions are processed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple users manipulate playback controls simultaneously on remote client devices, then user interaction and control flexibility improve, but synchronization accuracy deteriorates due to network connection discrepancies and device capability variations

Engineering Contradiction:
Improveuser interaction flexibilityVSAvoidsynchronization accuracy
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The system pre-establishes a logical clock and happens-before relationship framework before simultaneous user interactions occur. This preliminary structure allows the server to predict and properly order playback control messages from multiple users, ensuring that even when users manipulate controls simultaneously, the server can reconstruct the correct causal sequence and maintain synchronization accuracy across all client devices.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the server processes all collaboration messages from multiple client devices, then comprehensive synchronization is achieved, but network bandwidth and server processing load increase

Engineering Contradiction:
Improvesynchronization completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts and processes only the essential synchronization information needed for maintaining playback synchronization. Rather than transmitting and processing all collaboration messages in full detail, the system identifies and processes only the critical playback control messages that affect synchronization, filtering out redundant information and reducing overall network bandwidth consumption while maintaining synchronization reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements selective processing of collaboration messages based on their relevance to playback synchronization. Not all messages receive equal processing attention - only those that directly impact playback state (play, pause, seek commands) are fully processed, while other collaborative actions are handled with reduced overhead, achieving sufficient synchronization without excessive network resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If the system maintains strict synchronization across all client devices, then video playback consistency improves, but user experience deteriorates due to noticeable delays and restrictions on simultaneous control

Engineering Contradiction:
Improvevideo playback consistencyVSAvoiduser experience quality
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The server acts as an intermediary that receives playback control messages from multiple users, orders them according to the logical clock and happens-before relationships, and then distributes the ordered commands to all client devices. This intermediary approach maintains video playback consistency through proper ordering while shielding users from the complexity of synchronization delays, as each user experiences responsive local control without noticing the backend reordering operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the system processes collaboration messages in strict order, then synchronization reliability improves, but responsiveness to user actions deteriorates due to waiting for message ordering

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidresponse speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The logical clock and happens-before relationship framework is established preliminarily before messages are processed. This pre-computed ordering structure allows the server to quickly determine the correct sequence of messages without extensive real-time analysis, improving response speed while maintaining synchronization reliability. Users experience faster response times because the ordering logic is prepared in advance rather than computed on-the-fly for each message.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12279006B2Synchronized video viewing using a logical clock
Publication Date: 2025.04.15 DROPBOX INC
  • US12279006B2 patent drawing
  • US12279006B2 patent drawing
  • US12279006B2 patent drawing

AI summary

The present technology pertains to synchronized video viewing that is supported by the use of a pending changes count to keep the client devices in synchronization while providing a user experience that matches the expectations of the user. A second client device can receive input to change some aspect of the playback of a video that is being viewed synchronously with at least one other device. The second client device can process the event so the video can reflect the received input. The second client device can also send a collaboration message to a synchronized video viewing service to inform other client devices of the command. Since the second client device is aware of its own event, the second client device can ignore processing any other collaboration messages until it receives the collaboration message it initiated echoed back to it. Thereafter it can resume processing received collaboration messages.