Virtual Routing Engine In-Service Upgrade via Hypervisor Control Transfer
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If a router goes offline for configuration update, then the configuration can be updated, but packet forwarding is interrupted and latency increases
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.
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
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.
Data Source
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.


