IP Library Granted Patent US 12,481,672
Granted Patent B2
US 12,481,672 · App. 18/678,996 · Granted Nov 25, 2025

Metrics management system

Inventors: Antariksha Bhaduri (Karnataka, IN); Kripa Kanchana Sivakumar (Seattle, WA)
Assignee: Oracle International Corporation
G06F16/258
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,481,672
App. No.
18/678,996
Granted
Nov 25, 2025
Kind
B2
Abstract

A unified schema, such as a common metrics schema, is provided that can universally cater to different kinds of ML metrics generated by different ML pipelines and platforms. In certain implementations, a metrics management system is provided. The metrics management system is based upon the unified schema and provides a repository for storing ML-related metrics in which the metrics may be generated by different disparate pipelines or platforms. The metrics management system may include adapters, converters, layers, libraries, or combinations thereof that can receive metric data and can provide generalized data that can be consumed by various different types of downstream systems. The generalized data may be provided to a downstream system, such as a user interface, an adjustment module, etc.

Claims (90)

1 . A computer-implemented method comprising:

receiving, by a metrics management system and from a first machine-learning framework, first metric data for a first metric related to machine-learning processing;

determining, by the metrics management system, a first metric data type for the first metric data, wherein the first metric data type is determined from a set of different metric data types;

identifying, by the metrics management system and based upon the first metric data type and a source of the first metric data, a first adapter for processing the received first metric data, wherein the first adapter is configured to convert data in the first metric data type to metric data in a common metrics format specified by a common metrics schema;

generating, by the metrics management system and by using the first adapter, the metric data in the common metrics format for the first metric based upon the first metric data, the generating comprising:

identifying a first type converter;

converting the first metric data to the metric data in the common metrics format using the first type converter; and

storing, by the metrics management system, the metric data in the common metrics format for the first metric in a memory store;

receiving, from a first requestor, a first request for the first metric;

determining, based upon the first request, that data is to be provided in a first requestor format, wherein the first requestor format is different from the first metric data type and from the common metrics format; and

responsive to determining that the data is to be provided in the first requestor format;

determining, by the metrics management system, a second type converter configured to convert the first metric from the common metrics format to the first requestor format;

converting, by the metrics management system and by using the second type converter, the metric data in the common metrics format for the first metric from the common metrics format to the first requestor format; and

providing, by the metrics management system, the first metric to the first requestor in the first requestor format using the stored first common metrics format data.

2 . The computer-implemented method of claim 1 , wherein the common metrics format comprises a plurality of fields, wherein the plurality of fields comprises a metric description, a variable count, a variable dimension, a variable name, a variable type, a unit, a variable data type, raw data, and a type converter, wherein the variable type is selected from a group consisting of nominal, categorical, and continuous, wherein the variable data type is selected from a group consisting of integer, float, fraction, percentage, array, string, and tensor, wherein the raw data is a blob representation of the received first metric data, wherein the computer-implemented method further comprises identifying a plurality of data included in the first metric data, wherein the plurality of data corresponds to the plurality of fields, and wherein the method further comprises identifying, for each field of the plurality of fields, corresponding data included in the plurality of data to convert the first metric data.

3 . The computer-implemented method of claim 1 , further comprising:

receiving second metric data for a second metric from a second machine-learning framework, the second metric data having a second metric data type; and

updating the set of different metric data types to add the second metric data type in response to determining that a second metric data type of the second metric data is different from existing metric data types included in the set of different metric data types.

4 . The computer-implemented method of claim 1 , wherein identifying the first adapter comprises identifying the first adapter based on the source of the first metric data, the method further comprising determining the source of the first metric data.

5 . The computer-implemented method of claim 1 , further comprising:

receiving second metric data for a second metric related to machine-learning processing;

determining a second metric data type for the second metric;

identifying a second adapter for processing the received second metric;

generating second common metrics format data for the second metric based upon the second metric data and using the second adapter, the generating comprising converting the second metric data from the second metric data type to the common metrics format;

storing the second common metrics format data in the memory store; and

responsive to a second request from a second requestor requesting the second metric in a second requestor format, providing the second metric to the second requestor in the second requestor format using the stored second common metrics format data.

6 . The computer-implemented method of claim 5 , wherein receiving the second metric data comprises receiving the second metric data from a second particular source that is different than a first particular source associated with the first metric data, and wherein the second adapter is different than the first adapter.

7 . The computer-implemented method of claim 1 , wherein generating first common metrics format data comprises:

extracting predefined data from the first metric data for at least a subset of a plurality of fields included in the common metrics format;

