US 12,081,454 B2
Systems and methods for provision of a guaranteed batch
Alexandre Duarte, Milpitas, CA (US); Yingchong Situ, Campell, CA (US); Robert Van Gent, Redwood City, CA (US); Walfredo Cime Filho, Palo Alto, CA (US); Ramy Abdelaal, Waterloo (CA); Smeeta Jalan, San Jose, CA (US); and Maya Haridasan, San Jose, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Feb. 7, 2023, as Appl. No. 18/165,525.
Application 18/165,525 is a continuation of application No. 17/339,936, filed on Jun. 4, 2021, granted, now 11,582,166.
Application 17/339,936 is a continuation of application No. 16/717,967, filed on Dec. 17, 2019, granted, now 11,032,212, issued on Jun. 8, 2021.
Application 16/717,967 is a continuation of application No. 15/677,916, filed on Aug. 15, 2017, granted, now 10,541,939, issued on Jan. 21, 2020.
Prior Publication US 2023/0179538 A1, Jun. 8, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/78 (2022.01); G06F 9/50 (2006.01); H04L 41/14 (2022.01); H04L 41/147 (2022.01); H04L 41/50 (2022.01); H04L 41/5009 (2022.01); H04L 43/55 (2022.01)
CPC H04L 47/78 (2013.01) [G06F 9/5005 (2013.01); G06F 9/5027 (2013.01); G06F 9/5061 (2013.01); H04L 41/14 (2013.01); H04L 41/147 (2013.01); H04L 41/50 (2013.01); H04L 41/5009 (2013.01); H04L 43/55 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method when executed on data processing hardware causes the data processing hardware to perform operations, the operations comprising:
receiving a request initiated by a user, the request requesting execution of a list of tasks on computing resources in a computing environment;
determining a resource allocation budget uniquely associated with the user, the resource allocation budget representing a maximum amount of computing resources the user can consume from the computing environment, the resource allocation budget representing less than a total amount of computing resources of the computing environment;
determining an amount of the computing resources available to the user based on the resource allocation budget and a resource commitment associated with the user;
determining an amount of time to execute the list of tasks based on the amount of the computing resources available to the user;
determining that the list of tasks cannot be executed based on the amount of the computing resources available to the user and the amount of time to execute the list of tasks; and
based on determining that the list of tasks cannot be executed based on the amount of computing resources available to the user and the amount of time to execute the list of tasks, queuing the list of tasks in a work queue, the work queue comprising a plurality of job requests to be executed when the computing resources in the computing environment become available,
wherein an order of the work queue is based on the user associated with the job request.