Smart Cache Selecting Video Representations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
HTTP adaptive streaming is not cache-friendly, leading to network congestion and inefficient resource utilization, as the quality of video playback is influenced by the initial client's request, potentially resulting in lower quality video for subsequent clients despite available network resources.
Innovation Solution
A smart cache system that determines the most relevant representation based on priority and frequency of requests, selecting the main relevant representation and optionally downloading auxiliary representations to ensure optimal quality for all clients, while also managing cache storage efficiently to anticipate future demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a cache stores representations based on previous requests, then the cache can serve subsequent requests faster, but the cache may store low-quality representations that do not meet the needs of subsequent clients
Solution Approach 1:
The cache performs preliminary actions by proactively downloading alternative representations of video segments before they are actually requested by clients. When the cache detects a request for a segment, it checks not only for the exact requested representation but also for alternative representations that may be stored, and pre-loads them into the cache for future requests.
Solution Approach 2:
The cache dynamically adapts its behavior based on incoming requests. It maintains a list of alternative representations for each segment and can switch between serving cached representations and forwarding requests to the server based on what is available and what clients need, making the caching strategy flexible rather than static.
2Adaptability or versatility
If the cache forwards all requests to the server when the preferred representation is not cached, then all clients receive their requested quality, but network resources are wasted and server load increases
Solution Approach 1:
The cache implements a feedback mechanism where it monitors client requests and uses this information to intelligently decide whether to serve from cache or forward to server. The cache maintains knowledge of alternative representations available and uses this feedback to make informed decisions about request handling, reducing unnecessary server communications.
Solution Approach 2:
The cache creates and maintains copies of alternative representations of video segments. Instead of relying solely on the server to provide the exact representation requested, the cache stores multiple versions (copies) of segments at different quality levels, allowing it to satisfy client requests from local copies when available.
3Adaptability or versatility
If the cache stores multiple representations of the same segment, then it can better serve diverse client needs, but cache storage space is consumed
Solution Approach 1:
The cache applies local quality by maintaining alternative representations selectively rather than universally. For each video segment, the cache identifies and stores alternative representations that are most likely to be useful based on the specific segment and request patterns, rather than storing all possible representations for all segments uniformly.
Solution Approach 2:
The cache changes parameters by dynamically adjusting which representations to store and serve based on request patterns and available storage. It modifies its caching strategy by maintaining lists of alternative representations and prioritizing storage of segments and alternatives that provide the most value relative to storage consumption.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Cache (DANE) arranged between client terminals and at least one server, said cache (DANE) being configured to receive, from client terminals, requests for at least a first representation of a segment of a multimedia content available in a plurality of representations, comprising: - a communication module (10) configured to receiving, in a first period of time, a plurality of requests for a given segment from the client terminals, each request specifying one first representation and at least one alternative representation of said given segment; - a module of relevancy (15) configured to determining at least one main relevant requested representation amongst the representations of the requests received during the first period of time; and wherein the communication module (10) is further configured to request said main relevant representation from a remote server.