Non-disruptive Software Updates for Network Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Networking systems require precise software upgrades with minimal downtime to maintain high availability, as disruptions can affect network connectivity and data handling capabilities.

Innovation Solution

A method for non-disruptive software updates involves synchronizing databases and role-swapping between master and standby network controller entities, allowing for validation of new software versions without interrupting traffic processing, with automatic rollback if validation fails.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software upgrades are performed on network controller entities, then new software versions can be deployed to improve system functionality, but network connectivity and data handling may be disrupted during the upgrade process

Engineering Contradiction:
Improvesoftware versionVSAvoidnetwork connectivity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system divides network controller entities into master and standby roles, allowing independent operation of each node during upgrades. The standby node can be upgraded separately from the master node, enabling segmented software deployment that prevents complete system disruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The standby node pre-installs and validates the new software version before switching roles. This preliminary action ensures the new software is tested and verified in advance, so when the standby node becomes master, the network continuity is maintained without disruption.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If software upgrades are performed on active network controllers, then system functionality can be improved, but downtime occurs during the upgrade process

Engineering Contradiction:
Improvesoftware versionVSAvoiddowntime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The standby node performs preliminary installation and validation of the new software version while the master node continues handling network traffic. This allows the upgrade to be prepared in advance without interrupting active operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The master node continues processing network traffic continuously while the standby node performs software upgrades. The role switching mechanism ensures that network connectivity remains uninterrupted during the upgrade process, maintaining continuous useful action.

Inventive Principle:
Principle #20Continuity of useful action

3Stability of the object's composition

If databases of master and standby nodes are synchronized, then data consistency is maintained during role switching, but additional time is required for synchronization

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Database synchronization is performed in advance during the standby node's preparation phase before role switching. This preliminary synchronization ensures data consistency is established ahead of time, minimizing impact during actual role transitions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors and maintains database synchronization between master and standby nodes through feedback mechanisms. This ensures data consistency is actively maintained during the upgrade process without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

4Reliability

If validation testing is performed on new software versions, then software reliability is ensured, but the validation period prevents immediate deployment

Engineering Contradiction:
Improvesoftware versionVSAvoidvalidation period
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Software validation testing is performed in advance on the standby node before it switches to the master role. This preliminary validation ensures the new software is thoroughly tested while the master node continues operating, allowing immediate deployment after validation succeeds.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9235408B2Non-disruptive software updates for servers processing network traffic
Publication Date: 2016.01.12 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US9235408B2 patent drawing
  • US9235408B2 patent drawing
  • US9235408B2 patent drawing

AI summary

Updating software on first and second network controller entities (NCEs), without disrupting traffic processing, comprises resetting the second NCE after it receives a proposed software version from the first NCE. The second NCE runs the proposed software version in a standby role. While the second NCE runs the proposed software version in the standby role, databases of the NCEs stay synchronized. Resetting the first NCE induces the second NCE to assume the master role, and the first NCE to assume the standby role. The second NCE in the master role tests the proposed software version for a predetermined period. If validation succeeds, the second NCE instructs the first NCE to reboot and run the proposed software version in the standby role. Otherwise, the second NCE reverts to running the current software version in the standby role; and the first NCE, running the current software version, reverts to the master role.