IP Library › Granted Patent US 12,277,135
Granted Patent B2
US 12,277,135 · App. 18/492,425 · Granted Apr 15, 2025

Publishing to a data warehouse

Inventors: Andrew Blom (Cambridge, MA); Darren Miller (Westford, MA); Marshall A. Isman (Newton, MA)
Assignee: Ab Initio Technology LLC
G06F16/254G06F8/34G06F16/258G06F16/9024H04L67/565
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 12,277,135
App. No.
18/492,425
Granted
Apr 15, 2025
Kind
B2
Abstract

A method for generating an executable application to transform and load data into a structured dataset includes receiving a metadata file that specifies values for parameters for structuring data feeds, received from a networked data source, into a structured database. The metadata file specifies logical rules for transforming the data feeds. The values of the parameters and the logical rules for transforming the plurality of the data feeds are validated to ensure logical consistency for each data feed. Data rules are generated that specify standards for transforming each data feed in accordance with the validated values of the parameters and logical rules. The executable application is generated that is configured to receive source data comprising a data feed from one or more data sources and transform the source data into structured data that satisfies the one or more standards for the structured data record in compliance with the data rules.

Claims (45)

1. A method for automatically generating an executable application to transform and load data into a data store, the method, comprising:

receiving at least one metadata file that specifies one or more logical rules for mapping a source field of a data record to a target field and transforming the data record into transformed data for storing in the data store;

validating that the one or more logical rules are not inconsistent for transforming the data record;

generating, based on the validating, data rules that specify one or more standards for storing the transformed data in the data store in accordance with the one or more logical rules; and

generating, based on the data rules that specify the one or more standards, an executable data processing application for a runtime environment, the executable data processing application configurable to:

receive source data comprising a data record from one or more data sources;

determine, based on the one or more logical rules in the metadata file, (i) a source field of the data record that includes at least one source key value of the data record and (ii) a format for at least one transformed key value in a target field of the transformed data in the data store; and

transform the source data into the transformed data, the at least one source key value of the source field being transformed to have the format of the at least one transformed key value of the target field.

2. The method of claim 1 , wherein the executable data processing application includes a dataflow graph, a dataflow subgraph, or a plurality of dataflow graphs.

3. The method of claim 1 , wherein the data store includes a data warehouse.

4. The method of claim 1 , wherein the metadata file specifies an identifier of the target field for the at least one transformed key value, the at least one source key value of the source field being transformed based on the identifier.

5. The method of claim 1 , wherein the one or more logical rules include a data historization rule for the transformed data.

6. The method of claim 5 , wherein the data historization rule includes a time stamp indicative of when the transformed data is updated.

7. The method of claim 1 , wherein receiving the metadata file includes parsing a header row of the metadata file to determine which of the one or more logical rules are represented in the metadata file.

8. The method of claim 1 , wherein transforming the source data into the transformed data includes:

determining that at least two different portions of the source data specify identical key values; and

specifying a new key value for at least one of the two different portions of the source data, the new key value being different from the identical key values and based on a key sequence of the transformed data.

9. The method of claim 1 , wherein the one or more logical rules include one or more semantic rules that specify a semantic label for interpreting values of the transformed data.

10. The method of claim 1 , wherein the one or more logical rules include a data quality rule to determine acceptable data values for including in the transformed data.

11. The method of claim 1 , wherein the at least one metadata file that specifies a key mapping scheme for the transformed data.

12. The method of claim 1 , wherein the at least one metadata file that specifies whether the transformed data are configured to be read-optimized or write-optimized.

13. The method of claim 1 , wherein the one or more logical include a key surrogation rule.

14. The method of claim 1 , wherein the executable data processing application is further configured to load the transformed data into the data store.

15. A system for automatically generating an executable application to transform and load data into a data store, the system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, causes the one or more processors to perform operations comprising:

receiving at least one metadata file that specifies one or more logical rules for mapping a source field of a data record to a target field and transforming the data record into transformed data for storing in the data store;

validating that the one or more logical rules are not inconsistent for transforming the data record;

generating, based on the validating, data rules that specify one or more standards for storing the transformed data in the data store in accordance with the one or more logical rules; and

generating, based on the data rules that specify the one or more standards, an executable data processing application for a runtime environment, the executable data processing application configurable to:

receive source data comprising a data record from one or more data sources;

determine, based on the one or more logical rules in the metadata file, (i) a source field of the data record that includes at least one source key value of the data record and (ii) a format for at least one transformed key value in a target field of the transformed data in the data store; and

transform the source data into the transformed data, the at least one source key value of the source field being transformed to have the format of the at least one transformed key value of the target field.

16. The system of claim 15 , wherein the at least one metadata file that specifies a key mapping scheme for the transformed data.

17. The system of claim 15 , wherein the one or more logical include a key surrogation rule.

18. One or more non-transitory computer readable media storing instructions that are executable by one or more processors configured to perform operations for automatically generating an executable application to transform and load data into a data store, the operations including:

receiving at least one metadata file that specifies one or more logical rules for mapping a source field of a data record to a target field and transforming the data record into transformed data for storing in the data store;

