CA2469399C - Method and apparatus for assessing the status of work waiting for service - Google Patents
Method and apparatus for assessing the status of work waiting for service Download PDFInfo
- Publication number
- CA2469399C CA2469399C CA 2469399 CA2469399A CA2469399C CA 2469399 C CA2469399 C CA 2469399C CA 2469399 CA2469399 CA 2469399 CA 2469399 A CA2469399 A CA 2469399A CA 2469399 C CA2469399 C CA 2469399C
- Authority
- CA
- Canada
- Prior art keywords
- work
- queue
- time
- determining
- rqp
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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
-
- 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- 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
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- 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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Abstract
The present invention provides a system and method for assessing the status of work waiting for service in a work queue or a work pool. Work items are placed in the work queue or work pool and have a service time goal. The work items in the work queue or work pool are scanned and a required queue position for each work item is calculated according to the amount of time remaining prior to the expiration of the service time goal and weighted advance time for servicing of work items in the work queue or pool. An array of counters has elements which correspond to required queue positions. Upon the calculation of the required queue position for a work item, the counter corresponding to the required queue position is incremented. When all of the work items are scanned, the array of counters is analyzed to predict a future state of the work queue or work pool.
Description
METHOD AND APPARATUS FOR ASSESSING THE STATUS
OF WORK WAITING FOR SERVICE
FIELD OF THE INVENTION
The present invention is directed to the scheduling of work items in a resource allocation system. In particular, the present invention is directed to service time goals for work items in a queue awaiting service, and assessing the status of work items in queue relative to their service time goals.
BACKGROUND OF THE INVENTION
In present day automatic contact distribution (ACD) systems, resource selection and allocation algorithms are commonly employed to perform calculations related to timing of operations and service time goals for work items in queue. These calculations are performed, for example, when a telephone call is received at a call center. When such a call is received, it is typically assigned to a pool of resources responsible for answering telephone calls.
Furthermore, such calls generally have a service time goal, such as three minutes, which is the goal for an agent to answer the call. These service time goals are useful to help ensure a customer is not waiting to speak to an agent for a long period of time, which may reduce customer satisfaction.
In such ACD systems, contacts incoming to a contact center are answered and handled by a plurality of resources. The ACD system automatically distributes and connects incoming contacts to whatever resource, generally agents, have the skill set suited to handle the contacts and are free, i.e., not handling other contacts at the moment. As used herein, a "contact" refers to any mode or type of contact between two entities, including without limitation voice calls, VoIP, text-chat, e-mail, fax, electronic documents, web forms, voice messages, and video calls, to name but a few.
The contacts are placed in different queues based upon preestablished criteria, such as business/service policies, objectives, and goals for each contact type, and are typically placed in each queue in the order of their arrival and/or priority. Due to the random and peaked nature of inbound contacts from customers, a contact center may becorne overloaded when no suitable resources are available to handle contacts as the service time goal for the contacts expires.
h'urthermore, a contact center may have sufficient resources to handle present contacts which have service time goals currently expiring, but may not have enough resources to handle the contacts which have a service time goal at some point in the future.
As is known in the art, it is common for such ACI? systems to include algorithms which detect whether service time goals are being met, and also to predict if service time goals are likely to be met in the future. Numerous techniques have been devised for determining an actual or anticipated wait time for each queued item, and the queued items are typically serviced based on the actual and/or anticipated wait time. However, such techniques generally look at only the head of the queue, in order to determine if the contact center is currently behind target, or is in a state of immediate risk. Techniques which are used to predict of service time goals are likely to be met in the future generally only look at the tail of the queue, or the last item in the queue, and make a determination of whether it is predicted that this item will be serviced at or before the service time goal for that work item, and give a yes/no answer as to whether there is a future risk. As will be understood, the last item in the queue may follow a number of items which all have a service time goal which will expire at substantially the same time.
Thus, it is possible that the last item in a queue will show no future risk, while there in actuality is a future risk associated with the relatively heavy workload which precedes the last work item in the queue.
Accordingly, it would be advantageous to have a method and ap;paratus which is able to determine future risk, and also determine when such risk will arise and the amount of resources required to correct the potential shortfall in resources.
Another problem with such techniques is that they were designed for real time servicing.
As mentioned above, it is common to receive contacts in the form of e-mail, fax, electronic documents, web forms, voice messages, which do not require immediate attention of an agent, but rather are required to be attended to within a preset service time goal period. For example, the contact center may have a service time goal for electronic mail of one business day.
Likewise, web forms which are received may have a goal of being answered within two business days. Such contacts are referred to as "back office contacts," which are placed into an queue which is to be serviced by a back office, meaning that they are not serviced by agents in real time with a contact.
OF WORK WAITING FOR SERVICE
FIELD OF THE INVENTION
The present invention is directed to the scheduling of work items in a resource allocation system. In particular, the present invention is directed to service time goals for work items in a queue awaiting service, and assessing the status of work items in queue relative to their service time goals.
BACKGROUND OF THE INVENTION
In present day automatic contact distribution (ACD) systems, resource selection and allocation algorithms are commonly employed to perform calculations related to timing of operations and service time goals for work items in queue. These calculations are performed, for example, when a telephone call is received at a call center. When such a call is received, it is typically assigned to a pool of resources responsible for answering telephone calls.
Furthermore, such calls generally have a service time goal, such as three minutes, which is the goal for an agent to answer the call. These service time goals are useful to help ensure a customer is not waiting to speak to an agent for a long period of time, which may reduce customer satisfaction.
In such ACD systems, contacts incoming to a contact center are answered and handled by a plurality of resources. The ACD system automatically distributes and connects incoming contacts to whatever resource, generally agents, have the skill set suited to handle the contacts and are free, i.e., not handling other contacts at the moment. As used herein, a "contact" refers to any mode or type of contact between two entities, including without limitation voice calls, VoIP, text-chat, e-mail, fax, electronic documents, web forms, voice messages, and video calls, to name but a few.
The contacts are placed in different queues based upon preestablished criteria, such as business/service policies, objectives, and goals for each contact type, and are typically placed in each queue in the order of their arrival and/or priority. Due to the random and peaked nature of inbound contacts from customers, a contact center may becorne overloaded when no suitable resources are available to handle contacts as the service time goal for the contacts expires.
h'urthermore, a contact center may have sufficient resources to handle present contacts which have service time goals currently expiring, but may not have enough resources to handle the contacts which have a service time goal at some point in the future.
As is known in the art, it is common for such ACI? systems to include algorithms which detect whether service time goals are being met, and also to predict if service time goals are likely to be met in the future. Numerous techniques have been devised for determining an actual or anticipated wait time for each queued item, and the queued items are typically serviced based on the actual and/or anticipated wait time. However, such techniques generally look at only the head of the queue, in order to determine if the contact center is currently behind target, or is in a state of immediate risk. Techniques which are used to predict of service time goals are likely to be met in the future generally only look at the tail of the queue, or the last item in the queue, and make a determination of whether it is predicted that this item will be serviced at or before the service time goal for that work item, and give a yes/no answer as to whether there is a future risk. As will be understood, the last item in the queue may follow a number of items which all have a service time goal which will expire at substantially the same time.
Thus, it is possible that the last item in a queue will show no future risk, while there in actuality is a future risk associated with the relatively heavy workload which precedes the last work item in the queue.
Accordingly, it would be advantageous to have a method and ap;paratus which is able to determine future risk, and also determine when such risk will arise and the amount of resources required to correct the potential shortfall in resources.
Another problem with such techniques is that they were designed for real time servicing.
As mentioned above, it is common to receive contacts in the form of e-mail, fax, electronic documents, web forms, voice messages, which do not require immediate attention of an agent, but rather are required to be attended to within a preset service time goal period. For example, the contact center may have a service time goal for electronic mail of one business day.
Likewise, web forms which are received may have a goal of being answered within two business days. Such contacts are referred to as "back office contacts," which are placed into an queue which is to be serviced by a back office, meaning that they are not serviced by agents in real time with a contact.
In some ACD systems, such work items are placed in unordered work queues.
These items often are received at different times, and have different service goals. Thus, if the items were to be placed in an ordered work pool, with the contacts ordered by the amount of time left to service tlie contact, each time a contact is added to the queue, the queue may have to be reordered. As will be understood, reordering a work queue can consume a significant amount of resources in a system, thus it may be advantageous to place such work items in an unordered work pool or work queue. One problem with placing contacts in an unordered work pool is that resource allocation algorithms are generally designed to operate using ordered work pools. Thus, it would be advantageous to have an unordered work pool with resource allocation algorithms which are able to assess the work in the unordered work pool to determine a status of the pool and make predictions regarding potential future resource shortfalls for the work pool.
SUMMARY OF THE INVENTION
These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to a method and apparatus for assessing the status of work awaiting service in an ordered or unordered work pool. The methodology is particularly useful in contact centers.
Certain exemplary embodiments may provide a contact center comprising a central server for distributing work items to a first set of resources, a method comprising:
providing a work queue having a plurality of work items; generating an ordered set of items related to the plurality of work items in the work queue; determining a priority of the plurality of work items based on values stored in the ordered set; based on the determining step, predicting a future state of the work queue; when the future state comprises a future risk state, assigning at least one work station of a second set of resources to the work queue.
A required queue position (RQP) for each work item in said work queue, may be determined, the RQP based on a service time goal for each work item and an estimated time for completion of work items. The ordered set of items may be generated by creating an array of counters, each element in the array of counters corresponding to a predefined range of required queue positions. The array of counters may be modified by incrementing a counter in the array of counters associated with the RQP for each work item. The required queue position is determined, in one embodiment, for each work item, by subtracting an amount of time since the work item was received from the service time goal for the work item to obtain a remaining time -3 a-for the work item. For each work item, determining a required queue position may include dividing the remaining time for the work item by the weighted advance time (WAT) of the work queue. The weighted advance time is the measure of the average time that is required for a work item to advance one position in the queue. The calculation of weighted advance time is described in U.S. Patent No. 5,505,898.
The ordered set of items, in one embodiment, is generated by determining a range of required queue positions which correspond to each item within the ordered set, and incrementing a counter associated with the item within the ordered set which corresponds to a required queue position associated with each work item. The range of queue positions for each item in the ordered set may be set to preestablished criteria, such as, for example, each item in the ordered set may correspond to one queue position, or each item in the ordered set, where the number of the item is N, may be 2N1 < RQP < 2N.
Analyzing the ordered set to predict a future state of the work queue, in one embodiment, includes the steps of creating an index variable, setting the index variable to one, creating a sum variable, setting the sum variable to zero, calculating a new sum as the sum of the previous value of the sum variable and the value of the item in the ordered set which corresponds to the index - variable, determining if the sum is greater than the index, setting a state to "Future Risk" when the sum is greater than the index, and incrementing the index and repeating the calculating a new sum, determining if the sum is greater than the index, and setting a state when the sum is not greater than the index. In another embodiment, a range of queue positions corresponds to each item within the ordered set, and the determining step includes determining if the sum is greater than the highest number queue position which is associated with the item in the ordered set which corresponds to the index variable.
The analyzing of the ordered set may further include determining if there are additional items in the ordered set, and setting a state to "On Target" when there are no additional items in the ordered set. The analyzing of the ordered set may also include, when the sum is greater than the index, predicting a time of the "Future Risk". The time may be calculated as the product of the index and the estimated time for completion of work items. The analyzing of the ordered set may include, when the sum is greater than the index, determining an extent of the "Future Risk". The extent of the future risk is calculated, in one embodiment, as the difference between the sum and the index. The extent of the future risk is calculated, in another embodiment, as the difference between the sum and the highest number queue position associated with the item in the ordered set which corresponds to the index variable. In another embodiment, the invention provides a computer readable medium containing instructions for performing the steps for determining the status of work waiting for service, and a logic circuit operable to perform the steps for determining the status of work waiting for service.
Certain other exemplary embodiments may provide a central server for performing a method, the central server communicating via a local area network (LAN) with a set of databases, a plurality of servers and a private branch exchange (PBX), wherein a first set of resources is interconnected by the LAN and wherein a second set of resources is connected to the PBX, a method comprising: providing a work queue having a plurality of work items; generating an ordered set of items related to the plurality of work items in the work queue; analyzing the ordered set; determining a required queue position (RQP) for each of a plurality of work items, the RQP based on a remaining time for the work item and a weighted advance time for servicing of the work items;
creating an array of counters, each element in the array of counters corresponding to a predefined range of RQP's; and incrementing a counter in the array of counters associated with the RQP for each work item; predicting a future state of the work queue, wherein the future state is determined based on values stored in the array of counters; when the future state comprises a future risk state, assigning at least one work station of the second set of resources to the work queue.
The determining a required queue position step may include, for each work item, subtracting an amount of time since the work item was received from a service time goal for the work item to obtain a remaining time for the work item. The determining a required queue position step may include determining the weighted advance time for the work queue and for each work item, dividing the remaining time by the weighted advance time for the work queue. The incrementing a counter step may include determining a range of required queue positions which correspond to each element within the array of counters, and incrementing a counter associated with the element within the array of counters which corresponds to the required queue position obtained in the determining a required queue position step. In one embodiment, the predefined range of queue positions for each element in the array of counters is one. In another embodiment, the predefined range of queue positions for each element in the array of counters, where the number of the element is N, is 2N-' < RQP < 2N.
In one embodiment, the analyzing step includes the steps of: creating an index variable;
setting the index variable to one; creating a sum variable; setting the sum variable to zero;
calculating a new sum as the sum of the value of the sum variable and the value of the counter -5a-in the element of the array of counters which corresponds to the index variable;
determining if the sum is greater than the index; setting a state to "Future Risk" when the sum is greater than the index; and incrementing the index and repeating the calculating a new sum, determining if the sum is greater than the index, and setting a state when the sum is not greater than the index. In one embodiment, the determining step includes determining if the sum is greater than the highest number queue position which is associated with the element of the array of counters which corresponds to the index variable. The analyzing step may also include: determining if there are additional elements in the array of counters; and setting a state to "On Target" when there are no additional elements in the array of counters. The analyzing step may also include, when the sum is greater than the index, determining a time of the "Future Risk".
The time of the future risk is calculated as the product of the index and the weighted advance time of the work queue. The analyzing step may further include, when the sum is greater than the index, determining an extent of the "Future Risk". The extent may be calculated as the difference between the sum and the index. In another embodiment, the analyzing step further includes, when the sum is greater than the highest number queue position associated with the element of the array of counters which corresponds to the index variable, determining an extent of the "Future Risk," calculated as the difference between the sum and highest number queue position associated with the element.
Certain exemplary embodiments may provide a contact center for servicing a plurality of contacts received from a plurality of customers, comprising: a plurality of workstations corresponding to a plurality of resources; a central server in communication with the plurality of workstations, comprising: at least one queue of contacts, each of said contacts having an associated service time goal; and a workload monitoring agent operable to (a) monitor said at least one queue of contacts; (b) assess a state of said at least one queue of contacts with respect to the service time goals for said plurality of contacts; (c) determine a number of contacts which are at risk of not meeting their service time goals based on the pending workload and predetermined criteria, and a time at which the service time goal for said number of contacts will expire; and (d) in response to determining a number of contacts are likely not to meet their service time goals, assign at least one resource from a second set of resources to at least one of said contacts.
These items often are received at different times, and have different service goals. Thus, if the items were to be placed in an ordered work pool, with the contacts ordered by the amount of time left to service tlie contact, each time a contact is added to the queue, the queue may have to be reordered. As will be understood, reordering a work queue can consume a significant amount of resources in a system, thus it may be advantageous to place such work items in an unordered work pool or work queue. One problem with placing contacts in an unordered work pool is that resource allocation algorithms are generally designed to operate using ordered work pools. Thus, it would be advantageous to have an unordered work pool with resource allocation algorithms which are able to assess the work in the unordered work pool to determine a status of the pool and make predictions regarding potential future resource shortfalls for the work pool.
SUMMARY OF THE INVENTION
These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed generally to a method and apparatus for assessing the status of work awaiting service in an ordered or unordered work pool. The methodology is particularly useful in contact centers.
Certain exemplary embodiments may provide a contact center comprising a central server for distributing work items to a first set of resources, a method comprising:
providing a work queue having a plurality of work items; generating an ordered set of items related to the plurality of work items in the work queue; determining a priority of the plurality of work items based on values stored in the ordered set; based on the determining step, predicting a future state of the work queue; when the future state comprises a future risk state, assigning at least one work station of a second set of resources to the work queue.
A required queue position (RQP) for each work item in said work queue, may be determined, the RQP based on a service time goal for each work item and an estimated time for completion of work items. The ordered set of items may be generated by creating an array of counters, each element in the array of counters corresponding to a predefined range of required queue positions. The array of counters may be modified by incrementing a counter in the array of counters associated with the RQP for each work item. The required queue position is determined, in one embodiment, for each work item, by subtracting an amount of time since the work item was received from the service time goal for the work item to obtain a remaining time -3 a-for the work item. For each work item, determining a required queue position may include dividing the remaining time for the work item by the weighted advance time (WAT) of the work queue. The weighted advance time is the measure of the average time that is required for a work item to advance one position in the queue. The calculation of weighted advance time is described in U.S. Patent No. 5,505,898.
The ordered set of items, in one embodiment, is generated by determining a range of required queue positions which correspond to each item within the ordered set, and incrementing a counter associated with the item within the ordered set which corresponds to a required queue position associated with each work item. The range of queue positions for each item in the ordered set may be set to preestablished criteria, such as, for example, each item in the ordered set may correspond to one queue position, or each item in the ordered set, where the number of the item is N, may be 2N1 < RQP < 2N.
Analyzing the ordered set to predict a future state of the work queue, in one embodiment, includes the steps of creating an index variable, setting the index variable to one, creating a sum variable, setting the sum variable to zero, calculating a new sum as the sum of the previous value of the sum variable and the value of the item in the ordered set which corresponds to the index - variable, determining if the sum is greater than the index, setting a state to "Future Risk" when the sum is greater than the index, and incrementing the index and repeating the calculating a new sum, determining if the sum is greater than the index, and setting a state when the sum is not greater than the index. In another embodiment, a range of queue positions corresponds to each item within the ordered set, and the determining step includes determining if the sum is greater than the highest number queue position which is associated with the item in the ordered set which corresponds to the index variable.
The analyzing of the ordered set may further include determining if there are additional items in the ordered set, and setting a state to "On Target" when there are no additional items in the ordered set. The analyzing of the ordered set may also include, when the sum is greater than the index, predicting a time of the "Future Risk". The time may be calculated as the product of the index and the estimated time for completion of work items. The analyzing of the ordered set may include, when the sum is greater than the index, determining an extent of the "Future Risk". The extent of the future risk is calculated, in one embodiment, as the difference between the sum and the index. The extent of the future risk is calculated, in another embodiment, as the difference between the sum and the highest number queue position associated with the item in the ordered set which corresponds to the index variable. In another embodiment, the invention provides a computer readable medium containing instructions for performing the steps for determining the status of work waiting for service, and a logic circuit operable to perform the steps for determining the status of work waiting for service.
Certain other exemplary embodiments may provide a central server for performing a method, the central server communicating via a local area network (LAN) with a set of databases, a plurality of servers and a private branch exchange (PBX), wherein a first set of resources is interconnected by the LAN and wherein a second set of resources is connected to the PBX, a method comprising: providing a work queue having a plurality of work items; generating an ordered set of items related to the plurality of work items in the work queue; analyzing the ordered set; determining a required queue position (RQP) for each of a plurality of work items, the RQP based on a remaining time for the work item and a weighted advance time for servicing of the work items;
creating an array of counters, each element in the array of counters corresponding to a predefined range of RQP's; and incrementing a counter in the array of counters associated with the RQP for each work item; predicting a future state of the work queue, wherein the future state is determined based on values stored in the array of counters; when the future state comprises a future risk state, assigning at least one work station of the second set of resources to the work queue.
The determining a required queue position step may include, for each work item, subtracting an amount of time since the work item was received from a service time goal for the work item to obtain a remaining time for the work item. The determining a required queue position step may include determining the weighted advance time for the work queue and for each work item, dividing the remaining time by the weighted advance time for the work queue. The incrementing a counter step may include determining a range of required queue positions which correspond to each element within the array of counters, and incrementing a counter associated with the element within the array of counters which corresponds to the required queue position obtained in the determining a required queue position step. In one embodiment, the predefined range of queue positions for each element in the array of counters is one. In another embodiment, the predefined range of queue positions for each element in the array of counters, where the number of the element is N, is 2N-' < RQP < 2N.
In one embodiment, the analyzing step includes the steps of: creating an index variable;
setting the index variable to one; creating a sum variable; setting the sum variable to zero;
calculating a new sum as the sum of the value of the sum variable and the value of the counter -5a-in the element of the array of counters which corresponds to the index variable;
determining if the sum is greater than the index; setting a state to "Future Risk" when the sum is greater than the index; and incrementing the index and repeating the calculating a new sum, determining if the sum is greater than the index, and setting a state when the sum is not greater than the index. In one embodiment, the determining step includes determining if the sum is greater than the highest number queue position which is associated with the element of the array of counters which corresponds to the index variable. The analyzing step may also include: determining if there are additional elements in the array of counters; and setting a state to "On Target" when there are no additional elements in the array of counters. The analyzing step may also include, when the sum is greater than the index, determining a time of the "Future Risk".
The time of the future risk is calculated as the product of the index and the weighted advance time of the work queue. The analyzing step may further include, when the sum is greater than the index, determining an extent of the "Future Risk". The extent may be calculated as the difference between the sum and the index. In another embodiment, the analyzing step further includes, when the sum is greater than the highest number queue position associated with the element of the array of counters which corresponds to the index variable, determining an extent of the "Future Risk," calculated as the difference between the sum and highest number queue position associated with the element.
Certain exemplary embodiments may provide a contact center for servicing a plurality of contacts received from a plurality of customers, comprising: a plurality of workstations corresponding to a plurality of resources; a central server in communication with the plurality of workstations, comprising: at least one queue of contacts, each of said contacts having an associated service time goal; and a workload monitoring agent operable to (a) monitor said at least one queue of contacts; (b) assess a state of said at least one queue of contacts with respect to the service time goals for said plurality of contacts; (c) determine a number of contacts which are at risk of not meeting their service time goals based on the pending workload and predetermined criteria, and a time at which the service time goal for said number of contacts will expire; and (d) in response to determining a number of contacts are likely not to meet their service time goals, assign at least one resource from a second set of resources to at least one of said contacts.
In one embodiment, the contacts in the queue comprise one or more of real time and non-real time contacts. In another embodiment, the workload monitoring agent is further operable to identify a weighted advance time of the work queue and determine a required queue position for each of the contacts. The workload monitoring agent may determine the required queue position based on the weighted advance time of the work queue, an elapsed time since the contact was received at the queue, and a service time goal for the contact. The required queue position is calculated, in an embodiment, as the difference between the service time goal and the elapsed time divided by the weighted advance time of the work queue. The contacts within the plurality of contacts may have at least two service time goals. The workload monitoring agent is further operable to determine, in an embodiment, a representation of required queue positions associated with the contacts in the queue. In one embodiment, a predetermined workload level exists when a queue position in the representation of required queue positions is less than a number of enqueued contacts ahead of the queue position in the representation of required queue positions. The time which the predetermined workload level will likely exist is the product of the weighted advance time of the work queue and queue position at which the predetermined workload level will likely exist. The number of contacts required to be serviced is the difference between the required queue position and the number of enqueued contacts before the required queue position.
These and other advantages will be apparent from the disclosure of the invention contained herein, particularly when taken in conjunction with the attached drawings.
The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
These and other advantages will be apparent from the disclosure of the invention contained herein, particularly when taken in conjunction with the attached drawings.
The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
BRIEF DESCRIPTION OF THE DRAIWING:) Fig. 1 is a block diagram of a contact center of one embodiment of the present invention;
Fig. 2 is a plot of work iteni volume (vertical axis) versus time (horizontal axis);
Fig. 3 is flow chart diagram illustrating the operational steps for calculating required queue positions for work items of one embodiment of the present invention;
Fig. 4 is a flow chart diagram illustrating the operational steps for analyzing an array of counters of one embodiment of the present invention; and Fig. 5 is a table illustrating elements of an array of counters and ranges of required queue positions associated with each element according to one embodiment of the present invention.
DETAILED DESCRIPTION
Fig. 1 shows an illustrative embodiment of the present invention.
A contact center 6 comprises a central server 10 (such as a DefinityTM or Multi-VantageTM Enterprise Communications Server running modified. AdvocateTM
software of Avaya, Inc.), a set of data stores or databases 12 containing contact or customer related information and other information that can enhance the value and efficiency of the contact, a plurality of servers, namely a fax server 24, a data network server 20, an email server 16, and other servers 13, a private branch exchange PBX 28 (or private automatic exchange PAX), a first plurality or set of resources 14 (which are shown as being human agents) operating computer work stations 15, such as personal computers, andlor telephones 17 or other type of voice communications equipment, all interconnected by a local area network LAN (or wide area network WAN) 36, and a second plurality or set of resources 100 (which are shown as being human agents) also operating computer work stations 15, such as personal computers and/or telephones 17 or other types of voice communications equipment, connected to the PBX 28 via a public switched telephone network or PSTN 48 and to the central server 10 via a data network 44, such as the Internet. The fax server 24, web server 20 and emai3 server 16 are connected via communication connections 40 to the data network 44.
The other servers 13 can be connected via optional(dashed) communication lines 22, 32 to the PBX 28 andlor the data network 44. As will appreciatecl, other servers 13 could include a scanner (which is normally not connected to the PBX 28 or network 44), interactive voice recognition IVR software, VoIP software, video call software, voice messaging software, an IP
voice server, and the like. The PBX 28 is connected via a plurality of trunks 18 to the PSTN 48 and to the fax server 24 and telephones 17 of the resources 14. As will be appreciated, faxes can be received via the PSTN 48 through the use of a conventional fax machine 23 or via the network 44 by means of a suitably equipped personal computer. The PBX 28, fax server 24, email server 16, web server 20, and database 12 are conventional.
As will be appreciated, the central server 10 is notified via LAN 36 of an incoming realtime or non-realtime contact by the telecommunications component (e.g., PBX 28, fax server 24, email server 16, web server 20, and/or other server 13) receiving the incoming contact. The incoming contact is held by the receiving telecommunications component until the central server 10 forwards instructions to the component to forward the contact to a specific workstation and/or resource. The server 10 distributes and connects these contacts to workstations of available resources based on a set of predetermined criteria. The resources process the contacts sent to them by command of the central server 10.
In the architecture of Fig. 1 when the central server 10 forwards a realtime contact such as a telephone call to a resource, the central server 10 also forwards information from databases 12 to the resource's computer work station for viewing (such as by a pop-up display) to permit the resource to better serve the customer. The information is typically effected by the establishment of a data communications link between the central server and the target resource's workstation.
In one configuration, the first and second pluralities or sets of resources correspond, respectively, to employees and nonemployees of the business or enterprise operating the contact center. For example, the second plurality or set of resources can be contractors, subcontractors, employees of another organization (including a bidding house), and the like.
The first plurality of resources are served directly or supported by the central server/PBX and commonly service contacts to the center. In other words, the first plurality of resources or set of resources/workstations are subscribers to the enterprise network defined by the contact center 6 or are within the premises serviced by the server/PBX. The second plurality or set of resources/workstations are generally not served and/or supported directly by the central server and are typically geographically dislocated from the first plurality or set of resources. In other words, the second plurality of resources or set of workstations/resources are not subscribers to or supported by the enterprise network and are external to the premises serviced by the PBX and central server. The second set of resources may thus be "external" in that they are not directly supported as terminal endpoints by the server PBX (e.g., they do not have an extension associated with an internal endpoint serviced by the switch/server).
Communications with these resources are directed through the PSTN 48 (for telephone calls) (and are received at an external port of the switch/server) and through the data network 44 (for data communications such as customer-related information transmission). The second set of resources may be used to augment or support the first set of resources, such as by servicing less valuable or profitable work items through, for example, a bidding type process discussed in copending U.S. Patent Application "Contact Center Resource Allocation Based On Work Bidding/Auction", filed on even date herewith, to Flockhart et al.;
The central server 10 includes a memory 30 having a plurality of first sets 38 of contact queues 42 and 46 corresponding to the first plurality of resources. Each set of contact queues conventionally serves and holds contacts (or work items) for a different work type and/or for realtime versus non-realtime contacts. In the depicted embodiment, queues 42 serve non-real-time contacts while queues 46 serve real-time contacts. This embodiment is particularly suited for a Customer Relationship Management (CRM) environment in which customers are permitted to use any media to contact a business. In a CRM environment, both realtime and non-realtime contacts must be handled and distributed with equal efficiency and effectiveness. Within each set of queues, each queue holds contacts of a different priority and/or different type (e.g., e-mail, fax, electronic or paper documents, webform submissions, voice messages, voice calls, VoIP
calls, text chat, video calls, and the like). The priority of a contact is determined according to well known predefined criteria. Each queue may function as a first-in, first-out (FIFO) buffer memory, and include a plurality of items, or positions 50, each for identifying a corresponding one enqueued contact. The position at the head of the queue 66 is considered to be position 1, the next subsequent position to be position number 2, and so forth. The queues may also be unordered work queues, in which the work items contained in the queues are not in a FIFO
memory. Such an unordered configuration may be beneficial, for example, for a non-real-time queue having work items with differing service time goals where re-ordering the work queue following the completion of each work item would take a significant amount of resources.
Memory 30 further includes a wait time determining agent 54. As its name implies, this agent determines an estimate of how long a contact that is placed in a queue will have to wait before being delivered to a resource for servicing and/or has already waited for servicing. The estimate may be derived separately by the agent 54 for each work item in each queue of each set, and is referred to herein as an estimated wait time (EWT).
For realtime contacts, the EWT is based on any suitable algorithm, such as the average rate of advance of contacts through positions 50 of the contacts' corresponding queue referred to herein as a weighted advance time (WAT). This estimate is derived separately by the agent 54 for each queue. An illustrative implementation of the agent 54 for real-time contacts is disclosed by U.S. Patent 5,506,898_ For non-realtime contacts, the EWT estimate is generally determined differently than for realtime contacts. One approach for calculating the wait time is set forth in U.S. Patent Application Serial No. 09/641,403, filed August 17, 2000, entitled "Wait Time Prediction Arrangement for Non-Real-Time Customer Contacts".
Memory 30 can further include a work item selecting agent 26. Agent 26 is conventional.
It selects a work item from one or more of the queues to be serviced by an available resource based on wait time and/or business/service policies, objectives, and goals for each contact type.
The memory further includes a workload monitoring agent 70, as will be discussed below, for predicting potential deficiencies or surpluses for the first set of resources. A bid item selecting resource 74, as discussed in copending U.S. Patent Application "Contact Center Resource Allocation Based On Work Biddine/Auction", filed on even date herewith, to Flockhart et al., may be used if a deficiency in the first set of resources is predicted, for configuring and tracking a bidding process for each work item and selecting the winning bidder for such work items.
Fig. 2 is a plot of work iteni volume (vertical axis) versus time (horizontal axis);
Fig. 3 is flow chart diagram illustrating the operational steps for calculating required queue positions for work items of one embodiment of the present invention;
Fig. 4 is a flow chart diagram illustrating the operational steps for analyzing an array of counters of one embodiment of the present invention; and Fig. 5 is a table illustrating elements of an array of counters and ranges of required queue positions associated with each element according to one embodiment of the present invention.
DETAILED DESCRIPTION
Fig. 1 shows an illustrative embodiment of the present invention.
A contact center 6 comprises a central server 10 (such as a DefinityTM or Multi-VantageTM Enterprise Communications Server running modified. AdvocateTM
software of Avaya, Inc.), a set of data stores or databases 12 containing contact or customer related information and other information that can enhance the value and efficiency of the contact, a plurality of servers, namely a fax server 24, a data network server 20, an email server 16, and other servers 13, a private branch exchange PBX 28 (or private automatic exchange PAX), a first plurality or set of resources 14 (which are shown as being human agents) operating computer work stations 15, such as personal computers, andlor telephones 17 or other type of voice communications equipment, all interconnected by a local area network LAN (or wide area network WAN) 36, and a second plurality or set of resources 100 (which are shown as being human agents) also operating computer work stations 15, such as personal computers and/or telephones 17 or other types of voice communications equipment, connected to the PBX 28 via a public switched telephone network or PSTN 48 and to the central server 10 via a data network 44, such as the Internet. The fax server 24, web server 20 and emai3 server 16 are connected via communication connections 40 to the data network 44.
The other servers 13 can be connected via optional(dashed) communication lines 22, 32 to the PBX 28 andlor the data network 44. As will appreciatecl, other servers 13 could include a scanner (which is normally not connected to the PBX 28 or network 44), interactive voice recognition IVR software, VoIP software, video call software, voice messaging software, an IP
voice server, and the like. The PBX 28 is connected via a plurality of trunks 18 to the PSTN 48 and to the fax server 24 and telephones 17 of the resources 14. As will be appreciated, faxes can be received via the PSTN 48 through the use of a conventional fax machine 23 or via the network 44 by means of a suitably equipped personal computer. The PBX 28, fax server 24, email server 16, web server 20, and database 12 are conventional.
As will be appreciated, the central server 10 is notified via LAN 36 of an incoming realtime or non-realtime contact by the telecommunications component (e.g., PBX 28, fax server 24, email server 16, web server 20, and/or other server 13) receiving the incoming contact. The incoming contact is held by the receiving telecommunications component until the central server 10 forwards instructions to the component to forward the contact to a specific workstation and/or resource. The server 10 distributes and connects these contacts to workstations of available resources based on a set of predetermined criteria. The resources process the contacts sent to them by command of the central server 10.
In the architecture of Fig. 1 when the central server 10 forwards a realtime contact such as a telephone call to a resource, the central server 10 also forwards information from databases 12 to the resource's computer work station for viewing (such as by a pop-up display) to permit the resource to better serve the customer. The information is typically effected by the establishment of a data communications link between the central server and the target resource's workstation.
In one configuration, the first and second pluralities or sets of resources correspond, respectively, to employees and nonemployees of the business or enterprise operating the contact center. For example, the second plurality or set of resources can be contractors, subcontractors, employees of another organization (including a bidding house), and the like.
The first plurality of resources are served directly or supported by the central server/PBX and commonly service contacts to the center. In other words, the first plurality of resources or set of resources/workstations are subscribers to the enterprise network defined by the contact center 6 or are within the premises serviced by the server/PBX. The second plurality or set of resources/workstations are generally not served and/or supported directly by the central server and are typically geographically dislocated from the first plurality or set of resources. In other words, the second plurality of resources or set of workstations/resources are not subscribers to or supported by the enterprise network and are external to the premises serviced by the PBX and central server. The second set of resources may thus be "external" in that they are not directly supported as terminal endpoints by the server PBX (e.g., they do not have an extension associated with an internal endpoint serviced by the switch/server).
Communications with these resources are directed through the PSTN 48 (for telephone calls) (and are received at an external port of the switch/server) and through the data network 44 (for data communications such as customer-related information transmission). The second set of resources may be used to augment or support the first set of resources, such as by servicing less valuable or profitable work items through, for example, a bidding type process discussed in copending U.S. Patent Application "Contact Center Resource Allocation Based On Work Bidding/Auction", filed on even date herewith, to Flockhart et al.;
The central server 10 includes a memory 30 having a plurality of first sets 38 of contact queues 42 and 46 corresponding to the first plurality of resources. Each set of contact queues conventionally serves and holds contacts (or work items) for a different work type and/or for realtime versus non-realtime contacts. In the depicted embodiment, queues 42 serve non-real-time contacts while queues 46 serve real-time contacts. This embodiment is particularly suited for a Customer Relationship Management (CRM) environment in which customers are permitted to use any media to contact a business. In a CRM environment, both realtime and non-realtime contacts must be handled and distributed with equal efficiency and effectiveness. Within each set of queues, each queue holds contacts of a different priority and/or different type (e.g., e-mail, fax, electronic or paper documents, webform submissions, voice messages, voice calls, VoIP
calls, text chat, video calls, and the like). The priority of a contact is determined according to well known predefined criteria. Each queue may function as a first-in, first-out (FIFO) buffer memory, and include a plurality of items, or positions 50, each for identifying a corresponding one enqueued contact. The position at the head of the queue 66 is considered to be position 1, the next subsequent position to be position number 2, and so forth. The queues may also be unordered work queues, in which the work items contained in the queues are not in a FIFO
memory. Such an unordered configuration may be beneficial, for example, for a non-real-time queue having work items with differing service time goals where re-ordering the work queue following the completion of each work item would take a significant amount of resources.
Memory 30 further includes a wait time determining agent 54. As its name implies, this agent determines an estimate of how long a contact that is placed in a queue will have to wait before being delivered to a resource for servicing and/or has already waited for servicing. The estimate may be derived separately by the agent 54 for each work item in each queue of each set, and is referred to herein as an estimated wait time (EWT).
For realtime contacts, the EWT is based on any suitable algorithm, such as the average rate of advance of contacts through positions 50 of the contacts' corresponding queue referred to herein as a weighted advance time (WAT). This estimate is derived separately by the agent 54 for each queue. An illustrative implementation of the agent 54 for real-time contacts is disclosed by U.S. Patent 5,506,898_ For non-realtime contacts, the EWT estimate is generally determined differently than for realtime contacts. One approach for calculating the wait time is set forth in U.S. Patent Application Serial No. 09/641,403, filed August 17, 2000, entitled "Wait Time Prediction Arrangement for Non-Real-Time Customer Contacts".
Memory 30 can further include a work item selecting agent 26. Agent 26 is conventional.
It selects a work item from one or more of the queues to be serviced by an available resource based on wait time and/or business/service policies, objectives, and goals for each contact type.
The memory further includes a workload monitoring agent 70, as will be discussed below, for predicting potential deficiencies or surpluses for the first set of resources. A bid item selecting resource 74, as discussed in copending U.S. Patent Application "Contact Center Resource Allocation Based On Work Biddine/Auction", filed on even date herewith, to Flockhart et al., may be used if a deficiency in the first set of resources is predicted, for configuring and tracking a bidding process for each work item and selecting the winning bidder for such work items.
The workload monitoring agent 70 receives EWT information from the wait time determining agent 54, monitors the length of each queue, the numbers of available resources in the plurality of first resources, the types and priorities of contacts in each monitored queue, and anticipated workload levels. Based on this information, the workload monitoring agent 70 predicts when the contact center must take action in order to meet predetermined business/service policies, objectives, and goals for each contact type.
A graphical illustration of prediction of the amount of work items completed as a function of time is contained in Fig. 2. As illustrated in Fig. 2, the rate at which work items can be handled as a function of time is represented by line 104. The sinusoidal waveform 108 represents the number of work items that must be serviced by the resources as a function of time.
In the example illustrated in Fig. 2, there is a surplus of available resources earlier than time t2, and a surplus of work items after time t2. If the workload monitoring agent 70 predicts a surplus work item condition at time t,, actions may be taken that are associated with excess resources, such as making number of surplus resources available for other uses. If the workload monitoring agent 70 predicts a surplus of work items, actions associated with a deficiency in resources may be taken such as a bidding process in which the surplus work items are assigned to one or more of the members of the second set of resources no later than time t2.
With reference now to Figs. 3-4, the operation of the workload monitoring agent 70 of one embodiment of the present invention is described in more detail. As discussed above, work queues 42, 46 contain work items which are to be serviced by a particular pool of resources. As mentioned, in the embodiment of Fig. 1, work queues 42 are associated with non-real-time contacts and may include more than one type of contact, with each contact having a differing service time goal. Non-real time contacts may be "back office" type contacts which include contacts of several different types. For example, items in work queues 42 may include email enquiries, web forms, and purchase requests, among other things. Email enquiries may have a service time goal of one hour, web forms may have a service time goal of four hours, and purchase requests may have a service time goal of one day. These contacts, in one embodiment, are placed in work queues 42 in the order in which they were received.
Accordingly, the first item in a queue may not be the item which has the shortest amount of time before the expiration of the service time goal. Such a situation may arise when the first item on a queue is a purchase request (having a service goal of one day), and the second item on the queue is an email enquiry (having a service goal of one hour). In one embodiment, the workload monitoring agent 70 assesses each of the work queues 42, 46, and assigns a state to each of the work queues 42, 46 to indicate if the queue is "behind target," "on target," has an "immediate risk," or has a "future risk.". Furthermore, if the queue is in the behind target, immediate risk, or future risk states, the workload monitoring agent 70 is operable to make a prediction as to the amount of resources required to solve the problem. If a future risk state is predicted, the workload monitoring agent 70 is also operable to make a prediction of when the system will enter the risk state.
When determining the state of the work queues 42, 46, the workload monitoring agent 70, on an event basis and/or on a periodic basis, will examine a work queue or pool to determine the current state of the work items relative to their individual service time goals. Each work item in the queue or pool will have a service time goal, as described above. The remaining time for each work item in the queue or pool may be calculated as:
Remaining time = (Service Time Goal) -(Current Time).
If any work item has a negative remaining time, then the state of the work item and the work queue is "behind target." In such a situation, in one embodiment, the workload monitoring agent 70 generates an appropriate message to indicate the behind target state. The message may be sent to appropriate personnel or software system that may then take actions to remedy the problem. The message may include electronic notifications to appropriate personnel, display on a user interface, or other indication. The workload monitoring agent 70, in one embodiment, then proceeds to calculate required queue positions for each of the work items in the work queue.
In another embodiment, if a behind target state is detected, the workload monitoring agent 70 simplygenerates the appropriate alert and does not proceed to calculate required queue positions.
When determining the required queue position, WAT for the queue is determined.
As mentioned above, the WAT is the average elapsed time between each service event from the queue. For example, if work items are serviced from the queue at an average rate of one every six seconds, the WAT for that queue is six seconds, meaning ttiat, for example, the second item in the queue would be predicted to be completed in 12 seconds. Once the WAT is determined, the required queue position for each work item in the queue or pool is then calculated as the remaining time for the work item divided by the WAT, and rounded down to the next integer number. For example, if a work item has 20 seconds remaining before its service time goal expires, and the WAT for the queue or pool is six seconds, the prediction is that the work item must be serviced by one of the next three agents to become available t.o service work from this queue in order to meet the service time goal. Thus, the required queue position for the work item is three.
Referring now to Fig. 3, a flow chart diagram illustrating the operational steps for calculating required queue positions for each of the work items in the queue is now described.
An ordered list associated with the work items in the work queue or pool is created, which in one embodiment is an array of counters referred to as the Required Queue Position Array ("RQPA").
Each element in the RQPA indicates the number of work items which are required to be completed during the required queue position. The required queue position is indicated by the position of the element in the RQPA. Thus, the second elernent in the RQPA
indicates the number of work items with a required queue position of two. A counter, independent of the RQPA, referred to as the "Behind Target Count," is also associated with the work queue or pool, and indicates the number of work items which are behind target. The assessment of the work queue is initiated, as indicated at block 150. Each element of the RQPA is initialized to zero, and the Behind Target Count is initialized to zero, as indiicated by block 154. This is accomplished by setting each element in the RQPA, and the Behind Target Count, to have a value of zero. At block 158, the first item in the work queue is scanried. The required queue position ("RQP") is calculated for the work itern, as noted by block 162.
Following the calculation of the required queue position for the work item., it is determined whether the required queue position is less than zero, as noted by block 1053. A negative required queue position indicates that the remaining time is negative, and the work item is behind target. If the required queue position is negative, the Behind Target Count is incremented, according to block 164. If the required queue position is zero or greater, the; element in the RQPA array corresponding to the required queue position, RQPA[RQP], is incremented, according to block 166. At block 170, it is then determined if there are more work iitems in the work queue. If there are no more work items, it is deterrnined if the Behind Target Count is greater than zero at block 171. If the Behind Target Count is not greater than zero, the RQPA is analyzed, as noted by block 174. If the Behind Target Count is greater than zero, the workload monitoring agent sets the current state to be "behind target," indicating that the time of the problem is the current time, and that the extent of the problem is the Behind Target Count, according to block 172. If there are more work items in the work queue, the next work item in the work queue is scanned, according to block 178. Following the scan of the next work item, the operational steps described with respect to blocks 162 through 178 are repeated. Thus, following the assessment of the work queue, the RQPA is created which includes items in each array element corresponding to the number of work items that must be completed by the time corresponding to the queue position of the RQPA.
Referring now to Fig. 4, the operational steps for analyzing the RQPA are described for one embodiment of the present invention. Initially, as noted by block 200, it is determined if element zero of the required queue position array (RPQA[0]) is greater than zero. This indicates that one or more work items has a required queue position of zero, which indicates that the work item should have been serviced by the previous agent to become available. By the time the next agent becomes available that can process the work item, it is likely that the work item will already have missed its service time objective. In such a case, the workload monitoring agent sets the current state to be "immediate risk," indicating that the t:ime of the problem is the current time, and that the extent of the problem is the value of RQPA[0], as indicated by block 204. If it is determined that RQPA[0] is zero, the workload monitoring agent 70, at block 208, sets an index variable to one, and a sum variable to zero. The workload monitoring agent 70 then sets the sum variable to be the total of the sum, plus the value of the required queue position array element corresponding to the index variable (Sum = Sum + RQPA[Index]), as noted by block 212. At block 216, it is then determined if the sum is greater than the index.
If the sum is greater than the index, this indicates that the total number of work items whicli need to be completed is greater than the total number of work items that are predicted to be cornpleted at the current rate of service work items as measured by the WAT.
A graphical illustration of prediction of the amount of work items completed as a function of time is contained in Fig. 2. As illustrated in Fig. 2, the rate at which work items can be handled as a function of time is represented by line 104. The sinusoidal waveform 108 represents the number of work items that must be serviced by the resources as a function of time.
In the example illustrated in Fig. 2, there is a surplus of available resources earlier than time t2, and a surplus of work items after time t2. If the workload monitoring agent 70 predicts a surplus work item condition at time t,, actions may be taken that are associated with excess resources, such as making number of surplus resources available for other uses. If the workload monitoring agent 70 predicts a surplus of work items, actions associated with a deficiency in resources may be taken such as a bidding process in which the surplus work items are assigned to one or more of the members of the second set of resources no later than time t2.
With reference now to Figs. 3-4, the operation of the workload monitoring agent 70 of one embodiment of the present invention is described in more detail. As discussed above, work queues 42, 46 contain work items which are to be serviced by a particular pool of resources. As mentioned, in the embodiment of Fig. 1, work queues 42 are associated with non-real-time contacts and may include more than one type of contact, with each contact having a differing service time goal. Non-real time contacts may be "back office" type contacts which include contacts of several different types. For example, items in work queues 42 may include email enquiries, web forms, and purchase requests, among other things. Email enquiries may have a service time goal of one hour, web forms may have a service time goal of four hours, and purchase requests may have a service time goal of one day. These contacts, in one embodiment, are placed in work queues 42 in the order in which they were received.
Accordingly, the first item in a queue may not be the item which has the shortest amount of time before the expiration of the service time goal. Such a situation may arise when the first item on a queue is a purchase request (having a service goal of one day), and the second item on the queue is an email enquiry (having a service goal of one hour). In one embodiment, the workload monitoring agent 70 assesses each of the work queues 42, 46, and assigns a state to each of the work queues 42, 46 to indicate if the queue is "behind target," "on target," has an "immediate risk," or has a "future risk.". Furthermore, if the queue is in the behind target, immediate risk, or future risk states, the workload monitoring agent 70 is operable to make a prediction as to the amount of resources required to solve the problem. If a future risk state is predicted, the workload monitoring agent 70 is also operable to make a prediction of when the system will enter the risk state.
When determining the state of the work queues 42, 46, the workload monitoring agent 70, on an event basis and/or on a periodic basis, will examine a work queue or pool to determine the current state of the work items relative to their individual service time goals. Each work item in the queue or pool will have a service time goal, as described above. The remaining time for each work item in the queue or pool may be calculated as:
Remaining time = (Service Time Goal) -(Current Time).
If any work item has a negative remaining time, then the state of the work item and the work queue is "behind target." In such a situation, in one embodiment, the workload monitoring agent 70 generates an appropriate message to indicate the behind target state. The message may be sent to appropriate personnel or software system that may then take actions to remedy the problem. The message may include electronic notifications to appropriate personnel, display on a user interface, or other indication. The workload monitoring agent 70, in one embodiment, then proceeds to calculate required queue positions for each of the work items in the work queue.
In another embodiment, if a behind target state is detected, the workload monitoring agent 70 simplygenerates the appropriate alert and does not proceed to calculate required queue positions.
When determining the required queue position, WAT for the queue is determined.
As mentioned above, the WAT is the average elapsed time between each service event from the queue. For example, if work items are serviced from the queue at an average rate of one every six seconds, the WAT for that queue is six seconds, meaning ttiat, for example, the second item in the queue would be predicted to be completed in 12 seconds. Once the WAT is determined, the required queue position for each work item in the queue or pool is then calculated as the remaining time for the work item divided by the WAT, and rounded down to the next integer number. For example, if a work item has 20 seconds remaining before its service time goal expires, and the WAT for the queue or pool is six seconds, the prediction is that the work item must be serviced by one of the next three agents to become available t.o service work from this queue in order to meet the service time goal. Thus, the required queue position for the work item is three.
Referring now to Fig. 3, a flow chart diagram illustrating the operational steps for calculating required queue positions for each of the work items in the queue is now described.
An ordered list associated with the work items in the work queue or pool is created, which in one embodiment is an array of counters referred to as the Required Queue Position Array ("RQPA").
Each element in the RQPA indicates the number of work items which are required to be completed during the required queue position. The required queue position is indicated by the position of the element in the RQPA. Thus, the second elernent in the RQPA
indicates the number of work items with a required queue position of two. A counter, independent of the RQPA, referred to as the "Behind Target Count," is also associated with the work queue or pool, and indicates the number of work items which are behind target. The assessment of the work queue is initiated, as indicated at block 150. Each element of the RQPA is initialized to zero, and the Behind Target Count is initialized to zero, as indiicated by block 154. This is accomplished by setting each element in the RQPA, and the Behind Target Count, to have a value of zero. At block 158, the first item in the work queue is scanried. The required queue position ("RQP") is calculated for the work itern, as noted by block 162.
Following the calculation of the required queue position for the work item., it is determined whether the required queue position is less than zero, as noted by block 1053. A negative required queue position indicates that the remaining time is negative, and the work item is behind target. If the required queue position is negative, the Behind Target Count is incremented, according to block 164. If the required queue position is zero or greater, the; element in the RQPA array corresponding to the required queue position, RQPA[RQP], is incremented, according to block 166. At block 170, it is then determined if there are more work iitems in the work queue. If there are no more work items, it is deterrnined if the Behind Target Count is greater than zero at block 171. If the Behind Target Count is not greater than zero, the RQPA is analyzed, as noted by block 174. If the Behind Target Count is greater than zero, the workload monitoring agent sets the current state to be "behind target," indicating that the time of the problem is the current time, and that the extent of the problem is the Behind Target Count, according to block 172. If there are more work items in the work queue, the next work item in the work queue is scanned, according to block 178. Following the scan of the next work item, the operational steps described with respect to blocks 162 through 178 are repeated. Thus, following the assessment of the work queue, the RQPA is created which includes items in each array element corresponding to the number of work items that must be completed by the time corresponding to the queue position of the RQPA.
Referring now to Fig. 4, the operational steps for analyzing the RQPA are described for one embodiment of the present invention. Initially, as noted by block 200, it is determined if element zero of the required queue position array (RPQA[0]) is greater than zero. This indicates that one or more work items has a required queue position of zero, which indicates that the work item should have been serviced by the previous agent to become available. By the time the next agent becomes available that can process the work item, it is likely that the work item will already have missed its service time objective. In such a case, the workload monitoring agent sets the current state to be "immediate risk," indicating that the t:ime of the problem is the current time, and that the extent of the problem is the value of RQPA[0], as indicated by block 204. If it is determined that RQPA[0] is zero, the workload monitoring agent 70, at block 208, sets an index variable to one, and a sum variable to zero. The workload monitoring agent 70 then sets the sum variable to be the total of the sum, plus the value of the required queue position array element corresponding to the index variable (Sum = Sum + RQPA[Index]), as noted by block 212. At block 216, it is then determined if the sum is greater than the index.
If the sum is greater than the index, this indicates that the total number of work items whicli need to be completed is greater than the total number of work items that are predicted to be cornpleted at the current rate of service work items as measured by the WAT.
_..
If the sum is greater than the index, the result 220 is that the state of the system is set to "Future Risk," the predicted time of the problem is the product of the index and the WAT (Index*WAT), and the extent of the problem is the difference between the sum and index (sum-Index). If the sum is not greater than the index at block 216, the index is incremented, according to block 224. The determination is made at block 228 if the end of the RQPA has been reached. If the end of the RQPA has been reached, the state of the system 232 is "On Target," meaning that there are no predicted shortfalls in resources for the work items that are in the work queue or work pool. If at block 228, it is determined that the end of the RQPA has not been reached, the operational steps of blocks through 228 are repeated until either the end of the RQPA is reached, or until a state of "Future Risk" is found. For example, if the index is at six, and the sum of the work items with required queue positions of six or less is nine (Index=6, Sum=9), this indicates that three work items are predicted to not be completed by their service time goal.
If the WAT is 15 seconds, the time that this problem will occur is predicted to be 90 seconds (Index * WAT = 6 * 15 = 90 seconds). The extent of the problem is predicted to be three work items. This information, in one embodiment is displayed on a user interface, and an electronic notification is forwarded to appropriate personnel or software systems that may then attempt to correct the problem before it occurs. While the embodiment of Fig. 4 stops when evidence of a problem is detected, in another embodiment the entire array is scanned, even if a "Future Risk" state is found, in order to find all potential problems and/or the most severe problem.
Furthermore, in one embodiment, the workload monitoring agent 70 monitors the work queues for instances in which surplus resources are predicted. For example, if the state of the system is "on target," the workload monitoring agent 70 may determine how many surplus resources are available. Such surplus resources may be allocated to different functions, for example. When determining the number of surplus resources, and the time of the surplus, similar calculations as described above may be utilized. The difference between the sum and the highest number queue position associated with an element in the RQPA may be utilized to indicate how many surplus resources are predicted for the time associated with the queue position. For example, if the sum is 20 and the highest queue position associated with the RQPA element is 30, this indicates that ten surplus resources are predicted to be available at that point in time while maintaining service time goals for work items in the work queue.
If the state of the system is "on target," this indicates that these surplus resources may be used for other tasks while maintaining service time goals for all of the work items presently in the queue if removing the surplus resources would not piace the state of the system to future risk.
As can be seen, the system and method provided above produces results of both a time of the potential problem, as well as the extent of the potential problem, which is beneficial in proactive solving of the potential problem. Furthermore, this system and method may be used in both ordered work queues, as well as unordered work queues or work pools.
This is a result of each work item being evaluated for its required queue position, and the array of counters having elements which correspond to the required queue positions which are incremented each time a work item having that required queue position is scanned. Accordingly, even if work items are unordered, when each item is scanned, its required clueue position is included in the array of counters which may then be assessed to determine the status of work queue or work pool.
It will be understood that the embodiment of Figs. 3 - 4 is illustrative of one of many techniques which may be used to assess the status of work items waiting for service. Other altematives exist for creating and analyzing an ordered list associated with work items waiting for service, and would be readily understood by one of skill in the art. For example, a required queue position array may be initialized with each element within the array having a numerical value equivalent to the position of the element within the array. Thus, position one of the array would have a value of one, position two of the array would have a value of two, and so on.
When a work item is evaluated and the required queue position for the work item is determined, the value of the elements in the required queue position array associated with the required queue position and higher may then be decremented. In this manner, the elements within the required queue position array are updated to indicate a status of the work waiting for service. The RQPA
may then be scanned for any negative items, which would indicate that more work items are present than are anticipated to be completed prior to the time associated with that required queue position.
If the sum is greater than the index, the result 220 is that the state of the system is set to "Future Risk," the predicted time of the problem is the product of the index and the WAT (Index*WAT), and the extent of the problem is the difference between the sum and index (sum-Index). If the sum is not greater than the index at block 216, the index is incremented, according to block 224. The determination is made at block 228 if the end of the RQPA has been reached. If the end of the RQPA has been reached, the state of the system 232 is "On Target," meaning that there are no predicted shortfalls in resources for the work items that are in the work queue or work pool. If at block 228, it is determined that the end of the RQPA has not been reached, the operational steps of blocks through 228 are repeated until either the end of the RQPA is reached, or until a state of "Future Risk" is found. For example, if the index is at six, and the sum of the work items with required queue positions of six or less is nine (Index=6, Sum=9), this indicates that three work items are predicted to not be completed by their service time goal.
If the WAT is 15 seconds, the time that this problem will occur is predicted to be 90 seconds (Index * WAT = 6 * 15 = 90 seconds). The extent of the problem is predicted to be three work items. This information, in one embodiment is displayed on a user interface, and an electronic notification is forwarded to appropriate personnel or software systems that may then attempt to correct the problem before it occurs. While the embodiment of Fig. 4 stops when evidence of a problem is detected, in another embodiment the entire array is scanned, even if a "Future Risk" state is found, in order to find all potential problems and/or the most severe problem.
Furthermore, in one embodiment, the workload monitoring agent 70 monitors the work queues for instances in which surplus resources are predicted. For example, if the state of the system is "on target," the workload monitoring agent 70 may determine how many surplus resources are available. Such surplus resources may be allocated to different functions, for example. When determining the number of surplus resources, and the time of the surplus, similar calculations as described above may be utilized. The difference between the sum and the highest number queue position associated with an element in the RQPA may be utilized to indicate how many surplus resources are predicted for the time associated with the queue position. For example, if the sum is 20 and the highest queue position associated with the RQPA element is 30, this indicates that ten surplus resources are predicted to be available at that point in time while maintaining service time goals for work items in the work queue.
If the state of the system is "on target," this indicates that these surplus resources may be used for other tasks while maintaining service time goals for all of the work items presently in the queue if removing the surplus resources would not piace the state of the system to future risk.
As can be seen, the system and method provided above produces results of both a time of the potential problem, as well as the extent of the potential problem, which is beneficial in proactive solving of the potential problem. Furthermore, this system and method may be used in both ordered work queues, as well as unordered work queues or work pools.
This is a result of each work item being evaluated for its required queue position, and the array of counters having elements which correspond to the required queue positions which are incremented each time a work item having that required queue position is scanned. Accordingly, even if work items are unordered, when each item is scanned, its required clueue position is included in the array of counters which may then be assessed to determine the status of work queue or work pool.
It will be understood that the embodiment of Figs. 3 - 4 is illustrative of one of many techniques which may be used to assess the status of work items waiting for service. Other altematives exist for creating and analyzing an ordered list associated with work items waiting for service, and would be readily understood by one of skill in the art. For example, a required queue position array may be initialized with each element within the array having a numerical value equivalent to the position of the element within the array. Thus, position one of the array would have a value of one, position two of the array would have a value of two, and so on.
When a work item is evaluated and the required queue position for the work item is determined, the value of the elements in the required queue position array associated with the required queue position and higher may then be decremented. In this manner, the elements within the required queue position array are updated to indicate a status of the work waiting for service. The RQPA
may then be scanned for any negative items, which would indicate that more work items are present than are anticipated to be completed prior to the time associated with that required queue position.
In another embodiment, the array of counters does not include every required queue position as an element of the array, but rather a range of required queue positions are assigned to particular array elements. Fig. 5 is a table illustrating an array of counters 250, and corresponding queue positions 254 associated with each element 258 of the array. In this embodiment, for the elements in the array of counters, each element 25 8("N") in the array stores the number of work items having a required queue position ("RQP") in the range of: 2N'' <
RQP <_ 2'. Thus, as illustrated in the table of Fig. 5, for example, array element three would contain a count of the number or work items having a RQP in the range of five through eight, and array element four would contain the count of the number of work items having a RQP in the range of 9 through 16. When scanning work items in this embodiment, any work items which have an RQP of zero will place the system into an "immediate risk"
state, and the array is then analyzed to determine any future risk states.
The analysis of the array can detect potential problems in the defined range of RQPs, rather than at every RQP. If work queues are of a significant size, this embodiment results in a performance increase due to the array being much shorter, thus consuming fewer system resources. In this embodiment, an array of counters containing ten elements can handle work queues or work pools of about 1000 work items. Additionally, this embodiment places greater focus on work items having service time goals which expire in a relatively short amount of time, where there is less time to react to any detected problems, while problems with work items having service time goals which expire in a relatively long amount of time are indicated in an approximate time range. The increased granularity of lower required queue positions allows for immediate attention to short term problems, while the decreased granularity of higher required queue positions allows for longer term planning and solutions. Thus, if a potential problem is detected in, for example, required queue positions 65-128, appropriate personnel maybe alerted who then have a relatively long period of time to take corrective action compared to a situation where a potential problem is detected in required queue position 4. While the embodiment of Fig. 5 uses RQP ranges which are powers of two, any ranges of RQPs may be used for elements in such an array, as will be readily understood by one of skill in the art.
RQP <_ 2'. Thus, as illustrated in the table of Fig. 5, for example, array element three would contain a count of the number or work items having a RQP in the range of five through eight, and array element four would contain the count of the number of work items having a RQP in the range of 9 through 16. When scanning work items in this embodiment, any work items which have an RQP of zero will place the system into an "immediate risk"
state, and the array is then analyzed to determine any future risk states.
The analysis of the array can detect potential problems in the defined range of RQPs, rather than at every RQP. If work queues are of a significant size, this embodiment results in a performance increase due to the array being much shorter, thus consuming fewer system resources. In this embodiment, an array of counters containing ten elements can handle work queues or work pools of about 1000 work items. Additionally, this embodiment places greater focus on work items having service time goals which expire in a relatively short amount of time, where there is less time to react to any detected problems, while problems with work items having service time goals which expire in a relatively long amount of time are indicated in an approximate time range. The increased granularity of lower required queue positions allows for immediate attention to short term problems, while the decreased granularity of higher required queue positions allows for longer term planning and solutions. Thus, if a potential problem is detected in, for example, required queue positions 65-128, appropriate personnel maybe alerted who then have a relatively long period of time to take corrective action compared to a situation where a potential problem is detected in required queue position 4. While the embodiment of Fig. 5 uses RQP ranges which are powers of two, any ranges of RQPs may be used for elements in such an array, as will be readily understood by one of skill in the art.
The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications comniensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments with various modifications required by their particular application or use of the invention. It is intended that the appended claims be construed to include the alternative embodiments to the extevt permitted by the prior art.
Claims (39)
1. In a contact center comprising a central server for distributing work items to a first set of resources, a method comprising:
providing a work queue having a plurality of work items;
generating an ordered set of items related to the plurality of work items in the work queue;
determining a priority of said plurality of work items based on values stored in said ordered set;
based on said determining step, predicting a future state of said work queue;
when the future state comprises a future risk state, assigning at least one work station of a second set of resources to the work queue.
providing a work queue having a plurality of work items;
generating an ordered set of items related to the plurality of work items in the work queue;
determining a priority of said plurality of work items based on values stored in said ordered set;
based on said determining step, predicting a future state of said work queue;
when the future state comprises a future risk state, assigning at least one work station of a second set of resources to the work queue.
2. The method of Claim 1, further comprising:
generating a required queue position (RQP) for each work item in said work queue, said RQP based on a service time goal for each work item and a weighted advance time of the work queue.
generating a required queue position (RQP) for each work item in said work queue, said RQP based on a service time goal for each work item and a weighted advance time of the work queue.
3. The method of Claim 2, wherein said generating step includes:
creating an array of counters, each element in said array of counters corresponding to a predefined range of required queue positions.
creating an array of counters, each element in said array of counters corresponding to a predefined range of required queue positions.
4. The method of Claim 3, wherein said generating step further includes:
incrementing a counter in said array of counters associated with the RQP for each work item.
incrementing a counter in said array of counters associated with the RQP for each work item.
5. The method of Claim 2, wherein said generating step includes:
for each work item, subtracting an amount of time since said work item was received from the service time goal for said work item to obtain a remaining time for said work item.
for each work item, subtracting an amount of time since said work item was received from the service time goal for said work item to obtain a remaining time for said work item.
6. The method of Claim 5, wherein said generating step includes:
determining said weighted advance time of the work queue; and for each work item, dividing said remaining time by said weighted advance time for the work queue.
determining said weighted advance time of the work queue; and for each work item, dividing said remaining time by said weighted advance time for the work queue.
7. The method of Claim 1, wherein said generating step further comprises:
determining a range of required queue positions which correspond to each item within said ordered set; and incrementing a counter associated with the item within the ordered set which corresponds to a required queue position associated with each work item.
determining a range of required queue positions which correspond to each item within said ordered set; and incrementing a counter associated with the item within the ordered set which corresponds to a required queue position associated with each work item.
8. The method of Claim 7, wherein said predefined range of queue positions for each item in said ordered set is one.
9. The method of Claim 7, wherein said predefined range of queue positions for each item in said ordered set, where the number of the item is N, is 2N-1 <RQP<=2N.
10. The method of Claim 1, wherein said determining a priority of said plurality of work items step comprises:
creating an index variable;
setting the index variable to one;
creating a sum variable;
setting said sum variable to zero;
calculating a new sum as the sum of the previous value of the sum variable and the value of the item in the ordered set which corresponds to the index variable;
determining a highest required queue position (RQP) associated with the item in the ordered set which corresponds to the index variable;
determining if the sum is greater than said highest RQP;
setting a state to "Future Risk" when said sum is greater than said highest RQP; and incrementing said index and repeating said calculating a new sum, determining a highest RQP, determining if the sum is greater than the highest RQP, and setting a state steps when said sum is not greater than said highest RQP.
creating an index variable;
setting the index variable to one;
creating a sum variable;
setting said sum variable to zero;
calculating a new sum as the sum of the previous value of the sum variable and the value of the item in the ordered set which corresponds to the index variable;
determining a highest required queue position (RQP) associated with the item in the ordered set which corresponds to the index variable;
determining if the sum is greater than said highest RQP;
setting a state to "Future Risk" when said sum is greater than said highest RQP; and incrementing said index and repeating said calculating a new sum, determining a highest RQP, determining if the sum is greater than the highest RQP, and setting a state steps when said sum is not greater than said highest RQP.
11. The method of Claim 10, wherein said determining a priority of said plurality of work items step further comprises:
determining if there are additional items in said ordered set; and setting a state to "On Target" when there are no additional items in said ordered set.
determining if there are additional items in said ordered set; and setting a state to "On Target" when there are no additional items in said ordered set.
12. The method of Claim 10, wherein said determining a priority of said plurality of work items step further comprises:
when said sum is greater than said highest RQP, predicting a time of said "Future Risk".
when said sum is greater than said highest RQP, predicting a time of said "Future Risk".
13. The method of Claim 12, wherein said time is calculated as the product of the index and the weighted advance time for the work queue.
14. The method of Claim 10, wherein said determining a priority of said plurality of work items step further comprises:
when said sum is greater than said highest RQP, determining an extent of the "Future Risk".
when said sum is greater than said highest RQP, determining an extent of the "Future Risk".
15. The method of Claim 14, wherein said extent is calculated as the difference between said sum and said highest RQP.
16. A computer readable medium comprising processor executable instructions for performing the method of Claim 1.
17. In a central server for performing a method, the central server communicating via a local area network (LAN) with a set of databases, a plurality of servers and a private branch exchange (PBX), wherein a first set of resources is interconnected by the LAN and wherein a second set of resources is connected to the PBX, a method comprising:
providing a work queue having a plurality of work items;
generating an ordered set of items related. to the plurality of work items in the work queue;
analyzing said ordered set;
determining a required queue position (RQP) for each of a plurality of work items, said RQP based on a remaining time for the work item and a weighted advance time for servicing of said work items;
creating an array of counters, each element in said array of counters corresponding to a predefined range of RQP's; and incrementing a counter in said array of counters associated with the RQP for each work item;
predicting a future state of said work queue, wherein said future state is determined based on values stored in said array of counters;
when the future state comprises a future risk state, assigning at least one work station of the second set of resources to the work queue.
providing a work queue having a plurality of work items;
generating an ordered set of items related. to the plurality of work items in the work queue;
analyzing said ordered set;
determining a required queue position (RQP) for each of a plurality of work items, said RQP based on a remaining time for the work item and a weighted advance time for servicing of said work items;
creating an array of counters, each element in said array of counters corresponding to a predefined range of RQP's; and incrementing a counter in said array of counters associated with the RQP for each work item;
predicting a future state of said work queue, wherein said future state is determined based on values stored in said array of counters;
when the future state comprises a future risk state, assigning at least one work station of the second set of resources to the work queue.
18. The method of Claim 17, wherein said determining a required queue position step includes:
for each work item, subtracting an amount of time since said work item was received from a service time goal for said work item to obtain a remaining time for said work item.
for each work item, subtracting an amount of time since said work item was received from a service time goal for said work item to obtain a remaining time for said work item.
19. The method of Claim 18, wherein said determining a required queue position step includes:
determining said weighted advance time for servicing of work items for said work items; and for each work item, dividing said remaining time by said weighted advance time for servicing of work items.
determining said weighted advance time for servicing of work items for said work items; and for each work item, dividing said remaining time by said weighted advance time for servicing of work items.
20. The method of Claim 17, wherein said incrementing a counter step comprises:
determining a range of required queue positions which correspond to each element within said array of counters; and incrementing a counter associated with the element within the array of counters which corresponds to the required queue position obtained in said determining a required queue position step.
determining a range of required queue positions which correspond to each element within said array of counters; and incrementing a counter associated with the element within the array of counters which corresponds to the required queue position obtained in said determining a required queue position step.
21. The method of Claim 17, wherein said predefined range of queue positions for each element in the array of counters is one.
22. The method of Claim 17, wherein said predefined range of queue positions for each element in the array of counters, where the number of the element is N, is 2N-1 <RQP<=2N.
23. The method of Claim 17, wherein said analyzing step comprises:
creating an index variable;
setting said index variable to one;
creating a sum variable;
setting said sum variable to zero;
calculating a new sum as the sum of the value of the sum variable and the value of the counter in the element of the array of counters which corresponds to the index variable;
determining a highest RQP in said predefined range of RQPs in the element of the array of counters which correspond to the index variable;
determining if the sum is greater than said highest RQP;
setting a state to "Future Risk" when said sum is greater than said highest RQP; and incrementing said index and repeating said calculating a new sum, determining a highest RQP, determining if the sum is greater than the highest RQP, and setting a state steps when said sum is not greater than said highest RQP.
creating an index variable;
setting said index variable to one;
creating a sum variable;
setting said sum variable to zero;
calculating a new sum as the sum of the value of the sum variable and the value of the counter in the element of the array of counters which corresponds to the index variable;
determining a highest RQP in said predefined range of RQPs in the element of the array of counters which correspond to the index variable;
determining if the sum is greater than said highest RQP;
setting a state to "Future Risk" when said sum is greater than said highest RQP; and incrementing said index and repeating said calculating a new sum, determining a highest RQP, determining if the sum is greater than the highest RQP, and setting a state steps when said sum is not greater than said highest RQP.
24. The method of Claim 23, wherein said analyzing step further comprises:
determining if there are additional elements in said array of counters; and setting a state to "On Target" when there are no additional elements in said array of counters.
determining if there are additional elements in said array of counters; and setting a state to "On Target" when there are no additional elements in said array of counters.
25. The method of Claim 23, wherein said analyzing step further comprises:
when said sum is greater than said highest RQP, determining a time of said "Future Risk".
when said sum is greater than said highest RQP, determining a time of said "Future Risk".
26. The method of Claim 24, wherein said time is calculated as the product of said highest RQP and the weighted advance time for servicing of work items.
27. The method of Claim 23, wherein said analyzing step further comprises:
when said sum is greater than said highest RQP, determining an extent of the "Future Risk".
when said sum is greater than said highest RQP, determining an extent of the "Future Risk".
28. The method of Claim 27, wherein said extent is calculated as the difference between said sum and said highest RQP.
29. A contact center for servicing a plurality of contacts received from a plurality of customers, comprising:
a plurality of workstations corresponding to a plurality of resources;
a central server in communication with the plurality of workstations, comprising:
at least one queue of contacts, each of said contacts having an associated service time goal; and a workload monitoring agent operable to (a) monitor said at least one queue of contacts; (b) assess a state of said at least one queue of contacts with respect to the service time goals for said plurality of contacts; (c) determine a number of contacts which are at risk of not meeting their service time goals based on the pending workload and predetermined criteria, and a time at which the service time goal for said number of contacts will expire; and (d) in response to determining a number of contacts are likely not to meet their service time goals, assign at least one resource from a second set of resources to at least one of said contacts.
a plurality of workstations corresponding to a plurality of resources;
a central server in communication with the plurality of workstations, comprising:
at least one queue of contacts, each of said contacts having an associated service time goal; and a workload monitoring agent operable to (a) monitor said at least one queue of contacts; (b) assess a state of said at least one queue of contacts with respect to the service time goals for said plurality of contacts; (c) determine a number of contacts which are at risk of not meeting their service time goals based on the pending workload and predetermined criteria, and a time at which the service time goal for said number of contacts will expire; and (d) in response to determining a number of contacts are likely not to meet their service time goals, assign at least one resource from a second set of resources to at least one of said contacts.
30. The contact center of Claim 29, wherein the contacts in the at least one queue comprise one or more of realtime and non-real time contacts.
31. The contact center of Claim 29, wherein the workload monitoring agent is further operable to identify a weighted advance time for servicing of contacts and determine a required queue position for each of said contacts.
32. The contact center of Claim 31, wherein the workload monitoring agent determines said required queue position based on the weighted advance time for servicing of contacts, an elapsed time since the contact was received at said at least one queue, and a service time goal for the contact.
33. The contact center of Claim 31, wherein said required queue position is calculated as the difference between the service time goal and the elapsed time divided by the weighted advance time for servicing of contacts.
34. The contact center of Claim 29, wherein the contacts within the plurality of contacts have at least two service time goals.
35. The contact center of Claim 29, wherein the workload monitoring agent is further operable to determine, from the at least one queue, a representation of required queue positions associated with the contacts in said at least one queue.
36. The contact center of Claim 35, wherein a predetermined workload level exists when a queue position in the representation of required queue positions is less than a number of enqueued contacts ahead of the queue position in the representation of required queue positions.
37. The contact center of Claim 36, wherein the time at which the predetermined workload level will likely exist is the product of the weighted advance time for servicing of contacts and queue position at which the predetermined workload level will likely exist.
38. The contact center of Claim 37, wherein the number of contacts required to be serviced is the difference between the required queue position and the number of enqueued contacts before the required queue position.
39. A computer readable memory having recorded thereon statements and instructions for execution by a computer to carry out the method of any one of claims 17-28.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/673,103 | 2003-09-26 | ||
US10/673,103 US8094804B2 (en) | 2003-09-26 | 2003-09-26 | Method and apparatus for assessing the status of work waiting for service |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2469399A1 CA2469399A1 (en) | 2005-03-26 |
CA2469399C true CA2469399C (en) | 2010-02-16 |
Family
ID=34194881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA 2469399 Expired - Fee Related CA2469399C (en) | 2003-09-26 | 2004-05-31 | Method and apparatus for assessing the status of work waiting for service |
Country Status (4)
Country | Link |
---|---|
US (4) | US8094804B2 (en) |
EP (1) | EP1519550A1 (en) |
JP (1) | JP4842529B2 (en) |
CA (1) | CA2469399C (en) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040100982A1 (en) * | 1999-09-30 | 2004-05-27 | Sivaram Balasubramanian | Distributed real-time operating system |
US7844504B1 (en) | 2000-04-27 | 2010-11-30 | Avaya Inc. | Routing based on the contents of a shopping cart |
US7415417B2 (en) * | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
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 |
US20050071212A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Method and apparatus for business time computation in a resource allocation system |
JP4066932B2 (en) * | 2003-11-10 | 2008-03-26 | 株式会社日立製作所 | Computer resource allocation method based on prediction |
US7616755B2 (en) * | 2003-12-19 | 2009-11-10 | At&T Intellectual Property I, L.P. | Efficiency report generator |
US7539297B2 (en) * | 2003-12-19 | 2009-05-26 | At&T Intellectual Property I, L.P. | Generation of automated recommended parameter changes based on force management system (FMS) data analysis |
US7551602B2 (en) * | 2003-12-19 | 2009-06-23 | At&T Intellectual Property I, L.P. | Resource assignment in a distributed environment |
US7499844B2 (en) * | 2003-12-19 | 2009-03-03 | At&T Intellectual Property I, L.P. | Method and system for predicting network usage in a network having re-occurring usage variations |
US7321657B2 (en) * | 2003-12-19 | 2008-01-22 | At&T Delaware Intellectual Property, Inc. | Dynamic force management system |
US20050135601A1 (en) * | 2003-12-19 | 2005-06-23 | Whitman Raymond Jr. | Force management automatic call distribution and resource allocation control system |
US7406171B2 (en) * | 2003-12-19 | 2008-07-29 | At&T Delaware Intellectual Property, Inc. | Agent scheduler incorporating agent profiles |
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 |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US8738412B2 (en) | 2004-07-13 | 2014-05-27 | Avaya Inc. | Method and apparatus for supporting individualized selection rules for resource allocation |
US7949121B1 (en) | 2004-09-27 | 2011-05-24 | Avaya Inc. | Method and apparatus for the simultaneous delivery of multiple contacts to an agent |
US8234141B1 (en) | 2004-09-27 | 2012-07-31 | Avaya Inc. | Dynamic work assignment strategies based on multiple aspects of agent proficiency |
US7949123B1 (en) * | 2004-09-28 | 2011-05-24 | Avaya Inc. | Wait time predictor for long shelf-life work |
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 |
US7715548B2 (en) * | 2005-08-25 | 2010-05-11 | At&T Corp. | Method and apparatus for integrating customer care inquiries across different media types |
US7881450B1 (en) | 2005-09-15 | 2011-02-01 | Avaya Inc. | Answer on hold notification |
US7822587B1 (en) | 2005-10-03 | 2010-10-26 | Avaya Inc. | Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior |
US7752230B2 (en) * | 2005-10-06 | 2010-07-06 | Avaya Inc. | Data extensibility using external database tables |
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 |
US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
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 |
US8767944B1 (en) | 2007-01-03 | 2014-07-01 | Avaya Inc. | Mechanism for status and control communication over SIP using CODEC tunneling |
US8504534B1 (en) | 2007-09-26 | 2013-08-06 | Avaya Inc. | Database structures and administration techniques for generalized localization of database items |
US20090112869A1 (en) * | 2007-10-29 | 2009-04-30 | International Business Machines Corporation | Solution that utilizes access queues for automatically managing access to an electronic document |
US8856182B2 (en) | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8458002B2 (en) * | 2008-08-05 | 2013-06-04 | International Business Machines Corporation | Service scheduling |
US8116237B2 (en) | 2008-09-26 | 2012-02-14 | Avaya Inc. | Clearing house for publish/subscribe of status data from distributed telecommunications systems |
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 |
US8964958B2 (en) | 2009-05-20 | 2015-02-24 | Avaya Inc. | Grid-based contact center |
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 |
US9468755B2 (en) * | 2009-09-30 | 2016-10-18 | Respicardia, Inc. | Medical lead with preformed bias |
US9516069B2 (en) * | 2009-11-17 | 2016-12-06 | Avaya Inc. | Packet headers as a trigger for automatic activation of special-purpose softphone applications |
US20110137696A1 (en) | 2009-12-04 | 2011-06-09 | 3Pd | Performing follow-up actions based on survey results |
US8306212B2 (en) * | 2010-02-19 | 2012-11-06 | Avaya Inc. | Time-based work assignments in automated contact distribution |
US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
US8903080B2 (en) * | 2011-06-17 | 2014-12-02 | Avaya Inc. | Goal-based estimated wait time |
US8577017B2 (en) | 2011-09-30 | 2013-11-05 | Avaya Inc. | Interrupting auxiliary agents |
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 |
US9177274B2 (en) | 2012-08-21 | 2015-11-03 | Hewlett-Packard Development Company, L.P. | Queue with segments for task management |
US20140082179A1 (en) * | 2012-09-19 | 2014-03-20 | Avaya Inc. | Scarce resources management |
US8953775B2 (en) | 2012-09-20 | 2015-02-10 | Avaya Inc. | System, method, and apparatus for determining effectiveness of advanced call center routing algorithms |
US20140172615A1 (en) * | 2012-12-13 | 2014-06-19 | Christopher R. Major | Method for Transparent and Fair Resource Distribution |
US9118764B2 (en) * | 2013-08-09 | 2015-08-25 | Avaya Inc. | Method and system to determine and employ best contact opportunity |
US20150206092A1 (en) * | 2014-01-21 | 2015-07-23 | Avaya, Inc. | Identification of multi-channel connections to predict estimated wait time |
US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
WO2016087936A1 (en) | 2014-12-01 | 2016-06-09 | Zenith Epigenetics Corp. | Substituted pyridinones as bromodomain inhibitors |
US10339536B2 (en) * | 2015-11-17 | 2019-07-02 | Schneider Enterprise Resources, LLC | Geolocation compliance for a mobile workforce |
US11423348B2 (en) * | 2016-01-11 | 2022-08-23 | Hand Held Products, Inc. | System and method for assessing worker performance |
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 |
US9866695B1 (en) * | 2016-08-30 | 2018-01-09 | Genesys Telecommunications Laboratories, Inc. | System and method for predictive routing based on a customer journey patience |
TWI636678B (en) * | 2017-06-27 | 2018-09-21 | 遠傳電信股份有限公司 | Dynamic scheduling management system for supporting the client device wan management protocol and the management method thereof |
JP6926768B2 (en) * | 2017-07-20 | 2021-08-25 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment and information processing system |
US10984011B1 (en) * | 2017-12-31 | 2021-04-20 | Allscripts Software, Llc | Distributing non-transactional workload across multiple database servers |
US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
CN109242275A (en) * | 2018-08-21 | 2019-01-18 | 平安科技(深圳)有限公司 | Method for allocating tasks, device and storage medium |
JP7171407B2 (en) * | 2018-12-12 | 2022-11-15 | 株式会社日立製作所 | Information processing device, production instruction support method |
US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
Family Cites Families (437)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4163124A (en) | 1978-07-24 | 1979-07-31 | Rolm Corporation | Finite storage-time queue |
US4389400A (en) | 1982-03-25 | 1983-06-21 | Chevron Research Company | 2,2-Bis(haloalkenyl)-1-substituted-1-cyanoethylene fungicides |
US4510351A (en) | 1982-10-28 | 1985-04-09 | At&T Bell Laboratories | ACD Management information system |
US4567323A (en) | 1983-07-12 | 1986-01-28 | At&T Bell Laboratories | Method and apparatus for providing a plurality of special services |
US4737983A (en) | 1985-10-02 | 1988-04-12 | American Telephone And Telegraph Company Communications, Inc. | Automatic call distributor telephone service |
US5062055A (en) | 1986-09-02 | 1991-10-29 | Digital Equipment Corporation | Data processor performance advisor |
JPH0619861Y2 (en) | 1987-03-04 | 1994-05-25 | 豊田合成株式会社 | Machine shaft coupling boots |
US5644727A (en) | 1987-04-15 | 1997-07-01 | Proprietary Financial Products, Inc. | System for the operation and management of one or more financial accounts through the use of a digital communication and computation system for exchange, investment and borrowing |
US4797911A (en) | 1987-06-16 | 1989-01-10 | Inventions, Inc. | Customer account online servicing system |
US4894857A (en) | 1987-06-16 | 1990-01-16 | Inuentions Inc. | Method and apparatus for customer account servicing |
US5167010A (en) | 1989-08-03 | 1992-11-24 | Westinghouse Electric Corp. | Expert advice display processing system |
US6044205A (en) | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5001710A (en) | 1989-10-24 | 1991-03-19 | At&T Bell Laboratories | Customer programmable automated integrated voice/data technique for communication systems |
US5274700A (en) | 1989-11-27 | 1993-12-28 | Unifi Communications Corporation | Methods of automatically rerouting an incoming telephone call placed over a network |
US5155761A (en) | 1990-01-26 | 1992-10-13 | Intervoice, Inc. | Automatic call back system and method of operation |
US5164981A (en) | 1990-06-04 | 1992-11-17 | Davox | Voice response system with automated data transfer |
JPH075907Y2 (en) | 1990-07-13 | 1995-02-15 | 岩谷産業株式会社 | Drive device for vertical wall cleaning device |
US5101425A (en) | 1990-08-07 | 1992-03-31 | Digital Systems International, Inc. | Operations monitoring system |
US5325292A (en) | 1990-10-12 | 1994-06-28 | Crockett Gary B | Tour/schedule generation for a force management system |
US5289368A (en) | 1990-10-12 | 1994-02-22 | Iex Corporation | Force management system user interface |
US5911134A (en) | 1990-10-12 | 1999-06-08 | Iex Corporation | Method for planning, scheduling and managing personnel |
US5185780A (en) | 1990-10-12 | 1993-02-09 | Tex Corporation | Method for predicting agent requirements in a force management system |
WO1992009164A1 (en) | 1990-11-20 | 1992-05-29 | Unifi Communications Corporation | Telephone call handling system |
US5206903A (en) | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5291550A (en) | 1990-12-26 | 1994-03-01 | At&T Bell Laboratories | Dynamic network call distributor |
US5164983A (en) | 1991-01-28 | 1992-11-17 | American Telephone & Telegraph Company | Telemarketing complex performance management system |
US5097528A (en) | 1991-02-25 | 1992-03-17 | International Business Machines Corporation | System for integrating telephony data with data processing systems |
US5278898A (en) | 1991-05-30 | 1994-01-11 | Davox Corporation | System for managing a hold queue |
US5210789A (en) | 1991-06-28 | 1993-05-11 | International Telecharge, Inc. | Interactive telephone operator terminal |
US5749079A (en) | 1992-03-04 | 1998-05-05 | Singapore Computer Systems Limited | End user query facility including a query connectivity driver |
US5335269A (en) | 1992-03-12 | 1994-08-02 | Rockwell International Corporation | Two dimensional routing apparatus in an automatic call director-type system |
US5642515A (en) | 1992-04-17 | 1997-06-24 | International Business Machines Corporation | Network server for local and remote resources |
US5504894A (en) | 1992-04-30 | 1996-04-02 | International Business Machines Corporation | Workload manager for achieving transaction class response time goals in a multiprocessing system |
US6173052B1 (en) | 1992-06-25 | 2001-01-09 | Apropros Technology | Blending communications in a call center |
AU4653593A (en) | 1992-06-25 | 1994-01-24 | Teledata Solutions, Inc. | Call distributor |
US5444774A (en) | 1992-06-26 | 1995-08-22 | At&T Corp. | Interactive queuing sytem for call centers |
US5309513A (en) | 1992-07-02 | 1994-05-03 | Rockwell International Corporation | Telephone system with ubiquitous agents |
DE69327691D1 (en) | 1992-07-30 | 2000-03-02 | Teknekron Infowitch Corp | Method and system for monitoring and / or controlling the performance of an organization |
US5684964A (en) | 1992-07-30 | 1997-11-04 | Teknekron Infoswitch Corporation | Method and system for monitoring and controlling the performance of an organization |
AU4843693A (en) | 1992-09-01 | 1994-03-29 | Bertram G Brehm | Information model based on a physical system |
US5469504A (en) | 1992-10-14 | 1995-11-21 | Blaha; David L. | Automatic call distribution with intersubnetwork customer information transfer system and method |
WO1994009585A1 (en) | 1992-10-21 | 1994-04-28 | Digital Systems International, Inc. | Integrated intelligent call blending |
US5335268A (en) | 1992-10-22 | 1994-08-02 | Mci Communications Corporation | Intelligent routing of special service telephone traffic |
US5590188A (en) | 1992-11-09 | 1996-12-31 | Iex Corporation | Rules-based call routing |
CA2102868C (en) | 1992-11-11 | 1999-10-26 | Joseph E. Bloom | Device for programming script sets in a telephone system |
GB2273025B (en) | 1992-11-12 | 1997-03-26 | Rockwell International Corp | Automatic call distributor with a programmable data window display system and method |
US5355269A (en) | 1992-11-16 | 1994-10-11 | Allsop, Inc. | Cleaning apparatus for a cassette player |
CA2103204C (en) | 1992-11-17 | 2002-11-12 | Daniel F. Baker | Call distributor with automatic preannouncement system and method |
US5499291A (en) | 1993-01-14 | 1996-03-12 | At&T Corp. | Arrangement for automating call-center agent-schedule-notification and schedule-adherence functions |
JPH06232982A (en) | 1993-02-02 | 1994-08-19 | Fujitsu Ltd | Distribution control system for incoming call |
US5937051A (en) | 1993-07-08 | 1999-08-10 | Teknekron Infoswitch Corporation | Method and system for transferring calls and call-related data between a plurality of call centers |
AU677393B2 (en) | 1993-07-08 | 1997-04-24 | E-Talk Corporation | Method and system for transferring calls and call-related data between a plurality of call centres |
US5499386A (en) | 1993-07-09 | 1996-03-12 | Telefonaktiebolaget L M Ericsson | Best server selection in layered cellular radio system |
US5469503A (en) | 1993-07-27 | 1995-11-21 | Aspect Telecommunications Corporation | Method for resynchronizing secondary database and primary database with preservation of functionality of an automatic call distribution system |
US5594726A (en) | 1993-09-17 | 1997-01-14 | Scientific-Atlanta, Inc. | Frequency agile broadband communications system |
DE69420096T2 (en) | 1993-09-22 | 1999-12-09 | Teknekron Infowitch Corp | Telecommunication system monitoring |
US5390243A (en) | 1993-11-01 | 1995-02-14 | At&T Corp. | Telemarketing complex with automatic threshold levels |
US5436965A (en) | 1993-11-16 | 1995-07-25 | Automated Systems And Programming, Inc. | Method and system for optimization of telephone contact campaigns |
US5963911A (en) | 1994-03-25 | 1999-10-05 | British Telecommunications Public Limited Company | Resource allocation |
US5473773A (en) | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
US5537470A (en) | 1994-04-06 | 1996-07-16 | At&T Corp. | Method and apparatus for handling in-bound telemarketing calls |
US5577169A (en) | 1994-04-29 | 1996-11-19 | International Business Machines Corporation | Fuzzy logic entity behavior profiler |
US5864874A (en) | 1994-05-02 | 1999-01-26 | Ubique Ltd. | Community co-presence system |
US6243714B1 (en) | 1997-04-11 | 2001-06-05 | Ubique Ltd. | Co-presence data retrieval system |
GB2289149B (en) | 1994-05-02 | 1998-11-18 | Ubique Ltd | A co-presence data retrieval system |
US5790650A (en) | 1994-06-01 | 1998-08-04 | Davox Corporation | Telephone call center management system which supports multi-user and separate private applications |
US5784452A (en) | 1994-06-01 | 1998-07-21 | Davox Corporation | Telephony call center with agent work groups |
US5519773A (en) | 1994-06-07 | 1996-05-21 | Siemens Colm Communications Inc. | Call sharing for inbound and outbound call center agents |
US5506898A (en) | 1994-07-12 | 1996-04-09 | At&T Corp. | Expected wait-time indication arrangement |
US5592378A (en) | 1994-08-19 | 1997-01-07 | Andersen Consulting Llp | Computerized order entry system and method |
US5682460A (en) | 1994-08-29 | 1997-10-28 | Motorola, Inc. | Method for selecting transmission preferences |
US5530744A (en) | 1994-09-20 | 1996-06-25 | At&T Corp. | Method and system for dynamic customized call routing |
US5611076A (en) | 1994-09-21 | 1997-03-11 | Micro Data Base Systems, Inc. | Multi-model database management system engine for databases having complex data models |
US5594791A (en) | 1994-10-05 | 1997-01-14 | Inventions, Inc. | Method and apparatus for providing result-oriented customer service |
JPH08139802A (en) | 1994-11-10 | 1996-05-31 | Fujitsu Ltd | Ring trip discrimination circuit |
US5752027A (en) | 1994-11-30 | 1998-05-12 | Dun & Bradstreet Software Services, Inc. | Apparatus and process for creating and accessing a database centric object |
US5836011A (en) | 1995-01-20 | 1998-11-10 | International Business Machines Corporation | Implementation of teams and roles within a people oriented work environment |
US6339754B1 (en) | 1995-02-14 | 2002-01-15 | America Online, Inc. | System for automated translation of speech |
US5546452A (en) | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
DE69636239T2 (en) | 1995-04-24 | 2007-05-10 | International Business Machines Corp. | A method and apparatus for skill-based routing in a call center |
US5790642A (en) | 1995-04-28 | 1998-08-04 | Dialogic Corporation | Competitively bidding service centers |
US5748468A (en) | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
US5606361A (en) | 1995-05-10 | 1997-02-25 | Davidsohn; John | Videophone interactive mailbox facility system and method of processing information |
US5603029A (en) | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
US5751707A (en) | 1995-06-19 | 1998-05-12 | Bell Atlantic Network Services, Inc. | AIN interaction through wireless digital video network |
US5627884A (en) | 1995-06-26 | 1997-05-06 | Williams; Mark J. | Method for returning inbound calls |
US5790677A (en) | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
AU6501496A (en) | 1995-07-19 | 1997-02-18 | Ascom Nexion Inc. | Point-to-multipoint transmission using subqueues |
US5684872A (en) | 1995-07-21 | 1997-11-04 | Lucent Technologies Inc. | Prediction of a caller's motivation as a basis for selecting treatment of an incoming call |
CA2181781C (en) | 1995-07-26 | 2000-02-29 | Seiji Iwafune | Television system for providing interactive television programs and server system for constructing the television system |
US6411682B1 (en) | 1995-09-21 | 2002-06-25 | Aspect Telecommunications Corporation | Computer controlled paging and telephone communication system and method |
US5884032A (en) | 1995-09-25 | 1999-03-16 | The New Brunswick Telephone Company, Limited | System for coordinating communications via customer contact channel changing system using call centre for setting up the call between customer and an available help agent |
US5742675A (en) | 1995-09-26 | 1998-04-21 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for automatically distributing calls to available logged-in call handling agents |
US6430282B1 (en) | 1995-09-29 | 2002-08-06 | Nortel Networks Limited | Methods and apparatus for originating voice calls |
US5703943A (en) | 1995-10-16 | 1997-12-30 | Lucent Technologies, Inc. | Completion of calls to a preferred agent in an automatic call distributor |
US5930786A (en) | 1995-10-20 | 1999-07-27 | Ncr Corporation | Method and apparatus for providing shared data to a requesting client |
US5689698A (en) | 1995-10-20 | 1997-11-18 | Ncr Corporation | Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object |
US5754841A (en) | 1995-10-20 | 1998-05-19 | Ncr Corporation | Method and apparatus for parallel execution of user-defined functions in an object-relational database management system |
US5794250A (en) | 1995-10-20 | 1998-08-11 | Ncr Corporation | Method and apparatus for extending existing database management system for new data types |
US6625139B2 (en) | 1995-10-25 | 2003-09-23 | Genesys Telecommunications Laboratories, Inc. | Apparatus and methods for coordinating internet protocol telephone and data communications |
US6130933A (en) | 1996-02-02 | 2000-10-10 | Genesys Telecommunications Laboratories, Inc. | Apparatus and methods for coordinating telephone and data communications |
US5926538A (en) | 1997-02-11 | 1999-07-20 | Genesys Telecommunications Labs, Inc | Method for routing calls to call centers based on statistical modeling of call behavior |
US5915012A (en) | 1997-01-14 | 1999-06-22 | Genesys, Telecommunications Laboratories, Inc. | System and method for operating a plurality of call centers |
US6021428A (en) | 1997-09-15 | 2000-02-01 | Genesys Telecommunications Laboratories, Inc. | Apparatus and method in improving e-mail routing in an internet protocol network telephony call-in-center |
US6175564B1 (en) | 1995-10-25 | 2001-01-16 | Genesys Telecommunications Laboratories, Inc | Apparatus and methods for managing multiple internet protocol capable call centers |
EP0770967A3 (en) | 1995-10-26 | 1998-12-30 | Koninklijke Philips Electronics N.V. | Decision support system for the management of an agile supply chain |
US5754639A (en) | 1995-11-03 | 1998-05-19 | Lucent Technologies | Method and apparatus for queuing a call to the best split |
US5740238A (en) | 1995-11-03 | 1998-04-14 | Lucent Technologies Inc. | Method and apparatus for queuing a call to the best backup split |
US20030051136A1 (en) | 1995-11-06 | 2003-03-13 | Pavel Curtis | Multimedia coordination system |
US5754776A (en) | 1995-12-28 | 1998-05-19 | Intel Corporation | Re-prioritizing background data transfers in multipoint conferencing |
US5802282A (en) | 1995-12-28 | 1998-09-01 | Intel Corporation | Recovering missing data during background data transfer in multipoint conferencing |
US5802510A (en) | 1995-12-29 | 1998-09-01 | At&T Corp | Universal directory service |
US5826039A (en) | 1995-12-29 | 1998-10-20 | Lucent Technologies Inc. | Universal connection point for resources and communication unrelated to a physical endpoint |
US5742763A (en) | 1995-12-29 | 1998-04-21 | At&T Corp. | Universal message delivery system for handles identifying network presences |
US5757904A (en) | 1996-02-05 | 1998-05-26 | Lucent Technologies Inc. | Context-sensitive presentation of information to call-center agents |
US5973756A (en) | 1996-02-06 | 1999-10-26 | Fca Corporation | IR Transmitter with integral magnetic-stripe ATM type credit card reader & method therefor |
US5838968A (en) | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
US5909669A (en) | 1996-04-01 | 1999-06-01 | Electronic Data Systems Corporation | System and method for generating a knowledge worker productivity assessment |
US5914951A (en) | 1996-04-16 | 1999-06-22 | At&T Corp | System and method for controlling and monitoring communication between customers and customer service representatives |
US5867562A (en) | 1996-04-17 | 1999-02-02 | Scherer; Gordon F. | Call processing system with call screening |
US20030144900A1 (en) | 2002-01-28 | 2003-07-31 | Whitmer Michael L. | Method and system for improving enterprise performance |
US5901214A (en) | 1996-06-10 | 1999-05-04 | Murex Securities, Ltd. | One number intelligent call processing system |
US5915010A (en) | 1996-06-10 | 1999-06-22 | Teknekron Infoswitch | System, method and user interface for data announced call transfer |
US6064730A (en) | 1996-06-18 | 2000-05-16 | Lucent Technologies Inc. | Customer-self routing call center |
US5721770A (en) | 1996-07-02 | 1998-02-24 | Lucent Technologies Inc. | Agent vectoring programmably conditionally assigning agents to various tasks including tasks other than handling of waiting calls |
US6052723A (en) | 1996-07-25 | 2000-04-18 | Stockmaster.Com, Inc. | Method for aggregate control on an electronic network |
US6385646B1 (en) | 1996-08-23 | 2002-05-07 | At&T Corp. | Method and system for establishing voice communications in an internet environment |
US6240471B1 (en) | 1996-09-10 | 2001-05-29 | The United States Of America As Represented By The Secretary Of The Air Force | Data transfer interfacing |
US5903877A (en) | 1996-09-30 | 1999-05-11 | Lucent Technologies Inc. | Transaction center for processing customer transaction requests from alternative media sources |
US5897622A (en) | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US6446092B1 (en) | 1996-11-01 | 2002-09-03 | Peerdirect Company | Independent distributed database system |
US5796393A (en) | 1996-11-08 | 1998-08-18 | Compuserve Incorporated | System for intergrating an on-line service community with a foreign service |
US6714960B1 (en) * | 1996-11-20 | 2004-03-30 | Silicon Graphics, Inc. | Earnings-based time-share scheduling |
GB9700798D0 (en) | 1997-01-16 | 1997-03-05 | Int Computers Ltd | Digital system simulation |
US6055308A (en) | 1997-01-21 | 2000-04-25 | Genesys Telecommunications Laboratories, Inc. | Method and system for determining and using multiple object states in a computer telephony integration system |
US5903641A (en) | 1997-01-28 | 1999-05-11 | Lucent Technologies Inc. | Automatic dynamic changing of agents' call-handling assignments |
US5828747A (en) | 1997-01-28 | 1998-10-27 | Lucent Technologies Inc. | Call distribution based on agent occupancy |
US6014437A (en) | 1997-02-03 | 2000-01-11 | International Business Machines Corporation | Multi service platform architecture for telephone networks |
US6044144A (en) | 1997-02-07 | 2000-03-28 | Mci Communications Corp. | Network call parking manager |
US5946387A (en) | 1997-02-10 | 1999-08-31 | Genesys Telecommunications Laboratories, Inc, | Agent-level network call routing |
US5940496A (en) | 1997-02-10 | 1999-08-17 | Gewesys Telecommunications Laboratories, Inc. | Apparatus and methods enhancing call routing within and between call-centers |
US6185292B1 (en) | 1997-02-10 | 2001-02-06 | Genesys Telecommunications Laboratories, Inc. | Skill-based real-time call routing in telephony systems |
US20010040887A1 (en) | 1997-10-09 | 2001-11-15 | Yuri Shtivelman | Apparatus and methods enhancing call routing to and within call-centers |
US5923745A (en) | 1997-02-28 | 1999-07-13 | Teknekron Infoswitch Corporation | Routing calls to call centers |
US5905793A (en) | 1997-03-07 | 1999-05-18 | Lucent Technologies Inc. | Waiting-call selection based on anticipated wait times |
US5982873A (en) | 1997-03-07 | 1999-11-09 | Lucent Technologies Inc. | Waiting-call selection based on objectives |
US6185603B1 (en) | 1997-03-13 | 2001-02-06 | At&T Corp. | Method and system for delivery of e-mail and alerting messages |
US6134318A (en) | 1997-03-19 | 2000-10-17 | At&T Corp | System and method for telemarketing through a hypertext network |
US5974462A (en) | 1997-03-28 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a client/server system |
US5948065A (en) | 1997-03-28 | 1999-09-07 | International Business Machines Corporation | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently |
US5960073A (en) | 1997-04-03 | 1999-09-28 | Genesys Telecommunications Laboratories , Inc. | Method and apparatus for providing an interactive home agent with access to call center functionality and resources |
NO971605L (en) | 1997-04-08 | 1998-10-09 | Ericsson Telefon Ab L M | Device for improving accessibility of services in a communication system |
US5996013A (en) | 1997-04-30 | 1999-11-30 | International Business Machines Corporation | Method and apparatus for resource allocation with guarantees |
US6049547A (en) | 1997-05-15 | 2000-04-11 | Lucent Technologies Inc. | Lookahead interflow of traffic among a plurality of serving sites of one customer |
US5901215A (en) | 1997-05-20 | 1999-05-04 | Rockwell Semiconductor Systems, Inc. | Apparatus and method for identifying records of overflowed ACD calls |
US6263359B1 (en) | 1997-05-22 | 2001-07-17 | International Business Machines Corporation | Computer resource proportional utilization and response time scheduling |
US6259969B1 (en) | 1997-06-04 | 2001-07-10 | Nativeminds, Inc. | System and method for automatically verifying the performance of a virtual robot |
US6094581A (en) | 1997-06-10 | 2000-07-25 | Telefonaktiebolaget Lm Ericsson | Tailored hierarchical cell structures in a communications system |
US5974135A (en) | 1997-06-11 | 1999-10-26 | Harrah's Operating Company, Inc. | Teleservices computer system, method, and manager application for integrated presentation of concurrent interactions with multiple terminal emulation sessions |
US5937402A (en) | 1997-06-19 | 1999-08-10 | Ontos, Inc. | System for enabling access to a relational database from an object oriented program |
US5941983A (en) | 1997-06-24 | 1999-08-24 | Hewlett-Packard Company | Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues |
US5987117A (en) | 1997-07-07 | 1999-11-16 | Mitel Corporation | Method of dynamic load sharing between systems with automatic telephone call distributors |
US6044355A (en) | 1997-07-09 | 2000-03-28 | Iex Corporation | Skills-based scheduling for telephone call centers |
US6023681A (en) | 1997-08-11 | 2000-02-08 | At&T Corp. | Method and apparatus for predicting queuing delays |
US6052685A (en) | 1997-08-13 | 2000-04-18 | Mosaix, Inc. | Integration of legacy database management systems with ODBC-compliant application programs |
US6038293A (en) | 1997-09-03 | 2000-03-14 | Mci Communications Corporation | Method and system for efficiently transferring telephone calls |
US6000832A (en) | 1997-09-24 | 1999-12-14 | Microsoft Corporation | Electronic online commerce card with customer generated transaction proxy number for online transactions |
US6490350B2 (en) | 1997-09-30 | 2002-12-03 | Mci Communications Corporation | Monitoring system for telephony resources in a call center |
US6084954A (en) | 1997-09-30 | 2000-07-04 | Lucent Technologies Inc. | System and method for correlating incoming and outgoing telephone calls using predictive logic |
WO1999017522A1 (en) | 1997-09-30 | 1999-04-08 | Mci Communications Corporation | Computer/telephony integration monitoring server for a call center |
US6363411B1 (en) | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6038296A (en) | 1997-10-07 | 2000-03-14 | Lucent Technologies Inc. | Internet/intranet user interface to a multimedia messaging system |
US6229819B1 (en) | 1997-10-21 | 2001-05-08 | Mci Communications Corporation | Advanced intelligent network gateway |
US5999963A (en) | 1997-11-07 | 1999-12-07 | Lucent Technologies, Inc. | Move-to-rear list scheduling |
US6981061B1 (en) | 1997-11-14 | 2005-12-27 | Mitsubishi Denki Kabushiki Kaisha | Method and system for updating a data system in conjunction with synchronized clock modules |
US6108670A (en) | 1997-11-24 | 2000-08-22 | International Business Machines Corporation | Checking and enabling database updates with a dynamic, multi-modal, rule based system |
US6088441A (en) | 1997-12-17 | 2000-07-11 | Lucent Technologies Inc. | Arrangement for equalizing levels of service among skills |
US6704409B1 (en) | 1997-12-31 | 2004-03-09 | Aspect Communications Corporation | Method and apparatus for processing real-time transactions and non-real-time transactions |
US6115462A (en) | 1998-01-09 | 2000-09-05 | Gte Laboratories Incorporated | Method and apparatus for efficient call routing |
US6192122B1 (en) | 1998-02-12 | 2001-02-20 | Avaya Technology Corp. | Call center agent selection that optimizes call wait times |
US6426950B1 (en) | 1998-02-13 | 2002-07-30 | Nortel Networks Limited | Method of resource management at computer controlled telephony hardware |
US6801520B2 (en) * | 1998-02-17 | 2004-10-05 | Genesys Telecommunications Laboratories, Inc. | Queue prioritization based on competitive user input |
US6157655A (en) | 1998-02-17 | 2000-12-05 | Genesys Telecommunications Laboratories, Inc. | Method for estimating telephony system-queue waiting time in an agent level routing environment |
US5943416A (en) | 1998-02-17 | 1999-08-24 | Genesys Telecommunications Laboratories, Inc. | Automated survey control routine in a call center environment |
US6449358B1 (en) | 1998-02-17 | 2002-09-10 | Genesys Telecommunications Laboratories, Inc. | Method for predicting and managing call load by determining the optimum frequency of outbound call generation during an out-bound calling campaign from a call center |
US6226377B1 (en) | 1998-03-06 | 2001-05-01 | Avaya Technology Corp. | Prioritized transaction server allocation |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6278777B1 (en) | 1998-03-12 | 2001-08-21 | Ser Solutions, Inc. | System for managing agent assignments background of the invention |
US6154769A (en) | 1998-03-27 | 2000-11-28 | Hewlett-Packard Company | Scheduling server requests to decrease response time and increase server throughput |
US6049779A (en) | 1998-04-06 | 2000-04-11 | Berkson; Stephen P. | Call center incentive system and method |
US6173053B1 (en) | 1998-04-09 | 2001-01-09 | Avaya Technology Corp. | Optimizing call-center performance by using predictive data to distribute calls among agents |
US6650748B1 (en) | 1998-04-13 | 2003-11-18 | Avaya Technology Corp. | Multiple call handling in a call center |
US6360222B1 (en) | 1998-05-06 | 2002-03-19 | Oracle Corporation | Method and system thereof for organizing and updating an information directory based on relationships between users |
US6604084B1 (en) | 1998-05-08 | 2003-08-05 | E-Talk Corporation | System and method for generating an evaluation in a performance evaluation system |
US6449356B1 (en) | 1998-05-26 | 2002-09-10 | Rockwell Semiconductor Systems, Inc. | Method of multi-media transaction processing |
US6292550B1 (en) | 1998-06-01 | 2001-09-18 | Avaya Technology Corp. | Dynamic call vectoring |
US6233332B1 (en) | 1998-06-03 | 2001-05-15 | Avaya Technology Corp. | System for context based media independent communications processing |
US6526397B2 (en) | 1998-06-19 | 2003-02-25 | Nortel Networks Limited | Resource management facilitation |
US6011844A (en) | 1998-06-19 | 2000-01-04 | Callnet Communications | Point-of-presence call center management system |
US6307931B1 (en) | 1998-06-19 | 2001-10-23 | Avaya Technology Corp. | System and method for allowing communication between networks having incompatible addressing formats |
US6845361B1 (en) | 1998-07-21 | 2005-01-18 | Eric M. Dowling | Virtual-wait queue for mobile commerce |
US20010011228A1 (en) | 1998-07-31 | 2001-08-02 | Grigory Shenkman | Method for predictive routing of incoming calls within a communication center according to history and maximum profit/contribution analysis |
US6389400B1 (en) | 1998-08-20 | 2002-05-14 | Sbc Technology Resources, Inc. | System and methods for intelligent routing of customer requests using customer and agent models |
US6535601B1 (en) | 1998-08-27 | 2003-03-18 | Avaya Technology Corp. | Skill-value queuing in a call center |
US6272544B1 (en) | 1998-09-08 | 2001-08-07 | Avaya Technology Corp | Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals |
US6937993B1 (en) | 1998-09-16 | 2005-08-30 | Mci, Inc. | System and method for processing and tracking telecommunications service orders |
US6178441B1 (en) | 1998-09-21 | 2001-01-23 | International Business Machines Corporation | Method and system in a computer network for the reliable and consistent ordering of client requests |
US6295353B1 (en) | 1998-10-07 | 2001-09-25 | Avaya Technology Corp. | Arrangement for efficiently updating status information of a network call-routing system |
US6449646B1 (en) | 1998-10-13 | 2002-09-10 | Aspect Communications Corporation | Method and apparatus for allocating mixed transaction type messages to resources via an integrated queuing mechanism |
US6031896A (en) | 1998-10-23 | 2000-02-29 | Gte Laboratories Incorporated | Real-time voicemail monitoring and call control over the internet |
US6298062B1 (en) | 1998-10-23 | 2001-10-02 | Verizon Laboratories Inc. | System providing integrated services over a computer network |
US6128304A (en) | 1998-10-23 | 2000-10-03 | Gte Laboratories Incorporated | Network presence for a communications system operating over a computer network |
US6064731A (en) | 1998-10-29 | 2000-05-16 | Lucent Technologies Inc. | Arrangement for improving retention of call center's customers |
US6198980B1 (en) | 1998-11-06 | 2001-03-06 | John Costanza Institute Of Technology | System and method for designing a mixed-model manufacturing process |
US6243612B1 (en) * | 1998-11-09 | 2001-06-05 | Advanced Micro Devices, Inc. | Processing system having a scheduling system based on a composite ratio of process scheduling factors |
US6735593B1 (en) | 1998-11-12 | 2004-05-11 | Simon Guy Williams | Systems and methods for storing data |
EP1003117A3 (en) | 1998-11-17 | 2003-07-23 | Citibank, N.A. | Method and system for strategic services enterprise workload management |
US7068775B1 (en) | 1998-12-02 | 2006-06-27 | Concerto Software, Inc. | System and method for managing a hold queue based on customer information retrieved from a customer database |
US6275812B1 (en) | 1998-12-08 | 2001-08-14 | Lucent Technologies, Inc. | Intelligent system for dynamic resource management |
US6665395B1 (en) | 1998-12-11 | 2003-12-16 | Avaya Technology Corp. | Automatic call distribution system using computer network-based communication |
US6366666B2 (en) | 1998-12-16 | 2002-04-02 | Avaya Technology Corp. | Adjustment of call selection to achieve target values for interval-based performance metrics in a call center |
US6463471B1 (en) | 1998-12-28 | 2002-10-08 | Intel Corporation | Method and system for validating and distributing network presence information for peers of interest |
US6556974B1 (en) | 1998-12-30 | 2003-04-29 | D'alessandro Alex F. | Method for evaluating current business performance |
US6356632B1 (en) | 1998-12-31 | 2002-03-12 | Avaya Technology Corp. | Call selection and agent selection in a call center based on agent staffing schedule |
US7406098B2 (en) | 1999-01-13 | 2008-07-29 | Qualcomm Incorporated | Resource allocation in a communication system supporting application flows having quality of service requirements |
US7295669B1 (en) | 1999-01-21 | 2007-11-13 | Avaya Technology Corp. | Call center telephone and data flow connection system |
US6434230B1 (en) | 1999-02-02 | 2002-08-13 | Avaya Technology Corp. | Rules-based queuing of calls to call-handling resources |
US7200219B1 (en) | 1999-02-10 | 2007-04-03 | Avaya Technology Corp. | Dynamically allocating server resources to competing classes of work based upon achievement of service goals |
US6560649B1 (en) | 1999-02-10 | 2003-05-06 | Avaya Technology Corp. | Hierarchical service level remediation for competing classes based upon achievement of service level goals |
US6584191B1 (en) | 1999-08-27 | 2003-06-24 | Aspect Communications Corporation | Staffing-based percentage-allocation routing using real-time data |
US6744877B1 (en) | 1999-03-08 | 2004-06-01 | Avaya Technology Corp. | Method and system for enterprise service balancing |
US6366668B1 (en) | 1999-03-11 | 2002-04-02 | Avaya Technology Corp. | Method of routing calls in an automatic call distribution network |
US6424709B1 (en) | 1999-03-22 | 2002-07-23 | Rockwell Electronic Commerce Corp. | Skill-based call routing |
US6574599B1 (en) | 1999-03-31 | 2003-06-03 | Microsoft Corporation | Voice-recognition-based methods for establishing outbound communication through a unified messaging system including intelligent calendar interface |
US7133520B1 (en) | 1999-04-27 | 2006-11-07 | Rockwell Electronic Commerce Technologies, Llc | Dynamic skill-based call routing |
US6487290B1 (en) | 1999-04-28 | 2002-11-26 | Periphonics Corporation | Call routing based on local status evaluation |
US6560329B1 (en) | 1999-04-29 | 2003-05-06 | Teloquent Communications Corporation | Automated call routing system |
US8121874B1 (en) | 1999-05-27 | 2012-02-21 | Accenture Global Services Limited | Phase delivery of components of a system required for implementation technology |
US6694009B1 (en) * | 1999-06-15 | 2004-02-17 | Avaya Technology Corp. | Estimation of a work item's wait-time from the present stages of processing of preceding work items |
US20060178994A1 (en) * | 1999-07-26 | 2006-08-10 | Stolfo Salvatore J | Method and system for private shipping to anonymous users of a computer network |
US6829348B1 (en) | 1999-07-30 | 2004-12-07 | Convergys Cmg Utah, Inc. | System for customer contact information management and methods for using same |
NZ504609A (en) * | 1999-08-06 | 2001-10-26 | Rockwell Electronic Commerce | Assignment of calls to agents by automatic call distributor according to average agent talk time for particular call type |
US6687257B1 (en) | 1999-08-12 | 2004-02-03 | Rockwell Automation Technologies, Inc. | Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing |
JP3614044B2 (en) | 1999-08-12 | 2005-01-26 | サクサ株式会社 | Telephone equipment |
US6639982B1 (en) | 1999-08-12 | 2003-10-28 | Six Sigma, Inc. | Method and apparatus for agent forcing and call distribution for large team call servicing |
US7222075B2 (en) | 1999-08-31 | 2007-05-22 | Accenture Llp | Detecting emotions using voice signal analysis |
US6151571A (en) | 1999-08-31 | 2000-11-21 | Andersen Consulting | System, method and article of manufacture for detecting emotion in voice signals through analysis of a plurality of voice signal parameters |
US6480826B2 (en) | 1999-08-31 | 2002-11-12 | Accenture Llp | System and method for a telephonic emotion detection that provides operator feedback |
US6353810B1 (en) | 1999-08-31 | 2002-03-05 | Accenture Llp | System, method and article of manufacture for an emotion detection system improving emotion recognition |
US6463415B2 (en) | 1999-08-31 | 2002-10-08 | Accenture Llp | 69voice authentication system and method for regulating border crossing |
US6427137B2 (en) | 1999-08-31 | 2002-07-30 | Accenture Llp | System, method and article of manufacture for a voice analysis system that detects nervousness for preventing fraud |
US6697457B2 (en) | 1999-08-31 | 2004-02-24 | Accenture Llp | Voice messaging system that organizes voice messages based on detected emotion |
US6275806B1 (en) | 1999-08-31 | 2001-08-14 | Andersen Consulting, Llp | System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters |
US6389028B1 (en) | 1999-09-24 | 2002-05-14 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing estimated response-wait-time displays for data network-based inquiries to a communication center |
US20020010608A1 (en) | 1999-10-08 | 2002-01-24 | Scott Faber | System for provding services in real-time overthe internet |
US6463346B1 (en) * | 1999-10-08 | 2002-10-08 | Avaya Technology Corp. | Workflow-scheduling optimization driven by target completion time |
US6389132B1 (en) | 1999-10-13 | 2002-05-14 | Avaya Technology Corp. | Multi-tasking, web-based call center |
US7035808B1 (en) | 1999-10-20 | 2006-04-25 | Avaya Technology Corp. | Arrangement for resource and work-item selection |
US6587831B1 (en) | 1999-10-21 | 2003-07-01 | Workforce Logistics Inc. | System and method for online scheduling and shift management |
US6748414B1 (en) | 1999-11-15 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for the load balancing of non-identical servers in a network environment |
US20040202309A1 (en) | 1999-11-16 | 2004-10-14 | Knowlagent, Inc. | Managing the rate of delivering performance interventions in a contact center |
US20020065894A1 (en) | 1999-12-03 | 2002-05-30 | Dalal Siddhartha R. | Local presence state and user-controlled presence and message forwarding in unified instant messaging |
US6553114B1 (en) | 1999-12-06 | 2003-04-22 | Avaya Technology Corp. | System for automatically predicting call center agent work time in a multi-skilled agent environment |
US6535600B1 (en) | 1999-12-06 | 2003-03-18 | Avaya Technology Corp. | System for automatically routing calls to call center agents in an agent surplus condition based on service levels |
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 |
US6563920B1 (en) | 1999-12-15 | 2003-05-13 | Avaya Technology Corp. | Methods and apparatus for processing of communications in a call center based on variable rest period determinations |
US6718330B1 (en) | 1999-12-16 | 2004-04-06 | Ncr Corporation | Predictive internet automatic work distributor (Pre-IAWD) and proactive internet automatic work distributor (Pro-IAWD) |
US6985901B1 (en) | 1999-12-23 | 2006-01-10 | Accenture Llp | Controlling data collection, manipulation and storage on a network with service assurance capabilities |
US6571285B1 (en) | 1999-12-23 | 2003-05-27 | Accenture Llp | Providing an integrated service assurance environment for a network |
US6636598B1 (en) | 2000-01-24 | 2003-10-21 | Avaya Technology Corp. | Automated transaction distribution system and method implementing transaction distribution to unavailable agents |
US20020035605A1 (en) | 2000-01-26 | 2002-03-21 | Mcdowell Mark | Use of presence and location information concerning wireless subscribers for instant messaging and mobile commerce |
US6668167B2 (en) | 2000-01-26 | 2003-12-23 | Mcdowell Mark | Method and apparatus for sharing mobile user event information between wireless networks and fixed IP networks |
US7050567B1 (en) * | 2000-01-27 | 2006-05-23 | Avaya Technology Corp. | Call management system using dynamic queue position |
US6724884B2 (en) | 2000-01-27 | 2004-04-20 | Avaya Technology Corp. | Call management system using fast response dynamic threshold adjustment |
US6711253B1 (en) | 2000-02-04 | 2004-03-23 | Avaya Technology Corp. | Method and apparatus for analyzing performance data in a call center |
US6970829B1 (en) | 2000-02-14 | 2005-11-29 | Iex Corporation | Method and system for skills-based planning and scheduling in a workforce contact center environment |
US7203655B2 (en) | 2000-02-16 | 2007-04-10 | Iex Corporation | Method and system for providing performance statistics to agents |
US20020029213A1 (en) | 2000-02-17 | 2002-03-07 | Roumen Borissov | Method and system for resource allocation |
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 |
US6603854B1 (en) | 2000-02-25 | 2003-08-05 | Teltronics, Inc. | System and method for evaluating agents in call center |
US6839735B2 (en) | 2000-02-29 | 2005-01-04 | Microsoft Corporation | Methods and systems for controlling access to presence information according to a variety of different access permission types |
US6775377B2 (en) | 2001-09-10 | 2004-08-10 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6324282B1 (en) | 2000-03-02 | 2001-11-27 | Knowlagent, Inc. | Method and system for delivery of individualized training to call center agents |
US6757362B1 (en) | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US6636599B1 (en) | 2000-03-09 | 2003-10-21 | Avaya Technology Corp. | Reserving resources for anticipated work items via simulated work items |
US20020019829A1 (en) | 2000-03-21 | 2002-02-14 | Ehud Shapiro | Community co-presence system and method having virtual groups |
US7257552B1 (en) * | 2000-03-27 | 2007-08-14 | Hector Franco | Consumer products distribution system |
US6956941B1 (en) * | 2000-04-12 | 2005-10-18 | Austin Logistics Incorporated | Method and system for scheduling inbound inquiries |
EP1405210A2 (en) | 2000-04-17 | 2004-04-07 | Avaya Technology Corp. | A system for integrating diverse databases and maintaining their consistency |
US20020021307A1 (en) | 2000-04-24 | 2002-02-21 | Steve Glenn | Method and apparatus for utilizing online presence information |
US6754333B1 (en) | 2000-04-27 | 2004-06-22 | Avaya Technology Corp. | Wait time prediction arrangement for non-real-time customer contacts |
JP2001313725A (en) * | 2000-04-28 | 2001-11-09 | Toshiba Corp | Method and device for call connection control and private branch exchange |
DE60125637T2 (en) | 2000-05-17 | 2007-10-04 | International Business Machines Corp. | System and method to detect the residence or availability of a telephone user and to publish the telephone number on the Internet |
US7266508B1 (en) | 2000-05-25 | 2007-09-04 | At&T Intellectual Property, Inc. | System and method for managing customer contacts and related information |
US7526440B2 (en) | 2000-06-12 | 2009-04-28 | Walker Digital, Llc | Method, computer product, and apparatus for facilitating the provision of opinions to a shopper from a panel of peers |
CA2311884A1 (en) | 2000-06-16 | 2001-12-16 | Cognos Incorporated | Method of managing slowly changing dimensions |
US7117215B1 (en) * | 2001-06-07 | 2006-10-03 | Informatica Corporation | Method and apparatus for transporting data for data warehousing applications that incorporates analytic data interface |
US7047192B2 (en) | 2000-06-28 | 2006-05-16 | Poirier Darrell A | Simultaneous multi-user real-time speech recognition system |
US7103173B2 (en) | 2001-07-09 | 2006-09-05 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US6785666B1 (en) | 2000-07-11 | 2004-08-31 | Revenue Science, Inc. | Method and system for parsing navigation information |
US6738462B1 (en) | 2000-07-19 | 2004-05-18 | Avaya Technology Corp. | Unified communications automated personal name addressing |
US6766326B1 (en) | 2000-07-24 | 2004-07-20 | Resty M Cena | Universal storage for dynamic databases |
US20020012186A1 (en) | 2000-07-24 | 2002-01-31 | Tohoku Techno Arch Co., Ltd. | Magnetic record/reproduce apparatus for recording/reproducing large amounts of data at ultra-high-speed using a perpendicular magnetic recording mode |
US6947988B1 (en) | 2000-08-11 | 2005-09-20 | Rockwell Electronic Commerce Technologies, Llc | Method and apparatus for allocating resources of a contact center |
US7039176B2 (en) | 2000-08-14 | 2006-05-02 | Telephony@Work | Call center administration manager with rules-based routing prioritization |
FR2813478B1 (en) | 2000-08-28 | 2002-10-11 | France Telecom | PREDICTIVE DISTRIBUTION OF CALLS BETWEEN INFORMATION CENTERS |
JP2002082911A (en) | 2000-09-11 | 2002-03-22 | Nec Corp | Authentication system |
GB2368227B (en) | 2000-10-17 | 2003-12-10 | Hewlett Packard Co | Contact center |
US20020087630A1 (en) | 2000-10-20 | 2002-07-04 | Jonathan Wu | Enhanced information and presence service |
US20020085701A1 (en) | 2000-10-30 | 2002-07-04 | Parsons Eric W. | Method and system for providing unified communication management based on presence information |
US7079266B1 (en) * | 2000-11-03 | 2006-07-18 | Xerox Corporation | Printshop resource optimization via the use of autonomous cells |
US7299259B2 (en) | 2000-11-08 | 2007-11-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives |
US7929562B2 (en) | 2000-11-08 | 2011-04-19 | Genesis Telecommunications Laboratories, Inc. | Method and apparatus for optimizing response time to events in queue |
US6822945B2 (en) * | 2000-11-08 | 2004-11-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue |
AU2002219796A1 (en) | 2000-11-20 | 2002-06-03 | At And T Wireless Services, Inc. | Systems for providing wireless communication presence information |
US7957514B2 (en) | 2000-12-18 | 2011-06-07 | Paltalk Holdings, Inc. | System, method and computer program product for conveying presence information via voice mail |
US6832310B1 (en) * | 2001-01-04 | 2004-12-14 | Advanced Micro Devices, Inc. | Manipulating work queue elements via a hardware adapter and software driver |
US6766014B2 (en) | 2001-01-09 | 2004-07-20 | Avaya Technology Corp. | Customer service by batch |
US6968052B2 (en) | 2001-01-24 | 2005-11-22 | Telecordia Technologies, Inc. | Method and apparatus for creating a presence monitoring contact list with dynamic membership |
US7568001B2 (en) | 2001-01-30 | 2009-07-28 | Intervoice, Inc. | Escalated handling of non-realtime communications |
US7254641B2 (en) | 2001-01-30 | 2007-08-07 | Intervoice, Inc. | Digital multimedia contact center with tier escalation and deescalation in response to changed criteria |
WO2002063832A1 (en) | 2001-02-05 | 2002-08-15 | Personity, Inc. | A system and method for filtering unavailable devices in a presence and availability management system |
US20020112186A1 (en) | 2001-02-15 | 2002-08-15 | Tobias Ford | Authentication and authorization for access to remote production devices |
US6546087B2 (en) | 2001-02-16 | 2003-04-08 | Siemens Information & Communication Networks, Inc. | Method and system for enabling queue camp-on for skills-based routing |
US6970554B1 (en) | 2001-03-05 | 2005-11-29 | Verizon Corporate Services Group Inc. | System and method for observing calls to a call center |
EP1246097A1 (en) * | 2001-03-29 | 2002-10-02 | BRITISH TELECOMMUNICATIONS public limited company | Work allocation system |
JP2002297900A (en) * | 2001-03-30 | 2002-10-11 | Ibm Japan Ltd | Control system for reception by businesses, user side terminal device, reception side terminal device, management server queue monitoring device, method of allocating reception side terminals, and storage medium |
US7315616B2 (en) * | 2001-03-31 | 2008-01-01 | Siebel Systems, Inc. | System and method for maintaining real-time agent information for multi-channel communication queuing |
US8601492B2 (en) | 2001-03-31 | 2013-12-03 | Siebel Systems, Inc. | User interface for multi-channel communication |
US7478051B2 (en) | 2001-04-02 | 2009-01-13 | Illah Nourbakhsh | Method and apparatus for long-range planning |
US7346532B2 (en) * | 2001-05-10 | 2008-03-18 | Hitachi, Ltd. | Workflow system |
CA2447096C (en) | 2001-05-17 | 2018-06-12 | Bay Bridge Decision Technologies, Inc. | System and method for generating forecasts and analysis of contact center behavior for planning purposes |
WO2002095630A1 (en) | 2001-05-23 | 2002-11-28 | Evolving Systems, Inc. | Subscriber's presence, location and availability information across a network |
US20070038632A1 (en) * | 2001-05-31 | 2007-02-15 | Engstrom G E | Time slot based calendar access control |
US6766013B2 (en) | 2001-06-05 | 2004-07-20 | Avaya Technology Corp. | Timely shut-down of a real-time work center |
EP1407358B1 (en) | 2001-06-06 | 2006-07-26 | Yahoo! Inc. | System and method for controlling access to digital content, including streaming media |
US7100200B2 (en) | 2001-06-13 | 2006-08-29 | Citrix Systems, Inc. | Method and apparatus for transmitting authentication credentials of a user across communication sessions |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
AU2002315458A1 (en) | 2001-06-26 | 2003-03-03 | Versada Networks, Inc. | Detecting and transporting dynamic presence information over a wireless and wireline communications network |
US6879683B1 (en) * | 2001-06-28 | 2005-04-12 | Bellsouth Intellectual Property Corp. | System and method for providing a call back option for callers to a call center |
US7409423B2 (en) | 2001-06-28 | 2008-08-05 | Horvitz Eric J | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US8416943B2 (en) | 2001-07-31 | 2013-04-09 | Aspect Software, Inc. | System and method for distributing customer contacts |
US7072966B1 (en) * | 2001-08-14 | 2006-07-04 | Etalk Corporation | Skills-based routing of a communication session |
US6915305B2 (en) | 2001-08-15 | 2005-07-05 | International Business Machines Corporation | Restructuring view maintenance system and method |
US6856680B2 (en) | 2001-09-24 | 2005-02-15 | Rockwell Electronic Commerce Technologies, Llc | Contact center autopilot algorithms |
US20030093465A1 (en) | 2001-10-31 | 2003-05-15 | International Business Machines Corporation | Management strategies for internationalization in a distributed computer environment |
US6735299B2 (en) | 2001-11-08 | 2004-05-11 | Avaya Technology Corp. | Automatic call distribution groups in call center management systems |
US6772202B2 (en) | 2001-11-28 | 2004-08-03 | Gamespy Industries, Inc. | Queuing system, method and computer program product for network data transfer |
US7139390B2 (en) | 2001-12-12 | 2006-11-21 | International Business Machines Corporation | Promoting use of experts to callers waiting in a hold queue |
US7076051B2 (en) | 2001-12-12 | 2006-07-11 | International Business Machines Corporation | Promoting caller voice browsing in a hold queue |
US7257597B1 (en) | 2001-12-18 | 2007-08-14 | Siebel Systems, Inc. | Table substitution |
US7212625B1 (en) | 2001-12-20 | 2007-05-01 | Nortel Networks Limited | System and method for presenting queue lengths of various media used by service centers |
US6947543B2 (en) | 2002-01-03 | 2005-09-20 | Avaya Technology Corp. | Computer-telephony integration that uses features of an automatic call distribution system |
US7013344B2 (en) | 2002-01-09 | 2006-03-14 | International Business Machines Corporation | Massively computational parallizable optimization management system and method |
US20050154708A1 (en) * | 2002-01-29 | 2005-07-14 | Yao Sun | Information exchange between heterogeneous databases through automated identification of concept equivalence |
JP2003223420A (en) | 2002-01-31 | 2003-08-08 | Fujitsu Ltd | Access control method, storage device, and information processing apparatus |
CA2475319A1 (en) | 2002-02-04 | 2003-08-14 | Cataphora, Inc. | A method and apparatus to visually present discussions for data mining purposes |
US20030169870A1 (en) | 2002-03-05 | 2003-09-11 | Michael Stanford | Automatic call distribution |
US7023979B1 (en) | 2002-03-07 | 2006-04-04 | Wai Wu | Telephony control system with intelligent call routing |
US7372952B1 (en) | 2002-03-07 | 2008-05-13 | Wai Wu | Telephony control system with intelligent call routing |
US7035927B2 (en) | 2002-03-12 | 2006-04-25 | Avaya Technology Corp. | Intelligent inbound/outbound communications blending |
US7415417B2 (en) | 2002-03-15 | 2008-08-19 | Avaya Technology Corp. | Presence awareness agent |
US7127058B2 (en) | 2002-03-27 | 2006-10-24 | Nortel Networks Limited | Managing communications in a call center |
US6707905B2 (en) * | 2002-04-18 | 2004-03-16 | Avaya Technology Corp. | Location enhanced automatic work distribution |
US7664561B1 (en) | 2002-04-25 | 2010-02-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Task queuing methodology for reducing traffic jam and to control transmission priority in an automatic material handling system |
US6968509B1 (en) | 2002-06-05 | 2005-11-22 | Microsoft Corporation | Recording of user-driven events within a computer application |
US7620169B2 (en) | 2002-06-17 | 2009-11-17 | Avaya Inc. | Waiting but not ready |
US6823062B2 (en) * | 2002-06-19 | 2004-11-23 | Avaya Technology Corp | Arrangement for predicting call-center status in a network call-routing system |
US20040010437A1 (en) | 2002-06-29 | 2004-01-15 | Kiran Ali Sukru | Method and system for scheduling and sharing a pool of resources across multiple distributed forecasted workloads |
US20040008828A1 (en) | 2002-07-09 | 2004-01-15 | Scott Coles | Dynamic information retrieval system utilizing voice recognition |
US7165075B2 (en) | 2002-07-20 | 2007-01-16 | Microsoft Corporation | Object graph faulting and trimming in an object-relational database system |
US7162469B2 (en) | 2002-07-20 | 2007-01-09 | Microsoft Corporation | Querying an object for properties |
US7149733B2 (en) * | 2002-07-20 | 2006-12-12 | Microsoft Corporation | Translation of object queries involving inheritence |
US7412436B2 (en) * | 2002-07-20 | 2008-08-12 | Microsoft Corporation | System and interface for manipulating a database |
US7096216B2 (en) | 2002-07-20 | 2006-08-22 | Microsoft Corporation | Performing operations on a set of objects in a database system |
US7082433B2 (en) | 2002-07-20 | 2006-07-25 | Microsoft Corporation | Translation of object queries involving inheritence |
US7136873B2 (en) | 2002-07-20 | 2006-11-14 | Microsoft Corporation | Dynamic filtering in a database system |
US7010542B2 (en) | 2002-07-20 | 2006-03-07 | Microsoft Corporation | Result set formatting and processing |
US20040138944A1 (en) | 2002-07-22 | 2004-07-15 | Cindy Whitacre | Program performance management system |
WO2004017161A2 (en) | 2002-08-16 | 2004-02-26 | Nuasis Corporation | High availability voip subsystem |
US7272223B2 (en) * | 2002-10-23 | 2007-09-18 | Nortel Networks Limited | Multi-media contact center |
US7020254B2 (en) | 2002-10-28 | 2006-03-28 | Bellsouth Intellectual Property Corporation | Escalation tracking system |
US7142666B1 (en) | 2002-10-31 | 2006-11-28 | International Business Machines Corporation | Method and apparatus for selectively disabling a communication device |
US20040210475A1 (en) | 2002-11-25 | 2004-10-21 | Starnes S. Renee | Variable compensation tool and system for customer service agents |
US8065717B2 (en) | 2002-11-27 | 2011-11-22 | Activcard | Automated security token administrative services |
US7545925B2 (en) | 2002-12-06 | 2009-06-09 | At&T Intellectual Property I, L.P. | Method and system for improved routing of repair calls to a call center |
US7170976B1 (en) * | 2002-12-17 | 2007-01-30 | Cisco Technology, Inc. | System and method for communicating text teletype (TTY) information in a communication network |
US7418094B2 (en) * | 2003-01-06 | 2008-08-26 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for multimedia interaction routing according to agent capacity sets |
US6847711B2 (en) | 2003-02-13 | 2005-01-25 | Sbc Properties, L.P. | Method for evaluating customer call center system designs |
US20040162998A1 (en) | 2003-02-14 | 2004-08-19 | Jukka Tuomi | Service authentication in a communication system |
US7251815B2 (en) | 2003-04-29 | 2007-07-31 | International Business Machines Corporation | Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle |
US7299468B2 (en) | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
US7308499B2 (en) | 2003-04-30 | 2007-12-11 | Avaya Technology Corp. | Dynamic load balancing for enterprise IP traffic |
US7155612B2 (en) | 2003-04-30 | 2006-12-26 | International Business Machines Corporation | Desktop database data administration tool with row level security |
US7376127B2 (en) | 2003-05-12 | 2008-05-20 | Avaya Technology Corp. | Methods for reconstructing missing packets in TTY over voice over IP transmission |
US7472159B2 (en) * | 2003-05-15 | 2008-12-30 | International Business Machines Corporation | System and method for adaptive admission control and resource management for service time guarantees |
US20050004828A1 (en) | 2003-05-27 | 2005-01-06 | Desilva Anura H. | System and method for preference scheduling of staffing resources |
US7372857B1 (en) | 2003-05-28 | 2008-05-13 | Cisco Technology, Inc. | Methods and apparatus for scheduling tasks |
US7050566B2 (en) | 2003-06-13 | 2006-05-23 | Assurant, Inc. | Call processing system |
US7392402B2 (en) | 2003-07-02 | 2008-06-24 | Hitachi, Ltd. | Method and apparatus for data integration security |
CN100363855C (en) * | 2003-07-04 | 2008-01-23 | 诺基亚有限公司 | Key storage administration |
US20050013428A1 (en) | 2003-07-17 | 2005-01-20 | Walters James Frederick | Contact center optimization program |
US20050021529A1 (en) | 2003-07-22 | 2005-01-27 | Jeff Hodson | Transaction time tracking and reporting system |
US7158628B2 (en) | 2003-08-20 | 2007-01-02 | Knowlagent, Inc. | Method and system for selecting a preferred contact center agent based on agent proficiency and performance and contact center state |
US6842503B1 (en) | 2003-09-02 | 2005-01-11 | Cisco Technology, Inc. | Support of TTY systems in voice over data networks |
US20050071241A1 (en) | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Contact center resource allocation based on work bidding/auction |
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 |
US20050071212A1 (en) | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Method and apparatus for business time computation in a resource allocation system |
US7783513B2 (en) * | 2003-10-22 | 2010-08-24 | Intellisist, Inc. | Business performance and customer care quality measurement |
US20050125276A1 (en) | 2003-12-05 | 2005-06-09 | Grigore Rusu | System and method for event tracking across plural contact mediums |
US20050125458A1 (en) * | 2003-12-09 | 2005-06-09 | Sutherland James E. | Chronological data record access |
US20050129212A1 (en) | 2003-12-12 | 2005-06-16 | Parker Jane S. | Workforce planning system incorporating historic call-center related data |
US7539297B2 (en) | 2003-12-19 | 2009-05-26 | At&T Intellectual Property I, L.P. | Generation of automated recommended parameter changes based on force management system (FMS) data analysis |
US7551602B2 (en) | 2003-12-19 | 2009-06-23 | At&T Intellectual Property I, L.P. | Resource assignment in a distributed environment |
US20050135601A1 (en) | 2003-12-19 | 2005-06-23 | Whitman Raymond Jr. | Force management automatic call distribution and resource allocation control system |
US7085367B1 (en) | 2004-02-24 | 2006-08-01 | Avaya Technology Corp. | Call duration alert |
US7734032B1 (en) | 2004-03-31 | 2010-06-08 | Avaya Inc. | Contact center and method for tracking and acting on one and done customer contacts |
US7290205B2 (en) * | 2004-06-23 | 2007-10-30 | Sas Institute Inc. | System and method for management of document cross-reference links |
US7672966B2 (en) * | 2004-06-30 | 2010-03-02 | Microsoft Corporation | Adding extrinsic data columns to an existing database schema using a temporary column pool |
US7656861B2 (en) * | 2004-07-09 | 2010-02-02 | Cisco Technology, Inc. | Method and apparatus for interleaving text and media in a real-time transport session |
US8738412B2 (en) | 2004-07-13 | 2014-05-27 | Avaya Inc. | Method and apparatus for supporting individualized selection rules for resource allocation |
US7668303B2 (en) | 2004-08-31 | 2010-02-23 | Aspect Software, Inc. | Call tracking using SIP presence mechanism |
US20060056598A1 (en) * | 2004-09-14 | 2006-03-16 | Sbc Knowledge Ventures, L.P. | Detection of TTY's using programmable filters |
US8594704B2 (en) * | 2004-12-16 | 2013-11-26 | Atc Technologies, Llc | Location-based broadcast messaging for radioterminal users |
US7177401B2 (en) | 2005-02-03 | 2007-02-13 | Texas Instruments Incorporated | TTY communication over packet networks |
US7421501B2 (en) | 2005-02-04 | 2008-09-02 | Microsoft Corporation | Queued sessions for communicating correlated messages over a network |
US7567653B1 (en) | 2005-03-22 | 2009-07-28 | Avaya Inc. | Method by which call centers can vector inbound TTY calls automatically to TTY-enabled resources |
US7809127B2 (en) * | 2005-05-26 | 2010-10-05 | Avaya Inc. | Method for discovering problem agent behaviors |
JP4125309B2 (en) | 2005-07-25 | 2008-07-30 | キヤノン株式会社 | Imaging device |
US8774389B2 (en) * | 2005-09-13 | 2014-07-08 | International Business Machines Corporation | Call routing between shared service centers |
US7752230B2 (en) * | 2005-10-06 | 2010-07-06 | Avaya Inc. | Data extensibility using external database tables |
US8199900B2 (en) * | 2005-11-14 | 2012-06-12 | Aspect Software, Inc. | Automated performance monitoring for contact management system |
US8737173B2 (en) * | 2006-02-24 | 2014-05-27 | Avaya Inc. | Date and time dimensions for contact center reporting in arbitrary international time zones |
US8856182B2 (en) * | 2008-01-25 | 2014-10-07 | Avaya Inc. | Report database dependency tracing through business intelligence metadata |
US8416944B2 (en) | 2009-06-23 | 2013-04-09 | Avaya Inc. | Servicing calls in call centers based on caller geo-location |
-
2003
- 2003-09-26 US US10/673,103 patent/US8094804B2/en not_active Expired - Fee Related
-
2004
- 2004-05-31 CA CA 2469399 patent/CA2469399C/en not_active Expired - Fee Related
- 2004-08-31 EP EP20040255262 patent/EP1519550A1/en not_active Ceased
- 2004-09-24 JP JP2004276377A patent/JP4842529B2/en not_active Expired - Fee Related
-
2008
- 2008-06-19 US US12/142,599 patent/US8891747B2/en not_active Expired - Lifetime
- 2008-06-19 US US12/142,555 patent/US8751274B2/en active Active
- 2008-06-19 US US12/142,565 patent/US9025761B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20080275752A1 (en) | 2008-11-06 |
US8094804B2 (en) | 2012-01-10 |
US9025761B2 (en) | 2015-05-05 |
JP2005110246A (en) | 2005-04-21 |
US20080275751A1 (en) | 2008-11-06 |
US8891747B2 (en) | 2014-11-18 |
EP1519550A1 (en) | 2005-03-30 |
JP4842529B2 (en) | 2011-12-21 |
US20080275766A1 (en) | 2008-11-06 |
CA2469399A1 (en) | 2005-03-26 |
US20050071211A1 (en) | 2005-03-31 |
US8751274B2 (en) | 2014-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2469399C (en) | Method and apparatus for assessing the status of work waiting for service | |
US20050071241A1 (en) | Contact center resource allocation based on work bidding/auction | |
JP3730115B2 (en) | Method and apparatus for processing communications in a call center based on variable rest period determination | |
US9413890B2 (en) | Systems and methods for monitoring and prioritizing metrics with dynamic work issue reassignment | |
US7383199B2 (en) | Method for forecasting and managing multimedia contacts | |
AU785106B2 (en) | Multi-site responsibility-based routing | |
US7860234B2 (en) | Methods and apparatus for allocating a resource to enqueued requests using predicted wait time based on prior resource contribution | |
EP1109385B1 (en) | State-based service processing in a call center | |
US6744878B1 (en) | Real-time transaction routing augmented with forecast data and agent schedules | |
US9357069B2 (en) | System for indicating priority levels for transaction and task engagement in a call center | |
US7761323B2 (en) | Method and system for scheduling a customer service callback | |
US8036372B2 (en) | Methods and apparatus for dynamically reallocating a preferred request to one or more generic queues | |
US20050129217A1 (en) | Transaction allocation | |
US20120101867A1 (en) | System for Automatic Assignment of Agents in Inbound and Outbound Campaigns | |
JP2000232523A (en) | Method and system for deciding agent occupancy rate in call center | |
WO2012106225A1 (en) | Methods and apparatus for managing interaction processing | |
US9373092B2 (en) | System and method for automated distribution of supervisory functions in a contact center | |
EP2713590B1 (en) | Increasing contact center efficiency via multi-cast and multi-item presentation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20150601 |