Adaptive Bandwidth Throttling for Priority-Based Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transfer systems fail to effectively manage bandwidth allocation based on priority, leading to less important data transfers interfering with more critical ones, causing congestion and impact on user-facing or mission-critical data operations.
Innovation Solution
The implementation of adaptive bandwidth throttling, which involves determining and adjusting target bandwidths for data transfers using a weighting factor based on network and historical bandwidths, prioritizing higher priority transfers while allowing lower priority transfers to utilize excess bandwidth, thereby minimizing interference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If bandwidth is allocated equally to all data transfers, then simplicity of bandwidth management is maintained, but lower priority transfers interfere with higher priority transfers causing congestion
Solution Approach 1:
The patent changes the bandwidth parameter dynamically based on priority levels. Different priority classes (foreground, midground, background) are assigned different target bandwidths and weighting factors. The system monitors actual bandwidth usage and adjusts transfer parameters (delay, block size) to maintain target bandwidths, ensuring critical transfers receive sufficient bandwidth while less critical transfers adapt to available capacity.
Solution Approach 2:
The patent implements dynamic bandwidth allocation where target bandwidths and weighting factors are adjusted based on priority levels and monitored performance. The system continuously adapts transfer parameters including delay intervals and block sizes to maintain target bandwidths, allowing the bandwidth management system to respond to changing network conditions and priority requirements rather than using static allocation.
2Productivity
If lower priority data transfers use maximum available bandwidth, then overall data transfer throughput is improved, but higher priority transfers are slowed or interrupted
Solution Approach 1:
The patent applies different quality levels of bandwidth allocation to different priority classes. Foreground transfers receive guaranteed bandwidth with high priority weighting, midground transfers receive moderate bandwidth allocation, and background transfers receive remaining excess bandwidth. Each priority class has its own target bandwidth and weighting factor, allowing the system to optimize overall throughput while protecting critical operations through differentiated local quality allocation.
3Reliability
If bandwidth throttling is applied to lower priority transfers, then higher priority transfers maintain consistent bandwidth, but lower priority transfers experience increased delay
Solution Approach 1:
The patent implements periodic monitoring and adjustment of bandwidth allocation. The system monitors actual bandwidth usage at regular intervals and adjusts transfer parameters (delay, block size) to maintain target bandwidths. This periodic control allows high priority transfers to maintain consistent bandwidth while low priority transfers experience throttling only when necessary, minimizing unnecessary delays by allowing full speed when bandwidth is available.
Data Source
AI summary
Apparatuses, systems, methods, and computer program products are disclosed for adaptive bandwidth throttling. A monitor module determines a network bandwidth and/or a historical bandwidth for a data transfer between a storage source and a storage target. A target module adjusts a target bandwidth for a data transfer using a weighting factor. A target bandwidth may be based on at least one of a network bandwidth and a historical bandwidth. A weighting factor for a target bandwidth may be based on a priority for a data transfer. A transfer module transfers at least a block of data of a data transfer from a storage source to a storage target in a manner configured to satisfy a target bandwidth. A delay before transferring a block and/or a block size for the block may be selected based on a target bandwidth.