using the first adapter to call a particular type converter to convert the first metric data from the first metric data type to the common metrics format; and

converting, using the particular type converter, the first metric data from the first metric data type into a blob or a list of list of strings for at least one field of the plurality of fields to prevent data from being lost during processing.

8 . A system comprising:

one or more processors; and

a memory coupled to the one or more processors, the memory storing a plurality of instructions executable by the one or more processors, the plurality of instructions comprising instructions executable by the one or more processors to cause the one or more processors to perform operations comprising:

receiving, from a first machine-learning framework, first metric data for a first metric related to machine-learning processing;

determining a first metric data type for the first metric data, wherein the first metric data type is determined from a set of different metric data types;

identifying, based upon the first metric data type and a source of the first metric data, a first adapter for processing the received first metric data, wherein the first adapter is configured to convert data in the first metric data type to metric data in a common metrics format specified by a common metrics schema;

generating, by using the first adapter, the metric data in the common metrics format for the first metric based upon the first metric data, the generating comprising:

identifying a first type converter; and

converting the first metric data to the metric data in the common metrics format using the first type converter;

the metric data in the common metrics format for the first metric in a memory store;

receiving, from a first requestor, a first request for the first metric

determining, based upon the first request, that data is to be provided in a first requestor format, wherein the first requestor format is different from the first metric data type and from the common metrics format; and

responsive to determining that the data is to be provided in the first requestor format;

determining a second type converter configured to convert the first metric from the common metrics format to the first requestor format;

converting, by using the second type converter, the metric data in the common metrics format for the first metric from the common metrics format to the first requestor format; and

providing the first metric to the first requestor in the first requestor format.

9 . The system of claim 8 , wherein the common metrics format comprises a plurality of fields, wherein the plurality of fields comprises a metric description, a variable count, a variable dimension, a variable name, a variable type, a unit, a variable data type, raw data, and a type converter, and wherein the variable type is selected from a group consisting of nominal, categorical, and continuous, wherein the variable data type is selected from a group consisting of integer, float, fraction, percentage, array, string, and tensor, and wherein the raw data is a blob representation of the received first metric data.

10 . The system of claim 9 , wherein the operations further comprise identifying a plurality of data included in the first metric data, wherein the plurality of data corresponds to the plurality of fields, and wherein the operations further comprise identifying, for each field of the plurality of fields, corresponding data included in the plurality of data to convert the first metric data.

11 . The system of claim 9 , wherein the operation of identifying the first adapter comprises identifying based on the source of the first metric data, the operations further comprising determining the source of the first metric data.

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

receiving second metric data for a second metric related to machine-learning processing;

determining a second metric data type for the second metric;

identifying a second adapter for processing the received second metric;

generating second common metrics format data for the second metric based upon the second metric data and using the second adapter, the generating comprising converting the second metric data from the second metric data type to the common metrics format;

storing the second common metrics format data in the memory store; and

responsive to a second request from a second requestor requesting the second metric in a second requestor format, providing the second metric to the second requestor in the second requestor format using the stored second common metrics format data.

13 . The system of claim 12 , wherein the operation of receiving the second metric data comprises receiving the second metric data from a second particular source that is different than a first particular source associated with the first metric data, and wherein the second adapter is different than the first adapter.

14 . The system of claim 8 , wherein the operation of generating first common metrics format data comprises:

extracting predefined data from the first metric data for at least a subset of a plurality of fields included in the common metrics format;

using the first adapter to call a particular type converter to convert the first metric data from the first metric data type to the common metrics format; and

converting, using the particular type converter, the first metric data from the first metric data type into a blob or a list of list of strings for at least one field of the plurality of fields to prevent data from being lost during processing.

15 . A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, comprising:

receiving, from a first machine-learning framework, first metric data for a first metric related to machine-learning processing;

determining a first metric data type for the first metric data, wherein the first metric data type is determined from a set of different metric data types;

identifying, based upon the first metric data type and a source of the first metric data, a first adapter for processing the received first metric data, wherein the first adapter is configured to convert data in the first metric data type to metric data in a common metrics format specified by a common metrics schema;

generating, by using the first adapter, the metric data in the common metrics format for the first metric based upon the first metric data, the generating comprising:

identifying a first type converter; and

converting the first metric data to the metric data in the common metrics format using the first type converter;

storing the metric data in the common metrics format for the first metric in a memory store;

receiving, from a first requestor, a first request for the first metric;

determining, based upon the first request, that data is to be provided in a first requestor format, wherein the first requestor format is different from the first metric data type and from the common metrics format; and

