Dependency Graph Error Detection for Device Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing configuration management systems face challenges in ensuring accurate and reliable reconfiguration of computing devices due to unreliable connectivity and complex dependencies between features, which can lead to misconfiguration and user experience issues.

Innovation Solution

A method is introduced to detect errors in the dependency graph for a desired configuration state, allowing for iterative modification and feedback-based updates to ensure correct feature configuration, where the computing device and configuration source collaborate to create and refine a modified dependency graph.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional configuration management is used with centralized control, then configuration coordination is maintained, but system complexity increases and reliability decreases due to unreliable connectivity

Engineering Contradiction:
Improveconfiguration reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the configuration management system into distributed configuration management components at each computing device rather than centralized control. Each device independently manages its own configuration state, tracks dependencies locally, and autonomously resolves configuration issues without requiring constant communication with a central server. This segmentation reduces system complexity and improves reliability by eliminating single points of failure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The configuration management system implements self-service capabilities where computing devices automatically detect configuration errors, identify dependency violations, and resolve issues without external intervention. The system autonomously monitors configuration state, compares it against desired states, and performs self-correction, eliminating the need for complex centralized coordination and improving reliability in disconnected environments.

Inventive Principle:
Principle #25Self-service

2Manufacturing precision

If dependency graphs are used to coordinate feature configuration, then configuration accuracy improves, but detection and measurement difficulty increases due to complex dependencies

Engineering Contradiction:
Improveconfiguration accuracyVSAvoiderror detection difficulty
Core Design Contradiction:
Manufacturing precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms where the configuration management system continuously monitors the actual configuration state of computing devices and compares it against the desired state defined by the dependency graph. When discrepancies are detected, the system generates feedback signals that trigger automated correction processes. This feedback loop maintains high configuration accuracy while simplifying error detection through systematic state comparison rather than complex manual analysis.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system replaces manual or complex automated error detection mechanisms with a standardized state comparison approach. Instead of using complicated algorithms to detect dependency violations, the system simply compares the current configuration state against the desired state from the dependency graph, identifying errors as straightforward state mismatches. This substitution dramatically reduces the difficulty of detecting and measuring configuration errors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If iterative dependency graph modification is performed, then configuration reliability improves, but time consumption increases

Engineering Contradiction:
Improveconfiguration reliabilityVSAvoidreconfiguration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining dependency graphs that encode all configuration relationships and constraints before actual configuration execution. The dependency graph is prepared in advance with all necessary rules and relationships established, allowing the configuration system to simply follow the pre-planned sequence without requiring iterative modifications during execution. This preliminary planning reduces reconfiguration time while maintaining reliability through thorough upfront validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system optimizes the iterative modification process by changing key parameters such as setting maximum iteration limits, adjusting confidence thresholds for automatic corrections, and modifying the aggressiveness of reconfiguration attempts. These parameter adjustments allow the system to perform iterative modifications efficiently, achieving high configuration reliability through controlled iterations rather than exhaustive searching, thereby reducing overall reconfiguration time.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3635557B1Automatic reconfiguration of dependency graph for coordination of device configuration
Publication Date: 2022.06.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3635557B1 patent drawingFigure 1
  • EP3635557B1 patent drawingFigure 2
  • EP3635557B1 patent drawingFigure 3

AI summary

Various technologies described herein pertain to controlling reconfiguration of a dependency graph for coordinating reconfiguration of a computing device. An operation can be performed at the computing device to detect whether an error exists in the dependency graph for a desired configuration state. The dependency graph for the desired configuration state specifies interdependencies between configurations of a set of features. An error can be detected to exist in the dependency graph when the desired configuration state differs from an actual configuration state of the computing device that results from use of the dependency graph to coordinate configuring the set of features. Feedback concerning success or failure of the dependency graph on the computing device can be sent from the computing device to a configuration source. The dependency graph can be modified (by the computing device and/or the configuration source) based on whether an error is detected in the dependency graph.