# US 12,118,565 B2 · Transaction exchange platform with a pause microservice to pause processing of workflows

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,565 B2
- Document ID: US12118565B2
- Status: Granted
- Kind: B2
- Application number: 18/077,613
- Filed: 2022-12-08
- Published: 2023-04-06
- Granted: 2024-10-15
- Earliest claimed: 2019-12-20
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Earle Michael Lee; David Smit; Brian T. Burnett
- Web page: https://patentgrep.com/patent/US12118565B2

## CPC

- G06Q 20/425: {using two different networks, one for transaction and one for security confirmation}
- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- G06F 11/0757: {by exceeding a time limit, i.e. time-out, e.g. watchdogs}
- G06F 11/1405: {at machine instruction level}
- G06F 11/142: {Reconfiguring to eliminate the error (group management mechanisms in a peer-to-peer network H04L67/1044)}
- G06F 11/1474: in transactions (updating of structured data in databases G06F16/23)
- G06F 11/3409: {for performance assessment}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06Q 20/085: {involving remote charge determination or related payment systems}
- G06Q 20/401: {Transaction verification}
- G06Q 20/405: {Establishing or using transaction specific rules}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects described herein may relate to a transaction exchange platform using a streaming data platform (SDP) and microservices to process transactions according to review and approval workflows. The transaction exchange platform may receive transactions from origination sources, which may be added to the SDP as transaction objects. Microservices on the transaction exchange platform may interact with the transaction objects based on configured workflows associated with the transactions. Processing on the transaction exchange platform may facilitate clearing and settlement of transactions. Some aspects may provide for pausing the processing of transactions during a workflow. Other aspects may provide for a messaging microservice that permits communications between the transaction exchange platform and external third-parties.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving, by a streaming data platform, a transaction object comprising transaction details and transaction metadata, wherein the transaction metadata comprises:
an indication of a workflow corresponding to a transaction type of the transaction object, wherein the workflow corresponding to the transaction type comprises a plurality of processing steps required to validate a given transaction of the transaction type; and
a current workflow stage of the transaction object;
retrieving, by a first microservice of a plurality of microservices and from the streaming data platform, a plurality of transaction objects, wherein the plurality of transaction objects comprises the transaction object;
determining, by the first microservice, whether the current workflow stage of the transaction object matches a first workflow stage associated with the first microservice;
processing, by the first microservice and based on a determination that the current workflow stage matches the first workflow stage associated with the first microservice, the transaction object;
determining, by the first microservice and during the processing of the transaction object, that the processing of the transaction object should be paused;
adding, by the first microservice, the transaction object with an indication of a request to pause the processing of the transaction object to the streaming data platform;
retrieving, by a pause microservice and from the streaming data platform, a second plurality of transaction objects, wherein the second plurality of transaction objects comprises the transaction object with the request to pause;
adding, by the pause microservice, the transaction object to the streaming data platform with an indication that processing of the transaction object has been paused, wherein the transaction object is not processed in accordance with a workflow based on the indication that processing of the transaction object has been paused while processing of the plurality of transaction objects, by the plurality of microservices, continues in accordance with one or more workflows of the streaming data platform;
updating, by the pause microservice, the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume; and
resuming, based on the updated current workflow stage, processing of the transaction object according to the workflow.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the determining that the processing of the transaction object should be paused is based on a determination that additional processing external to the streaming data platform is required to complete the processing of the transaction object.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
transmitting, to a party external to the streaming data platform, an indication that processing of the transaction object has been paused; and
receiving, from the party external to the stream data platform, a second acknowledgement that processing of the transaction object has been paused.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising:
determining, by a watchdog microservice, that a predetermined amount of time has elapsed since the transaction object was initially paused; and
generating, by the watchdog microservice and based on a determination that the transaction object remains paused, an alert.

### Claim 5 (depends on 3)

The computer-implemented method of claim 3, further comprising:
receiving, from the party external to the streaming data platform, additional information associated with the transaction object; and
updating, by the pause microservice, the transaction object with the additional information, wherein updating the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume is in response to updating the transaction object with the additional information.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein resuming processing of the transaction object according to the workflow is based on the pause microservice receiving an indication to resume processing of the transaction object.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, further comprising:
updating, by the pause microservice and based on the indication to resume processing of the transaction object, the current workflow stage of the transaction object to indicate that processing of the transaction object is to advance to a third microservice.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, further comprising:
updating, by the pause microservice and based on the indication to resume processing of the transaction object, the current workflow stage of the transaction object to indicate that processing of the transaction object is to return to the first microservice.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising:
re-generating, by a snapshot microservice and based on an indication that the transaction object is to be re-executed by the first microservice, the transaction object based on snapshot data corresponding to the transaction object from prior to a start of the processing by the first microservice; and
returning the re-generated transaction object to the streaming data platform, wherein a current workflow stage of the re-generated transaction object is set to the first workflow stage.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein resuming processing of the transaction object according to the workflow is based on receiving an indication to resume processing of the transaction object from a watchdog microservice after a predetermined amount of time has elapsed.

