US6845154B1 - Allocation of resources to flexible requests - Google Patents
Allocation of resources to flexible requests Download PDFInfo
- Publication number
- US6845154B1 US6845154B1 US09/767,927 US76792701A US6845154B1 US 6845154 B1 US6845154 B1 US 6845154B1 US 76792701 A US76792701 A US 76792701A US 6845154 B1 US6845154 B1 US 6845154B1
- Authority
- US
- United States
- Prior art keywords
- request
- resources
- pool
- flexible
- requests
- 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 - Lifetime, expires
Links
Images
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
- H04M3/5232—Call distribution algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2011—Service processing based on information specified by a party before or during a call, e.g. information, tone or routing selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2061—Language aspects
Definitions
- This invention relates generally to function-based routing in, for example, automatic call distributors or other structures allocating a limited number of resources to flexible incoming requests, and more specifically to a system and method that prioritizes the allocation of such resources taking into account the flexibility of the resource requests.
- This invention relates to requests made to pools of limited resources, such as when a telephone caller is served by call agents in an agent pool, or when a computer application makes requests of a processor, or even when several mechanics are sharing tools out of one tool box.
- the invention has particular exemplary application for skills-based routing functionality in automatic call distributors (“ACDs”).
- ACDs automatic call distributors
- requests from single-function (or “single-talent” or “single-skilled”) requester's were made to resources capable of satisfying the requests. Such requests were typically directed in serial fashion via a unitary queue to a Pool Control Logic. The Pool Control Logic then directed each request to a resource capable of satisfying the single-function request.
- requests were served on a “first come, first served” basis. That is, as new requests reach the front of their respective queues, resources capable of satisfying the pending requests were typically allocated on a “first come, first served” basis.
- the resource that has been idle the longest period of time would be allocated to the request.
- FIG. 1 This state of the prior art is illustrated in FIG. 1 , where, for example, automatic call distribution (“ACD”) center 100 has a number of agents on duty, some of whom speak English (E) 102 , some of whom speak Spanish (S) 104 , and some of whom speak French (F) 106 .
- agents from each queue may be assigned to satisfy a request based on each agent's idle time. That is, typically the agent that has been idle the longest period of time among the English speaking agents 107 may satisfy the next pending English request. The same may be true for the other agent pools, as well.
- Single-function (or single-talent) callers 114 in unitary queue 116 make requests to ACD center 100 in sequence.
- the requests for resources are typically directed in serial fashion via the unitary queue 116 to a Pool Control Logic 112 .
- Pool Control Logic 112 directs each request to a resource based on the type of resource requested.
- the Pool Control Logic 112 may work to direct an English speaking caller to an agent capable of speaking English, a Spanish speaking caller to an agent capable of speaking Spanish, and a French speaking caller to an agent capable of speaking French.
- resources capable of satisfying the pending request are typically allocated on a “first come, first served” basis without regard to prospective flexibility of the request.
- caller E 1 requesting an English speaking agent is the first pending request in queue 114
- caller S 2 requesting a Spanish speaking agent is the next pending request in queue 114
- caller F 3 requesting a French speaking agent is the next pending request in queue 114
- Pool Control Logic 112 may assign caller E 1 to an available agent from English pool 102 . If no agent is available from pool 102 , caller E 1 may be queued in queue 122 to await an agent from pool 102 to become available. Similarly, Pool Control Logic 112 may assign caller S 2 to an available agent from Spanish pool 104 .
- caller S 2 may be queued in queue 124 to await an agent from pool 104 to become available.
- Pool Control Logic 112 may assign caller F 3 to an available agent from French pool 106 . If no agent is available from pool 106 , caller F 3 may be queued in queue 126 to await an agent from pool 106 to become available.
- the prior art does not consider the flexibility of a request in allocating resources to satisfy such a request. For example, suppose that a caller to the ACD system 100 of FIG. 1 is capable of speaking both English and Spanish. The prior art does not take advantage of such flexibility in allocating resources to service the caller, but instead pigeonholes the caller as being either an English speaking request or a Spanish speaking request. Generally, a request (e.g., a caller) is required to choose a single type of resource (e.g., an English speaking agent), even if the request is capable and willing to accept any of a plurality of different types of resources. More specifically, ACD system 100 of FIG.
- a single type of resource e.g., an English speaking agent
- IVRU Interactive Voice Response Unit
- an IVRU may prompt a caller to “press 1 for English, press 2 for Spanish, or press 3 for French.”
- a caller may designate the language in which the caller desires to interact with an agent.
- the ACD system 100 typically does not determine whether a caller is capable of speaking a plurality of languages and willing to interact with an agent in any of the plurality of languages.
- the prior art allocates resources to requests without taking into account requesters' flexibility or multi-functionality. Rather, the prior art allocates resources to requests based solely on a single function (or single attribute or single characteristic) of the requesters.
- prior art methods for allocating resources fail to utilize “flexible” (or “multi-function” or “multi-talent” or “multi-skilled”) requests effectively.
- a particular caller is capable of speaking more than one language. Because in prior art methods the caller would be allocated to a resource based solely on a single language skill, prior art methods do not utilize such flexible/multi-functional requests effectively. For example, suppose a caller is capable of speaking both English and Spanish. Utilizing a prior art method of allocating resources, such a caller must be queued for either a resource from pool 102 or a resource from pool 104 .
- such a caller may either be allocated to be serviced by agents from English speaking pool 102 or agents from Spanish speaking pool 104 , but not both. That is, Pool Control Logic 112 may attempt to satisfy a caller's request utilizing either a resource from pool 102 or utilizing a resource from pool 104 , but does not attempt to choose a resource utilizing both pools. Therefore, this prior art method does not utilize the full capabilities of such a multi-skilled requester.
- the resources may also be multi-functional (or “multitalented” or “multi-skilled”). Allocation of multi-function resources is the subject of co-pending and commonly assigned U.S. patent application Ser. No. 09/330,258, entitled “ALLOCATION OF MULTI-FUNCTION RESOURCES.” Such patent application details a method and system for allocating resources to requests in a manner that utilizes multi-function resources effectively in satisfying the requests.
- Prior art methods of allocating resources to requests simply allocate the resources based on a “first come, first serve” basis, without regard to each request's (or requester's) capabilities, flexibility, or value.
- Prior art methods of allocating resources to requests attempt to satisfy requests (e.g., queue requests for the appropriate resources) based solely upon a single function or attribute or characteristic of the request, without taking into consideration a request's flexibility or multi-functionality. That is, prior art methods pigeon-hole multi-function, flexible requesters into a single type of request. It is desirable to have more flexible requests utilized for more effective allocation of resources. Also, it is desirable to have more scarce/flexible/valuable resources allocated to requests in a more efficient manner by taking into account a request's flexibility/multi-functionality to better manage resources.
- the present invention is directed to a system and method which determine the flexibility of requests and utilize such flexibility of requests in managing a finite number of resources for servicing such requests. It should be recognized that the flexibility of a request is typically a result of the flexibility of the requester having issued such request. Therefore, when referring herein to the flexibility of a request, it should be understood that such flexibility of a request likely, in actuality, corresponds to the flexibility of a requester.
- “flexibility of requests” as used herein is generally interchangeable with “flexibility of requesters.” That is, one may think of a request as being flexible (or multi-functional) in that the request is capable of being satisfied by any of a plurality of different resources, and similarly one may think of a requester that issues a request as being flexible (or multi-functional) in that the requester may is capable of being satisfied by any of a plurality of different resources responding to a request issued by such requester.
- a requester that issues a request as being flexible (or multi-functional) in that the requester may is capable of being satisfied by any of a plurality of different resources responding to a request issued by such requester.
- the resource management scheme of a most preferred embodiment is implemented to manage resources within a telephony call center.
- the resource management scheme of a most preferred embodiment is utilized to manage/allocate call center agents to service received callers to the telephony call center.
- a most preferred embodiment determines the flexibility of the callers, and utilizes such flexibility (if any) in effectively managing/allocating the available agents to service such callers.
- a resource management scheme is implemented within a telephony call center having English speaking agents, Spanish speaking agents, and French speaking agents to allocate appropriate agents to received callers.
- Such resources may be implemented within separate, homogeneous pools, i.e., an English speaking pool of resources, a Spanish speaking pool of resources, and a French speaking pool of resources.
- the resource management scheme may receive callers to the call center, determine the appropriate resource pool(s) for servicing the callers, and attempt to allocate an available one of the appropriate resources to service each caller. Callers may be received that are only capable of speaking a single language, such as English, Spanish, or French. In attempting to service such inflexible callers, the resource management scheme is limited to only selecting an available resource from one pool of resources (i.e., from the pool of resources having the same language skill as that possessed by the caller). However, other callers may be received that are capable and willing to be serviced by any agent of different pools.
- a caller that is capable of speaking both English and Spanish, may be capable and willing to be serviced by an available agent from either the English speaking pool of agents or the Spanish speaking pool of agents.
- the resource management scheme can more effectively and more efficiently manage its resources (e.g., agents).
- Such a resource management scheme of a most preferred embodiment is somewhat analogous to the allocation of tables (e.g., resources) within a restaurant to customers (e.g., requesters). For example, it may be ascertained by a restaurant employee whether a customer desires to be seated in a smoking section or a non-smoking section of the restaurant. If required to choose one or the other, then the potential flexibility of a customer is disregarded, and the customer is pigeon-holed into only one section, much like requests for resources in prior art resource allocation schemes, as described above. However, a flexible customer (e.g., one willing to be seated in either smoking or non-smoking sections of the restaurant) may be given the option of selecting the section that is “first available” to the customer. By doing so, the customer may be serviced in a much more efficient manner.
- tables e.g., resources
- customers e.g., requesters.
- a caller in a telephony call center, it may be ascertained whether a caller is capable and willing to speak in multiple languages, such as both English and Spanish, and a caller that is so capable and willing may be more efficiently serviced by allocating the “first available” of English and Spanish resources to service the caller.
- flexible requests need not be serviced only on a “first available” basis, but rather preferences of the requests and/or the resource manager may be considered in allocating resources to such flexible requests.
- a caller to a telephony call center that is capable and willing to be serviced by either an English speaking agent or a Spanish speaking agent may be satisfied by the first of the English and Spanish agents to become available, as described above.
- Such a flexible caller may prefer to be serviced by an English speaking agent.
- Such a preference of the flexible caller may be taken into account in allocating resources (e.g., agents) by, for example, first attempting to service the caller with an English speaking agent, and only allocating a Spanish speaking agent to the caller if an English speaking agent is not obtained within a particular amount of time (e.g., a “threshold” amount of time).
- a resource manager may desire to service a flexible caller with a particular resource. For instance, suppose a caller to a telephony call center is capable and willing to be serviced by either an English or Spanish speaking agent. A resource manager may prefer that the caller be serviced by a Spanish speaking agent. For instance, the telephony call center may be receiving a particularly high volume of callers requesting English speaking resources and particularly low volume of callers requesting Spanish speaking resources, and the resource manager may therefore desire to service the flexible caller with the less busy Spanish resources rather than adding a further request to the already busy English resources.
- Such a preference of the resource manager may be taken into account in allocating resources (e.g., agents) by, for example, first attempting to service the caller with a Spanish speaking agent, and only allocating an English speaking agent to the caller if a Spanish speaking agent is not obtained within a particular amount of time (e.g., a “threshold” amount of time).
- resources e.g., agents
- the invention as described herein is not intended to be limited to language-oriented resources and requests.
- the present invention is not intended to be limited to a telephony call center environment. Rather, such an environment is intended solely as an example that renders the disclosure enabling for many other environments in which a finite number of resources are managed to service flexible requests.
- the invention is intended to apply with equivalent enabling effect generally to allocating any type of resources to any type of flexible requests.
- the present invention is intended to be enabling on many types of flexible requests for resources, such as telephone callers with multi-lingual capability, or flexible requests for data elements in a database, or flexible requests for computer network resources, or flexible requests for telephony network resources, or even, for example, flexible requests made by mechanics sharing tools out of a unitary toolbox.
- the resource management scheme of the present invention is not intended to be limited solely to the exemplary telephony resources provided herein, but may be applied equally to various other types of resources.
- various types of flexible requests for computer resources may be received and utilized for better management of the computer resources in servicing requests.
- FIG. 1 illustrates serial, single-function requests of the prior art in which each single-function request is presented to a particular resource pool capable of satisfying such single-function request;
- FIG. 2 illustrates an exemplary implementation of a preferred embodiment utilizing flexible requests to provide improved management of resources for satisfying such requests
- FIG. 3 illustrates an exemplary implementation of a preferred embodiment in which each request's flexibility is identified
- FIG. 4 illustrates an exemplary structure for identifying requests' flexibility
- FIG. 5 illustrates an exemplary structure for identifying requests' flexibility and preferences
- FIG. 6 illustrates an exemplary structure for identifying requests' flexibility and preferences
- FIG. 7 illustrates an exemplary implementation of a preferred embodiment for allocating resources to a flexible request
- FIGS. 8A and 8B illustrate a further exemplary implementation of a preferred embodiment for allocating resources to flexible requests
- FIG. 9 illustrates an exemplary implementation of a preferred embodiment for allocating resources to flexible requests in accordance with the requests' preferences
- FIG. 10 illustrates an exemplary implementation of a preferred embodiment for allocating resources to flexible requests in accordance with the resource manager's preferences
- FIG. 11 illustrates an exemplary implementation of a preferred embodiment for allocating resources to flexible requests by balancing the requests' preferences and the resource manager's preferences
- FIG. 12 illustrates an exemplary implementation of a preferred embodiment for allocating multi-functional resources to flexible requests
- FIG. 13 illustrates a further exemplary implementation of a preferred; embodiment for allocating multi-functional resources to flexible requests
- FIG. 14 illustrates a further exemplary implementation of a preferred embodiment for allocating multi-functional resources to flexible requests.
- FIG. 15 illustrates an exemplary computer environment in which a resource management scheme of the present invention may be implemented to manage data storage resources to service data storage requests received from various types of devices.
- a most preferred embodiment of the present invention is implemented within a telephony call center for allocating resources of the call center (e.g., agents) to service requests (e.g., received calls).
- resources of the call center e.g., agents
- service requests e.g., received calls.
- a call center may be an inbound call center that primarily receives and services inbound calls, an outbound call center that primarily places outbound calls to provide a service, or a hybrid that services both inbound and outbound calls.
- the present invention has a much broader application than only within a call center. That is, the resource management scheme disclosed herein may be utilized for any type of system/environment in which it is desirable to allocate a limited number of resources to requests in order to service such requests.
- FIG. 2 an exemplary telephony call center implementation of a preferred embodiment of the present invention is shown. More specifically, an exemplary implementation for an ACD 200 is shown. As illustrated by FIG. 2 , a preferred implementation may utilize flexible/multi-functional requests to provide improved management of resources for satisfying such requests. As illustrated, pools of resources capable of servicing requests may be provided. More specifically, pool 202 of English speaking resources, pool 204 of Spanish speaking resources, and pool 206 of French speaking resources may be provided. Additionally, requests from callers (or “requesters”) 214 requesting a resource may be queued in queue 216 for Pool Control Logic 212 . Pool Control Logic 212 may receive each caller's request, and make a request for a resource to service each caller's request from resource pools 202 , 204 , and 206 .
- a request 214 may be for an agent or “resource” that speaks a specific language, such as English (E), French (F), or Spanish (S).
- Queue 216 may also contain requests from callers that are bilingual, speaking both English and Spanish (ES), both English and French (EF), or both French and Spanish (FS).
- Queue 216 may also contain requests from callers that are trilingual, speaking English, Spanish and French (ESF).
- Pool Control Logic 212 allocates each received request to the resource pools able to service the request.
- Pool Control Logic 212 may issue a request for a resource from English pool 202 to service an English speaking request, a request for a resource from Spanish pool 204 to service a Spanish speaking request, or a request for a resource from French pool 206 to service a French speaking request. Furthermore, Pool Control Logic 212 may make requests to multiple pools of resources in an attempt to service a flexible (e.g., multi-lingual) request. For example, Pool Control Logic 212 may make a request to both English pool 202 and Spanish pool 204 in an attempt to obtain an available resource to service a flexible request capable and willing to be serviced by either an English or Spanish resource.
- a flexible (e.g., multi-lingual) request e.g., multi-lingual) request. For example, Pool Control Logic 212 may make a request to both English pool 202 and Spanish pool 204 in an attempt to obtain an available resource to service a flexible request capable and willing to be serviced by either an English or Spanish resource.
- Such a resource management scheme of a most preferred embodiment is somewhat analogous to the allocation of tables (e.g., resources) within a restaurant to customers (e.g., requesters). For example, it may be ascertained by a restaurant employee whether a customer desires to be seated in a smoking section or a non-smoking section of the restaurant. If required to choose one or the other, then the potential flexibility of a customer is disregarded, and the customer is pigeon-holed into only one section, much like requests for resources in prior art resource allocation schemes, as described above. However, a flexible customer (e.g., one willing to be seated in either smoking or non-smoking sections of the restaurant) may be given the option of selecting the section that is “first available” to the customer. By doing so, the customer may be serviced in a much more efficient manner.
- tables e.g., resources
- customers e.g., requesters.
- each requester 214 may simply make a request for an appropriate resource to Pool Control Logic 212 , and Pool Control Logic 212 may then issue one or more requests to the pools of resources capable of servicing requests.
- Pool Control Logic 212 may issue requests to English pool 202 and Spanish pool 204 for a resource (e.g., agent) to service such caller.
- a resource e.g., agent
- the multiple requests issued by Pool Control Logic 212 may be transparent to the requester 214 . That is, the requester 214 may not be aware of the requests made to the pools of resources by Pool Control Logic 212 .
- Pool Control Logic 212 may accept requests from requesters 214 in a manner similar to Pool Control Logics of the prior art. That is, Pool Control Logic 212 may receive requests in sequence.
- Pool Control Logic 212 may utilize the flexibility/multi-functionality of requests in allocating resources to each request.
- flexible requests need not be serviced only on a “first available” basis, but rather preferences of the requests and/or the resource manager may be considered in allocating resources to such flexible requests.
- a caller to ACD system 200 of FIG. 2 that is capable and willing to be serviced by either an English speaking agent or a Spanish speaking agent may be satisfied by the first of the English and Spanish agents to become available, as described above.
- such a flexible caller may prefer to be serviced by an English speaking agent.
- Such a preference of the flexible caller may be taken into account in allocating resources (e.g., agents) by, for example, first attempting to service the caller with an English speaking agent, and only allocating a Spanish speaking agent to the caller if an English speaking agent is not obtained within a particular amount of time (e.g., a “threshold” amount of time). For instance, a request may initially be made by Pool Control Logic 212 only to English pool 202 in an attempt to obtain an English speaking agent to service the received caller, and if an English speaking agent is not obtained within one minute thereafter, then a request may be made to the Spanish pool 204 in an attempt to service the received caller with the first agent to become available from either the English pool 202 or Spanish pool 204 .
- resources e.g., agents
- a resource manager may desire to service a flexible caller with a particular resource. For instance, suppose a caller to ACD system 200 of FIG. 2 is capable and willing to be serviced by either an English or Spanish speaking agent. A resource manager may prefer that the caller be serviced by a Spanish speaking agent. For instance, the ACD system 200 may be receiving a particularly high volume of callers requesting English speaking resources and particularly low volume of callers requesting Spanish speaking resources, and the resource manager may therefore desire to service the flexible caller with the less busy Spanish resources rather than adding a further request to the already busy English resources.
- Such a preference of the resource manager may be taken into account in allocating resources (e.g., agents) by, for example, first attempting to service the caller with a Spanish speaking agent, and only allocating an English speaking agent to the caller if a Spanish speaking agent is not obtained within a particular amount of time (e.g., a “threshold” amount of time). For instance, a request may initially be made by Pool Control Logic 212 only to Spanish pool 204 in an attempt to obtain a Spanish speaking agent to service the received caller, and if a Spanish speaking agent is not obtained within one minute thereafter, then a request may be made to the English pool 202 in an attempt to service the received caller with the first agent to become available from either the English pool 202 or Spanish pool 204 .
- resources e.g., agents
- Pool Control Logic 212 of FIG. 2 may embody a sophisticated automated banking system comprising several different pools of text-to-speech (TTS) resources (e.g., TTS converters) available to callers, including pool 202 of English TTS resources, pool 204 of Spanish TTS resources, and pool 206 of French TTS resources.
- TTS text-to-speech
- a request for a French TTS resource may only be satisfied by a pool or pools of TTS resources capable of speaking French (e.g., Pool 206 of FIG. 2 ).
- a request for a Spanish TTS resource may only be satisfied by a pool or pools of TTS resources capable of speaking Spanish (e.g., Pool 204 of FIG. 2 ).
- English TTS requests may only be satisfied by a pool or pools of TTS resources capable of speaking English (e.g., Pool 202 of FIG. 2 ).
- a preferred embodiment enables simultaneous requests to be made to each pool of resources capable of servicing such a caller.
- simultaneous requests may be issued by Pool Control Logic 212 to pool(s) of resources capable of servicing the request in English and to pool(s) of resources capable of servicing the request in Spanish.
- the pending requests may be maintained concurrently for each pool capable of satisfying the flexible request.
- the remaining concurrently pending requests are removed from the respective queues, and the resource ID from the “winning pool” is sent to the requesting process (i.e., to service the flexible request).
- requests may be issued in a manner that accounts for the preferences of a flexible requester. For example, a request may first be issued to pool(s) of resources most preferred by a requester. If after a determined period of time the request remains unsatisfied, a request may be issued to less preferable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made. Further, if after a second determined period of time the request remains unsatisfied, a request may be issued to still less preferable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made.
- a request may be issued to least preferable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made, and so on.
- the remaining concurrently pending requests are removed, and the resource ID from the “winning pool” is sent to the requesting process (i.e., to service the flexible request).
- a flexible caller to ACD system 200 of FIG. 2 may speak English, Spanish and French. However, the caller may prefer to speak English. The caller's second, less preferred language may be Spanish, and the caller's third, least preferred language may be French.
- the Pool Control Logic 212 may first attempt to service the caller's request with an English speaking resource by making a request to English Pool 202 . If after a determined period of time an English speaking resource from pool 202 is not obtained to service the flexible caller, the Pool Control Logic 212 may issue a request to pool 204 for a Spanish speaking resource. Assuming that a Spanish speaking resource is not immediately available, the Spanish request to pool 204 may remain pending concurrently with the English request to pool 202 for the flexible caller.
- the Pool Control Logic 212 may issue a request to pool 206 for a French speaking resource. Assuming that a French speaking resource is not immediately available, the French request to pool 206 may remain pending concurrently with the English and Spanish requests (i.e., to pools 202 and 204 , respectively) for the flexible caller. Thereafter, the first resource from pools 202 , 204 , and 206 to become available is assigned to service the flexible caller, and the remaining requests pending for the flexible caller (i.e., the requests for the other pools of resources) will be removed.
- a flexible requester's preferences may be taken into account by prioritizing certain types of resources over others through the use of a time sequence (or “cascade”) of requests to the appropriate resources. Utilizing such a time sequence (or “cascade”) approach to prioritize requests, a flexible requester's preferences may be taken into account while still attempting to satisfy the flexible requester in a timely fashion. Thus, the somewhat conflicting goals of satisfying a requester quickly and satisfying a requester in a manner preferred by the requester may be balanced by the cascade approach. Such an embodiment that is capable of taking into account a flexible requester's preferences will be discussed in greater detail hereafter.
- resources may be managed to service a flexible request in a manner that accounts for the resource manager's preferences, rather than the flexible requester's preferences. For example, a request may first be issued to less scarce/less valuable pool(s) of resources. If after a determined period of time the request remains unsatisfied, a request may be issued to more scarce/more valuable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made. Further, if after a second determined period of time the request remains unsatisfied, a request may be issued to still more scarce/more valuable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made.
- a request may be issued to most scarce/most valuable pool(s) of resources, and the pending requests may be maintained concurrently for each pool of resources for which a request has been made, and so on.
- the remaining concurrently pending requests are removed, and the resource ID from the “winning pool” is sent to the requesting process (i.e., to service the flexible request).
- a manager of the ACD may desire to first attempt to service a flexible/multi-functional request with a less scarce resource to save more scarce resources.
- ACD 200 receives a flexible caller that is capable of speaking English, Spanish, and French.
- Pool Control Logic 212 may attempt to first service the flexible caller's request by issuing a request to English pool 202 because that pool has the most resources that are capable of servicing the flexible caller. Assuming that a resource is not immediately available from English pool 202 , the request may be queued for pool 202 .
- a request may be issued to Spanish pool 204 because that pool has the second most resources that are capable of servicing the flexible caller, and the pending requests for pools 202 and 204 may be maintained concurrently. If after a second determined period of time neither an English speaking resource from pool 202 nor a Spanish speaking resource from pool 204 is obtained to service the flexible caller, a request may be issued to French pool 206 because that pool has the least number of resources that are capable of servicing the flexible caller, and the pending requests for pools 202 , 204 and 206 may be maintained concurrently. When one of the pools produces an available resource for servicing the flexible caller, the remaining concurrently pending requests are removed, and the resource ID from the “winning pool” is sent to the requesting process (i.e., to service the flexible caller).
- a time sequence (or “cascade”) may be utilized to prioritize requests issued to resources that are capable of servicing a flexible request in a manner that achieves optimum use of the resources.
- a time sequence or “cascade”
- a resource manager's preferences may be taken into account while still attempting to satisfy the flexible requester in a timely fashion.
- the somewhat conflicting goals of satisfying a requester quickly and satisfying a requester in a manner preferred by the resource manager may be balanced by the cascade approach.
- the flexibility or multi-functionality of requests may be utilized to achieve optimum use of the resources.
- the provider or manager of the resources may take advantage of a request's flexibility to optimize the efficiency and use of the resources.
- Such an embodiment that is capable of taking into account a system's or resource manager's preferences will be discussed in greater detail hereafter.
- the preferences of a flexible requester and the preferences of a resource manager may both be utilized and taken into account to a certain degree.
- the preferences of a flexible requester and the preferences of a resource manager may be balanced when allocating resources to service such a flexible requester.
- a time sequence (or “cascade”) may be utilized to prioritize requests in a manner that balances the preferences of a flexible requester and the preferences of a resource manager. Utilizing such a time sequence (or “cascade”) approach to prioritize requests, both a flexible requester's and resource manager's preferences may be taken into account while still attempting to satisfy the requester in a timely fashion.
- the somewhat conflicting goals of satisfying a flexible requester quickly, satisfying a flexible requester in a manner preferred by the requester, and satisfying a flexible requester in a manner preferred by a resource manager may be balanced by the cascade approach.
- the flexibility or multi-functionality of requesters may be utilized to achieve a balanced use of the resources.
- the preferences of a requester may be considered when utilization of the resources is not strained, for example. For instance, when the call volume to ACD system 200 of FIG. 2 is relatively low, the preferences of flexible callers may be considered in allocating agents to service such flexible callers.
- the preferences of flexible callers may be disregarded and the preferences of the resource manager may instead be considered to enable more efficient overall operation of ACD system 200 during such high call volume.
- Such an embodiment that is capable of taking into account both a requester's preferences and a resource manager's preferences will be discussed in greater detail hereafter.
- a preferred embodiment utilizes the flexibility of requests to effectively manage resources to service such flexible requests.
- the flexibility of requests need to be determined and/or identified.
- FIG. 3 one method of determining the flexibility of a request and identifying or labeling the flexibility of a request is illustrated.
- Pool Control Logic 212 receives requests 214 which are queued in Queue 216 .
- the flexibility/functionality of such request may be determined.
- Such flexibility/functionality of a request may be determined by interacting with a requester. For example, in an ACD environment the ACD may interact with a caller by asking the caller questions and receiving responses from the caller.
- a user may press telephone keys and the ACD may recognize the corresponding Dual Tone MultiFrequency (“DTMF”) signals, or a user may speak responses or commands to the ACD and the ACD may utilize voice recognition technology to interpret the spoken responses.
- DTMF Dual Tone MultiFrequency
- a request may be obtained from a profile maintained for the requester. For example, utilizing the previous bank example, the bank may have a profile for its customers that provides the bank's system with information about each customer's flexibility/functionality and possibly each customer's preferences. Alternatively, other methods may be utilized for receiving a requester's flexibility/functionality capabilities and a requester's preferences, and any method suitable for receiving such information is intended to be within the scope of the present invention.
- Pool Control Logic 212 may identify each request's flexibility/functionality, as illustrated by block 350 in FIG. 3 .
- Block 350 of FIG. 3 may be a file, database, table, data structure, or other type of structure for relating a request's flexibility/functionality with the request.
- Pool Control Logic 212 may receive request R 1 . After determining that request R 1 is capable of speaking both English and Spanish, Pool Control Logic 212 may identify or label request R 1 appropriately (e.g., “ES”), as shown in block 350 .
- Pool Control Logic 212 may utilize such identification or label to effectively service request R 1 .
- Pool Control Logic 212 may make requests for a resource from both English pool 202 and Spanish pool 204 in an attempt to satisfy request R 1 in a quick and efficient manner. That is, Pool Control Logic 212 may attempt to satisfy request R 1 with the first available resource from pools 202 and 204 , as described above.
- Pool Control Logic 212 may receive request R 2 and determine that request R 2 is capable of speaking only Spanish. Thus, Pool Control Logic 212 may identify or label request R 2 appropriately (e.g., “S”), as shown in block 350 . Also, Pool Control Logic 212 may receive request R 3 and determine that request R 3 is capable of speaking only French. Thus, Pool Control Logic 212 may identify or label request R 3 appropriately (e.g., “F”), as shown in block 350 . Additionally, Pool Control Logic 212 may receive request R 4 and determine that request R 4 is capable of speaking both English and French.
- Pool Control Logic 212 may identify or label request R 4 appropriately (e.g., “EF”), as shown in block 350 . Further, Pool Control Logic 212 may receive request R 5 and determine that request R 5 is capable of speaking only English. Thus, Pool Control Logic 212 may identify or label request R 5 appropriately (e.g., “E”), as shown in block 350 . Utilizing the identification or label information for each request, Pool Control Logic 212 may allocate resources in a desirable manner to service the received requests.
- EF e.g., “EF”
- Pool Control Logic 212 may identify or label request R 4 appropriately (e.g., “EF”), as shown in block 350 . Further, Pool Control Logic 212 may receive request R 5 and determine that request R 5 is capable of speaking only English. Thus, Pool Control Logic 212 may identify or label request R 5 appropriately (e.g., “E”), as shown in block 350 . Utilizing the identification or label information for each request, Pool Control Logic 212 may allocate resources in a desirable manner to service the
- block 350 may be a table that identifies each request and their corresponding flexibility/functionality.
- request R 1 may have a “Y” (e.g., “Yes”) corresponding to English and Spanish and a “N” (e.g., “No”) corresponding to French, indicating that requester R 1 is capable of speaking both English and Spanish but not French.
- Request R 2 may have a “Y” corresponding to Spanish and a “N” corresponding to both English and French, indicating that requester R 2 is capable of only speaking Spanish.
- Request R 3 may have a “Y” corresponding to French and a “N” corresponding to both English and Spanish, indicating that requester R 3 is capable of only speaking French.
- Request R 4 may have a “Y” corresponding to both English and French and a “N” corresponding to Spanish, indicating that requester R 4 is capable of speaking both English and French but not Spanish.
- request R 5 may have a “Y” corresponding to both English and French and a “N” corresponding to Spanish, indicating that requester R 5 is capable of speaking both English and French but not Spanish.
- request R 6 may have a “Y” corresponding to English, Spanish and French, indicating that requester R 6 is capable of speaking all three languages. It should be understood that a structure other than a table may be utilized to relate a request's flexibility/functionality with the request, including a file, database, data structure, or other type of structure.
- a request may be flexible but have a preference as to the type of resource desired. For example, as described above, a requester may speak both English and Spanish, but prefer to speak English.
- Pool Control Logic 212 may utilize a flexible request's preferences to attempt to satisfy the request with a preferred resource, while still attempting to satisfy the request in a timely manner.
- FIG. 5 an exemplary table 350 that may be utilized by Pool Control Logic 212 for identifying the flexibility and preferences of each request is shown. For example, a request R 1 may be received which is capable of speaking both English and Spanish. Additionally, request R 1 may prefer to speak English over Spanish. Pool Control Logic 212 may identify the flexibility/functionality and preferences of request R 1 as shown in FIG.
- Pool Control Logic 212 may identify request R 1 as preferring to speak English by providing a “I” for English in table 350 , and as also being capable of speaking Spanish by providing a “2” for Spanish in table 350 , corresponding respectively to request R 1 .
- the functional capability of request R 1 may be numbered sequentially from most preferred to least preferred.
- requests R 2 and R 3 may only speak Spanish and French, respectively.
- Pool Control Logic 212 may identify those requests' flexibility/functionality in table 350 by providing a “1” in the appropriate column for each request.
- Request R 4 may speak both English and French, but prefer to speak French. Accordingly, Pool Control Logic 212 may identify request R 4 as preferring to speak French by providing a “1” for French in table 350 , and as also being capable of speaking English by providing a “2” for English in table 350 , corresponding respectively to request R 4 .
- request R 5 may speak both English and French and may have no preference between those languages. That is, request R 5 may not prefer one language (English or French) over the other.
- Pool Control Logic 212 may identify the request's flexibility/functionality and preference (or lack thereof) by providing a “1” for both English and French in table 350 corresponding to request R 5 . Thus, Pool Control Logic 212 may determine from table 350 that request R 5 is capable of speaking both English and French and does not prefer one language over the other. Taking this example a step further, suppose that request R 6 is capable of speaking English, French and Spanish. Further suppose that request R 6 prefers to speak English or French over Spanish, but does not have a preference between English and French.
- Pool Control Logic 212 may identify such flexibility/functionality and preference by providing a “1” for both English and French in table 350 , corresponding to request R 6 . Pool Control Logic 212 may further identify the flexibility/functionality and preference of request R 6 by providing a “2” for Spanish in table 350 , corresponding to request R 6 .
- Methods other than that shown and described in conjunction with FIG. 5 may be implemented to indicate a request's flexibility/functionality and preferences. That is, a method other than sequentially numbering the functional capabilities of a request from most preferred to least preferred may be implemented, and any such implementation is intended to be within the scope of the present invention.
- a requester's preferences may be identified as a particular time delay for each request.
- FIG. 6 an example of this alternative method for identifying requests' preferences is shown. For example, a request R 1 may be received which is capable of speaking both English and Spanish. Additionally, request R 1 may prefer to speak English over Spanish. Pool Control Logic 212 may identify the flexibility/functionality and preferences of request R 1 as shown in FIG. 6 .
- Pool Control Logic 212 may identify request R 1 as preferring to speak English by providing a 0 time delay for English in table 350 , and as also being capable of speaking Spanish by providing a 30 second time delay for Spanish in table 350 , corresponding respectively to request R 1 .
- requests R 2 and R 3 may only speak Spanish and French, respectively.
- Pool Control Logic 212 may identify those requests' flexibility/functionality in table 350 by providing a 0 time delay in the appropriate column for each request.
- Request R 4 may speak both English and French, but prefer to speak French. Accordingly, Pool Control Logic 212 may identify request R 4 as preferring to speak French by providing a 0 time delay for French in table 350 , and as also being capable of speaking English by providing a 30 second time delay for English in table 350 , corresponding respectively to request R 4 .
- request R 5 may speak both English and French and may have no preference between those languages. That is, request R 5 may not prefer one language (English or French) over the other.
- Pool Control Logic 212 may identify the request's flexibility/functionality and preference (or lack thereof) by providing a 0 time delay for both English and French in table 350 corresponding to request R 5 . Thus, Pool Control Logic 212 may determine from table 350 that request R 5 is capable of speaking both English and French and does not prefer one language over the other. Taking this example a step further, suppose that request R 6 is capable of speaking English, French and Spanish. Further suppose that request R 6 prefers to speak English or French over Spanish, but does not have a preference between English and French.
- Pool Control Logic 212 may identify such flexibility/functionality and preference by providing a 0 time delay for both English and French in table 350 , corresponding to request R 6 . Pool Control Logic 212 may further identify the flexibility/functionality and preference of request R 6 by providing a 30 second time delay for Spanish in table 350 , corresponding to request R 6 .
- a request “ESF” may be received from a flexible caller capable of speaking English, Spanish, and French.
- Pool Control Logic 212 determines that the caller is capable of speaking English, Spanish, and French, and then issues the appropriate requests to resource pools 202 , 204 , and 206 that are capable of servicing the request. Delays D 1 , D 2 and D 3 may be utilized by Pool Control Logic 212 to further control how resources are allocated in response to the request's flexibility/functionality, preferences, and/or each resource's scarcity/value.
- delays D 1 , D 2 and D 3 may each be “0,” such that there is no delay before issuing each request R 1 , R 2 and R 3 in an attempt to obtain a resource for servicing the flexible caller ESF.
- requests R 1 , R 2 and R 3 may be issued simultaneously and immediately in an attempt to obtain a resource capable of servicing flexible request ESF.
- a resource Once a resource is obtained for either request R 1 , R 2 or R 3 , such resource may be allocated to service flexible caller ESF and the remaining pending requests are removed.
- delay D 1 may have value “0,” such that a request R 1 is immediately made to English pool 202 for a preferred English speaking resource. Assuming that a resource is not immediately available to satisfy the request, the request may be queued in queue 222 for English pool 202 . If after a determined time delay (D 2 ) a resource has not been obtained to service flexible caller ESF, request R 2 may be issued to Spanish pool 204 for a less preferred Spanish speaking resource.
- request R 3 may be issued to French pool 206 for a least preferred French speaking resource. Assuming that a resource is not immediately available to satisfy request R 3 , it may be queued in queue 226 for French pool 206 and remain pending concurrently with requests R 1 and R 2 . Thereafter, the first pool to produce an available resource capable of servicing flexible request ESF will be assigned to such flexible request ESF, and all of the other pending requests for request ESF will be removed. Accordingly, the delays D 1 , D 2 and D 3 may be utilized to prioritize requests in accordance with a flexible requester's preference.
- one or more of delays D 1 , D 2 and D 3 may be used to prioritize the requests in accordance with a resource manager's preferences. That is, one or more of delays D 1 , D 2 and D 3 may be implemented in a manner that first attempts to service the flexible caller ESF with less scarce/less valuable resources from pools 202 , 204 and 206 , before utilizing more scarce resources. For example, suppose English pool 202 has 10 resources, Spanish pool 204 has 5 resources, and French pool 206 has 2 resources. Pool Control Logic 212 may first attempt to service flexible request ESF with a resource from English pool 202 because that pool has the most resources that are capable of servicing the flexible request. Thus, delay D, may have value “0” to allow request R 1 to be immediately issued to pool 202 . Assuming that a resource is not immediately available to service the request, the request may be queued in queue 222 for English pool 202 .
- request R 2 may be issued to Spanish pool 204 for a more scarce/valuable Spanish speaking resource. Assuming that a Spanish speaking resource is not immediately available to service request R 2 , it may be queued in queue 224 for Spanish pool 204 and remain pending concurrently with request R 1 . If after a further determined time delay (D 3 ) the flexible caller ESF is still not serviced, request R 3 may be issued to French pool 206 for a more scarce/valuable French speaking resource.
- a French speaking resource Assuming that a French speaking resource is not immediately available to service request R 3 , it may be queued in queue 226 for French pool 206 and remain pending concurrently with requests R 1 and R 2 . Thereafter, the first pool to produce an available resource capable of servicing flexible request ESF will be assigned to such flexible request ESF, and all of the other pending requests for flexible caller ESF will be removed.
- One method of balancing the requester's preferences and the resource manager's preferences is to assign a percentage of consideration or weight to be given the flexible requester's preferences and the resource manager's preferences and calculate the time delays D 1 , D 2 and D 3 accordingly. For example, suppose that the flexible requester's and resource manager's preferences are to be balanced equally (e.g., 50% each).
- a 30 second delay may be utilized before issuing a request to pool 206 for a French speaking resource.
- the formula used to calculate each delay in the above example compromises between the delays desired by the flexible requester and the delays desired by the resource manager.
- Other formulas or methods may be utilized to balance between the preferences of the requester and the resource manager, and any suitable formulas or methods are intended to be within the scope of the present invention.
- a formula may be utilized that always enables a request to be immediately made for some resource pool (i.e., always results in at least one of delays D 1 , D 2 , and D 3 being 0), rather than potentially delaying all requests.
- FIGS. 8A and 8B a further example is shown of a preferred embodiment implemented in an ACD 200 .
- requests may be received and queued for Pool Control Logic 212 in queue 216 .
- request ES from a flexible requester capable of speaking both English and Spanish may be received.
- Pool Control Logic 212 may issue requests R 1 and R 2 simultaneously in an attempt to obtain a resource from English pool 202 or Spanish pool 204 to service request ES. If a resource is not immediately available from either of pools 202 or 204 , a request for flexible caller ES may be queued in queues 222 and 224 , as shown in FIG. 8 A.
- Pool Control Logic 212 may then receive inflexible request S capable of speaking only Spanish. In response, Pool Control Logic 212 may issue request R 3 to Spanish pool 204 in an attempt to obtain a resource capable of servicing inflexible request S. If a resource is not immediately available from pool 204 , a request for inflexible caller S may be queued behind the pending request for caller ES in queue 224 , as shown in FIG. 8 A. Pool Control Logic may then receive inflexible request F capable of speaking only French. In response, Pool Control Logic 212 may issue request R 4 to French pool 206 in an attempt to obtain a resource capable of servicing inflexible request F. If a resource is not immediately available from pool 206 , a request for inflexible caller F may be queued in queue 226 , as shown in FIG. 8 A.
- Pool Control Logic 212 may then receive flexible request EF from a requester capable of speaking both English and French. In response, Pool Control Logic 212 may issue requests R 5 and R 6 simultaneously in an attempt to obtain a resource from English pool 202 or French pool 206 to service flexible request EF. If a resource is not immediately available from either of pools 202 or 206 , a request for flexible caller EF may be queued in queues 222 and 226 , as shown in FIG. 8 A. Pool Control Logic 212 may then receive inflexible request E from a requester capable of speaking only English. In response, Pool Control Logic 212 may issue request R 7 to English pool 202 in an attempt to obtain a resource capable of servicing inflexible request E.
- a request for inflexible caller E may be queued in queue 222 , as shown in FIG. 8 A.
- Pool Control Logic 212 may then receive flexible request ESF from a requester capable of speaking English, Spanish and French. In response, Pool Control Logic 212 may issue requests R 8 , R 9 and R 10 simultaneously in an attempt to obtain a resource from English pool 202 , Spanish pool 204 or French pool 206 to service flexible request ESF. If a resource is not immediately available from either of pools 202 , 204 , or 206 , a request for flexible caller ESF may be queued in queues 222 , 224 , and 226 , as shown in FIG. 8 A.
- Pool Control Logic 212 may then receive flexible request FS from a requester capable of speaking both French and Spanish. In response, Pool Control Logic 212 may issue requests R 11 , and R 12 simultaneously in an attempt to obtain a resource from Spanish pool 204 or French pool 206 to service flexible request FS. If a resource is not immediately available from either of pools 204 or 206 , a request for flexible caller FS may be queued in queues 224 and 226 , as shown in FIG. 8 A.
- a resource begins to service such request and all concurrently pending requests corresponding thereto are removed from the queues. For instance, suppose that once all of the requests described in the above example are received and are pending in queues 222 , 224 , and 226 as shown in FIG. 8A that an English resource becomes available from pool 202 . Such available English resource would preferably service the longest pending request from queue 222 , which in the example of FIG. 8A is an ES request (i.e., the ES request that was placed into queue 222 from request R 1 ).
- FIG. 9 a further example is illustrated for a preferred embodiment implemented in an ACD 200 , in which requests are issued in accordance with flexible requesters' preferences.
- requests may be received and queued for Pool Control Logic 212 in queue 216 .
- Pool Control Logic 212 may access table 350 that contains the multi-flexibility/functionality and preferences for each request.
- Pool Control Logic 212 may receive request C, from a caller.
- Pool Control Logic 212 may access table 350 and determine that caller C 1 speaks both English and Spanish, but prefers to speak English.
- Pool Control Logic 212 may immediately issue a request R 1 to English pool 202 in an attempt to obtain a preferred resource to service request C 1 .
- request R 1 for caller C may be queued in queue 222 for English pool 202 . If after a determined time delay D 1 the request R 1 has not been serviced, Pool Control Logic 212 may issue request R 2 to Spanish pool 204 in an attempt to obtain a less preferred resource to service caller C 1 . If a resource is not immediately available from Spanish pool 204 , request R 2 for caller C 1 may be queued in queue 224 for Spanish pool 204 and remain pending concurrently with request R 1 for caller C 1 . The first resource to become available from either English pool 202 or Spanish pool 204 may be assigned to service caller C 1 and the remaining pending request for caller C 1 will be removed.
- Pool Control Logic 212 may then receive request C 2 from a caller. Pool Control Logic 212 may access table 350 and determine that caller C 2 speaks only Spanish. In response, Pool Control Logic 212 may immediately issue a request R 3 to Spanish pool 204 in an attempt to obtain a resource to service inflexible request C 2 . If a resource is not immediately available from Spanish pool 204 , request R 3 for caller C 2 may be queued in queue 224 for Spanish pool 204 . When a resource becomes available from Spanish pool 204 to service caller C 2 , it may be assigned to service caller C 2 .
- Pool Control Logic 212 may then receive request C 3 from a caller. Pool Control Logic 212 may access table 350 and determine that caller C 3 speaks only French. In response, Pool Control Logic 212 may immediately issue a request R 4 to French pool 206 in an attempt to obtain a resource to service inflexible request C 3 . If a resource is not immediately available from French pool 206 , request R 4 for caller C 3 may be queued in queue 226 for French pool 206 . When a resource becomes available from French pool 206 to service inflexible caller C 3 , it may be assigned to caller C 3 .
- Pool Control Logic 212 may then receive request C 4 from a caller. Pool Control Logic 212 may access table 350 and determine that caller C 4 speaks both English and French, but prefers to speak French. In response, Pool Control Logic 212 may immediately issue a request R 5 to French pool 206 in an attempt to obtain a preferred resource to service flexible request C 4 . If a resource is not immediately available from French pool 206 , request R 5 for caller C 4 may be queued in queue 226 for French pool 206 . If after a determined time delay D 2 the request R 5 has not been serviced, Pool Control Logic 212 may issue request R 6 to English pool 202 in an attempt to obtain a less preferred resource to service flexible caller C 4 .
- request R 6 for caller C 4 may be queued in queue 222 for English pool 202 and remain pending concurrently with request R 5 for caller C 4 .
- request R 6 for caller C 4 may be queued in queue 222 for English pool 202 and remain pending concurrently with request R 5 for caller C 4 .
- Pool Control Logic 212 may then receive request C 5 from a caller. Pool Control Logic 212 may access table 350 and determine that caller C 5 speaks both English and Spanish, and has no preference between the two languages. In response, Pool Control Logic 212 may immediately issue requests R 7 and R 8 respectively to English pool 202 and French pool 206 in an attempt to obtain a resource to service flexible request C 5 . If a resource is not immediately available from either pool 202 or 206 , requests R 7 and R 8 for caller C 5 may be queued respectively in queues 222 and 226 and remain concurrently pending. When a resource becomes available from either English pool 202 or French pool 206 to service caller C 5 , it may be assigned to flexible caller C 5 and the remaining pending request for caller C 5 will be removed.
- Pool Control Logic 212 may then receive request C 6 from a caller. Pool Control Logic 212 may access table 350 and determine that caller C 6 speaks English, Spanish and French. Pool Control Logic 212 may further determine from table 350 that caller C 6 prefers to speak English and French over Spanish, and has no preference as to English and French. In response, Pool Control Logic 212 may immediately issue requests R 9 and R 10 respectively to English pool 202 and French pool 206 in an attempt to obtain a preferred resource to service flexible request C 6 . If a resource is not immediately available from pool 202 or pool 206 , requests R 9 and R 10 for caller C 6 may be queued respectively in queues 222 and 226 .
- Pool Control Logic 212 may issue request R 11 to Spanish pool 204 in an attempt to obtain a less preferred resource to service caller C 6 . If a resource is not immediately available from Spanish pool 204 , request R 11 for caller C 6 may be queued in queue 224 for Spanish pool 204 and remain pending concurrently with requests R 9 and R 10 for caller C 6 . When a resource becomes available from either English pool 202 , Spanish pool 204 or French pool 206 to service caller C 6 , it may be assigned to caller C 6 and the remaining pending requests for caller C 6 will be removed.
- FIG. 10 another example of a preferred embodiment implemented in an ACD 200 is illustrated, in which resources are managed in accordance with a resource manager's preferences.
- requests for service by a resource may be received and queued for Pool Control Logic 212 in queue 216 .
- resources 242 , 244 and 246 exist in pools 202 , 204 and 206 , respectively.
- 6 resources 242 may exist in English pool 202
- 3 resources 244 may exist in Spanish pool 204
- 1 resource 246 may exist in French pool 206 .
- Pool Control Logic 212 may receive flexible request ES from a requester capable of speaking both English and Spanish.
- Pool Control Logic 212 may immediately make a request R 1 to English pool 202 because English pool 202 is the pool with the most resources capable of servicing request ES. If an English resource 242 is not immediately available, the request may be queued in queue 222 for English pool 202 . If after a determined time delay D 1 the caller ES is not serviced, Pool Control Logic 212 may issue request R 2 for a more scarce resource 244 from Spanish pool 204 . If a resource 244 is not immediately available from Spanish pool 204 , the request may be queued in queue 224 and remain pending concurrently with the request for English pool 202 . When a resource becomes available from one of the pools 202 or 204 , that resource may be assigned to service caller ES and the remaining pending request will be removed.
- Pool Control Logic 212 may then receive request S from a requester capable of speaking only Spanish. In response, Pool Control Logic 212 may immediately make a request R 3 to Spanish pool 204 to attempt to obtain a resource 244 capable of servicing inflexible request S. If a Spanish resource 244 is not immediately available, the request R 3 may be queued in queue 224 for Spanish pool 204 . When a resource becomes available from Spanish pool 204 to service request S, that resource may be assigned to request S.
- Pool Control Logic 212 may then receive request F from a requester capable of speaking only French. In response, Pool Control Logic 212 may immediately make a request R 4 to French pool 206 to attempt to obtain a resource 246 capable of servicing inflexible request F. If a French resource 246 is not immediately available, the request R 4 may be queued in queue 226 for French pool 206 . When a resource becomes available from French pool 206 to service request F, that resource may be assigned to request F.
- Pool Control Logic 212 may then receive flexible request EF from a requester capable of speaking both English and French. In response, Pool Control Logic 212 may immediately make a request R 5 to English pool 202 because English pool 202 is the pool with the most resources capable of servicing request EF. If an English resource 242 is not immediately available, the request R 5 may be queued in queue 222 for English pool 202 . If after a determined time delay D 2 the flexible caller EF remains unsatisfied, Pool Control Logic 212 may issue request R 6 for a more scarce resource 246 from French pool 206 . If a resource 246 is not immediately available from French pool 206 , the request R 6 may be queued in queue 226 and remain pending concurrently with the request for English pool 202 . When a resource becomes available from one of the pools 202 or 206 to service flexible caller EF, the available resource may be assigned to flexible caller EF and the remaining pending request will be removed.
- Pool Control Logic 212 may then receive request E from a requester capable of speaking only English. In response, Pool Control Logic 212 may immediately make a request R 7 to English pool 202 to attempt to obtain a resource 242 capable of servicing inflexible request E. If an English resource 242 is not immediately available, the request may be queued in queue 222 for English pool 202 . When a resource becomes available from English pool 202 to service request E, that resource may be assigned to request E.
- Pool Control Logic 212 may then receive request ESF from a flexible requester capable of speaking English, Spanish and French. In response, Pool Control Logic 212 may immediately make a request R 8 to English pool 202 because English pool 202 is the pool with the most resources capable of servicing request ESF. If an English resource 242 is not immediately available, the request R 8 may be queued in queue 222 for English pool 202 . If after a determined time delay D 3 the flexible caller ESF has not been serviced, Pool Control Logic 212 may issue request R 9 for a more scarce resource 244 from Spanish pool 204 . If a resource 244 is not immediately available from Spanish pool 204 , the request R 8 may be queued in queue 224 and remain pending concurrently with request R 8 for English pool 202 .
- Pool Control Logic 212 may issue request R 10 for an even more scarce resource 246 from French pool 206 . If a resource 246 is not immediately available from French pool 206 , the request R 10 may be queued in queue 226 and remain pending concurrently with requests R 8 and R 9 . When a resource becomes available from one of the pools 202 , 204 or 206 to service flexible caller ESF, the available resource may be assigned to service flexible caller ESF and the remaining pending requests will be removed.
- Pool Control Logic 212 may then receive request FS from a flexible requester capable of speaking both Spanish and French. In response, Pool Control Logic 212 may immediately make a request R 11 to Spanish pool 204 because Spanish pool 204 is the pool with the most resources capable of servicing request FS. If a Spanish resource 244 is not immediately available, the request R 11 may be queued in queue 224 for Spanish pool 204 . If after a determined time delay D 5 the flexible caller FS is not serviced, Pool Control Logic 212 may issue request R 11 for a more scarce resource 246 from French pool 206 . If a resource 246 is not immediately available from French pool 206 , the request R 12 may be queued in queue 226 and remain pending concurrently with request R 11 . When a resource becomes available from one of the pools 204 or 206 to service request FS, the available resource may be assigned to service flexible caller FS and the remaining pending request will be removed.
- FIG. 11 another example of a preferred embodiment implemented in an ACD 200 is illustrated, in which flexible requests' preferences and the resource manager's preferences are balanced.
- requests for service by a resource may be received and queued for Pool Control Logic 212 in queue 216 .
- resources 242 , 244 and 246 may exist in pools 202 , 204 and 206 , respectively.
- Table 350 may identify each request's flexibility/functionality and preferences as delays. As discussed previously, other methods may be utilized to identify each request's flexibility/functionality and preferences.
- table 280 may represent the resource manager's preferences.
- pool Control Logic 212 may access table 350 and determine that caller C, can speak English, Spanish and French. Pool Control Logic 212 may further determine based on the delay values provided in table 350 that flexible caller C 1 prefers to speak English over Spanish and French, and prefers to speak Spanish over French.
- One method for balancing a request's preferences with the resource manager's preferences is by summing a percentage of the delay that each desires. The percentages may be thought of as the weight or amount of consideration to be given to each preference.
- Such percentages may be illustrated as a sliding scale 290 .
- scale 290 illustrates, on one end of the scale only the resource manager's preferences are considered (e.g., resource manager's preferences weighted 100% and request's preferences weighted 0%). On the opposite end of the scale only the request's preferences are considered (e.g., resource manager's preferences weighted 0% and request's preferences weighted 100%). In the middle of the scale the competing preferences are weighted equally (e.g., resource manager's preferences weighted 50% and request's preferences weighted 50%).
- a scale (or other interactive structure) may be provided to a user to allow a user to interact with the system and set the desired percentages.
- the percentages may be predetermined by a user, the Pool Control Logic 212 or the resource pools. Alternatively, the percentages may be determined in real-time by the Pool Control Logic 212 or resource pools. Continuing with the ACD example, the Pool Control Logic 212 or resource pools may adjust the percentages to give more weight to flexible requester's preferences when call volume is low, and the Pool Control Logic 212 or resource pools may adjust the percentages to give more weight to the resource manager's preferences as the call volume increases.
- caller C 1 's preferences and the resource manager's preferences are identical. That is, both the requester C 1 and the resource manager prefer English, then Spanish, and then French. As a result, when balancing the preferences, requests are issued in a manner desired by both the requester and the resource manager (e.g., first to English pool 202 , then to Spanish pool 204 , and then to French pool 206 ).
- requests are issued in a manner that compromises between the delays desired by the requester and those desired by the resource manager (e.g., a 15 second delay is imposed before issuing a request to English pool 202 and a 30 second delay is imposed before issuing a request to French pool 206 ).
- the requester C 4 prefers French first, then Spanish, then English, and the resource manager prefers to utilize English resources first, then Spanish, then French.
- requests are issued in a manner that compromises between the delays desired by the requester and those desired by the resource manager (e.g., a 30 second delay is imposed before issuing a request to English pool 202 , Spanish pool 204 and French pool 206 ).
- a preferred embodiment of the present invention may be implemented in a system having multi-functional resources, as disclosed in co-pending and commonly assigned U.S. patent application Ser. No. 09/330,258 entitled “ALLOCATION OF MULTI-FUNCTION RESOURCES.”
- resources may be grouped into homogeneous pools, such that resources in each pool are “pure” as to functional capability.
- a homogeneous pool described as being “pure” indicates that the resources within the pool all share one or more common functional capabilities, from the perspective of the requesters and the Homogeneous Pool Control.
- the resources in a given homogeneous pool may have additional disparate characteristics that are not relevant to satisfying requests, but they are grouped together because they share one or more functional capabilities relevant to satisfying requests.
- FIG. 12 an example of a preferred embodiment implemented in an ACD 200 having some resources with multi-functionality (e.g., capable of speaking more than one language) is illustrated. As shown in FIG. 12 , the resources 230 may be grouped into homogeneous pools 250 .
- resources 230 capable of speaking only English may be grouped into pool 250 E
- resources 230 capable of speaking only Spanish may be grouped into pool 250 S
- resources 230 capable of speaking only French may be grouped into pool 250 F
- resources 230 capable of speaking both English and Spanish may be grouped into pool 250 ES
- resources 230 capable of speaking both French and Spanish may be grouped into pool 250 FS
- resources 230 capable of speaking both English and French may be grouped into pool 250 EF
- resources capable of speaking English, French and Spanish may be grouped into pool 250 ESF .
- pools 250 E , 250 S and 250 F may be considered primary level pools. Such primary pools may have less value/less flexibility/less functionality than the other pools. As illustrated by the exemplary ACD shown in FIG. 12 , the resources 230 contained in such pools may be capable of speaking only one language. Pools 250 ES , 250 EF and 250 FS may be considered secondary level pools. Such secondary pools may have more value/more flexibility/more functionality than the primary pools. As illustrated by the exemplary ACD shown in FIG. 12 , the resources 230 contained in such pools may be bi-lingual.
- Pool 250 ESF may be considered a tertiary level pool. Such tertiary level pool may have more value/more flexibility/more functionality than the primary and secondary pools. As illustrated by the exemplary ACD shown in FIG. 12 , the resources 230 contained in pool 250 ESF may be tri-lingual.
- request ESF may be received from a flexible caller capable of speaking English, Spanish and French.
- Pool Control Logic 212 may recognize that the requester is capable of speaking all three languages and immediately issue requests R 1 , R 2 and R 3 to the primary level pools 250 E , 250 S and 250 F , respectively. That is, because the primary level pools 250 E , 250 S and 250 F may be less valuable/less flexible than the other pools, it may be desirable to first attempt to satisfy flexible request ESF with a resource from one of such primary level pools.
- requests R 1 , R 2 and R 3 may be queued in queues 260 for their respective pools and remain concurrently pending. If after a determined time flexible request ESF remains unsatisfied, Pool Control Logic 212 may issue requests R 4 , R 5 and R 6 to secondary level pools 250 ES , 250 FS and 250 EF , respectively. That is, if after time delays D 1 , D 2 and D 3 flexible request ESF remains unsatisfied, Pool Control Logic 212 may issue requests R 4 , R 5 and R 6 to the more valuable/more flexible secondary level pools. Thus, Pool Control Logic 212 may attempt to utilize more valuable/more flexible secondary level pools to satisfy flexible request ESF if the flexible request has not been satisfied within a determined time period by a resource from one of the primary level pools.
- requests R 4 , R 5 and R 6 may be queued in queues 260 for their respective pools and remain concurrently pending with previously issued requests R 1 , R 2 and R 3 .
- Pool Control Logic 212 may issue request R 7 to tertiary level pool 250 ESF . That is, if after time delay D 4 flexible request ESF remains unsatisfied, Pool Control Logic 212 may issue request R 7 to the even more valuable/more flexible tertiary level pool.
- Pool Control Logic 212 may attempt to utilize more valuable/more flexible tertiary level pools to satisfy flexible request ESF if the request has not been satisfied within a determined time period by a resource from one of the primary or secondary level pools.
- the flexibility of a request may be taken into account to attempt to utilize less valuable/less flexible resources to satisfy the request, while still attempting to satisfy the request in a timely manner.
- multiple requests may be issued on the primary level to less valuable/less flexible resources in an attempt to obtain a resource to satisfy the request. Accordingly, the chances of satisfying the request with such a less valuable/less flexible resource are increased. Additionally, the overall amount of time before a flexible request is satisfied may be reduced because requests may be issued to multiple types of resource pools to try to satisfy such a flexible request.
- Pool Control Logic 212 may receive 3 requests 214 .
- Pool Control Logic 212 receives an inflexible caller E 1 requesting an English speaking resource.
- Pool Control Logic 212 receives a flexible caller ES 2 requesting either an English or a Spanish speaking.
- the exemplary ACD 200 of FIG. 13 may be implemented such that a twenty-five second delay is utilized before attempting to service a caller with a resource from the tertiary level (e.g., pool 250 ESF ).
- a request is required to be pending at the primary level (e.g., pools 250 E , 250 S , and 250 F ) for twenty-five seconds before Pool Control Logic 212 issues a request for a resource from the tertiary level pool.
- the primary level e.g., pools 250 E , 250 S , and 250 F
- request ES 2 is already pending in queue 260 for pool 250 FS and requests E 1 and ES 2 are already pending in queues 260 for pools 250 ES and 250 EF when requests R 11 , R 12 and R 13 are issued, request FS 3 is queued behind requests ES 2 and E 1 .
- request E 1 As a request is serviced, it is removed from all of the concurrently pending queues. For example, once request E 1 is serviced, it will be removed from queues 260 for pools 250 E , 250 ES , 250 EF , and 250 ESF . After the concurrently pending requests for serviced call E 1 are removed from queue 260 , the request pending just behind request E 1 in each queue becomes the next pending request for that queue's pool 250 to service.
- the exemplary ACD system 200 of FIG. 13 may be implemented such that less flexible requests advance to the secondary and tertiary levels more quickly than more flexible requests, in an attempt to utilize more flexible resources to service such less flexible requests. For example, a delay of ten seconds may be utilized before issuing a request to the secondary level resources (e.g., pools 250 ES , 250 FS , and 250 EF ) for the pending inflexible request E 1 of FIG. 13 . However, a delay of twenty seconds may be utilized before issuing a request to such secondary level resources for the pending flexible request ES 2 .
- the secondary level resources e.g., pools 250 ES , 250 FS , and 250 EF
- a greater number of primary resources are capable of servicing flexible request ES 2 (e.g., resources from pools 250 E and 250 S )
- a greater time delay may be imposed before issuing requests for secondary level resources to try to service flexible request ES 2 .
- the secondary and tertiary level resources may be more effectively utilized where most needed, e.g., to service less flexible requests.
- ACD 200 of a preferred embodiment it may be less desirable to have a multi-functional/flexible resource serving a multi-functional/flexible request. For example, if a request is capable of speaking English, Spanish and French, the least optimum resource to satisfy such request may be a resource capable of speaking English, Spanish and French. That is, when a multi-functional/flexible resource is serving a multi-functional/flexible request, the flexibility of such resource is wasted on a flexible request. It may be more desirable to save such flexible resource for requests that are not as flexible. Accordingly, it may be desirable to have less priority assigned to multi-functional/flexible requests for multifunctional/flexible resources. A preferred embodiment may implement such a priority by treating multi-functional/flexible requests as a separate request for each functionality and summing together the delays for any pools in which more than one request is issued, as an example.
- Pool Control Logic 212 may immediately issue a request R 1 to English pool 250 E . Assuming that a resource is not immediately available to service request E 1 , it may be queued in queue 260 for pool 250 E . If after time delays D 1 and D 2 (each being ten seconds) request E 1 remains unsatisfied, Pool Control Logic 212 may issue requests R 2 and R 3 to secondary pools 250 ES and 250 EF , respectively. If after time delay D 3 of 30 seconds request E 1 remains unsatisfied, Pool Control Logic 212 may issue request R 4 to tertiary pool 250 ESF .
- Pool Control Logic 212 may immediately issue requests R 5 and R 6 to pools 250 E and 250 S , respectively. Assuming that a resource is not immediately available from either pool, request ES 2 may be queued in queues 260 for pools 250 E and 250 S . If after a determined time delay the primary pools 250 E and 250 S are unable to service flexible request ES 2 , requests may be issued to the secondary pools 250 ES , 250 FS and 250 EF . However, it may be less desirable to have request ES 2 serviced by a resource from pool 250 ES .
- request ES 2 may be thought of as two requests: one request for English and one request for Spanish, and when the requests “collide” (as described below) the delays for such requests may be summed.
- Pool Control Logic 212 may issue request R 7 to secondary pool 250 FS after delay D 4 of ten seconds. Such a request may be thought of as a request to service the Spanish portion of the request ES 2 pending in queue 260 for pool 250 S . Likewise, Pool Control Logic 212 may issue request R 8 to secondary pool 250 EF after delay D 5 of ten seconds. Such a request may be thought of as a request to service the English portion of the request ES 2 pending in queue 260 for pool 250 E . Secondary pool 250 ES may also be capable of servicing request ES 2 , and Pool Control Logic 212 may issue request R 9 to pool 250 ES after delay D 6 of twenty seconds.
- Such a request may be thought of as a request to satisfy both the English portion and the Spanish portion of flexible request ES 2 pending in queues 260 for pools 250 E and 250 S (e.g., the English and Spanish portions of request ES 2 “collide”) because resources from pool 250 ES are capable of speaking both English and Spanish.
- Pool Control Logic 212 may add together the determined ten second delay for the English portion of the flexible request and the determined ten second delay for the Spanish portion of the flexible request and issue a request to pool 250 ES after a twenty second time delay. Accordingly, resources from secondary pool 250 ES may be requested only after requests have been issued for resources from secondary pools 250 FS and 250 EF for request ES 2 .
- Pool Control Logic may issue a request to tertiary pool 250 ESF .
- a request to tertiary pool 250 ESF may be thought of as a request to satisfy both the English portion and the Spanish portion of flexible request ES 2 pending in queues 260 for pools 250 E and 250 S because resources from pool 250 ESF are capable of speaking both English and Spanish.
- Pool Control Logic 212 may add together the determined thirty second delay for the English portion of the flexible request and the determined thirty second delay for the Spanish portion of the flexible request and issue a request to pool 250 ESF after a sixty second time delay. It should be recognized that request E 1 was pending only thirty seconds before having a request issued to tertiary pool 250 ESF , but request ES 2 is required to be pending sixty seconds before having such a request issued.
- request ESF 3 may be received.
- Request ESF 3 may be thought of as having three portions (or as being three separate requests), one portion for English, one portion for Spanish and one portion for French.
- Pool Control Logic 212 may immediately issue requests R 11 , R 12 and R 13 to primary pools 250 E , 250 S and 250 F , respectively. If a resource is not immediately available from any of those pools to service request ESF 3 , the request may be queued in queues 260 for each of the primary pools 250 E , 250 S and 250 F . If the request remains unsatisfied after a determined time period, Pool Control Logic 212 may issue requests to the secondary pools 250 ES , 250 FS and 250 EF .
- Pool Control Logic 212 may issue request R 14 to secondary pool 250 ES after time delay D 8 of twenty seconds. Such a request may be thought of as a request to satisfy both the English portion and the Spanish portion of flexible request ESF 3 pending in queues 260 for pools 250 E and 250 S because resources from pool 250 ES are capable of speaking both English and Spanish. Accordingly, Pool Control Logic 212 may add together the determined ten second delay for the English portion of the flexible request and the determined ten second delay for the Spanish portion of the flexible request and issue a request to pool 250 ES after a twenty second time delay.
- Pool Control Logic 212 may issue request R 15 to secondary pool 250 FS after time delay D 9 of twenty seconds. Such a request may be thought of as a request to satisfy both the French portion and the Spanish portion of flexible request ESF 3 pending in queues 260 for pools 250 F and 250 S because resources from pool 250 FS are capable of speaking both French and Spanish. Accordingly, Pool Control Logic 212 may add together the determined ten second delay for the French portion of the flexible request and the determined ten second delay for the Spanish portion of the flexible request and issue a request to pool 250 FS after a twenty second time delay.
- Pool Control Logic 212 may issue request R 16 to secondary pool 250 EF after time delay D 10 of twenty seconds. Such a request may be thought of as a request to satisfy both the English portion and the French portion of flexible request ESF 3 pending in queues 260 for pools 250 F . and 250 F because resources from pool 250 EF are capable of speaking both English and French. Accordingly, Pool Control Logic 212 may add together the determined ten second delay for the English portion of the flexible request and the determined ten second delay for the French portion of the flexible request and issue a request to pool 250 EF after a twenty second time delay.
- the request may be queued in queues 260 for each of the secondary pools 250 ES , 250 FS and 250 EF . If the request still remains unsatisfied after a determined time period, Pool Control Logic 212 may issue a request to the tertiary pool 250 ESF . Pool Control Logic 212 may issue request R 117 to tertiary pool 250 ESF after time delay D 1 , of ninety (90) seconds.
- Pool Control Logic 212 may add together the determined thirty second delay for the English portion of the flexible request, the determined thirty second delay for the Spanish portion of the flexible request and the determined thirty second delay for the French portion of the flexible request and issue a request to pool 250 ES after a ninety second time delay.
- either the Pool Control Logic 212 or the resource pools may be responsible for prioritizing requests through time delays, and either the Pool Control Logic 212 or the resource pools may be responsible for removing concurrently pending requests from the queues of the “losing” pools when a request is satisfied by a “winning” pool.
- Any combination of the Pool Control Logic 212 and the resource pools controlling the prioritization of requests through time delays and removing requests from the queues of “losing” pools may be implemented in alternative embodiments. Any such alternative embodiment is intended to be within the scope of the present invention.
- FIGS. 2-14 have been described as to prioritize requests R 1 -R n according to a hierarchy of pools 410 in ascending order of multi-function capability (e.g., multi-lingualism) of the requests and/or the resources within the resource pools.
- multi-function capability e.g., multi-lingualism
- the hierarchy may be according to numeric value of the quantity of resources 412 contained within pools 410 .
- the hierarchy may be based on multiple characteristics, such as multi-function capability and numeric value of resources 412 contained within pools 410 .
- Hierarchies may also be in ascending or descending order. As described herein, the hierarchy may account for requests' preferences, a resource manager's preferences, or a balance of the two.
- the Pool Control Logic 212 uses a time sequence (or “cascade”) to prioritize resource requests issued to selected resource pools to service an initial request (e.g., a caller request).
- the resource pools 212 may utilize a time sequence (or “cascade”) to prioritize resource requests issued to the selected resource pools to service an initial request (e.g., a caller request).
- the time sequence utilized by the Pool Control Logic 212 or the resource pools may advantageously be determined to observe particular flexibility, scarcity or value of the requests and the resources serving requests.
- the time sequence may be predetermined (e.g., entered by a user or predetermined by the Pool Control Logic 212 or resource pools) or it may be determined by the Pool Control Logic 212 or the resource pools in real-time.
- the Pool Control Logic 212 or the resource pools may monitor the operation of the system and adjust the time sequence accordingly, in real-time.
- the queues shown and described herein may be actual physical queues or they may be “virtual” queues. That is, the queues shown and described for each of the resource pools (i.e., queues 260 ), the queue shown and described for the Pool Control Logic 212 (i.e., queue 216 ) may each be actual physical queues or may be “virtual” queues.
- the invention as described with reference to FIGS. 2-14 and the accompanying exemplary narrative are not limited to language-oriented resources and requests.
- the invention applies with equivalent enabling effect generally to allocating resources to flexible requests.
- the invention is enabling on many types of flexible requests for resources, such as telephone callers with multi-lingual capability, or flexible requests for data elements in a database, or flexible requests for computer network resources, or flexible requests for telephony network resources, or even, for example, flexible requests made by mechanics sharing tools out of a unitary toolbox.
- the resource management scheme of the present invention is not intended to be limited to telephony resources, but may be applied equally to various other types of resources.
- various types of flexible requests for computer resources may be received and utilized for better management of the computer resources in servicing requests.
- various types of data storage resources may be included within a computer system for servicing data storage/retrieval requests from various types of devices.
- various storage devices such as floppy drive 1514 , CD-ROM drive 1516 , DVD drive 1518 , tape drive 1519 , and ZIP drive 1520 , may be included within a computer system.
- a resource manager 1512 may be implemented to receive requests and manage allocation of the data storage devices to service such requests, much as the Pool Control Logic of the exemplary ACD systems described above received callers and allocated agents.
- One or more various types of devices that are capable of storing/retrieving data to/from such data storage devices are also provided, such as Personal Data Assistant (“PDA”) 1502 , personal computer (“PC”) 1504 , laptop computer 1506 , and cellular telephone 1508 .
- PDA Personal Data Assistant
- PC personal computer
- laptop computer 1506 laptop computer 1506
- cellular telephone 1508 Such devices may have a direct connection to resource manager 1512 , which enables communication of data therebetween, or they may be capable of communicating with resource manager 1512 via Network 1510 , as shown in FIG. 8 .
- Network 1510 may comprise any means of information communication, such as a PSN, a proprietary network, a general purpose processor-based information network, dedicated communication lines, a satellite system, a cable system, a computer network, direct PC to PC connection, a local area network (LAN), a wide area network (WAN), modem to modem connection, the Internet, an Intranet or any combination thereof suitable for providing information communication between a particular device (or “network element”) and the resource manager 1512 .
- a PSN a proprietary network
- a general purpose processor-based information network dedicated communication lines
- satellite system such as a satellite system, a cable system, a computer network, direct PC to PC connection, a local area network (LAN), a wide area network (WAN), modem to modem connection, the Internet, an Intranet or any combination thereof suitable for providing information communication between a particular device (or “network element”) and the resource manager 1512 .
- resource manager 1512 may determine the appropriate storage device to satisfy such a request and allocate such storage device to service the request.
- the various storage devices may possess certain attributes, such as storage capacity, storage speed, retrieval speed, and/or other types of skills/attributes, which may or may not be suitable for servicing any given request received by resource manager 1512 .
- a relatively flexible request requiring to store data a relatively small amount of data to any available device may be received by resource manager 1512 , and resource manager 1512 may then efficiently service the flexible request utilizing an available data storage device.
- a less flexible request that requires storage of an extremely large amount of data may require that the resource manager 1512 allocate the ZIP drive 1520 , for instance, to service such a less flexible request.
Landscapes
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
Claims (50)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/767,927 US6845154B1 (en) | 2001-01-23 | 2001-01-23 | Allocation of resources to flexible requests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/767,927 US6845154B1 (en) | 2001-01-23 | 2001-01-23 | Allocation of resources to flexible requests |
Publications (1)
Publication Number | Publication Date |
---|---|
US6845154B1 true US6845154B1 (en) | 2005-01-18 |
Family
ID=33565421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/767,927 Expired - Lifetime US6845154B1 (en) | 2001-01-23 | 2001-01-23 | Allocation of resources to flexible requests |
Country Status (1)
Country | Link |
---|---|
US (1) | US6845154B1 (en) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030016812A1 (en) * | 2001-07-09 | 2003-01-23 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US20030061129A1 (en) * | 2001-09-25 | 2003-03-27 | Stephen Todd | Mediation device for scalable storage service |
US20030097445A1 (en) * | 2001-11-20 | 2003-05-22 | Stephen Todd | Pluggable devices services and events for a scalable storage service architecture |
US20030115073A1 (en) * | 2001-12-19 | 2003-06-19 | Stephen Todd | Workflow database for scalable storage service |
US20040203679A1 (en) * | 2002-10-23 | 2004-10-14 | Mccormack Tony | Multi-media contact center |
US20040213400A1 (en) * | 2003-01-06 | 2004-10-28 | Golitsin Vladimir G. | Method and apparatus for multimedia interaction routing according to agent capacity sets |
US20070147599A1 (en) * | 2005-12-22 | 2007-06-28 | Bruce Sharpe | Call routing management based on caller language |
US20070160188A1 (en) * | 2005-11-25 | 2007-07-12 | Teletech Holdings, Inc. | Home Agent Access in Call Routing Management Based on Caller Language |
CN100385863C (en) * | 2005-12-29 | 2008-04-30 | 华为技术有限公司 | Media resource distributing method |
US7433455B1 (en) * | 2003-05-05 | 2008-10-07 | Cisco Technology, Inc. | Processing a communication session using a rules engine |
US20090086959A1 (en) * | 2007-10-01 | 2009-04-02 | Scott Irwin | Method and System for Hierarchicy Based Contact Routing |
US7552056B2 (en) | 2001-09-25 | 2009-06-23 | Emc Corporation | Scalable storage service registration application |
US7657263B1 (en) * | 2002-03-21 | 2010-02-02 | Cisco Technology, Inc. | Method and system for automatic call distribution based on customized logic relating to agent behavior |
US20100198930A1 (en) * | 1998-06-22 | 2010-08-05 | Genesys Telecommunications Laboratories, Inc. | E-Mail Client with Programmable Address Attributes |
US7809663B1 (en) | 2006-05-22 | 2010-10-05 | Convergys Cmg Utah, Inc. | System and method for supporting the utilization of machine language |
US8379830B1 (en) | 2006-05-22 | 2013-02-19 | Convergys Customer Management Delaware Llc | System and method for automated customer service with contingent live interaction |
US8452668B1 (en) | 2006-03-02 | 2013-05-28 | Convergys Customer Management Delaware Llc | System for closed loop decisionmaking in an automated care system |
US20140082179A1 (en) * | 2012-09-19 | 2014-03-20 | Avaya Inc. | Scarce resources management |
US20140180739A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | System and method for asset assignment in a service delivery environment when assets have unique skills and/or capabilities |
US8971216B2 (en) | 1998-09-11 | 2015-03-03 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
US8971520B1 (en) * | 2006-10-27 | 2015-03-03 | Answer Financial Inc. | Method for optimizing skill assignment in call center agent applications |
US9002920B2 (en) | 1998-09-11 | 2015-04-07 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
USRE45583E1 (en) | 1999-12-01 | 2015-06-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
USRE45606E1 (en) | 1997-02-10 | 2015-07-07 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
USRE46060E1 (en) | 1997-02-10 | 2016-07-05 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US20160249016A1 (en) * | 2012-02-13 | 2016-08-25 | Tata Communications (America) Inc. | Video session manager and method for enabling and managing video calling and telepresence communications sessions across multiple domains |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
US9516171B2 (en) | 1997-02-10 | 2016-12-06 | Genesys Telecommunications Laboratories, Inc. | Personal desktop router |
US9553755B2 (en) | 1998-02-17 | 2017-01-24 | Genesys Telecommunications Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
USRE46438E1 (en) | 1999-09-24 | 2017-06-13 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206903A (en) * | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5335269A (en) * | 1992-03-12 | 1994-08-02 | Rockwell International Corporation | Two dimensional routing apparatus in an automatic call director-type system |
US5825869A (en) * | 1995-04-24 | 1998-10-20 | Siemens Business Communication Systems, Inc. | Call management method and system for skill-based routing |
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 |
-
2001
- 2001-01-23 US US09/767,927 patent/US6845154B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206903A (en) * | 1990-12-26 | 1993-04-27 | At&T Bell Laboratories | Automatic call distribution based on matching required skills with agents skills |
US5335269A (en) * | 1992-03-12 | 1994-08-02 | Rockwell International Corporation | Two dimensional routing apparatus in an automatic call director-type system |
US5825869A (en) * | 1995-04-24 | 1998-10-20 | Siemens Business Communication Systems, Inc. | Call management method and system for skill-based routing |
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 |
Non-Patent Citations (1)
Title |
---|
U.S. patent application Ser. No. 09/330,258, Cave, filed Jun. 10, 1999. |
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE45606E1 (en) | 1997-02-10 | 2015-07-07 | Genesys Telecommunications Laboratories, Inc. | Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality |
USRE46060E1 (en) | 1997-02-10 | 2016-07-05 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
US9516171B2 (en) | 1997-02-10 | 2016-12-06 | Genesys Telecommunications Laboratories, Inc. | Personal desktop router |
USRE46243E1 (en) | 1997-02-10 | 2016-12-20 | Genesys Telecommunications Laboratories, Inc. | In-band signaling for routing |
USRE46521E1 (en) | 1997-09-30 | 2017-08-22 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
USRE46528E1 (en) | 1997-11-14 | 2017-08-29 | Genesys Telecommunications Laboratories, Inc. | Implementation of call-center outbound dialing capability at a telephony network level |
US9553755B2 (en) | 1998-02-17 | 2017-01-24 | Genesys Telecommunications Laboratories, Inc. | Method for implementing and executing communication center routing strategies represented in extensible markup language |
US20100198930A1 (en) * | 1998-06-22 | 2010-08-05 | Genesys Telecommunications Laboratories, Inc. | E-Mail Client with Programmable Address Attributes |
US10218848B2 (en) | 1998-09-11 | 2019-02-26 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
USRE46387E1 (en) | 1998-09-11 | 2017-05-02 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US9002920B2 (en) | 1998-09-11 | 2015-04-07 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US8971216B2 (en) | 1998-09-11 | 2015-03-03 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
US9350808B2 (en) | 1998-09-11 | 2016-05-24 | Alcatel Lucent | Method for routing transactions between internal and external partners in a communication center |
USRE46153E1 (en) | 1998-09-11 | 2016-09-20 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment |
USRE46457E1 (en) | 1999-09-24 | 2017-06-27 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE46438E1 (en) | 1999-09-24 | 2017-06-13 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure |
USRE45583E1 (en) | 1999-12-01 | 2015-06-23 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network |
US20030016812A1 (en) * | 2001-07-09 | 2003-01-23 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US7103173B2 (en) * | 2001-07-09 | 2006-09-05 | Austin Logistics Incorporated | System and method for preemptive goals based routing of contact records |
US7552056B2 (en) | 2001-09-25 | 2009-06-23 | Emc Corporation | Scalable storage service registration application |
US8055555B2 (en) * | 2001-09-25 | 2011-11-08 | Emc Corporation | Mediation device for scalable storage service |
US20030061129A1 (en) * | 2001-09-25 | 2003-03-27 | Stephen Todd | Mediation device for scalable storage service |
US20030097445A1 (en) * | 2001-11-20 | 2003-05-22 | Stephen Todd | Pluggable devices services and events for a scalable storage service architecture |
US20030115073A1 (en) * | 2001-12-19 | 2003-06-19 | Stephen Todd | Workflow database for scalable storage service |
US8549048B2 (en) | 2001-12-19 | 2013-10-01 | Emc Corporation | Workflow database for scalable storage service |
US7657263B1 (en) * | 2002-03-21 | 2010-02-02 | Cisco Technology, Inc. | Method and system for automatic call distribution based on customized logic relating to agent behavior |
USRE46538E1 (en) | 2002-10-10 | 2017-09-05 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center |
US20040203679A1 (en) * | 2002-10-23 | 2004-10-14 | Mccormack Tony | Multi-media contact center |
US7272223B2 (en) * | 2002-10-23 | 2007-09-18 | Nortel Networks Limited | Multi-media contact center |
US20040213400A1 (en) * | 2003-01-06 | 2004-10-28 | Golitsin Vladimir G. | Method and apparatus for multimedia interaction routing according to agent capacity sets |
US7418094B2 (en) * | 2003-01-06 | 2008-08-26 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for multimedia interaction routing according to agent capacity sets |
US7433455B1 (en) * | 2003-05-05 | 2008-10-07 | Cisco Technology, Inc. | Processing a communication session using a rules engine |
US7920693B2 (en) | 2005-11-25 | 2011-04-05 | Teletech Holdings, Inc. | Home agent access in call routing management based on caller language |
US20070160188A1 (en) * | 2005-11-25 | 2007-07-12 | Teletech Holdings, Inc. | Home Agent Access in Call Routing Management Based on Caller Language |
US20070147599A1 (en) * | 2005-12-22 | 2007-06-28 | Bruce Sharpe | Call routing management based on caller language |
US9854006B2 (en) | 2005-12-22 | 2017-12-26 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US9008075B2 (en) | 2005-12-22 | 2015-04-14 | Genesys Telecommunications Laboratories, Inc. | System and methods for improving interaction routing performance |
US8270592B2 (en) * | 2005-12-22 | 2012-09-18 | Teletech Holdings, Inc. | Call routing management based on caller language |
CN100385863C (en) * | 2005-12-29 | 2008-04-30 | 华为技术有限公司 | Media resource distributing method |
US8452668B1 (en) | 2006-03-02 | 2013-05-28 | Convergys Customer Management Delaware Llc | System for closed loop decisionmaking in an automated care system |
US8379830B1 (en) | 2006-05-22 | 2013-02-19 | Convergys Customer Management Delaware Llc | System and method for automated customer service with contingent live interaction |
US9549065B1 (en) | 2006-05-22 | 2017-01-17 | Convergys Customer Management Delaware Llc | System and method for automated customer service with contingent live interaction |
US7809663B1 (en) | 2006-05-22 | 2010-10-05 | Convergys Cmg Utah, Inc. | System and method for supporting the utilization of machine language |
US8971520B1 (en) * | 2006-10-27 | 2015-03-03 | Answer Financial Inc. | Method for optimizing skill assignment in call center agent applications |
US20090086959A1 (en) * | 2007-10-01 | 2009-04-02 | Scott Irwin | Method and System for Hierarchicy Based Contact Routing |
US8023637B2 (en) | 2007-10-01 | 2011-09-20 | Convergys Cmg Utah, Inc. | Method and system for hierarchy based contact routing |
US8588398B1 (en) | 2007-10-01 | 2013-11-19 | Convergys Customer Management Delaware Llc | Method and system for hierarchy based contact routing |
US9641802B2 (en) * | 2012-02-13 | 2017-05-02 | Tata Communications (America) Inc. | Video session manager and method for enabling and managing video calling and telepresence communications sessions across multiple domains |
US20160249016A1 (en) * | 2012-02-13 | 2016-08-25 | Tata Communications (America) Inc. | Video session manager and method for enabling and managing video calling and telepresence communications sessions across multiple domains |
US20140082179A1 (en) * | 2012-09-19 | 2014-03-20 | Avaya Inc. | Scarce resources management |
US20140180739A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | System and method for asset assignment in a service delivery environment when assets have unique skills and/or capabilities |
CN104871149A (en) * | 2012-12-21 | 2015-08-26 | 国际商业机器公司 | Asset assignment having unique skills and/or capabilities |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6845154B1 (en) | Allocation of resources to flexible requests | |
CN108989588B (en) | Call distribution method, call center, electronic device, and storage medium | |
EP0982917B1 (en) | Skill-value queuing in a call center | |
US6493695B1 (en) | Methods and systems for homogeneously routing and/or queueing call center customer interactions across media types | |
US10063704B2 (en) | System and method for providing call-back options | |
US6272544B1 (en) | Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals | |
US6978006B1 (en) | Resource management utilizing quantified resource attributes | |
US5519773A (en) | Call sharing for inbound and outbound call center agents | |
US6560330B2 (en) | Rules-based queuing of calls to call-handling resources | |
JP3798211B2 (en) | How to assign a server to a work item | |
EP0740450B1 (en) | Method and apparatus for skill-based routing in a call center | |
KR100625499B1 (en) | Call center agent selection that optimizes call wait times | |
US5828747A (en) | Call distribution based on agent occupancy | |
US5978463A (en) | Reservation scheduling system for audio conferencing resources | |
CA2298266A1 (en) | Dynamically allocating server resources to competing classes of work based upon achievement of service goals | |
JP2001292236A (en) | Method and device for multivariate work assignment to be used inside call center | |
US6636598B1 (en) | Automated transaction distribution system and method implementing transaction distribution to unavailable agents | |
JP2000232522A (en) | Selection of call based on continuous technology level of call center | |
US20080144803A1 (en) | Dynamic agent skill balancing | |
US20060015388A1 (en) | Method and apparatus for supporting individualized selection rules for resource allocation | |
US20070127690A1 (en) | Methods and apparatus for allocating a resource to enqueued requests using predicted wait time based on prior resource contribution | |
US8675861B2 (en) | Methods and apparatus for variable wait treatments for requests enqueued in one or more queues | |
WO1992009164A1 (en) | Telephone call handling system | |
KR19990083041A (en) | Optimizing call-center performance by using predictive data to distribute calls among agents | |
US20070121897A1 (en) | Methods and apparatus for dynamically adjusting resource configuration in a resource allocation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERVOICE LIMITED PARTNERSHIP, NEVADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAVE, ELLIS K.;BISHOP, JODY C.;REEL/FRAME:011492/0489;SIGNING DATES FROM 20010119 TO 20010122 |
|
AS | Assignment |
Owner name: FOOTHILL CAPITAL CORPORATION, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNORS:INTERVOICE, INC., A TEXAS CORPORATION;INTERVOICE UNITED PARTNERSHIP, A NEVADA LIMITED PARTNERSHIP;REEL/FRAME:013269/0696 Effective date: 20020918 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: INTERVOICE, INC., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO FOOTHILL, INC., AS SUCCESSOR IN INTEREST TO FOOTHILL CAPITAL CORPORATION;REEL/FRAME:022629/0749 Effective date: 20090415 Owner name: INTERVOICE LIMITED PARTNERSHIP, NEVADA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO FOOTHILL, INC., AS SUCCESSOR IN INTEREST TO FOOTHILL CAPITAL CORPORATION;REEL/FRAME:022629/0749 Effective date: 20090415 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |