US 12,468,574 B2
Systems and methods for dynamically scaling remote resources
David Rowan, Plymouth Meeting, PA (US); and Sudeep Pillai, Chester Springs, PA (US)
Assigned to CAPITAL ONE SERVICES, LLC, McLean, VA (US)
Filed by Capital One Services, LLC, McLean, VA (US)
Filed on Oct. 28, 2021, as Appl. No. 17/512,800.
Prior Publication US 2023/0137673 A1, May 4, 2023
Int. Cl. G06F 9/50 (2006.01)
CPC G06F 9/5038 (2013.01) [G06F 9/5022 (2013.01); G06F 9/505 (2013.01); G06F 2209/503 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method for dynamically scaling cloud resources for tasks, the method comprising:
maintaining, via one or more processors in communication with a remote database, a plurality of processing resources operable to process one or more tasks, each resource being scalable to increase or decrease a number of nodes available to perform the one or more tasks;
maintaining, in data storage associated with the one or more processors, a queue for tasks to be processed;
receiving, at the one or more processors and from the queue, a first task requiring a processing resource;
accessing, via the one or more processors, at least a portion of the plurality of processing resources;
identifying, via the one or more processors, a first processing resource of the plurality of processing resources that is operating below a predetermined processing threshold, wherein the predetermined processing threshold is associated with a number of instances running on each of the plurality of processing resources, and wherein any processing resource of the plurality of processing resources operating below the predetermined processing threshold is considered an idle resource;
assigning, via the one or more processors, the identified first processing resource to the first task;
scaling up, via the one or more processors in communication with the remote database, the identified first processing resource according to a processing requirement of the first task;
monitoring, via the one or more processors, the queue to identify whether any tasks are scheduled to be processed; and
when no tasks are to be scheduled to be processed, scaling down the identified first processing resource associated with the predetermined processing threshold via the one or more processors in communication with the remote database, wherein the first processing resource (i) is scaled down below the predetermined processing threshold associated with the number of instances and (ii) remains provisioned after being scaled down.