IP Library Granted Patent US 12,405,846
Granted Patent B2
US 12,405,846 · App. 18/742,927 · Granted Sep 2, 2025

Providing application programming interface endpoints for machine learning models

Inventors: David Lisuk (New York, NY); Simon Slowik (London, GB)
Assignee: Palantir Technologies Inc.
G06F9/547G06F9/45558G06N20/00H04L67/133G06F2009/45562G06F2009/45591G06F2009/45595
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,405,846
App. No.
18/742,927
Granted
Sep 2, 2025
Kind
B2
Abstract

One or more virtual machines are launched at an application platform. At each of the one or more virtual machines, a machine learning model execution environment is instantiated for an instance of a machine learning model. A respective instance of the machine learning model is loaded to each machine learning model execution environment. Each loaded instance of the machine learning model is associated with an application programming interface (API) endpoint which can receive input data for the loaded instance of the machine learning model from a client device and return output data produced by the loaded instance of the machine learning model based on the input data.

Claims (45)

1. A method, comprising:

receiving a request, from a client device, the request comprising input data for a desired machine learning model;

selecting an execution environment with a loaded instance of the desired machine learning model by:

identifying one or more active virtual machines that are associated with an application programming interface (API) endpoint;

determining a virtual machine of the one or more active virtual machines with an available execution environment that has the loaded instance of the desired machine learning model; and

selecting the available execution environment to be the execution environment; and

instructing the API endpoint to forward the input data to the selected execution environment to obtain output data that is returned to the client device.

2. The method of claim 1 , wherein the API endpoint is associated with the desired machine learning model, and wherein the request includes an identifier of the API endpoint.

3. The method of claim 1 , wherein the determined virtual machine is not being used in conjunction with input data of any other client device.

4. The method of claim 1 , further comprising:

preloading a dataset associated with the desired machine learning model into one or more memories that is accessible by the selected execution environment.

5. The method of claim 1 , further comprising:

generating a notification indicating the selected execution environment is ready for operation, the notification including an address of the API endpoint.

6. A system, comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the system to perform a set of operations, the set of operations comprising:

receiving a request, from a client device, the request comprising input data for a desired machine learning model;

selecting an execution environment with a loaded instance of the desired machine learning model by:

identifying one or more active virtual machines that are associated with an application programming interface (API) endpoint;

determining a virtual machine of the one or more active virtual machines with an available execution environment that has the loaded instance of the desired machine learning model; and

selecting the available execution environment to be the execution environment; and

instructing the API endpoint to forward the input data to the selected execution environment to obtain output data that is returned to the client device.

7. The system of claim 6 , wherein the API endpoint is associated with the desired machine learning model, and wherein the request includes an identifier of the API endpoint.

8. The system of claim 6 , wherein the determined virtual machine is not being used in conjunction with input data of any other client device.

9. The system of claim 6 , wherein the input data comprises client identifiers that are associated with client account information, and wherein the client account information comprises one or more from the group of: client location, gender, account details, and previous purchases.

10. The system of claim 6 , wherein the set of operations further comprises:

preloading a dataset associated with the desired machine learning model into one or more memories that is accessible by the selected execution environment.

11. The system of claim 6 , wherein the set of operations further comprises:

generating a notification indicating the selected execution environment is ready for operation, the notification including an address of the API endpoint.

12. A non-transitory computer-readable storage medium comprising instructions that when executed by one or more processors cause the one or more processors to perform a set of operations comprising:

receiving a request, from a client device, the request comprising input data for a desired machine learning model;

selecting an execution environment with a loaded instance of the desired machine learning model by:

identifying one or more active virtual machines that are associated with an application programming interface (API) endpoint;

determining a virtual machine of the one or more active virtual machines with an available execution environment that has the loaded instance of the desired machine learning model; and

selecting the available execution environment to be the execution environment; and

instructing the API endpoint to forward the input data to the selected execution environment to obtain output data that is returned to the client device.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the API endpoint is associated with the desired machine learning model.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the request includes an identifier of the API endpoint.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the determined virtual machine is not being used in conjunction with input data of any other client device.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the input data comprises client identifiers that are associated with client account information.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the client account information comprises one or more from the group of: client location, gender, account details, and previous purchases.

18. The non-transitory computer-readable storage medium of claim 12 , wherein the set of operations further comprises:

preloading a dataset associated with the desired machine learning model into one or more memories that is accessible by the selected execution environment.

19. The non-transitory computer-readable storage medium of claim 12 , wherein the set of operations further comprises generating a notification indicating the selected execution environment is ready for operation.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the notification includes an address of the API endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2024
From: LISUK, DAVID; SLOWIK, SIMON
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 067764/0337 →
Continuity (5)
Continuation 18139663 · Apr 26, 2023
Continuation 17680859 · Feb 25, 2022
Continuation 16990233 · Aug 11, 2020
Provisional Application 62889942 · Aug 21, 2019
Related Publication 20240411628A1 · Dec 12, 2024
References Cited (15)
US 9485234B1 · Roth · 2016 [cited by applicant]
US 10747600B2 · Neijenhuis · 2020 [cited by applicant]
US 10831519B2 · Faulhaber, Jr. · 2020 [cited by examiner]
US 11170309B1 · Stefani et al. · 2021 [cited by applicant]
US 11257002B2 · Faulhaber, Jr. · 2022 [cited by applicant]
US 11269657B2 · Banerjee · 2022 [cited by applicant]
US 11288110B2 · Lisuk · 2022 [cited by applicant]
US 20150199208A1 · Huang · 2015 [cited by applicant]
US 20190155633A1 · Faulhaber, Jr. · 2019 [cited by applicant]
US 20200074241A1 · Mahmood · 2020 [cited by applicant]
US 20200167437A1 · Kasaragod · 2020 [cited by applicant]
US 20200311617A1 · Swan · 2020 [cited by applicant]
US 20210055977A1 · Lisuk · 2021 [cited by applicant]
EP 3783482 · 2021 [cited by applicant]
Extended European Search Report mailed Dec. 18, 2020, in Application No. 20192015.4. [cited by applicant]