IP Library Granted Patent US 12,481,534
Granted Patent B2
US 12,481,534 · App. 18/732,297 · Granted Nov 25, 2025

Dynamically selecting artificial intelligence models and hardware environments to execute tasks

Inventors: Ashok Pancily Poothiyot (San Francisco, CA); Ali Zafar (Fremont, CA); Anthony Penta (Bellevue, WA); Stephen Voorhees (Alamo, CA); Tim Gasser (Austin, TX); Tsung-Hsiang Chang (Bellevue, WA); Geoff Hulten (Lynnwood, WA)
Assignee: Dropbox, Inc.
G06F9/5027G06F9/48G06F9/4806G06F9/4843G06F9/4881G06F9/50G06F9/5005G06F9/5055G06F11/1476G06F11/2023G06F11/2038H04L41/16H04L43/0894G06F2209/501G06F2209/503G06F2209/509
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,481,534
App. No.
18/732,297
Granted
Nov 25, 2025
Kind
B2
Abstract

The present disclosure relates to systems, non-transitory computer-readable media, and methods for selecting machine-learning models and hardware environments for executing a task. In particular, in one or more embodiments, the disclosed systems select a designated machine-learning model for executing a task based on workload features of the task and task routing metrics for a plurality of machine-learning models. In addition, in one or more embodiments, the disclosed systems select a designated hardware environment for executing the task based on workload features for the task and task routing metrics for a plurality of hardware environments. In some embodiments, the disclosed systems select a fallback machine-learning model and a fallback hardware environment for executing the task if the designated machine-learning model or designated hardware environment are unavailable. Moreover, in one or more embodiments, the disclosed systems can pause and initiate tasks based on bandwidth availability.

Claims (73)

1 . A computer-implemented method comprising:

receiving, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;

extracting, from the workload data, workload features defining estimated computational requirements for executing the task;

determining task routing metrics indicating an availability status for a plurality of machine-learning models hosted in respective network environments;

generating a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;

generating an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and

selecting, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.

2 . The computer-implemented method of claim 1 , wherein determining task routing metrics indicating the availability status for the plurality of machine-learning models further comprises:

determining a model state for each machine-learning model of the plurality of machine-learning models; and

wherein selecting the designated machine-learning model for executing the task is based in part on the model state of the designated machine-learning model.

3 . The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of machine-learning models further comprises:

determining a financial cost metric, an execution time metric, an execution cost metric, or a model fit metric for executing the task on each machine-learning models of the plurality of machine-learning models; and

wherein selecting the designated machine-learning model is based on two or more of the financial cost metric, the execution time metric, the execution cost metric, and the model fit metric.

4 . The computer-implemented method of claim 1 , wherein selecting the designated machine-learning model further comprises:

analyzing the workload data and the task routing metrics for the plurality of machine-learning models to determine an optimal machine-learning model for executing the task from the plurality of machine-learning models; and

selecting the designated machine-learning model for executing the task based on determining that the designated machine-learning model is the optimal machine-learning model for executing the task.

5 . The computer-implemented method of claim 4 , wherein determining that the designated machine-learning model is the optimal machine-learning model further comprises:

generating, utilizing the model selection machine-learning model, the optimization metric for each machine-learning model of the plurality of machine-learning models; and

determining that the designated machine-learning model is the optimal machine-learning model for executing the task based on comparing the optimization metric of each machine learning model of the plurality of machine-learning models.

6 . The computer-implemented method of claim 1 , further comprising: selecting, utilizing the model selection machine-learning model, a designated data storage for the task.

7 . The computer-implemented method of claim 1 , wherein extracting workload features defining estimated computational requirements for executing the task further comprises determining an estimated processing requirement and an estimated storage requirement for executing the task.

8 . The computer-implemented method of claim 1 , further comprising:

adding an additional machine-learning model to the plurality of machine-learning models to establish an updated plurality of machine-learning models; and

selecting the designated machine-learning model from the updated plurality of machine-learning models.

9 . The computer-implemented method of claim 1 , further comprising:

accessing user feedback metrics about executing tasks using one or more machine-learning models of the plurality of machine-learning models;

generating a historical quality metric based on the user feedback metrics; and

selecting the designated machine-learning model for the task based on the historical quality metric.

10 . The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of machine-learning models further comprises:

identifying a capability or a specialty associated with one or more machine-learning models of the plurality of machine-learning models; and

wherein selecting the designated machine-learning model for executing the task is based on alignment of the capability or the specialty of the designated machine-learning model with the task.

11 . A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to:

receive, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;

extract, from the workload data, workload features defining estimated computational requirements for executing the task;

determine task routing metrics indicating an availability status for a plurality of machine-learning models comprising one or more trained machine-learning models and one or more third-party machine-learning models hosted in respective network environments;

generate a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;

generate an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and

select, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.

12 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

identify, based on an updated availability status for the designated machine-learning model, that the designated machine-learning model is unavailable; and

