Probabilistic Video Tile Caching for Streaming Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for caching spatially and temporally interactive streaming data, such as high-resolution video, face challenges in managing bandwidth and latency, particularly as data density increases and request frequency rises, leading to network traffic and lag issues.

Innovation Solution

A probabilistic caching system that prioritizes and prefetches video tiles based on a stochastic human-behavioral model, using a Markov chain to generate a list of tiles by their retrieval probability, allowing for adaptive eviction and prefetching without the need for crowd-sourcing or extensive preprocessing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If data density increases to provide higher resolution streaming data, then data quality improves, but bandwidth requirements increase leading to network traffic strain

Engineering Contradiction:
Improvedata resolutionVSAvoidbandwidth requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the high-resolution video stream into discrete tiles that can be independently cached and retrieved. Instead of treating the entire high-resolution video as a single data unit, the system divides it into smaller spatial segments (tiles) that can be selectively loaded into cache based on predicted user viewing behavior, reducing the immediate bandwidth burden while maintaining high resolution quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by prefetching and caching video tiles before they are actually requested by the user. Using a stochastic model, the system predicts which tiles will be needed soon and loads them into cache in advance, thereby reducing real-time bandwidth requirements and network traffic strain during actual playback.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If request frequency increases to improve interactivity, then user engagement improves, but aggregate latency increases due to repeated data retrieval

Engineering Contradiction:
Improverequest frequencyVSAvoidaggregate latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary caching actions by pre-loading video tiles into the cache based on stochastic predictions of user behavior patterns. When users make frequent interactive requests, the cached tiles are served from local storage rather than requiring repeated network retrievals, significantly reducing aggregate latency while maintaining high request frequency for interactivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by monitoring actual user interaction patterns and using this information to refine its stochastic model predictions. This feedback loop allows the system to adaptively improve its prefetching accuracy over time, ensuring that cached tiles match actual user requests and minimizing latency for frequent interactions.

Inventive Principle:
Principle #23Feedback

3Device complexity

If simple LRU caching is used to reduce complexity, then implementation ease improves, but cache effectiveness decreases leading to frequent misses

Engineering Contradiction:
Improvecaching algorithm complexityVSAvoidcache hit ratio
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

Instead of waiting for cache misses to occur, the system performs preliminary actions by proactively predicting which tiles will be needed and caching them in advance using a stochastic model. This approach significantly improves cache hit ratio compared to simple LRU caching, as the system anticipates user requests rather than merely reacting to them, while adding only moderate computational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the fundamental parameter of cache selection from time-based (LRU) to probability-based (stochastic prediction). By using predicted tile access probabilities as the caching criterion instead of simple recency, the system achieves much higher cache effectiveness. The complexity increase is offset by the dramatic improvement in cache hit ratio and reduction in latency.

Inventive Principle:
Principle #35Parameter changes

4Speed

If prefetching is implemented to reduce latency, then data retrieval speed improves, but preprocessing overhead increases significantly

Engineering Contradiction:
Improvedata retrieval speedVSAvoidpreprocessing overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary prefetching actions based on stochastic predictions of user behavior. Rather than using complex preprocessing methods like ROI detection that require extensive analysis, the system uses a relatively simple probabilistic model to predict which tiles to prefetch, achieving reduced latency with minimal preprocessing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs a computationally inexpensive stochastic model for prefetching decisions rather than expensive preprocessing methods. The model uses simple probability calculations based on basic user interaction patterns, making it computationally lightweight and suitable for real-time implementation without significant preprocessing overhead, while still delivering fast data retrieval speeds.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9043848B2System and method for interactive spatio-temporal streaming data
Publication Date: 2015.05.26 THE UNITED STATES OF AMERICA AS REPRESENTED BY THE SECRETARY OF THE NAVY
  • US9043848B2 patent drawing
  • US9043848B2 patent drawing
  • US9043848B2 patent drawing

AI summary

System and method for providing a probabilistic order of tiles relative to a current section of a video that a user is viewing. A cache implementation uses this ordering to decide what tiles to evict from the cache, i.e. which tiles will probably not be accessed within a particular timeframe, but not when to evict (this is up to the cache implementation). A cache implementation can also use the prioritized list of the present embodiment to pre-fetch tiles.