responsive to determining that the data is to be provided in the first requestor format;

determining a second type converter configured to convert the first metric from the common metrics format to the first requestor format;

converting, by using the second type converter, the metric data in the common metrics format for the first metric from the common metrics format to the first requestor format; and

providing, the first metric to the first requestor in the first requestor format.

16 . The non-transitory computer-readable memory of claim 15 , wherein the common metrics format comprises a plurality of fields, wherein the plurality of fields comprises a metric description, a variable count, a variable dimension, a variable name, a variable type, a unit, a variable data type, raw data, and a type converter, and wherein the variable type is selected from a group consisting of nominal, categorical, and continuous, wherein the variable data type is selected from a group consisting of integer, float, fraction, percentage, array, string, and tensor, and wherein the raw data is a blob representation of the received first metric data.

17 . The non-transitory computer-readable memory of claim 16 , wherein the operations further comprise identifying a plurality of data included in the first metric data, wherein the plurality of data corresponds to the plurality of fields, and wherein the operation further comprise identifying, for each field of the plurality of fields, corresponding data included in the plurality of data to convert the first metric data.

18 . The non-transitory computer-readable memory of claim 16 , wherein the operation of, identifying the first adapter comprises identifying based on the source of the first metric data, the operations further comprising determining the source of the first metric data.

19 . The non-transitory computer-readable memory of claim 16 , wherein the operations further comprise:

receiving second metric data for a second metric related to machine-learning processing;

determining a second metric data type for the second metric;

identifying a second adapter for processing the received second metric;

generating second common metrics format data for the second metric based upon the second metric data and using the second adapter, the generating comprising converting the second metric data from the second metric data type to the common metrics format;

storing the second common metrics format data in the memory store; and

responsive to a second request from a second requestor requesting the second metric in a second requestor format, providing the second metric to the second requestor in the second requestor format using the stored second common metrics format data, wherein the operation of receiving the second metric data comprises receiving the second metric data from a second particular source that is different than a first particular source associated with the first metric data, and wherein the second adapter is different than the first adapter.

20 . The non-transitory computer-readable memory of claim 15 , wherein the operation of generating first common metrics format data comprises:

extracting predefined data from the first metric data for at least a subset of a plurality of fields included in the common metrics format;

using the first adapter to call a particular type converter to convert the first metric data from the first metric data type to the common metrics format; and

