IP Library Granted Patent US 10,795,839
Granted Patent B1
US 10,795,839 · App. 16/362,391 · Granted Oct 6, 2020

Systems and methods for creating pipeline paths

Inventors: Eliot Ball (London, GB); Eoin Morgan (Palo Alto, CA); Mikhail Proniushkin (New York, NY); Meghan Nayan (New York, NY); Nadia Saleh (Brooklyn, NY); Shilpa Balaji (San Ramon, CA)
Assignee: Palantir Technologies Inc.
G06F13/20G06F2213/0064
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 10,795,839
App. No.
16/362,391
Granted
Oct 6, 2020
Kind
B1
Abstract

A data pipeline including a plurality of graph pipeline paths is obtained. Each of the graph pipeline paths may include pipeline nodes, at least one of the pipeline node may have at least two inputs. Each of the inputs may comprise outputs of two or more other pipeline nodes. A linear pipeline path interface is provided for creating and presenting a linear pipeline path of the data pipeline. The linear pipeline path may include pipeline nodes, each being limited to a single input and a single output. The linear pipeline path interface may be limited to interacting with linear pipeline paths. A graph pipeline interface is provided for presenting and modifying the data pipeline. The linear pipeline path interface may be switched to the graph pipeline interface in response to a first user input.

Claims (53)

1. A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform:

obtaining a data pipeline including a plurality of graph pipeline paths, each of the plurality of graph pipeline paths including a plurality of pipeline nodes, at least one pipeline node of the plurality of pipeline nodes having at least two inputs, each of the at least two inputs comprising outputs of two or more other pipeline nodes of the plurality of pipelines nodes;

providing a linear pipeline path interface for creating and presenting a linear pipeline path of the data pipeline, the linear pipeline path including a plurality of pipeline nodes, each of the plurality of pipeline nodes being limited to a single input and a single output, the linear pipeline path interface being limited to interacting with linear pipeline paths, wherein the linear pipeline path interface comprises a first graphical user interface, and wherein the plurality of pipeline nodes of the of the linear pipeline path are configured to receive one or more out-of-path inputs in addition to the single input;

providing a graph pipeline interface for presenting and modifying at least a portion of the data pipeline, the at least a portion of the data pipeline including at least one graph pipeline path of the plurality of graph pipeline paths and the linear pipeline path, wherein the graph pipeline interface comprises a second graphical user interface;

switching from the linear pipeline path interface to the graph pipeline interface in response to a first user input received through the first graphical user interface; and

providing a mini-map interface presenting a scaled-down representation of a portion of the data pipeline corresponding to a portion of the linear pipeline path.

2. The system of claim 1 , wherein the instructions further cause the system to perform:

detecting a break in a particular pipeline path of the data pipeline, the particular pipeline path being a particular graph pipeline path of the plurality of graph pipeline paths or the linear pipeline path;

dynamically determining one or more alternate pipeline paths of the data pipeline;

modifying the particular pipeline path of the data pipeline based on the one or more alternate pipeline paths of the data pipeline.

3. The system of claim 1 , wherein the instructions further cause the system to perform:

presenting the one or more alternate pipeline paths of the data pipeline;

receiving a user selection of the particular alternate pipeline path from the one or more alternate pipeline paths of the data pipeline.

4. The system of claim 1 , wherein the instructions further cause the system to

provide a preview any of one or more datasets of a particular node of the linear pipeline path or one or more operations of the particular node of the linear pipeline path in response to a second user input associated with the particular node.

5. The system of claim 1 , wherein the instructions further cause the system to

provide an enhanced linear pipeline path interface including the linear pipeline path interface and the mini-map interface.

6. The system of claim 5 , wherein the instructions further cause the system to perform:

receiving a third user input indicating a particular out-of-path input for the particular node of the linear pipeline path, the particular out-of-path input comprising an output of a node in a different linear pipeline path or graph pipeline path of the data pipeline.

7. A method being implemented by a computing system including one or more physical processors and storage media storing machine-readable instructions, the method comprising:

obtaining a data pipeline including a plurality of graph pipeline paths, each of the plurality of graph pipeline paths including a plurality of pipeline nodes, at least one pipeline node of the plurality of pipeline nodes having at least two inputs, each of the at least two inputs comprising outputs of two or more other pipeline nodes of the plurality of pipelines nodes;

