Bandwidth Prediction Using Slope and Moving Average
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The lack of suitable bandwidth in cloud services leads to disconnections from cloud servers due to network congestion or busy servers, resulting in significant network service recovery costs, performance drops, and increased infection risks for client computers during malware scanning.
Innovation Solution
A bandwidth prediction mechanism that calculates current bandwidth, computes a moving average, and predicts future available bandwidth to prevent disconnections by dynamically adjusting timeouts and managing network resources, ensuring sufficient capacity for cloud services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cloud services use network communication between client and server, then service functionality is improved, but network congestion and disconnections occur due to insufficient bandwidth
Solution Approach 1:
The system performs preliminary actions by calculating current bandwidth, computing moving averages, and predicting future bandwidth availability before disconnections occur. This allows the system to proactively adjust timeout values and manage network resources to prevent connection failures rather than reacting after problems arise.
Solution Approach 2:
The system implements dynamic adjustments by continuously monitoring bandwidth conditions and adapting timeout values based on predicted network capacity. Instead of using static timeout settings, the system dynamically modifies operational parameters in response to changing network conditions, improving both reliability and resource utilization.
2Device complexity
If static timeout values are used for cloud service queries, then system simplicity is maintained, but network service recovery costs increase due to inability to react to real network traffic situations
Solution Approach 1:
The system calculates and predicts bandwidth availability in advance before service queries are executed. By having bandwidth predictions ready beforehand, the system can immediately adjust timeout values when queries are sent, eliminating the need for complex real-time adjustments during operations while still achieving adaptive behavior.
Solution Approach 2:
The system performs self-service by automatically monitoring its own network conditions, predicting bandwidth availability, and adjusting its operational parameters without external intervention. This automated self-adjustment mechanism reduces service recovery time while maintaining reasonable system complexity through programmatic autonomy.
3Productivity
If multiple client computers access cloud service simultaneously, then service utilization is improved, but available bandwidth decreases leading to disconnections
Solution Approach 1:
The system implements feedback by continuously monitoring actual bandwidth consumption and comparing it against predicted availability. When multiple clients access the service simultaneously, the system uses this feedback to detect bandwidth shortages and adjust timeout values or resource allocation accordingly, preventing disconnections while maintaining high service utilization.
Solution Approach 2:
The system changes operational parameters dynamically based on bandwidth conditions. When multiple clients are accessing the service and bandwidth becomes constrained, the system modifies timeout values and resource allocation parameters to optimize performance under varying load conditions, maintaining productivity while adapting to reduced available bandwidth.
Data Source
AI summary
A software module on a client computer sends a query to a remote computer server operating a cloud service and receives a response, in order to determine latency. The latency is used with the total size of the packets sent and the packet size to determine the bandwidth available over the network connection at that time. Bandwidth available is calculated periodically and stored in a database of the client computer. Comparing a calculated bandwidth with predefined threshold values indicates whether the network status is good for initiating a cloud service with the computer server or poor. Any number of bandwidth available values are used to determine a slope and the slope is used to predict a bandwidth available value at a future time. A bandwidth available moving average is calculated by summing the bandwidth values for the previous days and dividing by the number of days; the moving average is calculated periodically.