select a fallback machine-learning model from the plurality of machine-learning models for executing the task.

13 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the designated machine-learning model by:

determining, based on the task routing metrics, a financial cost metric for executing the task on each machine-learning model of the plurality of machine-learning models; and

selecting the designated machine-learning model based in part on the financial cost metric.

14 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

determine, based on the workload data and the task routing metrics, that a trained machine-learning model of the one or more trained machine-learning models is an optimal model for executing the task;

identify that the trained machine-learning model is unavailable; and

select the designated machine-learning model from the one or more third-party machine-learning models based on identifying that the trained machine-learning model is unavailable.

15 . The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the designated machine-learning model by:

identifying, based on the workload data, that executing the task requires a machine-learning model comprising a capability or a specialty;

identifying that a third-party machine-learning model of the one or more third-party machine-learning models comprises the capability or the specialty; and

selecting the third-party machine-learning model as the designated machine-learning model for executing the task based on alignment of the capability or the specialty of the third-party machine-learning model with the task.

16 . A system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:

receive, from a device connected by a network to a content management system, workload data requesting execution of a task using a machine-learning model;

extract, from the workload data, workload features defining estimated computational requirements for executing the task;

determine task routing metrics indicating an availability status for a plurality of machine-learning models hosted in respective network environments;

generate a software domain analysis by analyzing the plurality of machine-learning models to identify a plurality of common features and a plurality of variable features for machine-learning models of the plurality of machine-learning models;

generate an optimization metric for each machine-learning model of the plurality of machine-learning models based on a combination of the workload features for the task, the software domain analysis, and the task routing metrics; and

select, utilizing a model selection machine-learning model, a designated machine-learning model from the plurality of machine-learning models for executing the task based on a given optimization metric for the designated machine-learning model.

17 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to select the designated machine-learning model by:

utilizing the model selection machine-learning model to compare one or more machine-learning models of the plurality of machine-learning models based on the workload features and the task routing metrics, where the plurality of machine-learning models comprises one or more trained machine-learning models and one or more third-party trained machine-learning models; and

selecting the designated machine-learning model from the plurality of machine-learning models based on an output of the model selection machine-learning model.

18 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive user feedback data indicating a user satisfaction with performance of the designated machine-learning model; and

update parameters of the model selection machine-learning model based on the user feedback data.

19 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive additional task routing metrics indicating an additional availability status for an additional machine-learning model; and

update parameters of the model selection machine-learning model based on the additional task routing metrics of the additional machine-learning model.

20 . The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system to:

generate, utilizing the model selection machine-learning model, the optimization metric for each machine-learning model of the plurality of machine-learning models; and

determine that the designated machine-learning model is an optimal machine-learning model for executing the task based on comparing the optimization metric for each machine-learning model of the plurality of machine-learning models.

