Resilient Event Processing via Asynchronous Feedback Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service-oriented architectures (SOAs) and microservice architectures (MSAs) lack tools to provide consumers and users with sufficient updates on the state of requests, leading to inefficiencies and difficulties in determining when to report errors or retry requests due to the 'black box' nature of event processor services, which are opaque to downstream services.

Innovation Solution

An event processing system with a publisher microservice, subscriber microservices, and an event processing device equipped with an events API and a message broker service that ensures resilient message processing through asynchronous communications, providing updates and confirmation messages to manage request states and facilitate secure access to protected payload data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If standard SOA or MSA event processor services are used, then system flexibility and continuous delivery are improved, but consumers cannot determine request state, error occurrence, or processing failures

Engineering Contradiction:
Improvesystem flexibilityVSAvoidrequest state information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent implements feedback mechanisms where event processor services publish status information about request processing to consumers. This allows consumers to receive updates on request state, error conditions, and processing failures, resolving the information loss problem while maintaining the flexibility of microservice architectures.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary mechanism that enables event processor services to communicate their internal state to consumers without tightly coupling the services. This mediator approach allows request state information to be shared while preserving the independence and flexibility of individual microservices.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If event processor services operate independently, then service independence and deployment flexibility are improved, but downstream services cannot detect when to report errors or retry requests

Engineering Contradiction:
Improveservice independenceVSAvoiderror detection capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Event processor services publish feedback information about their processing status, error conditions, and completion states to downstream consumers. This feedback mechanism enables reliable error detection and retry decisions while maintaining service independence through asynchronous communication.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by having event processor services proactively publish status information before consumers need to make decisions about error handling or retries. This advance notification enables consumers to prepare appropriate responses without blocking service independence.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If message delivery is attempted to all recipient microservices, then complete information distribution is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improveinformation distribution completenessVSAvoidmessage routing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the message delivery process by maintaining separate queues for different recipient microservices and processing messages independently for each service. This segmentation enables complete information distribution while managing complexity through structured organization of delivery operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous message delivery attempts to all registered recipient microservices until successful delivery or confirmation is received. This continuous action ensures complete information distribution while the systematic approach to tracking and managing delivery states prevents uncontrolled complexity increase.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11516306B2Systems and methods for resilient communication protocols and interfaces
Publication Date: 2022.11.29 EXPRESS SCRIPTS STRATEGIC DEVELOPMENT INC
  • US11516306B2 patent drawing
  • US11516306B2 patent drawing
  • US11516306B2 patent drawing

AI summary

An event processing system is provided for providing resilient message processing using asynchronous communications. The event processing device includes a processor and a memory. The event processing device is in communication with a publisher microservice and subscriber microservices. The processor is configured to receive an event including a collection of data from the publisher microservice. The processor is also configured to process the event to identify a recipient microservice. The processor is configured to update a queue with a queue entry for each of the at least one recipient microservices for the event. Each queue entry is associated with a priority. The processor is also configured to attempt to transmit the event to each of the at least one recipient microservices until a transmission confirmation message is received. The processor is further configured to update the queue by removing the queue entry for which the transmission confirmation message is received.