IP Library Granted Patent US 10,972,302
Granted Patent B2
US 10,972,302 · App. 16/673,271 · Granted Apr 6, 2021

Scalable computing systems for generating notifications, and methods of operating thereof

Inventors: Karney Li (Toronto, CA); Marco Costa (Toronto, CA); John Cartright (Toronto, CA); Marek Kudlacz (Toronto, CA)
Assignee: Wealthsimple Technologies Inc.
H04L12/1895H04L43/16H04L67/10
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 10,972,302
App. No.
16/673,271
Granted
Apr 6, 2021
Kind
B2
Abstract

A scalable computing system for generating notifications for each account of a plurality of accounts, and method of operating thereof, are provided. The system involves: a database for storing: an action definition defining operations executable to determine at least one parameter of one or more actions, and a processor operable to: instantiate an independent management process for the action definition, wherein each management process is configured to: monitor a state of each operation defined in the action definition; identify a worker process associated with the management process to perform each operation based on the state of the operation; and assign the identified worker process to perform the respective operation; and upon detecting a predefined condition in each independent management process, transmit, via a network to a remote node, the one or more notifications for the respective independent management process.

Claims (67)

1. A scalable computing system for generating one or more notifications, the scalable computing system comprising:

a first processor;

a second processor in communication with the first processor, the first processor being operable to:

execute a plurality of independent management processes, wherein a first management process of the plurality of independent management processes corresponds to a first action definition of a plurality of action definitions, and the first management process is configured to:

monitor a state of at least one operation defined in the first action definition;

for a first operation of the at least one operation, identify a first worker process to perform the first operation, based on a state of the first operation, and assign the first worker process to perform the first operation; and

upon detecting a predefined condition in at least one of the plurality of independent management processes, transmit, to the second processor, the one or more notifications.

2. The scalable computing system of claim 1 , wherein the first management process is configured to:

determine the state of the at least one operation defined in the first action definition; and

identify an incomplete status of the first operation.

3. The scalable computing system of claim 1 , wherein the first management process is configured to:

determine a load parameter of the first operation, the load parameter indicating a processing capacity required for performing the first operation;

identify one or more worker processes capable of satisfying the load parameter, wherein the first worker process satisfies the load parameter.

4. The scalable computing system of claim 3 , wherein the first management process is configured to:

determine a machine type associated with the load parameter; and

identify the one or more worker processes available at a machine associated with the machine type, wherein the first worker process is at the machine associated with the machine type.

5. The scalable computing system of claim 3 , wherein the first management process is configured to:

determine whether an operating capacity of the one or more worker processes exceeds a capacity threshold; and

in response to determining the operating capacity exceeds the capacity threshold, delay the performing the first operation until the operating capacity does not exceed the capacity threshold.

6. The scalable computing system of claim 5 , wherein, to delay the performing the first operation, the first management process is configured to:

assign a wait state to the first operation.

7. The scalable computing system of claim 1 , wherein:

each of the at least one operation is executable to determine at least one parameter of one or more actions, wherein the at least one operation defined in the first action definition comprises a notification generator operation; and

the first management process is configured to identify the first worker process to perform the notification generator operation, wherein the notification generator operation comprises:

receiving one or more parameters for the one or more notifications from at least one other operation defined in the first action definition; and

generating the one or more notifications based on the one or more parameters.

8. The scalable computing system of claim 7 , wherein:

the at least one operation defined in the first action definition comprises at least one of a risk profile determination operation, a portfolio determination operation, a position determination operation, a fee determination operation, an account status determination operation, and an order submission operation.

9. The scalable computing system of claim 1 , wherein the first processor is operable to execute two or more management processes, each management process being associated with a different set of worker processes.

10. The scalable computing system of claim 1 , wherein the first management process is associated with one or more worker processes selectable by the first management process for performing the first operation defined by the first action definition.

11. The scalable computing system of claim 1 , wherein the first management process is configured to implement a state machine for the first action definition.

12. A method of operating a scalable computing system to generate one or more notifications, the method comprising:

