IP Library Granted Patent US 12,353,446
Granted Patent B2
US 12,353,446 · App. 18/162,625 · Granted Jul 8, 2025

Feature store with integrated tracking

Inventors: Mani Parkhe (San Jose, CA); Clemens Mewald (Lafayette, CA); Matei Zaharia (Palo Alto, CA); Avesh Singh (San Francisco, CA)
Assignee: Databricks, Inc.
G06F16/288G06F30/27
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,353,446
App. No.
18/162,625
Granted
Jul 8, 2025
Kind
B2
Abstract

The present application discloses a method, system, and computer system for managing a plurality of features and storing lineage information pertaining to the features. The method includes obtaining one or more datasets, determining a first feature, wherein the first feature is determined based at least in part on the one or more datasets, and storing the first feature in a feature store. The first feature is stored in association with a dataset indication of the one or more datasets from which the first feature is determined. The feature store comprises a plurality of features.

Claims (67)

1. A method comprising:

accessing source data stored in a data store, the source data comprising raw data;

generating a feature based on the source data;

training a set of machine learning models based on the feature;

storing the feature in a feature store;

storing, in the feature store, metadata in association with the feature, the metadata including: (i) a mapping from the feature to upstream lineage data indicating the source data used to generate the feature, and (ii) a mapping from the feature to downstream lineage data indicating the set of machine learning models trained based on the feature;

determining, based on the metadata in the feature store including the mapping from the feature to the upstream lineage data, that a modification has been made to the feature;

in response to determining that the modification has been made to the feature, identifying, based on metadata in the feature store including the mapping from the feature to the downstream lineage data: (i) a first machine learning model from the set of machine learning models trained based on the feature and (ii) a model serving endpoint that deploys the first machine learning model; and

transmitting a notification to the model serving endpoint that deploys the first machine learning model, the notification indicating that the feature has been modified, wherein the model serving endpoint is a web service.

2. The method of claim 1 , further comprising:

updating the mapping from the feature to the upstream lineage data based on the modification to the feature, wherein the mapping is updated to reflect modified upstream lineage data indicating revised source data.

3. The method of claim 1 , further comprising generating the mapping from the feature to the upstream lineage data indicating the source data used to generate the feature.

4. The method of claim 1 , further comprising:

determining that the feature is used to train a new machine learning model, the new machine learning model not in the set of machine learning models; and

updating the mapping from the feature to downstream lineage data indicating the new machine learning model.

5. The method of claim 1 , further comprising:

storing the first machine learning model in a model store along with the mapping from the feature to the downstream lineage data indicating that the feature was used to train the first machine learning model, the model store storing at least a second machine learning model different than the first machine learning model.

6. The method of claim 1 , wherein the mapping from the feature to the upstream lineage data further comprises code used to determine the feature.

7. The method of claim 1 , further comprising:

receiving data defining a second feature, the data defining the second feature identifying source data used to generate the second feature;

generating a mapping from the second feature to upstream lineage data indicating the source data used to generate the second feature; and

storing, in the feature store in association with the second feature, the mapping from the second feature to the upstream lineage data.

8. The method of claim 1 , further comprising:

sending, by the model serving endpoint: (i) a call to the feature store to access the modified feature, and (ii) a call to the first machine learning model to generate an outcome based on the modified feature.

9. A system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

accessing source data stored in a data store, the source data comprising raw data;

generating a feature based on the source data;

training a set of machine learning models based on the feature;

storing the feature in a feature store;

storing, in the feature store, metadata in association with the feature, the metadata including: (i) a mapping from the feature to upstream lineage data indicating the source data used to generate the feature, and (ii) a mapping from the feature to downstream lineage data indicating the set of machine learning models trained based on the feature;

determining, based on the metadata in the feature store including the mapping from the feature to the upstream lineage data, that a modification has been made to the feature;

in response to determining that the modification has been made to the feature, identifying, based on metadata in the feature store including the mapping from the feature to the downstream lineage data: (i) a first machine learning model from the set of machine learning models trained based on the feature and (ii) a model serving endpoint that deploys the first machine learning model; and

transmitting a notification to the model serving endpoint that deploys the first machine learning model, the notification indicating that the feature has been modified, wherein the model serving endpoint is a web service.

10. The system of claim 9 , the operations further comprising:

updating the mapping from the feature to the upstream lineage data based on the modification to the feature, wherein the mapping is updated to reflect modified upstream lineage data indicating revised source data.

11. The system of claim 9 , the operations further comprising:

generating the mapping from the feature to the upstream lineage data indicating the source data used to generate the feature.

12. The system of claim 9 , the operations further comprising:

determining that the feature is used to train a new machine learning model, the new machine learning model not in the set of machine learning models; and

updating the mapping from the feature to downstream lineage data indicating the new machine learning model.

13. The system of claim 9 , the operations further comprising:

storing the first machine learning model in a model store along with the mapping from the feature to the downstream lineage data indicating that the feature was used to train the first machine learning model, the model store storing at least a second machine learning model different than the first machine learning model.

14. The system of claim 9 , wherein the mapping from the feature to the upstream lineage data further comprises code used to determine the feature.

