IP Library Granted Patent US 10,642,853
Granted Patent B2
US 10,642,853 · App. 15/711,712 · Granted May 5, 2020

Automatically generating graphical data displays based on structured descriptions

Inventors: Amr Al Mallah (New York, NY); Alexander Visbal (Brooklyn, NY); David Philipson (Palo Alto, CA); James Thompson (London, GB); Natasha D'Souza (San Francisco, CA); Ryan Xie (Redwood City, CA); Wayne Chen Spiegel (San Francisco, CA)
Assignee: Palantir Technologies Inc.
G06F16/248G06F3/0481G06F8/38G06F9/451G06F3/0482
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,642,853
App. No.
15/711,712
Granted
May 5, 2020
Kind
B2
Abstract

In one embodiment, a data processing method comprises, using a first computer, in response to detecting a change in a data source: automatically generating a dataset comprising a subset of data from the data source, generating a unique dataset identifier, and associating the dataset identifier with the dataset in digital data storage; generating a display description that comprises: the dataset identifier; and for each particular graphical data display widget among one or more graphical data display widgets, instructions that specify a widget type, an order and one or more widget configuration values for the particular graphical data display widget; transmitting the display description to a second computer.

Claims (49)

1. A method comprising:

using a first computer, in response to detecting a change in data stored in a data source:

automatically generating a dataset comprising a subset of data from the data source based upon the detected change in the data, generating a unique dataset identifier, and associating the unique dataset identifier with the dataset in digital data storage;

generating a display description, wherein the display description comprises:

the unique dataset identifier; and

for each particular graphical data display widget among one or more graphical data display widgets, instructions that specify a widget type, an order and one or more widget configuration values for the particular graphical data display widget;

formatting the dataset to conform with a data format defined by the one or more widget configuration values of the one or more graphical data display widgets, and storing the formatted dataset and the associated unique dataset identifier in the data source;

wherein the formatted dataset comprises data values representing content to be presented within the one or more graphical data display widgets;

wherein the data format defined by the one or more widget configuration values comprises at least one of a data format for one or more columns that make up the content, data values that make up the content, or names for the set of columns that make up the content; and

transmitting the display description to a second computer.

2. The method of claim 1 , wherein the widget type of the particular data display widget specifies one of: a line chart, a key value chart, or a bar chart.

3. The method of claim 1 , wherein the instructions of the display description further comprise a structured query language (SQL) statement that specifies a database query configured to retrieve data for display using the particular graphical data display widget.

4. The method of claim 1 , wherein the widget type of the particular data display widget specifies a line chart having an X axis and a Y axis, and wherein the instructions of the display description further comprise a structured query language (SQL) statement that specifies a database query configured to retrieve data for display using the particular graphical data display widget and including a first column value of the dataset for use in rendering the X axis and a second column value of the dataset for use in rendering the Y axis.

5. The method of claim 1 wherein the instructions of the display description specify one or more of a title, subtitle, format, labeling features, grouping and sorting of data, axis display parameters, line display parameters, units and display formats.

6. The method of claim 1 , further comprising generating the display description comprising the unique dataset identifier, and for each particular graphical data display widget among two or more graphical data display widgets, the instructions that specify a widget type, one or more widget configuration values for the particular graphical data display widget, wherein the instructions comprise a set of first instructions of a first widget specify a first ordinal value that is higher in order than a second ordinal value in a set of second instructions of a second widget.

7. The method of claim 1 , further comprising:

using the first computer to detect the change in the data source by detecting a new single table in a particular data storage system;

automatically generating the subset of data from the data source by applying a predetermined schema to the new single table that was detected.

8. A method comprising:

receiving, from a first computer at a second computer, a display description that comprises:

a unique dataset identifier; and

a plurality of instructions that specify a widget type, a display order and one or more widget configuration values for each widget among one or more graphical data display widgets;

wherein the unique dataset identifier identifies a dataset having been generated and formatted to conform with a data format defined by the one or more widget configuration values of the one or more graphical data display widgets, using a subset of data from a data source, and is associated in digital data storage with the unique dataset identifier, in response to detecting a change in data stored in the data source;

wherein the dataset comprises data values representing content to be presented within the one or more graphical data display widgets;

wherein the data format defined by the one or more widget configuration values comprises at least one of a data format for one or more columns that make up the content, data values that make up the content, or names for the set of columns that make up the content;

fetching the dataset based on the unique dataset identifier;

rendering the one or more graphical data display widgets according to each display order, each widget type and the widget configuration values; and

displaying the one or more of graphical data display widgets in a display of the second computer.

9. The method of claim 8 , further comprising rendering the one or more graphical data display widgets as a line chart, a key value chart, or a bar chart based upon the widget type.

10. The method of claim 8 , further comprising:

obtaining, from the instructions of the display description, a structured query language (SQL) statement;

submitting the SQL statement as a database query to the data source;

receiving from the data source particular data for display using the particular graphical data display widget.

11. The method of claim 8 , wherein the widget type of the particular data display widget specifies a line chart having an X axis and a Y axis; the method further comprising:

obtaining, from the instructions of the display description, a structured query language (SQL) statement;

submitting the SQL statement as a database query to the data source;

receiving from the data source particular data for display using the particular graphical data display widget, including a first column value of the dataset for use in rendering the X axis and a second column value of the dataset for use in rendering the Y axis.

12. The method of claim 8 wherein the instructions of the display description specify one or more of a title, subtitle, format, labeling features, grouping and sorting of data, axis display parameters, line display parameters, units and display formats.

13. The method of claim 8 , further comprising:

receiving the display description comprising the unique dataset identifier, and for each particular graphical data display widget among two or more graphical data display widgets, the instructions that specify a widget type, one or more widget configuration values for the particular graphical data display widget, wherein the instructions comprise a set of first instructions of a first widget specify a first ordinal value that is higher in order than a second ordinal value in a set of second instructions of a second widget;

sorting the first ordinal value and the second ordinal value in order;

rendering the second widget first, and the first widget second, based on the first ordinal value and the second ordinal value.

14. The method of claim 8 , further comprising:

generating and displaying a graphical user interface comprising a dashboard notification list and a widget notification list;

wherein the dashboard notification list comprises one or more dashboard notification switches that are programmed to receive input to toggle corresponding notifications on or off for specified notification conditions;

wherein the widget notification list comprises a plurality of selectable list items that are programmed to cause navigating the graphical user interface to a widget notification panel;

generating and displaying, a widget-level notification panel comprising a widget-level notifications list having one or more widget notification switches that are programmed to receive input to toggle corresponding notifications on or off for specified notification conditions pertaining to a specified widget;

determining that a programmed triggering condition has occurred for a particular dashboard notification switch or widget notification switch that is toggled on;

generating a notification in response to determining that a programmed triggering condition has occurred for a particular switch that is toggled on.

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 Aug 3, 2018
From: MALLAH, AMR AL; VISBAL, ALEXANDER; PHILIPSON, DAVID; THOMPSON, JAMES; D'SOUZA, NATASHA; XIE, RYAN; SPIEGEL, WAYNE CHEN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 046553/0036 →