Multi-Dataplane Network Architecture for Seamless Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Upgrading network edge devices is disruptive, causing downtime, requiring scheduled maintenance, extensive pre-and post-upgrade checks, and uncertainty due to differences between testing and production environments.
Innovation Solution
Implementing dual dataplanes, with a primary and shadow dataplane, allowing seamless upgrades by verifying new versions in the shadow dataplane, ensuring continuous operation and gradual transition to the new version.
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 divides the data plane into multiple independent dataplanes (first dataplane and second dataplane), each capable of processing network traffic separately. This segmentation allows one dataplane to be upgraded while the other continues handling traffic, eliminating downtime and enabling continuous operation during upgrades.
Solution Approach 2:
The patent implements preliminary action by deploying the upgraded version of the network component in the second dataplane before switching to it. Verification testing is performed in advance in the shadow dataplane to ensure the upgrade does not disrupt service, allowing seamless transition without scheduled maintenance windows.
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 patent performs verification testing in advance within the shadow dataplane before the upgrade is activated. This preliminary verification includes pre-upgrade checks and post-upgrade validation, ensuring the new version works correctly without requiring complex post-deployment monitoring and reducing upgrade process complexity.
Solution Approach 2:
The system creates a copy of the network component in the shadow dataplane that mirrors the production environment. This copy allows exhaustive verification testing of the upgraded version in isolation, ensuring reliability before deployment without adding complexity to the actual upgrade process in the primary dataplane.
3Reliability
If in-house testing is performed before deployment, then testing can be completed, but it fails to identify issues due to differences between testing and production environments
Solution Approach 1:
The patent creates a shadow dataplane that is configured to match the production environment settings, network topology, and traffic patterns. This environment copy ensures that testing in the shadow dataplane accurately reflects production conditions, identifying issues that would not appear in simplified in-house testing environments.
Solution Approach 2:
The system changes configuration parameters and environmental settings in the shadow dataplane to mirror production conditions. By adjusting parameters such as network topology, traffic characteristics, and system configuration, the testing environment becomes adaptable to production realities, improving testing accuracy for upgrade verification.
4Productivity
If seamless upgrades are implemented with dual dataplanes, then continuous operation is maintained, but device complexity increases
Solution Approach 1:
The data plane is segmented into multiple independent dataplanes that can operate in parallel. This segmentation enables continuous deployment by allowing one dataplane to be upgraded while others continue processing traffic, improving productivity without requiring complete system shutdown.
Solution Approach 2:
The control plane acts as an intermediary that manages traffic distribution between the first and second dataplanes. It coordinates the upgrade process, directs traffic to appropriate dataplanes, and handles failover, simplifying the overall architecture by centralizing control logic rather than distributing complexity across all components.
Data Source
AI summary
A system and method are provided for implementing a network component, such as 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 system can include multiple dataplanes, including a primary dataplane and a shadow dataplane. A packet dispatcher relays received data packets to a primary dataplane and the shadow dataplane. The primary dataplane applies a current version of the network component to data packets, and the secondary dataplane applies a new version of the network component to identical replicas of the data packets. A control plane agent compares performance data gathered from the respective dataplanes to perform verification testing on the new version of the network component.


