Flexible Queue Assignment in Network Switches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in managing traffic and queue allocation as the number of subscribers and services grow, requiring flexible queue provision and assignment to support varying priorities and congestion management.
Innovation Solution
A network device with a queue manager that dynamically assigns and configures multiple queues to ports based on traffic conditions, port profiles, and congestion notifications, allowing for flexible queue management and priority schemes, such as supporting up to 64 queues per port and multi-tenant environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional fixed queue assignment is used in network switches, then device complexity is reduced, but adaptability to varying traffic conditions and subscriber needs deteriorates
Solution Approach 1:
The patent implements dynamic queue assignment where the queue manager can flexibly allocate and reassign queues to different ports based on real-time traffic conditions, subscriber requirements, and service priorities. This allows the network switch to adapt to varying demands without physical reconfiguration, resolving the contradiction between adaptability and complexity by making the queue assignment dynamic rather than static.
Solution Approach 2:
The queue manager is designed to handle multiple functions: assigning queues to ports, managing traffic priorities, handling congestion control, and supporting different service types. This universal component consolidates what would otherwise require multiple specialized mechanisms, achieving high adaptability while controlling overall device complexity through functional integration.
2Adaptability or versatility
If the number of queues per port is increased to support more services and subscribers, then adaptability improves, but device complexity increases
Solution Approach 1:
The patent segments the queue management function into a dedicated queue manager component that operates independently from the switching fabric. This allows the system to support a large number of queues (e.g., 64 queues per port) without proportionally increasing the complexity of the entire switch, as the queue manager handles the complexity of managing numerous queues through specialized algorithms and data structures.
Solution Approach 2:
The queue manager acts as an intermediary layer between the physical ports and the switching fabric. It abstracts the complexity of managing multiple queues per port by providing a standardized interface for queue assignment and management, allowing the rest of the system to interact with queues through a simplified protocol without needing to understand the underlying complexity of managing 64 or more queues per port.
3Productivity
If dynamic queue assignment is implemented to handle congestion, then traffic management effectiveness improves, but processing overhead increases
Solution Approach 1:
The queue manager performs preliminary actions by pre-establishing queue assignment rules and priorities based on service level agreements and traffic patterns. When congestion occurs, the system can quickly apply pre-defined policies rather than making complex decisions in real-time, thus improving traffic management effectiveness while minimizing the processing time and overhead associated with dynamic queue reassignment.
Data Source
AI summary
In an apparatus for receiving and forwarding data packets on a network, a network device includes a plurality of ports for coupling to the network and for transmitting packets to devices disposed in or coupled to the network. At least one processor configured to process packets received via the network processes packets by selectively forwarding processed packets to one or more of the ports. A plurality of queues are defined in a memory, each configured to store packets to be transmitted by ports in the plurality of ports. A queue manager is configured to selectively assign a subset of the plurality of queues to a subset of the plurality of ports.


