IP Library Granted Patent US 11,853,277
Granted Patent B2
US 11,853,277 · App. 18/162,579 · Granted Dec 26, 2023

Model ML registry and model serving

Inventors: Aaron Daniel Davidson (Berkeley, CA); Tomas Nykodym (San Francisco, CA); Clemens Mewald (Lafayette, CA)
Assignee: Databricks, Inc.
G06F16/219G06F16/955G06N5/022
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 11,853,277
App. No.
18/162,579
Granted
Dec 26, 2023
Kind
B2
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 (43)

1. A method comprising:

maintaining one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;

receiving, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;

extracting, from the URL API request, a version indicator associated with the request;

identifying a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;

executing the identified process to perform the request; and

providing results of the execution to the client device as a response to the request.

2. The method of claim 1 , wherein the version indicator is a version tag or a version number.

3. The method of claim 2 , wherein the version tag comprises a production version tag or a staging version tag.

4. The method of claim 1 , further comprising:

determining if a version indicator associated with the machine-learned model is updated; and

in response to determining that the version indicator is updated, updating the proxy redirect table with updated version indicator information.

5. The method of claim 1 , wherein executing the request using the identified process further comprises providing the identified process access to data associated with the request.

6. The method of claim 1 , wherein the request comprises a command, and wherein a type of command further comprises an invoke command, a health command, and a ping command.

7. A non-transitory computer-readable storage medium comprising stored instructions executable by a processor, the instructions when executed causing the processor to:

maintain one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;

receive, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;

extract, from the URL API request, a version indicator associated with the request;

identify a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;

execute the identified process to perform the request; and

provide results of the execution to the client device as a response to the request.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the version indicator is a version tag or a version number.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the version tag comprises a production version tag or a staging version tag.

10. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions when executed causing the processor to:

determine that a version indicator associated with a version of a machine-learned model is updated; and

in response to determining that the version indicator is updated, update the proxy redirect table with updated version indicator information.

11. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions when executed causing the processor to provide the identified process access to data associated with the request.

12. The non-transitory computer-readable storage medium of claim 7 , wherein a request comprises a command, and wherein a type of command further comprises an invoke command, a health command, and a ping command.

13. A computer system, comprising:

a computer processor; and

a memory comprising stored instructions that when executed by the computer processor causes the computer system to:

maintain one or more processes, each process configured to execute a machine-learned model, and wherein the machine-learned model for a process is associated with a version indicator;

receive, from a client device, a request to perform inference using the machine-learned model, wherein the request is in a form of a universal resource location (URL) application programming interface (API) request;

extract, from the URL API request, a version indicator associated with the request;

identify a process in the one or more processes with a matching version indicator to the extracted version indicator for the request, which further comprises querying a proxy server redirect table using a model name and the extracted version indicator to determine routing information for the process;

execute the identified process to perform the request; and

provide results of the execution to the client device as a response to the request.

14. The computer system of claim 13 , wherein the version indicator is a version tag or a version number.

15. The computer system of claim 14 , wherein the version tag comprises a production version tag or a staging version tag.

16. The computer system of claim 13 , further comprising instructions when executed causing the computer system to:

determine that a version indicator associated with a version of a machine-learned model is updated; and

in response to determining that the version indicator is updated, update the proxy redirect table with updated version indicator information.

17. The computer system of claim 13 , wherein the instructions when executed causing the processor to provide the identified process access to data associated with the request.

Assignments (3)
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 64775 FRAME: 261. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 13, 2024
From: DAVIDSON, AARON DANIEL; NYKODYM, TOMAS; MEWALD, CLEMENS
To: DATABRICKS, INC.
Reel/Frame 068967/0573 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: DAVIDSON, AARON DANIEL; NYKODYM, TOMAS; MEWALD, CLEMENS
To: DATABRICKS INC.
Reel/Frame 064775/0261 →
Continuity (3)
Continuation 17324907 · May 19, 2021
Provisional Application 63080569 · Sep 18, 2020
Related Publication 20230177031A1 · Jun 8, 2023