IP Library Granted Patent US 12,260,192
Granted Patent B2
US 12,260,192 · App. 18/321,595 · Granted Mar 25, 2025

Workflow application and user interface builder integrating objects, relationships, and actions

Inventors: Myles Scolnick (New York, NY); Bianca Rahill-Marier (London, GB); Xinyi Wang (New York, NY); Sarah Beckoff (Jerusalem, IL); Quentin Le Pape (London, GB); Shaun Springer (New York, NY)
Assignee: Palantir Technologies Inc.
G06F8/38G06F3/0482G06F40/186
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,260,192
App. No.
18/321,595
Granted
Mar 25, 2025
Kind
B2
Abstract

Systems, techniques, and user interfaces are disclosed for an object-centric builder software that can utilize an ontology to design, configure, and build a workflow application that also references the ontology to perform a workflow. The ontology may serve as a data model for stored data associated with the particular workflow. The builder software may leverage the ontology to obtain advance knowledge of the availability and structure of the stored data that will be accessible to the workflow application at run-time, in order to build a workflow application that is well-tailored for that particular workflow. This approach may also result in flexible workflow applications that are easily built and maintained.

Claims (66)

1. A computer-implemented method comprising:

by one or more computer processors executing program instructions:

displaying an interactively-configurable layout to an application creator user;

adding an interactively-configurable component to the interactively-configurable layout, wherein when configured, the interactively-configurable component allows one or more operations to be performed on a data object having a data object type;

accessing an ontology that defines a data model to determine one or more variables for configuring the interactively-configurable component, wherein said one or more variables comprise inputs or outputs of the interactively-configurable component, wherein said one or more variables adhere with the data object type to prevent a data object type mismatch variables when the one or more operations are performed on the data object;

displaying the one or more variables to the application creator user;

configuring the interactively-configurable component based on a least a selection of the one or more variables by the application creator user; and

generating a workflow application including a component based on the configuration of the interactively-configurable component.

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

by the one or more computer processors executing program instructions:

identifying configurable aspects of the interactively-configurable component that can only be configured with data objects having specific data object types;

validating the configurable aspects of the interactively-configurable component to ensure the configurable aspects adhere to the specific data object types to ensure the component will operate properly if executed in the workflow application; and

responsive to determining that the configurable aspects fail validation, preventing configuration of the configurable aspects or flagging the configurable aspects as comprising a prohibited operation.

3. The computer-implemented method of claim 2 wherein the configurable aspects include one or more of an input, an output, or a filter.

4. The computer-implemented method of claim 2 wherein the specific data object types are defined by one or more of a type, property, or action.

5. The computer-implemented method of claim 1 wherein the one or more variables include a filter variable.

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

by the one or more computer processors executing program instructions:

determining, based on the data model defined in the ontology, one or more invalid variables associated with the data object type; and

preventing display of the one or more invalid variables to the application creator user.

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

by the one or more computer processors executing program instructions:

adding a second interactively-configurable component to the interactively-configurable layout;

configuring an output from the interactively-configurable component as an input of the second interactively-configurable component; and

generating the workflow application including a second component based on the configuration of the second interactively-configurable component.

8. A computing system comprising:

a computer readable storage medium having program instructions embodied therewith; and

one or more processors configured to execute the program instructions to cause the computing system to:

display an interactively-configurable layout to an application creator user;

add an interactively-configurable component to the interactively-configurable layout, wherein when configured, the interactively-configurable component allows one or more operations to be performed on a data object having a data object type;

access an ontology that defines a data model to determine one or more variables for configuring the interactively-configurable component, wherein said one or more variables comprise inputs or outputs of the interactively-configurable component, wherein said one or more variables adhere with the data object type to prevent a data object type mismatch when the one or more operations are performed on the data object;

display the one or more variables to the application creator user;

configure the interactively-configurable component based on a least a selection of the one or more variables by the application creator user; and

generate a workflow application including a component based on the configuration of the interactively-configurable component.

9. The computing system of claim 8 , wherein the one or more processors are further configured to execute the program instructions to cause the computing system to:

identify configurable aspects of the interactively-configurable component that can only be configured with data objects having specific data object types;

validate the configurable aspects of the interactively-configurable component to ensure the configurable aspects adhere to the specific data object types to ensure the component will operate properly if executed in the workflow application; and

responsive to determining that the configurable aspects fail validation, prevent configuration of the configurable aspects or flag the configurable aspects as comprising a prohibited operation.

10. The computing system of claim 9 wherein the configurable aspects include one or more of an input, an output, or a filter.

11. The computing system of claim 9 wherein the specific data object types are defined by one or more of a type, property, or action.

12. The computing system of claim 8 wherein the one or more variables include a filter variable.

13. The computing system of claim 8 , wherein the one or more processors are further configured to execute the program instructions to cause the computing system to:

determine, based on the data model defined in the ontology, one or more invalid variables associated with the data object type; and

prevent display of the one or more invalid variables to the application creator user.

14. The computing system of claim 8 , wherein the one or more processors are further configured to execute the program instructions to cause the computing system to:

add a second interactively-configurable component to the interactively-configurable layout;

configure an output from the interactively-configurable component as an input of the second interactively-configurable component; and

generate the workflow application including a second component based on the configuration of the second interactively-configurable component.

15. A non-transitory computer-readable medium including computer-executable instructions that, when executed by a computing system, cause the computing system to perform operations comprising:

displaying an interactively-configurable layout to an application creator user;

adding an interactively-configurable component to the interactively-configurable layout, wherein when configured, the interactively-configurable component allows one or more operations to be performed on a data object having a data object type;

