IP Library Granted Patent US 11,487,720
Granted Patent B2
US 11,487,720 · App. 16/138,754 · Granted Nov 1, 2022

Unified data model and interface for databases storing disparate types of data

Inventors: Peter Wilczynski (San Francisco, CA); Sharon Hao (Redwood City, CA); Will Deuschle (Orchard Park, NY); Ernest Zeidman (Palo Alto, CA)
Assignee: Palantir Technologies Inc.
G06F16/212G06F16/248G06F16/288
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,487,720
App. No.
16/138,754
Granted
Nov 1, 2022
Kind
B2
Abstract

Systems, methods, and non-transitory computer readable media may be configured to access first database and a second database. The first database may be structured for a first data type, and may include a first data of the first data type. The second database may be structured for a second data type different from the first datatype, and may include a second data of the second data type. The second data may be associated with the first data. A first information request relating to the first data and a second information request relating to the second data may be received. A first response to the first information request may be determined based on the second data. A second response to the second information request may be determined based on the first data. An interface, through which the first response or the second response is accessible, may be provided.

Claims (60)

1. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

storing first data of a first data type in a first database that is structured for the first data type, the first database being associated with a first ontology;

storing second data of a second data type different from the first data type in a second database that is structured for the second data type, wherein the second data is generated at a higher rate than the first data, and the second database is associated with a second ontology different from and incompatible with the first ontology;

receiving a first information request relating to a first entity represented by a first object in the first data, the first information request being associated with at least one of a location-based attribute of the first entity, a time-based attribute of the first entity, or a relationship attribute that defines a relationship between the first entity and a second entity represented by a second object in the first data;

determining a first response to the first information request based on the second data, the processing comprising:

obtaining, from sources having respective accuracy levels, pieces of attribute data associated with the first entity from the second data, the pieces of attribute data comprising at least one of the location-based attribute of the first entity, the time-based attribute of the first entity, or the relationship attribute;

assigning respective weights to the pieces of attribute data based at least in part on corresponding accuracy levels; and

generating pieces of interpolated attribute data by interpolating the pieces of attribute data based on the respective assigned weights;

receiving a second information request relating to the second data;

determining a second response to the second information request based on the first data; and

providing a merged view of the first response and the second response by incorporating at least a portion of the first data and at least a portion of the second data in order to facilitate a meeting detection operation or a location detection operation relating to the first entity.

2. The system of claim 1 , wherein the first database includes an object database and the second database includes a high-scale time series database.

3. The system of claim 2 , wherein the object database includes objects representing entities and links between the objects that represent connections between the entities.

4. The system of claim 3 , wherein the connections between the entities include at least one of: a user-defined connection and a suggested connection.

5. The system of claim 2 , wherein the high-scale time series database is used for data transformation and data enrichment.

6. A method implemented by a computing system including one or more processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:

storing first data of a first data type in a first database that is structured for the first data type, the first database being associated with a first ontology;

storing second data of a second data type different from the first data type in a second database that is structured for the second data type, wherein the second data is generated at a higher rate than the first data, and the second database is associated with a second ontology different from and incompatible with the first ontology;

receiving a first information request relating to a first entity represented by a first object in the first data, the first information request being associated with at least one of a location-based attribute of the first entity, a time-based attribute of the first entity, or a relationship attribute that defines a relationship between the first entity and a second entity represented by a second object in the first data;

determining a first response to the first information request based on the second data the processing comprising:

obtaining, from sources having respective accuracy levels, pieces of attribute data associated with the first entity from the second data, the pieces of attribute data comprising at least one of the location-based attribute of the first entity, the time-based attribute of the first entity, or the relationship attribute;

assigning respective weights to the pieces of attribute data based at least in part on corresponding accuracy levels; and

generating pieces of interpolated attribute data by interpolating the pieces of attribute data based on the respective assigned weights;

receiving a second information request relating to the second data;

determining a second response to the second information request based on the first data; and

