Flow Synchronization via Session Identifier Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The management of flow tables in OpenFlow networks is error-prone due to the large number of match parameters and wildcarded match parameters, especially during connection failures or switch reconnections, which complicates the synchronization of flows and can lead to transient network issues.
Innovation Solution
A method and apparatus that utilize a calculated session identifier based on flow cookie values to synchronize flows in a packet-switched network, where the controller node extracts cookie values, calculates a session identifier, and transmits add and delete flow commands to ensure correct programming and deletion of flows on the network switch, reducing the complexity and error likelihood by using cookie identifiers for flow matching and synchronization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller node synchronizes flows by processing all match parameters and wildcarded match parameters during connection failure, then the flow synchronization is comprehensive, but the complexity and error likelihood increase due to the large number of parameters
Solution Approach 1:
The patent extracts the flow cookie value from the flow table entry and uses it as a unique identifier for synchronization. By taking out only the essential cookie value rather than processing all match parameters, the system achieves reliable flow identification while reducing the complexity of the synchronization process.
Solution Approach 2:
The patent changes the synchronization approach from processing multiple match parameters to using a single derived parameter (session identifier based on cookie values). This parameter transformation simplifies the synchronization logic while maintaining comprehensive flow matching capability.
2Measurement precision
If the controller node processes all match parameters for flow matching, then the flow matching is accurate, but the error likelihood increases due to the large number of parameters
Solution Approach 1:
The patent extracts the cookie value as a unique identifier from the flow table. This extraction allows accurate flow identification without requiring the controller to process all match parameters, thereby reducing errors while maintaining precision in flow matching.
Solution Approach 2:
The patent introduces a session identifier as an intermediary that is derived from cookie values. This intermediary simplifies the matching process by providing a unique, easy-to-process identifier that maintains the precision of flow identification without requiring complex multi-parameter matching.
3Productivity
If the controller node uses wildcarded match parameters for bulk flow operations, then the bulk matching is efficient, but the complexity of match processing increases
Solution Approach 1:
The patent extracts the cookie value as a unique identifier that can be used for both individual and bulk flow operations. This extraction eliminates the need for complex wildcarded match parameter processing while maintaining efficient bulk operations through cookie-based filtering.
Solution Approach 2:
The patent transforms the match parameter structure by using cookie-derived session identifiers instead of wildcarded match parameters. This parameter change maintains bulk operation efficiency while significantly reducing the complexity of match processing logic.
4Reliability
If the controller node re-sends all flows after connection failure, then the flow programming is complete, but the time required for synchronization increases
Solution Approach 1:
The patent extracts cookie values as unique identifiers to enable selective flow resending. Instead of re-sending all flows, the controller can identify and re-send only the flows that need synchronization, significantly reducing synchronization time while maintaining completeness through cookie-based tracking.
Solution Approach 2:
The patent uses cookie values as feedback mechanisms to track which flows have been successfully programmed. This feedback allows the controller to efficiently determine which flows need to be re-sent after connection failure, reducing unnecessary resending operations and minimizing synchronization time.
Data Source
AI summary
A controller node receives a list of a first plurality of flows programmed on a network switch. The controller node extracts a flow cookie value from a flow cookie data field of each flow in the first plurality of flows on the received list and calculates a session identifier on the basis of the extracted cookie values. At least one add flow command is transmitted from the controller node to the network switch to program a second plurality of flows on the network switch. The at least one add flow command comprises flow cookie values in the flow cookie data fields of each of the flows in the second plurality of flows which are set equal to the calculated session identifier. At least one delete flow command is transmitted from the controller node to the network switch to delete programming of the first plurality of flows on the network switch.

