IP Library Granted Patent US 12688460
Granted Patent B2
US 12688460 · App. 18/090,799 · Granted Jul 21, 2026

Computing system for training, deploying, executing, and updating machine learning models

Inventors: Paul Luo Li (Redmond, WA); Ho Jeannie Chung (Seattle, WA); Xiaoyu Chai (Bellevue, WA); Irina Ioana Niculescu (Redmond, WA); Minsuk Kang (Redmond, WA); Brandon H. Paddock (Seattle, WA); Jilong Liao (Issaquah, WA); Neeraja Abburu (Sammamish, WA); James Henry Dooley, IV (Bellevue, WA); Frederick Douglass Campbell (Bothell, WA)
Assignee: Microsoft Technology Licensing, LLC
G06N20/00G06F8/65G06F18/10G06F8/60
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 12688460
App. No.
18/090,799
Granted
Jul 21, 2026
Kind
B2
Abstract

A server computing device generates training data based upon an identifier for a device, a timestamp, and a label received from a developer computing device. The server computing device trains a computer-implemented machine learning (ML) model based upon the training data. The server computing device also generates client configuration data for the ML model that specifies transformations that are to be applied to values in order to generate input values for the ML model. The server computing device deploys ML assets to client computing devices, the ML assets comprising the ML model and the client configuration data. The client computing devices execute the ML model using input values derived via transformations of (local) values produced by the client computing devices and transmit telemetry data to the server computing device. The server computing device updates the ML assets based upon the telemetry data.

Claims (56)

1 . A client computing device, comprising:

a processor; and

memory storing instructions that, when executed by the processor, cause the processor to perform a set of operations comprising:

receiving an application programming interface (API) call from a target application;

locating machine learning (ML) assets based on the API call, the ML assets comprising an ML model and client configuration data, wherein the client configuration data specifies a feature and a transformation;

acquiring a value for the feature specified by the client configuration data;

performing the transformation on the value to generate an input value;

comparing the transformation specified in the client configuration data to a transformation specified in model configuration data of the ML model;

providing the input value as input to the ML model, wherein the ML model is executed based on determining that the transformation specified in the client configuration data matches the transformation specified in the model configuration data;

receiving, from the ML model, a prediction based upon the input value; and

returning the prediction to the target application.

2 . The client computing device of claim 1 , wherein:

the ML assets are first ML assets;

the ML model is a first ML model;

the client configuration data is first client configuration data; and

the set of operations further comprises obtaining updated ML assets comprising a second ML model and second client configuration data.

3 . The client computing device of claim 2 , wherein the set of operations further comprises transmitting telemetry data from the client computing device, and the updated ML assets are generated based on the telemetry data.

4 . The client computing device of claim 1 , wherein the client configuration data comprises:

an identifier for the feature used to train the ML model;

and

a type for the ML model.

5 . The client computing device of claim 4 , wherein the client configuration data further comprises a minimum version of the target application with which the ML model is compatible.

6 . The client computing device of claim 1 , wherein the model configuration data comprises a training parameter for the ML model.

7 . The client computing device of claim 1 , wherein the transformation specified in the client configuration data comprises one or more of: capping, summing, and dividing.

8 . The client computing device of claim 7 , wherein the transformation specified in the client configuration data further comprises one or more of: data type conversion, and syntax conversion of an identifier for the feature.

9 . The client computing device of claim 3 , wherein the telemetry data is indicative of whether the prediction received from the ML model is correct.

10 . The client computing device of claim 1 , wherein the target application from which the API call is received is on a developer computing device.

11 . The client computing device of claim 1 , wherein the set of operations further comprise obtaining updated ML assets from a device separate from the client computing device.

12 . A method for updating machine learning models, the method comprising:

receiving an application programming interface (API) call from a target application;

determining a value for a feature specified by first client configuration data of first ML assets, wherein the first client configuration data further specifies a transformation;

performing the transformation on the value to generate an input value;

comparing the transformation specified in the first client configuration data to a transformation specified in model configuration data of a first ML model of the first ML assets;

providing the input value as input to the first ML model, wherein the first ML model is executed based on determining that the transformation specified in the first client configuration data matches the transformation specified in the model configuration data;

receiving, from the first ML model, a prediction based upon the input value;

returning the prediction to the target application; and

obtaining updated ML assets that comprise a second ML model and second client configuration data.

13 . The method of claim 12 , wherein the first client configuration data comprises:

an identifier for the feature used to train the first ML model;

a type of the first ML model; and

a minimum version of the target application with which the first ML model is compatible.

14 . The method of claim 12 , wherein the model configuration data comprises a training parameter for the first ML model.

15 . The method of claim 12 , wherein the transformation specified in the first client configuration data comprises one or more of: capping, summing, and dividing, and wherein the transformation specified in the first client configuration data further comprises one or more of: data type conversion, and syntax conversion of an identifier for the feature.

16 . The method of claim 12 , further comprising transmitting telemetry data, wherein the updated ML assets are generated based on the transmitted telemetry data.

17 . The method of claim 16 , wherein the telemetry data is indicative of whether the prediction received from the first ML model is correct.

18 . A non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform a set of operations comprising:

receiving an application programming interface (API) call from a target application;

locating machine learning (ML) assets based on the API call, the ML assets comprising a first ML model and first client configuration data, wherein the first client configuration data specifies a feature and a transformation;

acquiring a value for the feature specified by the first client configuration data;

performing the transformation on the value to generate an input value;

comparing the transformation specified in the first client configuration data to a transformation specified in model configuration data of the first ML model;

providing the input value as input to the first ML model, wherein the first ML model is executed based on determining that the transformation specified in the first client configuration data matches the transformation specified in the model configuration data;

receiving, from the first ML model, a prediction based upon the input value;

returning the prediction to the target application; and

in response to returning the prediction to the target application, locating updated ML assets, the updated ML assets comprising a second ML model and second client configuration data.

19 . The non-transitory computer-readable medium of claim 18 , wherein the model configuration data comprises one or more training parameters for the first ML model.