IP Library Granted Patent US 10,719,527
Granted Patent B2
US 10,719,527 · App. 15/335,903 · Granted Jul 21, 2020

Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores

Inventors: Ankit Shankar (Millbrae, CA); Andrew Ash (Menlo Park, CA); Geoff Stowe (San Francisco, CA); Thomas Petracca (New York, NY); Benjamin Duffield (London, GB)
Assignee: Palantir Technologies Inc.
G06F16/252G06F16/22G06F16/242G06F16/248G06F16/2425G06F16/2452G06F16/2455G06F16/2471G06F16/256G06F16/322G06F16/9024
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,719,527
App. No.
15/335,903
Granted
Jul 21, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to a computer system and interactive user interfaces configured to enable efficient and rapid access to multiple different data sources simultaneously, and by an unskilled user. The unskilled user may provide simple and intuitive search terms to the system, and the system may thereby automatically query multiple related data sources of different types and present results to the user. Data sources in the system may be efficiently interrelated with one another by way of a mathematical graph in which nodes represent data sources and/or portions of data sources (for example, database tables), and edges represent relationships among the data sources and/or portions of data sources. For example, edges may indicate relationships between particular rows and/or columns of various tables. The table graph enables a compact and memory efficient storage of relationships among various disparate data sources.

Claims (39)

1. A computer system configured to link data tables, the computer system comprising:

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

provide a user interface configured to simultaneously display at least a first panel and a second panel, wherein:

the first panel is configured to provide selectable indications of data tables,

the second panel is configured to provide visual indications of relationships among data tables, and

in the second panel, tables are indicated by nodes and relationships between tables are indicated by edges connecting nodes;

in response to a first user input from a user selecting a first data table in the first panel, add a first node to the second panel, wherein the first node represents the first data table;

in response to a second user input from the user selecting a second data table in the first panel, add a second node to the second panel, wherein the second node represents the second data table;

in response to a third user input from the user indicating a relationship between the first data table and the second data table, provide, in the second panel of the user interface, a first edge connecting the first node and the second node, wherein:

the first edge indicates a relationship between at least one field of the first data table and at least one field of the second data table,

a type of the relationship between the at least one field of the first data table and the at least one field of the second data table is indicated in the second panel by way of the first edge,

the first node, second node, and first edge provided in the second panel are representative of a table graph, and

the table graph is executable in order to access data stored in the first data table and subsequently data in the second data table based at least partly on the data stored in the first data table; and

in response to a fourth user input, execute a search query based at least in part on executing the table graph including the relationship between the at least one field of the first data table and the at least one field of the second data table represented by the first edge.

2. The computer system of claim 1 , wherein the first user input comprises a selection and drag of a visual representation of the first data table from the first panel to the second panel.

3. The computer system of claim 1 , wherein the first data table and the second data table are of different types.

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

in response to a fifth user input selecting a third data table as indicated in the first panel, add a third node to the second panel that represents the third data table; and

provide, in the second panel of the user interface, a second edge connecting the third node and at least one of the first node or the second node, wherein the second edge indicates a relationship between the third data table and at least one of the first data table or the second data table corresponding to the at least one of the first node or the second node.

5. A computer-implemented method for linking data tables, the method comprising:

by one or more hardware processors executing program instructions:

providing a user interface configured to simultaneously display at least a first panel and a second panel, wherein:

the first panel is configured to provide selectable indications of data tables,

the second panel is configured to provide visual indications of relationships among data tables, and

in the second panel, tables are indicated by nodes and relationships between tables are indicated by edges connecting nodes;

in response to a first user input from a user selecting a first data table in the first panel, adding a first node to the second panel, wherein the first node represents the first data table;

in response to a second user input from the user selecting a second data table in the first panel, adding a second node to the second panel, wherein the second node represents the second data table;

in response to a third user input from the user indicating a relationship between the first data table and the second data table, providing, in the second panel of the user interface, a first edge connecting the first node and the second node, wherein:

the first edge indicates a relationship between at least one field of the first data table and at least one field of the second data table,

a type of the relationship between the at least one field of the first data table and the at least one field of the second data table is indicated in the second panel by way of the first edge,

the first node, second node, and first edge provided in the second panel are representative of a table graph, and

the table graph is executable in order to access data stored in the first data table and subsequently data in the second data table based at least partly on the data stored in the first data table; and

in response to a fourth user input, executing a search query based at least in part on executing the table graph including the relationship between the at least one field of the first data table and the at least one field of the second data table represented by the first edge.

6. The computer-implemented method of claim 5 , wherein the user input comprises a selection and drag of a visual representation of the first data table from the first panel to the second panel.

7. The computer-implemented method of claim 5 , wherein the first data table and the second data table are of different types.

8. The computer-implemented method of claim 5 further comprising:

by the one or more hardware processors executing program instructions:

in response to a fifth user input selecting a third data table as indicated in the first panel, adding a third node to the second panel that represents the third data table; and

providing, in the second panel of the user interface, a second edge connecting the third node and at least one of the first node or the second node, wherein the second edge indicates a relationship between the third data table and at least one of the first data table or the second data table corresponding to the at least one of the first node or the second node.

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 28, 2016
From: SHANKAR, ANKIT; ASH, ANDREW; STOWE, GEOFF; PETRACCA, THOMAS; DUFFIELD, BENJAMIN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 040161/0331 →
Continuity (4)
Continuation 14815459 · Jul 31, 2015
Continuation 14504103 · Oct 1, 2014
Provisional Application 61893080 · Oct 18, 2013
Related Publication 20170046349A1 · Feb 16, 2017
Cited By (1)
US 12,367,222