IP Library Granted Patent US 12,566,640
Granted Patent B2
US 12,566,640 · App. 17/841,552 · Granted Mar 3, 2026

Allocating of computing resources for applications

Inventors: Carson Hanel (Bryan, TX); Sean Gorsky (Somerville, MA); Erica Lin (Cambridge, MA); Suraj Bramhavar (Arlington, MA); Jeffrey Chou (Boston, MA)
Assignee: Capital One Services, LLC
G06F9/5055G06F9/4887
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,566,640
App. No.
17/841,552
Granted
Mar 3, 2026
Kind
B2
Abstract

A method for performing scheduling includes extracting information from at least one log file for an application. The method also includes determining an allocation of cloud resources for the application based on the information from the log file(s).

Claims (66)

1 . A method, comprising:

extracting information from at least one log file for an application;

determining an allocation of cloud resources for the application based on the information from the at least one log file, wherein the at least one log file is from at least one run of the application, wherein the determining of the allocation of cloud resources comprises:

determining a total dead time for the at least one run;

determining a total task time for the at least one run based on the information;

determining a predicted parallelism based on the information from the at least one log file, wherein the predicted parallelism relates to a distribution of tasks based on expected active cores;

determining a predicted total run time for the application based on the total task time, the total dead time, and the predicted parallelism; and

determining a number of cores to be allocated for the application based on the predicted total run time; and

providing the allocation of the cloud resources for the application to a hardware infrastructure.

2 . The method of claim 1 , wherein the extracting information from the at least one log file further includes:

obtaining at least one of task data, cloud settings, hardware information, cloud economic information or cloud reliability information.

3 . The method of claim 1 , wherein the determining the allocation of the cloud resources further includes:

determining a plurality of hardware infrastructures;

determining a predicted run time for each of the plurality of hardware infrastructures based on the information in the at least one log file.

4 . The method of claim 3 , wherein the determining the allocation of the cloud resources further includes:

determining a predicted cost for usage of each of the plurality of hardware infrastructures; and

determining the predicted cost versus the predicted run time for each of the plurality of hardware infrastructures.

5 . The method of claim 3 ,

wherein the determining the total dead time and the total task time each include distributing the plurality of tasks over a plurality of cores in one hardware infrastructure of the plurality of hardware infrastructures.

6 . The method of claim 1 , wherein the determining the allocation of the cloud resources further includes:

creating a time-based model of memory usage including garbage collection parameters.

7 . The method of claim 1 , further comprising:

determining whether a change in an allocation of resources has occurred in at least one of an application, input data for the application, or cloud resources, the cloud resources including a cluster of cores assigned to the application; and

in response to determining that the change has occurred, performing the extracting and determining.

8 . The method of claim 1 , wherein the determining the allocation of the cloud resources further includes:

determining a scheduling of tasks or stages for the application.

9 . The method of claim 1 , further comprising:

extracting additional information from at least one additional log file for the application; and

determining a re-allocation of the cloud resources for the application based on the additional information from the at least one additional log file, the at least one additional log file corresponding to at least one additional run of the application, wherein the at least one additional run is different from the at least one run.

10 . A system, comprising:

a processor configured to:

extract information from at least one log file for an application, wherein the at least one log file is from at least one run of the application;

determine an allocation of cloud resources for the application based on the information from the at least one log file, wherein the determining of the allocation of cloud resources comprises to:

determine a total dead time for the at least one run, wherein the at least one run includes a plurality of stages;

determine a total task time for the at least one run based on the information;

determine a predicted parallelism based on the information from the at least one log file, wherein the predicted parallelism relates to a distribution of tasks based on expected active cores;

determine a predicted total run time for the application based on the total task time, the total dead time, and the predicted parallelism; and

determine a number of cores to be allocated for the application based on the predicted total run time; and

provide the allocation of the cloud resources for the application to a hardware infrastructure; and

a memory coupled to the processor and configured to provide the processor with instructions.

11 . The system of claim 10 , wherein to determine the allocation of the cloud resources, the processor is further configured to:

determine a plurality of hardware infrastructures;

determine a predicted run time for each of the plurality of hardware infrastructures based on the information in the at least one log file;

determine a predicted cost for usage of each of the plurality of hardware infrastructures; and

