Decomposed Transaction Processing Architecture for Fault Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing transaction processing systems are monolithic and rigidly architected, leading to brittleness, single points of failure, and complexity in adapting to new functionalities, with extensive regression testing required.
Innovation Solution
Decompose monolithic transaction processing systems into discrete functional components, each performing specific functions, with an application launcher determining server applications based on metadata and providing client applications, and an orchestrator executing transaction paths while writing execution context to a database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If monolithic transaction processing systems are used, then system simplicity is maintained, but flexibility and reliability deteriorate
Solution Approach 1:
The patent divides the monolithic transaction processing system into discrete functional components called steps, where each step performs a specific function (e.g., authentication, authorization, resource allocation). These steps are organized into transaction paths that can be independently configured and executed, enabling the system to maintain functionality while improving flexibility through modular architecture.
2Reliability
If monolithic transaction processing systems are used, then implementation simplicity is maintained, but reliability deteriorates due to single points of failure
Solution Approach 1:
By segmenting the system into discrete steps that can fail independently, the patent eliminates single points of failure. Each step is isolated within a transaction path, allowing individual step failures to be contained without affecting the entire system. The orchestrator manages these discrete units to provide fault tolerance.
Solution Approach 2:
The patent implements rollback mechanisms that prepare compensation actions in advance. When a step fails, the system can automatically execute predefined rollback operations to restore previous states, cushioning against the impact of failures and maintaining system reliability.
3Adaptability or versatility
If monolithic transaction processing systems are used, then development simplicity is maintained, but adaptability to new functionalities deteriorates
Solution Approach 1:
The patent structures functionality as discrete, reusable steps that can be independently developed, tested, and deployed. New functionalities are added by creating new steps or composing existing steps into new transaction paths, avoiding the need to modify monolithic codebases and simplifying the development process.
Solution Approach 2:
The patent creates a universal framework where the same step can be reused across multiple transaction paths and systems. This multi-functionality reduces development complexity by eliminating redundancy and allowing new functionalities to be built by composing existing universal components.
4Productivity
If monolithic transaction processing systems are used, then system simplicity is maintained, but performance deteriorates due to inability to utilize parallelism
Solution Approach 1:
By segmenting transactions into discrete steps, the patent enables parallel execution of independent steps within a transaction path. The orchestrator manages step scheduling and can execute independent steps concurrently, improving transaction processing performance while maintaining architectural clarity through standardized interfaces.
Data Source
AI summary
An implementation may involve: receiving, by an application launcher, a message on behalf of a client device; determining a server application based on the message and metadata, wherein the server application is associated with a path, wherein the path includes a set of steps, wherein each of the set of steps is respectively associated with program logic to perform a discrete set of functions, wherein a generate result step causes the server application to determine an outcome of executing the path, and wherein a handle request step causes the server application to provide, to an external service, a representation of a request related to the outcome; providing, by the application launcher, a client application to the client device; and executing, by an orchestrator, the path, wherein a context of the execution is written in a database between execution of at least some of the set of steps.


