IP Library Granted Patent US 10,754,820
Granted Patent B2
US 10,754,820 · App. 16/035,250 · Granted Aug 25, 2020

Customizable pipeline for integrating data

Inventors: Abhinav Khanna (Los Altos, CA); Henry Tung (Redwood City, CA); Lucas Ray (San Francisco, CA); Stephen Yazicioglu (New York, NY); Alexander Martino (New York, NY)
Assignee: Palantir Technologies Inc.
G06F16/116G06F9/52G06F16/254
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,754,820
App. No.
16/035,250
Granted
Aug 25, 2020
Kind
B2
Abstract

Systems, methods, and non-transitory computer readable media are provided for customizing pipelines for integrating data. A file to be ingested into a data analysis platform may be determined. The file type of the file may be detected. The file may be transformed based on the file type. The transformation may include applying a set of operations to the file. The set of operations may correspond to a pipeline of operations associated with the file type.

Claims (38)

1. A system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

determining a file is to be ingested into a data analysis platform in response to a user selecting the file;

detecting a file type of the file based on structure information, pattern information, and actual information within the file, the detecting comprising:

continuously passing the file to different detectors until one of the detectors recognizes the file, wherein the one of the detectors generates metadata including information relating to the file type and information relating to one or more transformations to be performed based on the file type; and

in response to none of the different detectors recognizing the file, marking the file as a generic file and creating a new detector to recognize the generic file; and

streaming the file to a data transformation platform to transform the file based on the file type and based on the one of the detectors that recognizes the file, wherein the transformation includes applying a set of operations to the file, the set of operations comprising identifying data to be integrated into the file using a pipeline operation associated with the file type, wherein the pipeline operation enables a dynamic selection of options for one or more operations that include a linear pipeline and a branching pipeline of operations.

2. The system of claim 1 , wherein the one or more operations include one or more serial operations, one or more parallel operations, and one or more join operations, the one or more join operations merging two or more results of the parallel operations.

3. The system of claim 1 , wherein the one or more operations include a normalizing operation.

4. The system of claim 1 , wherein the file type of the file is detected based on an arrangement of information within the file.

5. The system of claim 1 , wherein the instructions further cause the system to perform:

changing the pipeline operation; and

removing one or more effects of a prior pipeline of operations.

6. The system of claim 1 , wherein the transformation of the file is case dependent, upload dependent, or user dependent.

7. A method implemented by a computing system including one or more processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:

determining a file is to be ingested into a data analysis platform in response to a user selecting the file;

detecting a file type of the file based on structure information, pattern information, and actual information within the file, the detecting comprising:

continuously passing the file to different detectors until one of the detectors recognizes the file, wherein the one of the detectors generates metadata including information relating to the file type and information relating to one or more transformations to be performed based on the file type; and

in response to none of the different detectors recognizing the file, marking the file as a generic file and creating a new detector to recognize the generic file; and

streaming the file to a data transformation platform to transform the file based on the file type and based on the one of the detectors that recognizes the file, wherein the transformation includes applying a set of operations to the file, the set of operations comprising identifying data to be integrated into the file using a pipeline operation associated with the file type, wherein the pipeline operation enables a dynamic selection of options for one or more operations that include a linear pipeline and a branching pipeline of operations.

8. The method of claim 7 , wherein the one or more operations include one or more serial operations, one or more parallel operations, and one or more join operations, the one or more join operations merging two or more results of the parallel operations.

9. The method of claim 7 , wherein the one or more operations include a normalizing operation.

10. The method of claim 7 , wherein the file type of the file is detected based on an arrangement of information within the file.

11. The method of claim 7 , further comprising:

changing the pipeline operation; and

removing one or more effects of a prior pipeline of operations.

12. The method of claim 7 , wherein the transformation of the file is case dependent, upload dependent, or user dependent.

13. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

determining a file is to be ingested into a data analysis platform in response to a user selecting the file;

detecting a file type of the file based on structure information, pattern information, and actual information within the file, the detecting comprising:

continuously passing the file to different detectors until one of the detectors recognizes the file, wherein the one of the detectors generates metadata including information relating to the file type and information relating to one or more transformations to be performed based on the file type; and

in response to none of the different detectors recognizing the file, marking the file as a generic file and creating a new detector to recognize the generic file; and

streaming the file to a data transformation platform to transform the file based on the file type and based on the one of the detectors that recognizes the file, wherein the transformation includes applying a set of operations to the file, the set of operations comprising identifying data to be integrated into the file using a pipeline operation associated with the file type, wherein the pipeline operation enables a dynamic selection of options for one or more operations that include a linear pipeline and a branching pipeline of operations.

14. The non-transitory computer readable medium of claim 13 , wherein the one or more operations include one or more serial operations, one or more parallel operations, and one or more join operations, the one or more join operations merging two or more results of the parallel operations.

15. The non-transitory computer readable medium of claim 13 , wherein the one or more operations include a normalizing operation.

16. The non-transitory computer readable medium of claim 13 , wherein the file type of the file is detected based on an arrangement of information within the file.

17. The non-transitory computer readable medium of claim 13 , wherein the instructions further cause the one or more processors to perform:

changing the pipeline operation; and

removing one or more effects of a prior pipeline of operations.

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 7, 2019
From: KHANNA, ABHINAV; TUNG, HENRY; RAY, LUCAS; YAZICIOGLU, STEPHEN; MARTINO, ALEXANDER
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 048536/0094 →
Cited By (3)
US 12,500,823 US 12,556,523 US 12,598,197