IP Library › Granted Patent US 12,229,091
Granted Patent B2
US 12,229,091 · App. 17/480,419 · Granted Feb 18, 2025

Rule-based systems and methods for customizing complex business solutions

Inventors: Zbigniew Paul Rachniowski (Ottawa, CA); Steve McStravick (Ottawa, CA); Eduardo Rivero (Ottawa, CA); Andrei Anisenia (Ottawa, CA); Fekadeab Dejene (Ottawa, CA)
Assignee: Kinaxis Inc.
G06F16/213G06F16/211G06F16/2358G06N5/01G06Q10/0637G06F16/2379G06Q10/101G06Q10/103
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 12,229,091
App. No.
17/480,419
Granted
Feb 18, 2025
Kind
B2
Abstract

Systems and method than generate an effective recipe file by selecting at least one of a functionality, a feature and a configuration option from a master recipe database, the selecting based on a business objective; and generating a customized resource by applying the effective recipe file to a first working copy of a resource selected from a master copy of resources.

Claims (62)

1. A computer-implemented method comprising:

generating, by a processor, an effective recipe file by selecting at least one of a functionality, a feature and a configuration option from a master recipe database, the selecting based on a business objective; and

generating, by the processor, a customized resource by applying the effective recipe file to a first working copy of a resource selected from a master copy of resources;

wherein the master recipe database is generated by:

annotating, by the processor, a list of modifications in a recipe file, thereby producing an annotated list of modifications;

merging, by the processor, the annotated list of modifications into the master recipe database, the master recipe database containing a catalogue of generated modifications; and

verifying, by the processor, the master recipe database to ensure there are no conflicts or inconsistencies with respect to other annotated lists of modifications in the master recipe database;

wherein the recipe file is a compilation of one or more recipe file items, and wherein each recipe file item is generated by:

creating, by the processor, a working copy of a first resource selected from the master copy of resources;

editing, by the processor, the working copy of the first resource, thereby generating a second resource;

testing, by the processor, one or more use cases having expected inputs and outputs for validating the second resource;

comparing, by the processor, the working copy of the first resource with the second resource;

generating, by the processor, a recipe file item from one or more differences between the working copy of the first resource and the second resource, the recipe file item comprising tags that form a menu of configuration options that transform the working copy of the first resource to the second resource;

applying, by the processor, the recipe file item to the working copy of the first resource, thereby generating a third resource;

comparing, by the processor, the third resource with the second resource; and

validating, by the processor, the recipe file item.

2. The computer-implemented method of claim 1 , wherein comparing between any two resources is a schema-aware compare.

3. The computer-implemented method of claim 2 , wherein comparing between any two resources compares schema metadata of the first resource and the second resource.

4. The computer-implemented method of claim 1 , wherein the master copy is documented and tested; and includes a plurality of functionalities, a plurality of features, and a plurality of configuration options.

5. The computer-implemented method of claim 1 , wherein the resources comprise at least one of workbooks, widgets, task flows, scripts, scorecards, responsibility, process templates, hierarchies, forms, filters, dashboards and alerts.

6. A system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the system to:

generate, by the processor, an effective recipe file by selecting at least one of a functionality, a feature and a configuration option from a master recipe database, the selecting based on a business objective; and

generate, by the processor, a customized resource by applying the effective recipe file to a first working copy of a resource selected from a master copy of resources;

wherein the master recipe database is generated by the memory storing instructions that, when executed by the processor, further configure the system to:

annotate, by the processor, a list of modifications in a recipe file, thereby producing an annotated list of modifications;

merge, by the processor, the annotated list of modifications into the master recipe database, the master recipe database containing a catalogue of generated modifications; and

verify, by the processor, the master recipe database to ensure there are no conflicts or inconsistencies with respect to other annotated lists of modifications in the master recipe database;

wherein the recipe file is a compilation of one or more recipe file items, and wherein each recipe file item is generated by the memory storing instructions that, when executed by the processor, further configure the system to:

create, by the processor, a working copy of a first resource selected from the master copy of resources;

edit, by the processor, the working copy of the first resource, thereby generating a second resource;

