Programmable Hardware Traffic Policing Using Searchable Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hardware-based network traffic policing solutions are inflexible and require separate combinational logic for each policing algorithm, limiting their ability to adapt to different algorithms and support emerging network speeds.

Innovation Solution

A hardware-based technique that programs algorithm-specific policing primitives to establish relationships between condition and action primitives, allowing for the implementation of multiple policing algorithms in a network node using a searchable memory to select appropriate action primitives based on received datagrams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If fixed combinational logic is used to implement policing algorithms in hardware, then high-speed traffic processing is achieved, but flexibility to adapt to different algorithms is lost

Engineering Contradiction:
Improvetraffic processing speedVSAvoidalgorithm adaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent applies the Dynamics principle by transitioning from fixed combinational logic to a dynamic memory-based architecture. The policing algorithm is implemented using a state machine that reads condition primitives and action primitives from memory, allowing the algorithm to be changed by updating memory contents rather than reconfiguring hardware logic. This enables high-speed processing through hardware implementation while maintaining flexibility through programmable memory storage of algorithm definitions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If separate combinational logic is fabricated for each policing algorithm, then each algorithm can be implemented efficiently, but device complexity and manufacturing cost increase

Engineering Contradiction:
Improvepolicing algorithm implementation efficiencyVSAvoidcombinational logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies the Universality principle by creating a single hardware platform that can implement multiple different policing algorithms. Instead of fabricating separate combinational logic for each algorithm, the invention uses a universal state machine architecture that reads algorithm-specific condition and action primitives from memory. This single device can be programmed to implement srTCM, trTCM, MEF service policer, and other algorithms, eliminating the need for multiple specialized hardware implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If software-based policing is used, then flexibility to implement different algorithms is maintained, but processing speed is insufficient for current and emerging networks

Engineering Contradiction:
Improvepolicing algorithm flexibilityVSAvoidtraffic processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent applies the Mechanics substitution principle by replacing the software-based policing system with a hardware-based system. The state machine and memory components are implemented in hardware, allowing the policing function to execute at line speed rather than being constrained by software processing limitations. This hardware implementation maintains algorithm flexibility through programmable memory while achieving the high processing speeds required for current and emerging network technologies.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7957311B2Programmable hardware-based traffic policing
Publication Date: 2011.06.07 BAY MICROSYSTEMS INC
  • US7957311B2 patent drawing
  • US7957311B2 patent drawing
  • US7957311B2 patent drawing

AI summary

A hardware-based technique for policing traffic in a network node involves programming a set of algorithm-specific policing primitives that establishes a relationship between condition primitives and action primitives and populating a searchable memory with a set of indexed action primitives. Action primitives are then selected from the searchable memory in response to condition primitives related to a received datagram. Policing actions related to the datagram are performed in response to the action primitive. Because the algorithm-specific policing primitives are programmable, a network node can be adapted to implement a wide variety of policing algorithms. Additionally, multiple different policing algorithms can be implemented in hardware without the need for a different set of combinational logic for each different policing algorithm.