In-Service Software Reload for Network Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods for software upgrades in network devices require hardware resets and reboots, leading to significant downtime and disruptions in network traffic, which is not suitable for in-service upgrades, especially in microkernel environments.
Innovation Solution
The implementation of an in-service software reload method that allows network devices to upgrade software without rebooting hardware, using a microkernel that operates in a protected address space, enabling user-level processes to be shut down without affecting the kernel, and utilizing checkpointed data for restarts, allowing continuous network traffic forwarding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional software upgrade methods are used requiring hardware reset and reboot, then software can be upgraded to new versions with fixes and enhancements, but network device downtime increases significantly and network traffic is disrupted
Solution Approach 1:
The system divides the network device into separate virtualization layers: a virtualization layer that manages hardware resources and a virtual machine layer that runs software applications. This segmentation allows the software layer to be upgraded independently without affecting the hardware layer, enabling continuous operation during software updates.
Solution Approach 2:
A virtualization layer acts as an intermediary between the hardware and software layers. This intermediary abstracts the hardware resources and allows software to be upgraded in the virtual machine environment without requiring hardware reset or reboot, thus maintaining network traffic flow during upgrades.
2Reliability
If hardware components are reset during software upgrade, then upgraded software can be initialized properly, but network traffic forwarding is interrupted
Solution Approach 1:
The architecture separates hardware initialization from software initialization by introducing a virtualization layer. The hardware layer remains operational and continues forwarding traffic, while the software layer is initialized independently within virtual machines, allowing both hardware functionality and software updates to coexist without interruption.
3Reliability
If network device is rebooted from scratch to initialize upgraded software, then software upgrade is completed, but delivery of network traffic is interrupted
Solution Approach 1:
The system performs preliminary actions by maintaining the hardware layer in an operational state before software upgrades. The virtualization layer is configured in advance to support independent software initialization, so when software upgrades occur, the hardware layer is already prepared to continue traffic forwarding without interruption.
Solution Approach 2:
The hardware layer continues its useful action of forwarding network traffic continuously during software upgrades. The virtualization architecture enables the software layer to be upgraded while the hardware layer maintains uninterrupted traffic flow, achieving continuity of the primary network function throughout the upgrade process.
Data Source
AI summary
A software reload is executed. The hardware associated with the network device continues to forward network traffic during the software reload. Also, a kernel of the network device operates unaffected in a protected address space throughout the software reload. Further, the kernel preserves local checkpointed and shared memory data. Application processes running on the network node are shut down gracefully. The reloaded software is brought up and the network device is resynchronized.


