Forwarding Database Learning Rate Adaptation by Table Fill Level

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices face challenges in efficiently managing the population of forwarding tables due to hardware limitations, leading to increased computational load on CPUs when the table is full, especially during controlled learning where software intervention is required for entry management.

Innovation Solution

A network device with a packet processor that monitors the fill level of the forwarding table and adjusts the rate at which it sends messages to the CPU for new address additions, reducing the computational burden by implementing a maximum rate based on the table's fill level, using a cache to reduce duplicate messages, and employing complex operations like rehashing only when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If controlled learning is used to manage forwarding table entries, then software can implement complex techniques for security and space management, but the CPU computational load increases significantly when the table is full

Engineering Contradiction:
Improvesoftware intervention capabilityVSAvoidCPU computational load
Core Design Contradiction:
Adaptability or versatilityVSPower

Solution Approach 1:

The patent implements dynamic adjustment of the learning rate based on the forwarding table fill level. When the table is nearly full, the learning rate is reduced to minimize CPU overhead, while allowing higher learning rates when space is available. This dynamic adaptation resolves the contradiction by making the software intervention intensity proportional to current system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of learning rate from a fixed value to a variable that adapts based on forwarding table occupancy. By modifying this key parameter dynamically, the system achieves both the adaptability of software-controlled learning and the efficiency of reduced CPU load under constrained conditions.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If the forwarding table is populated with more network addresses, then forwarding precision improves, but the rate of new address message sending to CPU increases computational burden

Engineering Contradiction:
Improveforwarding precisionVSAvoidCPU processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system dynamically adjusts the learning rate based on forwarding table occupancy. When the table approaches capacity, the learning rate decreases, reducing the rate at which new address messages are sent to the CPU. This maintains forwarding precision for existing entries while preventing CPU overload from excessive learning operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism where the forwarding table fill level is continuously monitored and used to adjust the learning rate. This closed-loop control ensures that forwarding precision is maintained through adequate learning while CPU processing efficiency is preserved by reducing learning intensity when the table is full.

Inventive Principle:
Principle #23Feedback

3Productivity

If hardware circuitry performs automatic learning, then forwarding table population is efficient, but complex techniques for security and space management cannot be implemented

Engineering Contradiction:
Improveforwarding table population efficiencyVSAvoidcomplex technique implementation
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary actions by having hardware circuitry identify new source addresses and reserve space in the forwarding table before software intervention is needed. This preliminary hardware action maintains efficiency while enabling subsequent software-based complex techniques for security and space management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism where hardware circuitry performs initial address identification and space reservation, then transfers control to software for decision-making on whether to create entries. This intermediary approach combines the efficiency of hardware with the versatility of software.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the packet processor sends messages to CPU at high rate for new address additions, then forwarding table remains up-to-date, but CPU becomes overloaded

Engineering Contradiction:
Improveforwarding table accuracyVSAvoidCPU processing capacity
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The learning rate is dynamically adjusted based on forwarding table occupancy and CPU capacity. When the table is nearly full or CPU load is high, the rate of messages sent to CPU is reduced. This maintains forwarding table accuracy for critical operations while preventing CPU overload from excessive message rates.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the message sending rate parameter from a fixed high value to a variable that adapts based on system conditions. This parameter change allows the system to maintain forwarding table accuracy when needed while reducing CPU processing capacity consumption under constrained conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12363037B2Adapting forwarding database learning rate based on fill level of forwarding table
Publication Date: 2025.07.15 MARVELL ISRAEL (M L S L) LTD
  • US12363037B2 patent drawing
  • US12363037B2 patent drawing
  • US12363037B2 patent drawing

AI summary

A packet processor of a network device repeatedly determines a fill level of a forwarding table that is populated with associations between network addresses and network interfaces of, or coupled to, the network device. The packet processor adjusts, based on the fill level of the forwarding table, a maximum rate according to which the packet processor is permitted to send messages to a central processing unit (CPU) coupled to the packet processor, the messages indicating network addresses that are to be stored in the forwarding table by the CPU. The packet processor of the network device receives packets via network links coupled to the network device; identifies new network addresses of the packets that are not in the forwarding table; and sends messages to the CPU at a rate that does not exceed the maximum rate, the messages indicating the new network addresses are to be added to the forwarding table.