providing a linear pipeline path interface for creating and presenting a linear pipeline path of the data pipeline, the linear pipeline path including a plurality of pipeline nodes, each of the plurality of pipeline nodes being limited to a single input and a single output, the linear pipeline path interface being limited to interacting with linear pipeline paths, wherein the linear pipeline path interface comprises a first graphical user interface, and wherein the plurality of pipeline nodes of the of the linear pipeline path are configured to receive one or more out-of-path inputs in addition to the single input;

providing a graph pipeline interface for presenting and modifying at least a portion of the data pipeline, the at least a portion of the data pipeline including at least one graph pipeline path of the plurality of graph pipeline paths and the linear pipeline path, wherein the graph pipeline interface comprises a second graphical user interface;

switching from the linear pipeline path interface to the graph pipeline interface in response to a first user input received through the first graphical user interface; and

providing a mini-map interface presenting a scaled-down representation of a portion of the data pipeline corresponding to a portion of the linear pipeline path.

8. The method of claim 7 , wherein the instructions further cause the system to perform:

detecting a break in a particular pipeline path of the data pipeline, the particular pipeline path being a particular graph pipeline path of the plurality of graph pipeline paths or the linear pipeline path;

dynamically determining one or more alternate pipeline paths of the data pipeline;

modifying the particular pipeline path of the data pipeline based on the one or more alternate pipeline paths of the data pipeline.

9. The method of claim 7 , wherein the instructions further cause the system to perform:

presenting the one or more alternate pipeline paths of the data pipeline;

receiving a user selection of the particular alternate pipeline path from the one or more alternate pipeline paths of the data pipeline.

10. The method of claim 7 , wherein the instructions further cause the system to

provide a preview any of one or more datasets of a particular node of the linear pipeline path or one or more operations of the particular node of the linear pipeline path in response to a second user input associated with the particular node.

11. The method of claim 7 , wherein the instructions further cause the system to

provide an enhanced linear pipeline path interface including the linear pipeline path interface and the mini-map interface.

12. The method of claim 11 , wherein the instructions further cause the system to perform:

receiving a third user input indicating a particular out-of-path input for the particular node of the linear pipeline path, the particular out-of-path input comprising an output of a node in a different linear pipeline path or graph pipeline path of the data pipeline.

13. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

obtaining a data pipeline including a plurality of graph pipeline paths, each of the plurality of graph pipeline paths including a plurality of pipeline nodes, at least one pipeline node of the plurality of pipeline nodes having at least two inputs, each of the at least two inputs comprising outputs of two or more other pipeline nodes of the plurality of pipelines nodes;

providing a linear pipeline path interface for creating and presenting a linear pipeline path of the data pipeline, the linear pipeline path including a plurality of pipeline nodes, each of the plurality of pipeline nodes being limited to a single input and a single output, the linear pipeline path interface being limited to interacting with linear pipeline paths, wherein the linear pipeline path interface comprises a first graphical user interface, and wherein the plurality of pipeline nodes of the of the linear pipeline path are configured to receive one or more out-of-path inputs in addition to the single input;

providing a graph pipeline interface for presenting and modifying at least a portion of the data pipeline, the at least a portion of the data pipeline including at least one graph pipeline path of the plurality of graph pipeline paths and the linear pipeline path, wherein the graph pipeline interface comprises a second graphical user interface;

switching from the linear pipeline path interface to the graph pipeline interface in response to a first user input received through the first graphical user interface; and

providing a mini-map interface presenting a scaled-down representation of a portion of the data pipeline corresponding to a portion of the linear pipeline path.

14. The non-transitory computer readable medium of claim 13 , wherein the instructions further cause the system to perform:

detecting a break in a particular pipeline path of the data pipeline, the particular pipeline path being a particular graph pipeline path of the plurality of graph pipeline paths or the linear pipeline path;

dynamically determining one or more alternate pipeline paths of the data pipeline;

modifying the particular pipeline path of the data pipeline based on the one or more alternate pipeline paths of the data pipeline.

15. The non-transitory computer readable medium of claim 13 , wherein the instructions further cause the system to perform:

presenting the one or more alternate pipeline paths of the data pipeline;

receiving a user selection of the particular alternate pipeline path from the one or more alternate pipeline paths of the data pipeline.

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 Apr 22, 2019
From: BALL, ELIOT; MORGAN, EOIN; PRONIUSHKIN, MIKHAIL; NAYAN, MEGHAN; BALAJI, SHILPA; SALEH, NADIA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 048959/0922 →
Cited By (1)
US 12,591,539