Routing Lookup Tree Update Mechanism for Network Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating routing tables in Network Processors (NPs) either result in prolonged lookup blocking or packet errors/losses due to conflicts between lookup and update operations.

Innovation Solution

A method and device for updating a routing lookup tree by determining a layer update indication table and node update information, locking previous layers, and synchronizing node updates in a sequential manner to avoid simultaneous lookup and update conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If routing lookup is locked to prevent updates during lookup, then packet errors or losses are avoided, but lookup blocking time increases

Engineering Contradiction:
Improvepacket delivery reliabilityVSAvoidlookup blocking time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The routing lookup tree is segmented into multiple layers, allowing selective locking of only the necessary parent layers during update operations. This segmentation enables the system to maintain lookup functionality in unaffected layers while performing updates, thereby reducing overall lookup blocking time while still preventing packet errors through targeted locking mechanisms.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If routing table updates are performed during lookup, then lookup blocking time is reduced, but packet errors or losses occur due to conflicts

Engineering Contradiction:
Improvelookup blocking timeVSAvoidpacket delivery reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The locking mechanism is applied locally and selectively to specific parent layers that are actually being updated, rather than locking the entire routing lookup tree. This local quality approach allows lookup operations to continue in layers that are not being modified, maintaining packet delivery reliability while minimizing lookup blocking time.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If software-only method is used to update routing table, then implementation simplicity is maintained, but lookup performance decreases

Engineering Contradiction:
Improveupdate implementation simplicityVSAvoidlookup speed
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The routing lookup tree is divided into hierarchical layers that can be independently updated and managed. This segmentation enables optimized update operations that can proceed more quickly than software-only methods while maintaining implementation feasibility through structured layer management and selective locking mechanisms.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2911351B1Method and device for updating a routing search tree
Publication Date: 2016.11.30 ZTE CORP
  • EP2911351B1 patent drawingFigure 1~2
  • EP2911351B1 patent drawingFigure 3~4

AI summary

A method and device for updating a routing lookup tree are provided. When it is determined that a routing lookup tree needs to be updated, a layer update indication table and node update information are determined according to updated entries; a layer is selected from the routing lookup tree as a current layer in sequence according to levels of layers, and if it is determined that the current layer needs to be updated according to the layer update indication table, the previous layer of the current layer in the routing lookup tree is locked, the node update information is synchronized to the current layer in the routing lookup tree, and so on, until it is determined that the current layer is the last layer needing to be updated according to the layer update indication table, and then this update of the routing lookup tree is ended. The method and device can reduce the time of blocking lookup when a routing lookup tree is updated, and avoid packet error or packet loss caused due to simultaneous update and lookup.