CA2321605A1 - Workflow scheduling optimization driven by target completion time - Google Patents
Workflow scheduling optimization driven by target completion time Download PDFInfo
- Publication number
- CA2321605A1 CA2321605A1 CA002321605A CA2321605A CA2321605A1 CA 2321605 A1 CA2321605 A1 CA 2321605A1 CA 002321605 A CA002321605 A CA 002321605A CA 2321605 A CA2321605 A CA 2321605A CA 2321605 A1 CA2321605 A1 CA 2321605A1
- Authority
- CA
- Canada
- Prior art keywords
- queue
- item
- items
- time
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5238—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing with waiting time or load prediction arrangements
Abstract
The flow of work items (40) through a workflow process (50) is optimized by repeatedly reordering (FIG. 3) work items enqueued in inbox queues (21 ) of workflow process tasks (500) to maximize results according to a given business strategy expressed through target completion times and deviances therefrom. Each work item in an inbox queue has an associated in-queue rating (IQR 28) that represents the number of queue positions (23) that the work item can be retarded or needs to be advanced to meet its target task start time (TTST 31 ), target task completion time (TTCT 32), and/or target workflow completion time (TWCT 30). When a work item enters a queue, its IQR is computed (FIG.
2) as (a) either (i) the difference between TTST 31 and EWT of that work item, or (ii) the difference between TTCT 31 of this work item and the sum of the estimated wait time in the queue (EWT) of this item and the average handling time of a work item (AHT) by a task station (11) of this task, and (b) the resulting difference divided by the rate of advance of calls between queue positions (QAT 26) of that queue rounded down. An optimization function is then performed (404) on the queue to determine an order of the enqueued work items that optimizes a metric of those work items that may fail to meet their target times. For example, the order may be one that minimizes the number of the work items that will fail to meet their target completion times (those that have a negative IQR), or one that minimizes the amount of time by which the failing work items will exceed their target completion times. The work items in the queue are then reordered (406) accordingly. Whenever a work item changes its queue position, its IQR is recomputed (FIG. 4) as the sum of its present IQR and the number of positions that the work item has either advanced (a positive number) or been retarded (a negative number) in that queue.
2) as (a) either (i) the difference between TTST 31 and EWT of that work item, or (ii) the difference between TTCT 31 of this work item and the sum of the estimated wait time in the queue (EWT) of this item and the average handling time of a work item (AHT) by a task station (11) of this task, and (b) the resulting difference divided by the rate of advance of calls between queue positions (QAT 26) of that queue rounded down. An optimization function is then performed (404) on the queue to determine an order of the enqueued work items that optimizes a metric of those work items that may fail to meet their target times. For example, the order may be one that minimizes the number of the work items that will fail to meet their target completion times (those that have a negative IQR), or one that minimizes the amount of time by which the failing work items will exceed their target completion times. The work items in the queue are then reordered (406) accordingly. Whenever a work item changes its queue position, its IQR is recomputed (FIG. 4) as the sum of its present IQR and the number of positions that the work item has either advanced (a positive number) or been retarded (a negative number) in that queue.
Description
A.D. Flockhart 21-1-1-6-2 - 1 -r WORKFLOW-SCHEDULING OPTIMIZATION DRIVEN BY TARGET
COMPLETION TIME
Technical Field This invention relates to workflow management.
s Back4round of the Invention In a workflow, work items--whether physical items such as products and paper documents or virtual items such as communications and electronic documents--progress through a series of one or more task stations, where each task station has an inbox queue for work items ~o waiting to be serviced as well as resources that service work items retrieved from the inbox queue. As work items progress through the workflow, it is practically inevitable that some work items will make slower progress than others. This is due to the nature of the work items themselves (for example, a status-inquiry call is likely to take a different ~s amount of time to handle than an order call) as well as to the different capabilities of the resources that are servicing the work items (for example, different levels of expertise of call center agents who are handling the calls). This results in some work items progressing through the workflow ahead of schedule while others fall behind schedule.
2o It is desirable for the workflow to make automatic adjustments to bring each work item to completion on or ahead of its schedule as determined according to a given business strategy. For example, when a workflow is overloaded with work items, one business strategy is to bring all work items to completion a short time behind 2s schedule (i.e., "share the pain"), while another business strategy is to maximize the number of on-schedule work items at the sacrifice of significantly delaying a small percentage of work items that have already fallen behind. Various extraneous data can also play a part in the business strategy. For example, in a call center application with known so customers, such as account holders, the business strategy may require that tasks for preferred customers be completed on schedule at the A. D. Flockhart 21-1-1-6-2 - 2 -expense of regular customers when necessary. Workflow adjustments to achieve such business strategies generally are difficult to implement automatically. Therefore, the prior art has usually adopted the approach of initially assigning work items to different inbox queues based on the adopted business strategy, and then servicing the work items from each queue in a first-in, first-out and/or priority order. Servicing items on this basis does little or nothing to correct the schedules of "at risk" work items or to optimize the business results of workflows with different business strategies, however.
io Summary of the Invention This invention is directed to solving these and other problems and disadvantages of the prior art. Generally according to the invention, work items in a queue are repeatedly reordered to maximize results according to a given business strategy that is expressed through 15 target completion times and deviances therefrom. Specifically according to the invention, in a queue that has an ordered plurality of work items that are waiting to be worked and each one of those items has a target completion time, the amount of the target completion time of an item that has already expired (e.g., the amount of the target completion time that 2o the item has already spent in processing and in the queue) and the amount of additional time that is likely to expire before the item is worked (e.g., the position of the item in the queue times the rate of advance of the item between queue positions) is used to determine whether the item either may be retarded or needs to be advanced in the queue, relative to 2s the other items in the queue, in order to meet its target completion time.
Preferably, the determination is of the number of queue positions that the item may or needs to be moved, and is computed as the difference between the target completion time and the sum of the above-mentioned expired time and additional likely time, divided by the rate of advance and so rounded down. Based on the determination, the items in the queue are then reordered to optimize a metric of items that may fail to meet their A. D. Flockhart 21-1-1-6-2 - 3 -target completion times (e.g., those items that need to be advanced in the queue). Illustratively, an optimization function is performed on the queue to determine an order that optimizes the metric (e.g., that minimizes a number of the items that will fail to meet their target completion times or s that minimizes the amount of time by which the items will exceed their target completion times), and the items in the queue are reordered accordingly.
The determination and reordering are preferably performed when the item enters the queue or each time that an item changes position in the queue. The order of the enqueued items is thus frequently adjusted to maximize whatever business strategy, expressed through target completion timES and deviances therefrom, is being pursued. With the invention, the status of each work item in the inbox queue is uniquely classified, and the needs and consequences of advancing or retarding any 15 given item can be easily evaluated. Particularly advantageous is tying the number of positions that an item can be advanced or retarded to the in-queue rate of advance. This allows the consequences of any reordering of work items to be clearly evaluated. For example, if all that the system knew was that one item was ahead of schedule by "x" minutes and 2o another item was behind schedule by "y" minutes, the system would not directly know whether swapping positions of the one and the other items would put the other item back on schedule or whether it would cause the one item to now fall behind schedule. But if this information is tied to the in-queue advance time, the system is capable of easily evaluating the 2s requirements and consequences of any reordering. Whether or not any reordering takes place, and the nature of it, depends on the business strategy of the workflow. Another advantage is that different target completion times can be set for individual work items in the same workflow. Work items with aggressive schedules are then automatically 3o advanced through the workflow at a faster rate than other work items.
A.D. Flockhart 21-1-1-6-2 - 4 -This allows the system to support a substantially-unlimited number of priority levels for each workflow.
The invention encompasses both method and apparatus.
While the method comprises the steps of the just-characterized procedure, s the apparatus effects the method steps. It preferably includes an effector --any entity that effects the corresponding step, unlike a means--for each method step. Further according to the invention, there is provided a computer-readable medium containing software which, when executed in a computer, causes the computer to perform the method steps.
These and other advantages and features of the invention will become more apparent from the following description of an illustrative embodiment of the in~~ention considered together with the drawing.
Brief Description of the Drawing FIG. 1 is a block diagram of a processing center that ~s includes an illustrative embodiment of the invention;
FIG. 2 is a flow diagram of operations of an SEQ function of the center of FIG. 1 upon a work item entering a queue of the center of FIG. 1;
FIG. 3 is a flow diagram of operations of the SEQ function 2o upon invocation of reordering of a queue in the center of FIG. 1;
FIG. 4 is a flow diagram of operations of the SEQ function upon a change in the in-queue position of a work item in a queue of the center of FIG. 1; and 2s FIG. 5 is a flow diagram of an illustrative workflow definition of the center of FIG. 1.
Detailed Description FIG. 1 shows an illustrative work processing center that comprises a workflow management engine 10 serving a plurality of task so stations 11 where work items 40-illustratively electronic documents in this example, such as loan applications--are processed, e.g., by A. D. Flockhart 21-1-1-6-2 - 5 -agents 25. Workflow management engine 10 sends each work item 40 to one or more task stations 11 for processing in a sequence determined by the item's workflow definition 50. An illustrative workflow definition 50 is shown in FIG. 5. A workflow definition 50 is a sequence 502 of one or more tasks (A-E) 500. Each task 500 is generally performed by a different task station 11. The same task 500 may be performed by a plurality of stations 11. Different sets of work items 40 may have different workflow definitions 50. Workflow definitions 50 are stored in a workflow definitions store 14. Work items 40 themselves are stored in a work item store 13.
~o As described so far, the work processing center of FIG. 1 is conventional.
As is also conventional, workflow management engine 10 is a stored-program-con~rolled unit that includes a memory 15 comprising one or more different memory units for storing programs and data, and a processor 16 for executing the stored programs and using the stored data ~s in their execution. Memory 15 includes a plurality of sets 20 of inbox queues 21. Each set 20 of queues 21 conventionally serves a different workflow 50. Within each set 20, each queue 21 serves a different task 500. Each queue 21 functions as a first-in, first-out (FIFO) buffer memory, and includes a plurality of entries, or positions 23, each for a 2o corresponding one enqueued work item 40. The position 23 at the head of queue 21 is considered to be position number 1, the next subsequent position 23 in queue 21 is considered to be position number 2, etc.
Memory 15 further includes an estimated wait time (EWT) function 22. As its name implies, this function determines an estimate of 25 how long a work item 40 that is placed in a queue 21 will have to wait before being connected to a station 11 for processing. The estimate is derived separately by EWT function 22 for each queue 21. It is based on the average rate of advance of work items 40 through positions 23 of queue 21; this rate of advance is also computed by EWT function 22. An so illustrative implementation of EWT function 22 is disclosed in U.S. patent no. 5,506,898.
A.D. Flockhart 21-1-1-6-2 - 6 -According to the invention, work items 40 are assigned time goals for completing the whole workflow defined by the corresponding workflow definition 50, andlor for starting andlor completing each task 500 within that workflow. Accordingly, each work item 40 in queue 21 has its s own associated target workflow completion time (TWCT) 30, target task start time (TTST) 31 and/or target task completion time (TTCT) 32, and item queue rating (IQR) 28. These are stored along with the work item's identifier (WIID) 29 in the work item 's present position 23 in queue 21.
Furthermore, each queue 21 has its own associated queue advance time ~o (QAT) 26. Alternatively, each queue 21 may have target times 31-32 that are common to all work items 40 in that queue 21. TWCT 30 is administered according to customer commitments or internal business goals derived from contents of a business/custorner information database 12, and represents either the maximum amount of time that the 1s work item 40 should spend in the corresponding workflow, or the absolute (calendar or clock) time by which the processing of work item 40 should be finished. TTST 31 is the maximum time that work item 40 should spend in queue 21 corresponding to this task 500. TTCT 32 is the time in which the task 500 should be completed and the work item be passed on 2o to the next task in the workflow sequence. TTST 31 and TTCT 32 are administered based on the work item's TWCT 30 and on historical performance measures for the corresponding task. Times 31 and 32 are also expressed either as amounts of time or as absolute times. The relationship between times 31 and 32 may be expressed as 2s TTCT=TTST+AHT, where AHT is the average handling time of a work item 40 by a task station 11 that corresponds to this task 500. QAT 26 is a measure of the average time that it takes for a work item 40 to advance one position 23 toward the head of that queue 21, periodically calculated by EWT 22 illustratively in the manner described in U.S. pat.
3o no. 5,506,898. And IQR 28 is an indication of the number of positions 23 that the corresponding work item 40 is ahead of or behind schedule in A.D. Flockhart 21-1-1-6-2 - 7 -meeting its TTST 31 or TTCT 32. Hence, IQR 28 represents the number of positions 23 that a work item 40 either may be retarded or needs to be advanced in queue 21 to remain on schedule.
For example, assume that TTST 31 of a work item 40 in s queue 21 is 15 minutes from the present time. If QAT 26 for queue 21 is presently 2 minutes, and work item 40 is in the third position 23 from the head of this queue 21, work item 40 is 9 minutes ahead of schedule in this queue 21. The work item is assigned an IQR of +4, which means that this work item 40 is ahead of schedule and can afford to lose four positions 23 1o in queue 21 and still remain on schedule. Conversely, an IQR of -1 would mean that work item 40 is behind schedule but could be brought back on schedule if it were advanced by one position 23 in queue 21. And if TTST 31 in this example were 9 minutes or QAT 26 were 4 minutes, the _ work item's IQR 28 would be 0, meaning that work item 40 is just on 15 schedule.
Memory 15 further includes a call-sequencing (SEQ) function 24 which calculates and uses IQRs 28. Its functionality is shown in FIGS. 2-4. When a call becomes enqueued in a queue 21, at step 200 of FIG. 2, function 24 computes its IQR 28, at step 202 or 203. If target 2o times are expressed as absolute times, as determined at step 201, then IQR 28 is computed at step 202 as (a) either (i) the time sum of the present time and EWT of the work item 40 subtracted from TTST 31 of that work item 40, or (ii) the time sum of the present time, the EWT of the work item 40, and the AHT for this task subtracted from TTCT 31 of that 25 work item 40, and (b) the resulting time difference divided by QAT 26 of that queue 21 and rounded down. If target times are expressed as amounts of time, as determined at step 201, then IQR 28 is computed at step 203 as (a) either (i) the difference between TTST 31 and EWT of that work item 40, or (ii) the difference between TTCT 31 of this work item 40 3o and the sum of the EWT of this item 40 and AHT of this task 500, and (b) the resulting difference divided by QAT 26 of that queue 21 and rounded A. D. Flockhart 21-1-1-6-2 - 8 -down. Function 24 then stores the computed IQR 28 in queue position 23 that is occupied by the subject work item 40, at step 204, and then performs a queue 21 reordering, at step 206, which is shown in FIG. 3.
Upon invocation of reordering of a queue 21, at step 400 of FIG. 3, function 24 checks IQRs 28 of all positions 23 in the subject queue 21 to determine if any are less than 0, at step 402. If none are less than zero, it means that all enqueued work items 40 are meeting service objectives, and so function 24 ends its operation, at step 450. If any IQRs 28 are less than zero, function 24 performs a linear optimization ~o function on the subject queue 21 to minimize negative IQRs 28, at step 404. Linear optimization functions are well-known in the art. The minimization may takE any one of a number of possible forms, such as minimizing the total number of negative IQRs 28, or minimizing the sum of the values of negative IQRs 28. As a part of this process, function 24 performs the IQR 28 recomputations of step 302 of FIG. 4 for the various permutations of work items 40 that it considers for the subject queue 21.
Having come up with a new ordering of enqueued work items 40 at step 404, function 24 now reorders work items 40 and their new IQRs 28 in positions 23 of the subject queue 21 accordingly, at steps 406 and 408.
2o Function 24 then proceeds to perform a queue position change, at step 450, which is shown in FIG. 4.
Whenever any call in a queue 21 changes position 23, as indicated at step 300 of FIG. 4, function 24 recomputes IQR 28 of every work item 40 in that queue 21, at step 302. Each work item's IQR 28 is 2s recomputed as the sum of the present IQR 28 and the number of positions 23 that the work item 40 has either advanced (a positive number) or been retarded (a negative number) in that queue 21.
Function 24 then stores the computed IQR 28 in queue position 23 that is presently occupied by the subject work item 40, at step 304. When it has so recomputed IQRs 28 of all work items 40 enqueued in the subject A. D. Flockhart 21-1-1-6-2 - 9 -queue 21, as determined at step 306, function 24 ends its operation, at step 450.
Of course, various changes and modifications to the illustrative embodiment described above will be apparent to those skilled in the art. For example, when EWT function 22 recomputes QAT 26 of a queue 21, the procedure of FIG. 2 may be performed for work items in that queue to recompute their IQRs 28 accordingly. ,Also, the reorder queue procedure of FIG. 3 may be performed even when no work item in a queue is behind schedule (all IQRs ? 0), so as to make all work items in ~o the queue more equally on or ahead of schedule. Also, reporting may identify those work items that are consistently "bad actors" and tag them for manual handling outside of the normal workflow. Such changes and modifications can be made without departing from the spirit and the scope -of the invention and without diminishing its attendant advantages. It is therefore intended that such changes and modifications be covered by the following claims except insofar as limited by the prior art.
COMPLETION TIME
Technical Field This invention relates to workflow management.
s Back4round of the Invention In a workflow, work items--whether physical items such as products and paper documents or virtual items such as communications and electronic documents--progress through a series of one or more task stations, where each task station has an inbox queue for work items ~o waiting to be serviced as well as resources that service work items retrieved from the inbox queue. As work items progress through the workflow, it is practically inevitable that some work items will make slower progress than others. This is due to the nature of the work items themselves (for example, a status-inquiry call is likely to take a different ~s amount of time to handle than an order call) as well as to the different capabilities of the resources that are servicing the work items (for example, different levels of expertise of call center agents who are handling the calls). This results in some work items progressing through the workflow ahead of schedule while others fall behind schedule.
2o It is desirable for the workflow to make automatic adjustments to bring each work item to completion on or ahead of its schedule as determined according to a given business strategy. For example, when a workflow is overloaded with work items, one business strategy is to bring all work items to completion a short time behind 2s schedule (i.e., "share the pain"), while another business strategy is to maximize the number of on-schedule work items at the sacrifice of significantly delaying a small percentage of work items that have already fallen behind. Various extraneous data can also play a part in the business strategy. For example, in a call center application with known so customers, such as account holders, the business strategy may require that tasks for preferred customers be completed on schedule at the A. D. Flockhart 21-1-1-6-2 - 2 -expense of regular customers when necessary. Workflow adjustments to achieve such business strategies generally are difficult to implement automatically. Therefore, the prior art has usually adopted the approach of initially assigning work items to different inbox queues based on the adopted business strategy, and then servicing the work items from each queue in a first-in, first-out and/or priority order. Servicing items on this basis does little or nothing to correct the schedules of "at risk" work items or to optimize the business results of workflows with different business strategies, however.
io Summary of the Invention This invention is directed to solving these and other problems and disadvantages of the prior art. Generally according to the invention, work items in a queue are repeatedly reordered to maximize results according to a given business strategy that is expressed through 15 target completion times and deviances therefrom. Specifically according to the invention, in a queue that has an ordered plurality of work items that are waiting to be worked and each one of those items has a target completion time, the amount of the target completion time of an item that has already expired (e.g., the amount of the target completion time that 2o the item has already spent in processing and in the queue) and the amount of additional time that is likely to expire before the item is worked (e.g., the position of the item in the queue times the rate of advance of the item between queue positions) is used to determine whether the item either may be retarded or needs to be advanced in the queue, relative to 2s the other items in the queue, in order to meet its target completion time.
Preferably, the determination is of the number of queue positions that the item may or needs to be moved, and is computed as the difference between the target completion time and the sum of the above-mentioned expired time and additional likely time, divided by the rate of advance and so rounded down. Based on the determination, the items in the queue are then reordered to optimize a metric of items that may fail to meet their A. D. Flockhart 21-1-1-6-2 - 3 -target completion times (e.g., those items that need to be advanced in the queue). Illustratively, an optimization function is performed on the queue to determine an order that optimizes the metric (e.g., that minimizes a number of the items that will fail to meet their target completion times or s that minimizes the amount of time by which the items will exceed their target completion times), and the items in the queue are reordered accordingly.
The determination and reordering are preferably performed when the item enters the queue or each time that an item changes position in the queue. The order of the enqueued items is thus frequently adjusted to maximize whatever business strategy, expressed through target completion timES and deviances therefrom, is being pursued. With the invention, the status of each work item in the inbox queue is uniquely classified, and the needs and consequences of advancing or retarding any 15 given item can be easily evaluated. Particularly advantageous is tying the number of positions that an item can be advanced or retarded to the in-queue rate of advance. This allows the consequences of any reordering of work items to be clearly evaluated. For example, if all that the system knew was that one item was ahead of schedule by "x" minutes and 2o another item was behind schedule by "y" minutes, the system would not directly know whether swapping positions of the one and the other items would put the other item back on schedule or whether it would cause the one item to now fall behind schedule. But if this information is tied to the in-queue advance time, the system is capable of easily evaluating the 2s requirements and consequences of any reordering. Whether or not any reordering takes place, and the nature of it, depends on the business strategy of the workflow. Another advantage is that different target completion times can be set for individual work items in the same workflow. Work items with aggressive schedules are then automatically 3o advanced through the workflow at a faster rate than other work items.
A.D. Flockhart 21-1-1-6-2 - 4 -This allows the system to support a substantially-unlimited number of priority levels for each workflow.
The invention encompasses both method and apparatus.
While the method comprises the steps of the just-characterized procedure, s the apparatus effects the method steps. It preferably includes an effector --any entity that effects the corresponding step, unlike a means--for each method step. Further according to the invention, there is provided a computer-readable medium containing software which, when executed in a computer, causes the computer to perform the method steps.
These and other advantages and features of the invention will become more apparent from the following description of an illustrative embodiment of the in~~ention considered together with the drawing.
Brief Description of the Drawing FIG. 1 is a block diagram of a processing center that ~s includes an illustrative embodiment of the invention;
FIG. 2 is a flow diagram of operations of an SEQ function of the center of FIG. 1 upon a work item entering a queue of the center of FIG. 1;
FIG. 3 is a flow diagram of operations of the SEQ function 2o upon invocation of reordering of a queue in the center of FIG. 1;
FIG. 4 is a flow diagram of operations of the SEQ function upon a change in the in-queue position of a work item in a queue of the center of FIG. 1; and 2s FIG. 5 is a flow diagram of an illustrative workflow definition of the center of FIG. 1.
Detailed Description FIG. 1 shows an illustrative work processing center that comprises a workflow management engine 10 serving a plurality of task so stations 11 where work items 40-illustratively electronic documents in this example, such as loan applications--are processed, e.g., by A. D. Flockhart 21-1-1-6-2 - 5 -agents 25. Workflow management engine 10 sends each work item 40 to one or more task stations 11 for processing in a sequence determined by the item's workflow definition 50. An illustrative workflow definition 50 is shown in FIG. 5. A workflow definition 50 is a sequence 502 of one or more tasks (A-E) 500. Each task 500 is generally performed by a different task station 11. The same task 500 may be performed by a plurality of stations 11. Different sets of work items 40 may have different workflow definitions 50. Workflow definitions 50 are stored in a workflow definitions store 14. Work items 40 themselves are stored in a work item store 13.
~o As described so far, the work processing center of FIG. 1 is conventional.
As is also conventional, workflow management engine 10 is a stored-program-con~rolled unit that includes a memory 15 comprising one or more different memory units for storing programs and data, and a processor 16 for executing the stored programs and using the stored data ~s in their execution. Memory 15 includes a plurality of sets 20 of inbox queues 21. Each set 20 of queues 21 conventionally serves a different workflow 50. Within each set 20, each queue 21 serves a different task 500. Each queue 21 functions as a first-in, first-out (FIFO) buffer memory, and includes a plurality of entries, or positions 23, each for a 2o corresponding one enqueued work item 40. The position 23 at the head of queue 21 is considered to be position number 1, the next subsequent position 23 in queue 21 is considered to be position number 2, etc.
Memory 15 further includes an estimated wait time (EWT) function 22. As its name implies, this function determines an estimate of 25 how long a work item 40 that is placed in a queue 21 will have to wait before being connected to a station 11 for processing. The estimate is derived separately by EWT function 22 for each queue 21. It is based on the average rate of advance of work items 40 through positions 23 of queue 21; this rate of advance is also computed by EWT function 22. An so illustrative implementation of EWT function 22 is disclosed in U.S. patent no. 5,506,898.
A.D. Flockhart 21-1-1-6-2 - 6 -According to the invention, work items 40 are assigned time goals for completing the whole workflow defined by the corresponding workflow definition 50, andlor for starting andlor completing each task 500 within that workflow. Accordingly, each work item 40 in queue 21 has its s own associated target workflow completion time (TWCT) 30, target task start time (TTST) 31 and/or target task completion time (TTCT) 32, and item queue rating (IQR) 28. These are stored along with the work item's identifier (WIID) 29 in the work item 's present position 23 in queue 21.
Furthermore, each queue 21 has its own associated queue advance time ~o (QAT) 26. Alternatively, each queue 21 may have target times 31-32 that are common to all work items 40 in that queue 21. TWCT 30 is administered according to customer commitments or internal business goals derived from contents of a business/custorner information database 12, and represents either the maximum amount of time that the 1s work item 40 should spend in the corresponding workflow, or the absolute (calendar or clock) time by which the processing of work item 40 should be finished. TTST 31 is the maximum time that work item 40 should spend in queue 21 corresponding to this task 500. TTCT 32 is the time in which the task 500 should be completed and the work item be passed on 2o to the next task in the workflow sequence. TTST 31 and TTCT 32 are administered based on the work item's TWCT 30 and on historical performance measures for the corresponding task. Times 31 and 32 are also expressed either as amounts of time or as absolute times. The relationship between times 31 and 32 may be expressed as 2s TTCT=TTST+AHT, where AHT is the average handling time of a work item 40 by a task station 11 that corresponds to this task 500. QAT 26 is a measure of the average time that it takes for a work item 40 to advance one position 23 toward the head of that queue 21, periodically calculated by EWT 22 illustratively in the manner described in U.S. pat.
3o no. 5,506,898. And IQR 28 is an indication of the number of positions 23 that the corresponding work item 40 is ahead of or behind schedule in A.D. Flockhart 21-1-1-6-2 - 7 -meeting its TTST 31 or TTCT 32. Hence, IQR 28 represents the number of positions 23 that a work item 40 either may be retarded or needs to be advanced in queue 21 to remain on schedule.
For example, assume that TTST 31 of a work item 40 in s queue 21 is 15 minutes from the present time. If QAT 26 for queue 21 is presently 2 minutes, and work item 40 is in the third position 23 from the head of this queue 21, work item 40 is 9 minutes ahead of schedule in this queue 21. The work item is assigned an IQR of +4, which means that this work item 40 is ahead of schedule and can afford to lose four positions 23 1o in queue 21 and still remain on schedule. Conversely, an IQR of -1 would mean that work item 40 is behind schedule but could be brought back on schedule if it were advanced by one position 23 in queue 21. And if TTST 31 in this example were 9 minutes or QAT 26 were 4 minutes, the _ work item's IQR 28 would be 0, meaning that work item 40 is just on 15 schedule.
Memory 15 further includes a call-sequencing (SEQ) function 24 which calculates and uses IQRs 28. Its functionality is shown in FIGS. 2-4. When a call becomes enqueued in a queue 21, at step 200 of FIG. 2, function 24 computes its IQR 28, at step 202 or 203. If target 2o times are expressed as absolute times, as determined at step 201, then IQR 28 is computed at step 202 as (a) either (i) the time sum of the present time and EWT of the work item 40 subtracted from TTST 31 of that work item 40, or (ii) the time sum of the present time, the EWT of the work item 40, and the AHT for this task subtracted from TTCT 31 of that 25 work item 40, and (b) the resulting time difference divided by QAT 26 of that queue 21 and rounded down. If target times are expressed as amounts of time, as determined at step 201, then IQR 28 is computed at step 203 as (a) either (i) the difference between TTST 31 and EWT of that work item 40, or (ii) the difference between TTCT 31 of this work item 40 3o and the sum of the EWT of this item 40 and AHT of this task 500, and (b) the resulting difference divided by QAT 26 of that queue 21 and rounded A. D. Flockhart 21-1-1-6-2 - 8 -down. Function 24 then stores the computed IQR 28 in queue position 23 that is occupied by the subject work item 40, at step 204, and then performs a queue 21 reordering, at step 206, which is shown in FIG. 3.
Upon invocation of reordering of a queue 21, at step 400 of FIG. 3, function 24 checks IQRs 28 of all positions 23 in the subject queue 21 to determine if any are less than 0, at step 402. If none are less than zero, it means that all enqueued work items 40 are meeting service objectives, and so function 24 ends its operation, at step 450. If any IQRs 28 are less than zero, function 24 performs a linear optimization ~o function on the subject queue 21 to minimize negative IQRs 28, at step 404. Linear optimization functions are well-known in the art. The minimization may takE any one of a number of possible forms, such as minimizing the total number of negative IQRs 28, or minimizing the sum of the values of negative IQRs 28. As a part of this process, function 24 performs the IQR 28 recomputations of step 302 of FIG. 4 for the various permutations of work items 40 that it considers for the subject queue 21.
Having come up with a new ordering of enqueued work items 40 at step 404, function 24 now reorders work items 40 and their new IQRs 28 in positions 23 of the subject queue 21 accordingly, at steps 406 and 408.
2o Function 24 then proceeds to perform a queue position change, at step 450, which is shown in FIG. 4.
Whenever any call in a queue 21 changes position 23, as indicated at step 300 of FIG. 4, function 24 recomputes IQR 28 of every work item 40 in that queue 21, at step 302. Each work item's IQR 28 is 2s recomputed as the sum of the present IQR 28 and the number of positions 23 that the work item 40 has either advanced (a positive number) or been retarded (a negative number) in that queue 21.
Function 24 then stores the computed IQR 28 in queue position 23 that is presently occupied by the subject work item 40, at step 304. When it has so recomputed IQRs 28 of all work items 40 enqueued in the subject A. D. Flockhart 21-1-1-6-2 - 9 -queue 21, as determined at step 306, function 24 ends its operation, at step 450.
Of course, various changes and modifications to the illustrative embodiment described above will be apparent to those skilled in the art. For example, when EWT function 22 recomputes QAT 26 of a queue 21, the procedure of FIG. 2 may be performed for work items in that queue to recompute their IQRs 28 accordingly. ,Also, the reorder queue procedure of FIG. 3 may be performed even when no work item in a queue is behind schedule (all IQRs ? 0), so as to make all work items in ~o the queue more equally on or ahead of schedule. Also, reporting may identify those work items that are consistently "bad actors" and tag them for manual handling outside of the normal workflow. Such changes and modifications can be made without departing from the spirit and the scope -of the invention and without diminishing its attendant advantages. It is therefore intended that such changes and modifications be covered by the following claims except insofar as limited by the prior art.
Claims (16)
1. A method of optimizing workflow:
in a queue having an ordered plurality of work items waiting to be worked and each having at least one target time including a target start time or a target completion time, determining, from an amount of the target time of an item that has already expired and an amount of additional time that is likely to expire before the item is worked, whether the item either may be retarded or needs to be advanced in the queue relative to other said items in the queue to meet its target time; and reordering the items in the queue to optimize a metric of items that may fail to meet their target time.
in a queue having an ordered plurality of work items waiting to be worked and each having at least one target time including a target start time or a target completion time, determining, from an amount of the target time of an item that has already expired and an amount of additional time that is likely to expire before the item is worked, whether the item either may be retarded or needs to be advanced in the queue relative to other said items in the queue to meet its target time; and reordering the items in the queue to optimize a metric of items that may fail to meet their target time.
2. The method of claim 1 wherein:
determining comprises determining, from a time that the item has already spent in the queue and an additional time that the item is likely to remain in the queue, whether the item either may be retarded or needs to be advanced.
determining comprises determining, from a time that the item has already spent in the queue and an additional time that the item is likely to remain in the queue, whether the item either may be retarded or needs to be advanced.
3. The method of claim 1 wherein:
determining comprises determining for each said item whether the item either may be retarded or needs to be advanced.
determining comprises determining for each said item whether the item either may be retarded or needs to be advanced.
4. The method of claim 3 wherein:
reordering comprises reordering the items in the queue to minimize either (a) a number of the items that will fail to meet their target times, or an amount of time by which the items will exceed their target times.
reordering comprises reordering the items in the queue to minimize either (a) a number of the items that will fail to meet their target times, or an amount of time by which the items will exceed their target times.
5. The method of claim 3 wherein:
reordering comprises performing an optimization function on the queue to determine an order of the items in the queue that optimizes the metric; and reordering the items in the determined order.
reordering comprises performing an optimization function on the queue to determine an order of the items in the queue that optimizes the metric; and reordering the items in the determined order.
6. The method of claim 1 wherein:
determining comprises in a queue having a sequence of a plurality of positions for the work items, determining for each said item a number of the positions that the item may be retarded or needs to be advanced.
determining comprises in a queue having a sequence of a plurality of positions for the work items, determining for each said item a number of the positions that the item may be retarded or needs to be advanced.
7. The method of claim 1 wherein:
determining comprises in a queue having a sequence of a plurality of positions for the work items that terminates at a head end and wherein each item further has a rate of advance between positions in the sequence, determining, from a time that the item has already spent in the queue, the rate of advance, and a present position of the item from the head end, a number of the positions that the item either may be retarded or needs to be advanced in the sequence to meet its target time.
determining comprises in a queue having a sequence of a plurality of positions for the work items that terminates at a head end and wherein each item further has a rate of advance between positions in the sequence, determining, from a time that the item has already spent in the queue, the rate of advance, and a present position of the item from the head end, a number of the positions that the item either may be retarded or needs to be advanced in the sequence to meet its target time.
8. The method of claim 7 wherein:
determining comprises in response to an item entering the queue, determining the number of the positions that the item either may be retarded or needs to be advanced as: the target completion time less a sum of an estimated wait time of the item in the queue and an average handling time of a work item, divided by the rate of advance and rounded down, and in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced; and reordering comprises reordering the items in the queue to optimize a metric of items that have a negative said determined number of the positions.
determining comprises in response to an item entering the queue, determining the number of the positions that the item either may be retarded or needs to be advanced as: the target completion time less a sum of an estimated wait time of the item in the queue and an average handling time of a work item, divided by the rate of advance and rounded down, and in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced; and reordering comprises reordering the items in the queue to optimize a metric of items that have a negative said determined number of the positions.
9. The method of claim 7 wherein:
determining comprises in response to an item entering the queue, determining the number of the positions that the item either may be retarded or needs to be advanced as: the target start time less an estimated wait time of the item in the queue, divided by the rate of advance and rounded down, and in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced; and reordering comprises reordering the items in the queue to optimize a metric of items that have a negative said determined number of positions.
determining comprises in response to an item entering the queue, determining the number of the positions that the item either may be retarded or needs to be advanced as: the target start time less an estimated wait time of the item in the queue, divided by the rate of advance and rounded down, and in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced; and reordering comprises reordering the items in the queue to optimize a metric of items that have a negative said determined number of positions.
10. A method of optimizing workflow in a queue having an ordered plurality of positions, each for a different one of a plurality of work items waiting to be worked, that terminates at a head end, comprising:
determining a rate of advance of the work items between the positions, in response to an item that has an associated target time including a target start time or a target completion time entering the queue, determining a number of positions that the item either may be retarded or needs to be advanced in the queue as one of (a) the target completion time less a sum of an estimated wait time of the item in the queue and an average handling time of the work item, divided by the rate of advance and rounded down, and (b) the target start time less the estimated wait time of the item in the queue, divided by the rate of advance and rounded down;
in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced;
performing an optimization function on the queue to determine an order of the items in the queue that optimizes a metric of those items that need to be advanced in the queue in order to meet the target time; and reordering the items in the queue in the determined order.
determining a rate of advance of the work items between the positions, in response to an item that has an associated target time including a target start time or a target completion time entering the queue, determining a number of positions that the item either may be retarded or needs to be advanced in the queue as one of (a) the target completion time less a sum of an estimated wait time of the item in the queue and an average handling time of the work item, divided by the rate of advance and rounded down, and (b) the target start time less the estimated wait time of the item in the queue, divided by the rate of advance and rounded down;
in response to an item changing its position in the queue, re-determining the number of the positions that the item either may be retarded or needs to be advanced;
performing an optimization function on the queue to determine an order of the items in the queue that optimizes a metric of those items that need to be advanced in the queue in order to meet the target time; and reordering the items in the queue in the determined order.
11. The method of claim 10 wherein:
performing comprises performing the optimization function to determine an order that minimizes either (a) a number of the items that need to be advanced in the queue in order to meet their target times, or (b) a total amount of time by which the items will exceed their target times.
performing comprises performing the optimization function to determine an order that minimizes either (a) a number of the items that need to be advanced in the queue in order to meet their target times, or (b) a total amount of time by which the items will exceed their target times.
12. A method of optimizing a workflow comprising a sequence of a plurality of tasks each having a corresponding queue of an ordered plurality of work items waiting for the task, comprising:
in each said queue, assigning to each work item at least one target time including a target start time or a target completion time for the corresponding task;
for each work item in each said queue, determining from an amount of the target time of the item for the corresponding task that has already expired and an amount of additional time that is likely to expire before the item undergoes the corresponding task, whether the item either may be retarded or needs to be advanced in the queue relative to other said items in the queue to meet its target time for the corresponding task; and in each said queue, reordering the items to optimize a metric of items that may fail to meet their target time for the corresponding task.
in each said queue, assigning to each work item at least one target time including a target start time or a target completion time for the corresponding task;
for each work item in each said queue, determining from an amount of the target time of the item for the corresponding task that has already expired and an amount of additional time that is likely to expire before the item undergoes the corresponding task, whether the item either may be retarded or needs to be advanced in the queue relative to other said items in the queue to meet its target time for the corresponding task; and in each said queue, reordering the items to optimize a metric of items that may fail to meet their target time for the corresponding task.
13. The method of claim 12 wherein:
determining is performed for each item when the item enters any queue and when the item changes its position in any queue; and reordering is performed for each queue whenever determining is performed for any item in that queue.
determining is performed for each item when the item enters any queue and when the item changes its position in any queue; and reordering is performed for each queue whenever determining is performed for any item in that queue.
14. An apparatus comprising:
a queue for storing a plurality of work items waiting to be worked and each having at least one target time including a target start time or a target completion time;
means for determining, from an amount of the target time of an item that has already expired and an amount of additional time that is likely to expire before the item is worked, whether the item either may be retarded or needs to be advanced in the queue to meet its target time; and means for reordering the items in the queue to optimize a metric of items that may fail to meet their target times.
a queue for storing a plurality of work items waiting to be worked and each having at least one target time including a target start time or a target completion time;
means for determining, from an amount of the target time of an item that has already expired and an amount of additional time that is likely to expire before the item is worked, whether the item either may be retarded or needs to be advanced in the queue to meet its target time; and means for reordering the items in the queue to optimize a metric of items that may fail to meet their target times.
15. An apparatus that effects the method of one of the claims 1-13.
16. A computer-readable medium containing instructions which, when executed in a processor, cause the processor to perform the method of one of the claims 1-13.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/415,577 US6463346B1 (en) | 1999-10-08 | 1999-10-08 | Workflow-scheduling optimization driven by target completion time |
US09/415,577 | 1999-10-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2321605A1 true CA2321605A1 (en) | 2001-04-08 |
Family
ID=23646274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002321605A Abandoned CA2321605A1 (en) | 1999-10-08 | 2000-10-02 | Workflow scheduling optimization driven by target completion time |
Country Status (5)
Country | Link |
---|---|
US (1) | US6463346B1 (en) |
EP (1) | EP1091307A3 (en) |
JP (1) | JP3735028B2 (en) |
KR (1) | KR20010067298A (en) |
CA (1) | CA2321605A1 (en) |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6614903B1 (en) * | 1999-12-15 | 2003-09-02 | Avaya Technology Corp. | Methods and apparatus for service state-based processing of communications in a call center |
US6714643B1 (en) * | 2000-02-24 | 2004-03-30 | Siemens Information & Communication Networks, Inc. | System and method for implementing wait time estimation in automatic call distribution queues |
US7844504B1 (en) | 2000-04-27 | 2010-11-30 | Avaya Inc. | Routing based on the contents of a shopping cart |
US6754333B1 (en) | 2000-04-27 | 2004-06-22 | Avaya Technology Corp. | Wait time prediction arrangement for non-real-time customer contacts |
US6741699B1 (en) | 2000-04-27 | 2004-05-25 | Avaya Technology Corp. | Arrangement for controlling the volume and type of contacts in an internet call center |
US7103173B2 (en) | 2001-07-09 | 2006-09-05 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US7142662B2 (en) | 2000-07-11 | 2006-11-28 | Austin Logistics Incorporated | Method and system for distributing outbound telephone calls |
US7657590B2 (en) * | 2001-02-07 | 2010-02-02 | Ubs Ag | Load balancing system and method |
US6941514B2 (en) * | 2001-04-30 | 2005-09-06 | Bellsouth Intellectual Property Corporation | System and method for priority-based work order scheduling |
US7715546B2 (en) | 2001-07-09 | 2010-05-11 | Austin Logistics Incorporated | System and method for updating contact records |
US7054434B2 (en) | 2001-07-09 | 2006-05-30 | Austin Logistics Incorporated | System and method for common account based routing of contact records |
US6985462B2 (en) | 2001-10-05 | 2006-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for user scheduling in a communication network |
US20030167199A1 (en) * | 2002-03-01 | 2003-09-04 | Thomann Karen S. | Automated workflow means and method for pension products |
US20030233341A1 (en) * | 2002-05-29 | 2003-12-18 | Taylor Amanda Kim | Systems and methods for work list prediction |
US6647307B1 (en) * | 2002-11-07 | 2003-11-11 | Taiwan Semiconductor Mfg. Co. Ltd. | Method for controlling queue time constraints in a fabrication facility |
US7000483B2 (en) * | 2003-02-03 | 2006-02-21 | Dielectrics Industries, Inc. | Inflatable manometers |
US7376784B2 (en) | 2004-01-26 | 2008-05-20 | Hitachi Global Storage Technologies Netherlands B.V. | System and method for selecting command for execution in HDD based on benefit |
US20040181446A1 (en) * | 2003-03-13 | 2004-09-16 | Vance Michael E. | Method, system and apparatus for managing workflow in a workplace |
CN1842811A (en) * | 2003-08-29 | 2006-10-04 | 西门子医疗健康服务公司 | Customer service support system |
AU2004274717A1 (en) * | 2003-09-22 | 2005-03-31 | Inserm (Institut National De La Sante Et De La Recherche Medicale) | A method for detecting Nipah virus and method for providing immunoprotection against henipaviruses |
US20050071212A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Method and apparatus for business time computation in a resource allocation system |
US7770175B2 (en) | 2003-09-26 | 2010-08-03 | Avaya Inc. | Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal |
US8094804B2 (en) | 2003-09-26 | 2012-01-10 | Avaya Inc. | Method and apparatus for assessing the status of work waiting for service |
US7103435B2 (en) * | 2003-10-02 | 2006-09-05 | Taiwan Semiconductor Manufacturing Co., Ltd. | System and method of control factor management |
US8472612B1 (en) | 2004-01-29 | 2013-06-25 | Avaya Inc. | Call center customer queue shortcut access code |
US8457300B2 (en) | 2004-02-12 | 2013-06-04 | Avaya Inc. | Instant message contact management in a contact center |
US7729490B2 (en) | 2004-02-12 | 2010-06-01 | Avaya Inc. | Post-termination contact management |
US7085367B1 (en) | 2004-02-24 | 2006-08-01 | Avaya Technology Corp. | Call duration alert |
US7130385B1 (en) | 2004-03-05 | 2006-10-31 | Avaya Technology Corp. | Advanced port-based E911 strategy for IP telephony |
US7885401B1 (en) | 2004-03-29 | 2011-02-08 | Avaya Inc. | Method and apparatus to forecast the availability of a resource |
US7158909B2 (en) * | 2004-03-31 | 2007-01-02 | Balboa Instruments, Inc. | Method and system for testing spas |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US7953859B1 (en) | 2004-03-31 | 2011-05-31 | Avaya Inc. | Data model of participation in multi-channel and multi-party contacts |
US8000989B1 (en) | 2004-03-31 | 2011-08-16 | Avaya Inc. | Using true value in routing work items to resources |
US8738412B2 (en) | 2004-07-13 | 2014-05-27 | Avaya Inc. | Method and apparatus for supporting individualized selection rules for resource allocation |
US7246746B2 (en) | 2004-08-03 | 2007-07-24 | Avaya Technology Corp. | Integrated real-time automated location positioning asset management system |
US8234141B1 (en) | 2004-09-27 | 2012-07-31 | Avaya Inc. | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
US7949121B1 (en) | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US7949123B1 (en) | 2004-09-28 | 2011-05-24 | Avaya Inc. | Wait time predictor for long shelf-life work |
US7657021B2 (en) | 2004-09-29 | 2010-02-02 | Avaya Inc. | Method and apparatus for global call queue in a global call center |
US20060218012A1 (en) * | 2005-03-22 | 2006-09-28 | HERNANDEZ Andres | System for managing documents and associated document information deficiencies |
US8107625B2 (en) | 2005-03-31 | 2012-01-31 | Avaya Inc. | IP phone intruder security monitoring system |
US7630487B2 (en) | 2005-04-26 | 2009-12-08 | Cisco Technology, Inc. | Method and system for distributing calls |
US7817796B1 (en) | 2005-04-27 | 2010-10-19 | Avaya Inc. | Coordinating work assignments for contact center agents |
KR100697866B1 (en) * | 2005-04-29 | 2007-03-22 | 한국과학기술정보연구원 | Job Management System with Job Waiting Time Detecting Function and Method for Detecting Job Waiting Time and Medium for Storing for Program Carrying out Method of Computing Job Waiting Time |
US7809127B2 (en) | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
US7779042B1 (en) | 2005-08-08 | 2010-08-17 | Avaya Inc. | Deferred control of surrogate key generation in a distributed processing architecture |
US7881450B1 (en) | 2005-09-15 | 2011-02-01 | Avaya Inc. | Answer on hold notification |
US8577015B2 (en) | 2005-09-16 | 2013-11-05 | Avaya Inc. | Method and apparatus for the automated delivery of notifications to contacts based on predicted work prioritization |
US10572879B1 (en) | 2005-10-03 | 2020-02-25 | Avaya Inc. | Agent driven media-agnostic work item grouping and sharing over a consult medium |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US8116446B1 (en) | 2005-10-03 | 2012-02-14 | Avaya Inc. | Agent driven work item awareness for tuning routing engine work-assignment algorithms |
US8073129B1 (en) | 2005-10-03 | 2011-12-06 | Avaya Inc. | Work item relation awareness for agents during routing engine driven sub-optimal work assignments |
US8411843B1 (en) | 2005-10-04 | 2013-04-02 | Avaya Inc. | Next agent available notification |
US7752230B2 (en) | 2005-10-06 | 2010-07-06 | Avaya Inc. | Data extensibility using external database tables |
US7787609B1 (en) | 2005-10-06 | 2010-08-31 | Avaya Inc. | Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills |
US7821386B1 (en) | 2005-10-11 | 2010-10-26 | Avaya Inc. | Departure-based reminder systems |
US8238541B1 (en) | 2006-01-31 | 2012-08-07 | Avaya Inc. | Intent based skill-set classification for accurate, automatic determination of agent skills |
US8737173B2 (en) | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US8442197B1 (en) | 2006-03-30 | 2013-05-14 | Avaya Inc. | Telephone-based user interface for participating simultaneously in more than one teleconference |
US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
US20070239300A1 (en) * | 2006-03-30 | 2007-10-11 | Burda Richard G | Method and system for setting rates and targets in a range management system |
US20070282636A1 (en) * | 2006-06-06 | 2007-12-06 | Siemens Medical Solutions Usa, Inc. | Document Deficiency and Workflow Management System |
US7936867B1 (en) | 2006-08-15 | 2011-05-03 | Avaya Inc. | Multi-service request within a contact center |
US8391463B1 (en) | 2006-09-01 | 2013-03-05 | Avaya Inc. | Method and apparatus for identifying related contacts |
US8811597B1 (en) | 2006-09-07 | 2014-08-19 | Avaya Inc. | Contact center performance prediction |
US8938063B1 (en) | 2006-09-07 | 2015-01-20 | Avaya Inc. | Contact center service monitoring and correcting |
US8855292B1 (en) | 2006-09-08 | 2014-10-07 | Avaya Inc. | Agent-enabled queue bypass to agent |
US7835514B1 (en) | 2006-09-18 | 2010-11-16 | Avaya Inc. | Provide a graceful transfer out of active wait treatment |
US8767944B1 (en) | 2007-01-03 | 2014-07-01 | Avaya Inc. | Mechanism for status and control communication over SIP using CODEC tunneling |
US20080162246A1 (en) * | 2007-01-03 | 2008-07-03 | International Business Machines Corporation | Method and system for contract based call center and/or contact center management |
US8189761B2 (en) * | 2007-03-15 | 2012-05-29 | Cisco Technology, Inc. | Method and system for managing calls |
US7877270B2 (en) * | 2007-03-28 | 2011-01-25 | General Electric Company | Systems and methods for profiling clinic workflow |
US7747705B1 (en) | 2007-05-08 | 2010-06-29 | Avaya Inc. | Method to make a discussion forum or RSS feed a source for customer contact into a multimedia contact center that is capable of handling emails |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8385532B1 (en) | 2008-05-12 | 2013-02-26 | Avaya Inc. | Real-time detective |
US8831206B1 (en) | 2008-05-12 | 2014-09-09 | Avaya Inc. | Automated, data-based mechanism to detect evolution of employee skills |
US10375244B2 (en) | 2008-08-06 | 2019-08-06 | Avaya Inc. | Premises enabled mobile kiosk, using customers' mobile communication device |
US8116237B2 (en) | 2008-09-26 | 2012-02-14 | Avaya Inc. | Clearing house for publish/subscribe of status data from distributed telecommunications systems |
US9232055B2 (en) | 2008-12-23 | 2016-01-05 | Avaya Inc. | SIP presence based notifications |
US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
US20160098298A1 (en) * | 2009-04-24 | 2016-04-07 | Pegasystems Inc. | Methods and apparatus for integrated work management |
US8621011B2 (en) | 2009-05-12 | 2013-12-31 | Avaya Inc. | Treatment of web feeds as work assignment in a contact center |
US8964958B2 (en) | 2009-05-20 | 2015-02-24 | Avaya Inc. | Grid-based contact center |
WO2010138658A1 (en) * | 2009-05-29 | 2010-12-02 | Perceptive Software, Inc. | Workflow management system and method |
US20100306005A1 (en) * | 2009-05-29 | 2010-12-02 | Perceptive Software, Inc. | Workflow Management System and Method |
US9081616B2 (en) * | 2009-05-29 | 2015-07-14 | Lexmark International Technology, SA | System and method for adjusting a number of processing modules based on processing load |
US8565412B2 (en) * | 2009-06-23 | 2013-10-22 | Avaya Inc. | Servicing calls in call centers based on estimated call value |
US8731182B2 (en) * | 2009-06-23 | 2014-05-20 | Avaya Inc. | Data store for assessing accuracy of call center agent service time estimates |
US8644491B2 (en) | 2009-08-21 | 2014-02-04 | Avaya Inc. | Mechanism for multisite service state description |
US8385533B2 (en) | 2009-09-21 | 2013-02-26 | Avaya Inc. | Bidding work assignment on conference/subscribe RTP clearing house |
US8565386B2 (en) | 2009-09-29 | 2013-10-22 | Avaya Inc. | Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints |
US8793690B2 (en) * | 2009-10-09 | 2014-07-29 | International Business Machines Corporation | Generating timing sequence for activating resources linked through time dependency relationships |
US9516069B2 (en) | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
US8306212B2 (en) | 2010-02-19 | 2012-11-06 | Avaya Inc. | Time-based work assignments in automated contact distribution |
CN102280398B (en) * | 2010-06-13 | 2014-01-15 | 中芯国际集成电路制造(上海)有限公司 | Wafer group allocation method |
US20120078673A1 (en) * | 2010-09-28 | 2012-03-29 | John Koke | Dynamic queueing and management system |
US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
US10579947B2 (en) * | 2011-07-08 | 2020-03-03 | Avaya Inc. | System and method for scheduling based on service completion objectives |
US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
US8675860B2 (en) | 2012-02-16 | 2014-03-18 | Avaya Inc. | Training optimizer for contact center agents |
JP5627625B2 (en) * | 2012-03-22 | 2014-11-19 | 株式会社東芝 | Scheduling apparatus and method |
CA2783339A1 (en) * | 2012-06-04 | 2013-12-04 | Source Evolution | Priority scheduling for multi-channel context aware communication technology |
US10032136B1 (en) | 2012-07-30 | 2018-07-24 | Verint Americas Inc. | System and method of scheduling work within a workflow with defined process goals |
US8566414B2 (en) | 2012-10-12 | 2013-10-22 | Freedomone Mobile, Inc. | Systems and methods for subscription management in a multi-channel context aware communication environment |
US20150095029A1 (en) * | 2013-10-02 | 2015-04-02 | StarTek, Inc. | Computer-Implemented System And Method For Quantitatively Assessing Vocal Behavioral Risk |
US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
WO2017091195A1 (en) * | 2015-11-23 | 2017-06-01 | Hewlett-Packard Development Company, L.P. | Data usage effectiveness determination |
US11816616B2 (en) * | 2016-05-20 | 2023-11-14 | International Business Machines Corporation | Workflow scheduling and optimization tools |
US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
US11025707B1 (en) | 2017-06-20 | 2021-06-01 | Amazon Technologies, Inc. | Dynamic execution resource selection for customized workflow tasks |
US10860585B2 (en) | 2017-12-08 | 2020-12-08 | Ensemble Rcm, Llc | Workflow automation through tagging of database records |
US10977243B2 (en) | 2018-01-22 | 2021-04-13 | Ensemble Rcm, Llc | Processing of transaction records in a database based on reason codes |
EP3749944A4 (en) * | 2018-02-06 | 2021-04-21 | Siemens Healthcare Diagnostics, Inc. | Predictive inventory control apparatus and methods |
US10977239B2 (en) * | 2018-02-26 | 2021-04-13 | Ensemble Rcm, Llc | Adapting workflows based on constrained optimizations |
US11354164B1 (en) | 2018-04-20 | 2022-06-07 | Automation Anywhere, Inc. | Robotic process automation system with quality of service based automation |
US10908950B1 (en) * | 2018-04-20 | 2021-02-02 | Automation Anywhere, Inc. | Robotic process automation system with queue orchestration and task prioritization |
US11010340B2 (en) | 2018-07-09 | 2021-05-18 | Ensemble Rcm, Llc | Adapting workflows based on expected results |
US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
US11232092B2 (en) | 2018-10-29 | 2022-01-25 | Ensemble Rcm, Llc | Workflow automation on policy updates |
US10929367B2 (en) * | 2018-10-31 | 2021-02-23 | Salesforce.Com, Inc. | Automatic rearrangement of process flows in a database system |
US10929128B2 (en) | 2018-11-29 | 2021-02-23 | Ensemble Rcm, Llc | Vectorization for parsing of complexly structured files |
US11372901B2 (en) | 2019-07-01 | 2022-06-28 | Ensemble Rcm, Llc | Customizing modular workflows for processing of database records |
US11663051B2 (en) | 2020-01-07 | 2023-05-30 | International Business Machines Corporation | Workflow pipeline optimization based on machine learning operation for determining wait time between successive executions of the workflow |
US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
US11531670B2 (en) | 2020-09-15 | 2022-12-20 | Ensemble Rcm, Llc | Methods and systems for capturing data of a database record related to an event |
EP4260548A1 (en) * | 2020-12-08 | 2023-10-18 | Genesys Cloud Services Holdings II, LLC. | Method and system for robust wait time estimation in a multi-skilled contact center with abandonment |
US11334586B1 (en) | 2021-03-15 | 2022-05-17 | Ensemble Rcm, Llc | Methods and systems for processing database records based on results of a dynamic query session |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170355A (en) * | 1988-12-14 | 1992-12-08 | Siemens Corporate Research, Inc. | Apparatus and a method for controlling the release of jobs from a pool of pending jobs into a factory |
US5291397A (en) * | 1991-12-20 | 1994-03-01 | Powell Roger A | Method for resource allocation and project control for the production of a product |
US5446671A (en) * | 1993-10-22 | 1995-08-29 | Micron Semiconductor, Inc. | Look-ahead method for maintaining optimum queued quantities of in-process parts at a manufacturing bottleneck |
US5506898A (en) * | 1994-07-12 | 1996-04-09 | At&T Corp. | Expected wait-time indication arrangement |
JP2666755B2 (en) * | 1995-01-11 | 1997-10-22 | 日本電気株式会社 | Workflow system |
US5612886A (en) * | 1995-05-12 | 1997-03-18 | Taiwan Semiconductor Manufacturing Company Ltd. | Method and system for dynamic dispatching in semiconductor manufacturing plants |
US5890134A (en) * | 1996-02-16 | 1999-03-30 | Mcdonnell Douglas Corporation | Scheduling optimizer |
US5751580A (en) * | 1996-07-26 | 1998-05-12 | Chartered Semiconductor Manufacturing, Ltd. | Fuzzy logic method and system for adjustment of priority rating of work in process in a production line |
JPH10207939A (en) * | 1997-01-17 | 1998-08-07 | Nec Corp | Work flow system |
US6130942A (en) * | 1998-10-30 | 2000-10-10 | Ericsson Inc. | Skills-based automatic call distribution system |
US6353769B1 (en) * | 1999-03-22 | 2002-03-05 | Taiwan Semiconductor Manufacturing Company | Method for allocating lot priority by ranking lots as a function of budget queue time in a manufacturing control system |
-
1999
- 1999-10-08 US US09/415,577 patent/US6463346B1/en not_active Expired - Lifetime
-
2000
- 2000-08-29 EP EP00307381A patent/EP1091307A3/en not_active Ceased
- 2000-10-02 CA CA002321605A patent/CA2321605A1/en not_active Abandoned
- 2000-10-06 JP JP2000306927A patent/JP3735028B2/en not_active Expired - Fee Related
- 2000-10-06 KR KR1020000058767A patent/KR20010067298A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP1091307A3 (en) | 2001-08-22 |
JP3735028B2 (en) | 2006-01-11 |
KR20010067298A (en) | 2001-07-12 |
US6463346B1 (en) | 2002-10-08 |
EP1091307A2 (en) | 2001-04-11 |
JP2001167202A (en) | 2001-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6463346B1 (en) | Workflow-scheduling optimization driven by target completion time | |
JP3759359B2 (en) | Adjusting call selection to achieve performance metrics targets based on call center segments | |
US6563920B1 (en) | Methods and apparatus for processing of communications in a call center based on variable rest period determinations | |
US6661889B1 (en) | Methods and apparatus for multi-variable work assignment in a call center | |
US6925165B2 (en) | Call selection based on continuum skill levels in a call center | |
US7500241B1 (en) | Method and apparatus for scheduling tasks | |
US8050955B2 (en) | Method for forecasting and managing multimedia contacts | |
EP1109385B1 (en) | State-based service processing in a call center | |
EP0982917B1 (en) | Skill-value queuing in a call center | |
US6694009B1 (en) | Estimation of a work item's wait-time from the present stages of processing of preceding work items | |
JP2000232523A (en) | Method and system for deciding agent occupancy rate in call center | |
US8433594B2 (en) | System, method and computer-accessible medium for making worker distribution plan on the basis of updated skill assessment data | |
JP2005108227A (en) | Method and apparatus for business time computation in resource allocation system | |
EP3499439A1 (en) | Techniques for benchmarking pairing strategies in a contact center system | |
US20210065095A1 (en) | Techniques for behavioral pairing in a multistage task assignment system | |
JP2001312538A (en) | Method and device for reserving resources to anticipated work items via simulated work items | |
Hastings et al. | Job oriented production scheduling | |
US20220129827A1 (en) | Techniques for workforce management in a task assignment system | |
EP2315396A1 (en) | Device of using the push mode to realize the non-real-time media routing and method thereof | |
US20070189494A1 (en) | Methods and apparatus for estimating call intents and recalls | |
JP2008139919A (en) | Method of scheduling corresponding to production fluctuation | |
JPH0930616A (en) | Inventory managing device | |
JP2001100832A (en) | System for delivery date calculation, and method for calculating delivery date for ordered product | |
CN106960275B (en) | Service deployment control method and service deployment control system | |
Lambrecht et al. | Clips: a capacity and lead time integrated procedure for scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |