Poisoned Message Detection via Consumer Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current messaging systems face challenges in identifying and handling poison messages, especially when multiple producers send data, as determining the source of a poison message is difficult, and consumers may hang or fail due to design issues rather than the message itself.

Innovation Solution

A computer system that receives messages from producers, monitors consumers for adverse conditions, and sends the message to additional consumers to verify if it's a poison message by marking it with a unique identifier, allowing for identification of the producer and taking appropriate actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a message is sent to a consumer in a messaging system, then the consumer can process the message and produce output, but the consumer may hang or crash due to poison messages causing service disruption

Engineering Contradiction:
Improvemessage processing throughputVSAvoidconsumer stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary validation by sending the suspected poison message to a set of test consumers before allowing it to reach the main consumer. This advance testing identifies problematic messages before they can cause service disruption, preventing the consumer from hanging or crashing while maintaining the ability to process valid messages efficiently

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary validation layer between the message queue and the consumer. This intermediary component acts as a buffer that intercepts messages, performs stability testing on a subset of consumers, and only allows messages that pass the validation to reach the main consumer, thus isolating the consumer from poison messages while preserving message flow for valid inputs

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If schema validation is used to identify poison messages, then messages can be validated against known formats, but prior knowledge about messages must be present which may not be available in all messaging systems

Engineering Contradiction:
Improvemessage validity detection accuracyVSAvoidsystem applicability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

Instead of requiring prior schema knowledge, the system performs preliminary empirical validation by actually attempting to process the message through test consumers. This runtime validation approach adapts to any message type without requiring predefined schemas, making the system versatile while maintaining accurate detection of poison messages through real-world processing attempts

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the consumers themselves to validate messages rather than relying on external schema validation. The consumers perform self-testing by attempting to process messages and reporting back whether they succeeded or caused adverse conditions. This self-service validation mechanism eliminates the need for prior knowledge about message formats while maintaining high detection accuracy through actual processing attempts

Inventive Principle:
Principle #25Self-service

3Reliability

If a consumer hangs or crashes due to a poison message, then the message is identified as problematic, but determining the source of the poison message is difficult when multiple producers send data

Engineering Contradiction:
Improvepoison message detectionVSAvoidproducer identification
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system segments the validation process by testing messages with individual consumers in isolation rather than with all consumers simultaneously. Each consumer processes messages independently and reports results separately, allowing the system to trace which specific consumer failed on which specific message. This segmentation preserves producer identification information by maintaining clear one-to-one correspondence between messages and consumer responses

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a feedback mechanism where each consumer reports back to the messaging system whether it successfully processed a message or encountered an adverse condition. This structured feedback loop preserves information about which consumer failed and on which message, enabling the system to trace the failure back to the originating producer while maintaining reliable poison message detection

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10715469B2Poisoned message detection system
Publication Date: 2020.07.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10715469B2 patent drawing
  • US10715469B2 patent drawing
  • US10715469B2 patent drawing

AI summary

A method, apparatus, system, and computer program product for processing messages. A message is received from a producer by a computer system. The message is sent to a consumer by the computer system. The message is sent to a set of consumers in addition to the consumer by the computer system in response to an adverse condition being present for the consumer after sending the message the consumer. A set of actions is performed in response to the adverse condition being present in the set of consumers receiving the message.