IP Library Granted Patent US 12,585,982
Granted Patent B2
US 12,585,982 · App. 17/450,353 · Granted Mar 24, 2026

Model management using containers

Inventors: Hsien-Chiao Lee (Chino, CA); Jonathan Bender (Truckee, CA)
Assignee: STRIPE, LLC
G06N20/00
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,585,982
App. No.
17/450,353
Granted
Mar 24, 2026
Kind
B2
Abstract

The subject technology receives a first request to deploy a first machine learning model, the first request including information indicating an identifier associated with the first machine learning model. The subject technology determines, based at least in part on the first machine learning model, a set of dependent machine learning models. The subject technology selects a first container environment to deploy the first machine learning model and the set of dependent machine learning models. The subject technology, based on the selected first container environment, executes an instance of an application in the selected first container environment, the first machine learning model and the set of dependent machine learning models being deployed as part of the instance of the application.

Claims (67)

1 . A method comprising:

receiving a first request to deploy a first machine learning model, the first request including information indicating an identifier associated with the first machine learning model;

determining, based at least in part on the first machine learning model, a set of dependent machine learning models;

comparing computing resource requirements of the first machine learning model and the set of dependent machine learning models with available computing resources of a set of candidate clusters configured for execution of different machine learning models;

selecting, from the set of candidate clusters, a first container environment comprising at least one cluster of the set of candidate clusters to deploy the first machine learning model and the set of dependent machine learning models, wherein the selection is based on an amount of computing resources associated with this deployment; and

based on the selected first container environment, executing an instance of an application in the selected first container environment, the first machine learning model and the set of dependent machine learning models being deployed as part of the instance of the application.

2 . The method of claim 1 , wherein the first request includes information indicating a model tag corresponding to the first machine learning model and selecting the first container environment is based at least in part on the model tag.

3 . The method of claim 2 , further comprising:

querying a model registry based on the model tag; and

receiving information related to the model tag from the querying, the information comprising respective model tags associated with each machine learning model from the set of dependent machine learning models.

4 . The method of claim 1 , further comprising:

generating a first identifier associated with the first machine learning model, the first identifier indicating a particular version of the first machine learning model based at least in part on the identifier included in the first request; and

updating a model registry based on the generated first identifier and a model tag to associate the first machine learning model with the first container environment where the first machine learning model is deployed.

5 . The method of claim 4 , further comprising:

receiving a second request, the second request comprising information related to a job including at least one operation for the first machine learning model to perform;

querying the model registry to locate information related to the first machine learning model;

receiving the information related to the first machine learning model, the information including the first identifier associated with the first machine learning model;

based on the first identifier, routing the second request to the first container environment for the first machine learning model to perform the at least one operation;

sending a third request to perform the at least one operation utilizing the first machine learning model included in the instance of the application that is executing in the first container environment; and

receiving information including a result of performing the at least one operation.

6 . The method of claim 5 , further comprising:

detecting that a different instance of the first machine learning model is included in a different container environment from the first container environment, the different instance of the first machine learning model comprising a previous version of the first machine learning model than the particular version of the first machine learning model included in the instance of the application executing in the first container environment; and

ceasing execution of the different container environment and the different instance of the first machine learning model.

7 . The method of claim 5 , wherein the job includes a second operation and further comprising:

sending a fourth request to perform the second operation utilizing a second machine learning model included with the set of dependent machine learning models deployed as part of the instance of the application; and

receiving information including a particular result of performing the second operation by the second machine learning model.

8 . The method of claim 7 , wherein the first machine learning model comprises a prediction model and the job includes a set of operations for a prediction to be performed by the first machine learning model, and the first machine learning model relies upon the information including the particular result of performing the second operation by the second machine learning model.

9 . The method of claim 1 , wherein the first container environment comprises a cluster, the cluster including at least one computing node, the at least one computing node comprises at least one pod, the instance of the application executes in the at least one pod.

10 . The method of claim 1 , further comprising:

storing the first machine learning model and the set of dependent machine learning models into volatile memory provided by the selected first container environment, the volatile memory comprising a cache associated with the selected first container environment.

11 . A system comprising:

a network;

one or more processors; and

a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the at least one processor to perform operations comprising:

receiving a first request to deploy a first machine learning model, the first request including information indicating an identifier associated with the first machine learning model;

determining, based at least in part on the first machine learning model, a set of dependent machine learning models;

