Dual Leaky Bucket Flow Control for Network Rate Measurement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dual leaky bucket traffic shaping methods in networks suffer from cumulative rate measuring errors, particularly when jumbo packets are scheduled, leading to inaccurate accounting and potential clipping of tokens in the lower shaper, which results in increased minimum shaper rate inaccuracy over time.

Innovation Solution

A dual arbitration scheme using two leaky bucket accumulators, where tokens are drained from the lower accumulator first, and additional tokens are drained from the upper accumulator without continuing to subtract from the lower accumulator, ensuring accurate rate measurement by avoiding negative limits and maintaining accurate queue priority assignments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the lower leaky bucket accumulator is used to track minimum transmission rate, then minimum rate enforcement is achieved, but cumulative rate measuring errors occur when large packets are scheduled continuously, causing the accumulator to reach negative limits and clip tokens

Engineering Contradiction:
Improveminimum rate enforcementVSAvoidrate measurement accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent divides the single leaky bucket accumulator into two separate accumulators: a lower accumulator for tracking minimum rate and an upper accumulator for tracking maximum rate. This segmentation allows each accumulator to operate independently with its own token balance, preventing the lower accumulator from reaching negative limits while maintaining accurate minimum rate enforcement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary arbitration mechanism that checks the token balances of both accumulators before scheduling packets. The intermediary logic determines whether to drain tokens from the lower accumulator, upper accumulator, or both, based on the current token states and packet size requirements. This intermediary control prevents direct subtraction from the lower accumulator when it would cause clipping.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If tokens are continuously subtracted from the lower accumulator for large packets, then maximum rate limiting is enforced, but the lower accumulator becomes extremely negative and tokens are clipped

Engineering Contradiction:
Improvemaximum rate limitingVSAvoidtoken balance
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the token tracking into two separate accumulators with independent token balances. The upper accumulator tracks tokens for maximum rate enforcement, while the lower accumulator tracks tokens for minimum rate enforcement. This allows large packets to be scheduled at maximum rate by draining the upper accumulator without causing the lower accumulator to become extremely negative.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of token balance from a single value to two separate values (lower and upper accumulator balances). This parameter change allows the system to independently manage minimum and maximum rate constraints, preventing the lower accumulator from reaching negative limits while still enforcing maximum rate through the upper accumulator.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the lower accumulator is clipped to avoid negative limits, then accumulator overflow is prevented, but the minimum shaper rate becomes increasingly inaccurate over time

Engineering Contradiction:
Improveaccumulator validityVSAvoidminimum shaper rate accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent segments the rate tracking into two independent accumulators that both maintain non-negative token balances. The lower accumulator enforces minimum rate by ensuring its balance remains non-negative, while the upper accumulator enforces maximum rate. This segmentation eliminates the need to clip either accumulator, maintaining both reliability and precision of rate measurement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback through continuous monitoring of both accumulator balances and using this information to determine the appropriate arbitration action. The feedback mechanism ensures that tokens are only subtracted when both accumulators have sufficient balances, preventing clipping while maintaining accurate rate measurement and enforcement.

Inventive Principle:
Principle #23Feedback

4Device complexity

If a single leaky bucket accumulator is used for rate tracking, then device complexity is minimized, but cumulative errors cause the system to become increasingly inaccurate

Engineering Contradiction:
Improveaccumulator structureVSAvoidrate measurement accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent segments the single accumulator into two separate accumulators with independent token balances and arbitration logic. This segmentation increases device complexity slightly but prevents cumulative errors by ensuring each accumulator operates within valid non-negative ranges, maintaining high measurement precision for both minimum and maximum rate enforcement.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7948882B2Dual leaky bucket flow control method and system
Publication Date: 2011.05.24 INTEL CORP
  • US7948882B2 patent drawing
  • US7948882B2 patent drawing
  • US7948882B2 patent drawing

AI summary

A method for scheduling a network resource comprises adding tokens to first and second accumulators at first and second fill rates, respectively. A number of tokens corresponding to a size of a packet is subtracted from the first accumulator and a highest priority is assigned to a queue with which the packet is associated, if a number of tokens in the first accumulator is greater than zero. The number of tokens is subtracted from the second accumulator, and a default priority assigned to the queue, if the number of tokens in the first accumulator is less than zero and a number of tokens in the second accumulator is greater than zero. The network resource is assigned for transmission of the packet from the queue using a schedule that is based on the priority assigned to the queue. The packet is transmitted using the assigned network resource.