Virtual-Time Rate Mechanism for Dynamic Buffer Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in efficiently managing limited packet buffers across multiple sub-queues due to finite memory, leading to congestion and unfair resource allocation, which affects network performance and Quality of Service (QoS).
Innovation Solution
The Virtual-Time Rate (VTR) mechanism dynamically allocates buffers based on a fair scheduler, computing a global virtual time rate to manage congestion and allocate resources fairly among sub-queues, using metrics like sub-queue size and packet rates, and can be integrated with Active Queue Management (AQM) and flow control techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more packet buffers are allocated to handle increased network traffic and ports, then network throughput and capacity are improved, but device cost and complexity increase
Solution Approach 1:
The patent implements dynamic buffer allocation where the buffer pool is not statically divided but dynamically shared among sub-queues based on real-time scheduling needs. The fair scheduler adjusts buffer allocation dynamically, allowing the system to adapt to varying traffic patterns without increasing physical buffer capacity, thus improving throughput without proportional increases in complexity.
Solution Approach 2:
The patent creates a universal buffer pool that serves multiple sub-queues simultaneously, rather than dedicating separate buffers to each queue. This multi-functional buffer pool is managed by a fair scheduler that allocates buffers to different sub-queues based on their current needs, reducing overall system complexity while maintaining high network throughput.
2Productivity
If packet buffers are shared among multiple sub-queues, then resource utilization efficiency is improved, but fairness in resource allocation deteriorates
Solution Approach 1:
The fair scheduler implements a feedback mechanism that continuously monitors the state of each sub-queue and adjusts buffer allocation accordingly. When a sub-queue becomes congested or has higher priority needs, the scheduler receives feedback and reallocates buffers from less active queues, ensuring fair resource distribution while maintaining high overall utilization efficiency.
Solution Approach 2:
The buffer allocation is dynamically adjusted based on real-time queue states rather than being statically assigned. The fair scheduler continuously reevaluates which sub-queues need buffers and allocates them dynamically, ensuring that resource sharing remains fair even as traffic patterns change, thus maintaining both efficiency and fairness.
3Device complexity
If static buffer allocation is used among sub-queues, then device complexity is reduced, but network performance under varying traffic conditions deteriorates
Solution Approach 1:
The patent replaces static buffer allocation with dynamic allocation managed by a fair scheduler. The scheduler automatically adjusts buffer distribution among sub-queues based on current traffic conditions, queue lengths, and priority levels. This dynamic approach maintains relatively simple device architecture while significantly improving network performance under varying traffic conditions compared to static allocation.
4Reliability
If more memory is allocated for packet buffers, then congestion management capability is improved, but device cost increases
Solution Approach 1:
The patent implements dynamic buffer allocation where a fixed memory pool is flexibly distributed among sub-queues based on real-time congestion levels and traffic demands. During high congestion periods, the scheduler allocates more buffers to affected queues, while during low congestion, buffers are released back to the pool. This dynamic approach improves congestion management capability without requiring proportional increases in total memory resources.
Solution Approach 2:
The system changes the allocation parameters of the buffer pool dynamically rather than increasing the total buffer size. By adjusting allocation ratios, priority weights, and scheduling parameters, the system optimizes congestion management within the existing memory constraints, avoiding the need for additional memory investment.
Data Source
AI summary
A system maintains a queue structure used for storing packets and comprising a plurality of sub-queues used to process the packets, wherein the packets in the queue structure are to be dequeued by a scheduler. The system computes a respective packet virtual time for a respective packet based on at least a packet virtual time of a previous packet processed by the same sub-queue. The system computes a global virtual time based on a packet virtual time of a packet being dequeued from the queue structure. The system measures a rate at which the global virtual time progresses based on the virtual time of packets dequeued from the queue structure. The system manages congestion in the sub-queues based on the rate at which the global virtual time progresses, a metric of a respective sub-queue, and an amount of a resource for the queue structure.


