Bifurcated Token Bucket Counting for Memory Cost Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing bucket-based traffic management mechanisms in networking devices require high-cost, high-access-rate memory to handle frequent updates, leading to increased memory requirements and costs, especially as the number of task classifications increases.

Innovation Solution

Implementing a bifurcated counting technique using two separate counters for each bucket: a full counter in lower-cost memory for delayed updates and an intermediate counter in higher-cost memory for accurate, high-rate accounting, with periodic updates from the intermediate to the full counter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bucket-based traffic management mechanisms are implemented in networking devices, then traffic management efficiency is improved, but memory costs and requirements increase due to the need for high-access-rate memory

Engineering Contradiction:
Improvetraffic management efficiencyVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the bucket-based traffic management mechanism into two distinct counter types: high-rate counters for frequent access and low-rate counters for periodic updates. This segmentation allows the system to maintain accurate traffic management for active buckets while reducing overall memory requirements by storing less frequently accessed data in lower-cost memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different memory characteristics to different counter types within the same traffic management system. High-rate counters use high-access-rate memory for immediate traffic decisions, while low-rate counters use lower-cost memory for periodic updates, optimizing both performance and cost at different levels of the system hierarchy.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If the number of task classifications increases, then traffic management versatility is improved, but memory costs increase due to higher access rates being required

Engineering Contradiction:
Improvetask classification capabilityVSAvoidmemory cost
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments counters into high-rate and low-rate categories based on their access frequency requirements. This allows the system to support a large number of task classifications by storing less frequently accessed counter data in low-cost memory, thereby reducing total memory cost while maintaining the ability to handle diverse traffic categories.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the access rate parameter for different counter types, allowing the system to scale the number of task classifications by adjusting which counters require high-speed access versus which can tolerate periodic updates. This parameter differentiation enables cost-effective support for increased versatility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10432429B1Efficient traffic management
Publication Date: 2019.10.01 INNOVIUM INC
  • US10432429B1 patent drawing
  • US10432429B1 patent drawing
  • US10432429B1 patent drawing

AI summary

A token bucket or leaky bucket is maintained at least partially through the use of two separate counters. A full counter, is maintained in relatively lower cost memory, and indicates the amount of tokens within the bucket on a potentially delayed basis. An intermediate counter is stored in a relatively higher cost memory that supports high access rates, and indicates the amount of tokens assigned (or unassigned) to the bucket since the full counter was last updated. Various adjustment processes remove (or add) tokens as needed for performing tasks. A background process updates the full counter from the corresponding intermediate counter on a periodic, scheduled, or other basis. The buckets are replenished (or deleted) with tokens periodically at assigned rates. Traffic management or other decisions are based on the bucket's current status, as determined from the full counter during the background process and then stored in the higher cost memory.