IP Library › Granted Patent US 12,554,778
Granted Patent B2
US 12,554,778 · App. 17/480,412 · Granted Feb 17, 2026

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/93G06Q10/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 12,554,778
App. No.
17/480,412
Granted
Feb 17, 2026
Kind
B2
Abstract

A 2-way and 3-way compare-merge tool that allows consultants and customers to reconcile the changes that they have made with a generated copy of the resources. Systems and methods that provide an effective, easy-to-use comparison tool includes: a schema-aware compare; sophisticated handling of collection properties, especially nested collections; effective matching algorithms to recognize that two items are the same business object in spite of outward differences; an ability to accept user hints and input and persist user decisions; a structured report that reflects the structure of the business object; color formatting, tagging, and filtering to find the important changes among the large volume of differences (among the thousands of changes per resource). Furthermore, adding a common ancestor as a third data point in the 3-way compare identifies the source of changes.

Claims (68)

1 . A computer-implemented method comprising:

generating a first resource comprising a working copy of a resource from a master copy of resources;

generating a second resource comprising an edited version of the first resource;

comparing, by a processor, the first resource and the second resource using a two-way schema-aware compare tool; and

generating, by the processor, a first low-code platform compare report of one or more differences between the first resource and the second resource;

annotating, by the processor, each of the one or more differences with a business purpose;

generating a recipe file based on the first low-code platform compare report and the one or more differences;

analyzing the recipe file to identify one or more conflicts between the recipe file and a master recipe database based on the business purpose that is annotated with each of the one or more differences to validate the recipe file; and

merging the validated recipe file with the master recipe database;

wherein the two-way schema-aware compare tool compares schema metadata of the first resource and the second resource.

2 . The computer-implemented method of claim 1 , wherein the two-way schema-aware compare tool tags and categorizes each change between the first resource and the second resource.

3 . The computer-implemented method of claim 1 , wherein the two-way schema-aware compare tool uses at least one of an identifier, an alternate identifier, and a heuristic matching rule.

4 . The computer-implemented method of claim 1 , wherein the two-way schema-aware compare tool recognizes an intent of one or more differences between the first resource and the second resource.

5 . The computer-implemented method of claim 1 , wherein the schema metadata captures: a structure of the resource, one or more properties of the resource, one or more property data types of the resource, a relationship between the one or more properties, a hierarchical nature of the resource, and domain knowledge of how an author works to customize the resource.

6 . The computer-implemented method of claim 1 , further comprising:

comparing, by the processor, the first resource and a third resource using the two-way schema-aware compare tool, the third resource generated by editing the first resource;

generating, by the processor, a second low-code platform compare report of one or more differences between the first resource and the third resource;

comparing, by the processor, the first low-code platform compare report and the second low-code compare report;

detecting, by the processor, one or more conflicts between the first low-code platform compare report and the second low-code compare report; and

reconciling, by the processor, the one or more conflicts;

wherein the two-way schema-aware compare tool further compares:

the schema metadata of the first resource and the third resource.

7 . A system comprising:

a processor; and

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

generate a first resource comprising a working copy of a resource from a master copy of resources;

generate a second resource comprising an edited version of the first resource;

compare, by the processor, the first resource and the second resource using a two-way schema-aware compare tool; and

generate, by the processor, a first low-code platform compare report of one or more differences between the first resource and the second resource;

annotate, by the processor, each of the one or more differences with a business purpose;

generate a recipe file based on the first low-code platform compare report and the one or more differences;

analyzing the recipe file to identify one or more conflicts between the recipe file and a master recipe database based on the business purpose that is annotated with each of the one or more differences to validate the recipe file; and

merge the validated recipe file with the master recipe database;

wherein the two-way schema-aware compare tool compares schema metadata of the first resource and the second resource.

8 . The system of claim 7 , wherein the two-way schema-aware compare tool tags and categorizes each change between the first resource and the second resource.

9 . The system of claim 7 , wherein the two-way schema-aware compare tool uses at least one of an identifier, an alternate identifier, and a heuristic matching rule.

10 . The system of claim 7 , wherein the two-way schema-aware compare tool recognizes an intent of one or more differences between the first resource and the second resource.

11 . The system of claim 7 , wherein the schema metadata captures: a structure of a resource, one or more properties of the resource, one or more property data types of the resource, a relationship between the one or more properties, a hierarchical nature of the resource, and domain knowledge of how an author works to customize the resource.