### Claim 11

A transaction exchange platform comprising:
at least one processor; and
memory storing instructions that, when executed by the at least one processor, cause the transaction exchange platform to:
receive, by a streaming data platform, a transaction object comprising transaction details and transaction metadata, wherein the transaction metadata comprises:
an indication of a workflow corresponding to a transaction type of the transaction object, wherein the workflow corresponding to the transaction type comprises a plurality of processing steps required to validate a given transaction of the transaction type; and
a current workflow stage of the transaction object;
retrieve, by a first microservice of a plurality of microservices and from the streaming data platform, a plurality of transaction objects, wherein the plurality of transaction objects comprises the transaction object;
determine, by the first microservice, whether the current workflow stage of the transaction object matches a first workflow stage associated with the first microservice;
process, by the first microservice and based on a determination that the current workflow stage matches the first workflow stage associated with the first microservice, the transaction object;
determine, by the first microservice and during the processing of the transaction object, that the processing of the transaction object should be paused;
add, by the first microservice, the transaction object with an indication of a request to pause the processing of the transaction object to the streaming data platform;
retrieve, by a pause microservice and from the streaming data platform, a second plurality of transaction objects, wherein the second plurality of transaction objects comprises the transaction object with the request to pause;
add, by the pause microservice, the transaction object to the streaming data platform with an indication that processing of the transaction object has been paused, wherein the transaction object is not processed in accordance with a workflow based on the indication that processing of the transaction object has been paused while processing of the plurality of transaction objects, by the plurality of microservices, continues in accordance with one or more workflows of the streaming data platform;
update, by the pause microservice, the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume; and
resume, based on the updated current workflow stage, processing of the transaction object according to the workflow.

### Claim 12 (depends on 11)

The transaction exchange platform of claim 11, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to determine that the processing of the transaction object should be paused by determining that additional processing external to the streaming data platform is required to complete the processing of the transaction object.

### Claim 13 (depends on 11)

The transaction exchange platform of claim 11, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to:
transmit, to a party external to the streaming data platform, an indication that processing of the transaction object has been paused; and
receive, from the party external to the stream data platform, a second acknowledgement that processing of the transaction object has been paused.

### Claim 14 (depends on 13)

The transaction exchange platform of claim 13, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to:
determine, by a watchdog microservice, that a predetermined amount of time has elapsed since the transaction object was initially paused; and
generate, by the watchdog microservice and based on a determination that the transaction object remains paused, an alert.

### Claim 15 (depends on 13)

The transaction exchange platform of claim 13, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to:
receive, from the party external to the streaming data platform, additional information associated with the transaction object; and
update, by the pause microservice, the transaction object with the additional information, wherein updating the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume is in response to updating the transaction object with the additional information.

### Claim 16 (depends on 11)

The transaction exchange platform of claim 11, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to resume processing of the transaction object according to the workflow is based on the pause microservice receiving an indication to resume processing of the transaction object.

### Claim 17 (depends on 16)

The transaction exchange platform of claim 16, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to update a workflow stage of the transaction object to indicate that processing of the transaction object is to advance to a third microservice.

### Claim 18 (depends on 16)

The transaction exchange platform of claim 16, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to update a workflow stage of the transaction object to indicate that processing of the transaction object is to return to the first microservice.

### Claim 19 (depends on 18)

The transaction exchange platform of claim 18, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to:
re-generate, by a snapshot microservice and based on an indication that the transaction object is to be re-executed by the first microservice, the transaction object based on snapshot data corresponding to the transaction object from prior to a start of the processing by the first microservice; and
return the re-generated transaction object to the streaming data platform, wherein a current workflow stage of the re-generated transaction object is set to the first workflow stage.

### Claim 20 (depends on 14)

The transaction exchange platform of claim 14, wherein the instructions, when executed by the at least one processor, cause the transaction exchange platform to resume processing of the transaction object according to the workflow based on receiving the indication to resume processing of the transaction object from a watchdog microservice after a predetermined amount of time has elapsed.

### Claim 21

