Configuration Dependency Graph for System Service Remediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current configuration management systems for large-scale systems lack the ability to track and revert configuration tasks over time, leading to increased complexity and difficulty in managing dependencies among various system services, which can result in configuration failures.

Innovation Solution

A method is introduced that constructs a high-level dependency graph with super nodes to identify and manage dependencies among system services, allowing for the determination of an update order for configurations, ensuring correct and sequential updates to prevent service failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If configuration actions are not persisted while the system is live, then the system can report current configuration state, but it is impossible to determine previously performed configuration tasks or revert to previous states

Engineering Contradiction:
Improveconfiguration task historyVSAvoidconfiguration management complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system performs preliminary action by persisting configuration actions to a database before the system state changes. This allows the system to track what configuration tasks have been performed, enabling both historical tracking and the ability to revert to previous states while maintaining manageable complexity through structured persistence.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If configuration changes are tracked by storing updates in a database, then configuration changes can be detected while the system is live, but it becomes burdensome to manage configurations for multiple different services separately

Engineering Contradiction:
Improveconfiguration change detectionVSAvoidservice configuration management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system merges the management of configurations across multiple services by implementing a unified configuration management mechanism. The same database persistence and tracking approach is applied across all services (NTP, SSH, authentication, firewall, network, storage, keyboard services), allowing configuration changes to be detected and managed consistently across the entire system rather than requiring separate management for each service.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If the system updates configurations for multiple services, then the system can adapt to new requirements, but updating configurations out of order could result in failure of system services

Engineering Contradiction:
Improveconfiguration update flexibilityVSAvoidsystem service stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary action by determining the correct update order for configurations before applying them. By analyzing dependencies among configurations across multiple services and establishing the proper sequence in advance, the system can adapt to new configuration requirements while ensuring that updates are applied in an order that maintains system service stability and prevents failures.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11424982B2Remediation of a system to new desired state using configuration dependency graph
Publication Date: 2022.08.23 VMWARE INC
  • US11424982B2 patent drawing
  • US11424982B2 patent drawing
  • US11424982B2 patent drawing

AI summary

A method of remediating system services relies on a first dependency graph with super nodes, to each of which a set of system services are assigned, and second dependency graphs, each of which represents dependencies among the system services that are in one of the sets. The method includes the steps of: comparing an actual configuration state of the system services to a desired configuration state of the system services to identify configurations that are in drift; identifying system services corresponding to the configurations that are in drift; determining an order of updating configurations of the identified system services using the first and second dependency graphs; and applying the desired configurations of the identified system services in the order determined, wherein after the configurations of an identified system service are updated, the system service executes with the updated configurations.