IP Library Granted Patent US 9,335,911
Granted Patent B1
US 9,335,911 · App. 14/858,647 · Granted May 10, 2016

Interactive user interface for dynamic data analysis exploration and query processing

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 9,335,911
App. No.
14/858,647
Granted
May 10, 2016
Kind
B1
Abstract

The systems and methods described herein provide highly dynamic and interactive data analysis user interfaces which enable data analysts to quickly and efficiently explore large volume data sources. In particular, a data analysis system, such as described herein, may provide features to enable the data analyst to investigate large volumes of data over many different paths of analysis while maintaining detailed and retraceable steps taken by the data analyst over the course of an investigation, as captured via the data analyst's queries and user interaction with the user interfaces provided by the data analysis system. Data analysis paths may involve exploration of high volume data sets, such as Internet proxy data, which may include trillions of rows of data. The data analyst may pursue a data analysis path that involves, among other things, applying filters, joining to other tables in a database, viewing interactive data visualizations, and so on.

Claims (48)

1. A computer system comprising:

one or more hardware computer processors configured to execute software code;

a non-transitory storage medium storing software modules configured for execution by the one or more hardware computer processors, the software modules comprising at least:

a user interface module configured to receive, during a data analysis session associated with a user, a plurality of user interaction data associated with a current interactive data visualization and indicating an additional data visualization requested by the user, by:

generating a data analysis workflow user interface comprising a first user interface display element that presents a first data set in a first interactive data visualization;

receiving first user interaction data for a user interaction with the first interactive data visualization, wherein the user interaction data is indicative of a user selection of a data element from the first data set;

automatically generating, based on the selected data element, a query to apply to the first data set;

receiving second user interaction data for a second user interaction with the data analysis workflow user interface, wherein the second user interaction is indicative of a user request to generate a second interactive data visualization;

accessing a second data set generated by application of the query to the first data set;

generating a second user interface display element that presents the second data set in the user-requested second interactive data visualization; and

updating the data analysis workflow user interface to include the second user interface display element,

wherein the data analysis workflow user interface indicates multiple analysis paths for the data analysis session and interactive data visualizations including at least two of a time series view, a time grid view, a pivot table view, a data summary view, or a user interface control providing the ability to link to another table in a database.

2. The system of claim 1 , wherein the query comprises one or more filters to apply to the first data set, wherein the one or more filters are based on the first one or more data elements.

3. The system of claim 1 , wherein the query comprises a join operation to be performed with respect to a third data set distinct from the first and second data sets.

4. The system of claim 1 , wherein the first one or more data elements comprise a range of values.

5. The system of claim 1 , wherein the user interface module is further configured to:

generate an analysis path user interface control element, wherein the analysis path user interface control element comprises at least a first user-selectable node and a second user-selectable node,

wherein the first node is associated with the first data set and user selection of the first node is operative to update the data analysis workflow user interface to display the first user interface display element, and

wherein the second node is associated with the second data set and user selection of the second node is operative to update the data analysis workflow user interface to display the second user interface display element.

6. A computer-implemented method comprising:

under control of a hardware computing device configured with specific computer executable instructions:

generating a data analysis workflow user interface comprising at least a user-selectable menu of data visualizations to generate with respect to a base result data set;

receiving, for a data analysis session associated with a user, a plurality of data requests, wherein each data request specifies a data set operation to execute with respect to the base result data set, and wherein each subsequent data request specifies a user-selected data visualization to generate with respect to a preceding result data set, wherein the data analysis session includes multiple analysis paths and user-selected data visualizations including at least two of a time series view, a time grid view, a pivot table view, a data summary view, or a user interface control providing the ability to link to another table in a database;

generating respective user-selected data visualizations associated with the plurality of data requests;

updating the data analysis workflow user interface to display the respective user-selected data visualizations;

generating, for the data analysis session associated with the user, an analysis path user interface control element, wherein the analysis path user interface control element comprises a plurality of user-selectable nodes, wherein the plurality of nodes corresponds to the plurality of data requests received for the data analysis session, and wherein the analysis path user interface control element is updated when respective user-selected data visualizations are generated for the data analysis session; and

responsive to a user-selection of a node in the analysis path user interface control element, updating the data analysis workflow user interface to re-display the respective user-selected data visualization associated with the selected node.

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

receiving, for the data analysis session, a new data request, wherein each data request specifies a data set operation to execute with respect to the preceding result data set presented in the redisplayed user-selected data visualization;

generating a new data visualization associated with the new data request;

updating the data analysis workflow user interface to display the new data visualization; and

updating the analysis path user interface control element to include an additional node corresponding to the new data request relative to the selected node.

8. The computer-implemented method of claim 6 , wherein the analysis path user interface control element comprises a data request summary display element presenting, for each respective node, information about the data set operation to execute with respect to the base result data set for the respective data request.

9. The computer-implemented method of claim 6 , wherein the analysis path user interface control element is presented in the data analysis workflow user interface.

10. The computer-implemented method of claim 6 , wherein the analysis path user interface control element is presented in a popover display user interface.

11. A non-transitory storage medium storing software modules configured for execution by one or more hardware computer processors of a computing system, the software modules comprising at least:

a user interface module configured to receive, during a data analysis session associated with a user, a plurality of user interaction data associated with a current interactive data visualization and indicating an additional data visualization requested by the user, by:

generating a data analysis workflow user interface comprising a first user interface display element that presents a first data set in a first interactive data visualization;

receiving first user interaction data for a user interaction with the first interactive data visualization, wherein the user interaction data is indicative of a user selection of a data element from the first data set;

automatically generating, based on the selected data element, a query to apply to the first data set;

receiving second user interaction data for a second user interaction with the data analysis workflow user interface, wherein the second user interaction is indicative of a user request to generate a second interactive data visualization;

accessing a second data set generated by application of the query to the first data set;

generating a second user interface display element that presents the second data set in the user-requested second interactive data visualization; and

updating the data analysis workflow user interface to include the second user interface display element,

wherein the data analysis workflow user interface indicates multiple analysis paths for the data analysis session and interactive data visualizations including at least two of a time series view, a time grid view, a pivot table view, a data summary view, or a user interface control providing the ability to link to another table in a database.

12. The non-transitory storage medium of claim 11 , wherein the query comprises one or more filters to apply to the first data set, wherein the one or more filters are based on the first one or more data elements.

13. The non-transitory storage medium of claim 11 , wherein the query comprises a join operation to be performed with respect to a third data set distinct from the first and second data sets.

14. The non-transitory storage medium of claim 11 , wherein the first one or more data elements comprise a range of values.

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 Oct 7, 2015
From: ELLIOT, MARK; DUFFIELD, BENJAMIN; BOROCHOFF, ADAM
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 036752/0744 →