Modified SPF Algorithm for Load-Balanced Shortest Path Trees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data center networking, existing methods for calculating multiple shortest path first trees rooted at different nodes in IP fabric Vinci topologies are inefficient, leading to increased computation load as the number of multi-destination trees grows, especially in CLOS topologies where multiple sources share common sub-trees.

Innovation Solution

The implementation of a modified SPF (M-SPF) algorithm that accounts for common subgraphs and pruning strategies, allowing for efficient computation of load-balanced shortest path trees by exploring links only once across all sources sharing a common sub-tree, rather than iterating multiple times for each source.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional SPF algorithm is used to calculate multiple shortest path first trees rooted at different nodes, then each source requires separate computation iterations, but the computational load increases significantly as the number of multi-destination trees grows

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidcomputational iterations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges the computation of multiple shortest path first trees by identifying and processing common sub-trees shared by multiple sources. Instead of computing separate trees for each source independently, the system combines the computation by recognizing that multiple sources share common paths to certain destinations, thereby reducing redundant computational iterations and lowering overall computational load.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary computation by calculating shortest paths from a set of sources to all possible destinations in advance, storing these paths in a data structure that enables efficient retrieval. This preliminary action allows the system to quickly determine which sources share common sub-trees and avoids performing redundant computations when processing multiple destinations, thus reducing the time required for subsequent operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple instances of Dijkstra's algorithm are run for each source, then accurate shortest path trees are obtained, but the computational complexity increases with the number of sources

Engineering Contradiction:
Improveshortest path tree accuracyVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple Dijkstra's algorithm executions by leveraging the common sub-tree property. When multiple sources share common paths to destinations, the system processes these common paths once and reuses the results for all sources, thereby maintaining accurate shortest path tree computation while significantly reducing the number of times Dijkstra's algorithm must be executed fully.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal computation framework that can handle multiple sources simultaneously. By establishing a unified approach that processes shortest paths for multiple sources in a single iteration when they share common sub-trees, the system achieves multi-functionality - one computation serves multiple sources rather than requiring separate computations for each source.

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

Data Source

PatentUS9264312B2Method and system to calculate multiple shortest path first trees
Publication Date: 2016.02.16 CISCO TECHNOLOGY INC
  • US9264312B2 patent drawing
  • US9264312B2 patent drawing
  • US9264312B2 patent drawing

AI summary

An example method is provided in accordance with one embodiment and includes identifying distances for a sub-tree of a leaf node of a plurality of leaf nodes in a network. The method can also include applying the distances for the sub-tree of the leaf node to a plurality of root nodes connected to the leaf node. Additionally, the method can include establishing a plurality of shortest path distances for the plurality of root nodes using the distances for the sub-tree.