Unified Trie Data Structure for Multiple FIBs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet switching systems face memory constraints when trying to store and access multiple independent sets of forwarding information, particularly in scenarios where multiple virtual routers are emulated on a single physical router, leading to inefficient use of memory space and increased lookup operations.

Innovation Solution

A data structure that uses a single common address lookup structure, such as a tree or trie, to identify leaf nodes for multiple forwarding information bases, allowing each leaf node to contain forwarding information from multiple bases and reducing the need for sequential lookup operations by storing references to entries in a forwarding table, enabling efficient traversal and updating of forwarding information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple independent FIBs are stored separately in memory, then each FIB can be accessed independently, but the memory space required increases significantly

Engineering Contradiction:
Improveindependent FIB accessVSAvoidmemory space
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The patent merges multiple independent FIBs into a single unified data structure where each FIB is represented by a list of leaf nodes. Instead of storing separate FIBs in memory, the system combines them into one structure that can represent multiple FIBs through shared leaf nodes, significantly reducing memory space while maintaining independent access capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified data structure serves multiple functions simultaneously. A single leaf node can serve multiple FIBs, and the same data structure can be used for different virtual routers and physical routers. This multi-functionality eliminates the need for separate memory allocations for each FIB.

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

2Measurement precision

If sequential lookup operations are performed on multiple FIBs, then forwarding information can be retrieved accurately, but the lookup time increases

Engineering Contradiction:
Improveforwarding information accuracyVSAvoidlookup time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-establishes a unified data structure that contains forwarding information from multiple FIBs in advance. During packet forwarding, the system only needs to perform a single lookup operation to retrieve the necessary information, eliminating the need for sequential lookups and reducing lookup time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The unified data structure acts as an intermediary that consolidates multiple FIB lookups into a single operation. Instead of sequentially querying multiple separate FIBs, the system uses this intermediate structure to retrieve forwarding information in one efficient lookup, reducing time loss while preserving the accuracy of retrieving information from multiple FIBs.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple virtual routers are emulated on a single physical router, then resource utilization increases, but the memory space required for FIBs becomes insufficient

Engineering Contradiction:
Improveresource utilizationVSAvoidmemory space
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent merges the FIBs of multiple virtual routers into a single unified data structure. Instead of allocating separate memory spaces for each virtual router's FIB, the system combines them into one shared structure that can represent all FIBs efficiently, enabling multiple virtual routers to coexist on a single physical router without exhausting memory space.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified data structure provides universal functionality across all virtual routers and physical routers. A single data structure can serve multiple purposes - representing different virtual routers, handling different forwarding information bases, and efficiently utilizing memory resources regardless of the number of virtual routers being emulated.

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

Data Source

PatentUS7551609B2Data structure for storing and accessing multiple independent sets of forwarding information
Publication Date: 2009.06.23 CISCO TECHNOLOGY INC
  • US7551609B2 patent drawing
  • US7551609B2 patent drawing
  • US7551609B2 patent drawing

AI summary

Stored in the leaf nodes of a data structure that can be used for identifying the longest prefix matching an address are corresponding values from multiple forwarding information bases. A single common address lookup data structure (e.g., a tree, trie, etc.) can be used, and a leaf node can contain information from multiple forwarding information bases. If lookup operations are performed for a single address in multiple forwarding information bases, the single common address lookup data structure may only need to be traversed once. For example, the forwarding information for another forwarding information base may be stored in the same leaf, further down in the data structure requiring traversal from the current position, or above requiring traversal from the root of the lookup data structure. Information can be stored in the leaf node to indicate which traversal option is appropriate for a particular forwarding information base.