SDN Controller Selection via Latency and Load Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software-defined networks (SDNs) typically rely on a single controller for configuration and management, which can lead to inefficiencies and failures when that controller becomes unavailable, as there is no built-in mechanism for network devices to select an alternative controller based on performance characteristics.
Innovation Solution
Network devices in an SDN can receive availability messages from multiple controllers, select a master controller based on performance characteristics such as the number of devices under control or average latency, and report this selection to the chosen controller, allowing for dynamic switching in case of failures or initialization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single controller is used in SDN, then the system is simple to manage, but the system reliability deteriorates when the controller becomes unavailable
Solution Approach 1:
Multiple controller devices are merged into a single functional unit from the perspective of network devices, where any controller can serve as a master controller. The controllers work together as a collective system, sharing the responsibility of controlling network devices, which resolves the contradiction by maintaining simplicity in device-controller interaction while improving system reliability through redundancy.
Solution Approach 2:
The master controller role is made dynamic rather than static. Network devices can dynamically select different master controllers based on real-time performance characteristics such as latency and load. This dynamic selection mechanism allows the system to adapt to changing conditions, maintaining reliability while preserving management simplicity through automated decision-making.
2Reliability
If multiple controllers are introduced to improve reliability, then system availability improves, but the complexity of controller selection and management increases
Solution Approach 1:
Network devices perform self-service by autonomously selecting their own master controller based on performance characteristics received from multiple controllers. This eliminates the need for complex centralized controller assignment mechanisms, as each network device independently makes its own selection based on local measurements of latency and controller load, thereby improving reliability without significantly increasing management complexity.
Solution Approach 2:
Controllers provide feedback to network devices about their performance characteristics such as latency and current load. Network devices use this feedback information to make informed decisions about which controller to select as master. This feedback mechanism simplifies the selection process by providing clear, quantifiable criteria that network devices can automatically evaluate and act upon.
3Productivity
If network devices automatically select controllers based on performance characteristics, then system efficiency improves, but the complexity of the selection mechanism increases
Solution Approach 1:
The system uses changes in measurable parameters such as latency and controller load to trigger controller selection. Instead of complex qualitative assessments, the selection mechanism relies on simple quantitative parameter comparisons. Network devices monitor these parameters and automatically switch controllers when parameter thresholds are exceeded, improving efficiency while keeping the selection mechanism relatively simple through objective, data-driven decision-making.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Aspects and implementations of the present disclosure are directed to selection of a controller by a network device in a software defined network. In one aspect, the disclosure relates to a network device configured to receive a first controller availability message from a first controller device in a plurality of controller devices that includes at least a second controller device, select one of the first controller device and the second controller device as a controller for the network device based at least on the first controller availability message received from the first controller device, and report the selection of the controller device to the selected controller device. In some implementations, selection is based on a comparison of one or more performance characteristics for the controller devices. The performance characteristics may include a number of network devices under control by each controller device and/or an average latency for each controller device.