Flow-Based Rate Limiting for Network QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In networked environments, service providers face challenges in ensuring fairness and differentiated bandwidth allocation among users and applications, particularly in shared uplink bandwidth scenarios, where stringent traffic delay requirements and varying bandwidth needs are not adequately addressed by existing technologies.
Innovation Solution
Implementing a method and network device with flow-based rate limiting logic that identifies and enforces rate limits for data units based on their associated flow, using a flow table to track and manage traffic rates, ensuring that current rates do not exceed assigned limits, thereby prioritizing critical traffic types like streaming video and voice data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If rate limiting is applied to individual flows, then bandwidth fairness and quality of service are improved, but device complexity and processing overhead increase
Solution Approach 1:
The patent segments bandwidth management into individual flow-level controls rather than aggregate controls. Each packet flow is identified by five-tuple (source IP, destination IP, source port, destination port, protocol) and assigned separate rate limits, enabling granular QoS management while isolating control logic into modular flow identification and rate limiting components
Solution Approach 2:
The system performs preliminary flow identification and rate limit assignment before packet forwarding. Flow tables are pre-configured with rate limits, and packets are classified and assigned to flows in advance, allowing rate limiting decisions to be made quickly based on pre-computed flow states rather than complex real-time analysis
2Productivity
If flow-based rate limiting is implemented, then bandwidth allocation fairness is improved, but network device processing speed decreases
Solution Approach 1:
The flow table structure serves multiple functions simultaneously: it identifies packet flows, stores rate limit parameters, tracks current transmission rates, and enables rate limiting decisions. This multi-functionality reduces the need for separate data structures and processing steps, improving overall packet processing efficiency while maintaining fair bandwidth allocation
Solution Approach 2:
The rate limiting mechanism uses self-service by having each flow independently track its own transmission rate through counters in the flow table. Each flow monitors its own packet/byte counts and calculates its own current rate, eliminating the need for centralized rate calculation and reducing processing overhead on the network device
3Adaptability or versatility
If per-flow rate limits are enforced, then service differentiation is improved, but system complexity increases
Solution Approach 1:
The patent applies local quality by allowing different rate limit parameters to be assigned to different flows based on their specific requirements. Each flow entry in the flow table can have customized rate limits, enabling service differentiation for various applications (e.g., higher rates for voice/video, lower rates for bulk data) while maintaining a uniform underlying data structure and processing logic
Data Source
AI summary
A device may include logic configured to receive a packet, identify a flow associated with the packet in a flow table, and identify a rate limit associated with the flow in the flow table. A current rate associated with the flow may be calculated based on the packet. It may be determined whether the current rate associated with the flow exceeds the rate limit associated with the flow. If so, the packet may be discarded or tagged as “over limit.”


