Batch Configuration Change Transaction 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 the need for individual attribute validation, which can lead to partial failures and inconsistent states, especially when changes have side effects like triggering deployment.

Innovation Solution

A batch configuration change process that allows multiple changes to be made and validated as a transaction, enabling administrators to manage and apply changes to a set of servers in a controlled manner, with mechanisms for tracking progress and ensuring all servers accept changes before activation, and providing feedback on successful distribution or rollback.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration changes are made attribute-by-attribute using conventional methods, then individual changes can be validated and applied, but the system may enter inconsistent states due to partial failures

Engineering Contradiction:
Improveconfiguration consistencyVSAvoidchange management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The configuration change process is segmented into distinct phases: validation phase where all changes are checked before application, and application phase where changes are applied atomically. This segmentation ensures that partial failures cannot leave the system in an inconsistent state, as either all changes are validated successfully or none are applied.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

All configuration changes are validated in advance before being applied to the system. The validation phase checks all proposed changes against the system state and dependencies before committing any changes. This preliminary validation prevents inconsistent states by ensuring all changes are safe to apply before actually making them.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple configuration changes are applied simultaneously to ensure atomicity, then system consistency is maintained, but it becomes difficult to validate changes and detect errors before activation

Engineering Contradiction:
Improveconfiguration consistencyVSAvoiderror detection difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The change management process is divided into separate validation and application stages. During the validation stage, all changes are individually checked and errors are detected and reported before any changes are applied. This allows thorough error detection while maintaining atomicity during the subsequent application stage where changes are applied together as a unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system provides comprehensive feedback during the validation phase, reporting which changes would succeed and which would fail before any changes are applied. This feedback mechanism allows administrators to review and correct issues before activation, making error detection easy while maintaining system consistency through atomic application.

Inventive Principle:
Principle #23Feedback

3Reliability

If configuration changes are validated individually on each server, then validation can be performed, but the process is time-consuming and productivity is reduced

Engineering Contradiction:
Improvevalidation accuracyVSAvoidconfiguration change speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The validation process merges validation operations across multiple servers into a coordinated batch operation. Instead of validating changes server-by-server sequentially, the system collects all proposed changes and validates them against the system state in a unified process, significantly reducing total validation time while maintaining thoroughness.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

All validation checks are performed in advance during the validation phase before changes are applied. This preliminary batch validation eliminates the need for iterative validation during application, speeding up the overall process while ensuring accurate validation of all changes before they take effect.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If configuration changes are applied without prior validation, then the process is fast, but the system may end up in a non-recoverable or unknown configuration state

Engineering Contradiction:
Improveconfiguration change speedVSAvoidsystem state reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation of all configuration changes before applying them. This advance validation checks for errors, conflicts, and compatibility issues, ensuring that only safe changes are applied. This prevents the system from entering non-recoverable states while maintaining efficient batch processing of validated changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation phase acts as a protective cushion before changes are applied, identifying and preventing potential failures in advance. By checking all changes against the system state and dependencies beforehand, the system cushions against errors that would otherwise cause non-recoverable states, enabling fast and safe configuration changes.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS7660824B2System and method for performing batch configuration changes
Publication Date: 2010.02.09 ORACLE INT CORP
  • US7660824B2 patent drawing
  • US7660824B2 patent drawing
  • US7660824B2 patent drawing

AI summary

In embodiments, the present invention provides mechanisms and methods for making a plurality 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, i.e., in a batch. The ability of an administrator to make a number of changes to the configuration, validate the changes and then persist the changes to the servers is termed a “transaction based” change process. 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.