Dynamic Buffer Allocation for Network Queue Traffic Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional buffer management methods in network devices lead to uncoordinated output traffic ratios due to larger queues preempting shared buffers, resulting in inefficient resource allocation and inaccurate traffic scheduling.
Innovation Solution
A method where buffers are allocated to queues based on their output rates, ensuring that the ratio of output traffic meets an expected scheduling ratio by determining the output rates of each queue and allocating buffers accordingly, even when the total buffer occupancy exceeds a threshold.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a management mechanism combining sharing and exclusiveness is used to prevent queues from occupying static storage space, then buffer occupancy is controlled, but the ratio of output traffic becomes uncoordinated and inaccurate
Solution Approach 1:
The patent implements dynamic buffer allocation where the buffer size for each queue is adjusted in real-time based on its output rate. The formula buffer_size = output_rate × buffer_time allows the system to adapt buffer resources dynamically, ensuring that queues with higher output rates receive proportionally more buffer space, thus maintaining accurate output traffic ratios while controlling overall buffer occupancy.
Solution Approach 2:
The patent changes the buffer allocation parameter from fixed/static to dynamic based on output rate. By using the parameter relationship buffer_size = output_rate × buffer_time, the system transforms the buffer allocation from a static configuration to a dynamic parameter that automatically adjusts to maintain accurate traffic scheduling ratios.
2Productivity
If larger data streams preempt larger buffers, then buffer space is efficiently utilized, but the ratio of output traffic becomes uncoordinated
Solution Approach 1:
The patent applies parameter changes by establishing a direct proportional relationship between buffer size and output rate through the formula buffer_size = output_rate × buffer_time. This ensures that buffer allocation reflects the actual traffic scheduling requirements, maintaining both efficient utilization and coordinated output ratios.
Solution Approach 2:
The system uses output rate as a feedback parameter to continuously adjust buffer allocation. By monitoring the output rate of each queue and adjusting its buffer size accordingly, the system ensures that buffer resources are allocated in proportion to the actual traffic needs, maintaining coordinated output traffic ratios while achieving efficient buffer utilization.
3Quantity of substance
If exclusive buffers are allocated to each queue, then buffer occupancy is controlled, but buffer resources are wasted when queues are short
Solution Approach 1:
The patent implements dynamic buffer allocation that adjusts buffer size based on real-time output rates. When queues are short or have low output rates, their allocated buffer size decreases, freeing up buffer resources for other queues. This dynamic adjustment eliminates the waste of buffer resources that occurs with static exclusive buffer allocation while maintaining buffer occupancy control.
Solution Approach 2:
The patent creates a shared buffer pool that serves multiple queues dynamically. Instead of dedicating fixed buffer space to each queue, the buffer resources become universal and can be allocated to any queue based on its current output rate requirements, eliminating waste while maintaining control over overall buffer occupancy.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
This application provides a buffer allocation method and a device. The method includes: determining, by a device, a first output rate of a first queue on the device and a second output rate of a second queue on the device; and separately allocating, by the device, a buffer to the first queue and a buffer to the second queue based on a ratio of the first output rate to the second output rate. The device separately allocates a buffer to each of queues based on a ratio of output rates of the queues, so that a ratio of output traffic of the queues meets an expected scheduling ratio.