12 . The system of claim 7 , wherein the instructions further configure the system to:

compare, by the processor, the first resource and a third resource using the two-way schema-aware compare tool, the third resource generated by editing the first resource;

generate, by the processor, a second low-code platform compare report of one or more differences between the first resource and the third resource;

compare, by the processor, the first low-code platform compare report and the second low-code compare report;

detect, by the processor, one or more conflicts between the first low-code platform compare report and the second low-code compare report; and

reconcile, by the processor, the one or more conflicts;

wherein the two-way schema-aware compare tool further compares:

the schema metadata of the first resource and the third resource.

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

generate a first resource comprising a working copy of a resource from a master copy of resources;

generate a second resource comprising an edited version of the first resource;

compare, by the processor, the first resource and the second resource using a two-way schema-aware compare tool; and

generate, by the processor, a first low-code platform compare report of one or more differences between the first resource and the second resource;

annotate, by the processor, each of the one or more differences with a business purpose

generate a recipe file based on the first low-code platform compare report and the one or more differences;

identify one or more conflicts between the recipe file and a master recipe database based on the business purpose that is annotated with each of the one or more differences to validate the recipe file; and

merge the validated recipe file with the master recipe database;

wherein the two-way schema-aware compare tool compares schema metadata of the first resource and the second resource.

14 . The non-transitory computer-readable storage medium of claim 13 , wherein the two-way schema-aware compare tool tags and categorizes each change between the first resource and the second resource.

15 . The non-transitory computer-readable storage medium of claim 13 , wherein the two-way schema-aware compare tool uses at least one of an identifier, an alternate identifier, and a heuristic matching rule.

16 . The non-transitory computer-readable storage medium of claim 13 , wherein the two-way schema-aware compare tool recognizes an intent of one or more differences between the first resource and the second resource.

17 . The non-transitory computer-readable storage medium of claim 13 , wherein the schema metadata captures: the structure of the resource, one or more properties of the resource, one or more property data types of the resource, a relationship between the one or more properties, a hierarchical nature of the resource, and domain knowledge of how an author works to customize the resource.

18 . The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further configure the computer to:

compare, by the processor, the first resource and a third resource using the two-way schema-aware compare tool, the third resource generated by editing the first resource;

generate, by the processor, a second low-code platform compare report of one or more differences between the first resource and the third resource; and

compare, by the processor, the first low-code platform compare report and the second low-code compare report;

detect, by the processor, one or more conflicts between the first low-code platform compare report and the second low-code compare report; and

reconcile, by the processor, the one or more conflicts;

wherein the two-way schema-aware compare tool further compares:

