WORKFLOW MANAGEMENT SYSTEM AND METHOD
First Claim
Patent Images
1. A system for processing work items in a workflow, the system comprising:
- a plurality of queues each comprising a plurality of work items; and
a processor to;
determine a retrieval priority for each of the plurality of queues;
retrieve at least one work item from each of the plurality of queues according to the retrieval priority;
store the at least one work item retrieved from each of the plurality of queues in a workflow data structure; and
selectively adjust an amount of processing capacity to process the work items stored in the workflow data structure.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods improve the equitable distribution the processing capacity of a computing device processing work items retrieved from multiple queues in a workflow system. A retrieval priority is determined for each of the plurality of queues and work items are retrieved from each of the multiple queues according to the retrieval priority. The retrieved work items are then stored in a central data structure. Multiple processing components process the work items stored in the central data structure. The number of processing components is selectively adjusted to maximize efficiency.
63 Citations
49 Claims
-
1. A system for processing work items in a workflow, the system comprising:
-
a plurality of queues each comprising a plurality of work items; and a processor to; determine a retrieval priority for each of the plurality of queues; retrieve at least one work item from each of the plurality of queues according to the retrieval priority; store the at least one work item retrieved from each of the plurality of queues in a workflow data structure; and selectively adjust an amount of processing capacity to process the work items stored in the workflow data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium encoded with a workflow application comprising modules executable by a processor and configured to process a plurality of work items in a workflow, the workflow application comprising:
-
a queue storage module to receive a plurality of work items from a remote computer and to store each of the plurality of work items in one of a plurality of queues based on a state of each work item in the workflow; a queue selection module to determine a retrieval priority for each of the plurality of queues and to retrieve at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; and an adaptive processing module to selectively adjust a number of processing modules each configured to process work items stored in the workflow data structure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for processing work items in a workflow, the system comprising:
-
a plurality of queues each comprising a plurality of work items; a computing device comprising a workflow application comprising modules executable by the computing device and configured to process a plurality of work items in a workflow, the workflow application comprising; a queue selection module to determine a retrieval priority for each of the plurality of queues and to retrieve at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; and an adaptive processing module to selectively adjust a number of processing modules each configured to process work items stored in the workflow data structure. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A system for processing work items in a workflow, the system comprising:
-
a workflow data structure each comprising at plurality of work items; a computing device comprising a workflow application comprising modules executable by the computing device to process the plurality of work items, the workflow application comprises; a plurality of processing modules each configured to process a different one of work items stored in the workflow data structure; and an adaptive processing module to selectively adjust a number of the plurality of processing modules. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method for processing a plurality of work items in a workflow at a processor, the method comprising:
-
receiving a plurality of work items at the processor; storing each of the plurality of work items in one of a plurality of queues based on a state of each work item in the workflow; determining a retrieval priority for each of the plurality of queues at the processor; retrieving at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; and selectively adjust an amount of processing capacity of the processor to process the work items stored in the workflow data structure. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A system for processing work items in a workflow, the system comprising:
-
a plurality of queues each comprising a plurality of work items; a memory comprising threshold load level data; and a processor to; determine a retrieval priority for each of the plurality of queues; retrieve at least one work item from each of the plurality of queues according to the retrieval priority; store the at least one work item retrieved from each of the plurality of queues in a workflow data structure; process the work items stored in the workflow data structure at an initial number of processing modules; monitor an actual processing load required to process the work items; retrieve threshold load level data from the memory; compare the actual processing load to the threshold load level data; increase the initial number of processing modules to a higher number when the actual processing load is greater than the threshold load level data; and decrease the initial number of processing modules to a lower number when the actual processing load is less than the threshold load level data.
-
-
47. A computer-readable medium encoded with a workflow application comprising modules executable by a processor and configured to process a plurality of work items in a workflow, the workflow application comprising:
-
a queue storage module to receive a plurality of work items from a remote computer and to store each of the plurality of work items in one of a plurality of queues based on a state of each work item in the workflow; a queue selection module to determine a retrieval priority for each of the plurality of queues and to retrieve at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; a set of processing modules to process the work items stored in the workflow data structure, wherein an initial number of the processing modules are used to process the work items; and an adaptive processing module to; retrieve threshold load level data from a memory; monitor an actual processing load required to process the work items; compare the actual processing load to the threshold load level data; increase the initial number of processing modules to a higher number when the actual processing load is greater than the threshold load level data; and decrease the initial number of processing modules to a lower number when the actual processing load is less than the threshold load level data.
-
-
48. A system for processing work items in a workflow, the system comprising:
-
a plurality of queues each comprising a plurality of work items; and a computing device comprising a workflow application comprising modules executable by the computing device and configured to process a plurality of work items in a workflow, the workflow application comprising; a queue selection module to determine a retrieval priority for each of the plurality of queues and to retrieve at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; a set of processing modules to process the work items stored in the workflow data structure, wherein an initial number of the processing modules are used to process the work items; and an adaptive processing module to; retrieve threshold load level data from a memory; monitor an actual processing load required to process the work items; compare the actual processing load to the threshold load level data; increase the initial number of processing modules to a higher number of processing modules when the actual processing load is greater than the threshold load level data; and decrease the initial number of processing modules to a lower number of processing modules when the actual processing load is less than the threshold load level data.
-
-
49. A method for processing a plurality of work items in a workflow at a processor, the method comprising:
-
receiving a plurality of work items at the processor; storing each of the plurality of work items in one of a plurality of queues based on a state of each work item in the workflow; calculating queue priority factors for each of the plurality of queues at the processor; weighting each of the queue priority factors for each of the plurality of queues to determine a retrieval priority at the processor; retrieving at least one work item from each of the plurality of queues according to the retrieval priority for storage in a workflow data structure; processing the work items stored in the workflow data structure at an initial number of processing modules; retrieving threshold load level data from a memory; monitoring an actual processing load required to process the work items; comparing the actual processing load to the threshold load level data; increasing the initial number of processing modules to a higher number of processing modules when the actual processing load is greater than the threshold load level data; and decreasing the initial number of processing modules to a lower number of processing modules when the actual processing load is less than the threshold load level data.
-
Specification