Adaptive Streaming Buffering via Dynamic Session and Cache Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Adaptive streaming services face interruptions due to unstable network conditions, particularly in wireless environments, where buffering techniques are crucial but require effective methods to manage varying data transmission rates and network bandwidth.
Innovation Solution
A method and apparatus for determining the optimal buffering scheme and buffer size based on per-session throughput and available bandwidth, allowing for multiple sessions to be established, which generates request messages to efficiently receive data and improve user quality of experience by minimizing interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is pre-stored in a buffer to reduce interruptions during reproduction, then the continuity of data transmission is improved, but the initial buffering time increases
Solution Approach 1:
The patent applies preliminary action by pre-storing data in a buffer before reproduction begins. The buffer pre-fetches and stores video data segments in advance, ensuring that data is available for continuous playback without interruptions. This resolves the contradiction by performing the data storage action beforehand, so that during playback, the pre-stored data can be consumed without requiring additional real-time transmission, thus maintaining reliability while minimizing the impact on user experience.
2Productivity
If multiple sessions are established to receive data based on per-session throughput and available bandwidth, then the data reception efficiency is improved, but the device complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the data reception process into multiple independent sessions. Each session receives data segments separately based on measured per-session throughput and available bandwidth. The terminal determines the number of sessions to establish and allocates data reception across these sessions, allowing parallel data acquisition that improves overall reception efficiency while managing complexity through structured session management.
Solution Approach 2:
The patent applies dynamics by making the number of sessions and buffer size adaptive rather than fixed. The terminal dynamically determines the number of sessions to establish based on real-time measurements of per-session throughput and available bandwidth. This dynamic adjustment allows the system to optimize data reception efficiency according to current network conditions while adapting the complexity level to match the actual requirements, preventing unnecessary complexity when simple conditions suffice.
3Reliability
If the buffer size is increased to maintain high video quality during variable transmission rates, then the video quality is improved, but the network resource utilization decreases
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting the buffer size based on measured network conditions and cache hit ratios. Rather than using a fixed buffer size, the system modifies the buffer parameter adaptively - increasing it when network conditions warrant larger buffering for quality stability, and decreasing it when smaller buffers suffice. This resolves the contradiction by making the buffer size a variable parameter that optimizes both video quality stability and network resource utilization according to actual operating conditions.
Data Source
AI summary
A method for buffering data in an adaptive streaming service according to an embodiment of the present disclosure comprises the steps of: measuring a per-session throughput and an available bandwidth with respect to traffic generated from a streaming application; determining a number of multiple sessions based on the per-session throughput and the available bandwidth; determining a buffer size for pre-storing data based on a cache hit ratio of the streaming application; and generating at least one request message requesting data based on the number of multiple sessions and the buffer size, and transmitting the at least one request message to a server.