the schema metadata of the first resource and the third resource.

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 20220179834A1 · Jun 9, 2022
References Cited (84)
US 6256773B1 · Bowman-Amuah · 2001 [cited by applicant]
US 6393437B1 · Zinda · 2002 [cited by examiner]
US 7139999B2 · Bowman-Amuah · 2006 [cited by applicant]
US 7614040B2 · Wagner et al. · 2009 [cited by applicant]
US 7865358B2 · Green et al. · 2011 [cited by applicant]
US 8156213B1 · Deng et al. · 2012 [cited by applicant]
US 8265925B2 · Aarskog · 2012 [cited by applicant]
US 8352870B2 · Bailor et al. · 2013 [cited by applicant]
US 8489982B2 · Davis · 2013 [cited by applicant]
US 9292306B2 · Day et al. · 2016 [cited by applicant]
US 9348581B2 · Farah et al. · 2016 [cited by applicant]
US 9352870B2 · Muse · 2016 [cited by applicant]
US 9401846B2 · Abels et al. · 2016 [cited by applicant]
US 9811394B1 · Kogias et al. · 2017 [cited by applicant]
US 10216715B2 · Broderick et al. · 2019 [cited by applicant]
US 10262030B1 · Burtenshaw et al. · 2019 [cited by applicant]
US 10997556B2 · Scott et al. · 2021 [cited by applicant]
US 11068286B2 · Gupta et al. · 2021 [cited by applicant]
US 20040172425A1 · Edelstein et al. · 2004 [cited by applicant]
US 20040186817A1 · Thames et al. · 2004 [cited by applicant]
US 20050193269A1 · Haswell et al. · 2005 [cited by applicant]
US 20070011211A1 · Reeves et al. · 2007 [cited by applicant]
US 20070244775A1 · Linder · 2007 [cited by applicant]
US 20080086683A1 · Rich · 2008 [cited by examiner]
US 20080162509A1 · Becker · 2008 [cited by examiner]
US 20080288448A1 · Agredano et al. · 2008 [cited by applicant]
US 20090006933A1 · Gavrilov · 2009 [cited by examiner]
US 20090083314A1 · Maim · 2009 [cited by examiner]
US 20110153685A1 · Butine · 2011 [cited by applicant]
US 20110208700A1 · Noble · 2011 [cited by applicant]
US 20130332241A1 · Taylor · 2013 [cited by applicant]
US 20140013205A1 · Mikhaiel et al. · 2014 [cited by applicant]
US 20140040714A1 · Siegel et al. · 2014 [cited by applicant]
US 20140281872A1 · Glover et al. · 2014 [cited by applicant]
US 20150142726A1 · Taylor · 2015 [cited by applicant]
US 20150379430A1 · Dirac et al. · 2015 [cited by applicant]
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 et al. · 2019 [cited by applicant]
US 20190146656A1 · Raffo et al. · 2019 [cited by applicant]
US 20190155894A1 · Gandhi et al. · 2019 [cited by applicant]
US 20190244149A1 · Krishnaswamy · 2019 [cited by applicant]
US 20200167463A1 · Adams · 2020 [cited by applicant]
US 20200174907A1 · Lundquist et al. · 2020 [cited by applicant]
US 20200342005A1 · Kreutzer et al. · 2020 [cited by applicant]
US 20210124799A1 · Gatter · 2021 [cited by examiner]
US 20210192412A1 · Krishnaswamy · 2021 [cited by applicant]
US 20210382709A1 · Sagal et al. · 2021 [cited by applicant]
US 20210382814A1 · Moondhra et al. · 2021 [cited by applicant]
US 20210406771A1 · Basak · 2021 [cited by applicant]
US 20230409623A1 · Roman et al. · 2023 [cited by applicant]
AU 2014268241A1 · 2015 [cited by applicant]
CA 3112132A1 · 2020 [cited by applicant]
CN 110770735A · 2020 [cited by applicant]
JP A2007522575 · 2007 [cited by applicant]
JP A2009545793 · 2009 [cited by applicant]
WO WO2008015395A2 · 2008 [cited by examiner]
WO 2012119250A1 · 2012 [cited by applicant]
WO 2021050875A1 · 2021 [cited by applicant]
Oliveira, Alessandreia, et al., “An efficient similarity-based approach for comparing XML documents”, Elsevier, Information Systems 78 (2018), pp. 40-57. (Year: 2018). [cited by examiner]
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,415, Non-Final office action dated Jan. 24, 2023. [cited by applicant]
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]
Japanese Application No. 2023-560074, Office Action dated Apr. 3, 2025 (English Translation). [cited by applicant]
U.S. Appl. No. 17/480,419 Notice of Allowance dated Dec. 30, 2024. [cited by applicant]
U.S. Appl. No. 17/541,319, Non-Final office Action dated Feb. 13, 2025. [cited by applicant]
Curino C., et al.,“Automating the Database Schema Evolution Process.” The VLDB Journal, 2013, vol. 22, pp. 73-98. [cited by applicant]
U.S. Appl. No. 17/480,415, Final office action dated Nov. 6, 2024. [cited by applicant]
U.S. Appl. No. 17/480,419, Advisory Action dated Aug. 28, 2024. [cited by applicant]
U.S. Appl. No. 17/480,419, Notice of Allowance dated Nov. 21, 2024. [cited by applicant]
Canadian Patent Application No. 3214007 Office Action dated May 21, 2024. [cited by applicant]
Canadian Patent Application No. 3214057 Office Action dated May 21, 2024. [cited by applicant]
Canadian Patent Application No. 3214067 Office Action dated May 22, 2024. [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,419, Final office action dated Apr. 10, 2024. [cited by applicant]
Canadian Patent Application No. 3170691 Office Action dated Jan. 9, 2024. [cited by applicant]
Canadian Patent Application No. 3214007 Office Action dated Dec. 13, 2023. [cited by applicant]
Canadian Patent Application No. 3214057 Office Action dated Dec. 14, 2023. [cited by applicant]
Canadian Patent Application No. 3214067 Office Action dated Dec. 14, 2023. [cited by applicant]
U.S. Appl. No. 17/480,419, Non-Final office action dated Nov. 24, 2023. [cited by applicant]