Network Controller State Segmentation for SDN Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software-defined networking (SDN), managing a logical network across multiple failure domains is challenging due to the decoupling of the control plane from the physical topology, making it difficult to handle network partitioning and ensure consistent state management.
Innovation Solution
Implementing network controllers at each domain that differentiate between local and global state information, with local state being always readable and writeable, and global state being divided into reconcilable and non-reconcilable types, using a master controller for reconciliation upon reconnection and applying transactional updates to ensure consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If network controllers store global state information in a shared database across multiple domains, then network-wide consistency is improved, but system complexity and difficulty of managing partitioning increases
Solution Approach 1:
The patent segments global state information into three distinct categories: local state (affecting only one domain), reconcilable global state (can be automatically reconciled after partitioning), and non-reconcilable global state (requires manual intervention). This segmentation allows each type of state to be managed differently, reducing overall system complexity while maintaining consistency where possible.
Solution Approach 2:
The patent implements dynamic read/write permissions for different state types based on partitioning status. During normal operation, all state types are writable. During partitioning, only local state remains writable while global state becomes read-only. This dynamic adjustment simplifies conflict management during partitions while maintaining consistency during normal operation.
2Adaptability or versatility
If network controllers allow write operations to global state during disconnection, then local adaptability is improved, but state consistency across domains deteriorates
Solution Approach 1:
The patent applies different quality rules to different state types. Local state allows unrestricted read/write operations for maximum local adaptability. Reconcilable global state allows writes during disconnection but marks them for potential reconciliation. Non-reconcilable global state becomes read-only during disconnection to preserve consistency. This differentiated approach allows local adaptability where safe while preventing consistency violations.
3Reliability
If network controllers perform reconciliation of global state upon reconnection, then state consistency is improved, but processing time and operational complexity increases
Solution Approach 1:
The patent performs preliminary actions by continuously synchronizing reconcilable global state during connected periods and pre-marking state types that require reconciliation. When partitioning occurs, the system has already prepared reconciliation metadata, so the actual reconciliation process upon reconnection is faster and more efficient than if it were computed from scratch.
4Ease of operation
If network controllers differentiate between reconcilable and non-reconcilable global state, then ease of managing partitioning is improved, but device complexity increases
Solution Approach 1:
The patent changes the parameter of state information by adding metadata tags that identify whether each piece of global state is reconcilable or non-reconcilable. This parameter change allows automated differentiation and handling without requiring complex controller logic, as the state information itself carries the necessary classification information.
Data Source
AI summary
Some embodiments provide a method for a first network controller located at a first physical domain that manages a logical network spanning several physical domains including the first domain. The method stores a set of context identifiers for assignment to logical entities. The context identifiers are for use in packets sent between managed forwarding elements in order to store logical network information in the packets. While connected to a master controller for the logical network at a second physical domain of the several physical domains, the method forwards state input requiring assignment of context identifiers to the master controller. While connectivity is lost with the master controller, the method assigns context identifiers from the stored set of context identifiers to logical entities.


