IP Library Granted Patent US 12,386,667
Granted Patent B2
US 12,386,667 · App. 18/732,305 · Granted Aug 12, 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/5027
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,386,667
App. No.
18/732,305
Granted
Aug 12, 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 (76)

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 characteristics of the task;

determining task routing metrics for a plurality of hardware environments hosted in respective network environments and a plurality of machine-learning models in respective network environments;

determining a historical quality metric indicating how one or more machine learning models of the plurality of machine-learning models will execute the task based on one or more user feedback metrics; and

selecting, based on an output of a model selection machine-learning model that utilizes the historical quality metric, from the plurality of hardware environments and from the plurality of machine-learning models, a designated hardware environment and a designated machine-learning model for executing the task based on the workload features and the task routing metrics.

2. The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of hardware environments further comprises:

determining a hardware state for each hardware environment of the plurality of hardware environments; and

wherein selecting, from the plurality of hardware environments, the designated hardware environment for executing the task is based in part on the hardware state of the designated hardware environment.

3. The computer-implemented method of claim 1 , wherein determining task routing metrics for the plurality of hardware environments 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 hardware environment of the plurality of hardware environments; and

wherein selecting, from the plurality of hardware environments, the designated hardware environment for executing the task 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 hardware environment further comprises:

analyzing the workload data and the task routing metrics for the plurality of hardware environments 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 from the plurality of machine-learning models.

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 a smart pocket machine-learning model, an optimization metric; and

determining that the designated machine-learning model is the optimal machine-learning model based on the optimization metric.

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

7. The computer-implemented method of claim 1 , wherein selecting the designated hardware environment further comprises:

analyzing the workload data and the task routing metrics for the plurality of hardware environments of the plurality of hardware environments, wherein the plurality of hardware environments comprises one or more hardware environments and one or more third-party hardware environments; and

selecting the designated hardware environment for executing the task based on analyzing the workload data and the task routing metrics.

8. The computer-implemented method of claim 1 , wherein selecting the designated hardware environment further comprises:

performing probabilistic load balancing of each hardware environments of the plurality of hardware environments for executing the task; and

selecting the designated hardware environment based on the probabilistic load balancing.

9. The computer-implemented method of claim 1 , wherein selecting the designated hardware environment further comprises:

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

determining the historical quality metric indicating how the one or more machine-learning models of the plurality of machine-learning models will execute the task based on the one or more user feedback metrics; and

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

10. The computer-implemented method of claim 1 , wherein selecting the designated hardware environment further comprises:

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

selecting the designated machine-learning model for executing the task based on alignment of the capability or the specialty of the designated hardware environment 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 characteristics of the task;

determine task routing metrics for a plurality of hardware environments hosted in respective network environments and a plurality of machine-learning models in respective network environments;

determine a historical quality metric indicating how one or more machine learning models of the plurality of machine-learning models will execute the task based on one or more user feedback metrics; and

select, based on an output of a model selection machine-learning model that utilizes the historical quality metric, from the plurality of hardware environments and from the plurality of machine-learning models and based on the workload features and the task routing metrics:

a first designated hardware environment and a first designated machine-learning model for executing a first portion of the task; and

a second designated hardware environment and a second designated machine-learning model for executing a second portion of the task.

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:

determine a hardware state for each hardware environment of the plurality of hardware environments;

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

select the first designated hardware environment for executing the first portion of the task is based on a first hardware state for the first designated hardware environment and a first model state for a first machine-learning model; and

select the second designated hardware environment for executing the second portion of the task is based on a second hardware state for the second designated hardware environment and a second model state for a second machine-learning model.

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:

determine, 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 model of the plurality of machine-learning models;

select the first designated machine-learning model for executing the first portion of the task 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 first portion of the task on the first designated machine-learning model; and

select the second designated machine-learning model for executing the second portion of the task 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 second portion of the task on the second designated machine-learning model.

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:

analyze the workload data and the task routing metrics for the plurality of hardware environments;

select the first designated hardware environment for executing the first portion of the task based on determining that the first designated hardware environment is a first optimal hardware environment from the plurality of hardware environments; and

select the second designated hardware environment for executing the second portion of the task based on determining that the second designated hardware environment is a second optimal hardware environment for executing the second portion of the task.

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:

perform probabilistic load balancing of each hardware environment of the plurality of hardware environments for executing the task; and

select the first designated hardware environment for executing the first portion of the task and the second designated hardware environment for executing the second portion of the task based on the probabilistic load balancing.

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 characteristics of the task;

determine task routing metrics for a plurality of hardware environments hosted in respective network environments and a plurality of machine-learning models in respective network environments;

determine a historical quality metric indicating how one or more machine learning models of the plurality of machine-learning models will execute the task based on a user feedback metric; and

select, utilizing an output of a smart pocket machine-learning model that utilizes the historical quality metric, a designated hardware environment from the plurality of hardware environments and a designated machine-learning model from the plurality of machine-learning models for executing the task based on the workload features and the task routing metrics.

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