converting, using the particular type converter, the first metric data from the first metric data type into a blob or a list of list of strings for at least one field of the plurality of fields to prevent data from being lost during processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2024
From: BHADURI, ANTARIKSHA; KANCHANA SIVAKUMAR, KRIPA
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 067581/0823 →
Continuity (2)
Provisional Application 63619995 · Jan 11, 2024
Related Publication 20250231959A1 · Jul 17, 2025
References Cited (42)
US 9658910B2 · Poola et al. · 2017 [cited by applicant]
US 10872087B2 · Guo et al. · 2020 [cited by applicant]
US 11106442B1 · Hsiao · 2021 [cited by examiner]
US 11256719B1 · Saxena et al. · 2022 [cited by applicant]
US 11769087B2 · Somashekairah et al. · 2023 [cited by applicant]
US 12367217B2 · Shaikh · 2025 [cited by examiner]
US 20180089328A1 · Bath · 2018 [cited by examiner]
US 20190095478A1 · Tankersley · 2019 [cited by examiner]
US 20190113259A1 · Levin et al. · 2019 [cited by applicant]
US 20190114343A1 · Guo et al. · 2019 [cited by applicant]
US 20190236149A1 · Kuruvada · 2019 [cited by examiner]
US 20210125725A1 · Allen · 2021 [cited by examiner]
US 20230014551A1 · Chang et al. · 2023 [cited by applicant]
US 20230162049A1 · Hall et al. · 2023 [cited by applicant]
US 20230186144A1 · Lopatecki et al. · 2023 [cited by applicant]
US 20230409524A1 · Bhattacharya et al. · 2023 [cited by applicant]
US 20240295974A1 · Badii · 2024 [cited by examiner]
US 20240298294A1 · Feng et al. · 2024 [cited by applicant]
US 20240320231A1 · Bhattacharjee et al. · 2024 [cited by applicant]
WO 2023080321A1 · 2023 [cited by applicant]
“Built by ML Practitioners, for ML Practitioners”, Available online at: https://arize.com/platform-overview/, 2023, 2 pages. [cited by applicant]
“Handling Large Datasets in Pandas (Memory Optimisation)”, Available online at: https://www.scaler.com/topics/pandas/handling-large-datasets-in-pandas/, accessed Oct. 4, 2023. 11 pages. [cited by applicant]
“Multi-output Classification Example with MultiOutputClassifier in Python”, Available Online at: https://www.datatechnotes.com/2020/03/multi-output-classification-with-multioutputclassifier.html, Mar. 4, 2020, 3 pages. [cited by applicant]
“Multi-Output Classification with Machine Learning”, Available Online at: https://www.section.io/engineering-education/multi-output-classification-with-machine-learning/, Jan. 21, 2022, 11 pages. [cited by applicant]
“Multioutput Regression”, Available Online at: https://scikit-learn.org/stable/modules/multiclass.html#multioutput-regression, 2009, 2 pages. [cited by applicant]
“What is ML Observability”, Available online at: https://docs.arize.com/arize/what-is-ml-observability, 2023, 2 pages. [cited by applicant]
“WhyLabs AI Observability”, Available online at: https://docs.whylabs.ai/docs/, 2023, 4 pages. [cited by applicant]
Cloud , “Using Tensorflow Datasets and Estimators with More Data than RAM”, Available online at: https://saturncloud.io/blog/using-tensorflow-datasets-and-estimators-with-more-data-than-ram/, Jul. 6, 2023, 4 pages. [cited by applicant]
Heydarian et al., “MLCM: Multi-Label Confusion Matrix”, IEEE Access, vol. 10, Feb. 11, 2022, pp. 19083-19095. [cited by applicant]
Karajgi , “Evaluating Multi-Label Classifiers”, Available Online at: https://towardsdatascience.com/evaluating-multi-label-classifiers-a31be83da6ea, Nov. 2, 2021, 26 pages. [cited by applicant]
Khammal , “Apache Spark and Data Observability a Technical Deep Dive”, Available online at: https://www.kensu.io/blog/apache-spark-and-data-observability-a-technical-deep-dive, 2023, 3 pages. [cited by applicant]
Krasoulis et al., “Myoelectric Digit Action Decoding with Multi-output, Multi-class Classification: An Offline Analysis”, Scientific Reports, vol. 10, Oct. 9, 2020, 10 pages. [cited by applicant]
Nguyen et al., “Azureml Observability: a Scalable and Extensible Solution for ML Monitoring and Drift Detection”, Available online at: https://techcommunity.microsoft.com/t5/ai-machine-learning-blog/azureml-observabilit… [cited by applicant]
Ramanujam et al., “MLMO-HSM: Multi-label Multi-output Hybrid Sequential Model for Multi-resident Smart Home Activity Recognition”, Journal of Ambient Intelligence and Humanized Computing, vol. 14, Dec. 11, 2022, pp. 231… [cited by applicant]
Rosebrock , “Keras: Multiple Outputs and Multiple Losses”, Available Oline at: https://pyimagesearch.com/2018/06/04/keras-multiple-outputs-and-multiple-losses/, Jun. 4, 2018, 32 pages. [cited by applicant]
Sen , “Ensemble Modeling for Neural Networks using large datasets—Simplified”, Available online at: https://www.analyticsvidhya.com/blog/2021/10/ensemble-modeling-for-neural-networks-using-large-datasets-simplified/, No… [cited by applicant]
TARIQ , “What is the Difference Between Micro and Macro Averaging?”, Available Online at: https://www.educative.io/answers/what-is-the-difference-between-micro-and-macro-averaging, Accessed from Internet on Oct. 30, 202… [cited by applicant]
Tuychiev , “Comprehensive Guide to Multiclass Classification Metrics”, Available Online at: https://towardsdatascience.com/comprehensive-guide-on-multiclass-classification-metrics-af94cfb83fbd, Jun. 9, 2021, 11 pages. [cited by applicant]
Wang et al., “Consistent Classification with Generalized Metrics”, Department of Computer Science, University of Illinois at Urbana-Champaign, Aug. 24, 2019, 26 pages. [cited by applicant]
Xu et al., “A Survey on Multi-output Learning”, Available Online at: https://arxiv.org/pdf/1901.00248.pdf, Oct. 13, 2019, pp. 1-21. [cited by applicant]
U.S. Appl. No. 18/655,946, Notice of Allowance mailed on Apr. 1, 2025, 10 pages. [cited by applicant]
Lutov et al., Accuracy Evaluation of Overlapping and Multi-Resolution Clustering Algorithms on Large Datasets, Available Online at: https://arxiv.org/pdf/1902.01691, Feb. 14, 2019, 8 pages. [cited by applicant]