IP Library Patent Application 12475081
Patent Application
App. No. 12/475,081

Workflow Management System and Method

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 None
App. No.
12/475,081
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.

Claims (137)

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

process the work items stored in the workflow data structure.

2 . The system of claim 1 wherein each of the plurality of work items comprise work item data, and wherein the processor is configured to determine the retrieval priority for each of the plurality of queues as a function of the work item data.

3 . The system of claim 2 wherein each work item comprises work item data selected from a group consisting of state data, queue location data, current action data, history data, and description data.

4 . The system of claim 3 wherein:

the current action data for each work item identifies a corresponding current action selected from a group consisting of an inbound action, a within queue action, and an outbound action; and

the processor is configured to process the work items stored in the workflow data structure by applying the corresponding current action to each work item.

5 . The system of claim 1 wherein the processor is configured to determine the retrieval priority by:

calculating queue priority factors for each of the plurality of queues; and

weighting each of the queue priority factors for each of the plurality of queues to determine the retrieval priority.

6 . The system of claim 5 wherein the queue priority factors for each of the plurality of queues comprises at least one of item counts, action costs, processing time data, a last processing action time, a calculated queue momentum, and a user input parameter.

7 . The system of claim 1 wherein the processor is further configured to:

retrieve the at least one work item from each of the plurality of queues in a sequence according to the retrieval priority;

store the at least one work item retrieved from each of the plurality of queues in the workflow data structure according to the sequence; and

process the work items stored in the workflow data structure according to according to a first in first out rule.

8 . The system of claim 1 further comprising:

a memory to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds to a different business process; and

wherein the processor is further configured to:

receive a workflow request from a remote processor, the workflow request identifies a desired business process and work item data; and

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality of states of the work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identifies the plurality of queues.

9 . The system of claim 1 wherein the processor is further configured to simultaneously process two or more of work items stored in the workflow data structure.

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

a plurality of processing modules to process the work items in the workflow data structure.

11 . The computer-readable medium of claim 10 wherein each of the plurality of work items comprise work item data, and wherein the queue selection module is configured to determine the retrieval priority for each of the plurality of queues as a function of the work item data.

12 . The computer-readable medium of claim 11 wherein each work item comprises work item data selected from a group consisting of state data, queue location data, current action data, history data, and description data.

13 . The computer-readable medium of claim 12 wherein:

the current action data for each work item identifies a corresponding current action selected from a group consisting of an inbound action, a within queue action, and an outbound action; and

each of the plurality of processing modules is configured to process one or more of work items stored in the workflow data structure by applying the corresponding current action to each of the one or more work items.

14 . The computer-readable medium of claim 10 wherein the queue selection module is configured to determine the retrieval priority by:

calculating queue priority factors for each of the plurality of queues; and

weighting each of the queue priority factors for each of the plurality of queues to determine the retrieval priority.

15 . The computer-readable medium of claim 14 wherein the queue priority factors for each of the plurality of queues comprises item counts, action costs, processing time data, a last processing action time, a calculated queue momentum, and a user input parameter.

16 . The computer-readable medium of claim 10 wherein:

the queue selection module is further configured to:

retrieve the at least one work item from each of the plurality of queues in a sequence according to the retrieval priority; and

store the at least one work item retrieved from each of the plurality of queues in the workflow data structure according to the sequence; and

the plurality of processing modules are configured to process work items stored in the workflow data structure according to according to a first in first out rule.

17 . The computer-readable medium of claim 10 further comprising:

a memory to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds to a different business process; and

the queue storage module is further configured to:

receive a workflow request from a remote computing device, the workflow request identifies a desired business process;

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality states of the plurality of work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identifies the plurality of queues; and

transmit each of the plurality of work items to one of the identified plurality of queues based on a current state of each work item.

18 . The computer-readable medium of claim 10 wherein the plurality of processing modules are configured to simultaneously process different work items stored in the workflow data structure.

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

a plurality of processing modules to process the work items in the workflow data structure.

20 . The system of claim 19 wherein each of the plurality of work items comprise work item data, and wherein the queue selection module is configured to determine the retrieval priority for each of the plurality of queues as a function of the work item data.

21 . The system of claim 20 wherein each work item comprises work item data selected from a group consisting of state data, queue location data, current action data, history data, and description data.

22 . The system of claim 21 wherein:

the current action data for each work item identifies a corresponding current action selected from a group consisting of an inbound action, a within queue action, and an outbound action; and

each of the plurality of processing modules is configured to process one or more of work items stored in the workflow data structure by applying the corresponding current action to each of the one or more work items.

23 . The system of claim 19 wherein the queue selection module is configured to determine the retrieval priority by:

calculating queue priority factors for each of the plurality of queues; and

weighting each of the queue priority factors for each of the plurality of queues to determine the retrieval priority.

24 . The system of claim 23 wherein the queue priority factors for each of the plurality of queues comprises item counts, action costs, processing time data, a last processing action time, a calculated queue momentum, and a user input parameter.

