Network Management System Parallel Configuration Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network management systems face challenges in handling concurrent changes to high-level configuration models across multiple network devices, leading to conflicts that are not readily apparent at the high-level model, and require efficient conflict detection and resolution, as well as support for transaction integrity without locking managed devices.

Innovation Solution

A network management system that determines differences between existing and new high-level configuration models, translates these differences to low-level configuration modifications, merges conflicting changes, and applies them to network devices while maintaining transaction integrity through snapshot-based rollback mechanisms, even when rollback is not supported on managed devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple administrators modify services in parallel, then service configuration flexibility and productivity are improved, but conflicts arise between concurrent changes that are not readily apparent at the high-level model

Engineering Contradiction:
Improveconcurrent configuration changesVSAvoidconfiguration consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary translation of high-level configuration changes to low-level device-specific configurations before applying them to network devices. This advance translation allows the system to detect conflicts between concurrent changes from multiple administrators before they are applied, enabling preventive resolution while maintaining parallel configuration capabilities.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary translation layer that converts high-level service model configurations into device-specific low-level configurations. This intermediary layer acts as a mediator that can detect and resolve conflicts between concurrent changes from multiple administrators, ensuring configuration consistency without blocking parallel operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If transaction locking is used to ensure integrity, then data consistency is improved, but device availability and productivity deteriorate due to locking managed devices

Engineering Contradiction:
Improvetransaction integrityVSAvoiddevice availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system creates and works with copies of configuration data in a private data store rather than directly locking the managed devices during transactions. By operating on local copies and applying changes atomically, the system ensures transaction integrity without blocking device access, maintaining both consistency and availability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system segments the configuration management process into separate transactional operations on private data stores for each device. This segmentation allows multiple concurrent transactions to proceed independently without requiring global locks, ensuring integrity through local atomicity while maintaining device availability.

Inventive Principle:
Principle #1Segmentation

3Speed

If high-level service model changes are applied directly, then configuration speed is improved, but conflicts between dependent properties across device configurations are not detected

Engineering Contradiction:
Improveconfiguration application speedVSAvoidconflict detection
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary translation of high-level service model changes to device-specific low-level configurations before applying them. This advance translation step enables the system to detect conflicts between dependent properties across different device configurations before the changes are applied, maintaining both speed through batch application and thorough conflict detection.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If rollback is not supported on managed devices, then device simplicity and ease of operation are improved, but transaction safety and reliability deteriorate

Engineering Contradiction:
Improvedevice simplicityVSAvoidtransaction safety
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system maintains private data store copies of configuration data for each managed device. When a transaction needs to be rolled back, the system reverts to the previous version from the private data store copy rather than requiring rollback capability on the managed device itself. This approach ensures transaction safety while maintaining device simplicity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system prepares backup copies of configuration data in private data stores before applying changes. This beforehand cushioning allows the system to safely rollback transactions by restoring from these pre-prepared copies, ensuring transaction safety without adding complexity to the managed devices.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10374886B1Processing multiple parallel high level configuration changes for managed network devices
Publication Date: 2019.08.06 JUNIPER NETWORKS INC
  • US10374886B1 patent drawing
  • US10374886B1 patent drawing
  • US10374886B1 patent drawing

AI summary

In one example, a network management system (NMS) device manages a plurality of network devices. The NMS device includes a processor configured to determine a first set of differences between an existing high-level configuration for the plurality of network devices and a first received high-level configuration for the plurality of network devices, determine a second set of differences between the existing high-level configuration and a second received high-level configuration, wherein the second received high-level configuration is received separately from the first received high-level configuration, translate the first set of differences to a first low-level configuration modification, translate the second set of differences to a second low-level configuration modification, merge the first low-level configuration modification and the second low-level configuration modification, and apply the merged low-level configuration modification to low-level configuration of the plurality of network devices.