Configuration Testing for Computer System Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inaccurate configuration information in a managed computer system's database can lead to failed fail-over operations, causing extended service interruptions when a managed node fails, as the managing server relies on this information to identify suitable fail-over nodes.

Innovation Solution

Implementing independent, executable tests on each managed node that can be triggered concurrently to verify and update configuration data, ensuring accuracy and facilitating scalability, concurrency, and easy maintenance of the test suites.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual or automated entry of configuration information is used, then the configuration database can be populated, but the information may become inaccurate or outdated

Engineering Contradiction:
Improveconfiguration data population efficiencyVSAvoidconfiguration data accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by automatically collecting and storing configuration information from nodes before fail-over is needed. Configuration data is gathered in advance through automated agents that query nodes for their actual configuration state, ensuring accurate baseline data is available when needed for fail-over decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where configuration data is continuously validated and updated. Automated agents periodically query nodes to verify configuration information matches the database, and discrepancies trigger updates to the configuration database, ensuring ongoing accuracy through feedback loops.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If configuration checks are performed on each managed node, then configuration accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveconfiguration verification accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system introduces intermediary configuration testing agents that mediate between the central management server and managed nodes. These agents simplify the complexity by handling the intricate details of configuration verification locally on each node, while presenting a simple interface to the central server, thus reducing overall system complexity while maintaining verification accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If comprehensive configuration testing is implemented, then fail-over reliability is improved, but testing time and resources increase

Engineering Contradiction:
Improvefail-over operation reliabilityVSAvoidconfiguration testing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The configuration testing system is segmented into independent, modular test cases that can be executed selectively. Each test case verifies a specific configuration aspect, allowing the system to run only necessary tests based on the situation, thereby reducing total testing time while maintaining fail-over reliability through targeted verification of critical configurations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9274905B1Configuration tests for computer system
Publication Date: 2016.03.01 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9274905B1 patent drawing
  • US9274905B1 patent drawing
  • US9274905B1 patent drawing

AI summary

A computer system has a managing server for managing one or more managed nodes. The managed nodes have media encoded with test executables executable on their respective nodes. The test executables can check configuration data for the node and/or check whether external resources are accessible from the node. The managing server issues commands to run the test executables and collects test results returned by the test executables.