Token Bucket Policing with Virtual Queue Prediction for TCP Friendliness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing congestion avoidance and policing methods in networks, such as RED and token bucket algorithms, do not effectively address network congestion and fairness in resource allocation, leading to suboptimal performance and instability when implemented together.

Innovation Solution

Assigning a non-zero drop probability for packets even when there are sufficient tokens in a token bucket, and treating the token bucket as a virtual queue to predict future congestion, allowing for dynamic control of packet transmission based on token bucket levels and rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If token bucket policing is applied to control traffic bursts, then network resource allocation fairness is improved, but TCP friendliness deteriorates due to excessive packet drops

Engineering Contradiction:
Improvenetwork resource allocation fairnessVSAvoidTCP friendliness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies different drop probability strategies to different traffic conditions: zero drop probability when tokens are abundant, and non-zero drop probability when tokens are scarce. This local differentiation resolves the contradiction by being lenient to TCP flows under normal conditions while still enforcing policing constraints when necessary.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent predicts future token bucket levels based on current arrival rates and policing rates, allowing proactive adjustment of drop probabilities before actual congestion occurs. This preliminary action prevents excessive drops that would harm TCP while maintaining policing effectiveness.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If strict token bucket policing is enforced, then traffic burst control is improved, but network stability deteriorates due to TCP timeouts and oscillations

Engineering Contradiction:
Improvetraffic burst controlVSAvoidnetwork stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent applies partial policing action by using non-zero drop probability only when necessary (when predicted token levels indicate future congestion), rather than enforcing strict policing at all times. This partial action maintains burst control effectiveness while avoiding excessive drops that cause TCP timeouts and network oscillations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent uses feedback from current token bucket levels and predicted future levels to dynamically adjust drop probabilities. This feedback mechanism allows the system to respond adaptively to changing traffic conditions, maintaining stability while enforcing policing constraints when needed.

Inventive Principle:
Principle #23Feedback

3Productivity

If zero drop probability is assigned when tokens are sufficient, then packet transmission efficiency is improved, but congestion prediction capability deteriorates

Engineering Contradiction:
Improvepacket transmission efficiencyVSAvoidcongestion prediction capability
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent performs preliminary prediction of future token bucket levels based on current rates and traffic patterns, even when current tokens are sufficient. This allows the system to maintain congestion prediction capability by anticipating future conditions, while still assigning zero drop probability now to maximize transmission efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7817556B2Modification of policing methods to make them more TCP-friendly
Publication Date: 2010.10.19 CISCO TECHNOLOGY INC
  • US7817556B2 patent drawing
  • US7817556B2 patent drawing
  • US7817556B2 patent drawing

AI summary

Various improvements are provided for prior art policing methods, including token bucket methods and virtual time policing methods. Some preferred methods of the invention involve assigning a non-zero drop probability even when the packet would otherwise have been transmitted according to a prior art policing method. For example, a non-zero drop probability may be assigned even when there are sufficient tokens in a token bucket to allow transmission of the packet. A non-zero drop probability may be assigned, for example, when a token bucket level is at or below a predetermined threshold or according to a rate at which a token bucket is being emptied. Some implementations involve treating a token bucket as a virtual queue wherein the number of free elements in the virtual queue is proportional to the number of remaining tokens in the token bucket. Such implementations may involve predicting a future virtual queue size according to a previous virtual queue size and using this predicted value to calculate a drop probability.