providing a merged view of the first response and the second response by incorporating at least a portion of the first data and at least a portion of the second data in order to facilitate a meeting detection operation or a location detection operation relating to the first entity.

7. The method of claim 6 , wherein the first database includes an object database and the second database includes a high-scale time series database.

8. The method of claim 7 , wherein the object database includes objects representing entities and links between the objects that represent connections between the entities.

9. The method of claim 8 , wherein the connections between the entities include at least one of: a user-defined connection and a suggested connection.

10. The method of claim 7 , wherein the high-scale time series database is used for data transformation and data enrichment.

11. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

storing first data of a first data type in a first database that is structured for the first data type, the first database being associated with a first ontology;

storing second data of a second data type different from the first data type in a second database that is structured for the second data type, wherein the second data is generated at a higher rate than the first data, and the second database is associated with a second ontology different from and incompatible with the first ontology;

receiving a first information request relating to a first entity represented by a first object in the first data, the first information request being associated with at least one of a location-based attribute of the first entity, a time-based attribute of the first entity, or a relationship attribute that defines a relationship between the first entity and a second entity represented by a second object in the first data;

determining a first response to the first information request based on the second data, the processing comprising:

obtaining, from sources having respective accuracy levels, pieces of attribute data associated with the first entity from the second data, the pieces of attribute data comprising at least one of the location-based attribute of the first entity, the time-based attribute of the first entity, or the relationship attribute;

assigning respective weights to the pieces of attribute data based at least in part on corresponding accuracy levels; and

generating pieces of interpolated attribute data by interpolating the pieces of attribute data based on the respective assigned weights;

receiving a second information request relating to the second data;

determining a second response to the second information request based on the first data; and

providing a merged view of the first response and the second response by incorporating at least a portion of the first data and at least a portion of the second data in order to facilitate a meeting detection operation or a location detection operation relating to the first entity.

12. The non-transitory computer readable medium of claim 11 , wherein the first database includes an object database and the second database includes a high-scale time series database.

13. The non-transitory computer readable medium of claim 12 , wherein the object database includes objects representing entities and links between the objects that represent connections between the entities.

14. The system of claim 1 , wherein the second data comprises multiple different types of geo-temporal data, and wherein the providing of the merged view comprises displaying at least two selected from a group consisting of: the location-based attribute, the time-based attribute, and the relationship attribute using a same type of user interface tool.

15. The system of claim 1 , wherein the second data comprises location data generated by a location sensor associated with the first entity, the location data comprising a heading, velocity, and acceleration of the first entity.

16. The system of claim 1 , wherein the first database further comprises one or more links from the first object to other objects; and the instructions further cause the system to perform:

training a machine learning model to infer additional links among the other objects based on the one or more links; and

receiving feedback regarding the inferred additional links to refine the machine learning model.

17. The system of claim 1 , wherein the instructions further cause the system to perform:

training a machine learning model to infer links among objects in the first database based on one or more removals in links among a subset of the objects in the first database.

18. The system of claim 1 , wherein the instructions further cause the system to perform:

predicting links between objects in the first database based on the second data in the second database;

receiving feedback regarding the predicted links to refine future predictions of links.

19. The system of claim 1 , wherein the providing of the merged view comprises:

using a first icon type, first location information of the first entity from the second database,

using a second icon type, second location information of the first entity from the second database that is manually inputted;

using a third icon type, third location information of the first entity extracted from an external source separate from the second database; and

using a fourth icon type, fourth location information of the first entity generated by interpolation of the first location information, the second location information, and the third location information.

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 23, 2018
From: WILCZYNSKI, PETER; HAO, SHARON; ZEIDMAN, ERNEST; DEUSCHLE, WILL
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 047283/0185 →
Continuity (2)
Provisional Application 62668675 · May 8, 2018
Related Publication 20190347340A1 · Nov 14, 2019
Cited By (1)
US 12,386,836