| CPC G06F 9/5038 (2013.01) [G06F 9/5022 (2013.01); G06F 9/505 (2013.01); G06F 2209/503 (2013.01)] | 18 Claims |

|
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.
|