# US 12,117,983 B2 · Model ML registry and model serving

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,983 B2
- Document ID: US12117983B2
- Status: Granted
- Kind: B2
- Application number: 18/512,028
- Filed: 2023-11-17
- Published: 2024-05-09
- Granted: 2024-10-15
- Earliest claimed: 2020-09-18
- Assignees: Databricks, Inc.
- Applicants: Databricks, Inc.
- Inventors: Aaron Daniel Davidson; Clemens Mewald; Tomas Nykodym
- Web page: https://patentgrep.com/patent/US12117983B2

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- G06N 20/00: Machine learning
- G06F 8/35: model driven
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system includes an interface, a processor, and a memory. The interface is configured to receive a version of a model from a model registry. The processor is configured to store the version of the model, start a process running the version of the model, and update a proxy with version information associated with the version of the model, wherein the updated proxy indicates to redirect an indication to invoke the version of the model to the process. The memory is coupled to the processor and configured to provide the processor with instructions.

## Claims

### Claim 1

A method comprising:
receiving, by a model server system, an application programming interface (API) request to execute a machine learning model hosted by the model server system, the API request including execution data and a version indicator identifying a first version of the machine learning model to execute the API request, wherein the model server system hosts at least two different versions of the machine learning model and the API request was initiated by an application executing on a client device that is remote to the model server system;
identifying the first version of the machine learning model based on the version indicator included in the API request;
generating an input based on the execution data included in the API request;
generating an output by providing the input to the first version of the machine learning model; and
providing, to the client device, a response to the API request, the response having been generated based on the output.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application is a chat application.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving, by the model server system, a subsequent API request to execute the machine learning model, the subsequent API request including a version indicator identifying a second version of the machine learning model, the second version of the machine learning model being different than the first version of the machine learning model;
identifying the second version of the machine learning model based on the version indicator included in the subsequent API request;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second version of the machine learning model; and
providing a response to the subsequent API request, the response to the subsequent API request having been generated based on the subsequent output.

### Claim 4 (depends on 1)

The method of claim 1, wherein identifying the first version of the machine learning model based on the version indicator included in the API request comprises:
querying a proxy server redirect table based on the version indicator included in the API request to determine routing information for the first version of the machine learning model.

### Claim 5 (depends on 4)

The method of claim 4, wherein providing the input to the first version of the machine learning model comprises routing the input to an endpoint based on the routing information for the first version of the machine learning model.

### Claim 6 (depends on 1)

The method of claim 1, wherein the API request further includes an authentication token.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
authenticating the API request based on the authentication token.

### Claim 8

A computer system comprising:
one or more computer processors; and
one or more computer-readable mediums storing instruction that, when executed by the one or more computer processors, cause the computer system to perform operations comprising:
receiving an application programming interface (API) request to execute a machine learning model hosted by the model server system, the API request including execution data and a version indicator identifying a first version of the machine learning model to execute the API request, wherein the model server system hosts at least two different versions of the machine learning model and the API request was initiated by an application executing on a client device that is remote to the model server system;
identifying the first version of the machine learning model based on the version indicator included in the API request;
generating an input based on the execution data included in the API request;
generating an output by providing the input to the first version of the machine learning model; and
providing, to the client device, a response to the API request, the response having been generated based on the output.

### Claim 9 (depends on 8)

The computer system of claim 8, wherein the application is a chat application.

### Claim 10 (depends on 8)

The computer system of claim 8, wherein the operations further comprise:
receiving a subsequent API request to execute the machine learning model, the subsequent API request including a version indicator identifying a second version of the machine learning model, the second version of the machine learning model being different than the first version of the machine learning model;
identifying the second version of the machine learning model based on the version indicator included in the subsequent API request;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second version of the machine learning model; and
providing a response to the subsequent API request, the response to the subsequent API request having been generated based on the subsequent output.

### Claim 11 (depends on 8)

The computer system of claim 8, wherein identifying the first version of the machine learning model based on the version indicator included in the API request comprises:
querying a proxy server redirect table based on the version indicator included in the API request to determine routing information for the first version of the machine learning model.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein providing the input to the first version of the machine learning model comprises routing the input to an endpoint based on the routing information for the first version of the machine learning model.

### Claim 13 (depends on 8)

The computer system of claim 8, wherein the API request further includes an authentication token.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the operations further comprise:
authenticating the API request based on the authentication token.

### Claim 15

A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a computer system, cause the computer system to perform operations comprising:
receiving an application programming interface (API) request to execute a machine learning model hosted by the model server system, the API request including execution data and a version indicator identifying a first version of the machine learning model to execute the API request, wherein the model server system hosts at least two different versions of the machine learning model and the API request was initiated by an application executing on a client device that is remote to the model server system;
identifying the first version of the machine learning model based on the version indicator included in the API request;
generating an input based on the execution data included in the API request;
generating an output by providing the input to the first version of the machine learning model; and
providing, to the client device, a response to the API request, the response having been generated based on the output.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the application is a chat application.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
receiving a subsequent API request to execute the machine learning model, the subsequent API request including a version indicator identifying a second version of the machine learning model, the second version of the machine learning model being different than the first version of the machine learning model;
identifying the second version of the machine learning model based on the version indicator included in the subsequent API request;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second version of the machine learning model; and
providing a response to the subsequent API request, the response to the subsequent API request having been generated based on the subsequent output.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein identifying the first version of the machine learning model based on the version indicator included in the API request comprises:
querying a proxy server redirect table based on the version indicator included in the API request to determine routing information for the first version of the machine learning model.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18, wherein providing the input to the first version of the machine learning model comprises routing the input to an endpoint based on the routing information for the first version of the machine learning model.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise:
authenticating the API request based on an authentication token included in the API request.
