In-Service Software Upgrade for SDN Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud data centers, software updates for SDN controllers often require compute nodes to transition offline, disrupting customer traffic and applications, as existing methods cannot perform upgrades without interrupting service.

Innovation Solution

The technique involves dynamically spawning a virtual SDN controller, synchronizing it with the original controller, and seamlessly transitioning compute nodes to the virtual controller, allowing for in-service software upgrades (ISSU) without interrupting customer traffic or applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software update is performed on SDN controller, then software version is upgraded, but customer traffic flow and applications are interrupted

Engineering Contradiction:
Improvesoftware versionVSAvoidcustomer traffic flow
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A second virtual SDN controller is spawned and initialized before the upgrade process begins. This pre-prepared controller is synchronized with the original controller, ensuring that a functional replacement is ready before service interruption occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The second virtual SDN controller acts as an intermediary during the transition. It temporarily assumes the management role while the original controller is upgraded, and then takes over full responsibility after successful synchronization, preventing direct interruption to customer services.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If compute nodes transition offline for software update, then software is upgraded, but service availability decreases

Engineering Contradiction:
Improvesoftware upgradeVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of modifying the original SDN controller in place, a complete copy (second virtual SDN controller) is created and initialized. This copy is then synchronized with the original and used to manage compute nodes, allowing the original to be upgraded without forcing compute nodes offline.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system dynamically transitions from a static single-controller architecture to a dynamic multi-controller architecture during the upgrade process. The second virtual SDN controller is dynamically spawned, synchronized, and integrated, allowing seamless software updates without service interruption.

Inventive Principle:
Principle #15Dynamics

3Reliability

If original SDN controller is upgraded directly, then software is updated, but network state synchronization is lost

Engineering Contradiction:
Improvesoftware updateVSAvoidnetwork state information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The synchronization process establishes a feedback mechanism where the second virtual SDN controller continuously receives and processes network state information from the original controller. This ensures that both controllers maintain consistent views of the network state during the transition period.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The second virtual SDN controller serves as an intermediary that receives network state information from the original controller during synchronization. This intermediary role ensures that network state information is preserved and transferred accurately during the upgrade process, preventing information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10083026B1In-service software upgrade of software-defined networking controller
Publication Date: 2018.09.25 JUNIPER NETWORKS INC
  • US10083026B1 patent drawing
  • US10083026B1 patent drawing
  • US10083026B1 patent drawing

AI summary

Techniques are disclosed describing an In-Service Software Upgrade for a Software Defined Networking (SDN) controller of a cloud data center. A cloud data center includes a first SDN controller configured to perform session management of a plurality of session instances, an orchestration engine communicatively coupled to the first SDN controller via a northbound application program interface (API); and a plurality of compute nodes configured to perform compute functions for the plurality of session instances. In response to receiving a request to perform an in-service software upgrade (ISSU) of the first SDN controller, the orchestration engine spawns a second, upgraded SDN controller on the cloud data center. An ISSU process initializes the second SDN controller and transfers session management for the plurality of session instances from the first SDN controller to the second SDN controller. Finally, the ISSU process removes the first SDN controller from the cloud data center.