Asynchronous Message Sequencing in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed and parallel processing environments, asynchronous messages often lead to de-ordering, resulting in inadequate processing and potential irreversible corruption of stored functional data, as the sequencing of messages is not guaranteed, especially in asynchronous and distributed systems where the emitter system loses control over the processing order.

Innovation Solution

A method that involves inbound and outbound handlers to receive, process, and store messages while maintaining their sequence order, using sequence correlation values and message ranks to ensure correct sequencing, with features like queue storage, overflow storage, and mutex locking to manage message processing and prevent data corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If asynchronous message transmission is used in distributed systems, then system scalability and resilience are improved, but message sequence order cannot be guaranteed

Engineering Contradiction:
Improvesystem scalabilityVSAvoidmessage sequence order
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by assigning sequence correlation values and message ranks to messages before they are transmitted through the distributed system. The inbound handler pre-processes incoming messages by determining their sequence status and ranking them before forwarding to outbound handlers, ensuring that ordering information is established in advance and maintained throughout asynchronous transmission.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of sequence correlation values and a sequence storage component that mediates between inbound and outbound handlers. This intermediary structure tracks message sequences and ensures proper ordering is maintained even as messages are distributed across multiple parallel processing nodes, resolving the contradiction between asynchronous transmission and order guarantee.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If parallel processing is implemented in distributed systems, then processing speed and throughput are improved, but message processing order may be violated

Engineering Contradiction:
Improveprocessing speedVSAvoidmessage processing order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the message processing function into separate inbound handlers and outbound handlers that can operate in parallel. Each handler independently processes messages while the sequence correlation mechanism ensures that messages are reassembled in the correct order. This segmentation enables parallel processing while maintaining sequence integrity through the intermediary sequencing logic.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the emitter system loses control over message processing order, then system flexibility and autonomy are improved, but data integrity and consistency deteriorate

Engineering Contradiction:
Improvesystem flexibilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements self-service by enabling the message processing system to automatically maintain its own sequence ordering without requiring the emitter system to control the processing order. The inbound and outbound handlers autonomously manage message sequencing through correlation values and sequence storage, allowing the emitter to send messages asynchronously while the receiving system self-regulates to maintain data integrity and proper processing order.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2693337B1Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment
Publication Date: 2017.05.17 AMADEUS SAS
  • EP2693337B1 patent drawingFigure 1A~1B
  • EP2693337B1 patent drawingFigure 2
  • EP2693337B1 patent drawingFigure 3

AI summary

The invention provides a system and a computer-implemented method of sequencing distributed asynchronous messages in a distributed and parallel system having a plurality of inbound handlers (810, 820, ..., 840) and a plurality of outbound handlers (860, 870, 880, 890), the method comprising the following steps performed with at least one data processor: receiving in an inbound handler (810) an incoming message (801-1) with a sequence correlation value that identifies a sequence comprising the incoming message, checking for a sequence status of said sequence in a sequence storage (800); determining if the incoming message is the next message to be processed for maintaining the order of the messages in said sequence; i.if the sequence status indicates that none of the outbound handler (860, 870, 880, 890) is currently processing a message for said sequence and if the incoming message is determined to be the next message to be processed for said sequence, then forwarding the incoming message to a queue storage (850) and subsequently forwarding it to an available outbound handler (860, 870, 880, 890) for processing; if the sequence status indicates that at least one of the outbound handlers (860, 870, 880, 890) is currently processing a message of said sequence; or if the queue storage (850) already comprises a message to be processed for said sequence; or if the incoming message is determined not to be the next message to be processed for said sequence, then storing the incoming message (801-1) in a memory of an overflow storage (806) to keep for further processing.