CSPF Path Computation for Unordered Included Interfaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing path computation engines (PCEs) face challenges in efficiently computing traffic-engineered paths that include an unordered list of interfaces, leading to sub-optimal solutions due to the complexity of processing all possible path combinations, which is exacerbated as the network size and number of included interfaces increase.
Innovation Solution
A brute-force approach combined with optimizations, including reusing already computed paths, rejecting sub-optimal paths, and rejecting downstream paths, to efficiently determine the best path that meets constraints with an unordered list of included interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a brute-force approach is used to compute all possible path combinations with unordered included interfaces, then the solution accuracy is improved, but the processing complexity increases
Solution Approach 1:
The patent segments the path computation problem into smaller sub-problems by dividing the unordered list of included interfaces into different ordering scenarios. Instead of computing all permutations of interface orderings, the method segments the computation into manageable parts that can be processed independently and combined, reducing the overall computational complexity while maintaining solution accuracy.
Solution Approach 2:
The patent applies preliminary action by pre-computing and caching the shortest paths between all pairs of interfaces before processing the main path computation. This preliminary computation stores results that are reused during the actual path finding process, avoiding redundant calculations and significantly reducing processing complexity when dealing with unordered included interfaces.
2Reliability
If the number of included interfaces increases, then the constraint satisfaction is improved, but the number of path combinations to compute increases
Solution Approach 1:
The patent pre-computes and caches shortest paths between all pairs of interfaces before processing the main computation. This preliminary action creates a lookup table of pre-computed paths that can be quickly referenced during constraint satisfaction checking, maintaining reliability while improving computation speed as the number of included interfaces increases.
Solution Approach 2:
The patent computes paths for only the necessary combinations of interfaces rather than all possible permutations. By using dynamic programming and memoization, the method computes only the partial set of paths needed to satisfy the unordered included interface constraints, avoiding excessive computation while ensuring all constraints are met.
3Productivity
If heuristics are used to reduce path combinations, then the processing speed is improved, but the solution optimality deteriorates
Solution Approach 1:
The patent uses preliminary computation of all-pairs shortest paths between interfaces, storing these results for reuse. This approach maintains solution optimality by having complete path information available, while improving processing speed by avoiding redundant computations during the main path finding process.
Solution Approach 2:
The patent creates and reuses copies of previously computed sub-paths when building the final path. Instead of re-computing the same sub-paths multiple times, the method copies and combines pre-computed path segments, maintaining optimality while significantly reducing processing time.
Data Source
AI summary
A Constrained Shortest Path First (CSPF) path computation for an unordered list of included interfaces includes receiving a request for a shortest path in a network from a source to a destination; determining all possible path combinations between the source, the list of interfaces, and the destination, where each of the possible path combinations includes a plurality of sub-paths stitched together to form an end-to-end path between the source and the destination; for each of the possible path combinations, determining an end-to-end path from the source to the destination based on (1) utilizing an already computed sub-path if available, (2) computing a sub-path if it has not been computed yet and storing a result for re-use, and (3) rejecting a possible path combination based on one or more criteria; and responding to the request with a shortest path of all of the possible path combinations based on the metric.