15. The system of claim 9 , the operations further comprising:

receiving data defining a second feature, the data defining the second feature identifying source data used to generate the second feature;

generating a mapping from the second feature to upstream lineage data indicating the source data used to generate the second feature; and

storing, in the feature store in association with the second feature, the mapping from the second feature to the upstream lineage data.

16. A non-transitory computer-readable medium storing instructions that, when executed by is one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations comprising:

accessing source data stored in a data store, the source data comprising raw data;

generating a feature based on the source data;

training a set of machine learning models based on the feature;

storing the feature in a feature store;

storing, in the feature store, metadata in association with the feature, the metadata including: (i) a mapping from the feature to upstream lineage data indicating the source data used to generate the feature, and (ii) a mapping from the feature to downstream lineage data indicating the set of machine learning models trained based on the feature;

determining, based on the metadata in the feature store including the mapping from the feature to the upstream lineage data, that a modification has been made to the feature;

in response to determining that the modification has been made to the feature, identifying, based on metadata in the feature store including the mapping from the feature to the downstream lineage data: (i) a first machine learning model from the set of machine learning models trained based on the feature and (ii) a model serving endpoint that deploys the first machine learning model; and

transmitting a notification to the model serving endpoint that deploys the first machine learning model, the notification indicating that the feature has been modified, wherein the model serving endpoint is a web service.

17. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

updating the mapping from the feature to the upstream lineage data based on the modification to the feature, wherein the mapping is updated to reflect modified upstream lineage data indicating revised source data.

18. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

generating the mapping from the feature to the upstream lineage data indicating the source data used to generate the feature.

19. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

determining that the feature is used to train a new machine learning model, the new machine learning model not in the set of machine learning models; and

updating the mapping from the feature to downstream lineage data indicating the new machine learning model.

20. The non-transitory computer-readable medium of claim 16 , the operations further comprising:

storing the first machine learning model in a model store along with the mapping from the feature to the downstream lineage data indicating that the feature was used to train the first machine learning model, the model store storing at least a second machine learning model different than the first machine learning model.

Assignments (2)
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2023
From: PARKHE, MANI; MEWALD, CLEMENS; ZAHARIA, MATEI; SINGH, AVESH
To: DATABRICKS, INC.
Reel/Frame 064402/0262 →
Continuity (3)
Continuation 17514997 · Oct 29, 2021
Provisional Application 63191705 · May 21, 2021
Related Publication 20230177072A1 · Jun 8, 2023
References Cited (30)
US 9990639B1 · Kong et al. · 2018 [cited by applicant]
US 11373119B1 · Doshi · 2022 [cited by examiner]
US 11651212B2 · Xu · 2023 [cited by examiner]
US 11704299B1 · Bansal et al. · 2023 [cited by applicant]
US 11928182B1 · Arici · 2024 [cited by examiner]
US 12242928B1 · Chen · 2025 [cited by examiner]
US 20020165724A1 · Blankesteijn · 2002 [cited by examiner]
US 20030084053A1 · Govrin · 2003 [cited by examiner]
US 20120246619A1 · Thirumalai et al. · 2012 [cited by applicant]
US 20130111016A1 · Wilson et al. · 2013 [cited by applicant]
US 20130262483A1 · Blom et al. · 2013 [cited by applicant]
US 20150379072A1 · Dirac et al. · 2015 [cited by applicant]
US 20150379429A1 · Lee · 2015 [cited by examiner]
US 20160048850A1 · Wooten · 2016 [cited by applicant]
US 20170124487A1 · Szeto et al. · 2017 [cited by applicant]
US 20170295217A1 · Anderson · 2017 [cited by applicant]
US 20180373781A1 · Palrecha · 2018 [cited by examiner]
US 20220019496A1 · Lozano · 2022 [cited by examiner]
US 20220101192A1 · Patel · 2022 [cited by applicant]
US 20220129727A1 · Chen et al. · 2022 [cited by applicant]
US 20220197306A1 · Cella et al. · 2022 [cited by applicant]
Dominguez, David, WO 2022/128110 A1, PCT/EP2020/086832, Dec. 17, 2020. (Year: 2020). [cited by examiner]
Vinoski, Steve. “Web services notifications.” IEEE Internet Computing 8.2 (2004): 86-90. (Year: 2004). [cited by examiner]
Graham, Steve, David Hull, and Bryan Murray. “Web services base notification 1.3.” OASIS Standard. Oct. 2006. (Year: 2006). [cited by examiner]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2022/027387, Aug. 16, 2022, nine pages. [cited by applicant]
Dankers, F. et al. “Chapter 8: Prediction Modeling Methodology,” Fundamentals of Clinical Data Science, Springer Publishing, 2019, pp. 101-120. [cited by applicant]
Frank, E. et al. “Data Mining in Bioinformatics Using Weka,” Bioinformatics, vol. 20, No. 15, Oct. 12, 2004, pp. 2479-2481. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/514,997, filed Oct. 11, 2023, 21 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/514,997, filed Apr. 15, 2024, 15 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/514,997, filed Aug. 14, 2024, 16 pages. [cited by applicant]