Assignments (2)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: POOTHIYOT, ASHOK PANCILY; ZAFAR, ALI; PENTA, ANTHONY; VOORHEES, STEPHEN; GASSER, TIM; CHANG, TSUNG-HSIANG
To: DROPBOX, INC.
Reel/Frame 068738/0521 →
Continuity (2)
Provisional Application 63623662 · Jan 22, 2024
Related Publication 20250238264A1 · Jul 24, 2025
References Cited (80)
US 8938740B2 · Nishihara et al. · 2015 [cited by applicant]
US 9959146B2 · Ahuja et al. · 2018 [cited by applicant]
US 10949252B1 · Krishnamurthy · 2021 [cited by examiner]
US 11302307B2 · Raghavendra et al. · 2022 [cited by applicant]
US 11341420B2 · Loh et al. · 2022 [cited by applicant]
US 11397529B2 · Chen et al. · 2022 [cited by applicant]
US 11527786B1 · Budan et al. · 2022 [cited by applicant]
US 11544604B2 · Poothiyot et al. · 2023 [cited by applicant]
US 11609793B2 · Suh · 2023 [cited by applicant]
US 11645111B2 · Wang et al. · 2023 [cited by applicant]
US 11775867B1 · Jamei · 2023 [cited by examiner]
US 11790242B2 · Agrawal et al. · 2023 [cited by applicant]
US 11983574B1 · Ravindran · 2024 [cited by applicant]
US 12033001B2 · Acharya et al. · 2024 [cited by applicant]
US 20080066070A1 · Markov · 2008 [cited by examiner]
US 20120198466A1 · Cherkasova et al. · 2012 [cited by applicant]
US 20130212277A1 · Bodik et al. · 2013 [cited by applicant]
US 20170090990A1 · Furman et al. · 2017 [cited by applicant]
US 20180027060A1 · Metsch et al. · 2018 [cited by applicant]
US 20190102681A1 · Roberts et al. · 2019 [cited by applicant]
US 20190102700A1 · Babu et al. · 2019 [cited by applicant]
US 20190146848A1 · Rastogi et al. · 2019 [cited by applicant]
US 20190188605A1 · Zavesky et al. · 2019 [cited by applicant]
US 20190197011A1 · Zavesky · 2019 [cited by examiner]
US 20190266015A1 · Chandra et al. · 2019 [cited by applicant]
US 20190303207A1 · Vadapandeshwara et al. · 2019 [cited by applicant]
US 20200012962A1 · Dent et al. · 2020 [cited by applicant]
US 20200372307A1 · Arun et al. · 2020 [cited by applicant]
US 20210089961A1 · Zeise et al. · 2021 [cited by applicant]
US 20210089969A1 · Sengupta · 2021 [cited by examiner]
US 20210149729A1 · Wang · 2021 [cited by examiner]
US 20210224585A1 · Schmidt et al. · 2021 [cited by applicant]
US 20210256422A1 · Unterthiner et al. · 2021 [cited by applicant]
US 20210279576A1 · Shazeer et al. · 2021 [cited by applicant]
US 20210334700A1 · Nagaraja · 2021 [cited by examiner]
US 20220035679A1 · Sunwoo et al. · 2022 [cited by applicant]
US 20220058477A1 · Hu et al. · 2022 [cited by applicant]
US 20220067752A1 · Fang et al. · 2022 [cited by applicant]
US 20220083389A1 · Poothia et al. · 2022 [cited by applicant]
US 20220114026A1 · Cropper et al. · 2022 [cited by applicant]
US 20220207349A1 · Fusco · 2022 [cited by examiner]
US 20220215008A1 · Adibowo · 2022 [cited by applicant]
US 20220237208A1 · Srinivasan et al. · 2022 [cited by applicant]
US 20220318689A1 · Li-Bland et al. · 2022 [cited by applicant]
US 20220374784A1 · Sharma et al. · 2022 [cited by applicant]
US 20230139459A1 · Latkar · 2023 [cited by applicant]
US 20230206134A1 · Kennel · 2023 [cited by examiner]
US 20230252340A1 · Ramanathan et al. · 2023 [cited by applicant]
US 20230259747A1 · Lee et al. · 2023 [cited by applicant]
US 20230333901A1 · Kale et al. · 2023 [cited by applicant]
US 20230376725A1 · Mesmakhosroshahi et al. · 2023 [cited by applicant]
US 20230385129A1 · Johnson et al. · 2023 [cited by applicant]
US 20230409874A1 · Silva Tavares · 2023 [cited by examiner]
US 20240104407A1 · McCarthy et al. · 2024 [cited by applicant]
US 20240107347A1 · Pirmagomedov et al. · 2024 [cited by applicant]
US 20240135247A1 · Johnsson et al. · 2024 [cited by applicant]
US 20240144051A1 · Kirshenboim · 2024 [cited by examiner]
US 20240160491A1 · Taneja et al. · 2024 [cited by applicant]
US 20240289645A1 · Makhijani et al. · 2024 [cited by applicant]
US 20240406166A1 · Bell et al. · 2024 [cited by applicant]
US 20240411603A1 · Beam et al. · 2024 [cited by applicant]
CN 116074179A · 2023 [cited by applicant]
CN 117217201A · 2023 [cited by applicant]
EP 3822865A1 · 2021 [cited by applicant]
JP 7195365B2 · 2022 [cited by applicant]
WO 2019104063A9 · 2020 [cited by applicant]
WO 2023146883A1 · 2023 [cited by applicant]
Gai K., et al., “Optimal Resource Allocation Using Reinforcement Learning for IoT Content-Centric Services,” Applied Soft Computing, 2018, vol. 70, pp. 12-21. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/732,305, mailed Sep. 24, 2024, 28 pages. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/732,320, mailed Aug. 28, 2024, 14 pages. [cited by applicant]
Sharifian S., et al., “A Predictive and Probabilistic Load-Balancing Algorithm for Cluster-Based Web Servers,” Applied Soft Computing, 2011, vol. 11, pp. 970-981. [cited by applicant]
Weiss M., et al., “Fail-Safe Execution of Deep Learning based Systems through Uncertainty Monitoring,” IEEE, Feb. 1, 2021, 12 pages. [cited by applicant]
Final Office Action from U.S. Appl. No. 18/732,305 mailed Jan. 3, 2025, 22 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/732,320 mailed on Nov. 14, 2024, 7 pages. [cited by applicant]
Invitation to Pay Additional Fees for International Application No. PCT/US2024/059866 mailed Mar. 31, 2025, 16 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/732,305 mailed on Apr. 16, 2025, 12 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/732,320 mailed on Apr. 16, 2025, 7 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2024/059866, mailed on May 22, 2025, 19 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/732,305 mailed on Jun. 3, 2025, 2 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/732,305 mailed on May 22, 2025, 11 pages. [cited by applicant]
Cited By (1)
US 12,688,108