Intelligent communication routing
10560579 ยท 2020-02-11
Inventors
- Wai Wu (Massapequa, NY, US)
- Toby Heller (Roslyn Heights, NY, US)
- Steven M. Hoffberg (West Harrison, NY)
Cpc classification
International classification
H04L12/28
ELECTRICITY
Abstract
A system and method for communicating in a communication network, comprising presenting a communication comprising data over a communications network to a router, said router being adapted to route the communication to one of a plurality of available network destinations; automatically executing a communication targeting algorithm in the router, based at least in part on the data, wherein the communication targeting algorithm operates to contextually jointly analyze a plurality of parameters extracted from the data and a plurality of contextual parameters, to determine an optimum target for the communication, wherein the optimum target varies in dependence on both the data and the context of the communication; and routing the communication in dependence on the algorithm execution.
Claims
1. A communications control system comprising: (a) an input for receiving a respective communication classification vector of each of a plurality of communications, comprising a set of parameters that classify a plurality of attributes of each respective communication; (b) a set of communication handler characteristic vectors, each comprising a plurality of parameters that classify characteristics of each respective communications handler of a plurality of communications handlers; and (c) a processor, configured to: determine, with respect to each respective received communication, an optimum communication handler of the plurality of communications handlers based on at least a dynamically weighted correspondence of the parameters of the respective communication classification vector of each respective received communication and the parameters of respective ones of the set of communication handler characteristic vectors, the dynamically weighted correspondence of the parameters varying over time, and the optimum communication handler being selected dependent on at least a respective time, and control a routing of a communication corresponding to the communication classification vector, in dependence on the determined optimum communication handler.
2. The communications control system according to claim 1, wherein: the plurality of parameters that classify characteristics of a respective communications handler each corresponds to a communication handler skill; the set of parameters of the communication classification vector each correspond to one of the communication handler skills; and the processor is further configure to access a memory which stores a table of skill weights, and applies the skill weights to determine the optimum communication handler.
3. The communications control system according to claim 2, wherein the table of skill weights varies independently of the communication classification vector and the set of communication handler characteristic vectors.
4. The communications control system according to claim 1, wherein a plurality of communication classification vectors are received and processed interactively to determine a plurality of determined optimum communication handlers according to a joint optimization.
5. The communication control system according to claim 1, wherein the processor comprises a neural network configured to determine the optimum communication handler.
6. The communication control system according to claim 1, wherein the processor is configured to perform a combinatorial analysis of potential associations of communications with respective communication handlers, to determine a global optimization.
7. A communications control system for routing real time communications, comprising: an automated processor configured to optimize a routing of a concurrent plurality of communications to a plurality of different destinations, each routing of a respective real time communication to a respective destination having a respective time-dependent cost function dependent on time, a plurality of characteristics of at least the respective real time communication, a plurality of characteristics of the respective destination, a set of dynamically varying weightings of the plurality of characteristics of at least the respective real time communication and the plurality of characteristics of the respective destination which varies as a function of time, and a respective time, to globally minimize an aggregate cost of routing of the concurrent plurality of communications to the plurality of different destinations at the respective time, according to the time dependent cost functions of the routed communications.
8. The communications control system according to claim 7, wherein the automated processor is configured to perform a combinatorial analysis of a plurality of the routings of the concurrent plurality of communications to the plurality of different destinations.
9. The communications control system according to claim 7, wherein the automated processor comprises an artificial neural network.
10. The communications control system according to claim 7, wherein the time dependent cost function is further dependent on a load of real time communications received by the communications control system.
11. The communications control system according to claim 7, wherein the cost function is further dependent on at least a predicted change in a characteristic of a respective destination as a result of the routing.
12. The communications control system according to claim 7, wherein the globally minimized aggregate cost is achieved by conducting an iterative optimization which comprises grouping and then regrouping respective communications and respective destinations.
13. A communications method for routing a plurality of communications sources to a plurality of distinct destinations, comprising: (a) receiving the plurality of concurrent communications; (b) classifying each respective communication to determine a respective set of communication characteristics, at least one communication characteristic relating to a purpose of the communication; (c) storing a set of target characteristics for each of a plurality of communications targets, at least one target characteristic relating to a purpose of the communication; (d) determining an optimum communication target from the plurality of communications targets, for each respective communication of the plurality of concurrent communications, based on a time-dependent cost function dependent on a correspondence of the respective set of communication characteristics with the set of target characteristics and a set of time-varying weightings, the time-dependent cost function being evaluated for each of a plurality of possible different pairings of a respective communication to a respective communication target at a respective time, to achieve a global time-dependent optimum for the plurality of concurrent communications; and (e) routing the plurality of concurrent communications to the respective optimum communication target.
14. The method according to claim 13, wherein the set of weightings varying over time as a result of an adaptive process.
15. The method according to claim 13, wherein the correspondence of the respective set of communication characteristics with the set of target characteristics is determined by a set of weightings, the set of weightings being dependent on a relationship of a demand by the plurality of concurrent communications, for the supply of the plurality of communications targets.
16. The method according to claim 13, wherein said routing comprises determining a routing path between respective ones of the plurality of communications and respective ones of the plurality of communications target, and communicating the respective routing path to a communications router device.
17. The method according to claim 13, wherein the purpose of a respective communication is determined by an interactive communication prior to routing the communication to optimum communication target.
18. The method according to claim 13, wherein the communications targets are human agents, and the set of target characteristics comprise agent skills.
19. The method according to claim 13, wherein the optimum communication target is determined by an artificial neural network.
20. The method according to claim 13, wherein the optimum communication target from the plurality of communications targets is determined for each respective communication of the plurality of concurrent communications, according to a combinatorial analysis, to determine a global optimization.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a more complete understanding of the present invention and the advantages thereof, reference should be made to the following Detailed Description taken in connection with the accompanying drawings in which:
(2)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(3) The Detailed description of the invention is intended to describe relatively complete embodiments of the invention, through disclosure of details and reference to the drawings. The following detailed description sets forth numerous specific details to provide a thorough understanding of the invention. However, those of ordinary skill in the art will appreciate that the invention may be practiced without these specific details. In other instances, well-known methods, procedures, protocols, components, and circuits have not been completely described in detail so as not to obscure the invention. However, many such elements are described in the cited references which are incorporated herein by reference, or as are known in the art.
(4) For each agent, a profile is created based on manual inputs, such as language proficiency, formal education and training, position, and the like, as well as automatically, based on actual performance metrics and analysis, and used to create a skills inventory table. This process is generally performed in a high level system, such as a customer relations management system or human resources management system. A profile thus represents a synopsis of the skills and characteristics that an agent possesses, although it may not exist in a human readable or human comprehensible form.
(5) Preferably, the profile includes a number of vectors representing different attributes, which are preferably independent, but need not be. The profile relates to both the level of ability, i.e. expertise, in each skill vector, as well as the performance of the agent, which may be a distinct criterion, with respect to that skill. In other words, an agent may be quite knowledgeable with respect to a product line, but nevertheless relatively slow to service callers. The profile, or an adjunct database file, may also include a level of preference that call management has for the agent to handle transactions that require particular skills versus transactions that require other skills, or other extrinsic considerations.
(6) This table or set of tables is communicated to the communications server. Typically, the communications server does not create or modify the agent skills table, with the possible exception of updating parameters based on immediate performance. For example, parameters such as immediate past average call duration, spoken cadence, and other statistical parameters of a call-in-progress or immediately past concluded will be available to the communications server. These parameters, which may vary over the course of a single shift, may be used to adaptively tune the profile of the agent in real time. Typically, however, long term agent performance is managed at higher levels.
(7)
(8) In some instances, there will be no associated record, or in others, the identification may be ambiguous or incorrect. For example, a call from a PBX wherein an unambiguous caller extension is not provided outside the network, a call from a pay phone, or the like. Therefore, the identity of the caller is then confirmed using voice or promoted DTMF codes, which may include an account number, transaction identifier, or the like, based on the single or ambiguous records.
(9) During the identity confirmation process, the caller is also directed to provide certain details relating to the purpose of the call. For example, the maybe directed to press one for sales, two for service, three for technical support, four for returns, and five for other. Each selected choice, for example, could include a further menu, or an interactive voice response, or an option to record information.
(10) The call-related information is then coded as a call characteristic vector 304. This call characteristic is either generated within, or transmitted to, the communications server system.
(11) Each agent has a skill profile vector. This vector is developed based on various efficiency or productivity criteria. For example, in a sales position, productivity may be defined as sales volume or gross profits per call or per call minute, customer loyalty of past customers, or other appropriate metrics. In a service call, efficiency may be defined in terms of minutes per call, customer loyalty after the call, customer satisfaction during the call, successful resolution of the problem, or other metrics. These metrics may be absolute values, or normalized for the agent population, or both. The skill profile vector is stored in a table, and the profiles, which may be updated dynamically, of available or soon to be available agents, are accessed from the table (database) 305.
(12) Typically, the table 305 is provided or updated by a high level call center management system to the communications server system as the staffing assignments change, for example once or more per shift. Intra-shift management, such as scheduling breaks, may be performed at a low or high level.
(13) The optimization entails analysis of various information, which may include the caller characteristics, the call incident characterization, availability of agents, the agent profile(s), and/or various routing principles. According to the present invention, the necessary information is made directly available to the communications server, which performs an optimization to determine a best target, e.g., agent selection, for the caller.
(14) For example, if peak instantaneous efficiency is desired, for example when the call center is near capacity 306, more advanced optimizations may be bypassed and a traditional skill based call routing algorithm 307 implemented, which optimizes a short term cost-utility function of the call center 308. An agent who can optimally handle the call is then selected 309, and the call routed to that agent 310. The global (e.g., call center) factors may be accounted as a separate set of parameters.
(15) Thus, in order to immediately optimize the call routing, the general principle is to route the call such that the sum of the utility functions of the calls be maximized while the cost of handling those calls be minimized. Other types of optimizations may, of course, be applied.
(16) According to one optional aspect of the invention, the various routing principles discussed above explicitly value training as a utility of handling a call 311, and thus a long-term optimization is implemented 312. The utility of caller satisfaction is also weighted, and thus the agent selected is generally minimally capable of handling the call. Thus, while the caller may be somewhat burdened by assignment to a trainee agent, the call center utility is maximized over the long term, and call center agents will generally increase in skill rapidly.
(17) In order for the communications server system to be able to include these advanced factors, they must be expressed in a normalized format, such as a cost factor.
(18) As for the cost side of the optimization, the cost of running a call center generally is dependent on required shift staffing, since other costs are generally constant. Accordingly, a preferred type of training algorithm serves to minimize sub-locally optimal call routing during peak load periods, and thus would be expected to have no worse cost performance than traditional call centers. However, as the call center load is reduced, the call routing algorithm routes calls to trainee agents with respect to the call characteristics. This poses two costs. First, since the trainee is less skilled than a fully trained agent, the utility of the call will be reduced. Second, call center agent training generally requires a trainer be available to monitor and coach the trainee. While the trainer may be an active call center agent, and therefore part of the fixed overhead, there will be a marginal cost since the trainer agent might be assuming other responsibilities instead of training. For example, agents not consumed with inbound call handling may engage in outbound call campaigns.
(19) It is clearly apparent that the communications server system will have direct access to call center load data, both in terms of availability of agents and queue parameters.
(20) Thus, in a training scheme, an optimization is performed, using as at least one factor the value of training an agent with respect to that call 312, and an appropriate trainee agent selected 313.
(21) In order to provide proper training, the trainer and trainee must both be available, and the call routed to both 314. Generally, the trainee has primary responsibility for the call, and the trainer has no direct communication with the caller. Therefore, the trainer may join the call after commencement, or leave before closing. However, routing a call which requires two agents to be simultaneously available poses some difficulties. In general, the trainer is an agent capable of handling the entire call alone, while the trainee may not be. Therefore, the trainer is a more important participant, and the initial principle in routing the training call is to ensure that a trainer is available. The trainer may then await availability of an appropriate trainee, or if none is imminently available, handle the call himself or herself.
(22) On the other hand, where a specific training campaign is in place, and a high utility associated with agent training, then the availability of a specific trainee or class of trainees for a call having defined characteristics is particularly important. In that case, when an appropriate trainee is available, the call held in that agent's cue, and the call possibly commenced, awaiting a training agent's availability.
(23) If the training is highly structured, it is also possible to assign the trainer and trainee agents in pairs, so that the two are always available for calls together.
(24) The system according top the present invention may also provide reinforcement for various training. Thus, if a subset of agents receive classroom training on a topic, the server may target those agents with calls relating to that topic. For example, the topic may represent a parameter of a call characterization vector. In order to target certain agents for calls having particular characteristics, a negative cost may be applied, thus increasing the probability that the agent will be selected, as compared with an agent having a positive cost. By using a single cost function, rather than specific override, the system becomes resilient, since this allocation is not treated as an exception, and therefore other parameters may be simultaneously evaluated. For example, if a caller must communicate in a foreign language, and the agent does not speak that foreign language, then the system would not target the call to that agent, even if other factors weigh in favor of such targeting.
(25) The same techniques are available for outbound campaigns and/or mixed call centers. In this case, the cost of training is more pronounced, since agents idle for inbound tasks are generally assigned to outbound tasks, and thus the allocation of trainer agents and trainee agents generally results in both longer call duration and double the number of agents assigned per call. This cost may again be balanced by avoiding training during peak utility outbound calling hours and peak inbound calling hours; however, training opportunities should not be avoided absolutely.
(26) According to one embodiment of the invention, at the conclusion of a call, the caller is prompted through an IVR to immediately assess the interaction, allowing a subjective scoring of the interaction by the caller without delay. This information can then be used to update the stored profile parameters for both caller and agent, as well as to provide feedback to the agent and/or trainer. Under some circumstances, this may also allow immediate rectification of an unsatisfactory result.
Example 1
(27) Each agent is classified with respect to 10 skills, and each skill can have a weight of 0 to 127. The skill weights may be entered manually by a supervisor, developed adaptively, or provided by other means. These are sent as a parameter file to the communications server.
(28) A rule vector specifies a normalized contribution of each skill to apply to the total. This rule vector, for example, represents the call characteristic vector. Thus, attributes of the call and the status of the system are analyzed to generate this rule vector. There can be more than one rule vector defined in a project (split), or a rule can be setup in a per call basis. Generally, routing with predefined rules is much more efficient than routing with rules in a per call bases. When a call needs to be routed to an agent, the rule vector is applied to the skills of the available agents and a score is derived for each agent. The agent with the highest score is assigned the call.
(29) TABLE-US-00001 TABLE 1 Rule Agent Agent Agent Agent Agent vector 1 2 3 4 5 20% Skill 1 20 5 3 5 4 5% Skill 2 3 3 3 3 3 10% Skill 3 10 6 9 10 10 15% Skill 4 43 50 33 46 25 3% Skill 5 7 2 9 2 8 7% Skill 6 5 8 5 8 9 20% Skill 7 2 3 4 2 2 8% Skill 8 64 80 29 45 77 5% Skill 9 4 5 4 1 2 7% Skill 10 9 3 8 3 6 100% Score 18.51 17.33 11.1 13.93 13.65
(30) As shown in Table 1, Agent 1 would be selected, since this is the highest score.
(31) In this example, it is presumed that all selections have the same cost, and therefore the utility only varies. Thus, the agent with the highest utility function is the optimal selection.
Example 2
(32) The conditions below are the same as in Example 1, except two new factors are provided, Ac1 and Ac2. The Preliminary Score is calculated as the sum of the products of the Rule Vector and the Agent Vector. The Final Score is calculated as (Ac1sum)+Ac2.
(33) In this case, Ac1 represents an agent-skill weighting cost function, while Ac2 represents an agent cost function. Since we select the maximum value, more expensive agents have correspondingly lower cost values.
(34) TABLE-US-00002 TABLE 2 Agent Agent Agent Agent Agent Rule Vector 1 2 3 4 5 Ac1 0.4 0.55 0.45 0.7 0.6 Ac2 6 3 6.8 2 5.5 20% Skill 1 20 5 3 5 4 5% Skill 2 3 3 3 3 3 10% Skill 3 10 6 9 10 10 15% Skill 4 43 50 33 46 25 3% Skill 5 7 2 9 2 8 7% Skill 6 5 8 5 8 9 20% Skill 7 2 3 4 2 2 8% Skill 8 64 80 29 45 77 5% Skill 9 4 5 4 1 2 7% Skill 10 9 3 8 3 6 100% Pre- 18.51 17.33 11.1 13.93 13.65 lim Score Final 13.40 12.53 11.80 11.75 13.69 Score
(35) As can be seen in Table 2, Agent 5 is now optimum.
Example 3
(36) In this example, a limiting criterion is imposed, that is, only agents with a skill score within a bound are eligible for selection. While this may be implemented in a number of ways, possibly the simplest is to define the range, which will typically be a lower skill limit only, below which an agent is excluded from selection, as a preliminary test for availability.
(37) As noted below, the screening criteria may be lower, upper or range limits. In this case, the screening process excludes agents 2, 3, and 5, leaving agents 1 and 4 available. Of these two choices, agent 1 has the higher score and would be targeted, as shown in Table 3.
(38) TABLE-US-00003 TABLE 3 Rule Vector Min Max Exclude Agent Agent Agent Agent Agent Skill Skill Agent 1 2 3 4 5 Ac1 0.4 0.55 0.45 0.7 0.6 Ac2 6 3 6.8 2 5.5 20% 0% 25% Skill 1 20 5 3 5 4 5% Skill 2 3 3 3 3 3 10% Skill 3 10 6 9 10 10 15% 40% 100% 3, 5 Skill 4 43 50 33 46 25 3% Skill 5 7 2 9 2 8 7% Skill 6 5 8 5 8 9 20% Skill 7 2 3 4 2 2 8% 30% 75% 2, 3, 5 Skill 8 64 80 29 45 77 5% Skill 9 4 5 4 1 2 7% Skill 10 9 3 8 3 6 2, 3, 5 excluded 1, 4 available 100% Prelim 18.51 17.33 11.1 13.93 13.65 Score Final 13.40 12.53 11.80 11.75 13.69 Score
Example 4
(39) In this example, the optimization seeks to optimize the placement of 5 incoming calls to 5 agents. As shown, each caller is represented by a different call vector, and each agent by a distinct skill vector. The optimization therefore seeks the maximum utility from the respective possible pairings.
(40) Using a combinatorial analysis as shown in Table 5, the maximum value as shown in is 62.42, which represents the selection of agent 1/caller 1; agent 2/caller 5; agent 3/caller 4; agent 4, caller 2; and agent 5, caller 3, as shown in Table 4.
(41) TABLE-US-00004 TABLE 4 Rule Rule Rule Rule Rule Vector Vector Vector Vector Vector Agent Agent Agent Agent Agent SKILL 1 2 3 4 5 1 2 3 4 5 1 20% 25% 17% 20% 14% 20 5 3 5 4 2 5% 10% 5% 5% 3% 3 3 3 3 3 3 10% 15% 20% 10% 8% 10 6 9 10 10 4 15% 10% 5% 5% 5% 43 50 33 46 25 5 3% 0% 5% 8% 1% 7 2 9 2 8 6 7% 10% 13% 10% 7% 5 8 5 8 9 7 20% 10% 5% 10% 20% 2 3 4 2 2 8 8% 4% 8% 4% 8% 64 80 29 45 77 9 5% 8% 13% 18% 23% 4 5 4 1 2 10 7% 8% 9% 10% 11% 9 3 8 3 6 100% 100% 100% 100% 100% Rule 1 18.51 17.33 11.1 13.93 13.65 Rule 2 15.4 12.39 8.72 10.77 10.12 Rule 3 15.25 13.31 8.97 10.54 12.71 Rule 4 12.74 9.91 7.6 7.89 8.98 Rule 5 13.69 12.83 8.24 9.03 11.09
(42) TABLE-US-00005 TABLE 6 Combinatorial Analysis 259.5527 255.3573 256.3383 289.6307 267.1886 254.8785 256.3595 289.1519 255.0903 246.9756 247.4191 280.2116 264.8651 256.7504 255.7129 291.0701 309.1051 300.9904 367.4349 302.5176 236.6543 232.4589 235.0236 290.7144 244.2902 231.9801 234.5448 290.2356 232.1919 224.0773 219.4143 275.1051 243.0504 234.9358 227.7081 284.8799 310.1888 302.0741 339.4301 296.3275 260.9604 259.9429 259.9962 292.7886 268.6163 260.932 260.9853 293.7777 259.6759 253.0292 248.887 281.6795 268.023 261.3763 257.1808 292.538 312.263 305.6163 301.4206 303.9855 230.1658 163.4004 231.9914 287.6822 246.8016 234.7961 234.8494 290.5402 231.6711 226.8933 222.7511 278.4419 240.0182 235.2403 231.0449 288.2167 307.1566 302.3787 298.1833 299.6643 224.1784 223.1409 225.7056 295.3001 231.8143 224.1300 226.6947 295.2892 222.8739 216.2272 211.5642 281.1587 233.7324 227.0857 219.8580 289.5057 314.7744 308.1277 300.9000 300.9533 225.2621 218.0345 219.3155 289.1099 232.8980 220.8025 222.3735 291.9679 217.7675 212.9896 213.4331 283.0276 227.5423 222.7644 221.7269 291.3746 308.5843 303.8064 302.7689 302.8222
(43) TABLE-US-00006 TABLE 5 Combinatorial analysis of agents vs. callers 58.85 59.52 58.77 59.58 60.68 58.79 58.04 58.85 60.28 57.72 58.12 58.93 60.42 57.86 59.01 60.15 59.26 56.70 59.96 58.18 57.88 58.55 58.88 60.66 59.71 57.82 58.15 59.93 59.31 56.75 55.41 57.19 60.53 57.97 56.30 57.33 60.34 57.78 57.25 55.36 60.13 61.28 59.25 60.06 61.96 61.33 59.3 60.11 62.04 60.26 58.9 59.71 60.90 59.12 59.79 60.93 59.74 57.96 58.63 58.96 60.24 49.54 56.54 58.32 62.07 58.99 56.96 58.74 59.33 57.92 56.56 58.34 58.19 56.78 57.45 58.48 58.00 56.59 57.26 56.51 58.66 59.81 60.14 62.42 60.49 59.86 60.19 62.47 60.57 58.79 57.45 59.73 61.79 60.01 58.34 58.59 62.10 60.32 58.65 56.62 59.74 58.07 57.32 59.6 61.57 58.49 57.74 60.02 58.83 57.42 57.82 60.1 58.97 57.56 58.71 58.96 59.28 57.87 59.02 56.99
Example 5
(44) Similarly to Example 4, it is also possible to include an agent cost analysis, to provide an optimum cost-utility function. As in Example 2, the cost factors are reciprocal, since we select the largest value as the optimum. Likewise, time factors are also reciprocal, since we seek to minimize the time spent per call. In this case, the cost analysis employs three additional parameters: the agent cost, a value representing the cost of the agent per unit time; a value representing an anticipated duration of the call based on the characteristics of the caller; and a value representing the anticipated duration of the call based on characteristics of the agent
(45) TABLE-US-00007 TABLE 7 Rule Rule Rule Rule Rule Agent Agent Agent Agent Agent SKILL Vector 1 Vector 2 Vector 3 Vector 4 Vector 5 1 2 3 4 5 Caller 3 3.5 2.75 4 10 time factor Agent 0.59 0.68 1 0.86 0.79 Cost Agent 1.3 1.3 1 1.1 1.2 time factor 1 20% 25% 17% 20% 14% 20 5 3 5 4 2 5% 10% 5% 5% 3% 3 3 3 3 3 3 10% 15% 20% 10% 8% 10 6 9 10 10 4 15% 10% 5% 5% 5% 43 50 33 46 25 5 3% 0% 5% 8% 1% 7 2 9 2 8 6 7% 10% 13% 10% 7% 5 8 5 8 9 7 20% 10% 5% 10% 20% 2 3 4 2 2 8 8% 4% 8% 4% 8% 64 80 29 45 77 9 5% 8% 13% 18% 23% 4 5 4 1 2 10 7% 8% 9% 10% 11% 9 3 8 3 6 100% 100% 100% 100% 100% Rule 1 72.189 58.80069 19.647 31.71861 36.855 Rule 2 70.07 49.045815 18.0068 28.610505 31.878 Rule 3 54.51875 41.3974275 14.553825 21.999615 31.45725 Rule 4 66.248 44.83284 17.936 23.95404 32.328 Rule 5 177.97 145.1073 48.616 68.5377 99.81
(46) As can be seen in the combinatorial analysis of Table 6, the maximum value is 314.78, which corresponds to a selection of:
(47) Agent 1/Call5; Agent 2/Call 1; Agent 3/Call 4; Agent 4/Call 2; and Agent 5/Call 3, as shown in Table 7.
(48) Therefore, it is seen that the optimum agent/caller selection is sensitive to these cost factors.
(49) It is also seen that, while the analysis can become quite complex, the formulae may be limited to evaluation of simple arithmetic functions, principally addition and multiplication, with few divisions required. Thus, these calculations may be executed efficiently in a general purpose computing environment.
(50) From the above description and drawings, it will be understood by those of ordinary skill in the art that the particular embodiments shown and described are for purposes of illustration only and are not intended to limit the scope of the invention. Those of ordinary skill in the art will recognize that the invention may be embodied in other specific forms without departing from its spirit or essential characteristics. References to details of particular embodiments are not intended to limit the scope of the claims.
(51) It should be appreciated by those skilled in the art that the specific embodiments disclosed above may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.