Programmable Data Plane LPM With Distributed Interval Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network systems face challenges in providing flexible network interfaces to adapt to changes in network device structure, protocols, and feature sets, leading to increased CPU load and inefficiencies in processing network operations, particularly in cloud data centers with large-scale routing and policy management requirements.

Innovation Solution

A programmable IO device employing a modified binary search algorithm on an interval binary search tree for efficient longest prefix matching (LPM) without using TCAMs, utilizing arithmetic logic units (ALUs) and memory units to distribute processing across cascading stages, optimizing memory usage and search efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional network systems use fixed network interfaces and conventional routing tables, then device structure and protocol compatibility are maintained, but flexibility to adapt to changes in network device structure, protocols, and feature sets deteriorates

Engineering Contradiction:
Improveflexibility to adapt to network changesVSAvoidnetwork interface flexibility
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic routing tables that can be modified at runtime without requiring physical reconfiguration of network interfaces. The system allows dynamic insertion and deletion of routing entries, enabling the network to adapt to changing protocols and device structures while maintaining a manageable interface architecture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The routing table is segmented into multiple data structures including prefix trees, interval trees, and hash tables, each handling different aspects of routing information. This segmentation allows flexible adaptation to various network protocols while keeping individual data structures manageable and predictable.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If network systems process all routing operations through CPU, then protocol flexibility is maintained, but CPU load and processing efficiency deteriorate

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidCPU load
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces CPU-based mechanical processing with hardware-accelerated data structures. Interval trees and prefix trees are implemented as hardware components that perform routing lookups autonomously, substituting CPU instructions with dedicated hardware logic that processes routing operations in parallel without consuming CPU cycles.

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

Solution Approach 2:

The routing system performs self-service through automated routing table maintenance. The system automatically inserts, updates, and deletes routing entries based on network events without requiring continuous CPU intervention, enabling protocol flexibility while reducing CPU load through autonomous operation.

Inventive Principle:
Principle #25Self-service

3Speed

If network systems use TCAM for routing lookups, then lookup speed is improved, but memory consumption and device complexity worsen

Engineering Contradiction:
Improverouting lookup speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent changes the storage parameter from dense TCAM memory to sparse SRAM-based interval trees. By representing routing information as intervals rather than dense lookup tables, the system achieves comparable lookup speeds with significantly reduced memory consumption, as only necessary routing entries are stored explicitly.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses multiple copies of routing information distributed across different data structures (prefix trees, interval trees, hash tables) rather than relying on a single TCAM structure. This copying approach enables faster lookup through parallel searches while reducing overall memory requirements by sharing common routing prefixes across multiple structures.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If network systems implement comprehensive routing and policy management, then network functionality is improved, but processing time and latency variability worsen

Engineering Contradiction:
Improverouting and policy management capabilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments routing and policy management into separate, independent data structures and processing stages. Routing lookups are handled by interval trees while policy applications are handled by separate policy engines, allowing parallel processing and eliminating sequential dependencies that cause latency variability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing and organizing routing information in interval trees and prefix trees during system initialization or updates. This pre-processing eliminates the need for real-time CPU-intensive routing calculations during packet forwarding, reducing processing time while maintaining comprehensive routing and policy management capabilities.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4143691B1Systems for providing an LPM implementation for a programmable data plane through a distributed algorithm
Publication Date: 2025.09.10 PENSANDO SYSTEMS INC
  • EP4143691B1 patent drawingFigure 1
  • EP4143691B1 patent drawingFigure 2
  • EP4143691B1 patent drawingFigure 3

AI summary

Described are programmable IO devices comprising: an MPU and a memory unit. The MPU comprising at least one ALU. The memory unit having instructions stored thereon which, when executed by the respective programmable IO device, cause the programmable IO device to perform operations. These operations comprise: receiving, from an inbound interface, a packet comprising packet data for at least one range-based element; determining, via the MPU, a lookup result by performing a modified binary search on an interval binary search tree with the packet data to determine a LPM, wherein the interval binary search tree maps the at least one range-based element to an associated data element; and classifying the packet based on the lookup result.