HTTP/2 Push Probing for Accurate Bandwidth Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The HTTP/2 Push feature complicates network quality estimation for client devices, as server-initiated data pushes can lead to inaccurate bandwidth evaluation due to caching and overlapping requests, resulting in either optimistic or pessimistic estimates, and active probing methods waste bandwidth or disrupt user experience.
Innovation Solution
A method where the server device enters a probing mode, pushing determined resources at a target data rate and notifying the client of the start and end of data transmission, allowing the client to accurately determine the actual data rate and enabling efficient network quality estimation without explicit client requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the server device uses the Push feature to send resources to the client device, then the client device can obtain resources more quickly, but the client device cannot accurately determine when data transmission occurs, leading to inaccurate bandwidth estimation
Solution Approach 1:
The server device sends push notifications to the client device that contain timing information about data transmission. This feedback mechanism allows the client device to accurately determine when resources are pushed and calculate bandwidth based on precise transmission timestamps, resolving the measurement accuracy problem while maintaining the speed benefit of push transmission
Solution Approach 2:
The patent introduces an intermediary mechanism (push notification with timing information) that bridges the gap between server-side push transmission and client-side bandwidth measurement. This intermediary provides the client device with the necessary timing data to accurately measure bandwidth without interfering with the efficient push transmission model
2Measurement precision
If the client device uses active probing to estimate network quality, then it can obtain bandwidth information, but it wastes bandwidth or disrupts user experience
Solution Approach 1:
The server device performs the probing action in advance by pushing resources to the client device before the client explicitly requests them. This preliminary action allows the client to measure bandwidth using legitimately pushed resources rather than wasting additional probing traffic, eliminating bandwidth waste while maintaining measurement capability
Solution Approach 2:
The system uses the push transmission mechanism itself to provide the measurement data needed for bandwidth estimation. Instead of separate probing traffic, the regular push resources serve dual purposes: delivering content and providing measurement samples, allowing the system to self-service its own monitoring needs without additional overhead
3Ease of operation
If the client device requests resources explicitly, then it can control resource acquisition, but it cannot benefit from server-initiated push transmission that delivers resources before they are requested
Solution Approach 1:
The server device pushes resources to the client device in advance, before the client explicitly requests them. This preliminary action reduces the time delay between resource availability and client receipt, while the client maintains control by selectively accepting or rejecting pushed resources based on its current needs
Solution Approach 2:
The system dynamically adapts to client needs by allowing the client to accept or reject push transmissions based on real-time conditions. This dynamic control mechanism enables the client to benefit from early resource delivery when appropriate while maintaining operational control to avoid receiving unnecessary resources
Data Source
AI summary
The present invention relates generally to network quality estimation using HTTP/2 push feature. When network quality estimation is required, a client web application requests a server to enter a probing mode. During the probing mode, the server pushes useful data to the application for the latter to perform the estimation. This avoids wasting bandwidth since the useful data are likely to be used by the application. Furthermore, during the probing mode, the server notifies the application of the push start and the push end of each pushed data. This is one using a web socket established with the application. This makes it possible to overcome the limitations of the application in accessing HTTP/2 features of a client browser. Based on the notifications, the application is able to perform accurate estimations.


