Message Delivery Middleware for Distributed Business Process Messaging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed business process management systems, ensuring 'exactly once' message delivery is challenging due to scalability and failover requirements, leading to concerns about reliability and consistency in message receipt across multiple nodes.
Innovation Solution
A message delivery middleware that asynchronously correlates and maps business process messages with executing processes across nodes, decouples message receipt, and uses queuing infrastructure for reliable message transport, ensuring messages are delivered independently of process status and scaling with available resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a distributed BPMS infrastructure is used with multiple nodes for scalability and failover, then system availability and scalability are improved, but message delivery reliability and consistency deteriorate due to the difficulty of ensuring 'exactly once' delivery across nodes
Solution Approach 1:
The patent introduces a message broker as an intermediary component in the distributed BPMS architecture. The message broker receives messages from publishing processes, determines the target node(s) where subscribing processes are executing, and forwards messages to the appropriate nodes. This intermediary approach decouples the publishing and subscribing processes, allowing them to operate independently across different nodes while ensuring reliable message delivery. The message broker maintains message routing information and handles the complexity of cross-node message delivery, thereby ensuring 'exactly once' delivery semantics in the distributed environment.
2Reliability
If traditional cluster setup with shared central components is used, then message delivery consistency is improved, but system complexity and single points of failure increase
Solution Approach 1:
The patent segments the centralized message routing functionality into distributed components. Instead of having a single central routing server, the routing logic is distributed across multiple BPMS nodes. Each node maintains local routing information for processes executing on that node, and the message broker coordinates cross-node routing. This segmentation eliminates the single point of failure in centralized architectures while maintaining message delivery consistency through distributed coordination. The system achieves both reliability and reduced complexity by distributing the routing function across the same nodes that execute business processes.
3Adaptability or versatility
If cloud-based platform as service installation is used with dynamic resource allocation, then system elasticity is improved, but message routing complexity increases due to dynamic node allocation
Solution Approach 1:
The patent implements dynamic message routing that adapts to the current state of the distributed system. The message broker dynamically determines which nodes currently have the target process instances, and routes messages accordingly. When processes are migrated between nodes or when nodes are added/removed from the cluster, the message broker automatically updates its routing information and redirects messages to the appropriate nodes. This dynamic approach allows the system to maintain message routing correctness in cloud-based environments with elastic resource allocation, without requiring complex manual configuration or centralized control.
Data Source
AI summary
Systems, methods, apparatus, and computer-readable media for managing business process messaging include receiving a business process message at a first node of multiple nodes in a distributed computing environment, the business process message comprising a message payload; correlating the business process message with a business process executing on one or more of the plurality of nodes in the distributed computing environment based on the message payload; identifying the one or more of the plurality of nodes in the distributed computing environment; providing the business process message to the identified one or more of the plurality of nodes; and mapping the message payload to the business process executing on the identified one or more of the plurality of nodes.


