Multi-Data Plane Shadow Verification for Seamless Network Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Upgrading network edge devices is often disruptive to users due to downtime, exhaustive pre- and post-upgrade checks, potential rollback requirements, and uncertainty about issues in the new version, especially when in-house testing fails to identify unique customer network characteristics.

Innovation Solution

Implementing dual dataplanes, where a primary dataplane runs the current software version and a shadow dataplane runs the new version, allowing for verification testing in the same environment as the current version, thereby reducing the need for rollback plans and enabling seamless upgrades.

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 disrupt user services

Engineering Contradiction:
Improveservice continuityVSAvoidupgrade downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the data plane into multiple independent dataplanes (e.g., dataplane 1, dataplane 2) that can operate in parallel. This allows one dataplane to handle production traffic while another performs upgrades, enabling seamless transitions without service disruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The new software version is deployed and tested in advance in a shadow dataplane before being promoted to production. This preliminary action allows verification of the upgrade in a controlled environment, ensuring readiness before affecting live services.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If in-house testing is performed before deployment, then testing can be completed, but it fails to identify issues related to unique customer network characteristics

Engineering Contradiction:
Improveupgrade verification accuracyVSAvoidtesting environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates a shadow dataplane that is a copy of the production dataplane configuration. This copy receives identical traffic copies and applies the same networking instructions, enabling testing in a production-like environment without replicating the entire complex customer network infrastructure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The testing function is segmented from the production system by using a separate shadow dataplane. This allows isolated testing of upgrade scenarios in a controlled environment while maintaining the simplicity of the test setup, as only the necessary dataplane components need to be replicated rather than the entire customer network.

Inventive Principle:
Principle #1Segmentation

3Reliability

If exhaustive pre- and post-upgrade checks are performed, then upgrade reliability can be ensured, but the upgrade process becomes more complex and time-consuming

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

Solution Approach 1:

Networking instructions are applied to the shadow dataplane before promotion to production, allowing verification of correctness in advance. This preliminary application of changes enables comprehensive testing without requiring complex post-upgrade check procedures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from comparing traffic processing results between the shadow dataplane and production dataplane to verify upgrade correctness. This automated feedback mechanism simplifies verification by using direct comparison of actual processing outcomes rather than complex manual checking procedures.

Inventive Principle:
Principle #23Feedback

4Reliability

If dual dataplanes are implemented for seamless upgrades, then upgrade disruption can be minimized, but the system complexity increases

Engineering Contradiction:
Improveseamless upgrade capabilityVSAvoiddataplane architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The dataplane architecture is designed to be multi-functional, supporting both production traffic handling and upgrade testing in the same infrastructure. The shadow dataplane serves dual purposes: as a backup production dataplane and as a testing environment, reducing the need for separate complex testing systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of creating entirely separate testing systems, the solution uses copies of existing dataplane components (shadow dataplane) that replicate necessary functionality. This approach reduces complexity by reusing proven components rather than building new complex testing infrastructure from scratch.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12348484B2Multi-data plane architecture for seamless upgrades
Publication Date: 2025.07.01 CISCO TECHNOLOGY INC
  • US12348484B2 patent drawing
  • US12348484B2 patent drawing
  • US12348484B2 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.