Independent Path and Trunk Port Selection for Network Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for selecting paths and trunk ports in computer networks, such as ECMP, result in poor diversification of traffic distribution, leading to underutilization of available bandwidth and correlation among routers, which limits the effectiveness of traffic distribution across multiple paths and ports.
Innovation Solution
The use of multiple functions, such as cyclic redundancy check (CRC) and rotate functions, to generate indices for selecting paths and trunk ports, ensuring that the path index and trunk index are independent and not dependent on each other, thereby enhancing diversification and traffic distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional hashing techniques are used to select paths and trunk ports, then the selection process is simple and fast, but the diversification of traffic distribution is poor
Solution Approach 1:
The patent segments the path selection and trunk port selection into two independent processes using different hash functions. The first hash function selects a path from multiple equal-cost paths, while the second hash function selects a trunk port from multiple ports within the selected path. This segmentation allows each selection to be optimized independently, improving overall traffic distribution diversification while maintaining operational simplicity.
Solution Approach 2:
The patent introduces an intermediary mechanism where the selected path serves as an intermediate step between the initial packet and the final trunk port selection. By first selecting a path using one hash function and then selecting a trunk port within that path using a different hash function, the system creates an intermediate layer that enhances traffic distribution diversification without significantly complicating the overall selection process.
2Stability of the object's composition
If the same hash function is used for both path selection and trunk port selection, then the selection process is consistent, but correlation occurs among routers reducing diversification
Solution Approach 1:
The patent applies local quality by using different hash functions for different selection stages. The first hash function is used locally for path selection, while the second hash function is used locally for trunk port selection within the chosen path. This localized differentiation ensures that each selection process has appropriate characteristics for its specific purpose, maintaining consistency within each stage while improving overall diversification across the system.
Solution Approach 2:
The patent changes the parameter of the hash function between selection stages. Instead of using the same hash function parameters for both path and trunk port selection, it employs different hash function parameters or types for each stage. This parameter change breaks the correlation that would occur with identical functions while maintaining the deterministic and consistent nature of hash-based selection within each stage.
3Adaptability or versatility
If multiple hash functions are used for path and trunk port selection, then traffic distribution diversification is improved, but the complexity of the selection process increases
Solution Approach 1:
The patent applies partial action by using multiple hash functions only where necessary - specifically for path selection and trunk port selection - rather than applying complex selection mechanisms to all forwarding decisions. This selective application of multiple hash functions achieves improved traffic distribution diversification while limiting the increase in overall system complexity to only the specific areas where enhanced diversification is most beneficial.
Data Source
AI summary
Techniques that offer enhanced diversity in the selection of paths (e.g., ECMP paths) and/or ports from ports associated with trunks for forwarding data traffic. In one embodiment, one or more functions are used to generate a result. A first portion of the generated result may be used as an index (e.g., ECMP index) for selecting a path (e.g., an ECMP path) from multiple possible paths for forwarding a packet. A second portion of the generated result, different from the first portion, may be used as an index (trunk index) for selecting an output port from multiple output ports associated with a trunk for forwarding a packet. In this manner, selected portions of the generated result may be used as indices, one for selecting a path and another for selecting a trunk port for forwarding packets such that the two indices are not the same and are not dependent upon one another.


