IP Library › Granted Patent US 11,561,827
Granted Patent B2
US 11,561,827 · App. 17/302,085 · Granted Jan 24, 2023

System and method for executing a dynamic routing service

Inventors: Joseph Vincent Scarfutti (Brooklyn, NY); Christian Caberoy De La Peña (Chester, NY); Aneesha Suresh Bulchandani (Hoboken, NJ)
Assignee: The Toronto-Dominion Bank
G06F9/4881G06F16/2379G06F16/245G06Q10/06311
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,561,827
App. No.
17/302,085
Granted
Jan 24, 2023
Kind
B2
Abstract

A system and method are provided for executing a dynamic routing service. The method includes i) subscribing to ingress a first topic for a current task in a process workflow and ii) receiving a data object for the current task. The method also includes iii) querying a first service to determine a next workflow task, the next workflow task having been translated by the first service from a workflow graph to a file and data interchange format. The method also includes iv) updating the data object, v) routing the updated data object to a second topic by a message broker using the data interchange format, and vi) subscribing to ingress the second topic for a next task in the process workflow and repeating ii) to v) while the process workflow is being executed.

Claims (45)

1. A device for executing a dynamic routing service, the device comprising:

a processor;

a communications module coupled to the processor; and

a memory coupled to the processor, the memory storing computer executable instructions that when executed by the processor cause the processor to:

i) subscribe to ingress a first topic for a current task in a process workflow;

ii) receive a data object for the current task;

iii) query a first service to determine a next workflow task, the next workflow task having been translated by the first service from a workflow graph to a file and data interchange format;

iv) update the data object;

v) route the updated data object to a second topic by a message broker using the data interchange format; and

vi) subscribe to ingress the second topic for a next task in the process workflow and repeating ii) to v) while the process workflow is being executed.

2. The device of claim 1 , wherein the computer executable instructions further cause the processor to:

publish a workflow state change for a second service to persist the state change after the data object is updated.

3. The device of claim 1 , wherein the updated data object is routed within a same process in the process workflow.

4. The device of claim 1 , wherein the updated data object is routed between multiple processes in the process workflow.

5. The device of claim 1 , wherein the updated data object is routed to a sub-process within the process workflow.

6. The device of claim 1 , wherein the workflow graph is translated from a business process model and notation (BPMN) format to a JavaScript object notation (JSON) file and data interchange format.

7. The device of claim 1 , wherein the computer executable instructions further cause the processor to:

publish the data object to a decision service to implement a manual decision task for the second topic.

8. The device of claim 1 , wherein a state of the process workflow is inferable from a current topic or a next topic.

9. The device of claim 1 , wherein the message broker utilizes a clustered set of application servers with a load balancer configured for bidirectional replication of messages.

10. The device of claim 1 , wherein the current task is published by a third service configured to integrate at least one external microservice.

11. The device of claim 10 , wherein the at least one external microservice publishes a data intake task.

12. The device of claim 10 , wherein the at least one external microservice publishes a service task.

13. A method of executing a dynamic routing service, the method comprising:

i) subscribing to ingress a first topic for a current task in a process workflow;

ii) receiving a data object for the current task;

iii) querying a first service to determine a next workflow task, the next workflow task having been translated by the first service from a workflow graph to a file and data interchange format;

iv) updating the data object;

v) routing the updated data object to a second topic by a message broker using the data interchange format; and

vi) subscribing to ingress the second topic for a next task in the process workflow and repeating ii) to v) while the process workflow is being executed.

14. The method of claim 13 , further comprising:

publishing a workflow state change for a second service to persist the state change after the data object is updated.

15. The method of claim 13 , wherein the workflow graph is translated from a business process model and notation (BPMN) format to a JavaScript object notation (JSON) file and data interchange format.

16. The method of claim 13 , further comprising:

publishing the data object to a decision service to implement a manual decision task for the second topic.

17. The method of claim 13 , wherein a state of the process workflow is inferable from a current topic or a next topic.

18. The method of claim 13 , wherein the message broker utilizes a clustered set of application servers with a load balancer configured for bidirectional replication of messages.

19. The method of claim 13 , wherein the current task is published by a third service configured to integrate at least one external microservice.

20. A non-transitory computer readable medium for executing a dynamic routing service, the computer readable medium comprising computer executable instructions for:

i) subscribing to ingress a first topic for a current task in a process workflow;

ii) receiving a data object for the current task;

iii) querying a first service to determine a next workflow task, the next workflow task having been translated by the first service from a workflow graph to a file and data interchange format;

iv) updating the data object;

v) routing the updated data object to a second topic by a message broker using the data interchange format; and

vi) subscribing to ingress the second topic for a next task in the process workflow and repeating ii) to v) while the process workflow is being executed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: SCARFUTTI, JOSEPH VINCENT; DE LA PEÑA, CHRISTIAN CABEROY; BULCHANDANI, ANEESHA SURESH
To: THE TORONTO-DOMINION BANK
Reel/Frame 062155/0134 →
Continuity (2)
Continuation In Part 17248060 · Jan 7, 2021
Related Publication 20220214911A1 · Jul 7, 2022