IP Library Granted Patent US 11,573,970
Granted Patent B2
US 11,573,970 · App. 16/261,369 · Granted Feb 7, 2023

Database system for time series data storage, processing, and analysis

Inventors: Ankit Shankar (Redwood City, CA); Kirat Singh (New York, NY); Kayo Teramoto (San Francisco, CA); Lucas Lemanowicz (New York, NY); Thomas Hasner (New Brunswick, NJ)
Assignee: Palantir Technologies Inc.
G06F16/2477G06F9/451G06F16/244G06F16/2465G06F16/26G06F16/335H04L67/12H04W4/38G06F17/18
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,573,970
App. No.
16/261,369
Granted
Feb 7, 2023
Kind
B2
Abstract

A system includes a communications interface configured to receive a plurality of data series captured by a plurality of sensors. A first database includes at least a first data series of the plurality of data series. A second database includes metadata related to the first data series. One or more processors are configured to receive an instruction including an indication of a computation to perform and metadata filter criteria, query the second database to determine at least a portion of the first data series that satisfies the metadata filter criteria by reference to at least the metadata related to the first data series, access, from the first database and based on results of the query of the second database, the portion of the first data series, and perform the computation on the portion of first data series accessed from the first database.

Claims (61)

1. A system comprising:

a communications interface configured to receive a plurality of data series, the plurality of data series including time series data captured by a plurality of sensors;

one or more storage devices configured to store:

a first database storing a plurality of sets of time series data in a plurality of storage devices; and

a second database storing metadata related to the plurality of sets of time series data, the metadata including information for locating sets of time series data from the first database and properties of the sets of time series data; and

one or more processors configured to:

receive, via a user input to a user interface, an indication of metadata filter criteria useable for filtering the sets of time series data based on the properties of the sets of time series data;

determine, based on the stored metadata in the second database, a number of subsets of the sets of time series data satisfying the metadata filter criteria;

provide an indication, for display in the user interface, of the number of subsets;

access the second database to identify, based on the stored metadata, the determined subsets of the sets of time series data that satisfy the metadata filter criteria and information for locating the determined subsets in the first database;

receive an instruction including an indication of a computation;

access the determined subsets from the first database; and

perform the computation using at least one of the determined subsets accessed from the first database.

2. The system of claim 1 , wherein the one or more processors are further configured to:

query the second database to determine at least a second subset of the sets of time series data that satisfies the metadata filter criteria;

access, from the first database and based on results of the query of the second database, the second subset of time series data; and

determine one or more portions of the second subset of time series data that satisfy a threshold criteria.

3. The system of claim 2 , wherein the subset corresponds in time with the one or more portions of the second subset of time series data that satisfies the threshold criteria.

4. The system of claim 1 , wherein the time series data includes measurements captured by a plurality of data measurement sensors for a plurality of trials, and wherein the plurality of data measurement sensors includes different data measurement sensors that make different types of measurements.

5. The system of claim 1 , wherein the properties of the sets of time series data include: properties of devices associated with the sensors and configuration of the devices being tested during trials.

6. The system of claim 1 , wherein the information for locating sets of time series data from the first database includes at least one of: a storage location of, a reference to, or an identifier of particular sets of time series data.

7. The system of claim 1 , wherein the metadata includes a first metadata field that applies to entire sets of time series data and a second metadata field that applies to less than an entirety of the sets of time series data.

8. The system of claim 1 , wherein the determined subsets are identified, based on the stored metadata, to satisfy the metadata filter criteria without accessing the first database.

9. The system of claim 1 , wherein the computation includes determining at least one of: a maximum, average, count, specific values, correlation, or standard deviation.

10. The system of claim 1 , wherein:

the one or more processors are configured to transmit data to a user interface configured to show a grid representing a quantity of the plurality of time series data in the first database; and

the one or more processors are configured to transmit data to the user interface to update, in response to receiving the indication of metadata filter criteria, the grid to show a quantity of and storage distribution of time series data in the second database that satisfy the indication of metadata filter criteria as a highlighted proportion of the grid.

