IP Library Granted Patent US 11,397,730
Granted Patent B2
US 11,397,730 · App. 16/535,575 · Granted Jul 26, 2022

Time series database processing system

Inventors: Benjamin Duffield (New York, NY); David Tobin (Atherton, CA); Xavier Falco (Cooper City, FL); John McRaven (New York, NY); Steven Fackler (Menlo Park, CA); Pawel Adamowicz (London, GB); Aditya Shashi (Seattle, WA)
Assignee: Palantir Technologies Inc.
G06F16/245G06F16/248G06F16/2477G06F16/24542G06F16/258
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,397,730
App. No.
16/535,575
Granted
Jul 26, 2022
Kind
B2
Abstract

Systems and methods are provided for improved time series databases and time series operations. A time series service responds to requests from external devices. The external devices request time series data and submit time series queries. The time series service generates planned and efficient time series queries from the initial queries. The time series service performs operations such as unit conversion, interpolation, and performing operations on time series data. The time series service can identify which time series database to query from and/or cause data to be populated into a time series database from a data pipeline system.

Claims (43)

1. A computing system comprising:

a non-transitory computer storage medium configured to store metadata associated with time series; and

one or more hardware computer processors programmed, via executable code instructions, to implement a time series service to:

receive a first time series expression identifying a first time series indicator and a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series;

determine, based on the stored metadata, first metadata associated with the first time series indicator;

generate a second time series expression based at least on the first metadata and the first time series expression, the second time series expression including a combined operation node associated with and combining operations from two or more of the plurality of nodes, wherein the second time series expression comprises the combined operation node instead of the two or more of the plurality of nodes;

access a first time series; and

execute, according to the second time series expression, the combined operation node on first data associated with the first time series.

2. The computing system of claim 1 ,

wherein the first metadata includes a first association between the first time series and a first time unit, and a second metadata includes a second association between a second time series and a second time unit, and

wherein the one or more hardware computer processors are further configured to at least:

determine, using the first metadata and the second metadata, that the first time unit and the second time unit are different;

determine that the second time unit is more granular than the first time unit;

identify a first set of timestamps from the first time series and a second set of timestamps from the second time series;

identify a granularity of the second time unit;

generate a normalized set of timestamps from the first set of timestamps and the second time unit;

generate, from the first time series and the normalized set of timestamps, a first normalized data set; and

generate, from the second time series and the second set of timestamps, a second data set, wherein the first data comprises the first normalized data set and second data comprises the second data set.

3. The computing system of claim 2 , wherein generating the normalized set of timestamps from the first set of timestamps and the second time unit further comprises:

applying a time scaling function to each timestamp from the first set of timestamps, wherein the time scaling function converts a timestamp from the first time unit to the second time unit.

4. The computing system of claim 3 , wherein the time scaling function comprises at least one of a multiplication operation or a division operation.

5. The computing system of claim 1 , wherein a time series request further comprises an interpolation configuration parameter that indicates a type of interpolation to be performed.

6. The computing system of claim 1 , wherein the first time series expression further comprises an indicator for an operation, the operation comprising at least one of: an addition operation, a subtraction operation, a division operation, a multiplication operation, a ratio determination operation, a square root operation, a zScore operation, a standard deviation operation, an average operation, a median operation, a mode of operation, a range operation, a maximum operation, or a minimum operation.

7. A computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:

receiving a first time series expression identifying a first time series indicator and a plurality of nodes, wherein each node corresponds to a time series operation performable on one or more time series;

determining, based on stored metadata, first metadata associated with the first time series indicator;

generating a second time series expression based at least on the first metadata and the first time series expression, the second time series expression including a combined operation node associated with and combining operations from two or more of the plurality of nodes, wherein the second time series expression comprises the combined operation node instead of the two or more of the plurality of nodes;

accessing a first time series; and

executing, according to the second time series expression, the combined operation node on first data associated with the first time series.

8. The method of claim 7 , wherein the first metadata includes a first association between the first time series and a first time unit, and a second metadata includes a second association between a second time series and a second time unit.

9. The method of claim 8 , further comprising:

determining, using the first metadata and the second metadata, that the first time unit and the second time unit are different;

determining that the second time unit is more granular than the first time unit;

identifying a first set of timestamps from the first time series and a second set of timestamps from the second time series;

identifying a granularity of the second time unit;

generating a normalized set of timestamps from the first set of timestamps and the second time unit;

generating, from the first time series and the normalized set of timestamps, a first normalized data set; and

generating, from the second time series and the second set of timestamps, a second data set, wherein the first data comprises the first normalized data set and second data comprises the second data set.

10. The method of claim 9 , wherein generating the normalized set of timestamps from the first set of timestamps and the second time unit further comprises:

applying a time scaling function to each timestamp from the first set of timestamps, wherein the time scaling function converts a timestamp from the first time unit to the second time unit.

11. The method of claim 10 , wherein the time scaling function comprises at least one of a multiplication operation or a division operation.

12. The method of claim 7 , wherein a time series request further comprises an interpolation configuration parameter that indicates a type of interpolation to be performed.

13. The method of claim 7 , wherein the first time series expression further comprises an indicator for an operation, the operation comprising at least one of: an addition operation, a subtraction operation, a division operation, a multiplication operation, a ratio determination operation, a square root operation, a zScore operation, a standard deviation operation, an average operation, a median operation, a mode of operation, a range operation, a maximum operation, or a minimum operation.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: DUFFIELD, BENJAMIN; TOBIN, DAVID; FALCO, XAVIER; MCRAVEN, JOHN; FACKLER, STEVEN; ADAMOWICZ, PAWEL; SHASHI, ADITYA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 061575/0403 →
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 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
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 (3)
Continuation 15831188 · Dec 4, 2017
Provisional Application 62545036 · Aug 14, 2017
Related Publication 20190361885A1 · Nov 28, 2019
Cited By (2)
US 12,229,104 US 12,461,903