ERP Message Sequencing via Segmented Queues and Dispatcher
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
ERP systems face challenges in ensuring desired delivery sequencing of output messages, particularly in environments where the chronological order of input messages is critical, such as hospitals, due to parallel processing which can result in unpredictable output message sequences.
Innovation Solution
Implementing a system where output messages are queued and transmitted only after all prior input messages from the same source system are transmitted, and using a dispatcher to enforce sequencing requirements, ensuring that output messages are delivered in the same sequence as the corresponding input messages, even in multicast scenarios where multiple output messages are generated from a single input message.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel processing is used to generate output messages, then productivity is improved, but delivery sequencing reliability deteriorates
Solution Approach 1:
The patent segments the message processing system into multiple independent processing channels or threads that can operate in parallel. Each channel maintains its own sequence number counter and processes messages independently, allowing concurrent processing while preserving individual sequence integrity within each channel. This segmentation enables high throughput while maintaining reliable sequencing within segmented streams.
Solution Approach 2:
The patent introduces an intermediary component (such as a sequence manager or message router) that receives messages from parallel processing channels, assigns or verifies sequence numbers, and ensures proper ordering before delivery. This intermediary acts as a mediator between the parallel processing subsystem and the delivery subsystem, allowing parallel processing to proceed at high speed while the intermediary maintains sequencing reliability through coordination mechanisms.
2Reliability
If output messages are queued and transmitted in sequence, then delivery sequencing reliability is improved, but productivity deteriorates
Solution Approach 1:
Instead of using a single sequential queue for all output messages, the patent segments the queue into multiple parallel queues or channels. Each queue handles a specific sequence of messages from a particular source or destination, allowing multiple queues to operate simultaneously. This segmentation maintains sequencing reliability within each queue while enabling parallel transmission across multiple queues, thus preserving both reliability and productivity.
Solution Approach 2:
The patent implements partial sequencing by applying sequence number enforcement selectively based on message priority, destination, or source characteristics. High-priority messages or messages from critical sources receive strict sequential processing, while less critical messages can be processed with more flexibility. This partial application of sequencing constraints maintains reliability where needed while allowing higher overall throughput by not enforcing sequencing universally.
3Reliability
If a dispatcher is implemented to enforce sequencing, then delivery sequencing reliability is improved, but device complexity increases
Solution Approach 1:
The patent extracts the sequencing enforcement logic from the main message processing flow and places it in a dedicated, specialized dispatcher component. This separation of concerns allows the dispatcher to focus solely on sequencing operations, simplifying its design and implementation. The main processing channels remain simple and efficient, while the extracted dispatcher handles sequencing complexity in a centralized, manageable location, reducing overall system complexity through modular design.
Solution Approach 2:
The patent uses copying mechanisms to maintain sequence number information and message metadata without duplicating entire message processing logic. Instead of implementing separate sequencing systems for each processing channel, the patent copies essential sequencing data (sequence numbers, source identifiers, destination identifiers) and uses these copies for coordination and verification. This copying approach reduces complexity by avoiding redundant full processing logic while maintaining sequencing reliability.
Data Source
AI summary
An embodiment of the present disclosure receives a respective set of input messages from a corresponding source system, with the messages of each set of input messages being received in a corresponding chronological (time) order. The input messages are processed using parallel processing approaches to generate corresponding output messages, with each output message being generated for delivery to a corresponding destination system. The destination system for each output message is identified only during such processing of the input messages. The output messages are queued and an output message to a destination system is transmitted only after output messages of all prior input messages from the same source system to the destination system are transmitted, while permitting output messages generated by processing of input messages from different source systems being permitted to be transmitted out-of-sequence.


