IP Library Granted Patent US 9,483,506
Granted Patent B2
US 9,483,506 · App. 14/879,916 · Granted Nov 1, 2016

History preserving data pipeline

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 9,483,506
App. No.
14/879,916
Granted
Nov 1, 2016
Kind
B2
Abstract

A history preserving data pipeline computer system and method. In one aspect, the history preserving data pipeline system provides immutable and versioned datasets. Because datasets are immutable and versioned, the system makes it possible to determine the data in a dataset at a point in time in the past, even if that data is no longer in the current version of the dataset.

Claims (37)

1. A method comprising:

at one or more computing devices comprising one or more processors and one or more storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:

maintaining a build catalog comprising a plurality of build catalog entries;

wherein each build catalog entry, of the plurality of build catalog entries, comprises:

an identifier of a version of a derived dataset corresponding to the build catalog entry,

one or more dataset build dependencies of the version of the derived dataset corresponding to the build catalog entry, each of the one or more dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the build catalog entry is derived, and

a derivation program build dependency of the version of the derived dataset corresponding to the build catalog entry, the derivation program build dependency comprising an identifier of a version of a derivation program executed to generate the version of the derived dataset corresponding to the build catalog entry;

creating a new version of a particular derived dataset in context of a successful transaction; and

adding a new build catalog entry to the build catalog, the new build catalog entry comprising an identifier of the new version of the particular derived dataset, the identifier of the new version of the particular derived dataset being a transaction commit identifier assigned to the successful transaction.

2. The method of claim 1 , wherein the operation of creating the new version of the particular derived dataset comprises an operation of executing a particular version of a particular derivation program; and wherein the new build catalog entry comprises an identifier of the particular version of the particular derivation program.

3. The method of claim 1 , wherein a particular build catalog entry, of the plurality of build catalog entries, comprises a plurality of dataset build dependencies of the version of the derived dataset corresponding to the particular build catalog entry, each of the plurality of dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the particular build catalog entry is derived.

4. The method of claim 1 , wherein the build catalog comprises a particular build catalog entry comprising an identifier of a version of a derived dataset corresponding to the build catalog entry but does not include any of a dataset build dependency or a derivation program build dependency.

5. One or more non-transitory storage media storing one or more computer programs, the one or more computer programs comprising instructions for performing operations comprising:

maintaining a build catalog comprising a plurality of build catalog entries;

wherein each build catalog entry, of the plurality of build catalog entries, comprises:

an identifier of a version of a derived dataset corresponding to the build catalog entry,

one or more dataset build dependencies of the version of the derived dataset corresponding to the build catalog entry, each of the one or more dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the build catalog entry is derived, and

a derivation program build dependency of the version of the derived dataset corresponding to the build catalog entry, the derivation program build dependency comprising an identifier of a version of a derivation program executed to generate the version of the derived dataset corresponding to the build catalog entry;

creating a new version of a particular derived dataset in context of a successful transaction; and

adding a new build catalog entry to the build catalog, the new build catalog entry comprising an identifier of the new version of the particular derived dataset, the identifier of the new version of the particular derived dataset being a transaction commit identifier assigned to the successful transaction.

6. The one or more non-transitory storage media of claim 5 , wherein the instructions for performing the operation of creating the new version of the particular derived dataset comprise instructions for performing an operation of executing a particular version of a particular derivation program; and wherein the new build catalog entry comprises an identifier of the particular version of the particular derivation program.

7. The one or more non-transitory storage media of claim 5 , wherein a particular build catalog entry, of the plurality of build catalog entries, comprises a plurality of dataset build dependencies of the version of the derived dataset corresponding to the particular build catalog entry, each of the plurality of dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the particular build catalog entry is derived.

8. The one or more non-transitory storage media of claim 5 , wherein the build catalog comprises a particular build catalog entry comprising an identifier of a version of a derived dataset corresponding to the build catalog entry but does not include any of a dataset build dependency or a derivation program build dependency.

9. A system comprising:

one or more hardware processors;

one or more computer programs; and

one or more storage media storing the one or more computer programs for execution by the one or more hardware processors, the one or more computer programs comprising instructions for performing operations comprising:

maintaining a build catalog comprising a plurality of build catalog entries;

wherein each build catalog entry, of the plurality of build catalog entries, comprises:

an identifier of a version of a derived dataset corresponding to the build catalog entry,

one or more dataset build dependencies of the version of the derived dataset corresponding to the build catalog entry, each of the one or more dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the build catalog entry is derived, and

a derivation program build dependency of the version of the derived dataset corresponding to the build catalog entry, the derivation program build dependency comprising an identifier of a version of a derivation program executed to generate the version of the derived dataset corresponding to the build catalog entry;

creating a new version of a particular derived dataset in context of a successful transaction; and

adding a new build catalog entry to the build catalog, the new build catalog entry comprising an identifier of the new version of the particular derived dataset, the identifier of the new version of the particular derived dataset being a transaction commit identifier assigned to the successful transaction.

10. The system of claim 9 , wherein the instructions for performing the operation of creating the new version of the particular derived dataset comprise instructions for performing an operation of executing a particular version of a particular derivation program; and wherein the new build catalog entry comprises an identifier of the particular version of the particular derivation program.

11. The system of claim 9 , wherein a particular build catalog entry, of the plurality of build catalog entries, comprises a plurality of dataset build dependencies of the version of the derived dataset corresponding to the particular build catalog entry, each of the plurality of dataset build dependencies comprising an identifier of a version of a child dataset from which the version of the derived dataset corresponding to the particular build catalog entry is derived.

12. The system of claim 9 , wherein the build catalog comprises a particular build catalog entry comprising an identifier of a version of a derived dataset corresponding to the build catalog entry but does not include any of a dataset build dependency or a derivation program build dependency.

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 →