IP Library Granted Patent US 9,454,281
Granted Patent B2
US 9,454,281 · App. 14/841,338 · Granted Sep 27, 2016

System for providing dynamic linked panels in user interface

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,454,281
App. No.
14/841,338
Granted
Sep 27, 2016
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 (34)

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 in order to cause the system to:

generate a first user interface configured to display a plurality of panels including a first panel and a second panel, wherein the first panel has a first display setting and is also programmed with a first query for accessing the one or more data sources, and wherein the second panel has a second display setting and is also programmed with a second query for accessing the one or more data sources;

generate a second user interface configured to display at least one of:

a listing of variables including a first variable associated with the first panel, or

a coding of the second query that comprises a first section of code that comprises the identifier of the first variable, wherein the second query is written in a first programming language and the first section of code is written in a template syntax;

in response to a first user input received via the first user interface:

execute a first query associated with the first panel to retrieve first data from the one or more databases, the execution of the first query also causing the first variable associated with the first panel to be defined with a first value;

display the first panel in the first user interface based on the first display settings of the first panel, the first panel displaying at least a portion of the first data retrieved by the first query;

execute a second query associated with the second panel to retrieve second data from the one or more databases, wherein the second data is retrieved, based at least in part, on the first value of the first variable associated with the first query of the first panel; and

display the second panel in the first user interface based on the second display settings, the second panel displaying at least a portion of the second data retrieved by the second query;

in response to a second user input received via the first user interface and changing the first variable associated with the first panel to be defined with a second value:

re-execute the second query associated with the second panel to retrieve third data from the one or more databases, wherein the third data is retrieved, based at least in part, on the second value of the first variable associated with the first query of the first panel; and

update the display of the second panel in the first user interface based on the third data retrieved by the re-executed second query of the second panel;

display code of a third query that is associated with any panel, the third query being written in the first programming language, the third query comprising:

an instruction to write new information to the one or more databases, wherein the new information includes a second variable; and

a second section of code written in the template syntax, the second section of code comprising a function call on a parameter, the parameter being the second variable; and

in response to a third user input received via the second user interface, the third user input providing a value for the second variable:

cause the function call to pre-process the second section of code;

cause the value of the second variable to be stored in an array;

cause the second section of code written in the template syntax to be replaced with a placeholder; and

cause execution of the third query in the first programming language to write the new information to the one or more data sources.

2. The system of claim 1 , wherein the one or more hardware computer processors are further configured to execute code in order to cause the system to, further in response to the third user input received via the second user interface, change a format of the second variable to be a string format.

3. The system of claim 1 , wherein each of the plurality of panels is referenced as a template that is rendered by a template engine, and the function is registered with the template engine.

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

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

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

generate the first user interface according to a style defined in a cascading style sheet, and wherein the first display setting comprises code to format the portion of the first data retrieved by the first query as at least one of: a chart, a control, a map, a table, or a text box.

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

7. The system of claim 6 , wherein the function is written in the template syntax.

8. The system of claim 6 , wherein the first programming language comprises Structured Query Language (SQL) or JavaScript Object Notation (JSON).

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

in response to causing the function call to pre-process the second section of code, executing a Java DataBase Connectivity (JDBC) code to write the new information to the one or more data sources.

10. The system of claim 9 , wherein the one or more hardware computer processors are further configured to execute code in order to cause the system to, in response to the third user input received via the second user interface, preserve a type of the value of the second variable that is stored in the array.

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 Sep 1, 2015
From: WARD, LINDSAY; CICERONE, DEREK; BISWAL, PUNYASHLOKA; LI, SIXIN; CAMERON, GEOFF; STORR, ADAM; RAMASWAMY, ASHWIN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 036468/0353 →