Data Keyframe Management for Live Streaming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing streaming technologies lack efficient methods for storing and distributing data keyframes during live broadcasts, leading to potential disruptions and inconsistencies in playback for subscribing clients who join mid-stream.

Innovation Solution

A streaming server system that identifies, stores, and distributes data keyframes with predetermined identifiers, allowing clients to join live broadcasts in progress by transmitting stored keyframes and ensuring consistent playback, while also deleting keyframes when the publisher stops publishing or receives a clear message.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data keyframes are periodically retransmitted to ensure clients joining mid-stream receive necessary data, then playback consistency is improved, but network bandwidth consumption and server load increase

Engineering Contradiction:
Improveplayback consistencyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent stores data keyframes in advance at the server before clients join the stream. When a client connects, the server checks the client's buffer status and selectively transmits only the necessary stored keyframes that the client needs, rather than periodically retransmitting all keyframes to all clients. This preliminary storage and on-demand transmission approach ensures playback consistency while minimizing unnecessary network bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data keyframes are stored indefinitely to support clients joining at any time, then client initialization reliability is improved, but server storage requirements and data management complexity increase

Engineering Contradiction:
Improveclient initialization reliabilityVSAvoidserver storage management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The server performs preliminary storage of data keyframes when they are first generated in the stream, maintaining them in a cache or storage structure. The system tracks which keyframes have been transmitted to which clients and automatically purges stored keyframes once they have been successfully delivered. This approach ensures reliable client initialization while managing server storage resources efficiently through automatic cleanup mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces manual or periodic keyframe retransmission mechanisms with an automated system that tracks client buffer status and selectively retrieves stored keyframes based on client needs. The server maintains a mapping between clients and their required keyframes, using this information to automatically determine which stored keyframes to transmit, eliminating the need for complex periodic retransmission schedules and manual intervention.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Stability of the object's composition

If the system transmits stored data keyframes to clients joining mid-stream, then playback continuity is improved, but initial transmission delay for new clients increases

Engineering Contradiction:
Improveplayback continuityVSAvoidclient initialization time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent implements a buffer threshold mechanism where the server transmits stored data keyframes to joining clients only until the client's buffer reaches a predetermined threshold level. Once this threshold is achieved, the server transitions to transmitting only real-time stream data. This partial transmission approach provides sufficient keyframes to ensure playback continuity without unnecessarily delaying client initialization by transmitting all possible historical keyframes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8055779B1System and method using data keyframes
Publication Date: 2011.11.08 ADOBE INC
  • US8055779B1 patent drawing
  • US8055779B1 patent drawing
  • US8055779B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer program products, for using data keyframes. In one aspect, a method includes storing a data keyframe transmitted as part of a live streaming broadcast; receiving a request from a client to join the live streaming broadcast in-progress; determining that the stored data keyframe was transmitted before the request from the client was received; transmitting the stored data keyframe to the client; and distributing streaming content associated with the live streaming broadcast to the client. Further, the data keyframe can be generated by a publisher of the live streaming broadcast. Distributing streaming content further can include storing a plurality of data keyframes transmitted as part of the live streaming broadcast and transmitting the plurality of stored data keyframes to the client before distributing streaming content associated with the live streaming broadcast to the client.