In-Service Software Upgrade via Dual Routing Engine Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software upgrades for network devices often require shutdown and reboot, leading to downtime and increased manufacturing costs due to the need for redundant hardware, which is unacceptable for critical traffic scenarios.

Innovation Solution

A method for in-service software upgrades that involves identifying the old software version, receiving a new version, and performing the upgrade by making a system call to load the new version while the old version runs, transferring control without shutting down the device, thereby eliminating the need for redundant hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software upgrades are performed by shutting down and rebooting network devices, then software can be updated to fix bugs and improve performance, but network downtime occurs and traffic flow is disrupted

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidtraffic flow continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The network device is divided into two separate routing engines (master and backup), each capable of running independent software versions. This segmentation allows one engine to be upgraded while the other continues to handle traffic, enabling software updates without interrupting network operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The backup routing engine is pre-configured with the new software version before the upgrade process begins. This preliminary preparation allows for a seamless switchover from the master to the backup engine once the master engine is upgraded, minimizing disruption to traffic flow.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If redundant hardware (such as redundant routing engines and linecards) is added to support in-service software upgrades, then traffic continuity is maintained during upgrades, but manufacturing costs increase

Engineering Contradiction:
Improvetraffic flow continuityVSAvoidmanufacturing cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The backup routing engine serves multiple functions: it acts as a hot standby for failover purposes and simultaneously serves as a pre-loaded platform for the new software version. This multi-functionality eliminates the need for separate redundant hardware solely for upgrade purposes, reducing manufacturing costs while maintaining traffic continuity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If the master routing engine is switched off to upgrade software, then the new software version can be installed, but control of the network device is lost temporarily

Engineering Contradiction:
Improvesoftware version updateVSAvoiddevice control continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Before the master routing engine is switched off for upgrading, the backup routing engine is pre-configured with the new software version and prepared to take over. This preliminary action ensures that control of the network device is immediately transferred to the backup engine when the master is switched off, preventing any loss of device control and maintaining continuous network operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10732961B1Systems and methods for performing in-service software upgrades on active network devices
Publication Date: 2020.08.04 JUNIPER NETWORKS INC
  • US10732961B1 patent drawing
  • US10732961B1 patent drawing
  • US10732961B1 patent drawing

AI summary

A disclosed method may include (1) identifying an old version of software that is running on a network device, (2) receiving a new version of the software that is to replace the old version of the software during an in-service software upgrade, and then (3) performing the in-service software upgrade on the network device by making a system call that (A) loads the new version of the software onto the network device as the old version of the software continues to run and (B) transfers control of the network device from the old version of the software to the new version of the software by booting the new version of the software without shutting down the network device. Various other systems and methods are also disclosed.