Mirrored Dataplanes for Non-Disruptive Network Edge Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Upgrading network edge devices is disruptive due to downtime, route re-convergence, exhaustive pre- and post-upgrade checks, uncertainty in in-house testing, and potential issues in customer-specific networks, necessitating scheduled maintenance and contingency plans.
Innovation Solution
Implementing dual dataplanes, with a primary dataplane for current functionality and a shadow dataplane for verification, allowing seamless upgrades by comparing performance records in the customer's network environment, thus integrating verification testing into the upgrade process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional upgrade methods are used for network edge devices, then upgrades can be performed, but they cause downtime and require scheduled maintenance windows
Solution Approach 1:
The system segments the data plane into multiple independent dataplanes (e.g., dataplane 104a, 104b, 104c) that can operate in parallel. This allows the network device to perform upgrades on one dataplane while others continue processing traffic, eliminating the need to stop all services during maintenance windows.
Solution Approach 2:
The system performs preliminary verification of upgraded software versions in a shadow dataplane before deploying them to production. This preliminary action in a isolated environment prevents potential failures from causing downtime, as the verified upgrade can be immediately activated without disruption.
2Reliability
If exhaustive pre- and post-upgrade checks are performed, then upgrade reliability is improved, but the upgrade process becomes more complex and time-consuming
Solution Approach 1:
The system creates a shadow dataplane that is a copy of the production dataplane configuration. This shadow copy allows comprehensive verification of upgraded versions without affecting the actual production traffic. The shadow dataplane mirrors the same topology and policies, enabling safe testing of upgrades in an identical environment.
Solution Approach 2:
The shadow dataplane acts as an intermediary between the upgrade process and production traffic. It serves as a testing ground where upgraded versions can be verified against production-like conditions without directly impacting customer networks, thus simplifying the verification process while maintaining reliability.
3Reliability
If in-house testing is performed before deployment, then some issues can be identified, but testing fails to identify issues related to unique customer network characteristics
Solution Approach 1:
The shadow dataplane is designed to be universal in its functionality while maintaining customer-specific context. It can replicate any customer network configuration, topology, and policies, enabling testing that is both generalizable and specifically tailored to each customer's unique network characteristics.
Solution Approach 2:
The system allows dynamic adjustment of parameters in the shadow dataplane to match specific customer network configurations. By changing parameters such as network topology, policies, and traffic patterns to reflect actual customer environments, the system enables accurate verification of upgrade compatibility with unique network characteristics.
4Ease of operation
If dual dataplanes are implemented for verification, then seamless upgrades are enabled, but device complexity increases
Solution Approach 1:
The system merges the verification function into the existing dataplane architecture by creating shadow dataplanes that share infrastructure with production dataplanes. This consolidation allows verification and production operations to coexist using the same hardware and software frameworks, reducing the incremental complexity of adding verification capabilities.
Data Source
AI summary
A system and method are provided for implementing a network component and verifying an update of the network component. The network component can be, e.g., a software-defined wide area network, a firewall, a router, or a load balancer. The network component can be an embedded network edge device that is implemented, e.g., in software, in circuitry, or using hardware acceleration (e.g., a data processing unit (DPU), a smart network interface card (SmartNIC), etc.). The updated version of the network component is verified by implementing it on a shadow dataplane concurrently with the current version operating on a primary dataplane, and comparing the performances of these two versions. Based on this comparison satisfying various verification criteria, the updated version passes a verification test and can be promoted to the primary dataplane.