executing a plurality of independent management processes, wherein a first management process of the plurality of independent management processes corresponds to a first action definition of a plurality of action definitions, and the first management process is configured to:

monitor a state of at least one operation defined in the first action definition;

for a first operation of the at least one operation, identify a first worker process to perform the first operation, based on a state of the first operation, and assign the first worker process to perform the first operation; and

upon detecting a predefined condition in at least one of the plurality of independent management processes, transmit, to a second processor, the one or more notifications.

13. The method of claim 12 , wherein the first management process is configured to:

determine the state of the at least one operation defined in the first action definition; and

identify an incomplete status of the first operation.

14. The method of claim 12 , wherein the first management process is configured to:

determine a load parameter of the first operation, the load parameter indicating a processing capacity required for performing the first operation;

identify one or more worker processes capable of satisfying the load parameter, wherein the first worker process satisfies the load parameter.

15. The method of claim 14 , wherein the first management process is configured to:

determine a machine type associated with the load parameter; and

identify the one or more worker processes available at a machine associated with the machine type, wherein the first worker process is at the machine associated with the machine type.

16. The method of claim 14 , wherein the first management process is configured to:

determine whether an operating capacity of the one or more worker processes exceeds a capacity threshold; and

in response to determining the operating capacity exceeds the capacity threshold, delay the performing the first operation until the operating capacity does not exceed the capacity threshold.

17. The method of claim 16 , wherein, to delay the performing the first operation, the first management process is configured to:

assign a wait state to the first operation.

18. The method of claim 12 , wherein:

each of the at least one operation is executable to determine at least one parameter of one or more actions,

wherein the at least one operation defined in the first action definition comprises a notification generator operation; and

the first management process is configured to identify the first worker process to perform the notification generator operation, wherein the notification generator operation comprises:

receiving one or more parameters for the one or more notifications from at least one other operation defined in the first action definition; and

generating the one or more notifications based on the one or more parameters.

19. The method of claim 18 , wherein:

the at least one operation defined in the first action definition comprises at least one of a risk profile determination operation, a portfolio determination operation, a position determination operation, a fee determination operation, an account status determination operation, and an order submission operation.

20. The method of claim 12 , further comprising executing two or more management processes, each management process being associated with a different set of worker processes.

21. The method of claim 12 , wherein the first management process is associated with one or more worker processes selectable by the first management process for performing the first operation defined by the first action definition.

22. The method of claim 12 , wherein the first management process is configured to implement a state machine for the first action definition.

23. The method of claim 12 , further comprising storing the first action definition in a database.

24. A non-transitory computer-readable medium storing computer program instructions that, when executed by a processor, cause the processor to carry out a method of operating a scalable computing system to generate one or more notifications, the method comprising:

executing a plurality of independent management processes, wherein a first management process of the plurality of independent management processes corresponds to a first action definition of a plurality of action definitions, and the first management process is configured to:

monitor a state of at least one operation defined in the first action definition;

for a first operation of the at least one operation, identify a first worker process to perform the first operation, based on a state of the first operation, and assign the first worker process to perform the first operation; and

upon detecting a predefined condition in at least one of the plurality of independent management processes, transmit, to a second processor, the one or more notifications.

Assignments (4)
SECURITY INTEREST Recorded Oct 6, 2023
From: SILICON VALLEY BANK, BY PRICEWATERHOUSECOOPERS INC.
To: NATIONAL BANK OF CANADA
Reel/Frame 065152/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: WEALTHSIMPLE INC.
To: WEALTHSIMPLE TECHNOLOGIES INC.
Reel/Frame 054177/0439 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 52120 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 14, 2020
From: LI, KARNEY; COSTA, MARCO; CARTRIGHT, JOHN; KUDLACZ, MAREK
To: WEALTHSIMPLE INC.
Reel/Frame 054124/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: LI, KARNEY; COSTA, MARCO; CARTRIGHT, JOHN; KUDLACZ, MAREK
To: WEALTHSIMPLE TECHNOLOGIES INC.
Reel/Frame 052120/0687 →
Continuity (2)
Continuation 15948331 · Apr 9, 2018
Related Publication 20200204388A1 · Jun 25, 2020