IP Library Granted Patent US 12,657,058
Granted Patent B2
US 12,657,058 · App. 18/732,320 · Granted Jun 16, 2026

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/485G06F9/4881G06F9/50G06F9/5005G06F9/5044G06F9/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,657,058
App. No.
18/732,320
Granted
Jun 16, 2026
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 (69)

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 a historical quality metric for each machine-learning model of a plurality of machine-learning models based on historical user feedback data about executing tasks using one or more machine-learning models of the plurality of machine-learning models;

selecting a primary machine-learning model for executing the task and a fallback machine-learning model for executing the task if the primary machine-learning model is unavailable based on the workload features defining the estimated computational requirements for executing the task and a first historical quality metric for the primary machine-learning model and a second historical quality metric for the fallback machine-learning model; and

based on detecting that the primary machine-learning model is unavailable prior to executing the task, providing the workload data to a computing environment of the fallback machine-learning model for executing the task.

2 . The computer-implemented method of claim 1 , wherein extracting the 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.

3 . The computer-implemented method of claim 1 , wherein selecting the primary machine-learning model and the fallback machine-learning model further comprises:

generating optimization metrics for each machine-learning model of a plurality of machine-learning models; and

selecting the primary machine-learning model and the fallback machine-learning model based on the optimization metrics.

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

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

selecting the primary machine-learning model based in part on a first model state of the primary machine-learning model; and

selecting the fallback machine-learning model based in part on a second model state of the fallback machine-learning model.

5 . The computer-implemented method of claim 1 , wherein selecting the primary machine-learning model and the fallback machine-learning model further comprises:

determining, based on the workload features, 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 in a plurality of machine-learning models; and

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

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

selecting an additional machine-learning model for executing the task based on the workload features; and

based on detecting that the fallback machine-learning model is unavailable, providing the workload data to a computing environment of the additional machine-learning model for executing the task.

7 . The computer-implemented method of claim 1 , further comprising selecting a trained machine-learning model as the primary machine-learning model and a third-party trained machine-learning model as the fallback machine-learning model.

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

detecting that the primary machine-learning model is unavailable based on identifying that a first hardware environment associated with the primary machine-learning model is unavailable to execute the task; and

providing the workload data to a second hardware environment associated with the fallback machine-learning model based on identifying that the second hardware environment is available to execute the task.

9 . The computer-implemented method of claim 1 , wherein selecting the primary machine-learning model and the fallback machine-learning model further comprises:

performing a software domain analysis of each machine-learning model of a plurality of machine-learning models for executing the task; and

selecting the primary machine-learning model and the fallback machine-learning model based on the software domain analysis.

10 . 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 for a plurality of machine-learning models hosted in respective network environments;

determine a historical quality metric for each machine-learning model of a plurality of machine-learning models based on historical user feedback data about executing tasks using one or more machine-learning models of the plurality of machine-learning models;

select a primary machine-learning model for executing the task and a fallback machine-learning model from the plurality of machine-learning models for executing the task if the primary machine-learning model is unavailable based on the workload features defining the estimated computational requirements for executing the task and a first historical quality metric for the primary machine-learning model and a second historical quality metric for the fallback machine-learning model; and

based on detecting that the primary machine-learning model is unavailable prior to executing the task, provide the workload data to a computing environment of the fallback machine-learning model for executing the task.

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

determining task routing metrics for the plurality of machine-learning models by 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

selecting, from the plurality of machine-learning models, the primary machine-learning model and the fallback machine-learning model based on two or more of the financial cost metric, the execution time metric, the execution cost metric, or the model fit metric for executing the task.

12 . The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the primary machine-learning model and the fallback machine-learning model by:

generating, based on the workload data and the task routing metrics, an optimization metric for each machine-learning model of the plurality of machine-learning models; and

selecting the primary machine-learning model and the fallback machine-learning model from the plurality of machine-learning models based on a first optimization metric for the primary machine-learning model and a second optimization metric for the fallback machine-learning model.

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

