Batch Configuration Validation for Server Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for implementing configuration changes in application server systems face challenges due to partial failures leading to inconsistent states, as changes are made attribute-by-attribute, which can trigger side effects and are difficult to manage reliably.

Innovation Solution

A batch configuration change process that allows multiple changes to be made and validated as a transaction, using an administration server and managed servers, where changes are compared to a running state, and only activated if all servers accept them, with mechanisms for tracking progress and ensuring consistency, including MBean tree differencing for efficient comparison.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If configuration changes are made attribute-by-attribute using conventional methods, then individual changes can be applied incrementally, but partial failures occur leading to inconsistent system states

Engineering Contradiction:
Improveconfiguration change speedVSAvoidconfiguration consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements validation of all configuration changes against the running state before any changes are activated. This preliminary validation ensures that the entire set of changes is consistent and will not cause conflicts, allowing fast batch application without risking inconsistent states.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the configuration validation process into distinct phases: validation phase (comparing changes against running state) and activation phase (applying changes to managed servers). This separation allows validation to occur on the administration server without blocking the managed servers, maintaining productivity while ensuring reliability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple configuration changes are batched together for simultaneous activation, then configuration consistency is improved, but validation complexity increases

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidvalidation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary validation process that compares the proposed configuration changes against the current running state stored in the administration server. This intermediary step automatically detects potential conflicts and validation errors without requiring complex manual checking, simplifying the overall process while ensuring consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system provides feedback during validation by comparing changes against the running state and identifying conflicts or errors before activation. This feedback mechanism guides administrators through potential issues and prevents inconsistent configurations from being applied, reducing complexity through automated guidance.

Inventive Principle:
Principle #23Feedback

3Reliability

If configuration changes are validated against the running state before activation, then configuration errors are detected early, but processing time increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidvalidation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The validation is performed as a preliminary action before activation, comparing changes against the stored running state. While this adds a validation step, it prevents much longer recovery times from failed activations and ensures errors are caught early when easier to fix.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments validation and activation into separate phases. Validation occurs on the administration server using stored running state data, which is faster than coordinating with all managed servers. This segmentation reduces validation processing time while maintaining accurate error detection.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If sequential editing by multiple users is allowed, then configuration flexibility is improved, but concurrent modification conflicts increase

Engineering Contradiction:
Improveconfiguration editing flexibilityVSAvoidconfiguration conflict management
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary validation of each user's configuration changes against the current running state before allowing activation. This ensures that even with multiple users editing sequentially, conflicts are detected and resolved before changes are applied, maintaining reliability while allowing flexible editing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation process provides feedback to users about potential conflicts with their proposed changes. This feedback allows users to adjust their configurations to avoid conflicts, maintaining flexibility while ensuring reliability through conflict awareness and resolution.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7529818B2System and method for performing validation of a configuration
Publication Date: 2009.05.05 ORACLE INT CORP
  • US7529818B2 patent drawing
  • US7529818B2 patent drawing
  • US7529818B2 patent drawing

AI summary

In embodiments, the present invention provides mechanisms and methods for making a set of configuration changes to a set of servers comprised of an administration server and one or more managed servers. These mechanisms and methods can enable a number of changes to be made to the configuration at once, e.g., in a batch. In such transaction based processing, embodiments process changes in batches, which enables embodiments to avoid failures in configuration changes that result in the machines being in a non-recoverable or unknown configuration state.