System for optimizing distribution of processing an automated process
First Claim
Patent Images
1. A system for running automated processes comprising:
- a data store having a non-transitory computer readable storage medium configured to store instructions for executing the automated processes, one or more work queues, and associations between each work queue and one of the automated processes;
a hardware based server having a processor running one or more virtual machines configured to execute one or more automated processes, wherein the automated processes are defined by instructions stored in the data store; and
an application server having a processor and a non-transitory computer readable storage medium configured to store instructions that cause the processor to;
assign one or more of the work queues to one or more of the virtual machines,calculate a length of time required to process a work item before the work item is processed, andprovide an estimated time to process a work queue based on the calculated length of time for processing a work item and the number of virtual machines to which the work queue is assigned,wherein each virtual machine, when assigned a work queue by the application server, is configured to;
retrieve the instructions for executing the automated process associated with the assigned work queue from the data store, andexecute the automated process according to the instructions retrieved from the data store.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to a system for automating processes, and in particular to a system for optimizing the distribution of work items among available processing resources within such a system. The system includes an active queue controller, executed on an application server that manages the creation and deletion of virtual machines on available resources while querying a data store for work items and instructions for executing that automated processes.
10 Citations
31 Claims
-
1. A system for running automated processes comprising:
-
a data store having a non-transitory computer readable storage medium configured to store instructions for executing the automated processes, one or more work queues, and associations between each work queue and one of the automated processes; a hardware based server having a processor running one or more virtual machines configured to execute one or more automated processes, wherein the automated processes are defined by instructions stored in the data store; and an application server having a processor and a non-transitory computer readable storage medium configured to store instructions that cause the processor to; assign one or more of the work queues to one or more of the virtual machines, calculate a length of time required to process a work item before the work item is processed, and provide an estimated time to process a work queue based on the calculated length of time for processing a work item and the number of virtual machines to which the work queue is assigned, wherein each virtual machine, when assigned a work queue by the application server, is configured to; retrieve the instructions for executing the automated process associated with the assigned work queue from the data store, and execute the automated process according to the instructions retrieved from the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer implemented method comprising:
-
storing instructions for executing the automated processes, one or more work queues, and associations between each work queue and one of the automated processes running one or more virtual machines on a hardware based server, the one or more virtual machines configured to execute one or more automated processes, wherein the automated processes are defined by the stored instructions; assigning one or more of the work queues to one or more of the virtual machines, calculating a length of time required to process a work item before the work item is processed, and providing an estimated time to process a work queue based on the calculated length of time for processing a work item and the number of virtual machines to which the work queue is assigned, wherein each virtual machine is configured to; retrieve the stored instructions for executing the automated process associated with the assigned work queue, and execute the automated process according to the retrieved instructions.
-
-
31. A non-transitory computer readable storage medium configured to store instructions, the instructions when executed by a processor cause the processor to:
-
store instructions for executing the automated processes, one or more work queues, and associations between each work queue and one of the automated processes; run one or more virtual machines configured to execute one or more automated processes, wherein the automated processes are defined by the stored instructions; assign one or more of the work queues to one or more of the virtual machines, calculate a length of time required to process a work item before the work item is processed, and provide an estimated time to process a work queue based on the calculated length of time for processing a work item and the number of virtual machines to which the work queue is assigned, wherein the instructions for running the virtual machines comprises; retrieving the stored instructions for executing the automated process associated with the assigned work queue, and executing the automated process according to the retrieved instructions.
-
Specification