Statistical Packet Counters for High-Bandwidth Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-bandwidth network devices face challenges in efficiently updating counters due to limited memory access rates, leading to increased complexity and resource inefficiency when replicating counters to match packet processing rates.

Innovation Solution

Implementing statistical counter update methodologies where packets are probabilistically selected to update counter values, with the update value reflecting both selected and non-selected packets, using a probability ratio based on counter access and packet rates, and employing lookup tables for accurate calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If counters are replicated proportionally to the number of packets processed per clock cycle, then the counter access rate can keep up with high bandwidth packet processing, but area, power, and design complexity increase significantly

Engineering Contradiction:
Improvecounter access rateVSAvoidcounter replication complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments the high-speed packet processing stream by selectively updating counters only for certain packets (e.g., every Nth packet or based on packet size thresholds), thereby dividing the updating task across time rather than replicating counters spatially

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of counter update frequency by introducing probabilistic or conditional updating based on packet characteristics (such as packet size), allowing the system to adapt counter access rate to actual traffic patterns rather than maintaining maximum replication for all scenarios

Inventive Principle:
Principle #35Parameter changes

2Use of energy by stationary object

If counters are maintained in SRAM memory blocks, then area and power efficiency are improved, but the access rate is limited to one access every clock cycle or two

Engineering Contradiction:
Improvepower efficiencyVSAvoidcounter access rate
Core Design Contradiction:
Use of energy by stationary objectVSSpeed

Solution Approach 1:

The system employs periodic or conditional counter updates based on packet characteristics, updating counters at variable intervals rather than every packet, which reduces memory access frequency while maintaining statistical accuracy for traffic measurement

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies partial action by updating only a subset of packets (e.g., sampling certain packets based on size or timing) rather than every packet, which reduces the burden on memory access rate while still providing accurate traffic statistics through extrapolation or cumulative counting

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If counter replication is used to match packet processing rate, then accurate counting for high bandwidth is achieved, but software complexity increases for accessing and summing multiple counters

Engineering Contradiction:
Improvecounting accuracyVSAvoidsoftware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple counter update operations into a single counter by using conditional logic to determine whether to update, thereby consolidating what would otherwise require multiple replicated counters and simplifying the software to manage only one counter instance

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11973669B1Statistical packet and byte counters
Publication Date: 2024.04.30 CISCO TECHNOLOGY INC
  • US11973669B1 patent drawing
  • US11973669B1 patent drawing
  • US11973669B1 patent drawing

AI summary

Presented herein are methodologies in which packets or events are selected statistically to update a counter of a network device. The updated value that is stored in the counter also reflects a number of packets (or corresponding bytes) that were not selected to update the counter. The methodology includes receiving, at a network device, a first packet followed by a second packet, probabilistically selecting the second packet to update a value of a counter of the network device while probabilistically not selecting the first packet to update the value of the counter, and updating the value of the counter to account for both the first packet and the second packet.