11. A computer system comprising:

one or more computer readable storage devices configured to store one or more software modules including computer executable instructions; and

one or more hardware computer processors in communication with the one or more computer readable storage devices and configured to execute the computer executable instructions in order to cause the computer system to:

query a first database in a server for available metadata fields associated with a plurality of sets of time series data stored in a second database, the time series data including measurements generated by one or more sensors;

cause a display, in a user interface, of a representation of a number of sets of time series data associated with a plurality of metadata fields in the first database;

receive a selection, via the user interface, of a metadata filter criteria comprising a subset of the available metadata fields;

transmit, to the server, an indication of the selected metadata filter criteria for the server to access the first database to identify, based on the available metadata fields stored in the first database, a subset of the plurality of sets of time series data that satisfy the selected metadata filter criteria and information for locating the subset in the second database;

send, to the server, an indication of an aggregate analysis;

receive, from the server, a result of the aggregate analysis performed on the subset; and

cause display of a graphical visualization of the result.

12. The computer system of claim 11 , wherein the one or more hardware computer processors are further configured to execute the computer executable instructions in order to cause the computer system to:

cause a display of a representation of a number of sets of time series data associated with a first metadata field in the first database; and

cause a display of a representation of a number of sets of time series data that are both associated with the first metadata field and satisfy the filter criteria.

13. The computer system of claim 11 , wherein the one or more hardware computer processors are further configured to execute the computer executable instructions in order to cause the computer system to:

cause a display of a representation of a number of data series associated with the selected metadata filter criteria in the first database.

14. The computer system of claim 11 , wherein the aggregate analysis is a correlation analysis.

15. The computer system of claim 11 , wherein the server identifies the subset of the plurality of sets of time series data that satisfy the selected metadata filter criteria without accessing the second database.

16. The computer system of claim 11 , wherein the graphical visualization is an X-Y scatterplot that depicts a third dimension with colored data points.

17. The computer system of claim 11 , wherein the one or more hardware computer processors are further configured to execute the computer executable instructions in order to cause the computer system to:

after a new set of time series data is stored in the second database, send a second request for the server to perform the aggregate analysis on the plurality of time series data stored in the second database that satisfy the filter criteria, wherein the new set of time series data satisfies the filter criteria;

receive a second result of the aggregate analysis from the server, the second result being based at least in part on the new set of time series data; and

cause a display of a graphical visualization of the second result.

18. The computer system of claim 11 , wherein the one or more hardware computer processors are further configured to execute the computer executable instructions in order to cause the computer system to:

receive a definition of a variable, wherein the metadata filter criteria references the variable when the variable has a first value; and

determine second metadata filter criteria when the variable has a second value;

send a second request for the server to perform the aggregate analysis on one or more sets of time series data stored in the second database that satisfy the second metadata filter criteria;

receive a second result of the aggregate analysis from the server; and

cause a display of a second graphical visualization of the second result.

19. The computer system of claim 11 , wherein the one or more hardware computer processors are further configured to execute the computer executable instructions in order to cause the computer system to:

receive a second selection of second filter criteria comprising a second subset of the available metadata fields;

receive a second selection of a second aggregate analysis to perform;

send a second request for the server to perform the second aggregate analysis on any sets of time series data stored in the second database that satisfy the second filter criteria;

receive a second result of the second aggregate analysis from the server; and

cause a simultaneous display of a second graphical visualization of the second result on a same interface that the graphical visualization of the result is displayed.

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 30, 2019
From: SHANKAR, ANKIT; SINGH, KIRAT; TERAMOTO, KAYO; LEMANOWICZ, LUCAS; HASNER, THOMAS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 048190/0609 →
Continuity (3)
Continuation 15922752 · Mar 15, 2018
Provisional Application 62561470 · Sep 21, 2017
Related Publication 20190155809A1 · May 23, 2019
Cited By (1)
US 12,271,388