Containerized Secondary Data Plane for Safe Configuration Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices often require configuration changes to maintain optimal functionality, but applying these changes simultaneously across multiple devices can lead to suboptimal performance or negative impacts on the network if not properly evaluated.

Innovation Solution

A network device architecture with a primary and secondary control plane and data plane, where configuration changes are first applied and evaluated on the secondary plane using test packets before being applied to the primary plane, allowing for evaluation of potential impacts without disrupting the network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration changes are applied simultaneously across multiple network devices, then deployment speed is improved, but network reliability deteriorates due to potential suboptimal performance or negative impacts

Engineering Contradiction:
Improvedeployment speedVSAvoidnetwork reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a preview mode that allows configuration changes to be applied to a secondary data plane before the primary data plane. This enables evaluation of configuration changes using test packets to generate predicted network traffic flow results, ensuring reliability before actual deployment occurs at scale.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the data plane into primary and secondary components. The secondary data plane serves as an isolated testing environment where configuration changes can be evaluated separately from the primary operational data plane, allowing safe deployment validation before affecting actual network traffic.

Inventive Principle:
Principle #1Segmentation

2Reliability

If configuration changes are evaluated using test packets on a secondary data plane, then network reliability is improved, but device complexity increases due to dual control planes and data planes

Engineering Contradiction:
Improveconfiguration safetyVSAvoiddual plane architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating a secondary data plane that replicates the primary data plane's functionality. This copy serves as a testbed for evaluating configuration changes without affecting the primary operational plane, reducing the perceived complexity since the secondary plane mirrors existing structures.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The secondary data plane serves multiple functions: it acts as both a configuration testing environment and a validation mechanism. By making the secondary plane multi-functional, the patent reduces overall system complexity rather than adding dedicated separate testing infrastructure.

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

3Manufacturing precision

If configuration changes are tested before deployment, then deployment accuracy is improved, but time consumption increases due to evaluation process

Engineering Contradiction:
Improvedeployment accuracyVSAvoidevaluation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by using a limited set of test packets to evaluate configuration changes rather than testing with full production traffic. This partial testing approach provides sufficient accuracy to validate configurations while minimizing the time consumed in the evaluation process.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10756966B2Containerized software architecture for configuration management on network devices
Publication Date: 2020.08.25 CISCO TECHNOLOGY INC
  • US10756966B2 patent drawing
  • US10756966B2 patent drawing
  • US10756966B2 patent drawing

AI summary

A network device has a processor that executes software instructions for a primary control plane operable to program a primary data plane that processes packets received at the network device to determine how or whether the packets are to be directed into a network. The processor also executes software instructions for a secondary control plane operable to program a secondary data plane. The secondary control and data planes are software containerized versions of the primary control and data planes, respectively. One or more configuration changes to be made to the network device are received at the secondary control plane. Test packets are obtained from the primary data plane, and network processing decisions are executed by the secondary data plane on the test packets based on the one or more configuration changes. Results of the network processing decisions executed by the secondary data plane on the test packets are evaluated.