Symmetric Hash Flow Sampling for Bidirectional Network Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices face challenges in accurately sampling bidirectional flows for statistical analysis, as existing methods often select unrelated flows, leading to a lack of representative packet samples for network management.
Innovation Solution
The implementation of a network device with line interfaces that use a symmetric hash function to randomly select bidirectional flows, ensuring that both flows in a pair are sampled together by comparing the hash of packet headers across multiple line interfaces, thereby increasing the probability of obtaining representative samples.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If existing flow sampling methods are used, then packet sampling can be performed, but bidirectional flows are not accurately sampled and unrelated flows are selected instead
Solution Approach 1:
The patent applies asymmetric flow selection by treating source and destination flows differently through asymmetric hashing. The hash function processes source address and destination address separately with different operations (e.g., source address hashed with mask1, destination address hashed with mask2), creating an asymmetric selection mechanism that preserves bidirectional flow relationships while maintaining random sampling properties.
Solution Approach 2:
The patent introduces an intermediary hash value that mediates between source and destination flows. This intermediate hash representation combines information from both directions of the flow in a way that enables correlated sampling of bidirectional flows while allowing independent processing at each line interface, thus resolving the contradiction between sampling accuracy and flow relationship preservation.
2Ease of operation
If random flow selection is applied, then sampling simplicity is maintained, but bidirectional flow correlation is lost
Solution Approach 1:
The patent merges the random sampling mechanism with bidirectional flow correlation by combining the hash values from source and destination addresses. The merged hash representation maintains the random selection simplicity while simultaneously preserving the pairing relationship between bidirectional flows, allowing both simplicity and correlation to coexist.
Solution Approach 2:
The patent changes the parameter of flow selection from simple random selection to hash-based correlated selection. By modifying the selection criterion to use hashed representations of flow parameters (source and destination addresses), the system maintains operational simplicity while achieving stable bidirectional flow pairing through the mathematical properties of hash functions.
3Productivity
If flow sampling is performed without bidirectional consideration, then processing speed is maintained, but sampling representativeness decreases
Solution Approach 1:
The patent segments the flow sampling process into independent line interface operations, where each interface performs local hash computation and flow selection. This segmentation enables parallel processing across multiple interfaces, maintaining high processing speed while achieving accurate bidirectional flow sampling through the coordinated action of segmented operations.
Solution Approach 2:
The patent replaces complex mechanical flow correlation mechanisms with a mathematical hash-based approach. Instead of using complex state tracking or coordination protocols to maintain bidirectional flow relationships, the system substitutes these with efficient hash function operations that naturally preserve flow correlations while enabling high-speed processing.
Data Source
AI summary
A device may include two or more line interfaces. One of the line interfaces may include a component to buffer a packet that is received at the line interface, perform a lookup of information related to selecting a flow based on a header of the packet, apply a symmetric hash function to addresses in the header to obtain a hash when the information related to selecting the flow indicates the flow is to be selected based on a random method, compare the hash to a particular number using the information related to selecting the flow, the particular number being same for the line interfaces, sample a flow when the hash matches the particular number, create a flow record for the flow, and sample packets based on the flow record.