comparing computing resource requirements of the first machine learning model and the set of dependent machine learning models with available computing resources of a set of candidate clusters configured for execution of different machine learning models;

selecting, from a set of candidate clusters, a first container environment comprising at least one cluster of the set of candidate clusters to deploy the first machine learning model and the set of dependent machine learning models, wherein the selection is based on an amount of computing resources associated with this deployment; and

based on the selected first container environment, executing an instance of an application in the selected first container environment, the first machine learning model and the set of dependent machine learning models being deployed as part of the instance of the application.

12 . The system of claim 11 , wherein the first request includes information indicating a model tag corresponding to the first machine learning model and selecting the first container environment is based at least in part on the model tag.

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

querying a model registry based on the model tag; and

receiving information related to the model tag from the querying, the information comprising respective model tags associated with each machine learning model from the set of dependent machine learning models.

14 . The system of claim 11 , wherein the operations further comprise:

generating a first identifier associated with the first machine learning model, the first identifier indicating a particular version of the first machine learning model based at least in part on the identifier included in the first request; and

updating a model registry based on the generated first identifier and a model tag to associate the first machine learning model with the first container environment where the first machine learning model is deployed.

15 . The system of claim 14 , wherein the operations further comprise:

receiving a second request, the second request comprising information related to a job including at least one operation for the first machine learning model to perform;

querying the model registry to locate information related to the first machine learning model;

receiving the information related to the first machine learning model, the information including the first identifier associated with the first machine learning model;

based on the first identifier, routing the second request to the first container environment for the first machine learning model to perform the at least one operation;

sending a third request to perform the at least one operation utilizing the first machine learning model included in the instance of the application that is executing in the first container environment; and

receiving information including a result of performing the at least one operation.

16 . The system of claim 15 , wherein the operations further comprise:

detecting that a different instance of the first machine learning model is included in a different container environment from the first container environment, the different instance of the first machine learning model comprising a previous version of the first machine learning model than the particular version of the first machine learning model included in the instance of the application executing in the first container environment; and

ceasing execution of the different container environment and the different instance of the first machine learning model.

17 . The system of claim 15 , wherein the job includes a second operation and wherein the operations further comprise:

sending a fourth request to perform the second operation utilizing a second machine learning model included with the set of dependent machine learning models deployed as part of the instance of the application; and

receiving information including a particular result of performing the second operation by the second machine learning model.

18 . The system of claim 17 , wherein the first machine learning model comprises a prediction model and the job includes a set of operations for a prediction to be performed by the first machine learning model, and the first machine learning model relies upon the information including the particular result of performing the second operation by the second machine learning model.

19 . The system of claim 11 , wherein the first container environment comprises a cluster, the cluster including at least one computing node, the at least one computing node comprises at least one pod, the instance of the application executes in the at least one pod.

20 . A non-transitory machine-readable medium comprising instructions which, when read by a machine, cause the machine to perform operations comprising:

receiving a first request to deploy a first machine learning model, the first request including information indicating an identifier associated with the first machine learning model;

determining, based at least in part on the first machine learning model, a set of dependent machine learning models;

comparing computing resource requirements of the first machine learning model and the set of dependent machine learning models with available computing resources of a set of candidate clusters configured for execution of different machine learning models;

selecting, from a set of candidate clusters, a first container environment comprising at least one cluster of the set of candidate clusters to deploy the first machine learning model and the set of dependent machine learning models, wherein the selection is based on an amount of computing resources associated with this deployment; and

based on the selected first container environment, executing an instance of an application in the selected first container environment, the first machine learning model and the set of dependent machine learning models being deployed as part of the instance of the application.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2026
From: STRIPE, INC.
To: STRIPE, LLC
Reel/Frame 074264/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2023
From: LEE, HSIEN-CHIAO; BENDER, JONATHAN
To: STRIPE, INC.
Reel/Frame 062394/0953 →
Continuity (1)
Related Publication 20230111775A1 · Apr 13, 2023
References Cited (6)
US 11593704B1 · Jenatton · 2023 [cited by examiner]
US 11797876B1 · Wang · 2023 [cited by examiner]
US 20210117859A1 · Rogers · 2021 [cited by examiner]
US 20220083363A1 · Lewis · 2022 [cited by examiner]
US 20220292303A1 · Cao · 2022 [cited by examiner]
US 20240281242A1 · Shinohara · 2024 [cited by examiner]