test, by the processor, one or more use cases having expected inputs and outputs for validating the second resource;

compare, by the processor, the working copy of the first resource with the second resource;

generate, by the processor, a recipe file item from one or more differences between the working copy of the first resource and the second resource, the recipe file item comprising tags that form a menu of configuration options that transform the working copy of the first resource to the second resource;

apply, by the processor, the recipe file item to the working copy of the first resource, thereby generating a third resource;

compare, by the processor, the third resource with the second resource; and

validate, by the processor, the recipe file item.

7. The system of claim 6 , wherein comparing between any two resources is a schema-aware compare.

8. The system of claim 7 , wherein comparing between any two resources compares schema metadata of the first resource and the second resource.

9. The system of claim 6 , wherein the master copy is documented and tested; and includes a plurality of functionalities, a plurality of features, and a plurality of configuration options.

10. The system of claim 6 , wherein the resources comprise at least one of workbooks, widgets, task flows, scripts, scorecards, responsibility, process templates, hierarchies, forms, filters, dashboards and alerts.

11. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

generate, by a processor, an effective recipe file by selecting at least one of a functionality, a feature and a configuration option from a master recipe database, the selecting based on a business objective; and

generate, by the processor, a customized resource by applying the effective recipe file to a first working copy of a resource selected from a master copy of resources;

wherein the master recipe database is generated by the instructions that when executed by the computer, cause the computer to:

annotate, by the processor, a list of modifications in a recipe file, thereby producing an annotated list of modifications;

merge, by the processor, the annotated list of modifications into the master recipe database, the master recipe database containing a catalogue of generated modifications; and

verify, by the processor, the master recipe database to ensure there are no conflicts or inconsistencies with respect to other annotated lists of modifications in the master recipe database;

wherein the recipe file is a compilation of one or more recipe file items, and wherein each recipe file item is generated by the instructions that when executed by the computer, cause the computer to:

create, by the processor, a working copy of a first resource selected from the master copy of resources;

edit, by the processor, the working copy of the first resource, thereby generating a second resource;

test, by the processor, one or more use cases having expected inputs and outputs for validating the second resource;

compare, by the processor, the working copy of the first resource with the second resource;

generate, by the processor, a recipe file item from one or more differences between the working copy of the first resource and the second resource, the recipe file item comprising tags that form a menu of configuration options that transform the working copy of the first resource to the second resource;

apply, by the processor, the recipe file item to the working copy of the first resource, thereby generating a third resource;

compare, by the processor, the third resource with the second resource; and

validate, by the processor, the recipe file item.

12. The computer-readable storage medium of claim 11 , wherein comparing between any two resources is a schema-aware compare.

13. The computer-readable storage medium of claim 12 , wherein comparing between any two resources compares schema metadata of the first resource and the second resource.

14. The computer-readable storage medium of claim 11 , wherein the master copy is documented and tested; and includes a plurality of functionalities, a plurality of features, and a plurality of configuration options.

