Self-Testing Clusterware Agent Emulating Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Clusterware agent developers face challenges in testing their agents due to the requirement of a cluster manager, which is costly, time-consuming, and often beyond their expertise, leading to inadequate testing and unreliable results.

Innovation Solution

A self-testing engine within the clusterware agent emulates the cluster manager, allowing developers to test the agent independently by generating clusterware-side messages and invoking API functions, thereby simplifying the development process and enabling comprehensive scenario testing without the need for a live clusterware system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cluster manager is used to test clusterware agents, then comprehensive testing can be performed, but the testing process becomes costly, time-consuming, and requires specialized expertise

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the cluster manager's testing functionality by embedding a self-testing engine within the clusterware agent itself. This copy can generate and process clusterware-side messages locally, eliminating the need for the original complex cluster manager system during testing. The self-testing engine replicates the essential testing capabilities needed to validate agent functionality.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The clusterware agent becomes self-testing by incorporating the self-testing engine directly into its structure. The agent can now perform comprehensive testing of its own functionality by invoking API functions and processing messages independently, without requiring external cluster manager infrastructure or specialized testing expertise.

Inventive Principle:
Principle #25Self-service

2Reliability

If a live clusterware system is used for testing, then realistic scenarios can be tested, but the deployment time and resource requirements increase

Engineering Contradiction:
Improvetesting accuracyVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The self-testing engine creates a simplified copy of the clusterware system's message processing capabilities, allowing developers to test agent responses to various clusterware-side messages without deploying a complete live clusterware environment. This copy includes the necessary components to generate and handle messages realistically while avoiding the overhead of a full system deployment.

Inventive Principle:
Principle #26Copying

3Reliability

If comprehensive testing is performed without a self-testing engine, then agent reliability improves, but the testing process requires external clusterware systems and specialized expertise

Engineering Contradiction:
Improveagent reliabilityVSAvoidtesting ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

By embedding the self-testing engine within the clusterware agent, the system enables developers to perform comprehensive reliability testing without needing to operate or understand the complex external cluster manager system. The agent essentially tests itself, making the process as easy as compiling and running the agent code while maintaining high testing standards.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9069619B2Self-testable HA framework library infrastructure
Publication Date: 2015.06.30 ORACLE INT CORP
  • US9069619B2 patent drawing
  • US9069619B2 patent drawing
  • US9069619B2 patent drawing

AI summary

A method for a self-testing clusterware agent is provided. A clusterware agent that includes clusterware-side components and application-side components is configured to interface between a cluster manager and an application. The application-side components are invoked by clusterware-side components via an application programming interface, or API that includes API functions that are invocable by a cluster manager. Without any cluster manager invoking the clusterware agent, one or more of the API functions are invoked.