accessing an ontology that defines a data model to determine one or more variables for configuring the interactively-configurable component, wherein said one or more variables comprise inputs or outputs of the interactively-configurable component, wherein said one or more variables adhere with the data object type to prevent a data object type mismatch when the one or more operations are performed on the data object;

displaying the one or more variables to the application creator user;

configuring the interactively-configurable component based on a least a selection of the one or more variables by the application creator user; and

generating a workflow application including a component based on the configuration of the interactively-configurable component.

16. The non-transitory computer-readable medium of claim 15 ,

wherein the computer-executable instructions, executed by the computing system, further cause the computing system to perform operations comprising:

identifying configurable aspects of the interactively-configurable component that can only be configured with data objects having specific data object types;

validating the configurable aspects of the interactively-configurable component to ensure the configurable aspects adhere to the specific data object types to ensure the component will operate properly if executed in the workflow application; and

responsive to determining that the configurable aspects fail validation, preventing configuration of the configurable aspects or flagging the configurable aspects as comprising a prohibited operation.

17. The non-transitory computer-readable medium of claim 16 wherein the configurable aspects include one or more of an input, an output, or a filter.

18. The non-transitory computer-readable medium of claim 16 wherein the specific data object types are defined by one or more of a type, property, or action.

19. The non-transitory computer-readable medium of claim 15 wherein the one or more variables include one or more of input variables, output variables, or filter variables.

20. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable instructions, executed by the computing system, further cause the computing system to perform operations comprising:

determining, based on the data model defined in the ontology, one or more invalid variables associated with the data object type; and

preventing display of the one or more invalid variables to the application creator user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: SCOLNICK, MYLES; RAHILL-MARIER, BIANCA; WANG, XINYI; BECKOFF, SARAH; PAPE, QUENTIN LE; SPRINGER, SHAUN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 063736/0181 →
Continuity (5)
Continuation 18046679 · Oct 14, 2022
Continuation 17368615 · Jul 6, 2021
Continuation 16730073 · Dec 30, 2019
Provisional Application 62934896 · Nov 13, 2019
Related Publication 20230289153A1 · Sep 14, 2023
References Cited (42)
US 5483654A · Staron · 1996 [cited by examiner]
US 7581011B2 · Teng · 2009 [cited by examiner]
US 7971186B1 · Peyton · 2011 [cited by examiner]
US 10165118B1 · Agarwal · 2018 [cited by examiner]
US 11086602B2 · Scolnick et al. · 2021 [cited by applicant]
US 11500620B2 · Scolnick et al. · 2022 [cited by applicant]
US 11704098B2 · Scolnick et al. · 2023 [cited by applicant]
US 20020184610A1 · Chong · 2002 [cited by examiner]
US 20030117436A1 · Kautto-Koivula · 2003 [cited by examiner]
US 20060070025A1 · Mauceri, Jr. · 2006 [cited by examiner]
US 20060236304A1 · Luo et al. · 2006 [cited by applicant]
US 20070027894A1 · Bridges · 2007 [cited by examiner]
US 20070157088A1 · Lewis-Bowen · 2007 [cited by examiner]
US 20080147453A1 · Kogan · 2008 [cited by examiner]
US 20080209078A1 · Bates · 2008 [cited by examiner]
US 20090083408A1 · Hecht · 2009 [cited by examiner]
US 20140229898A1 · Terwedo · 2014 [cited by examiner]
US 20140279979A1 · Yost · 2014 [cited by examiner]
US 20140282177A1 · Wang · 2014 [cited by examiner]
US 20150067687A1 · Turner · 2015 [cited by examiner]
US 20150113451A1 · Kopp · 2015 [cited by examiner]
US 20150170088A1 · Rizk · 2015 [cited by examiner]
US 20150186132A1 · Oliveri · 2015 [cited by examiner]
US 20150350443A1 · Kumar · 2015 [cited by examiner]
US 20160259534A1 · Simons · 2016 [cited by examiner]
US 20160275122A1 · Kara · 2016 [cited by examiner]
US 20170075333A1 · Norman · 2017 [cited by examiner]
US 20170147190A1 · Twist · 2017 [cited by examiner]
US 20170161347A1 · Raza · 2017 [cited by examiner]
US 20170235717A1 · Kumar · 2017 [cited by examiner]
US 20170236067A1 · Tjiong · 2017 [cited by examiner]
US 20170316355A1 · Shrestha · 2017 [cited by examiner]
US 20170329506A1 · Laetham · 2017 [cited by examiner]
US 20170371504A1 · Sharma · 2017 [cited by examiner]
US 20190042068A1 · Tompkins · 2019 [cited by examiner]
US 20190102069A1 · Strinden · 2019 [cited by examiner]
US 20200394688A1 · Loflin · 2020 [cited by examiner]
EP 3822886 · 2021 [cited by applicant]
Cicortas et al., “Considerations on the Roles and Ontology in Modeling Workflow Management Systems”, IEEE 2020 International Joint Conference on Computational Cybernetics and Technical Informatics (ICCC-CONTI), May 27, … [cited by applicant]
Dillon, A. “User interface design”, MacMillan Encyclopedia of Cognitive Science, vol. 4, London: MacMillan, 2003, pp. 153-458. [cited by applicant]
Koers, “How to align excel 2010 data horizontally and vertically”, available at https://www.dummies.com/software/microsoft-office/excel/how-to-align-excel-2010-data-horizontally-and-vertically, archived on Sep. 2, 2016 … [cited by applicant]
Official Communication for European Patent Application No. 20207175.9 dated Aug. 3, 2021, 10 pages. [cited by applicant]