IP Library Granted Patent US 10,216,695
Granted Patent B1
US 10,216,695 · App. 15/922,752 · Granted Feb 26, 2019

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

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,216,695
App. No.
15/922,752
Granted
Feb 26, 2019
Kind
B1
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 (78)

1. A system comprising:

a communications interface configured to receive time series data including measurements captured by one or more data measurement sensors;

one or more storage devices configured to store:

a first database storing a plurality of sets of time series data including at least a first set of time series data received via the communications interface stored on a first storage device and a second set of time series data received via the communications interface stored on a second storage device;

a second database storing metadata related to the plurality of sets of time series data, the metadata including information for locating and accessing particular sets of time series data from the first database and also including at least one of:

indications of types of measurements included in the respective sets of time series data,

indications of locations of data measurement sensors used to generate the measurements included in the sets of time series data,

indications of properties of devices associated with the data measurement sensors, or

timing information indicating when the measurements included in the respective sets of time series data were generated; and

one or more processors configured to:

receive an indication of metadata filter criteria, wherein the metadata filter criteria includes at least one of: a type of measurement, a location of a data measurement sensor, a property of a device, or timing information;

in response to receiving the indication of the metadata filter criteria, access the second database to identify, based on the stored metadata, one or more sets of time series data that satisfy the metadata filter criteria;

transmit an indication of a quantity of sets of time series data included in the one or more sets of time series data satisfying the metadata filter criteria;

receive an instruction including an indication of a computation to perform on the one or more sets of time series data in the first database that satisfy the metadata filter criteria;

access the second database to determine, from the metadata, information for locating and accessing the one or more sets of time series data from the first database;

locate and access, from the first database and using the information for locating and accessing the one or more sets of time series data from the first database, at least a portion of the one or more sets of time series data; and

perform the computation using at least the portion of the one or more sets of time series data accessed from the first database;

whereby the one or more sets of time series data that satisfy the metadata filter criteria are identified via the metadata stored in the second database without accessing each of the plurality of sets of time series data 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 portion of a third set 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 third set of time series data; and

determine portions of the third sets of time series data that satisfies a threshold criteria.

3. The system of claim 2 , wherein the portion of the first one or more sets of time series data corresponds with the portions of the third set of time series data that satisfies the threshold criteria.

4. The system of claim 1 , wherein the plurality of data 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 metadata includes the indications of the properties of the devices associated with the data measurement sensors, the properties including configurations of a device being tested during each respective trial.

6. The system of claim 1 , wherein the information for locating and accessing particular 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 the 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 computation includes determining at least one of: a maximum, average, count, specific values, correlation, or standard deviation.

9. The computer system of claim 1 , wherein:

a user interface is configured to show a grid representing a number of the plurality of time series data in the first database; and

the user interface is configured to update, in response to receiving the selected metadata filter criteria, the grid to show a quantity of and storage distribution of time series data in the second database that satisfy the selected metadata filter criteria as a highlighted proportion of the grid.

10. 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 data measurement sensors, wherein the available metadata fields include information for locating and accessing particular sets of time series data from the second database and also include at least one of:

indications of types of measurements included in the respective sets of time series data,

indications of locations of data measurement sensors used to generate the measurements included in the respective sets of time series data,

indications of properties of devices associated with the data measurement sensors, or

timing information indicating when the measurements included in the respective sets of time series data were generated,

display one or more menus for configuring an aggregate analysis and selecting metadata filter criteria, the one or more menus displaying:

at least one of: a type of measurement, the indications of the locations of data measurement sensors, the indications of the properties of the devices, or the timing information from the available metadata fields for selection; and

one or more ways to define the aggregate analysis;

receive a selection 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 identify, based on the available metadata fields stored in the first database, one or more sets of time series data from the second database that satisfy the selected metadata filter criteria, wherein the selected metadata filter criteria includes at least one of: a type of measurement, a location of a data measurement sensor, a property of a device, or a selection of timing information

receive from the server and cause display of an indication of a quantity of sets of time series data included in the one or more sets of time series data satisfying the selected metadata filter criteria;

receive, through the one or more menus, a selection of an aggregate analysis to perform;

send, to the server, an indication of the aggregate analysis for the server to perform on the one or more sets of time series data that satisfy the selected metadata filter criteria;

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

cause display of a graphical visualization of the result;

whereby the one or more sets of time series data that satisfy the selected metadata filter criteria are identified via the metadata stored in the first database without accessing each of the plurality of sets of time series data from the second database.

11. The computer system of claim 10 , 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 plurality of metadata fields in the first database.

12. The computer system of claim 10 , 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 both the first metadata field and satisfy the filter criteria.

13. The computer system of claim 10 , 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 associated with the selected metadata filter criteria in the first database.

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

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

16. The computer system of claim 10 , 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.

17. The computer system of claim 10 , 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.

18. The computer system of claim 10 , 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 the one or more 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.

19. The computer system of claim 10 , wherein:

a user interface is configured to show a grid representing a number of the plurality of time series data in the first database; and

the user interface is configured to update, in response to receiving the selected metadata filter criteria, the grid to show a quantity of and storage distribution of time series data in the second database that satisfy the selected metadata filter criteria as a colored proportion of the grid.

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 27, 2018
From: SHANKAR, ANKIT; SINGH, KIRAT; TERAMOTO, KAYO; LEMANOWICZ, LUCAS; HASNER, THOMAS
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 047000/0090 →
Cited By (2)
US 12,271,388 US 12,287,832