Flow-Aware Packet Buffering for Congested Egress Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network congestion at egress queues leads to packet drops and degraded forwarding performance due to differing data flow sizes and arrival times, with existing buffer solutions affecting new flows and prolonging transmission times for small flows.
Innovation Solution
A network device determines if a packet belongs to a new data flow by checking if a previous packet is buffered, and if not, schedules it directly to the egress queue, while larger flows are buffered in separate queues based on flow size, reducing wait times and improving forwarding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packets are buffered in the egress queue during congestion, then packet loss is reduced, but forwarding performance deteriorates due to long waiting times
Solution Approach 1:
The patent segments the buffer into multiple queues (egress queue and buffer queue) and further divides packets into different data flows. By segmenting the buffering mechanism, packets can be routed to appropriate queues based on their flow characteristics, allowing small data flows to skip the buffer queue and go directly to the egress queue, thus reducing waiting time while maintaining reliability for larger flows.
Solution Approach 2:
The patent applies different buffering strategies to different data flows based on their local characteristics. Small data flows are directed to the egress queue for immediate forwarding, while larger data flows are buffered in the buffer queue. This local quality approach ensures that each data flow receives appropriate treatment based on its specific needs, optimizing both reliability and time efficiency.
2Reliability
If all packets are sent to the buffer queue during congestion, then packet drops are avoided, but new data flows are affected and congestion spreads
Solution Approach 1:
The patent implements a dynamic buffering strategy where the forwarding device determines whether to buffer packets based on real-time conditions. The device identifies new data flows and decides whether to send them directly to the egress queue or to the buffer queue based on flow characteristics and current congestion state. This dynamic approach prevents new data flows from being unnecessarily buffered, maintaining productivity while ensuring reliability for packets that need buffering.
Solution Approach 2:
The patent performs preliminary identification of data flows and their characteristics before making buffering decisions. By analyzing flow keys and determining whether packets belong to new or existing data flows in advance, the system can make informed decisions about queue selection, preventing congestion spread to new flows while ensuring proper buffering for established flows.
3Reliability
If small data flows wait in the buffer queue, then packet loss is reduced, but transmission performance is significantly impacted
Solution Approach 1:
The patent applies differentiated buffering policies based on the local characteristics of data flows. Small data flows are identified and directed to the egress queue for immediate forwarding, while larger data flows are sent to the buffer queue. This local quality approach ensures that small flows, which are sensitive to delay, receive priority treatment, thereby maintaining high transmission performance while still providing reliability through the buffer queue for other flows.
Solution Approach 2:
The patent enables small data flows to skip the buffer queue and go directly to the egress queue. This skipping mechanism allows small flows to bypass the buffering process entirely, rushing through the forwarding device with minimal delay. This significantly improves transmission performance for small flows while the buffer queue continues to handle larger flows that benefit from buffering.
Data Source
AI summary
A data forwarding method includes, after congestion of an egress queue is relieved, a network device that receives a packet from an upstream node, and determines whether a storage device associated with the egress queue buffers a previous packet that belongs to a same data flow as the packet. When the storage device does not buffer the previous packet, the network device schedules the packet to the egress queue, to forward the packet to a downstream node, where the storage device is configured to receive, during congestion of the egress queue, a packet sent by the network device.


