IP Library Granted Patent US 10,698,594
Granted Patent B2
US 10,698,594 · App. 16/397,398 · Granted Jun 30, 2020

System for providing dynamic linked panels in user interface

Inventors: Jacob Sanches (San Francisco, CA); Noah Chen (New York, NY); Calvin Fernandez (New York, NY); Stephanie Yu (New York, NY); Sixin Li (New York, NY); Geoff Cameron (New York, NY)
Assignee: Palantir Technologies Inc.
G06F3/04847G06F3/04817G06F8/38G06F16/248G06F16/26G06F9/44505G06F2203/04803
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,698,594
App. No.
16/397,398
Granted
Jun 30, 2020
Kind
B2
Abstract

A system is configured to provide a dashboard creation system. Panels associated with queries for retrieving information from a database are shown in a user interface. Various other user interfaces show query code, panel display settings, function code, dependencies, etc. The dependencies can be extracted and used to provide autocomplete and partial refreshing. A timing table shows execution times. Panel outputs and code updates can be shown and compared.

Claims (62)

1. A computer system comprising:

one or more hardware computer processors configured to execute code in order to cause the computer system to:

generate user interface data for rendering a user interface that simultaneously includes at least a first display portion and a second display portion, wherein:

the first display portion includes a plurality of panels includes:

a first panel showing a first visual representation of first data for display in the first panel according to display settings for the first panel, the first panel associated with first code including a first variable; and

a second panel showing a second visual representation of second data for display in the second panel, the second panel associated with second code configured to query a database, based at least in part on the first variable, to receive the second data; and

the user interface further includes:

a third display portion including a node-and-edge graphical visualization of relationships among at least: a plurality of panels in the first display portion, a plurality of queries associated with the plurality of panels, a plurality of variables used in the plurality of queries, and a plurality of functions associated with the plurality of queries;

receive an edit to the first code;

automatically determine downstream dependencies of the edited first code, wherein the downstream dependencies include at least the second code and the second panel;

in response to determining the downstream dependencies:

execute the edited first code associated with the first panel;

execute code associated with the downstream dependencies of the edited first code, including at least the second code configured to query the database; and

display in the second display portion:

a comparison of timing information associated with executing the second code before and after receiving the edit to the first code; and

in response to a selection, made in the second display portion, of timing information associated with the second panel:

update the third display portion to visually indicate a node associated with the second panel and upstream dependencies of the node associated with the second panel; and

update the first display portion to visually indicate the second panel.

2. The computer system of claim 1 , wherein the timing information includes:

a first time for executing the second code;

a second time from querying the database, based at least in part on the first variable, to receiving the second data; and

a third time for loading the second panel showing the second visual representation of second data.

3. The computer system of claim 1 , wherein the user interface further comprises:

a third display portion including a list of queries and coding of a query in the list of queries;

a fourth display portion including a list of variables and values of variables in the list of variables; and

a fifth display portion including a list of functions and coding of a function in the list of functions.

4. The computer system of claim 1 , wherein:

the node-and-edge graphical visualization visually indicates dependency relationships between the plurality of panels, the plurality of queries, the plurality of variables, and the plurality of functions; and

the one or more hardware computer processors are further configured to execute the code in order to cause the computer system to update the dependency relationships in response to receiving the edit to the first code associated with the first panel.

5. The computer system of claim 1 , wherein nodes are represented as icons that are color coded with different colors for queries, variables, functions, and panels.

6. The computer system of claim 1 , wherein the one or more hardware computer processors are further configured to execute the code in order to cause the computer system to:

in response to a selection of a dependency filter criteria, visually indicate nodes and edges satisfying the dependency filter criteria in the third display portion.

7. A computer-implemented method comprising:

generating user interface data for rendering a user interface that simultaneously includes at least a first display portion and a second display portion, wherein:

the first display portion includes a plurality of panels includes:

a first panel showing a first visual representation of first data for display in the first panel according to display settings for the first panel, the first panel associated with first code including a first variable; and

a second panel showing a second visual representation of second data for display in the second panel, the second panel associated with second code configured to query a database, based at least in part on the first variable, to receive the second data; and

the user interface further includes:

a third display portion including a node-and-edge graphical visualization of relationships among at least: a plurality of panels in the first display portion, a plurality of queries associated with the plurality of panels, a plurality of variables used in the plurality of queries, and a plurality of functions associated with the plurality of queries;

receiving an edit to the first code;

automatically determining downstream dependencies of the edited first code, wherein the downstream dependencies include at least the second code and the second panel;

in response to determining the downstream dependencies:

executing the edited first code associated with the first panel;

executing code associated with the downstream dependencies of the edited first code, including at least the second code configured to query the database; and

displaying in the second display portion:

a comparison of timing information associated with executing the second code before and after receiving the edit to the first code; and

in response to a selection, made in the second display portion, of timing information associated with the second panel:

visually indicating the third display portion to visually indicate a node associated with the second panel and upstream dependencies of the node associated with the second panel; and

visually indicating the first display portion to visually indicate the second panel.

8. The computer-implemented method of claim 7 , wherein the timing information includes:

a first time for executing the second code;

a second time from querying the database, based at least in part on the first variable, to receiving the second data; and

a third time for loading the second panel showing the second visual representation of second data.

9. The computer-implemented method of claim 7 , wherein the user interface further comprises:

a third display portion including a list of queries and coding of a query in the list of queries;

a fourth display portion including a list of variables and values of variables in the list of variables; and

a fifth display portion including a list of functions and coding of a function in the list of functions.

10. The computer-implemented method of claim 7 , wherein the node-and-edge graphical visualization visually indicates dependency relationships between the plurality of panels, the plurality of queries, the plurality of variables, and the plurality of functions, the method further comprising:

updating the dependency relationships in response to receiving the edit to the query of the first panel.

11. The computer-implemented method of claim 7 , wherein nodes are represented as icons that are color coded with different colors for queries, variables, functions, and panels.

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

in response to a selection of a dependency filter criteria, visually indicating nodes and edges satisfying the dependency filter criteria in the third display portion.

Assignments (8)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: SANCHES, JACOB; CHEN, NOAH; FERNANDEZ, CALVIN; YU, STEPHANIE; LI, SIXIN; CAMERON, GEOFF
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 049202/0909 →
Cited By (24)
US 12,197,560 US 12,204,845 US 12,260,190 US 12,271,849 US 12,314,882 US 12,353,419 US 12,367,011 US 12,367,222 US 12,379,835 US 12,430,825 US 12,572,528 US 12,572,867 US 12,573,105 US 12,586,268 US 12,619,833 US 12,639,402 US 12,645,759 US 12,694,636 US 12,699,962 US 12,705,552 US 12,705,579 US 12,711,259 US 12,711,464 US 12,717,468