IP Library › Granted Patent US 11,520,624
Granted Patent B2
US 11,520,624 · App. 16/874,357 · Granted Dec 6, 2022

Computer-based systems configured for persistent state management and configurable execution flow and methods of use thereof

Inventor: Emre Yucel (McLean, VA)
Assignee: Capital One Services, LLC
G06F9/4881G06F9/44505G06F9/45558G06F2209/486
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,520,624
App. No.
16/874,357
Granted
Dec 6, 2022
Kind
B2
Abstract

Embodiments of an activities-defined software object execution management platform include instantiation of a program based on a program configuration, including customizable scheduling configurations and execution steps of program stages. A current state of the program is received from a state persistence storage. A stage configuration of the current stage is configured. A program execution readiness is determined to identify when to execute the current stage of the program based on an execution configuration and program-specific parameterized values. The current stage is instantiated based on the program execution readiness. An execution status of the stage is determined based on a validation configuration. A previous stage is determined to rollback before the current stage based on the execution status and a rollback configuration. The current state is updated in the persistent storage based on the execution of the state step to form a subsequent state of the program.

Claims (90)

1. A method, comprising:

instantiating, by at least one processor, at least one program based on at least one program configuration;

receiving, by the at least one processor, a current state of the at least one program from a state persistence storage, wherein the current state defines a current execution stage of a plurality of stages of the at least one program;

accessing, by the at least one processor, a variables map comprising a mapping of a plurality of file paths to a plurality of alphanumerical prefixes;

wherein each alphanumerical prefix represents a respective dependency;

determining, by the at least one processor, a dependency configuration of the current execution stage of the at least one program;

wherein the dependency configuration comprises a sequence of alphanumerical prefixes defining dependencies of the at least one program;

mapping, by the at least one processor, the sequence of alphanumerical prefixes to a plurality of matching file paths based at least in part on the variables map;

determining, by the at least one processor, a program execution readiness to identify when to execute the current execution stage of the at least one program based on the plurality of matching file paths;

executing, by the at least one processor, the current execution stage of the at least one program based on the program execution readiness; and

updating, by the at least one processor, the current state of the at least one program in the persistent storage based on the execution of the current execution stage to form a subsequent state of the at least one program.

2. The method of claim 1 , further comprising:

searching, by the at least one processor, at least one data unit by pattern matching dependency files with the sequence of alphanumerical prefixes;

wherein the sequence of alphanumerical prefixes comprises at least one prefix element according to a customizable configuration;

generating, by the at least one processor, the variables map based on the sequence of alphanumerical prefixes;

comparing, by the at least one processor, file paths and file names of the dependency files in the at least one data unit with the variables map;

identifying, by the at least one processor, the dependencies based on matched files paths and matched file names; and

storing, by the at least one processor, the dependency in the variables map to parameterize the current execution stage.

3. The method of claim 2 , further comprising selecting, by the at least one processor, one of the matched file paths and matched file names for the sequence of alphanumerical prefixes.

4. The method of claim 1 , further comprising determining, by the at least one processor, an execution configuration of the current execution stage of the at least one program;

wherein the execution configuration comprises:

i) at least one command, and

ii) the parameterized values populated from the variables map.

5. The method of claim 1 , further comprising determining, by the at least one processor, a validation configuration of the current execution stage of the at least one program;

wherein the validation configuration comprises:

i) one or more condition checks, and

ii) a maximum time for determining satisfaction of the one or more condition checks.

6. The method claim 1 , further comprising determining, by the at least one processor, a rollback configuration of the current execution stage of the at least one program;

wherein the rollback configuration comprises:

i) at least one rollback command, and

ii) the parameterized values populated from the variables map.

7. The method of claim 1 , recording, by the at least one processor, for each stage of the at least one program, a run status tracking record, comprising:

i) a name and scheduled execution time of the at least one program,

ii) a launch time of the at least one program associated with an actual time of a launch of the at least one program;

iii) a name of each stage of the at least one program,

iv) a status of each stage of the at least one program,

v) a time of instantiation of each stage of the at least one program, and

vi) the variables map associated with each stage of the at least one program.

