IP Library Granted Patent US 11,100,174
Granted Patent B2
US 11,100,174 · App. 16/049,605 · Granted Aug 24, 2021

Simple web search

Inventors: Caitlin Colgrove (Palo Alto, CA); Gregory Martin (Oakland, CA); Javier Campanini (Mountain View, CA)
Assignee: Palantir Technologies Inc.
G06F16/951G06F16/245G06F16/2425G06F16/2448G06F16/903G06F16/958
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 11,100,174
App. No.
16/049,605
Granted
Aug 24, 2021
Kind
B2
Abstract

A system of one or more computing devices is utilized for, among other purposes, creating a template-driven search interface and conducting searches thereon. In an embodiment, the system comprises: a template repository; search templates in the template repository, the search templates comprising at least: field specification data that specify search interface fields for obtaining search input data, and query specification data that specify how to generate structured queries based on the search input data obtained for the one or more of the search interface fields; a search field generator that generates search fields indicated by the field specification data; a template loading module, coupled to the template repository, that identifies available search templates in the template repository; and a search interface generator, coupled to the search field generator and template loading module, that generates different search interfaces depending on which template is selected.

Claims (54)

1. A system comprising:

one or more processors configured to:

receive, from a client, a selection of a particular template of a plurality of templates, the particular template comprising a plurality of properties;

create a form that comprises a control and a field, the control for selecting a particular property of the plurality of properties of the particular template, and the field for receiving a corresponding particular input to be compared against values corresponding to the particular property, the values in one or more data structures of one or more data sources; and

send the form to the client.

2. The system of claim 1 , wherein the particular template further specifies a comparison operation between the corresponding particular input and the values corresponding to the particular property in the one or more data structures or metadata for the one or more data structures to be searched in the one or more data sources.

3. The system of claim 2 , wherein the particular template further comprises query specification data, and wherein the one or more processors are configured to use the query specification data to generate a structured query comprising a first clause that specifies how the corresponding particular input is compared to the one or more data structures when conducting a search.

4. The system of claim 3 , wherein the one or more processors are configured to translate the structured query into respective data source-specific query strings for the one or more data sources.

5. The system of claim 3 , wherein the structured query further comprises: a particular search filter with a required value and/or data structure type indicated by the query specification data, wherein a hidden field from the form specifies the particular search filter.

6. The system of claim 1 , wherein:

said field is a first field;

the one or more processors are further configured to create the form that comprises the first field and a second field;

wherein the particular template further specifies how search input received via the first field and the second field is compared to the one or more data structures in the one or more data sources.

7. The system of claim 6 , wherein the particular template further comprises query specification data, and wherein the one or more processors are configured to use the query specification data to generate a structured query comprising:

a first clause based on a first input from the first field;

a second clause based on a second input from the second field; and

a logical operator that specifies a relationship between the first clause and the second clause.

8. A system comprising:

one or more processors configured to execute a search application, the search application configured to:

select a template of a plurality of templates, each template comprising a plurality of properties;

send an indication of a selected template to a server;

receive, from the server in response to sending the indication of the selected template to the server, a form, the form comprising a field for receiving a corresponding particular input and a control for selecting a particular property of the plurality of properties to which the corresponding particular input is to be compared;

generate a query comprising a selected particular property of the plurality of properties and the corresponding particular input which is to be compared against values corresponding to the selected particular property, the values in one or more data structures of one or more data sources; and

communicate the query to one or more search adapters to execute the query on the values in one or more data structures of one or more data sources.

9. The system of claim 8 , wherein the selected template further specifies a comparison operation between the corresponding particular input and the values corresponding to the particular property in the one or more data structures or metadata for the one or more data structures to be searched in the one or more data sources.

10. The system of claim 9 , wherein the selected template further comprises query specification data, wherein the search application is configured to use the query specification data to generate the query comprising a first clause that specifies how the corresponding particular input is compared to the values in the one or more data structures when conducting a search.

11. The system of claim 10 , further comprising the one or more processors configured to execute the one or more search adapters, which are configured to translate the query into respective data source-specific query strings for the one or more data sources.

12. The system of claim 10 , wherein the query further comprises: a particular search filter with a required value and/or data structure indicated by the query specification data, wherein a field hidden from the form specifies the particular search filter.

13. The system of claim 8 , wherein:

said field is a first field;

the search application is further configured receive and to present the form comprising the first field and a second field;

wherein the selected template further specifies how search input received via the first field and the second field is compared to the one or more data structures in the one or more data sources.

14. The system of claim 13 , wherein the selected template further comprises query specification data, and wherein the search application is configured to use the query specification data to generate the query comprising:

a first clause based on a first input from the first field;

a second clause based on a second input from the second field; and

a logical operator that specifies a relationship between the first clause and the second clause.

15. A method comprising:

receiving, from a client at a server, a selection of a particular template of a plurality of templates, the particular template comprising a plurality of properties;

creating, at the server, a form that includes a field and a control, the control for selecting a particular property of the plurality of properties of the particular template, and the field for receiving a corresponding particular input to be compared against values corresponding to the particular property, the values in one or more data structures of one or more data sources;

sending, from the server to the client, the form;

wherein the method is performed using one or more processors.

16. The method of claim 15 , wherein the particular template further specifies a comparison operation between the corresponding particular input and the values corresponding to the particular property in the one or more data structures or metadata for the one or more data structures to be searched in the one or more data sources.

17. The method of claim 16 , wherein the particular template further comprises query specification data used to generate a structured query comprising a first clause that specifies how the corresponding particular input is compared to the one or more data structures when conducting a search.

18. The method of claim 17 , further comprising:

translating the structured query into respective data source-specific query strings for the one or more data sources.

19. The method of claim 17 , wherein the structured query further comprises: a particular search filter with a required value and/or data structure type indicated by the query specification data, wherein a hidden field from the form specifies the particular search filter.

20. The method of claim 15 , wherein:

said field is a first field;

the form includes a second field;

the particular template further specifies a logical operator; and

wherein the method further comprises, generating a structured query comprising:

a first clause based on a first input from the first field;

a second clause based on a second input from the second field; and

the logical operator that specifies a relationship between the first clause and the second clause.

Assignments (7)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
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 →
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: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →
Continuity (4)
Continuation 14985201 · Dec 30, 2015
Continuation 14487342 · Sep 16, 2014
Continuation 14077159 · Nov 11, 2013
Related Publication 20190026368A1 · Jan 24, 2019