Automated Broker Disruption Testing for Messaging Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current testing methods fail to effectively simulate client reactions to broker crashes and stop/start events in publish/subscribe messaging models, particularly in distributed and cloud computing environments, lacking automated tools to assess client-side failover and performance optimization.

Innovation Solution

A testing system comprising a broker cluster with a test driver and simulator that selectively generates errors, such as network link failures, to evaluate how the messaging system handles these events, using scripts to coordinate processor actions and determine the system's response to predefined load-balancing and failover policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If manual testing approaches are used to monitor and analyze performance characteristics, then testing coverage can be achieved, but testing exhaustiveness and automation capability deteriorate

Engineering Contradiction:
Improvetesting automationVSAvoidtesting exhaustiveness
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system enables self-service automated testing where the testing framework automatically executes test scripts, simulates broker disruptions, monitors client reactions, and generates test reports without requiring manual intervention for each test execution, thereby achieving both automation and exhaustiveness

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The automated testing system serves multiple functions including error simulation, client reaction monitoring, performance metric collection, and report generation within a single integrated framework, enabling comprehensive testing coverage while maintaining full automation

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If proprietary implementation mechanisms are used for client-side failover and load balancing, then high availability and scalability are improved, but testing difficulty and complexity increase

Engineering Contradiction:
Improvehigh availabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing system introduces an intermediary testing framework that sits between the test execution environment and the proprietary failover/load-balancing mechanisms, providing standardized test script execution and automated monitoring that simplifies testing of complex proprietary implementations

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables testing by dynamically changing parameters such as broker availability, network connectivity, and load conditions through automated test scripts, allowing comprehensive testing of failover and load-balancing mechanisms without requiring complex manual test setup

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If existing monitoring and debugging approaches are used, then performance tracking is achieved, but automated error simulation and client reaction testing deteriorate

Engineering Contradiction:
Improveperformance trackingVSAvoidautomated error simulation
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

The system performs preliminary actions by pre-configuring test scripts that define various error scenarios and disruption patterns before execution, enabling automated simulation of broker crashes, network failures, and other disruptions while maintaining precise performance tracking during test execution

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9009683B2Systems and/or methods for testing client reactions to simulated disruptions
Publication Date: 2015.04.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9009683B2 patent drawing
  • US9009683B2 patent drawing
  • US9009683B2 patent drawing

AI summary

Certain example embodiments described herein relate to approaches for testing client reactions to simulated disruptions in a real production environment that leverages the publish/subscribe messaging model (or one of its variants), optionally in connection with JMS messages and/or triggers. In certain example embodiments, a test driver reads a script that includes an instruction flow that brings down brokers in a broker cluster similar to (or in a manner as inflicted by) broker crashes (e.g., where a process or application does not have a chance to save its state or data before it is terminated), and/or broker stop/start events, e.g., to simulate the problems and determine whether the client application remains intact in the presence of errors. The simulations may leverage hardware and/or software means for intentionally causing disruptions in a live production environment. Thus, it advantageously becomes possible to test an application integration's client-side failover and/or load-balancing implementations.