One or more non-transitory computer readable media comprising instructions that, when executed, cause a transaction exchange platform to:
receive, by a streaming data platform, a transaction object comprising transaction details and transaction metadata, wherein the transaction metadata comprises:
an indication of a workflow corresponding to a transaction type of the transaction object, wherein the workflow corresponding to the transaction type comprises a plurality of processing steps required to validate a given transaction of the transaction type; and
a current workflow stage of the transaction object;
retrieve, by a first microservice of a plurality of microservices and from the streaming data platform, a plurality of transaction objects, wherein the plurality of transaction objects comprises the transaction object;
determine, by the first microservice, whether the current workflow stage of the transaction object matches a first workflow stage associated with the first microservice;
process, by the first microservice and based on a determination that the current workflow stage matches the first workflow stage associated with the first microservice, the transaction object;
determine, by the first microservice and during the processing of the transaction object, that the processing of the transaction object should be paused;
add, by the first microservice, the transaction object with an indication of a request to pause the processing of the transaction object to the streaming data platform;
retrieve, by a pause microservice and from the streaming data platform, a second plurality of transaction objects, wherein the second plurality of transaction objects comprises the transaction object with the request to pause; and
add, by the pause microservice, the transaction object to the streaming data platform with an indication that processing of the transaction object has been paused, wherein the transaction object is not processed in accordance with a workflow based on the indication that processing of the transaction object has been paused while processing of the plurality of transaction objects, by the plurality of microservices, continues in accordance with one or more workflows of the streaming data platform;
update, by the pause microservice, the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume; and
resume, based on the updated current workflow stage, processing of the transaction object according to the workflow.

### Claim 22 (depends on 21)

The one or more non-transitory computer readable media of claim 21, wherein the instructions, when executed, cause the transaction exchange platform to determine that the processing of the transaction object should be paused by determining that additional processing external to the streaming data platform is required to complete the processing of the transaction object.

### Claim 23 (depends on 21)

The one or more non-transitory computer readable media of claim 21, wherein the instructions, when executed, cause the transaction exchange platform to:
transmit, to a party external to the streaming data platform, an indication that processing of the transaction object has been paused; and
receive, from the party external to the stream data platform, a second acknowledgement that processing of the transaction object has been paused.

### Claim 24 (depends on 23)

The one or more non-transitory computer readable media of claim 23, wherein the instructions, when executed, cause the transaction exchange platform to:
determine, by a watchdog microservice, that a predetermined amount of time has elapsed since the transaction object was initially paused; and
generate, by the watchdog microservice and based on a determination that the transaction object remains paused, an alert.

### Claim 25 (depends on 23)

The one or more non-transitory computer readable media of claim 23, wherein the instructions, when executed, cause the transaction exchange platform to:
receive, from the party external to the streaming data platform, additional information associated with the transaction object; and
update, by the pause microservice, the transaction object with the additional information, wherein updating the current workflow stage of the transaction object to indicate that processing of the transaction object is to resume is in response to updating the transaction object with the additional information.

### Claim 26 (depends on 21)

The one or more non-transitory computer readable media of claim 21, wherein the instructions, when executed, cause the transaction exchange platform to resume processing of the transaction object according to the workflow is based on the pause microservice receiving an indication to resume processing of the transaction object.

### Claim 27 (depends on 26)

The one or more non-transitory computer readable media of claim 26, wherein the instructions, when executed, cause the transaction exchange platform to update a workflow stage of the transaction object to indicate that processing of the transaction object is to advance to a third microservice.

### Claim 28 (depends on 26)

The one or more non-transitory computer readable media of claim 26, wherein the instructions, when executed, cause the transaction exchange platform to update a workflow stage of the transaction object to indicate that processing of the transaction object is to return to the first microservice.

### Claim 29 (depends on 28)

The one or more non-transitory computer readable media of claim 28, wherein the instructions, when executed, cause the transaction exchange platform to:
re-generate, by a snapshot microservice and based on an indication that the transaction object is to be re-executed by the first microservice, the transaction object based on snapshot data corresponding to the transaction object from prior to a start of the processing by the first microservice; and
return the re-generated transaction object to the streaming data platform, wherein a current workflow stage of the re-generated transaction object is set to the first workflow stage.

### Claim 30 (depends on 26)

The one or more non-transitory computer readable media of claim 26, wherein the instructions, when executed, cause the transaction exchange platform to resume processing of the transaction object according to the workflow based on receiving the indication to resume processing of the transaction object from a watchdog microservice after a predetermined amount of time has elapsed.
