Router Controller Group ID List for SDN Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software-defined network (SDN) systems face challenges with load balancing, scalability, redundancy, fault detection, and bandwidth management due to centralized controller pools, leading to issues like latency, over-provisioning, and downtime during maintenance.

Innovation Solution

A method and system for managing control connections with a distributed control plane, where routers generate a controller group ID list and establish connections based on conditions such as available connections, previous connections, and existing connections with other groups, using tokens to manage connections and ensure efficient load distribution and redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a centralized controller pool is used in SDN, then network management convenience is improved, but load balancing and scalability deteriorate due to single-point congestion and geographic latency

Engineering Contradiction:
Improvenetwork management convenienceVSAvoidload balancing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The centralized controller pool is segmented into multiple distributed controller groups, each geographically distributed to reduce latency. Router components are assigned to specific controller groups based on location, distributing the load and improving both management convenience and load balancing efficiency simultaneously

Inventive Principle:
Principle #1Segmentation

2Reliability

If controller pool size is increased to handle scale and failures, then redundancy and availability are improved, but hardware over-provisioning and fault detection difficulty worsen

Engineering Contradiction:
Improveredundancy across failure domainsVSAvoidcontroller pool management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The controller pool is segmented into multiple smaller controller groups with defined roles and geographic distributions. This segmentation provides redundancy and fault isolation while reducing the complexity of managing a single large pool, as each group can be independently monitored and maintained

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Controller group identifiers act as intermediaries between router components and individual controllers. This abstraction layer simplifies fault detection and management by providing a structured hierarchy, reducing the operational complexity of managing distributed controllers while maintaining reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If router components freely choose controllers from the pool, then connection flexibility is improved, but load distribution and bandwidth control deteriorate

Engineering Contradiction:
Improvecontroller selection flexibilityVSAvoidbandwidth channel control
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Different router components are assigned to different controller groups based on their geographic locations and specific functional requirements. This local quality approach maintains flexibility in controller selection while ensuring optimal load distribution and bandwidth control, as each component connects to the most appropriate controller group for its specific needs

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3523928B1Method and system for managing control connections with a distributed control plane
Publication Date: 2023.04.19 CISCO TECHNOLOGY INC
  • EP3523928B1 patent drawingFigure 1
  • EP3523928B1 patent drawingFigure 2
  • EP3523928B1 patent drawingFigure 3~4

AI summary

A method and system for managing connections with a distributed control plane is provided. The method includes generating, by a router, a controller identifier (ID) list comprising a plurality of controller group IDs of a plurality of controller groups, wherein one controller group ID uniquely identifies one controller group. The method also includes identifying a first controller group, by the router from the list, with which a connection is to be established. Further, the method includes establishing, by the router, the connection with a controller of the first controller group if at least one of following conditions is met 1) the router has not exhausted maximum number of connections, 2) the router has previously had a connection with the controller of the first controller group, and 3) the router has an existing connection with a controller of a second controller group not present in the list.