IP Library › Granted Patent US 11,037,168
Granted Patent B1
US 11,037,168 · App. 16/723,509 · Granted Jun 15, 2021

Transaction exchange platform with watchdog microservice

Inventors: Earle Michael Lee (Moseley, VA); Jordan May (Richmond, VA); William Planck (Midlothian, VA)
Assignee: Capital One Services, LLC
G06Q20/425G06F9/54G06Q20/401G06Q20/405
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,037,168
App. No.
16/723,509
Granted
Jun 15, 2021
Kind
B1
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 dynamic and flexible reconfiguration of workflows and/or microservices. Other aspects may provide for data snapshots and workflow tracking, allowing for monitoring, quality control, and auditability of transactions on the transaction exchange platform.

Claims (83)

1. A computer-implemented method comprising:

receiving, by a transaction exchange platform comprising a first microservice and a watchdog microservice, 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;

adding, by the transaction exchange platform, the transaction object to a streaming data platform;

polling the streaming data platform and determining, by the first microservice, transaction objects matching a first workflow stage, wherein the first workflow stage is associated with the first microservice based on the workflow corresponding to the transaction type;

retrieving, by the first microservice and from the streaming data platform, the transaction object based on the current workflow stage matching the first workflow stage;

processing, by the first microservice, the retrieved transaction object;

updating the current workflow stage of the transaction object to a second workflow stage based on completing processing, by the first microservice, of the transaction object;

adding, by the first microservice, the updated transaction object to the streaming data platform;

polling the streaming data platform and determining, by the watchdog microservice, transaction objects having a changed current workflow stage;

in response to determining, by the watchdog microservice, that the current workflow stage of the transaction object has changed:

retrieving, by the watchdog microservice and from the streaming data platform, the transaction object; and

storing, by the watchdog microservice, workflow tracking data corresponding to the transaction object and the changed current workflow stage;

determining, by the watchdog microservice, that the transaction object completed each stage of the workflow corresponding to the transaction type based on the stored workflow tracking data corresponding to the transaction object; and

in response to determining that the stored workflow tracking data indicates that the transaction object completed each stage of the workflow corresponding to the transaction type, removing the transaction object from the streaming data platform and outputting the transaction object and an indication that the transaction object has completed the processing corresponding to the workflow.

2. The method of claim 1 , wherein the current workflow stage of the transaction object comprises a data structure indicating completion status of each respective step of a plurality of processing steps associated with the workflow.

3. The method of claim 2 , further comprising:

in response to the determining that the current workflow stage of the transaction object has changed, determining, by the watchdog microservice, whether the current workflow stage of the transaction object is valid based on the workflow associated with the transaction type; and

in response to determining that the current workflow stage of the transaction object is not valid, causing, by the watchdog microservice, the transaction object to be processed by one or more microservices associated with the workflow.

4. The method of claim 1 , wherein the watchdog microservice stores workflow tracking data in an in-memory database.

5. The method of claim 1 , wherein the workflow tracking data comprises a timestamp and an indication of the change to the current workflow stage of the transaction object.

6. The method of claim 1 , further comprising:

determining, by the watchdog microservice and based on the workflow tracking data, at least one performance metric associated with the first microservice.

7. The method of claim 6 , wherein determining the at least one performance metric is based on a single transaction object.

8. The method of claim 6 , wherein determining the at least one performance metric is based on a group of transaction objects over a period of time.

9. The method of claim 6 , further comprising:

determining, by the watchdog microservice, that the at least one performance metric associated with the first microservice fails to satisfy at least one threshold performance value; and

performing at least one action based on determining that the at least one performance metric fails to satisfy the at least one threshold performance value.

10. The method of claim 1 , further comprising:

determining, by the watchdog microservice and based on the workflow tracking data, at least one performance metric associated with the workflow.

11. The method of claim 10 , further comprising:

determining, by the watchdog microservice, that the at least one performance metric associated with the workflow fails to satisfy at least one threshold performance value; and

performing at least one action based on determining that the at least one performance metric fails to satisfy the at least one threshold performance value.

12. The method of claim 1 , further comprising:

determining, by the watchdog microservice and based on the workflow tracking data, at least one baseline metric associated with the first microservice, wherein the baseline metric corresponds to processing performance by the first microservice on a set of transaction objects over a period of time;

determining, by the watchdog microservice and based on the workflow tracking data, at least one performance metric associated with a first transaction object processed by the first microservice;

