SDN Module Dual-Loading for Zero-Downtime Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-defined networking (SDN) upgrades in large-scale datacenters often result in prolonged downtimes due to the need for redundant hosts or lengthy live upgrade processes, which are inefficient and inconvenient for massive datacenter operations.

Innovation Solution

A method for upgrading SDN modules on a host by dual-loading a new version alongside the existing version, using a runtime migrator to save and transfer runtime states, and upgrading the firewall module on a port-by-port basis, allowing for simultaneous operation of both versions to minimize downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If maintenance mode-based upgrades with redundant host are used, then system reliability is maintained during upgrade, but device complexity and upgrade time increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system is segmented into two parallel SDN module instances (old version and new version) that can operate independently. The runtime state is also segmented and can be selectively migrated between versions. This segmentation allows the system to maintain reliability through redundancy while avoiding the complexity of a single monolithic upgrade process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the version parameter of SDN modules from a single-version to a multi-version coexistence state. By allowing multiple version parameters to exist simultaneously and enabling dynamic switching between them, the system maintains reliability while simplifying the upgrade process compared to traditional maintenance mode.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If traditional live upgrades are performed, then upgrades can be performed without full system shutdown, but downtime increases due to lengthy upgrade processes

Engineering Contradiction:
Improveupgrade speedVSAvoiddowntime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The new version of SDN modules is pre-loaded into memory alongside the old version before the upgrade is initiated. Runtime states are prepared for migration in advance. This preliminary action allows the actual traffic switching to be completed rapidly when the upgrade is triggered, minimizing downtime while maintaining high upgrade speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous traffic processing throughout the upgrade by keeping both old and new SDN module versions active simultaneously. The runtime state is continuously available and can be instantly transferred to the new version, ensuring uninterrupted network operations and eliminating downtime associated with traditional upgrade methods.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If dual-loading of SDN modules is implemented, then downtime is reduced, but memory resource consumption increases

Engineering Contradiction:
ImprovedowntimeVSAvoidmemory resources
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system dynamically manages memory resources by allowing flexible allocation between old and new SDN module versions. The runtime state can be dynamically transferred from one version to the other based on upgrade progress. This dynamic management enables rapid switching with minimal downtime while optimizing memory utilization through selective state migration rather than duplicating all resources.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11740887B2Upgrading SDN software by dual-loading modules
Publication Date: 2023.08.29 VMWARE INC
  • US11740887B2 patent drawing
  • US11740887B2 patent drawing
  • US11740887B2 patent drawing

AI summary

Some embodiments of the invention provide a method of upgrading software defined networking (SDN) modules executing on a host computer. While a first version of the SDN modules is executing on the host computer to perform traffic processing, the method loads a second version of the SDN modules alongside the first version of the SDN modules such that the first and second versions of the SDN modules are executing on the host computer at the same time. The method saves runtime states from the first version of the SDN modules, and transfers responsibility for performing traffic processing from the first version of the SDN modules to the second version of the SDN modules. The method then restores the saved runtime states to the second version of the SDN modules.