Non-disruptive Software Updates for Network Controllers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
4Reliability
If validation testing is performed on new software versions, then software reliability is ensured, but the validation period prevents immediate deployment
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.
Data Source
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.


