IP Library Granted Patent US 10,007,674
Granted Patent B2
US 10,007,674 · App. 15/262,207 · Granted Jun 26, 2018

Data revision control in large-scale data analytic systems

Inventors: Robert Fink (San Francisco, CA); Lynn Cuthriell (San Francisco, CA); Adam Anderson (San Francisco, CA); Adam Borochoff (New York, NY); Catherine Lu (Newark, CA); Joseph Rafidi (Mountain View, CA); Karanveer Mohan (San Fracisco, CA); Matthew Jenny (Sa Francisco, CA); Matthew Maclean (New York, NY); Michelle Guo (Fremont, CA); Parvathy Menon (San Jose, CA); Ryan Rowe (San Francisco, CA)
Assignee: Palantir Technologies Inc.
G06F17/3023G06F17/30194G06F17/30309G06F17/30377
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,007,674
App. No.
15/262,207
Granted
Jun 26, 2018
Kind
B2
Abstract

A computer-implemented system and method for data revision control in a large-scale data analytic systems. In one embodiment, for example, a computer-implemented method comprises the operations of storing a first version of a dataset that is derived by executing a first version of driver program associated with the dataset; and storing a first build catalog entry comprising an identifier of the first version of the dataset and comprising an identifier of the first version of the driver program.

Claims (37)

1. A method for data revision control in a large-scale data analytic system:

at one or more machines comprising one or more processors and memory storing one or more programs executed by the one or more processors to perform the method, performing operations comprising:

storing a first version of a first dataset that is derived from a first version of a second dataset based on a first execution of a first version of a driver program;

storing a first build catalog entry comprising an identifier of the first version of the first dataset, an identifier of the first version of the second dataset, a first branch name, and an identifier of the first version of the driver program;

storing a second version of the first dataset that is derived from a second version of the second dataset based on a second execution of the first version of the driver program;

storing a second build catalog entry comprising an identifier of the second version of the first dataset, an identifier of the second version of the second dataset, a second branch name that is different from the first branch name, and an identifier of the first version of the driver program;

storing a first transaction entry in a database, the first transaction entry comprising a first transaction commit identifier of the first version of the first dataset;

wherein the first build catalog entry comprises the first transaction commit identifier;

storing a second transaction entry in the database, the second transaction entry comprising a second transaction commit identifier of the first version of the second dataset;

wherein the identifier of the first version of the second dataset in the first build catalog entry is the second transaction commit identifier;

storing a third transaction entry in the database, the third transaction entry comprising a third transaction commit identifier of the second version of the second dataset;

wherein the identifier of the second version of the second dataset in the second build catalog entry is the third transaction commit identifier; and

causing display of a provenance graph in a graphical user interface based on the first build catalog entry, the provenance graph display including display of:

a first node representing the first version of the first dataset,

a second node representing the first version of the second dataset, and

a first directed edge from the first node to the second node.

2. The method of claim 1 , further comprising storing the first version of the first dataset in a distributed file system.

3. The method of claim 1 , wherein the identifier of the first version of the first dataset is an identifier assigned to a commit of a transaction in context of which the first version of the first dataset is stored.

4. The method of claim 1 , wherein the first version of the driver program, when executed to produce the first version of the first dataset, transforms data of the first version of the second dataset to produce data of the first version of the first dataset.

5. One or more non-transitory computer-readable media storing a set of instructions for execution by one or more processors, the set of instructions configured for performing operations comprising:

storing a first version of a first dataset that is derived from a first version of a second dataset based on a first execution of a first version of a driver program;

storing a first build catalog entry comprising an identifier of the first version of the first dataset, an identifier of the first version of the second dataset, a first branch name, and an identifier of the first version of the driver program;

storing a second version of the first dataset that is derived from a second version of the second dataset based on a second execution of the first version of the driver program;

storing a second build catalog entry comprising an identifier of the second version of the first dataset, an identifier of the second version of the second dataset, a second branch name that is different from the first branch name, and an identifier of the first version of the driver program;

storing a first transaction entry in a database, the first transaction entry comprising a first transaction commit identifier of the first version of the first dataset;

wherein the first build catalog entry comprises the first transaction commit identifier;

storing a second transaction entry in the database, the second transaction entry comprising a second transaction commit identifier of the first version of the second dataset;

wherein the identifier of the first version of the second dataset in the first build catalog entry is the second transaction commit identifier;

storing a third transaction entry in the database, the third transaction entry comprising a third transaction commit identifier of the second version of the second dataset;

wherein the identifier of the second version of the second dataset in the second build catalog entry is the third transaction commit identifier; and

causing display of a provenance graph in a graphical user interface based on the second build catalog entry, the provenance graph display including display of:

a first node representing the second version of the first dataset,

a second node representing the second version of the second dataset, and

a first directed edge from the first node to the second node.

6. The one or more non-transitory computer-readable media of claim 5 , wherein the operations further comprise storing the first version of the first dataset in a distributed file system.

7. The one or more non-transitory computer-readable media of claim 5 , wherein the identifier of the first version of the first dataset is an identifier assigned to a commit of a transaction in context of which the first version of the first dataset is stored.

8. The one or more non-transitory computer-readable media of claim 5 , wherein the first version of the driver program, when executed to produce the first version of the first dataset, transforms data of the first version of the second dataset to produce data of the first version of the first dataset.

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 Mar 1, 2018
From: FINK, ROBERT; CUTHRIELL, LYNN; ANDERSON, ADAM; BOROCHOFF, ADAM; RAFIDI, JOSEPH; JENNY, MATTHEW; MACLEAN, MATTHEW; MENON, PARVATHY; ROWE, RYAN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 045080/0192 →
Continuity (2)
Provisional Application 62349548 · Jun 13, 2016
Related Publication 20170357648A1 · Dec 14, 2017
Cited By (3)
US 12,306,815 US 12,386,802 US 12,619,409