Flow-Aware Shared Buffer Schemas for Mice and Elephant Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication networks face challenges in managing bandwidth efficiently, leading to network congestion, poor performance, and packet loss, particularly in cloud architectures where timely and reliable packet transmission is crucial.
Innovation Solution
A system that measures bandwidth consumption of packet flows, assigns a flow-type attribute based on the flow, and applies a shared buffer schema accordingly, distinguishing between 'mice' and 'elephant' flow states to optimize buffer allocation dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed buffer allocation schema is used for all packet flows, then buffer management is simple, but network congestion and packet loss increase during high bandwidth consumption
Solution Approach 1:
The patent implements dynamic buffer allocation by transitioning from a fixed buffer schema to a flow-type-aware dynamic schema. The system measures bandwidth consumption in real-time, classifies flows as mice or elephant based on consumption patterns, and dynamically adjusts buffer allocation accordingly. This resolves the contradiction by making buffer management adaptive to actual network conditions while maintaining reliability during high consumption periods.
Solution Approach 2:
The patent changes the buffer allocation parameter based on flow classification. By measuring bandwidth consumption and classifying flows into mice (low consumption) or elephant (high consumption) categories, the system adjusts buffer schema parameters dynamically. This allows the buffer allocation to scale with actual needs, preventing packet loss during high consumption while maintaining simple management through automated classification.
2Reliability
If buffer allocation is increased for high bandwidth flows, then packet transmission reliability improves, but latency increases for low bandwidth flows
Solution Approach 1:
The patent applies different buffer allocation qualities to different flow types locally. Instead of uniform buffer allocation, the system classifies each flow as mice or elephant and assigns appropriate buffer schemas: elephant flows receive larger buffer allocations for reliability, while mice flows receive smaller allocations to minimize latency. This local differentiation resolves the contradiction by tailoring buffer quality to specific flow characteristics.
Solution Approach 2:
The patent segments the packet flow population into distinct categories (mice and elephant flows) based on bandwidth consumption patterns. This segmentation allows the system to apply different buffer allocation strategies to different segments: high buffer allocation for elephant flows needing reliability, and low buffer allocation for mice flows needing low latency. The segmentation resolves the contradiction by preventing one flow type from negatively impacting the other.
3Productivity
If distributed computing is implemented across multiple networking devices, then processing capacity increases, but coordination overhead and message passing delays increase
Solution Approach 1:
The patent applies preliminary action by pre-classifying packet flows into mice or elephant categories based on initial bandwidth consumption measurements. This classification is performed at the ingress of the queue before packets are distributed across the network. By establishing flow types in advance, the system enables downstream networking devices to apply appropriate buffer schemas without real-time coordination overhead, thus maintaining high processing capacity while minimizing coordination delays.
Data Source
AI summary
A networking device and system are described, among other things. An illustrative system is disclosed to include a shared buffer and at least a flow controller. In some embodiments, the system and/or flow controller may be configured to measure a packet flow's bandwidth consumption of the shared buffer, assign a flow-type attribute to the packet flow based on the packet flow's bandwidth consumption of the shared buffer, select a shared buffer schema for the packet flow based on the flow-type attribute assigned to the packet flow, and apply the selected shared buffer schema to the packet flow. For example, the flow-type attribute assigned to the packet flow may comprise a mice flow state or an elephant flow state, and a reserve attribute may be assigned to the flow based on the packet flow being assigned the mice flow state or the elephant flow state.


