Client-Side Network Measurement via Browser Background Process
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content providers face challenges in providing fast and reliable web services due to high latency and service interruptions, as they often lack application control over client devices to perform client-side network measurements, which can be hindered by browser extensions and security concerns when injecting executable codes.
Innovation Solution
Implementing client-side measurement of network conditions through a background process in web browsers that transmit status reports to additional servers in a CDN, allowing the CDN to infer client-side measurements without requiring application control or executable code injection, using Network Error Logging (NEL) and Report-To headers to direct status reports to various endpoints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If executable codes are injected into delivered content to enable client-side measurements, then client-side network measurements can be obtained, but browser extensions may prevent execution and security/privacy concerns arise
Solution Approach 1:
The patent introduces a background process as an intermediary component that runs independently of the web browser's JavaScript execution environment. This background process receives requests from the CDN server and performs network measurements without being subject to browser extension blocking, thereby reliably obtaining client-side network measurements while avoiding the reliability issues of code injection
Solution Approach 2:
The patent replaces the mechanical system of JavaScript code injection and execution with a different approach using background processes that communicate through standardized protocols. This substitution eliminates the dependency on browser's JavaScript engine and its susceptibility to extension interference, achieving measurement reliability through a fundamentally different technical mechanism
2Measurement precision
If application control is required at client side to perform measurements, then accurate client-side network conditions can be obtained, but content providers may not have application control over client devices
Solution Approach 1:
The background process serves as an intermediary that bridges the gap between the CDN server and the client device's network conditions. It enables the server to obtain client-side measurements without requiring direct application control, as the background process independently executes measurements and reports results back to the server through standardized communication protocols
Solution Approach 2:
The background process operates autonomously on the client device, performing network measurements without requiring content provider control or intervention. It self-manages the measurement execution and automatically reports results to the CDN server, enabling deployment flexibility while maintaining measurement precision
3Ease of operation
If server-side measurements are used to determine network conditions, then measurements can be performed without client-side control, but server-side measurements cannot accurately reflect client-side network experience
Solution Approach 1:
The background process acts as an intermediary positioned at the client side that captures actual network conditions experienced by the client device. It performs measurements from the client's vantage point and reports results to the server, providing accurate client-side network experience data while maintaining operational simplicity through automated background execution
Solution Approach 2:
Instead of having the server perform measurements (server-side), the patent inverts the approach by having the client device perform measurements through the background process and report results to the server. This inversion enables accurate capture of client-side network experience while keeping the measurement operation simple and automated
Data Source
AI summary
Techniques of client-side measurement of computer network conditions without application control are disclosed herein. One example technique includes instructing a web browser on a client device to submit status report to a server of a computer system currently not providing content to the client device. The example technique can then include identifying multiple packets containing the status report from the web browser received at the server corresponding, determining a condition of the computer network between the server and the client device based on transmission/reception measurements of the received multiple packets at the server, and selectively directing the server of the computer system to provide the content requested by the web server based on the determined condition of the computer network.


