Streaming Server Predictive Block Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In streaming applications, there is uncertainty about how many blocks to transmit ahead of time, leading to user delays and inefficient network bandwidth usage, as transmitting too many blocks wastes resources while transmitting too few blocks underutilizes bandwidth.
Innovation Solution
A technique that determines a data window size to proactively transmit predicted blocks using surplus bandwidth, allowing a streaming playback device to cache and use these blocks when needed, thereby reducing user delays and optimizing bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If too many blocks are transmitted ahead of time, then user delays are reduced, but network bandwidth is wasted
Solution Approach 1:
The system proactively transmits predicted blocks before they are actually requested by the application. The streaming server analyzes application behavior patterns and sends anticipated data blocks in advance, allowing the playback device to have data ready when needed, thus reducing user-perceived delays without transmitting excessive data.
Solution Approach 2:
The system uses feedback from application execution patterns and cache hit rates to dynamically adjust the number of predicted blocks transmitted. By monitoring which blocks are actually used and which are wasted, the system refines its predictions and optimizes the balance between reducing delays and conserving bandwidth.
2Loss of energy
If too few blocks are transmitted ahead of time, then network bandwidth is conserved, but user delays increase
Solution Approach 1:
The system transmits a carefully calculated number of predicted blocks in advance based on application behavior analysis. This preliminary transmission ensures that sufficient data is available to meet user expectations for responsiveness while avoiding the waste of transmitting excessive blocks that won't be used.
3Loss of energy
If blocks are transmitted only when requested, then network bandwidth is not wasted, but the system must expend user's valuable time transmitting blocks during wait periods
Solution Approach 1:
Instead of waiting for explicit requests, the system proactively transmits predicted blocks before they are needed. This eliminates the waiting period where the system would otherwise transmit blocks during user-perceived delays, as the data is already available when the application requests it.
Solution Approach 2:
The streaming server autonomously predicts which blocks will be needed and transmits them without waiting for explicit requests. The system serves itself by using its own analysis capabilities to generate transmission decisions, eliminating the need to react to user requests with subsequent delays.
4Loss of time
If the system transmits predicted blocks, then user delays are reduced, but uncertainty remains about how many blocks to transmit
Solution Approach 1:
The system uses feedback loops to monitor cache hit rates, application behavior patterns, and actual block usage. This feedback information is used to continuously refine predictions and adjust the number of blocks transmitted, reducing the uncertainty in transmission control decisions while maintaining low user delays.
Data Source
AI summary
A technique for determining a data window size allows a set of predicted blocks to be transmitted along with requested blocks. A stream enabled application executing in a virtual execution environment may use the blocks when needed.