15. The computer-readable storage medium of claim 11 , wherein the resources comprise at least one of workbooks, widgets, task flows, scripts, scorecards, responsibility, process templates, hierarchies, forms, filters, dashboards and alerts.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: RACHNIOWSKI, ZBIGNIEW PAUL; MCSTRAVICK, STEVE; RIVERO, EDUARDO
To: KINAXIS INC.
Reel/Frame 059077/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: ANISENIA, ANDREI
To: KINAXIS INC.
Reel/Frame 059078/0122 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: DEJENE, FEKADEAB
To: KINAXIS INC.
Reel/Frame 059078/0251 →
Continuity (2)
Provisional Application 63121368 · Dec 4, 2020
Related Publication 20220180263A1 · Jun 9, 2022
References Cited (56)
US 6256773B1 · Bowman-Amuah · 2001 [cited by applicant]
US 6393437B1 · Zinda et al. · 2002 [cited by applicant]
US 7139999B2 · Bowman-Amuah · 2006 [cited by applicant]
US 7614040B2 · Wagner et al. · 2009 [cited by applicant]
US 8156213B1 · Deng · 2012 [cited by examiner]
US 8352870B2 · Bailor · 2013 [cited by examiner]
US 9292306B2 · Day et al. · 2016 [cited by applicant]
US 9352870B2 · Muse · 2016 [cited by examiner]
US 9401846B2 · Abels · 2016 [cited by examiner]
US 9811394B1 · Kogias · 2017 [cited by examiner]
US 10262030B1 · Burtenshaw · 2019 [cited by examiner]
US 10997556B2 · Scott · 2021 [cited by examiner]
US 20040172425A1 · Edelstein et al. · 2004 [cited by applicant]
US 20040186817A1 · Thames · 2004 [cited by examiner]
US 20050193269A1 · Haswell · 2005 [cited by examiner]
US 20070244775A1 · Linder · 2007 [cited by examiner]
US 20080086683A1 · Rich et al. · 2008 [cited by applicant]
US 20080162509A1 · Becker · 2008 [cited by applicant]
US 20080288448A1 · Agredano et al. · 2008 [cited by applicant]
US 20090006933A1 · Gavrilov et al. · 2009 [cited by applicant]
US 20090083314A1 · Maim · 2009 [cited by examiner]
US 20110153685A1 · Butine · 2011 [cited by applicant]
US 20110208700A1 · Noble · 2011 [cited by examiner]
US 20130332241A1 · Taylor · 2013 [cited by applicant]
US 20140013205A1 · Mikhaiel et al. · 2014 [cited by applicant]
US 20140040714A1 · Siegel · 2014 [cited by examiner]
US 20140281872A1 · Glover et al. · 2014 [cited by applicant]
US 20150142726A1 · Taylor · 2015 [cited by applicant]
US 20150379430A1 · Dirac · 2015 [cited by examiner]
US 20160004973A1 · Trenkov et al. · 2016 [cited by applicant]
US 20180367506A1 · Ford et al. · 2018 [cited by applicant]
US 20190026255A1 · Rix et al. · 2019 [cited by applicant]
US 20190026320A1 · Sharma · 2019 [cited by examiner]
US 20190146656A1 · Raffo · 2019 [cited by examiner]
US 20190155894A1 · Gandhi · 2019 [cited by examiner]
US 20190244149A1 · Krishnaswamy · 2019 [cited by applicant]
US 20200167463A1 · Adams et al. · 2020 [cited by applicant]
US 20200174907A1 · Lundquist · 2020 [cited by examiner]
US 20200342005A1 · Kreutzer et al. · 2020 [cited by applicant]
US 20210192412A1 · Krishnaswamy · 2021 [cited by applicant]
US 20210382709A1 · Sagal · 2021 [cited by examiner]
US 20210382814A1 · Moondhra · 2021 [cited by examiner]
AU 2014268241A1 · 2015 [cited by applicant]
CA 3112132A1 · 2020 [cited by applicant]
WO 2008015395A2 · 2008 [cited by applicant]
WO 2021050875A1 · 2021 [cited by applicant]
Curino, C., Moon, H.J., Deutsch, A. et al. Automating the database schema evolution process. The VLDB Journal 22, 73-98 (2013). https://doi.org/10.1007/s00778-012-0302-x (Year: 2013). [cited by examiner]
Canadian Patent Application No. 3170691 Office Action dated Jul. 12, 2023. [cited by applicant]
International Patent Application No. PCT/CA2021/051725, International Preliminary Report on Patentability dated Jun. 15, 2023. [cited by applicant]
U.S. Appl. No. 17/480,415, Final office action dated Jun. 7, 2023. [cited by applicant]
International Search Report for PCT/CA2021/051725 mailed Jan. 31, 2022, 7 pages. [cited by applicant]
Canadian Patent Application No. 3170691 Office Action dated Jan. 12, 2023. [cited by applicant]
U.S. Appl. No. 17/480,412, Non-Final office action dated Jan. 26, 2023. [cited by applicant]
U.S. Appl. No. 17/480,415, Non-Final office action dated Jan. 24, 2023. [cited by applicant]
U.S. Appl. No. 17/480,415, Non-Final office action dated Mar. 29, 2024. [cited by applicant]
U.S. Appl. No. 17/480,415, Final office action dated Nov. 6, 2024. [cited by applicant]