utilize the smart pocket machine-learning model to compare each hardware environment of the plurality of hardware environments and each machine learning model of the plurality of machine-learning models based on the workload features and the task routing metrics; and

select the designated hardware environment from the plurality of hardware environments and the designated machine-learning model from the plurality of machine-learning models based on an output of the smart pocket 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 additional task routing metrics for an additional hardware environment; and

update parameters of the smart pocket machine-learning model based on the additional task routing metrics of the additional hardware environment.

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

generate, utilizing the smart pocket machine-learning model, an optimization metric for each hardware environment of the plurality of hardware environments; and

select the designated hardware environment based on the optimization metric.

20. 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 execution of the task; and

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

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/0944 →
Continuity (2)
Provisional Application 63623662 · Jan 22, 2024
Related Publication 20250238265A1 · Jul 24, 2025
References Cited (77)
US 8938740B2 · Nishihara · 2015 [cited by examiner]
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 · 2022 [cited by examiner]
US 11527786B1 · Budan · 2022 [cited by examiner]
US 11544604B2 · Poothiyot · 2023 [cited by examiner]
US 11609793B2 · Suh · 2023 [cited by applicant]
US 11645111B2 · Wang · 2023 [cited by examiner]
US 11775867B1 · Jamei · 2023 [cited by applicant]
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 applicant]
US 20120198466A1 · Cherkasova · 2012 [cited by examiner]
US 20130212277A1 · Bodik · 2013 [cited by examiner]
US 20170090990A1 · Furman · 2017 [cited by examiner]
US 20180027060A1 · Metsch · 2018 [cited by examiner]
US 20190102681A1 · Roberts · 2019 [cited by examiner]
US 20190102700A1 · Babu · 2019 [cited by examiner]
US 20190146848A1 · Rastogi · 2019 [cited by examiner]
US 20190188605A1 · Zavesky · 2019 [cited by examiner]
US 20190197011A1 · Zavesky et al. · 2019 [cited by applicant]
US 20190266015A1 · Chandra et al. · 2019 [cited by applicant]
US 20190303207A1 · Vadapandeshwara · 2019 [cited by examiner]
US 20200012962A1 · Dent · 2020 [cited by examiner]
US 20200372307A1 · Arun · 2020 [cited by examiner]
US 20210089961A1 · Zeise · 2021 [cited by examiner]
US 20210089969A1 · Sengupta et al. · 2021 [cited by applicant]
US 20210224585A1 · Schmidt · 2021 [cited by examiner]
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 · 2022 [cited by examiner]
US 20220058477A1 · Hu et al. · 2022 [cited by applicant]
US 20220067752A1 · Fang · 2022 [cited by examiner]
US 20220083389A1 · Poothia · 2022 [cited by examiner]
US 20220114026A1 · Cropper · 2022 [cited by examiner]
US 20220207349A1 · Fusco et al. · 2022 [cited by applicant]
US 20220215008A1 · Adibowo · 2022 [cited by examiner]
US 20220237208A1 · Srinivasan · 2022 [cited by examiner]
US 20220318689A1 · Li-Bland · 2022 [cited by examiner]
US 20220374784A1 · Sharma · 2022 [cited by examiner]
US 20230139459A1 · Latkar · 2023 [cited by examiner]
US 20230206134A1 · Kennel et al. · 2023 [cited by applicant]
US 20230252340A1 · Ramanathan · 2023 [cited by examiner]
US 20230259747A1 · Lee et al. · 2023 [cited by applicant]
US 20230333901A1 · Kale · 2023 [cited by examiner]
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 · 2024 [cited by examiner]
US 20240107347A1 · Pirmagomedov et al. · 2024 [cited by applicant]
US 20240135247A1 · Johnsson · 2024 [cited by examiner]
US 20240144051A1 · Kirshenboim et al. · 2024 [cited by applicant]
US 20240160491A1 · Taneja · 2024 [cited by examiner]
US 20240289645A1 · Makhijani · 2024 [cited by examiner]
US 20240406166A1 · Bell · 2024 [cited by examiner]
US 20240411603A1 · Beam · 2024 [cited by examiner]
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]
Sharifian et al.; “A predictive and probabilistic load-balancing algorithm for cluster-based web servers”; 2010 Elsevier B.V.; doi: 10.1016/j.asoc.2010.01.017 (NPL: Sharifian_2011.pdf; pp. 970-981) (Year: 2011). [cited by examiner]
Gai et al.; “Optimal resource allocation using reinforcement learning for IoT content-centric services”; 2018 Elsevier B.V.; https://doi.org/10.1016/j.asoc.2018.03.056 (Gai_2018.pdf, pp. 12-21) (Year: 2018). [cited by examiner]
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,320, mailed Aug. 28, 2024, 14 pages. [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,297 mailed Nov. 7, 2024, 21 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]
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,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]
Cited By (1)
US 12,688,108