Primary Controller Selection Using Sequence Numbers in SDN
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Software Defined Networking, client devices face difficulties in identifying the primary controller server among a group of servers, which is essential for communication with the most up-to-date server, especially after system updates.
Innovation Solution
A method involving the use of two sequence numbers - a controller sequence number and a timing sequence number - is implemented to determine the primary controller server. The controller sequence number is incremented when the primary server is selected, and both sequence numbers are sent to client devices to establish a reliable connection with the most up-to-date server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an election protocol is implemented to select a primary controller server among a group of servers, then the system can identify the most up-to-date server for client devices to communicate with, but it becomes difficult for client devices to identify the primary controller server among the group
Solution Approach 1:
The patent uses sequence numbers as visual indicators (analogous to color changes) to differentiate the primary controller server from other servers. Each server is assigned a unique sequence number that client devices can easily compare to identify the primary controller, transforming an abstract election protocol into a concrete, observable identifier.
Solution Approach 2:
The patent introduces sequence numbers as an intermediary mechanism between the election protocol and client device identification. Rather than client devices directly implementing the election protocol, they receive and compare sequence numbers that mediate the identification process, simplifying their task while maintaining reliability.
2Reliability
If sequence numbers are sent to all server computers, then each server can identify the primary controller, but unnecessary network traffic is generated
Solution Approach 1:
The patent extracts the sequence number information from the general server communication stream and sends it selectively only to the primary controller server. This extraction principle reduces network traffic by eliminating redundant transmissions to non-primary servers while maintaining their ability to identify the primary controller through other means.
3Measurement precision
If the controller sequence number is incremented for every primary controller selection, then the most up-to-date server can be identified, but the sequence number may become excessively large
Solution Approach 1:
The patent changes the parameter of sequence number incrementation from a continuous counter to a selective increment that occurs only at specific events (primary controller selections). This parameter change maintains measurement precision for timing accuracy while controlling the growth rate of sequence numbers, preventing them from becoming excessively large.
Data Source
AI summary
Aspects of the disclosure relate generally to selecting and identifying a primary controller server among a group of servers on a network. In order to do so, a first computer may set a first number to zero when a storage system associated with the first computer is initialized. The first computer may conduct an election protocol to select a primary controller computer from a plurality of computers. After selecting the primary computer, increase the first number by a given value and send it to the selected primary computer. The selected primary computer may set a second number corresponding to an absolute time when the storage system associated with the first computer is initialized. The selected primary computer may receive the first number from the first computer. The selected primary computer may send the numbers to a client device. After sending, the primary computer may establish a connection with the client.


