Configlet Conflict Detection in Intent-Based Network Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network management systems fail to validate configlets for conflicts with intent-generated configurations, leading to potential malfunctions and incomplete configurations, as they do not support the full lifecycle of configlets and cannot detect conflicts across device profiles.
Innovation Solution
A controller device is configured to manage network devices by receiving configlets specifying configuration changes and determining if they conflict with intent-generated configurations, applying changes only if there are no conflicts and refraining from applying changes if conflicts are detected, ensuring that configlets do not override intent-generated configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If configlets are applied to network devices without validation, then configuration deployment speed is improved, but system reliability deteriorates due to potential conflicts with intent-generated configurations
Solution Approach 1:
The system performs preliminary validation of configlets against the intent graph before applying configurations to network devices. The controller device checks whether configlet-induced changes would conflict with intent-generated configurations by querying the intent graph database, and only applies configlets that pass validation, thus preventing conflicts before they occur.
Solution Approach 2:
The system implements a feedback mechanism where the controller device queries the intent graph database to determine whether a configlet would conflict with existing intent-generated configurations. Based on this feedback information, the system decides whether to apply or reject the configlet, creating a closed-loop control system that ensures reliability while maintaining productivity.
2Reliability
If conflict validation is implemented between configlets and intent-generated configurations, then system reliability is improved, but device complexity increases due to additional validation mechanisms
Solution Approach 1:
The patent introduces an intent graph database as an intermediary layer between configlet application and network device configuration. This mediator stores intent-generated configurations and enables automated conflict detection without requiring complex validation logic in the network devices themselves, thus improving reliability while minimizing the increase in device complexity.
Solution Approach 2:
The system enables self-service conflict detection by implementing automated validation logic in the controller device that queries the intent graph database. This eliminates the need for manual conflict checking by network administrators and reduces the complexity burden on individual network devices, as the validation is performed centrally by the controller.
3Manufacturing precision
If the full lifecycle of configlets is supported with validation, then configuration accuracy is improved, but processing time increases due to additional validation steps
Solution Approach 1:
The patent merges the configlet validation process with the existing intent graph database infrastructure. By combining conflict detection, configuration management, and intent enforcement into a unified system, the patent achieves high configuration accuracy without proportionally increasing processing time, as the validation leverages existing database queries rather than adding separate validation procedures.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A controller device manages a plurality of network devices. The controller device is configured to receive, for a data structure, a configlet specifying a set of configuration changes to be applied to a resource of a plurality of resources of the plurality of network devices. A low level configuration for each respective owned resource of a set of owned resources of the plurality of resources includes a pointer indicating an owner for the respective owned resources. The one or more processing units are further configured to determine the set of configuration changes does not conflict in response to determining the low level configuration for the resource does not include a pointer indicating the owner for the resource is not the configlet and apply the set of configuration changes to the resource in response to determining the set of configuration changes does not conflict with the set of owned resources.