SDN Controller Incarnation Identifier for Message Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software-defined networking (SDN) controller clusters, out-of-order message processing can occur during DPN (data-plane node) reconnection, leading to incorrect connection status determination, causing errors in network management.

Innovation Solution

Generating an incremental incarnation identifier (IID) for DPN connections at reconnection time and tagging messages with this IID, then checking against the latest global IID to ensure correct processing order, thereby eliminating out-of-order message processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If DPN reconnects to a different controller node in the cluster, then connection redundancy and load balancing are improved, but message processing order becomes incorrect leading to connection status determination errors

Engineering Contradiction:
Improveconnection redundancyVSAvoidconnection status determination
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system preliminarily assigns an incarnation identifier to each DPN connection establishment. When a DPN reconnects to a different controller node, the new controller receives the connection request with the DPN's incarnation identifier, allowing it to recognize this as a reconnection event and properly handle the message ordering and connection status determination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The incarnation identifier acts as an intermediary mechanism between the DPN and controller nodes. It carries connection state information across different controller nodes in the cluster, enabling seamless handoff and correct message processing order regardless of which controller node the DPN connects to.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If messages are processed in queue without ordering verification, then processing speed is improved, but out-of-order processing occurs causing connection status errors

Engineering Contradiction:
Improvemessage processing speedVSAvoidmessage processing order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system replaces complex mechanical message ordering mechanisms (such as centralized queuing and sequential processing) with a lightweight incarnation identifier-based verification approach. Each message includes the DPN's incarnation identifier, and controllers verify this identifier to ensure correct processing order without blocking message flow.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the parameter being verified from message sequence numbers to incarnation identifiers. This parameter change allows controllers to quickly verify whether a message belongs to the current connection incarnation without complex sequence tracking, maintaining high processing speed while ensuring correctness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11546416B2Robust message processing for a software-defined networking (SDN) controller cluster
Publication Date: 2023.01.03 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US11546416B2 patent drawing
  • US11546416B2 patent drawing
  • US11546416B2 patent drawing

AI summary

Exemplary embodiments include methods and/or procedures for handling messages from one or more data-plane nodes (DPNs) to a plurality of controller nodes configured in a cluster, comprising: receiving a message from a DPN; tagging the message with an incarnation identifier (IID) associated with the DPN; and performing HD handling of the tagged message, which includes comparing a value of the IID of the tagged message with a value of a global IID associated with the DPN, discarding the tagged message if the value of the IID of the tagged message is less than the value of the global IID, and processing the tagged message if the value of the IID of the tagged message is not less than the value of the global IID. Exemplary embodiments also include controller nodes, controller clusters, and computer-readable media embodying operations of the exemplary methods and/or procedures.