determine the predicted cost versus the predicted run time for the plurality of hardware infrastructures.

12 . The system of claim 11 , wherein the determining the total dead time and the total task time each include distributing the plurality of tasks over a plurality of cores in one hardware infrastructure of the plurality of hardware infrastructures.

13 . A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

extracting information from at least one log file for an application; and

determining an allocation of cloud resources for the application based on the information from the at least one log file, wherein the at least one log file is from at least one run of the application, wherein the determining of the allocation of cloud resources comprises:

determining a total dead time for the at least one run, wherein the at least one run includes a plurality of stages;

determining a total task time for the at least one run based on the information;

determining a predicted parallelism based on the information from the at least one log file, wherein the predicted parallelism relates to a distribution of tasks based on expected active cores;

determining a predicted total run time for the application based on the total task time, the total dead time, and the predicted parallelism; and

determining a number of cores to be allocated for the application based on the predicted total run time; and

providing the allocation of the cloud resources for the application to a hardware infrastructure.

14 . The computer program product of claim 13 , wherein the computer instructions for determining the allocation of the cloud resources further include computer instructions for:

determining a plurality of hardware infrastructures;

determining a predicted run time for each of the plurality of hardware infrastructures based on the information in the at least one log file;

determining a predicted cost for usage of each of the plurality of hardware infrastructures; and

determining the predicted cost versus the predicted run time for the plurality of hardware infrastructures.

15 . The computer program product of claim 14 , wherein the determining the total dead time and the total task time each include distributing the plurality of tasks over a plurality of cores in one hardware infrastructure of the plurality of hardware infrastructures.

16 . The computer program product of claim 13 , wherein the computer instructions for determining the allocation of the cloud resources further includes computer instructions for:

creating a time-based model of memory usage including garbage collection parameters.

17 . The computer program product of claim 13 , further comprising computer instructions for:

determining whether a change in an allocation of resources has occurred in at least one of an application, input data for the application, or cloud resources, the cloud resources including a cluster of cores assigned to the application; and

in response to determining that the change has occurred, performing the extracting and determining.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2025
From: SYNC COMPUTING CORP.
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 072575/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2022
From: HANEL, CARSON; GORSKY, SEAN; LIN, ERICA; BRAMHAVAR, SURAJ; CHOU, JEFFREY
To: SYNC COMPUTING CORP.
Reel/Frame 061172/0204 →
Continuity (3)
Provisional Application 63212046 · Jun 17, 2021
Provisional Application 63212048 · Jun 17, 2021
Related Publication 20230004440A1 · Jan 5, 2023
References Cited (14)
US 10466723B2 · Goto · 2019 [cited by applicant]
US 20070110094A1 · Tobita · 2007 [cited by applicant]
US 20120060142A1 · Fliess · 2012 [cited by applicant]
US 20160179562A1 · Kaneko · 2016 [cited by applicant]
US 20190236317A1 · Simonson · 2019 [cited by applicant]
US 20190278610A1 · Tatsumura · 2019 [cited by applicant]
US 20190342379A1 · Shukla · 2019 [cited by examiner]
US 20200042352A1 · Breitgand · 2020 [cited by examiner]
Alexander Tesch, Compact MIP Models for the Resource-Constrained Project Scheduling Problem, Jun. 2015. pp. 1-118. [cited by applicant]
Ercsey-Ravasz et al., Optimization Hardness as Transient Chaos in an Analog Approach to Constraint Satisfaction, Nature Physics, vol. 7, Dec. 2011, pp. 966-970. [cited by applicant]
Molnar et al., A Continuous-Time MaxSAT Solver with High Analog Performance, Nature Communications, 2018, pp. 1-12. [cited by applicant]
Vadlamani et al., Physics Successfully Implements Lagrange Multiplier Optimization, Oct. 27, 2020, vol. 117, No. 43, pp. 26639-26650. [cited by applicant]
Xu et al., DAG-Aware Joint Task Scheduling and Cache Management in Spark Clusters, 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 378-387. [cited by applicant]
Yin et al., An Analog SAT Solver Based on a Deterministic Dynamical System, 2017 Association for Computing Machinery. ICCAD'17, Nov. 2017. [cited by applicant]