Virtual Routing Engine In-Service Upgrade via Hypervisor Control Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large computer networks face disruptions and increased latency due to the need for routers to go offline for configuration updates, which can cause temporary oscillations in routing information and affect network connectivity and packet loss.

Innovation Solution

Implementing virtual machines with their own operating systems and kernels on top of a hypervisor, allowing for in-service software upgrades by switching control from one virtual machine to another, enabling 'non-stop forwarding' and 'graceful restart' techniques to minimize network disruption during the update process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a router goes offline to process a software update, then the software system can be upgraded, but network connectivity is disrupted and routing information oscillates

Engineering Contradiction:
Improvesoftware system reliabilityVSAvoidnetwork connectivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The router control plane is segmented into multiple virtual routing engines (VREs) that can operate independently. Each VRE runs its own software instance and can be updated individually without affecting the entire router. This allows one VRE to be updated while another continues to handle routing operations, maintaining network connectivity during software upgrades.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A new virtual routing engine with updated software is instantiated and initialized before the old VRE is shut down. The new VRE is pre-configured with necessary routing capabilities and can take over routing operations seamlessly. This preliminary preparation ensures that no routing functionality is lost during the transition.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a router goes offline for configuration update, then the configuration can be updated, but packet forwarding is interrupted and latency increases

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidpacket forwarding time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuous packet forwarding capability by keeping at least one virtual routing engine active during software updates. While one VRE undergoes configuration updates, another VRE continues to perform routing and packet forwarding operations without interruption. This ensures uninterrupted network service and eliminates packet loss during updates.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If routing information is updated after a router failure, then alternative routes can be selected, but routing oscillations occur and convergence time increases

Engineering Contradiction:
Improveroute selection flexibilityVSAvoidrouting information stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The system uses a managing virtual machine as an intermediary to coordinate between multiple virtual routing engines and the external network. This managing VM handles the complexity of routing information synchronization and VRE coordination, allowing smooth transitions between VREs without causing routing oscillations. The intermediary manages the handover process to maintain routing stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8799419B1Configuration update on virtual control plane
Publication Date: 2014.08.05 JUNIPER NETWORKS INC
  • US8799419B1 patent drawing
  • US8799419B1 patent drawing
  • US8799419B1 patent drawing

AI summary

The control plane of a network device comprises a plurality of software processes that manage routing control operations of the device. Through a hypervisor in the control plane, a managing virtual machine controls access to a first virtual machine running a first software system to control a routing communication session between the network device and other network devices. In response to an in-service software upgrade request, the managing virtual machine initializes a second virtual machine. On the second virtual machine, the second software system is loaded. State data maintained by the managing virtual machine can be transferred to the second virtual machine, and the second virtual machine takes control of the routing communication session. During the transfer of control from the first virtual machine to the second virtual machine, techniques of “non-stop forwarding” and “graceful restart” can be implemented to minimize the effect the switchover has on the network.