Network Device Configuration Rollback via Dependency Graph Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for correcting configuration update errors in network devices consume resources and create inconsistent states, leading to dropped traffic and resource exhaustion, as they often require context-specific or application-specific corrections.

Innovation Solution

A network device generates a dependency graph from its original configuration, updates it with new configuration objects, and tests the changes to determine if they succeed or fail, implementing the updates if successful or rolling back to the original configuration if errors occur, thus conserving resources and preventing inconsistent states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration updates are applied directly to network devices, then network functionality can be updated, but errors may cause inconsistent states and traffic loss

Engineering Contradiction:
Improveconfiguration update speedVSAvoidnetwork state consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation by generating an updated dependency graph and testing configuration changes before applying them to the network device. This advance checking prevents erroneous configurations from causing inconsistent states, while still allowing rapid deployment of valid configurations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A dependency graph serves as an intermediary representation between the configuration data and the network device. This graph models the packet topology and configuration relationships, allowing the system to validate changes virtually before applying them, thus preventing direct errors from reaching the network device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If context-specific error correction techniques are used, then specific errors can be corrected, but computing resources are consumed and traffic may be dropped

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs error detection through dependency graph validation before configuration changes are applied. By identifying potential errors in advance through graph consistency checks, the system avoids the need for resource-intensive post-error correction and prevents traffic drop entirely.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The dependency graph provides a feedback mechanism that validates configuration changes against the network's packet topology before deployment. This feedback loop prevents erroneous configurations from being applied, eliminating the need for corrective actions that would consume computing resources and potentially drop traffic.

Inventive Principle:
Principle #23Feedback

3Speed

If configuration changes are applied without validation, then deployment is fast, but errors lead to resource exhaustion and inconsistent states

Engineering Contradiction:
Improveconfiguration deployment speedVSAvoidconfiguration correctness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs rapid dependency graph generation and validation as a preliminary step before configuration deployment. This pre-validation process quickly identifies potential errors without significant overhead, enabling fast deployment of correct configurations while preventing erroneous ones.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The dependency graph acts as an intermediary validation layer that quickly checks configuration correctness against the network topology. This graph-based approach provides fast validation by modeling only the essential packet forwarding relationships, enabling rapid detection of configuration errors without slow, comprehensive testing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12184493B1Rollback-on-error support for forwarding components of a network device
Publication Date: 2024.12.31 JUNIPER NETWORKS INC
  • US12184493B1 patent drawing
  • US12184493B1 patent drawing
  • US12184493B1 patent drawing

AI summary

A network device may receive an original configuration that includes configuration objects, and may generate, based on the original configuration, a dependency graph that includes nodes representing and entries representing the configuration objects. The network device may receive a configuration update that includes new configuration objects, and may update the dependency graph based on the configuration update and to generate an updated dependency graph that includes new nodes and/or new entries representing the new configuration objects. The network device may test the configuration update, based on the updated dependency graph, to determine whether the configuration update fails or succeeds. The network device may selectively implement the configuration update based on the configuration update succeeding or perform a rollback of the configuration update, based on the configuration update failing, to restore the original configuration.