Dynamic Credit Scheduler for Network Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional credit-based schedulers in networks lack an effective method to dynamically adjust credit sizes, leading to inefficiencies in bandwidth allocation and increased latency and jitter, especially in real-time applications like voice and video transmissions.
Innovation Solution
The solution involves dynamically adjusting credit sizes based on a weighted moving average of incoming packet sizes, ensuring that the average credit size equals the moving average incoming packet size of the entire scheduler, which can be calculated using simple or weighted moving averages, and prioritizing queues to optimize bandwidth allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed credit sizes are used in credit-based schedulers, then bandwidth allocation is simplified, but latency and jitter increase due to inability to adapt to traffic burstiness and packet size variation
Solution Approach 1:
The patent implements dynamic credit adjustment by calculating a moving average of incoming packet sizes and using this to continuously update credit values. The credit for each queue is adjusted based on the formula: credit = moving_average_packet_size × queue_weight, allowing the scheduler to adapt to changing traffic patterns in real-time, thereby reducing latency and jitter while maintaining operational simplicity
Solution Approach 2:
The system incorporates feedback mechanisms by monitoring incoming packet sizes and using this information to adjust credit allocations. The moving average calculation provides continuous feedback about traffic characteristics, which is then used to optimize bandwidth allocation dynamically, resolving the contradiction between simple operation and performance optimization
2Loss of time
If credit sizes are dynamically adjusted based on moving average packet size, then latency and jitter are reduced, but computational complexity increases
Solution Approach 1:
The patent applies partial action by updating credits only based on the moving average of packet sizes rather than analyzing every individual packet characteristic. This selective approach captures the essential traffic patterns needed for optimization while avoiding the computational overhead of complete traffic analysis, thus reducing latency and jitter without excessive complexity
Solution Approach 2:
The system changes the credit parameter dynamically based on observed packet size patterns. By adjusting this single critical parameter based on moving average calculations, the system achieves performance optimization without implementing complex multi-parameter control mechanisms, balancing improved latency/jitter with manageable computational complexity
3Device complexity
If round robin scheduler serves each queue in turn without considering packet size, then implementation is simple, but bandwidth allocation is unfair to sources sending long packets
Solution Approach 1:
The patent applies local quality by assigning different credit values to different queues based on their specific traffic characteristics and priority requirements. Instead of uniform treatment, each queue receives customized credit allocation proportional to its needs, achieving fair bandwidth distribution while maintaining the simplicity of round-robin servicing through the formula: credit_i = moving_average_packet_size × weight_i
4Adaptability or versatility
If multiple queues are maintained for different service classes, then quality of service differentiation is achieved, but scheduling complexity increases
Solution Approach 1:
The patent achieves QoS differentiation across multiple queues using a universal credit-based round-robin mechanism. The same basic scheduling algorithm serves all queues, with the only variation being the credit value assigned to each queue based on its service class. This universal approach provides versatile QoS support without requiring complex queue-specific scheduling logic for each service class
Data Source
AI summary
A credit based queue scheduler dynamically adjusts credits depending upon at least a moving average of incoming packet size to alleviate the impact of traffic burstiness and packet size variation, and increase the performance of the scheduler by lowering latency and jitter. For the case when no service differentiation is required, the credit is adjusted by computing a weighted moving average of incoming packets for the entire scheduler. For the case when differentiation is required, the credit for each queue is determined by a product of a sum of credits given to all queues and priority levels of each queue.