select the primary machine-learning model and the fallback machine-learning model by utilizing a model selection machine-learning model to select the primary machine-learning model and the fallback machine-learning model;

receive user feedback data indicating a user satisfaction with the fallback machine-learning model executing the task; and

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

14 . The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select the primary machine-learning model and the fallback machine-learning model by:

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

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

15 . The non-transitory computer-readable medium of claim 10 , further comprising instructions that, when executed by the at least one processor, cause the computer system to select a trained machine-learning model as the primary machine-learning model and a third-party trained machine-learning model as the fallback machine-learning model.

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 a historical quality metric for each machine-learning model of a plurality of machine-learning models based on historical user feedback data about executing tasks using one or more machine-learning models of the plurality of machine-learning models;

select, utilizing a model selection machine-learning model, a primary machine-learning model for executing the task and a fallback machine-learning model for executing the task if the primary machine-learning model is unavailable based on the workload features defining the estimated computational requirements for executing the task and a first historical quality metric for the primary machine-learning model and a second historical quality metric for the fallback machine-learning model; and

based on detecting that the primary machine-learning model is unavailable prior to executing the task, provide the workload data to a computing environment of the fallback machine-learning model for executing the task.

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

utilize the model selection machine-learning model to compare each machine-learning model in a plurality of machine-learning models based on the workload features, where the plurality of machine-learning models comprises one or more trained models and one or more third-party trained models; and

select the primary machine-learning model and the fallback 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:

train the model selection machine-learning model based on task routing metrics of a plurality of machine-learning models, where the plurality of machine-learning models comprises the primary machine-learning model and the fallback machine-learning model;

receive additional task routing metrics 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.

19 . 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 primary machine-learning model; and

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

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, an optimization metric for each machine-learning model of a plurality of machine-learning models; and

select the primary machine-learning model and the fallback machine-learning model from the plurality of machine-learning models based on a first optimization metric for the primary machine-learning model and a second optimization metric for the fallback machine-learning model.

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 068739/0205 →
Continuity (2)
Provisional Application 63623662 · Jan 22, 2024
Related Publication 20250238333A1 · 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 et al. · 2021 [cited by applicant]
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 applicant]
US 11790242B2 · Agrawal et al. · 2023 [cited by applicant]
US 11983574B1 · Ravindran · 2024 [cited by examiner]
US 12033001B2 · Acharya · 2024 [cited by examiner]
US 20080066070A1 · Markov · 2008 [cited by applicant]
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 et al. · 2019 [cited by applicant]
US 20190266015A1 · Chandra · 2019 [cited by examiner]
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 et al. · 2021 [cited by applicant]
US 20210149729A1 · Wang et al. · 2021 [cited by applicant]
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 applicant]
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 et al. · 2022 [cited by applicant]
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 et al. · 2023 [cited by applicant]
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 et al. · 2023 [cited by applicant]
US 20240104407A1 · McCarthy et al. · 2024 [cited by applicant]
US 20240107347A1 · Pirmagomedov · 2024 [cited by examiner]
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]
Weiss et al., Fail-Safe Execution of Deep Learning based Systems through Uncertainty Monitoring, 2021, IEEE, 12 pages. (Year: 2021). [cited by examiner]
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,297, mailed Aug. 26, 2024, 20 pages. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/732,305, mailed Sep. 24, 2024, 28 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]
Final Office Actio from U.S. Appl. No. 18/732,305 mailed Jan. 3, 2025, 22 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 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]
International Search Report and Written Opinion for Application No. PCT/US2024/059866, mailed on May 22, 2025, 19 pages. [cited by applicant]
Non-Final Office Action from U.S. Appl. No. 18/732,297, mailed May 6, 2025, 37 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,297 mailed on Aug. 20, 2025, 9 pages. [cited by applicant]