Location Transparent Process Execution via Messaging Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Business Process Management (BPM) systems face challenges in efficiently and reliably executing business processes across distributed geographies due to reliance on wide area networking, which requires intimate knowledge of the physical infrastructure and lacks location transparency, leading to inefficiencies and technical complexities.
Innovation Solution
Implementing a location-transparent distributed process execution system using JMS messaging, where a process engine is insulated from step invocation locations through queuing and publish-subscribe behavior, allowing processes to be executed across multiple geographies without specific knowledge of the infrastructure, and enabling horizontal scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If decentralized distributed computing is used to provide resources across various geographies, then resource accessibility across geographies is improved, but network reliability and performance deteriorate due to wide area networking
Solution Approach 1:
The patent segments the centralized process engine into multiple distributed process engines deployed across different geographies. Each process engine independently manages local process execution, dividing the monolithic system into modular units that can operate autonomously. This segmentation allows local processing without requiring all operations to traverse the wide area network, thereby improving reliability while maintaining geographic resource accessibility.
Solution Approach 2:
The patent implements local quality by enabling process engines to execute processes locally at each geography rather than centralized processing. Each process engine is configured with location-specific resources and can invoke local services, making the system adaptable to local requirements while reducing dependency on remote network connections for critical processing operations.
2Device complexity
If centralized process orchestration is used to manage business process state in a single location, then process state management is simplified, but network bandwidth and redundancy requirements increase
Solution Approach 1:
The patent segments the centralized process state management into distributed state management across multiple process engines. Each process engine maintains its own process state for locally executed steps, eliminating the need for constant communication with a central authority. This reduces network bandwidth consumption while the overall system maintains process coordination through message passing between distributed engines.
Solution Approach 2:
The patent introduces a messaging system as an intermediary layer between distributed process engines. This messaging infrastructure enables asynchronous communication and coordination without requiring direct high-bandwidth connections between all components. The mediator handles state synchronization and process coordination, reducing the bandwidth and redundancy requirements for direct network communication.
3Productivity
If business processes are executed in a distributed manner across multiple geographies, then execution efficiency is improved, but infrastructure knowledge requirements increase
Solution Approach 1:
The patent introduces an abstraction layer that acts as an intermediary between process authors and the underlying infrastructure. This layer provides location-transparent process definition capabilities, allowing business processes to be modeled without specifying physical infrastructure details. The abstraction layer handles the complexity of infrastructure mapping and routing, enabling distributed execution efficiency while reducing infrastructure knowledge requirements for process authors.
Solution Approach 2:
The patent implements a universal process definition mechanism that can be deployed across multiple geographies without requiring geography-specific configuration. The process modeling language and execution framework are designed to be universally applicable, allowing the same process definition to execute efficiently in different locations without modifying the process logic or requiring detailed infrastructure knowledge.
4Adaptability or versatility
If wide area networking is used to connect distributed facilities, then geographic connectivity is achieved, but latency and bandwidth performance deteriorate
Solution Approach 1:
The patent segments process execution into local components that operate independently at each geography. By dividing the process into discrete steps that can be executed locally, the system minimizes the need for data to traverse the wide area network. Critical processing operations occur locally, reducing latency while geographic connectivity is maintained through the distributed architecture.
Solution Approach 2:
The patent uses a messaging system as an intermediary that enables efficient asynchronous communication between distributed process engines. This intermediary handles data exchange with optimized protocols and buffering mechanisms, reducing the impact of wide area network latency. The messaging layer provides reliable delivery with minimal overhead, maintaining speed performance while achieving geographic connectivity.
Data Source
AI summary
The example embodiments disclosed herein relate to networks and, more particularly, to systems and/or methods that enable processes to be routed and/or executed in a distributed, location transparent manner. A process engine for use across instances of a service-oriented integration server is provided to a network having a messaging layer. The process engine executes a process in accordance with a process model defined at design time. Each instance of the process engine comprises runtime artifacts such as deployable units of executable logic; a publishing service for publishing a process transition document (PTD) that includes routing data as a part of the message itself; a subscription service for subscribing to the PTDs to be routed to the corresponding instance of the process engine; and a filtering service for filtering other PTDs published to the messaging layer. The messaging layer includes a first queue to process PTDs that trigger new process instances, and a second queue to accommodate transitions between steps of the process model. After a step in the process model is executed, the publishing service publishes a new PTD to cause a next step in the process model to be executed.


