Multi-Dataplane Network Architecture for Seamless Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecontinuous operationVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveupgrade verificationVSAvoidupgrade process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvetesting accuracyVSAvoidenvironment compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If seamless upgrades are implemented with dual dataplanes, then continuous operation is maintained, but device complexity increases

Engineering Contradiction:
Improvecontinuous deployment capabilityVSAvoiddataplane architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250330445A1Multi-data plane architecture for seamless upgrades
Publication Date: 2025.10.23 CISCO TECHNOLOGY INC
  • US20250330445A1 patent drawing
  • US20250330445A1 patent drawing
  • US20250330445A1 patent drawing

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.