IP Library Granted Patent US 11,928,164
Granted Patent B2
US 11,928,164 · App. 17/063,993 · Granted Mar 12, 2024

System to manage document workflows

Inventors: Nathaniel Klein (Washington, DC); Huanqi Deng (Annandale, VA); Kevin Whelan (Palo Alto, CA); Matthew LeVan (Arlington, VA); Takashi Okamoto (Menlo Park, CA)
Assignee: Palantir Technologies Inc.
G06F16/93G06F16/2272G06F16/951G06F3/04842H04L67/01
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,928,164
App. No.
17/063,993
Granted
Mar 12, 2024
Kind
B2
Abstract

Example embodiments relate to a network-based workflow system, employed for receiving workflows, defining one or more data-object types based on the workflows, generating data-objects, assigning a workflow from among the one or more workflows to the data-object, and managing the data-object through various states of based on the workflow. As discussed, a “workflow” refers to orchestrated and repeatable patterns enabled by a systematic organization of resources into processes that transform and modify presentations of data-objects based on corresponding data-object states. A workflow may therefore comprise a set of states, wherein each state is linked to another state by one or more transitions, and wherein the transitions are associated with a set of events which may occur at each state.

Claims (52)

1. A system comprising:

one or more computer processors;

one or more computer memories;

a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising:

receiving a workflow definition at a server;

receiving a set of data-object types to assign a workflow in the workflow definition;

based on a receiving of a generation request for a data-object, generating a presentation of a graphical user interface at a client device that includes a display of one or more user selectable options from among a plurality of user selectable options, the one or more user selectable options including one or more fields for receiving a user input, the user input comprising a payload file for the data-object;

generating the data-object based on the received payload file;

assigning a data-object state to the data-object based at least in part on the received payload file, the data-object state being a first data-object state of a plurality of data-object states, the plurality of data-object states further including a second data-object state, the first data-object state being associated with a first set of actions performable to the data-object, the second data-object state being associated with a second set of actions performable to the data-object, the first set of actions being different from the second set of actions; and

altering, based at least in part on the assigned data-object state, the presentation of the graphical user interface to include the data-object.

2. The system of claim 1 , wherein the operations further comprise:

receiving access criteria of the data-object; and

wherein the altering of the presentation is based on the access criteria.

3. The system of claim 2 , wherein the access criteria includes at least a user attribute of a user associated with the client device; and

wherein the operations further comprise determining a set of user actions based on the user attribute and the assigned data-object state, wherein the set of user actions is a subset of the set of first actions.

4. The system of claim 2 , wherein the access criteria includes one or more device attributes associated with the client device.

5. The system of claim 4 , wherein the altering of the presentation includes selecting a portion of the one or more user selectable options for including in the display based on the access criteria.

6. The system of claim 1 , wherein the one or more user selectable options are based on a data-object type selected from the set of data object types.

7. The system of claim 6 , wherein the payload file for the data-object is of the selected data-object type.

8. A method comprising:

receiving a workflow definition at a server;

receiving a set of data-object types to assign a workflow in the workflow definition assigning the workflow definition to a data-object type in response to the receiving the workflow definition;

based on a receiving of a generation request for a data-object, generating a presentation of a graphical user interface at a client device that includes a display of one or more user selectable options from among a plurality of user selectable options, the one or more user selectable options including one or more fields for receiving a user input, the user input comprising a payload file for the data-object;

receiving a set of data-object types to assign a workflow in the workflow definition;

generating the data-object based on the received payload file;

assigning a data-object state to the data-object based at least in part on the received payload file, the data-object state being a first data-object state of a plurality of data-object states, the plurality of data-object states further including a second data-object state, the first data-object state being associated with a first set of actions performable to the data-object, the second data-object state being associated with a second set of actions performable to the data-object, the first set of actions being different from the second set of actions; and

altering, based at least in part on the assigned data-object state, the presentation of the graphical user interface to include the data-object.

9. The method of claim 8 , further comprising:

receiving access criteria of the data-object; and

wherein the altering of the presentation is based on the access criteria.

10. The method of claim 9 , wherein the access criteria includes at least a user attribute of a user associated with the client device; and

wherein the method further comprises determining a set of user actions based on the user attribute and the assigned data-object state, wherein the set of user actions is a subset of the set of first actions.

11. The method of claim 9 , wherein the access criteria includes one or more device attributes associated with the client device.

12. The method of claim 11 , wherein the altering of the presentation includes selecting a portion of the one or more user selectable options for including in the display based on the access criteria.

13. The method of claim 8 , wherein the one or more user selectable options are based on a data-object type selected from the set of data object types.

14. The method of claim 13 , wherein the payload file for the data-object is of the selected data-object type.

15. A non-transitory computer-readable storage medium comprising a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors to perform operations comprising:

receiving a workflow definition at a server;

receiving a set of data-object types to assign a workflow in the workflow definition;

based on a receiving of a generation request for a data-object, generating a presentation of a graphical user interface at a client device that includes a display of one or more user selectable options from among a plurality of user selectable options, the one or more user selectable options including one or more fields for receiving a user input, the user input comprising a payload file for the data-object;

generating the data-object based on the received payload file;

assigning a data-object state to the data-object based at least in part on the received payload file, the data-object state being a first data-object state of a plurality of data-object states, the plurality of data-object states further including a second data-object state, the first data-object state being associated with a first set of actions performable to the data-object, the second data-object state being associated with a second set of actions performable to the data-object, the first set of actions being different from the second set of actions; and

altering, based at least in part on the assigned data-object state, the presentation of the graphical user interface to include the data-object.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the operations further comprise:

receiving access criteria of the data-object; and

wherein the altering of the presentation is based on the access criteria.

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

wherein the access criteria includes at least a user attribute of a user associated with the client device; and

wherein the operations further comprise determining a set of user actions based on the user attribute and the assigned data-object state, wherein the set of user actions is a subset of the set of first actions.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the access criteria includes one or more device attributes associated with the client device.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more user selectable options are based on a data-object type selected from the set of data object types.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the payload file for the data-object is of the selected data-object type.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2020
From: KLEIN, NATHANIEL; DENG, HUANQI; WHELAN, KEVIN; LEVAN, MATTHEW; OKAMOTO, TAKASHI
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 054450/0873 →
Continuity (3)
Continuation 15800856 · Nov 1, 2017
Provisional Application 62536298 · Jul 24, 2017
Related Publication 20210056144A1 · Feb 25, 2021