validating that the one or more logical rules are not inconsistent for transforming the data record;

generating, based on the validating, data rules that specify one or more standards for storing the transformed data in the data store in accordance with the one or more logical rules; and

generating, based on the data rules that specify the one or more standards, an executable data processing application for a runtime environment, the executable data processing application configurable to:

receive source data comprising a data record from one or more data sources;

determine, based on the one or more logical rules in the metadata file, (i) a source field of the data record that includes at least one source key value of the data record and (ii) a format for at least one transformed key value in a target field of the transformed data in the data store; and

transform the source data into the transformed data, the at least one source key value of the source field being transformed to have the format of the at least one transformed key value of the target field.

19. The one or more non-transitory computer readable media of claim 18 , wherein the at least one metadata file that specifies a key mapping scheme for the transformed data.

20. The one or more non-transitory computer readable media of claim 18 , wherein the one or more logical include a key surrogation rule.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: BLOM, ANDREW; MILLER, DARREN; ISMAN, MARSHALL A.
To: AB INITIO SOFTWARE LLC
Reel/Frame 065919/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: AB INITIO SOFTWARE LLC
To: AB INITIO ORIGINAL WORKS LLC
Reel/Frame 065919/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: AB INITIO ORIGINAL WORKS LLC
To: AB INITIO TECHNOLOGY LLC
Reel/Frame 065919/0265 →
Continuity (3)
Continuation 16517320 · Jul 19, 2019
Provisional Application 62700684 · Jul 19, 2018
Related Publication 20240104113A1 · Mar 28, 2024
References Cited (39)
US 5966072A · Stanfill et al. · 1999 [cited by applicant]
US 7716630B2 · Wholey et al. · 2010 [cited by applicant]
US 8868580B2 · Gould et al. · 2014 [cited by applicant]
US 9002770B2 · Gould · 2015 [cited by applicant]
US 11003429B1 · Zejda et al. · 2021 [cited by applicant]
US 11893036B2 · Blom et al. · 2024 [cited by applicant]
US 20020120919A1 · Aizenbud-Reshef · 2002 [cited by applicant]
US 20060235714A1 · Adinolfi et al. · 2006 [cited by applicant]
US 20080256014A1 · Gould et al. · 2008 [cited by applicant]
US 20110145748A1 · Farver et al. · 2011 [cited by applicant]
US 20130318062A1 · Studer et al. · 2013 [cited by applicant]
US 20130346982A1 · Kalai et al. · 2013 [cited by applicant]
US 20160125057A1 · Gould et al. · 2016 [cited by applicant]
US 20170006135A1 · Siebel · 2017 [cited by examiner]
US 20170310605A1 · Garcia · 2017 [cited by examiner]
US 20190138524A1 · Singh et al. · 2019 [cited by applicant]
US 20190205309A1 · Gadre et al. · 2019 [cited by applicant]
US 20190287017A1 · Esmaeilzadeh et al. · 2019 [cited by applicant]
US 20190294613A1 · Sullivan et al. · 2019 [cited by applicant]
US 20200026711A1 · Blom et al. · 2020 [cited by applicant]
CN 102902750 · 2013 [cited by applicant]
CN 104737163 · 2015 [cited by applicant]
EP 2958016 · 2015 [cited by applicant]
JP H06290100 · 1994 [cited by applicant]
JP H07175791 · 1995 [cited by applicant]
JP 2000298583 · 2000 [cited by applicant]
JP 2010524134 · 2010 [cited by applicant]
JP 2017041029 · 2017 [cited by applicant]
WO WO2006076520 · 2006 [cited by applicant]
U.S. Appl. No. 15/997,278, filed Jun. 4, 2018, Epstein et al. [cited by applicant]
Knight et al., “Professional Microsoft SQL Server 2014 Integration Services,” Wrox, Apr. 3, 2014, Chapters 1-6, 218 pages. [cited by applicant]
Office Action in Australian Appln. No. 2019307745, mailed on Sep. 28, 2023, 4 pages. [cited by applicant]
Office Action in Chinese Appln. No. 201980048334.7, mailed on Nov. 15, 2023, [page count] pages (with Machine translation). [cited by applicant]
Office Action in European Appln. No. 19713959.5, dated Oct. 29, 2012, 5 pages. [cited by applicant]
Office Action in Indian Appln. No. 202127003179, dated Oct. 19, 2022, 6 pages. [cited by applicant]
Office Action in Japanese Appln. No. 2020-572555, mailed on Jun. 30, 2023, 23 pages (with English translation). [cited by applicant]
PCT International Preliminary Report on Patentability in International Appln. No. PCT/US2019/042669, dated Jan. 19, 2021, 9 pages. [cited by applicant]
PCT International Search Report and Written Opinion in International Appln. No. PCT/US2019/042669, dated Sep. 18, 2019, 16 pages. [cited by applicant]
Office Action in European Appln. No. 19749519.5, mailed on Oct. 7, 2024, 8 pages. [cited by applicant]