25 . The system of claim 19 wherein the queue selection module is further configured to:

retrieve the at least one work item from each of the plurality of queues in a sequence according to the retrieval priority;

store the at least one work item retrieved from each of the plurality of queues in the workflow data structure according to the sequence; and

process work items stored in the workflow data structure according to according to a first in first out rule.

26 . The system of claim 19 further comprising:

a memory to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds a different business process; and

wherein the computing device further comprises:

a queue storage module to:

receive a workflow request from a remote computing device, the workflow request identifies a desired business process and at least one work item;

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality states of the work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identify the plurality of queues; and

transmit each of the work items to one of the identified plurality of queues based on a current state of the at least one work item.

27 . The system of claim 19 wherein the plurality of processing modules are configured to simultaneously process different work items stored in the workflow data structure.

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

processing the work items in the workflow data structure at the processor.

29 . The method of claim 28 wherein:

each of the plurality of work items comprise work item data, and

the method further comprises determining the retrieval priority for each of the plurality of queues as a function of the work item data.

30 . The method of claim 29 wherein each work item comprises work item data selected from a group consisting of state data, queue location data, current action data, history data, and description data.

31 . The method of claim 30 wherein:

the current action data for each work item identifies a corresponding current action selected from a group consisting of an inbound action, a within queue action, and an outbound action; and

the method further comprising processing one or more of work items stored in the workflow data structure by applying the corresponding current action to each of the one or more work items.

32 . The method of claim 28 further comprising:

calculating queue priority factors for each of the plurality of queues at the processor; and

weighting each of the queue priority factors for each of the plurality of queues at the processor to determine the retrieval priority.

33 . The method of claim 32 wherein the queue priority factors for each of the plurality of queues comprises item counts, action costs, processing time data, a last processing action time, a calculated queue momentum, and a user input parameter.

34 . The method of claim 28 further comprising

retrieving the at least one work item from each of the plurality of queues in a sequence according to the retrieval priority;

storing the at least one work item retrieved from each of the plurality of queues in the workflow data structure according to the sequence; and

processing work items stored in the workflow data structure according to according to a first in first out rule.

35 . The method claim 28 further comprising:

receiving a workflow request from a remote computing device at the processor, the workflow request identifies a desired business process;

retrieving a business process definition from a memory that corresponds to the desired business process to identify a plurality states of the plurality of work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identify the plurality of queues; and

transmitting each of plurality of work items to one of the identified plurality of queues for storage based on a current state of each work item.

36 . 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 to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds to a different business process; and

a processor to:

receive a workflow request from a remote processor, the workflow request identifies a desired business process and work item data;

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality of states of the work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identifies the plurality of queues;

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

process the work items stored in the workflow data structure.

37 . 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 memory to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds to a different business process;

a queue storage module to:

receive a workflow request from a remote computing device, the workflow request identifies a desired business process;

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality states of the plurality of work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identifies the plurality of queues; and

transmit each of the plurality of work items to one of the identified plurality of queues based on a current state of each work item;

a queue selection module to determine a retrieval priority for each of the plurality of queues and to retrieve the 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

a plurality of processing modules to process the work items in the workflow data structure.

38 . 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 to store a plurality of business process definitions, wherein each of the plurality of business process definitions identifies a plurality of states of the work items in the workflow that corresponds a different business process

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 storage module to:

receive a workflow request from a remote computing device, the workflow request identifies a desired business process and at least one work item;

retrieve a business process definition from the memory that corresponds to the desired business process to identify the plurality states of the work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identify the plurality of queues; and

transmit each of the work items to one of the identified plurality of queues based on a current state of the at least one work item; and

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

a plurality of processing modules to process the work items in the workflow data structure.

39 . A method for processing a plurality of work items in a workflow at a processor, the method comprising:

receiving a workflow request from a remote computing device at the processor, the workflow request identifies a desired business process;

retrieving a business process definition from a memory that corresponds to the desired business process to identify a plurality states of the plurality of work items in the workflow for the desired business process, wherein the plurality of states identified for the desired business process identify the plurality of queues;

transmitting each of the plurality of work items to one of the identified plurality of queues based on a current state of each work item;

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

processing the work items in the workflow data structure at the processor.

Assignments (3)
ENTITY CONVERSION Recorded Feb 11, 2016
From: LEXMARK INTERNATIONAL TECHNOLOGY S.A.
To: LEXMARK INTERNATIONAL TECHNOLOGY SARL
Reel/Frame 037793/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2012
From: PERCEPTIVE SOFTWARE, INC.
To: LEXMARK INTERNATIONAL TECHNOLOGY SA
Reel/Frame 028033/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2009
From: YENGULAP, SERHAN; KINNEY, STEVE REED; ANDERSON, BRIAN G.; COONS, SCOTT T.R.; KELLEY, DAVID E.; KHAN, HUMAYUN H.
To: PERCEPTIVE SOFTWARE, INC.
Reel/Frame 022774/0179 →