Graph Streaming Application for Media Buffering Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current media streaming services face challenges in reducing re-buffering events due to the need for specific primary and pre-fetching applications for each streaming use case, leading to sub-optimal buffering and increased delays in media playback.

Innovation Solution

A computer-implemented method that uses a graph streaming application to compute distances and scores for media content blocks across multiple potential playback paths, allowing for preemptive transmission and buffering of the most likely blocks, thereby reducing the need for multiple applications and optimizing buffering across various use cases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple separate applications (primary streaming and pre-fetching) are implemented for each streaming use case, then the likelihood of re-buffering events is reduced, but the device complexity and development overhead increase significantly

Engineering Contradiction:
Improvelikelihood of re-buffering eventsVSAvoidnumber of applications
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the primary streaming application and pre-fetching application into a single unified application. This unified application implements both streaming and pre-fetching functionalities within one codebase, eliminating the need for multiple separate applications while maintaining the ability to reduce re-buffering events through coordinated block transmission and pre-fetching operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified application is designed to perform multiple functions: it acts as both a primary streaming application that transmits blocks in the order needed and a pre-fetching application that transmits blocks of other media content items likely to be played back next. This multi-functional design allows a single application to replace what previously required two separate applications

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If buffering multiple blocks is implemented to prevent playback interruptions, then the reliability of continuous playback is improved, but the initial delay before playback begins increases

Engineering Contradiction:
Improvecontinuous playbackVSAvoidinitial delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-fetching and buffering media content blocks before they are actually needed for playback. The unified application predicts which blocks will be needed next and transmits them in advance, so that when playback is initiated or when navigation occurs, the buffer is already populated with sufficient blocks to maintain continuous playback without significant delay

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11770565B2Global approach to buffering media content
Publication Date: 2023.09.26 NETFLIX INC
  • US11770565B2 patent drawing
  • US11770565B2 patent drawing
  • US11770565B2 patent drawing

AI summary

In various embodiments, a graph streaming application computes a first distance along a first potential playback path between a first playback position and a first media content block. The graph streaming application then computes a first score for the first media content block based on the first distance and a first probability associated with the first potential playback path. Similarly, the graph streaming application computes a second score for a second media content block based on a second playback position, a second potential playback path, and a second probability associated with the second potential playback path. The graph streaming application compares the first score and the second score to determine that the first media content block should be buffered by a client device. The graph streaming application then causes the first media content block to be stored in a playback buffer for subsequent playback on the client device.