8. The method of claim 1 , further comprising reattempting, by the at least one processor, to execute the at least one stage of the at least one program associated with the state upon an elapsed validation time based on a validation configuration.

9. The method of claim 1 , further comprising instantiating, by the at least one processor, a second current execution stage of the at least one program concurrently with the current execution stage.

10. A method, comprising:

searching, by at least one processor, a data unit of a state persistence storage by pattern matching dependency files with one or more sequences of prefixes associated with a stage of a program;

wherein the one or more sequences of prefixes comprises at least one prefix element according to a customizable configuration;

generating, by the at least one processor, a variables map based on the sequence of prefixes;

identifying, by the at least one processor, the dependency of the stage of the program in the state persistence storage based on matched files paths and matched file names to the variables map;

generating, by the at least one processor, parameterized dependencies of the program by:

mapping the one or more sequences of prefixes to the matched file paths and the matched file names, and

recording, in the variables map, the mapping of the one or more sequences of prefixes to the matched file paths and the matched file names; and

storing, by the at least one processor, a link in the state persistence storage to refer to the variables map to identify the dependency files for execution of the stage of the program; and

reattempting, by the at least one processor, to execute the stage of the program associated with the state upon an elapsed validation time based on a validation configuration.

11. The method of claim 10 , further comprising selecting, by the at least one processor, one of the matched file paths and matched file names for the sequence of prefixes.

12. The method of claim 10 , further comprising instantiating, by the at least one processor, the program based on at least one program configuration;

wherein the at least one program configuration comprises:

i) at least one customizable scheduling configuration, and

ii) at least one state step for execution of a stage of the at least one program.

13. The method of claim 10 , further comprising receiving, by the at least one processor, the state of the program from the state persistence storage.

14. The method of claim 10 , determining, by the at least one processor, the current execution stage of the program based on the state and a stage configuration;

wherein the stage configuration comprises:

i) a dependency configuration,

ii) an execution configuration,

iii) a validation configuration, and

iv) a rollback configuration;

wherein the dependency configuration comprises the sequence of prefixes for locating dependencies according to the pattern matching between the sequence of prefixes and parameterized file paths associated with the data unit of the state persistence storage.

15. The method of claim 14 , wherein the execution configuration comprises:

i) at least one command, and

ii) the parameterized values populated from the variables map.

16. The method of claim 14 , wherein the validation configuration comprises:

i) one or more condition checks, and

ii) a maximum time for determining satisfaction of the one or more condition checks.

17. The method claim 14 , wherein the rollback configuration comprises:

i) at least one rollback command, and

ii) the parameterized values populated from the variables map.

18. The method of claim 10 , recording, by the at least one processor, for each stage of the program, a run status tracking record, comprising:

i) a name and scheduled execution time of the at least one program,

ii) a launch time of the at least one program associated with an actual time of a launch of the at least one program;

iii) a name of each stage of the at least one program,

iv) a status of each stage of the at least one program,

v) a time of instantiation of each stage of the at least one program, and

vi) the variables map associated with each stage of the at least one program.

19. A non-transitory computer readable medium storing software thereon, the software comprising instructions configured to cause at least one processor of at least one computer to perform steps comprising:

instantiating at least one program based on at least one program configuration;

receiving a current state of the at least one program from a state persistence storage, wherein the current state defines a current execution stage of a plurality of stages of the at least one program;

accessing a variables map comprising a mapping of a plurality of file paths to a plurality of alphanumerical prefixes;

wherein each alphanumerical prefix represents a respective dependency;

determining a dependency configuration of the current execution stage of the at least one program;

wherein the dependency configuration comprises a sequence of alphanumerical prefixes defining dependencies of the at least one program

mapping the sequence of alphanumerical prefixes to a plurality of matching file paths based at least in part on the variables map;

determining a program execution readiness to identify when to execute the current execution stage of the at least one program based on the plurality of matching file paths; and

executing the current execution stage of the at least one program based on the program execution readiness;

updating the current state of the at least one program in the persistent storage based on the execution of the current execution stage to form a subsequent state of the at least one program.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: YUCEL, EMRE
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 052667/0046 →
Continuity (2)
Continuation 16790190 · Feb 13, 2020
Related Publication 20210255895A1 · Aug 19, 2021