Switching Element Adaptive Flow Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet communication networks face challenges in efficiently prioritizing small flows amidst large, persistent flows that cause network congestion, leading to transmission delays and dropped packets for smaller flows.
Innovation Solution
Implementing a method where packets are classified as 'new' or 'old' based on their presence in the queue, with 'new' flows receiving higher priority, using a simple binary criterion to create two transmit queues and reassessing flow status in each arbitration cycle, thereby prioritizing small flows without requiring complex hardware or software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional queue management is used where all flows are treated equally, then network simplicity is maintained, but small flows experience transmission delays and packet drops due to congestion from large persistent flows
Solution Approach 1:
The patent segments flows into two distinct groups: new flows and old flows. This segmentation is achieved by maintaining a simple boolean flag for each flow that indicates whether it is new or old. When a flow is first observed, it is marked as new and its packets are placed in a new flow queue. Once the flow is no longer new (after a certain condition is met), it is marked as old and its packets go to an old flow queue. This simple binary segmentation resolves the contradiction by providing differentiated treatment without complex queue management.
Solution Approach 2:
The patent implements dynamic flow prioritization where the treatment of a flow changes over time. Flows start as new flows with high priority (placed in new flow queue) and can transition to old flows with normal priority (placed in old flow queue). This dynamic behavior allows the system to automatically adapt to changing network conditions and flow characteristics without manual intervention or complex algorithms, resolving the contradiction between reliability and complexity.
2Loss of time
If complex adaptive flow prioritization algorithms like FQ-CoDel are implemented, then bufferbloat is reduced and latency is decreased, but device complexity and computational overhead increase
Solution Approach 1:
The patent extracts only the essential element needed for flow prioritization - a simple new/old flag - from complex algorithms like FQ-CoDel. Instead of implementing the full complexity of adaptive queue management with multiple queues and sophisticated scheduling algorithms, the invention extracts the core concept of distinguishing new flows from established flows and implements it with minimal overhead. This resolves the contradiction by achieving latency reduction through simple flow differentiation without the computational burden of complex algorithms.
Solution Approach 2:
The patent uses a cheap, simple data structure (a boolean flag or single-bit state) to track whether each flow is new or old, replacing the need for complex queue management structures. This disposable, minimal-state approach allows the system to maintain many flow states with very little memory and computational resources, resolving the contradiction between reducing transmission latency and maintaining device simplicity.
3Reliability
If priority is given to the first few packets from each flow (Cisco Smart Buffering), then short flows experience fewer drops, but long-lived flows may still cause congestion and delays
Solution Approach 1:
The patent applies preliminary prioritization to new flows before they have a chance to consume excessive network resources. By identifying flows as new when they first arrive and placing their packets in a high-priority queue, the system proactively ensures that short flows and time-sensitive traffic receive immediate attention. This preliminary action resolves the contradiction by protecting short flows from drops while preventing long-lived flows from causing congestion, as flows transition to the old queue once they establish themselves.
Data Source
Figure 1
Figure 2
AI summary
A method for communication includes receiving and forwarding packets (32, 34, 36) in multiple flows (42) to respective egress interfaces (26) of a switching element (22) for transmission to a network (24). For each of one or more of the egress interfaces, in each of a succession of arbitration cycles, a respective number of the packets in each of the plurality of the flows that are queued for transmission through the egress interface is assessed, and the flows for which the respective number is zero are assigned to a first group, while the flows for which the respective number is non-zero are assigned to a second group. The received packets that have been forwarded to the egress interface and belong to the flows in the first group are transmitted with a higher priority than the flows in the second group.