In-Service Software Upgrade for SDN Controller
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If software update is performed on SDN controller, then software version is upgraded, but customer traffic flow and applications are interrupted
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.
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.
2Reliability
If compute nodes transition offline for software update, then software is upgraded, but service availability decreases
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.
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.
3Reliability
If original SDN controller is upgraded directly, then software is updated, but network state synchronization is lost
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.
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.
Data Source
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.


