Transactional Configuration System with Semantic Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software configuration systems are prone to operator errors, such as misspelled configuration keys and duplicate keys leading to unintended results, lack tools for debugging configuration issues, and often require service restarts or lack rollback capabilities, resulting in inefficiencies and potential service interruptions.

Innovation Solution

A computer system with a semantic registry, syntax parser, and semantic validator that stores and enforces semantic constraints on configuration keys, parses and validates configuration definitions, and maintains a transaction history to ensure correctness and operational flexibility, allowing for minimal downtime and easy recovery from configuration errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing configuration systems use simple key/value pairs without semantic validation, then the system is easier to operate and modify, but operator errors such as misspelled keys and duplicate keys occur more frequently

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

Solution Approach 1:

The system performs preliminary semantic validation of configuration keys against a schema before acceptance. The semantic validator checks each key definition against the schema definition in advance to ensure correctness, preventing operator errors like misspelled keys and duplicate keys from being accepted into the configuration system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a semantic validator as an intermediary component between the configuration input and the configuration storage. This mediator layer validates configuration keys against the schema definition, acting as a buffer that prevents erroneous configurations from reaching the system while maintaining operational simplicity for users.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If configuration changes require service restart, then configuration correctness is easier to ensure, but service interruptions and loss of time increase

Engineering Contradiction:
Improveconfiguration correctnessVSAvoidservice interruption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables dynamic reconfiguration by validating and applying configuration changes without requiring service restart. The semantic validator ensures correctness of configuration changes while the system applies them dynamically, making the configuration system both reliable and adaptable to changing requirements without service interruptions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent maintains continuous operation of the service by enabling configuration changes without restart. The semantic validation occurs in the background, and configuration changes are applied dynamically, ensuring that the useful action of the service continues uninterrupted while still maintaining configuration correctness through validation.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If manual versioning and comparison of configuration files is used for debugging, then system complexity is reduced, but productivity and ease of repair decrease

Engineering Contradiction:
Improvesystem complexityVSAvoiddebugging efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system provides automated feedback by maintaining a history of configuration changes and enabling easy comparison of versions. The semantic validator and history tracking mechanisms automatically record and compare configuration states, providing feedback to operators about what changes were made and when, significantly improving debugging efficiency without requiring manual versioning.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates and maintains copies of configuration history in a structured format. The history module stores previous configuration states, allowing operators to compare versions and identify root causes of problems. This automated copying and storage of configuration history eliminates the need for manual versioning while dramatically improving productivity and ease of repair.

Inventive Principle:
Principle #26Copying

4Reliability

If XML schemas are used to prevent configuration errors, then configuration correctness improves, but device complexity and difficulty of manufacture increase due to schema maintenance requirements

Engineering Contradiction:
Improveconfiguration correctnessVSAvoidsystem implementation ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The system implements self-service configuration validation where the semantic validator automatically checks configuration keys against the schema definition without requiring manual intervention. The history module automatically tracks and compares configuration changes, providing self-service functionality that improves configuration correctness while reducing the need for manual schema maintenance and system implementation complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9298847B1Late bound, transactional configuration system and methods
Publication Date: 2016.03.29 EMC IP HLDG CO LLC
  • US9298847B1 patent drawing
  • US9298847B1 patent drawing
  • US9298847B1 patent drawing

AI summary

Systems and methods for configuring software systems help guarantee correctness while providing operational flexibility and minimal time to recover. A configuration system uses a un-typed syntax tree with transactional semantics layered under a set of late-bound semantic constraints. Configuration settings are defined in property flies which are parsed into a syntax tree during startup and which can be safely reloaded. Semantic constraints are dynamically specified by software components. The system maintains a transactional history to enable rollback and inspection.