IP Library Granted Patent US 10,469,279
Granted Patent B2
US 10,469,279 · App. 15/948,331 · Granted Nov 5, 2019

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,469,279
App. No.
15/948,331
Granted
Nov 5, 2019
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 (66)

1. A scalable computing system for generating one or more notifications for each of a plurality of accounts, the scalable computing system comprising:

a database for storing:

an action definition defining one or more operations executable to determine at least one parameter of one or more actions; and

a processor in communication with the database, the processor being operable to:

instantiate an independent management process for the action definition of each account of the plurality of accounts managed by the scalable computing system, 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 respective 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.

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

determine the state of each operation defined in the respective action definition; and

identify an operation with an incomplete status.

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

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

identify one or more worker processes capable of satisfying the load parameter; and

select a worker process from the identified one or more worker processes for performing the operation.

4. The scalable computing system of claim 3 , wherein the 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.

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

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

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

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

assign a wait state to that operation.

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

the one or more operations defined by the action definition comprises an notification generator operation; and

the management process is configured to identify the 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 by the action definition; and

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

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

the one or more operations defined by the 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 processor is operable to instantiate 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 management process is associated with one or more worker processes selectable by the management process for performing a respective operation defined by the action definition.

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

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

operating a processor to instantiate an independent management process for an action definition of each account of the plurality of accounts managed by a scalable computing system, the action definition defining one or more operations executable to determine at least one parameter of one or more actions, 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 respective state of the operation; and

assign the identified worker process to perform the respective operation; and

operating the processor to, 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.

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

determine the state of each operation defined in the respective action definition; and

identify an operation with an incomplete status.

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

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

identify one or more worker processes capable of satisfying the load parameter; and

select a worker process from the identified one or more worker processes for performing the operation.

15. The method of claim 14 , wherein the 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.

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

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

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

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

assign a wait state to that operation.

18. The method of claim 12 , wherein:

the one or more operations defined by the action definition comprises an notification generator operation; and

the management process is configured to identify the 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 by the action definition; and

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

19. The method of claim 12 , wherein:

the one or more operations defined by the 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 operating the processor to instantiate 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 management process is associated with one or more worker processes selectable by the management process for performing a respective operation defined by the action definition.

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

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

Assignments (5)
SECURITY INTEREST Recorded Oct 6, 2023
From: SILICON VALLEY BANK, BY PRICEWATERHOUSECOOPERS INC.
To: NATIONAL BANK OF CANADA
Reel/Frame 065152/0699 →
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2022
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: WEALTHSIMPLE TECHNOLOGIES INC.
Reel/Frame 061287/0582 →
SECURITY INTEREST Recorded Jun 2, 2020
From: WEALTHSIMPLE TECHNOLOGIES INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 052813/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: WEALTHSIMPLE INC.
To: WEALTHSIMPLE TECHNOLOGIES INC.
Reel/Frame 050519/0026 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2018
From: LI, KARNEY; COSTA, MARCO; CARTRIGHT, JOHN; KUDLACZ, MAREK
To: WEALTHSIMPLE INC.
Reel/Frame 046835/0745 →
Continuity (1)
Related Publication 20190312743A1 · Oct 10, 2019