Packet Metering Using Gating Intervals for Network Flow Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing packet metering schemes in network units face challenges such as high memory bandwidth usage, bursty traffic patterns, and inability to accommodate a large number of flows with varying rates, particularly due to the inefficiencies of token bucket systems.
Innovation Solution
A metering technique that uses a small number of memory fields to compute a gating interval for each flow, where the gate closure time is determined by packet size and rate parameters, with adjustments for idle time, allowing for more accurate rate control and reduced memory bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If token bucket systems are used for metering a large number of flows, then flow rate control capability is improved, but memory bandwidth usage increases significantly
Solution Approach 1:
The patent extracts the rate control logic from the data path by implementing a separate control mechanism that computes gating intervals independently. The metering function is separated into: (1) a control unit that calculates gating intervals based on rate parameters, and (2) a simple gate mechanism that enforces these intervals. This extraction eliminates the need for complex per-flow token bucket state maintenance in memory, reducing memory bandwidth requirements while preserving flow rate control capability.
Solution Approach 2:
The patent applies preliminary action by pre-computing gating intervals before packets arrive. Instead of making rate control decisions at packet arrival time (which requires memory access), the system calculates the next gate closure time in advance based on the rate parameter and packet size. This preliminary computation allows subsequent packet handling to proceed with simple time comparisons rather than complex token bucket calculations, significantly reducing memory bandwidth usage.
2Stability of the object's composition
If token bucket systems refresh buckets frequently, then bursty traffic is reduced, but available bandwidth for packet processing decreases
Solution Approach 1:
The patent implements continuity of useful action by making the rate control mechanism continuously operational without periodic interruptions. The gating interval computation occurs continuously as packets arrive, with each packet's processing naturally advancing the control state. This eliminates the need for separate refresh cycles, ensuring that the full memory bandwidth is continuously available for packet processing while maintaining stable traffic patterns through consistent rate enforcement.
3Device complexity
If simple flow definitions (single port) are used, then metering complexity is reduced, but ability to identify specific protocol flows decreases
Solution Approach 1:
The patent applies universality by designing a flow identification mechanism that can operate at multiple levels of granularity. The system supports both simple single-port flow definitions and complex multi-criteria flow definitions (including source/destination IP addresses, port numbers, and protocol types). The underlying metering infrastructure remains the same regardless of flow definition complexity, allowing the system to universally handle various flow identification requirements without increasing metering complexity. This is achieved by parameterizing the flow matching logic while keeping the rate control mechanism generic and reusable.
Data Source
AI summary
For each metered flow in a network unit there is a memory entry which defines a time stamp and a rate parameter. When a packet in the respective flow arrives, the time of arrival is compared with the time stamp. If the time of arrival is before the time stamp the packet is discarded. If the packet arrives after the date stamp, it is allowed to proceed and a new time stamp is computed in accordance with the rate parameter. One exemplary computation adds to the time stamp a time interval obtained by dividing the size of the packet by the rate parameter and preferably subtracting from the quotient the time interval between the arrival time and the previous time stamp.


