Network Performance Estimation via Historical Data Logging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices struggle to efficiently estimate network performance, especially when applications start or have not been executing for a sufficient duration, leading to suboptimal data streaming and other network operations due to inadequate adjustment for network conditions.
Innovation Solution
A system and method that include a performance logging module generating log entries based on operational data, which are stored in a network performance database, allowing a performance analysis module to determine network performance estimates by comparing current conditions to historical data, providing estimates for throughput and delay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If applications determine network performance based solely on current session or diagnostics, then the method is simple to implement, but the accuracy of network performance estimation is insufficient especially when applications have just started or have not been executing for sufficient duration
Solution Approach 1:
The system performs preliminary actions by collecting and storing network performance data from previous sessions before the current application needs to estimate network performance. The performance logging module continuously logs operational data including network condition data, physical state data, and realized network performance data into a database, so that when a new session starts, historical data is already available for analysis to provide accurate estimates even before the application has been executing long enough to gather sufficient current session data.
Solution Approach 2:
The system introduces an intermediary mechanism - a performance logging module and database - that acts as a mediator between network operations and application decisions. This intermediary collects, stores, and provides historical network performance data that applications can query to make informed decisions about quality of service adjustments, thereby improving estimation accuracy without requiring applications to perform complex diagnostics themselves.
2Measurement precision
If applications wait until they have been executing for sufficient duration to gather network performance data, then the estimation accuracy improves, but the response time increases and user experience deteriorates
Solution Approach 1:
The system performs preliminary data collection and storage during previous sessions, so that when a new session begins, the necessary historical network performance data is already ready in the database. This eliminates the need for applications to wait and collect data during their initial execution phase, providing immediate accurate estimates while reducing time loss.
3Measurement precision
If applications perform extensive diagnostics to determine network performance, then the estimation accuracy improves, but the overhead and impact on network operations increases
Solution Approach 1:
The performance logging module serves as an intermediary that handles the complex data collection, storage, and retrieval operations. Applications simply query pre-processed data from the database rather than performing extensive diagnostics themselves. This significantly reduces the overhead and impact on network operations while maintaining high estimation accuracy.
Solution Approach 2:
The system performs self-service by automatically collecting, storing, and managing network performance data without requiring applications to manually perform diagnostics or configuration changes. The performance logging module autonomously logs operational data and makes it available for queries, freeing applications to focus on their primary functions while still achieving accurate network performance estimation.
Data Source
AI summary
The present disclosure is directed to techniques for estimating network performance of a mobile device. The techniques include a performance logging module and a performance analysis module. The performance logging module logs realized network performance of previously performed network operations and the operational conditions of a mobile device at the time of the performed network operations. The performance analysis module receives requests to estimate network performance, the requests including the current condition of the mobile device at the time of the request. The performance analysis module determines a network performance estimate based on the current condition of the mobile device and the operational conditions of the previously performed network operations, and the realized network performances of the previously performed network operations. It is appreciated that the proposed techniques allow applications to execute faster, as the applications can tune network operations based on the network performance estimates.