determining that the at least one performance metric associated with the first transaction object fails to satisfy a threshold relationship to the at least one baseline metric; and

generating a recommended action to be taken on the first transaction object.

13. The method of claim 12 , wherein the recommended action comprises causing the first transaction object to be re-processed by the first microservice.

14. The method of claim 12 , wherein the recommended action comprises re-routing the first transaction object to be processed by another microservice.

15. The method of claim 12 , wherein the recommended action comprises changing the transaction type of the first transaction object.

16. A transaction exchange platform comprising:

a streaming data platform executing on the transaction exchange platform;

a plurality of microservices executing on the transaction exchange platform, wherein the plurality of microservices comprises at least a first microservice and a watchdog microservice;

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the transaction exchange platform to:

receive 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;

add the transaction object to a streaming data platform;

poll the streaming data platform and determine, by the first microservice, transaction objects matching a first workflow stage, wherein the first workflow stage is associated with the first microservice based on the workflow corresponding to the transaction type;

retrieve, by the first microservice and from the streaming data platform, the transaction object based on the current workflow stage matching the first workflow stage;

process, by the first microservice, the retrieved transaction object;

update the current workflow stage of the transaction object to a second workflow stage based on completing processing, by the first microservice, of the transaction object;

add, by the first microservice, the updated transaction object to the streaming data platform;

poll the streaming data platform and determine, by the watchdog microservice, transaction objects having a changed current workflow stage;

in response to determining, by the watchdog microservice and via the streaming data platform, that the current workflow stage of the transaction object has changed:

retrieve, by the watchdog microservice and from the streaming data platform, the transaction object; and

store, by the watchdog microservice, workflow tracking data corresponding to the transaction object and the changed current workflow stage;

determine, by the watchdog microservice, that the transaction object completed each stage of the workflow corresponding to the transaction type based on the stored workflow tracking data corresponding to the transaction object; and

in response to determining that the stored workflow tracking data indicates that the transaction object completed each stage of the workflow corresponding to the transaction type, remove the transaction object from the streaming data platform and output the transaction object and an indication that the transaction object has completed the processing corresponding to the workflow.

17. The transaction exchange platform of claim 16 , wherein the instructions further cause the transaction exchange platform to:

determine, by the watchdog microservice and based on the workflow tracking data, at least one performance metric associated with the first microservice.

18. The transaction exchange platform of claim 17 , wherein the instructions further cause the transaction exchange platform to:

determine, by the watchdog microservice, that the at least one performance metric associated with the first microservice fails to satisfy at least one threshold performance value; and

generate a recommended action based on determining that the at least one performance metric fails to satisfy the at least one threshold performance value.

19. One or more non-transitory computer readable media storing instructions that, when executed by at least one processor, cause a transaction exchange platform, comprising a first microservice and a watchdog microservice, to perform steps comprising:

receiving 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;

adding the transaction object to a streaming data platform;

polling the streaming data platform and determining, by the first microservice, transaction objects matching a first workflow stage, wherein the first workflow stage is associated with the first microservice based on the workflow corresponding to the transaction type;

retrieving, by the first microservice and from the streaming data platform, the transaction object based on the current workflow stage matching the first workflow stage;

processing, by the first microservice, the retrieved transaction object;

updating the current workflow stage of the transaction object to a second workflow stage based on completing processing, by the first microservice, of the transaction object;

adding, by the first microservice, the updated transaction object to the streaming data platform;

polling the streaming data platform and determining, by the watchdog microservice, transaction objects having a changed current workflow stage;

in response to determining, by the watchdog microservice that the current workflow stage of the transaction object has changed:

retrieving, by the watchdog microservice and from the streaming data platform, the transaction object; and

storing, by the watchdog microservice, workflow tracking data corresponding to the transaction object and the changed current workflow stage;

determining, by the watchdog microservice and based on the workflow tracking data, at least one performance metric associated with the first microservice; and

generating a graphic user interface display corresponding to the first microservice and comprising the at least one performance metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2019
From: LEE, EARLE MICHAEL; MAY, JORDAN; PLANCK, WILLIAM
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 051359/0001 →
Cited By (24)
US 12,190,330 US 12,192,294 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,277,232 US 12,288,233 US 12,299,065 US 12,340,186 US 12,353,405 US 12,367,069 US 12,381,915 US 12,412,140 US 12,536,329 US 12,541,761 US 12,591,828 US 12,609,938 US 12,619,930 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167 US 12,748,738