SDN Switch Reconciliation via DPN-TAG Delta Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current reconciliation methods in software-defined networks (SDNs) are resource-intensive and time-consuming, especially in cloud deployments with multiple controllers, leading to delays and increased latency due to the need for complete resynchronization of flow states across switches, and lack prioritization capabilities.
Innovation Solution
Implementing a DPN-TAG database with unique tags for flow event data objects to track delta changes, allowing for prioritized reporting and reduced resynchronization, enabling efficient reconciliation by replaying only delta flows upon reconnect and optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complete resynchronization of flow states is performed upon controller-switch reconnection, then flow state consistency is ensured, but reconciliation time and resource consumption increase significantly
Solution Approach 1:
The patent extracts only the necessary flow events (delta changes) from the complete flow state database during reconciliation. Instead of replaying all flow events, the system identifies and processes only those events that occurred after the last acknowledged state, significantly reducing reconciliation time while maintaining flow state consistency.
Solution Approach 2:
The patent implements preliminary action by maintaining an event database that pre-stores all flow events with unique identifiers and timestamps. This allows the controller to quickly determine which events need to be replayed after reconnection, avoiding the need to reprocess the entire flow state history and enabling faster reconciliation.
2Reliability
If all flow events are processed with equal priority during reconciliation, then comprehensive state recovery is achieved, but high-priority services experience delays
Solution Approach 1:
The patent applies local quality by assigning different priority levels to different flow events based on their importance to network services. High-priority flow events (affecting critical services) are processed first during reconciliation, while lower-priority events are processed subsequently. This ensures that critical services recover faster while maintaining complete state recovery.
Solution Approach 2:
The patent implements dynamics by making the reconciliation process adaptive to service requirements. The system dynamically adjusts the processing order of flow events based on priority markings, allowing critical services to be restored urgently while non-critical services follow. This dynamic prioritization balances completeness of recovery with speed of service restoration.
3Power
If flow correlation is performed at the switch, then controller processing load is reduced, but switch packet processing resources are consumed
Solution Approach 1:
The patent introduces an intermediary mechanism in the form of a pre-stored event database with unique event identifiers. This intermediary allows the controller to efficiently determine which flow events need replaying without requiring the switch to perform complex correlation computations. The event database acts as a mediator that simplifies the reconciliation process and distributes the computational burden appropriately.
4Reliability
If multiple controllers are deployed for load balancing and availability, then system robustness improves, but reconciliation complexity and database synchronization overhead increase
Solution Approach 1:
The patent applies segmentation by dividing the flow event database into controller-specific segments, each maintaining its own event database with locally generated unique event identifiers. This segmentation allows controllers to operate independently during normal conditions and simplifies reconciliation after failures, as each controller only needs to synchronize its own event database segment rather than coordinating a unified global database across all controllers.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method performed by a switch in a software-defined network (SDN), the switch being communicatively coupled to a controller, is provided. The method includes performing a first flow action with respect to a first flow (e.g., deleting the first flow). The method further includes storing a first flow event data object, the first flow event data object indicating the first flow and the first flow action. The method further includes storing a first tag in association with the flow event data object. The method further includes generating a flow event message comprising the first flow event data object and the first tag. The method further includes sending the flow event message to the controller.