IP Library Granted Patent US 10,866,685
Granted Patent B2
US 10,866,685 · App. 15/836,654 · Granted Dec 15, 2020

System for providing dynamic linked panels in user interface

Inventors: Lindsay Ward (Santa Clara, CA); Derek Cicerone (New York, NY); Punyashloka Biswal (New Haven, CT); Sixin Li (New York, NY); Geoff Cameron (New York, NY); Adam Storr (Palo Alto, CA); Ashwin Ramaswamy (New York, NY)
Assignee: Palantir Technologies Inc.
G06F3/0481G06F16/2425G06F16/24575G06F40/14G06F40/151G06F40/186G09G5/14G09G2354/00
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,866,685
App. No.
15/836,654
Granted
Dec 15, 2020
Kind
B2
Abstract

A computer system may be configured to: execute a first query associated with a first panel; display the first panel in a user interface based on first display settings of the first panel, the first panel displaying at least a portion of the result of the first query, the result of the first query associated with a variable; execute a second query associated with a second panel, wherein the second query refers to the variable associated with the first query; display the second panel in the user interface based on second display settings of the second panel, the second panel displaying at least a portion of the result of the second query; and in response to user input changing the displayed result in the first panel: re-execute the second query; and update the display of the second panel in the user interface based on results of the re-executed second query.

Claims (35)

1. A computer system configured to display data from one or more data sources, the computer system comprising:

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

provide a first user interface configured to display a first panel associated with a first query and a second panel associated with a variable, wherein the variable is also associated with the first query, and wherein the first query comprises at least a first section of code written in a template syntax and a second section of code written in a programming language;

receive a first user interaction with the second panel;

update a value of the variable associated with both the second panel and the first query, based at least in part on the first user interaction;

execute the first query associated with the first panel to cause first data to be retrieved from the one or more data sources;

update the first panel in the first user interface to include at least a portion of the first data retrieved from the one or more data sources; and

in response to a second user interaction with at least one of the first panel or the second panel, execute a second query comprising a third section of code written in the programming language and a fourth section of code written in the template syntax, wherein the third section of code includes an instruction to write new information to the one or more data sources, and wherein the fourth section of code comprises a function call on a parameter referencing the new information.

2. The computer system of claim 1 , wherein the template syntax comprises at least one of: Handlebars, Mustache, or a semantic template language.

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

write the new information to the one or more data sources.

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

process the parameter according to the function call before executing the third section of code.

5. The computer system of claim 4 , wherein processing the parameter according to the function call comprises:

storing the new information in an array; and

replacing a coding of the third section of code with different code.

6. The computer system of claim 5 , wherein processing the parameter according to the function call further comprises:

preserving a type of the new information.

7. The computer system of claim 4 , wherein processing the parameter according to the function call further comprises:

changing the parameter to have a string format.

8. The computer system of claim 3 , wherein Java DataBase Connectivity (JDBC) code is used to write the new information to the one or more data sources.

9. The computer system of claim 1 , wherein the function call is written in the template syntax.

10. The computer system of claim 1 , wherein:

the first panel is referenced as a template that is rendered by a template engine, and

the function call is registered with the template engine.

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

prior to executing the first query associated with the first panel, invoke one or more functions to determine whether a table, row, or a column referenced in the first query exists in the one or more data sources.

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

generate the first user interface according to a style defined in a cascading style sheet,

wherein the first user interface is configured to display the first panel according to first display settings associated with the first panel, the first display settings configured to format the first data as part of at least one of: a chart, a control, a map, a table, or a text box.

13. The computer system of claim 1 , wherein the programming language comprises Structured Query Language (SQL) or JavaScript Object Notation (JSON).

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

display the second panel in the first user interface according to display settings associated with the second panel.

15. The computer system of claim 14 , wherein the variable is included in the first section of code in first query.

16. The computer system of claim 14 , wherein execution of the first query is altered based on the update to the value of the variable associated with both the second panel and the first query.

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 Jan 29, 2018
From: WARD, LINDSAY; CICERONE, DEREK; BISWAL, PUNYASHLOKA; LI, SIXIN; CAMERON, GEOFF; STORR, ADAM; RAMASWAMY, ASHWIN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 044759/0678 →
Cited By (1)
US 12,204,527