CA2298266A1 - Dynamically allocating server resources to competing classes of work based upon achievement of service goals - Google Patents

Dynamically allocating server resources to competing classes of work based upon achievement of service goals Download PDF

Info

Publication number
CA2298266A1
CA2298266A1 CA002298266A CA2298266A CA2298266A1 CA 2298266 A1 CA2298266 A1 CA 2298266A1 CA 002298266 A CA002298266 A CA 002298266A CA 2298266 A CA2298266 A CA 2298266A CA 2298266 A1 CA2298266 A1 CA 2298266A1
Authority
CA
Canada
Prior art keywords
server
value
work type
work
preference value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002298266A
Other languages
French (fr)
Inventor
Thomas J. Edwards
David Mullen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Mosaix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mosaix Inc filed Critical Mosaix Inc
Publication of CA2298266A1 publication Critical patent/CA2298266A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5237Interconnection arrangements between ACD systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K11/00Filling devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K8/00Pens with writing-points other than nibs or balls
    • B43K8/02Pens with writing-points other than nibs or balls with writing-points comprising fibres, felt, or similar porous or capillary material
    • B43K8/03Ink reservoirs; Ink cartridges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • H04M3/5234Uniform load distribution

Abstract

A facility far adjusting a number of servers assigned to server pools for performing certain work types on the basis of unmet service needs in a work processing facility. Servers may include service agents, both human and robotic. A server assignor and a corresponding server assignment method may each be employed in a work distributor or an automatic call distributor ("ACD") to conditionally adjust sever availability in server pools.
The server assignor compares a composite preference value for a work type against each server's thershold value for the work type. When the server assignor determines that the composite preference value is greater than or equal to a server's threshold value, then the server assignor indicates that the server may be included in the server pool for that work type. Each server has preference values and threshold values for different kinds of work. The magnitude of a preference value represents an affinity for the work type. The server's threshold value represents a reluctance to perform work having that work type. The server does not normally receive work for which the preference value is less than the threshold value, unless the server assignor determines that the composite preference value exceeds the server's threshold value for that work type. The server assignor and corresponding server assignment method may compute the composite preference value from a number of user-selectable inputs and utilize a number of user-selectable functions.

Description

0a?~08~2000 10:46 CA 02298266 2000-02-08 t~.568 D03 pYNAII~ICALf.Y ALLOCATING SKAVb'.R ~S4URC~S
To cOMP~T1NG C~.ASS$s of W OAK
$A9$p in'Oh ACVEMTNT Op' STItYICE GQAGg TECHNiCAX. FIELO
The present invention is directed to the field of service provider allocation.
HACKGrR4UNp OP TxE INVENTION
Many Rervice organizations need to dyuataicalty allocate their servers in order to attain certain goals. Such altoce~tion is typically performed manually.
Servers may include service agents, both human and robotic. Increasingly, external perforntanco moastuea of ~v'ico delivered dominate internal cost measures, such as utilization and labor costs. Such external measures oRen consist of classifying certain transactions into mocking or not meeting desired ob~ectivea wnd determining a proportion of those transactions meeting objectives. Suet a proportion is called a I S service level. The service level is nreaeured over settle period of liras or over some number of transactions.
ERamples of service levels are the percentage of customer problems resolved without further activity, the percentage of dispatched taxicabs that reach the rider within the coz~unitted time, the proportion of telephone calls handled by a 24 qualified representative without requiring a transfer or referral to another server, the proportion of telephone calls that can be connected t4 a server without delay, the proportion of o-mail requests that are answered within 24 hours, the-_percentage of an-time departt~r~a of city buaas on a particular bus route on weekdays, the proportion of tranaaetioax handled not resulting in a customer complaint. the 25 proportion of preferred customer calls handled by fully qualified servers, the percentage of Spaniab customers handled by a server fluent in Spanish, the percentage of telophon~ calls not abandoned by the customer before connection w a server, the percentage of customer inquiry telephone calls that era not blocked at 'the 0:?~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D04 central once switch, the percentage of customer sessions with the self service World Wide Wab pages that are sot aborted while waiting for a display, the percentage of customer requeatg via telephone that can be completed imaxdiatcly while on the phone, the percentage of loan applications processed within one-half hour from the time of the request, and the percentage of priority telephone calls answered witbia 8 seconds and handled properly by a qualiftad aetver, to name a few.
A service organization's goal for a service lave! in this context is a particular desired v~ue of the service level. The Qaal is said to be satisfied if the attained service level ie at least as high as the desired service level for the goal.
Conversely, the goal is said to be 4nattainod if the realized service level is less than the desired service level. For exempla, the goal of at I~at 85% of telephone calls from preferred customers each day being anewexed within 1Z seconds would be attained if, among the telephone calls from ptaferted customers during the current day, 87% were answered within 12 seconds; iaveraely, if only 84°/. of such calls are answered within 12 soconda, the goal would be unattained. Xn this framework the goal is either attained or not. Moreover, no extra benefit is accrued for attaining a service level much higher than the goal.
A service level goal is ono commonly used in criteria for contingency actions, inchrdiag exceptional allocatiops of resources. Other relevant performance goals ire this context may include maximum values for a~can wait times, current qua~o conditions, caiaimum t~umbar of transactions throughput is a work shift, and meastlrea involving various determinable factors indicative of 9uality service.
The number of server reaoutces allocated to a type of service olsen affoCts the service level achieved for that type of sorviea. When such is the case, the operation can usually reallocate servers to the subject work in order to achieve service level Boale. Such reallocation generally iacura opportunity cost;
however, since service levels far other work su~era. One can often justify this opportunity cost based on an appropriate priority hierarchy as might bo established by the enT~erptaso's operating rules.

0;~~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D05 Fot example, suppose aervera as a call capter can handle both loan aerviciag and sales servicing transactions. When wore servers are aBSigaed to sales activities, salsa servicing traaaactions expariotxo a higher service level on anss~rer delay -- tb~t is, the autount of time required to answer each sales call declines.
Meanwhile, the loan servicing calls are not anew~ed as promptly, reducing the service level for loan aetvicing trsaaactiona. The service organization may rationalize this by saying that loan aervieing is relatively less anpottant because rt is not very likely that an existing customer will switch loan companies, and that the cotapany presently needs to acquire new customers that could easily take their Mrsineae to a cot»petitor if their calls are not answered promptly. 'fhe service organization wants to satisfy the goal of loan servicing, but not at the exponae of failing to reach the goal in aalea. When the sales goal is not in jeopardy, but the loan servicing is failing to meet its goal, the aervico organization desires to allocate more resources to loan servicing. Tha service orgat<izatipn wants to meet both goals, but the sales goal is more important than the loan servicing goal and so may preempt it. That is, if the operation can only meet ope goal it should be the sales goal.
Within a set of servicing goals, there may be gpal9 that rolatc to work having a short "opportunity window" as well as goals for work having a long opportunity window. An example of short opportunity window work is a telephone call, which if eat answered in several tens of seconds may be abandoned by the caller with lirttited patience. An example of long opportunity window work is a letter from a custat~er regarding a billing adjust~rreat that has until the next billittE
cycle to complete. Thus, the operation has a very short dine fratno for meeting service objectives associated with short opportunity window work wb~lQ tke window of opportunity to achieve aorvice objectives aasoeiated with long opportunity window work ie much broader. Hence there may be productive operational etrateg~eS to temporarily allocate more .resources whe ar~ performing long oppomitdty window work to short opportunity window work is order to meet the servicing goals for the abort opportutrity window work.

0i?~08~2000 10 : 46 CA 0 2 2 9 8 2 6 6 2 0 0 0 - 0 2 - 0 8 y~Ip . 568 D06 Many service orgaaixations good to dynamically allocate their servers to achieve desired results. Manual interveataons typically effect such reallocations.
Often aervars are held in abeyance, not available for certain types of work, although they Satisfy the skill pro~lo required for the work type. However, if conditions so warrant they might be asaigaod to the won type. The server is said to be a backup server with respect to that work in such a case whore tbo server is sot usually utilized for that type of worlr.
The desire to allocate more server resources to an activity is typically eonti~geat upon the alternapve activities that the server resources can perform and the demand for sucb alternative activities. Each of these alternative activities is also potentially associated with variou9 aavice levels, each of which has a goal and a level of attaiameitt. Copeaguently, the reallocation of resources can depend upon service measures for all alternative work typos associated with each of the server resources.
Manually performing such a potentially comple~c allocadoa function can produce aigttificantly sub-optimal results. Of3en, manual allocation cotaea too late and leads to snore ~roblema when the reallocated servers are not returned to their preferred work soon enough.
Meet automatic call distributors ("ACpe") have a feature that is generically called "call overl~ow." Call overflow makes a server group available for a caU queue contingent upon selected conditions. However, AClas generally lack facilities for bolding a server in abeyance from receiving calls contingent upon appropriate dynamic conditions. Generally, the ACp requires explicit control of ttar process of getting a call to a server but provides little explicit cpntrol of the process of getting a ewer to a call. However, the server's viewpoint of a work type iS
often critical is choosing between alternative work in order to msximixe the aggregate completion of work.
Tho advent of skills-based routing, la wbtch the Bkilla of each individual server are considered in allocating servers, complicate~a the situation.
Skills-based routing cannot tolerate Simplifying fragmentation of resources into 0a?~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D07 monolithic pools whore die~inguishing skills are ignored. For -this reason, conventional ACDa ae wdl a$ workflow automation systems fail to met this seed.
Work distribution syacema may force users to manipulate aervet "skills" is order to affect a reallocation of servers, as discussed above.
ACDa and 5 other automatic work distributors may report "acrvice levels" only on skill demsads or on soma triad of qu~iag pout oa a diatri~tion reap. However, sometimes a "skip" is actually a type of work instead of an attribute of the eatvefr's capabilities.
Tbeae coavontioaal solutions constitute potentially sewers liaritations on the moaitQring and copttol of service levels important to the service organia~tion.
In Chic enviroataent, the service organ~atioa waata to provide preferential treatment to work activities in s hierarchy that ensures that tie beat work item is given to a aetver in view of service goals sad the stated priorities of these goals. An automated system that dynamically expands a ppol of server$
available for work types based ou the attainmoat or son attaintaeat of deteamiaable service goals pertaining to the work types in a work processing facility would have significant utility.

'fh~e present invention provides a facility for adjuatiag s number of aetvere available for particular work types based oa unmet or jeopardi~od service seeds is a work ptoceeaing facility. Servers may include service agents, both human and robotic. A server asaigaor sad a correapoadiag server aeaigacrtettt method may each bo employed in a work distributor to conditionally adjust the assignment of servers to server pools. An example of a common work distributor wltere work itetas arc represoatod by incoming phone sails is art automatic cal) distributor ("ACD").
The eBrver assignor compares a composite profereace value for a.
work typo against each server's threshold value for the work type, according to an ambodimeat of the invention. 'Whop the server aaaigaor determiaea that the contpoaite preference value is greater tbaa or equal to a server's threshold value, 0~?~08/2000 10:46 CA 02298266 2000-02-08 N0.568 D08 then the server aaeigaor indicates that the server may bo included in the server pool for that work type. Each server bas a preference value and a threshold value for different work types. The magnitude of a preference value represents as affinity for the work type. The sorvar'a threshold value reproserlte a reluctance to perform work of that work type. Servers do sot normally receive work having a work type for which their preference value is less than their threshold value for this work type, ualese the server assignor has determined that the weaver's composite preference value exceeds the server' a threshold value for that work type, according to an embodiment of the invention.
The server assignor and correapoadiag server ~9lgnment method may compute the composite preference value &ora a number Of user-selectable iapucs sad utilize a .somber of user-selectable functions, according tp an embodiment of the invoatioa. The composite preference value may iactudo a dynamic preference value that bas been calculated from inputs such as savico levels, queue conditions, a desired service level, alarm conditions, answer delays, call abandonment rates, and operator intorventioas, Ia ono embodirnet~t of the invention, the composite preference value function's inputs coeaprise the server's prefer~ce value for the work type and a dynamic preference value for that work type. Accordingly, the composite preference value in this embodiment considers both the sewer's specific prefereacoa for various kinds of work sad the work pr~~iag facility's current get~ecat preferences for batuiliag various kinds of work based oa broader conaidoratioas iacludiag goals.
The server assignor may utilize say of myriad composite preference value fut~taotra that receive as inputs the work type's dynamic preference value and 2S the aQrver'a preference value for the work type, according to an embodiment of the invon~tion. A simple composite preference vahae functi4.n comprises sutaming the server's preference value for the work type and the work type's dynamic pteference value.
The server aseigaor sad its corresponding server asaignmeat method apply a dynamic expediency demand of work to effect an expansion is the server 0a?~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D09 pool far work types having utunet goal9. The server assignor and server assignment method allow a wprk processing facility to utilize backup servers commensurate with the effect of operatiouat rules for expediting worJc, The server assignor and server assignment method eaablo the utilization of backup servers without undue c4nstraints upon the work processing facility sad the server organixatioa.
HRi>rF DESCRIPTION of T~ GaAwiNGs An embodiment of the invention will be described below relative to the following figures. Note that similar elements and steps in the figures have the same reference number.
Figure 1 is a high-level block diagraaa of a sample general-purpose computer system 100 upon which s server assignor 102 may execute, according to an embodiment of the invention.
Figure 2 is a server preference table 200 illustrating the preferences of vscious servers far the various work types 202 that ropreseat types of work 1S performed in the work processing facility, according to an entbodiinent of the invetstioa.
Figure 3 is a diagram showing a table 3Q0 illustrating server preferences pnd thresholds for work type9 performed in the work processing facility coupled with a composite preference value far the work type, according to as embodiment oFthe Invention.
Figure 4 is a flowchart illustrating the geaoration of composite preference values using the server assignor 102 or its corresponding method.
according to alt s~xtbodimoat of the iaveation.
Figures SA and 58 are a flowchart illustrating the aecvec dispatch 2S procedure, according to as a~bodiment of the invention.
Figures bA~6D illustrate the change in ssaigament of servers to various server pools b03-b05 over time due to the server assignor 102, according to as embodiment of the invention.

0;~~08i2000 10:46 CA 02298266 2000-02-08 N0.568 D10 Figure 7 is a diagram ahowin8 a table ?00 that includes a dynamic preference value column 701, according to as alternatavo embodiment of the invention.
$iguro 8 t<s a server prefereaco table 800 ilhu~trating the preferences of S various servers for the var;oua work typos 202 tbat represent typos of work performed in the work processing facility, according to an embodiment of the iaventioti.
P'i~ure 9A is a high-level block diagram of another gareral-purpose computer system 100 that includes a threshold value determine 911 and a composite preference Evaluator 910, according to as atteraativo embodiment of the invention.
Figure 9B is a flowchart illustrating some of the operations performed by the composite preference evaluator 910, according to an ernbodir»oat of the invoation.
Figure 10 is a table 1000 illustrating server prefereace~s end thresholds 1S for work types perforated in another work proceeain~ facility coupled with a composite preference value, according to as oinbodimont of the inventiaa.
Piguro 11 illustrates a distributed server assigiunent system 1101, according to an embodiment of the invention.
pETAD..~I) pBSCRIPTION OF THE INVENTION
The present iavontion provides a facility for adjusting a pool of servers available for particular work typos based an unmet service needs in a work proco'siag .facility in order to maximize tbo achievat~aut of service goals.
Servers naay include service agents, both human and robotic. A server assignor and a corresponding server aseigumont method may ouch be etttployed is a work distributor to conditionally adjust the asaiennaont of servers to server pools. A server pool ropreaoute a sot of servers, each of which has a preference aui~tcient to render him availabie to perform a certain work type. A server can bolortg to none, one, or more server pools. An example of a comcnoa work distributor wh~B work is incoming telephone calls is as automatic call distributor ("ACp").

0:?~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D11 Each Server has a preference value attd a threshold value for different work types. The magnitude of a preference vah,te represents an atftpiry for the associated type of work. The server's tJueahold value repreeettta a reluctance to peafot7tt work of that work type. ~lormally, the server does not recave work far a work type for which the preference value is leas than flee threshold value.
However, when the server assignor determines that the composite prafereace value for a work type is no longer lees than the server's corresponding threshold value for that work type, then the server assignor indicates that the server may be included in the server pool for chat work type.
The server auty have just one threshold value for all - work types, according to one embodiment. Additionally, the threshold values atul the server preference values can be dynamically based upon other automated control systems ~ systems that integrate manual inputs from aupecvisory operators with dynamic service and utilization charactaristica.
1 S The server assigrwr may compute the composite preference value from a number of tier-selectable inputs using a cumber of user-selectable functions.
The composite preference value may include a dynamic preference value for a work type that has been calculated from a variety of inputs, such as service yevels, queue conditions, alarm cortditaons, a desired service level, answer delays, call abandonment ZO rates, and opar'ator intervantioaa. ra one ombodiirteat, the inputs of the composite preference value function cotnprieo the server's preference for the work sad a dynamic preference value that is an attribute of the work type. The dynamic preference value represeate the work procesaiag facility's preference for having servers porfortxt a particular type of work in compariapn to other types of work, 25 typically without reference to server preferences.
The server assignor could utilize any of myriad functions for a copaposite preference vahae that receive as inputs the dyaami.c preferaace value and the server's preference value for the work typo. Those fupctioaa can also receive sa inputs other information such as work arrival rates, goal attainment, and other 30 relevant iaformatiott rewired to support the server assignor. A siuaple composite 0a?~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D12 preference value fuactioa compriaea summing the server's preference value for the work type sad the dynamic preference value. Work typos for w'ch the server is basically ut~quslif~ed (without a preference value) normally (at least in a preferred emboditttaat) receive no cornposito preference value xegardlees of .the dynamic 5 preference value.
The confluence of the consideration of many types of attributes can daermine the work types depending on how the eator'prlae'a work operation wants to organize. The woxk type could be determined by a combination of the task required, the product, the coranaunieations n~ediutn, geographic, governmental 10 jurisdiction, dem4graphic, language, skill, type of service, customer profile, stage in sales process, and regulatory classes. Consider the following exarnplea. A
work distribution operation tnay weal to di~ereatiate expodieacy by type of media such as inbound telephone calls, electronic mail, World Wido Web hits. United States Postal Service mail, and other mail. It may want to provide a different setvice'prof le based 1 S upon the type of customer relationship such as prospective customer, new cuato~r, old custorncr, lost customer, and undesirable customer. It cpuld require different handling based upon regulatory constraints, such as particular sales tasks require a server that is licepeed in the elate where the client resides, while the sa~ae task can be handled by any server for cuatocnera in otb~' stateQ. Aa inquiry to a cellular telephone company may ba classified geograpbic~ly in order to satisfy different processing coast~ainte due to regulation by contain public u#litiea commissions.
Prospects and cuatomare could be classified according to vorious tnarkat augments to facilitate a market aogmontation strategy. Demographic factors such as age, income, education, occupation, apd household size could ba need to identify customers in 2S various target markets far various product lines. The work distribution could reguire eJaasifleatioa by the type of task, such as address change, billing inquiry, loan request, solicited sale, unsolicited sale, sale actosa product line, technical support, complaint, problem identification, and problem resolution, Typically, combinations of such work and customer attributes e~Pfect a very catnplicated set of work types.

62~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D13 The present invention supports such complicakione vv~thout the iael~cieaciea of unduly fragmenting the Server population into small static pools.
The usor-solactablo composite value function should bo rnonotoaically increasing witb reepoct to both the dynamic preforonce va>~e and the server's preference value, according to a preferred embodiment of the invention. That is, if the sorvor'a preference value increases or decreaeee thon the con~poaite preference value increases or decreases, respectively, with all other things being equal.
.Likewise, if the dynamic preference value increases or decreases then the composite preference value increases or decreases, respecxively, with all otber things being equal. ~f course, the skilled artisan will recognize that the c4mposiie preference value function could utilize additaoaal inputs or even fewer inputs, depending on the needs of the server assignor sad the work processing system, and should also recognize a variety of suitable methods for producing a composite preference value function from these inputs. Some embodiments may utll'rze overriding control taws that dynamically manipulate the selection of the composite value function so as to achieve other desired operating characteristics. Ex~taples of other desired operating characteristics include equal aUoe~tion of service level performance in excess of the associated gods, equal utilization of servers, damping of fluctuations irr service level attainment, damping of fluctuations in server idleness, and mode-specific behavior.
2G1 The overriding control laws may conatatute another layer of control on top of the rnetbod of the user-sel~table composite preference value in these enaDodiracnts of the invention.
An exemplary method and eyat~n for computing a dyctaaric component in a composite preference value is disclosed is U.S. .patent Application No. "Hierarchical Service Level Remediation for Competing Classes Haled Upon Achievement of Service Level Goals," bled on February _, 1999, asaigruod to the Mnsarx Corporation, and which is incorpprated herein by reference.
The serves assignor and its carrespondir~ server assignment method apply a dYnartnc expediency decanand of work to efrec~t an expansion in the server pool for work types having unmet or marginally achieved gpals. Likewise, the server 02~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D14 assignor can o~ect a contraction of a server pool for work types deemed to have a disproportionate supply of available servers. The server assignor and server aaaigameat method allow a servicing operation to utilize servers cotnmettsurate with the erect of operational rules for expediting work sad dietcibutiag work fairly S according to operating culea. This can help eliminate taanual intervention to reallocate servers based on realized resorts. As previously discussed, manual dispatching ie often too late sad leads to more problems when the reallocated servers are sot retNrned to their preferred work sees enough to cpeet goals. The server aagignor and server assigatnent seethed dynatuicaUy enable the automatic shared utilization of backup servers for a work type without undue constraints upon the work proceaaiag facility and the server organization. The server assignor sad server assigntuent method can improve customer Service by meeting service goals and reduce the burden on supervision by reducing the hoed far server reallocations effected by manual iaterveatioa.
1 S The server assignor is particularly helpful in mitigating service deraands associated with work types that are subject to service tev~ goals. As previously discussed, the service level goals may relate to as enterprise's operating rules. These work typos have classes of service detnande that are. herein called service classes. A service class is merely the part of the service level goal that defiaos the sot of traASSCtions that apply to the goal. The desired service level and the criteria for chesif~ing the service into good or bad are sot part of the service class. For example, assume an operation has the goal of processitag 80'/0 of the e-mail inquiries from premium prospects. within 6 hours. The "e-mail inquiries from premium prospects" is the service class that pertains to the goal. Whether or not a server processes an inquiry within 6 hours does not affect membership in the service class, and the e0a/o goal value ie not part of the deftaitioa of the service class.
The rolatiaaship between work types sad service classes is frequently complicated sad is certainty not trivial. Service classes are not necessarily mutually o~clusivo, nor are they necessarily collectively inclltsivo. Service classes may be dined by attributes not related to server skills or they cosy be defined by the setae 02i08i2000 10:46 CA 02298266 2000-02-OS N0.568 D15 attributes that define server skills. Additionally, more than one goal rnay pertain to a service class. With regard to server preferences, the work type is frequently a more pertinent characteristic than service class, according to as embodiment of the invention.
S Tho dyaa~nic preference values of the work types tote a vector that fu~ctiona a~ a control input to a server assignor iu a work distributor.
The dyrJamic preference values may sway decl9iOn9 on server aasignmanta to work.
The work distributor biases server distribution to work types in accordance with the magnitude of their preference values. Without the operation of a rxtacbine that t 0 utilizes dynamic preference values associated with work type, the work distributor or ACS can still function, but with a diminished ability for expanding or contracting a eorvar pool automatically. With a machine using the server assignor, the work distributor ot~joya a dynamic server pool that enables the attainment of the goals associated with various service classes-t 5 Por example, in a situation in which a work distributor would normally have exhausted all servers marked as asaigusble t4 trauaactions of a first service class, in the presence of the server assignor, the work distributor may have additional servers marked tie asaignable once the service organization's goals associated with the first service cleae become suR'tcaetttty jeopardized, relative to 20 other goals in terms of priority. According to an embodiment of the iav~tion, the server assignor explicitly expands the pool of available servers, while the control of distributing work itanS to servers remain3 with the work distributor.
According to another embodit»eat of the invention, the server assignor implicitly expands the pool of available servers is the process of selecting work items for each server.
The 25 dynamic preference values only affect work diatri6ution is a marginal sense. For exaaaple, a high dynamic preference value for a work typ~ will stilt not place a server in the pool for a work type for which he is totally unqualified. 'When no goats are in jeopardy, the server assignor caay assign a dynamic preference value of zero for aal service classes. in this cast, the work distributor watches servers without any 30 compensation for dynamic cqnditions.

02~08~2000 10:46 CA 02298266 2000-02-08 N0,568 D16 ~a While expansion of the server pool for work typos having jeopprdized goals may be a typical mode for the server assignor and its server assignment method, there may also be a need to limit resowcos from exceeding a service level gAal. In the situation whore aU goals are being nut, and some service levels are exceeding tl~ir goals much mare than other goals, then the operating rules a4ay t'ea<locate the servers is order to more evoaly dietrib~te the superior service, according to an embodimeat of the invention. For example, the dynamic preference may become negative, rather than positive, causing the coaaposite preference to be lower than a server's threshold. Whop the co~uposite preference falls below the throohold, then the server will temporarily be removed front the server pool for this work type until such a time that the service level goal becomes unmet. 'thus, in the case where all service goals are being met, the system can balance between work by expanding resources sad contracting resources for any one work type to provide greater consistency across work types.
Figure 1 is a high-Level block diagrat~ of a sample geaeral-purpose cotnp>ater system 100 upon which a server assignor 102 easy execute, according to an embodia~rant of the inveatioa. The computer system 100 may be contained within a work processing facility, according to an embodiment of the invention. In another embodim~t of the iaveation, the work processing facility may itself be contained within the computer system 100. The contputor system 100 contains a central processing unit (CPLl) 110, input/output devices 120, sad a cotnputcr meaaory (rtienaory) 130. Among the input/output devices is a storage device 121, such as a hard disk drive, and a coanputet-readable ~nodia drive 122, which can be used to itiatall software products, iacludiag server assignor 102, which ate provided on a computer-readable medium, such as a C~-RUM. The inpuUoutput devices 120 further include a aonnaetion 123 to servers sad transaction sources from which transactions are received. For example, the connection 123 may be used to connect the computer system to one or more computer telephony interfaces, World Wid.o Web servers, or Wortd Wido Wob browsers. This connection is usable by the server assignor 142 to examine servers, make servers available for applications sad 02~08~2000 10:46 CA 02298266 2000-02-08 N0.568 Dl?
is transactions, and monitor the processing of trausaetio~e by servers. The memory 130 preferably contains the server aaaigaor 102.
While the server assignor 102 is preferably implemented on a computer system configured as described above, those akiUed in the art wilt S recognize that it may also be ixaplem.entod on computer systems having different configura~oaa. For example, the server aseigaor 102 u~y be implemented on a ootnputer ey~teta having different components thaw described above. The server assignor 102 slay also be impleme»ted on special-purpose computing systerna, such as those in a call center. The server aaaiQnor 10z xuay further be ianplemented without software in special-purpose hardware, using, far example, application-apeafic integrated circuits ("ASICa"). An automatic call distributor ("ACD") in a call center of a work flow automation eyatarn iaay also include the server assignor 102 as part of its fu»ctionality.
Ia Qrder to more fblly describe the details of the aerva assignor 102, its operation iu conjunction with a specific example is discussed hereafter.
This exatttple is designed to provide a convenient basis for discussing the operation of the server asaigr<or 102, and therefore is not necessarily representative in s!1 senses of a typical application of the server assignor 102. Indeed, those skilled is the art will recognize that the server aaaigaor 102 may he appGad to scenarios that are both more extensive and diverse than the scenario portrayed in the exempla.
Figure 2 ie a server preference table 200 illustrating the prefarencea of various servers for the various work types 202 that reprcseat types of work pecfortned is the work ,proGssaing facility, according to ap erabodimont of the invention. each server is the system has a server xD 201. leach server may theoretically perform work ae9ociated with each possible work type 202 identified by the service orgaraixation.
each server has a praferance value 203 for performing work of a particular work type 202. The magnitude of a profereace value 203 represents as a~3nity for the associated work type 202. The magnitude of the preference value 203 may also repreaeat a measure of a server's skills with regard to tbo associated work 0~~08~2000 10:46 CA 02298266 2000-02-08 N0.56$ D18 lb type 202. Etch server bas a threshold value 204 tluit represents the server's reluctance for performing leeks aaaociated with a particular work type 202.
The threshold val4e 204 may also represent a measure of the server's disabilities with regard to performing the tasks associated with a particular work type 202.
Accorditlgly, the server preference table 200 has entries 205-209 corresponding to each server Ip 201 and each work type 202. For example, the entry 205 represents the preferencae of the aervar with server rD 100 with regard to the work type "calls frosty prospects." For this particular work type, the server ID l00 hag a prefer~ce value for the service claea of "8" and a threshold value ~pr the service daps of "9."
Notrnalty, the server do~s not do work for which the preference value is less than the threshold value. Accordingly', the server ID 100 would not normally porforrn tasks associated with "calls from prospects." On the other hand, as indicated in tlye entry 205, the server Ip 100 would typically porfosm tasks aeaociated with "claims calls"
206 since the preference vahte 203 for this work type is "a" while the threshold value 204 is "3."
Work types for which the server is basically unyuaiified have no preference value or a preference value of "0." For exatnple, the server 1D 10I
is not aua<ified to perform work associated with "calls from preferred customers" as shown in entry 209. Accorditvgly, the work distributor will not assign the scrvec 1D
101 to perform work associated with calls from preferred custosnera.
Figure 3 is a diagram showing a table 300 illusorating aervor preferences and threeholda for work types performed in the work processing facility coupled with a eompoaite preference value' according to an embodiment of the invention. The composite preference value aecoussta for not only asp individual's 2S prefere0ces for a particular work type but also the work processing facility's preferences with regard to the work type. Comparing Figures 2 and 3, it can be seen that the contcnta of columns 301-304 in the table 300 corraspor~d resp~etively to the contents 4f columns 201-204 in the table 200. The table 300 also includes an additional column: a cosnpoaite preference value colutnrt 305 that also represents the work processing ayatotn's overall preference for the respective server to perforu 02i08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D19 work that contains iho work type 302. For example, the composite preference value for Server tA 100's "calls from prospects" is "10" while the Server ID 100's cosnpositc preference value for "claims calls" is "8."
The server assignor 102 may utilize a variety of functions to compute the composite preference value that may include a dynamic preference for the work type. Al least one exemplary procedure for generating a dynamic preference value for a work typo is disclosed in U, S. Patent Application No. 09/149,877, "laynamically Aaeignitig priorities for the Alloeatiop of Server Etesources to Competing Classes of Work eased Upon Achievement of Service level Goals,"
filed l0 on September e, 199$, assigned to the Mo~aix Corporation, and which is incorporated herein by reference, Figure 4 ie a flowchart iuueu~atir~g the generation of composite preference values using the server assignor 102 or its corresponding axthod, according to an embodiment of the invention.
The server assignor 102 locates a server's preference value far a selected work item's work type (slap 401), In some etubodiments of the invention, the server assignor 102 determines the work type for the selected work iterrt.
In other embodiments of the invention, the deteraunatioa of the work typo for the selected work item niay be performed prior to the generation of composite prefaret~ce values, with thQ saver assignor 102 ai»iply locating the determined work type for the work item. 'rbe server assignor 142 may examine a leaver preference table, such as the server preference table 200 shown in Figure 2. Assume that the available server is tlm server 1~ 100 shown in the server preference table 200 of F~gute 2 and that the selected work type is "calls $om prospects."
Accordingly, the 2S server assignor 102 would identify the server ID 100'e preforeace for "calls from prospects" ae having a preference value of "8.»
The server assignor 102 locates tt~e dynamio preference value for the work item (step 402). As previously mentioned, the dynamic preforcpce value could be an attribute of the work type. A number of functions may be utilized in determining the dynataic preference value for the work type. For example, the 02i08i2000 10:46 CA 02298266 2000-02-O8 N0.568 D20 dyasmic preference value may be based upon attained service levels, queue conditions, a desired service level, alarm conditions, answer delays, call abandonment rates, or operator iatsrventione. Assume that the dynsrnic preference value is based upon a combination of attainrnent/not~-attainment of desired service level and a S priority for the work type. Accordingly, highs priority vuork types whose desired service levels are not presa~tly being attained will have higher dynamic preference values than ether work types, e.g., work types wltpso service levels are being attained or work types of tower priority. Assume further that the dynamic preference value for "calls ftom prospects" is "4."
The server assignor 1o2 locates the composite preference value function pr~cently selected within the work processing facility (step 403). As previously discussed, the salver assignor 102 allows for user selection of various parameters, such as flee composite preference value function. At various times, facility management, for e~carnplo, may determine that one composite prafereace value function is preferable to aaotber.
An exemplary coaapoaite preference value function might comprise adding the server's preference value for a work item's work type (step 4p 1 ) with the dynstaic preference value for tbc work item (step 402). Another exemplary composite preference value function might comprise multiplying the server's preference value for a work item's work typo (stop 401) with the dynamic preference value for the ~cvork item (step 402). Yet another exemplary composite preference value fiu~tior~ rnigbt comprise adding the server's preference value for a work item's work type (step 401) weighted acwrdiag to aaoth~ parameter with tl~e dyn~unic preference value for the work item (atop 402) also weighted according to another parameter. A variary of scaling factors may also be need in still other exaaplsry embodiments of the cornpoeite preference value function.
Regataless of the composite value function selected, the server aeaigaor 102 utilizes the composite preference value function to compute the composite preferettco value (step 404). Assume that the presently selected composite preference value function calls for adding the server's profecence value 0i2i08~2000 10:46 CA 02298266 2000-02-O8 1.568 D21 with the dyAatuic preference value. Adding the server 1D 100's preference value far "calls from prospects" ("8") with the dynamic preference value for "calls from prospects" ("4") yields "12."
As previously discussed, the work processing facility does not normally provide work to a server whets the server's prefareACe value is less than the server thresktold value for the same work typo. The earv~ ID 100's preference value for "calls from prospects" ("8") is less than the server 1D 100's carresportding tlsreahold value ("9"), a8 BhoWl1 In Figure 2. The work processing fadllry would not normally consider the server ID I00 to be in the pool of servers that may be assigned work aeaociated with ''calls from prospects." However, as shown above, the saver Ip 100'e composite preference value is 12, which exceeds the saver ID t00's thresbald value of 9. In other words, the needs of the work processing facility for the server I~ 100 to process "calls freest prospects" now outweighs the server XD
100's reluctance to perform such tasks. Accordingly, the work procesaiag facility may now consider the server ID loo to be within the pool of servers who may receive cabs from prospects. Of cowrie, when a re-calculation of the composite preference value for the "calls from prospects" work type results in a composite proferattce value lower than the server 1~ !00'a threshold value, then the sever ID
100 may bo removed from the "calls from ptoapocta" server pool. ht addition, the composite preference value (according to a preferred etnbodit'ttent) will never result is the assignment of as unauabfied server to a server pool. Work types for which a server is basically unqualified (having a preference value of "0") may receive a composite preference value 4f "0,"
The composite preference value function may be any of myriad fitnctiona of the service class preference value and the aerv~'s preference value for the work type, according to an embodiment of the invention. The composite preference function may be dynamically selected coutiagent upon various operating modes and various other operating conditions independent of normal service goals.
Such modes might bo related to secondary goals involving ei~ciency of the server population, fairness considerations, job enrichment desires, or particular exceptional 02~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D22 conditions. A eitnplo example of an operating condition is tune of day white another is a day of the week where the business is operating wader different business rules.
Figures 5A and 5~ are a flowchart illustrating the Server dispatch procedure, according to an ambodirnont of the invention. The server assignor 5 seta as examination interval (step 501). The examination interval me~y comprise any number of tame percale or cor~itioae. In at coast one embodiment, the examination interval may be set by other fl.~nctionality within tbo work proceasiag facility.
Tho server assignor 102 deternainap whether a termination condition has arisen (stop 503). A terauaation condition rttay arise due to a number of factors, 10 including the shutdown of the work processing facility. if a termination coaditioa has arisen (step 503), then the server assignor 102 terminates its operations.
Tho salver assign4r 102 otherwise continues operations at $ome regular interval until a termination condltioa access.
If a termination coalition has sot arisen (stop 503), rhea the server I S assignor 102 determines whether an exaraiaatioa interval has concluded (step 505).
if an examination interval bas not concluded (step 505), tl~n the server assignor 102 waits (step 507) before re-determining whether a tetmiaation condition has arisen (step 503) and/or the examination interval has concluded (atop 505). The lengtb of the examination interval may bo user selectable, and the exanunatioa interval may be 20 eo tl~aquont as to be eeaentialty continuoua, according to at least one embodiment of the invention.
If as examination interval bas concluded (step 505), then the server assignor 102 doterrniaQe whotbor all work types have been examined (step X09).
If all work typos have boon examined (step 509), than the server aesigt~or 102 returns to determining whether a termination condition has arisen (step 503) before othetwiso proceeding to dotertnine if another examination interval has concluded (slap 505).
Of course, a aleilled artisan will recognize that the server assignor 102 door not typically aoalyzc all work typos and all servers all of the time. In practice, an "examination" tray begin when a server becomes available. Tbo examination t]2i08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D23 would concern that server only and with regard only to the work types represented by work item alroady queued. In addition, an examination may also begin when a work item arrives in tho work processing facility. The examination interval would concern the newly arrived work item and with rogard to sorvers already awaiting work, An increase in a prtaforaace value or a deeresas in a threahald value could also nigger as e~caminakioa A server need not generally be included is a now server pool when the server is prtsseady busy with anotbot' non-iptctrupt<ble work item.
Of course, tittle need pxisea to determine server atembatship in a server pool for work types where no work is presently queued. As a skilled artitaaa will recognize, these conditions will subatantialty reduce the processing demands associated with the server assignor 102, according to an embodin~nt of the invention.
if all work types have not been exatained (step 509), then the serve assignor 102 salocts the next work type to be examined (step 511 ). The server assignor 102 determines whether all servers have been examined (step 513}. If the server assignor 102 bas examined all servers (stop 513), then the server assignor 102 returns to determiaiag whether all work types have been examined (std 509).
if all servers have sot been examined (step s 13), tl~ the server aasignpr l 02 selects a noxt server (step S 15). Tlu scorer assignor 102 detecminec whether the seloeted tterver'a preference value is leas than the aecver's threshold value (step 517). If the .selected server's preference value is not leas than the server's threshold value (atop S 17), rhea the server assignor 102 makes the server available for the selected work type (atop 523). Making the server available for the selected work type may entail modifying a server pool utilized by the work assignment facility in the wot~k processing system. Oa some occwttions, the at:rver' gray have previously boon aasigaed to the server pool for the work type, sad ao additional proceasiag will be required. Of course, as discussed above, not all servers and all work itcma necessarily need tta be examined ah the ti~ac.
If tbo selected server's preference value is leas than the server's threshAld value for the selected work type (step 517), then the server assignor 102 updates the composite preference value associated with the work type sad server E12~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D24 (step 519). Figure 4 provides as exemplary procedure for updating a composite preference value. Updating the contpoaito prefetenco value associated with the work typo and server may include determining which connposite preference value function the server assignor 102 should utilize. As proviously discussed, the user may select the composite preferopce value function used by the server assignor I02, according to au ernbodimcnt of the iaveation.
The server assignor 102 thep applies the selected composite preference value function to d~ermino whether the composite preference value is greater than ar dual to the server's threshold value (atop 52l)_ if the composite preference value is greater than or equal to the server's threshold value, than the eotver assignor 102 makes the server available for this work type (step 523).
The server aesigtlor 102 may simply indicate to tbo work proceasiag facility that the server should be included in the server pool for the work type, without actually undertaking any of the steps repaired to accomplish the aaaignmmt of the server to 1 S the server pool for the work type. rf the composite preface value is not greater than or equal to the server's threshold value, then the server assignor 102 does sot select the server for this work type and returns to examining other servers (step 513).
'fhe flowchart shown in Figures SA sad 58 for the server dispatch procedure is ogually applicable for both centralized sad distributed servo dispatch procedures. Accordingly, the server dispatch procedure may exist in a centralized ~nbodimBnt ae well as a distributed emboditraeat. For ~cample, the ovuluatioa of the dynamic prefaeneo can be doterrained by one process running pp one or mote processors while the composite prefereacos could bo determined by processors each of which is dedicated to a aQrvor, where these dedicated processors obtain the set of 2S dynamic preferences through setae moans of communication. The actual processing of the server dispatch process may be realized in any eoaftguration that is practical for a particular implomotitatioa.
L"iguree bA-6b illustrate the chspge in aseignmeat of servers to various server pool9 603-605 over time due to the server assignor 102, acwrding to an .ernbodia~eat of the invention. For purposes of ihuatration, one can assume that a Q1~~08/2000 10:46 CA 02298266 2000-02-08 N0.568 D25 work type 60l associated with tho server pool 603 has a higher average composite preferettco value than the work type associated with the sower pool 604 which in tum has a higher average composite preference value than the work type associated with the server panl 605.
aecause of unmet needs in the work processing facility, the serves assignor 102 allows more servers to be made available far work types whose goals are not being met. Changes in the assignment of servers alters a number of available servers b02 in the aervar pools from the chart shown in Figure bA to the chart shown in Figuro 6a. Ia Figure 6A, the work typo "calls from prospects" has a server pool 603 of 42 available servers. Because of unachieved goals associated with "calls from prospects," the server assignor 102 increasingly updates the nu~er of servers in the server pool 603 to 48 sorvers, as ahowa in Figure 613. O.f course, a server may be assigned to more than ono server pool.
Similarly, the number of servers in the "claims calls" server pool 604 has decreased during the time intorval represonted by Figures 6A and ba. The decroase in the number of esrvors in the "claims calls" server pool 604 could be due to chafing aocver prefeconce values or to changes in the dynamic preference 'value.
The server pool b05 for the "calls tom preferred ouatot~e~ere" work type remains constant during the limo interval reproaented by Figures 6A and 6B. Of course, the servers a the "calls from preferred customerA" server pool 605 shown in Figure head not lteCeSdarlly be thB Battle 9ervelB AhGWn tbr the "calls from preferred customers" server pool 605 of Figure 6A.
Baeauae of unmet needs ire the work processing facility, the server assignor 102 continues to utilize a dynamic preference value that results in making more servers available for the "calls from prospects" server pool 603, as shown by comparing Fi(dur'e 68 with Figure 6C. Similarly, the "claims calls" server pool 604 and the "calls carom preferred customers" server pool 605 collectively decrease during Lhe time interval represented by Figures 6B and 6C.
The server assignor 102 may be designed co retain a maxiawm and/or minimum number of servers fQr a server pool, according to an ernbodit~nent of the 02~08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D26 z~
invention. hor example, the ''calls from preferred customers" server pool 605 may have a minimum server number of "10." Accordingly, the server assignor 102 refrains from re-assigning servers from the "calls t~otn preferred customers"
server pool 605 to the server pools 603-604 once the server pool 605 hxs reached its S minimum number of servers, which raay also be known as reserved servers.
The server assignor 102 may contract a server pool for work types deemed to bavo a diaprpportionate supply of availablo servers. Whilo expansion of the aorver pool for wor& types having jeopardized gpals is the typical mode for the server assignor 102 and tts server aselgnmsent method, the server assignor 102 may also need tn litpit server resources lYom exceeding a service level goal, according to an etxtbodiment of the irrvention. In the situation where sll goals are being raet, and some sorvice levels are exceeding their goals much more than atbeT service levels are exceeding their respective goals, then the server assignor's operating rules may reallocato the servers in order to tuore evenly distribute the server resources.
Far exaa»ple, assume that the "earls flror~n prospects" server pool 603 shown in Figure 6C contains more sorvors than are necessary to achieve the associated service goal~. Since the goals associated with the "caps from prospects"
server pool 603 are now being achieved beyond a desired level, then the number of servers may be decreased ~o that other service goals may also be achieved.
Accordingly, the number of servers in the "calls fl om prospects" server pool decreases tom Figure 6C to Figure 6D. The nurnb~ of servers assigned to tk~a aervor pools 604-605 correspondingly increases front Figure 6C to Figure 6D.
To reduce the number of servers iu the server pool 603, the sever assignor 102 may make the dynamic preferepce vahte for the server pool 603 become 2S negative, rather than positive, causing the caxaposite preference value to be lower than otie or more server's threshold value, Whoa the composite preference value falls below a secvcr's threshold value (where the server's preference value is also lower than the threshold value), then the server will temporarily be removed from the server pool for the work type until the service level goat becomes unmet.
Thus, in the case where all service goals are being met, the server assignor 102 may balance 02/082000 10:46 CA 02298266 2000-02-O8 N0.568 D2?
between work types by expanding resources (e.g., servers) aad contrasting resources (e.g., servers) for any ono work type to provide greater consistency across some set of work types. It should be obvious to ono skilled in the art that the dynamic preference value may remain at zero, be increasing. or not be considered while the 5 function(e) driving the composite preference value cause(e) the composite preference value to fall below a Server's threshold value.
~'iSure 7 is a diagram showing a table 700 that includes a dynamic preference value column 701 ae well as sower profetences and thresholds for work types perfocntad in the work processing facility and a composite preference value, 10 according to an alternative ombodixnant of the invention. Comparing the table 300 of Figure 3 with the table 700, it can be seep that the columns 301-305 of table correspond respectively to the colutnne 301-305 of the table 700. The table 700 also includes the dynamic prefetenco value column 701 that represents the service organization's current preference value for performance of various work types.
15 As previously discussed, a number of tnothods may be used to compute the cotnpoaite preference value recorded in the composite preference value column 303. In the table 700, the composite preference values in the composite preference value column 305 have been deterpoined by adding together the server preference far the work typo column 303 with the dynamic preference value for the 20 work typo 701. For example, the composite prefa'eace value for savor iD
I00's "calls from prospects" is "10" which bas been co~nputsd by adding the Server I~
100's profereaco vahte of "8" far this work type with the dynamic preference value for this work typo of "2." In all other respects, the invention operates in the manner described above.
25 The threshold value for a work type hag previously been described as boariag a relati4nship tn a particular server. For e~cample, as shown in Figure 2, the Server ID 100' a threshold value for the "claiu~ calls" work type is "3" while the Server ID 101's threshold value for the "claims calls" work type is "7"
Similarly, fee Sorvor ID 100'e threshold value for the "claims calls" woxk type differs from the Server Ip 100's threshold value for the "calls 0'om prospects" work type.

02i08~2000 10:46 CA 02298266 2000-02-O8 N0.568 D28 2b In an altcrnatrvo embodiment of the invention, the threshold value for a work type may be established without reference to a particular server.
Figure 8 is a server preference table 80p ilhretrating the prefereacea of various servers for the various work typed 202 that represent typos of work performed in the work proceeaiag fbcility, aecordittg to an embodiment of the inventioa. The server preference table B00 resembles the server preference table 200 shown in Figure 2, except thQ server preference table 8~ dose not contain the server threshold for work type cnluma 204 shown iu Figure 2.
The server pt~fereacB table 800 may be associated with a threshold value table BOb that contains appropriate threshold values for various work types, according to an alternative embodiment of the iaventioa. ~ this erabodirnent, the server assignor 102 will reference an appropriate value in the threshold value table 806 in deterrninir~g whether to assign work to a particular sower. For exempla, the threshold value table 80b may have just one threshold value for all work types, according w ono embodiment. The threshold value table 806 may instead have one threshold value for all work types for each sorvet. Alternatively, the threshold values and the server preference values may be dynamically based upon other automated control systems and systems that integrate rnaitual inputs from supervisory operators with dynamic service and utilization ebaracteriatics. In addition, the threshold value may be dif~arently determined for each work type. Of course, the server preference table 800 and the threshold value table 806 may be stored in a common trmmory element and rnay have inter-related data structures, according to an embodiment of the inveption.
Of course, the elements contri~ting to a work type for the dete~rnination of server preference may be totally iadependBt~t of the attributes that ' determine the dynamic preference value, according to an embodiment of the invention. For example, as shown in Figure 8, one can readily see that the work type needed to get the server preferences for the server ID 100 is i.ndepandent of other attributes, such as a regional attribute da9cribir~g the locatio~a of a caller or the location of the server ll7 100. I~owevar, the dynamic component of the preference 02~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D29 (which is independent of the server) may bo determinod partly by other attributes, such as a rogior~sl attributes. Additionally, thB Work types shown in Figure B, for example, need not necessarily bo utilized to any extent is determining the dynamic componept of the preference.
Figure 9A is a high-level block diagram of another general-purpose coatputer aystom 100 that includes a threshold value determiner 91 I and a cornpoeite prefereaco evaluator 910, according to as alternative ambodimopt of the invention.
The threshold ~ralue determiner 9l1 crray compute the threshold values for the threshold value table 806 shows in Figure 8. The composite preference evaluator 9l0 may determine vrhether the presently selected user-selectable cotnpasito praforeaoe value function is the moat appropriate composite prrferonce value function far achieving the enterprise's objectives with regard to the work processing facility, according to an embodiment of the invention. xa ail other respects, the computer system 100 operates is the manner previously described for the carnputer 8ya'em 100 shown in Figure 1. Of course, the composite preference evaluator 9 t 0 and the threshold value dotarnniner may be included in other Functionality, such as the server assignor 102.
The composite preference evaluator 910 may utilize overiidiag conuol laws that dynamically manipulate the selection of the composite value 2Q funotioa so ae to achieve other desired operating characteristics, such as equal allocation of service level performance is excess of the associated goals, equal utilixatioa of servers, damping of fluctuations in service level attainment, damping of fluctuations in server idleaees, and mode-specific behavior. The composite preference evalNator 910 may be considered to cpnstitute another layer of control on top of the previously described composite preference value function in this embodiment of the invention.
The composite preference evaluator 910 may dynamically select the composite preference function contingent upon various operating modes and various other operating conditions independent of normal service goals. Such modes might 02~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D30 be related to secondary goals Involving et~'~cieacy of tbo server popul~tioa, fairness consideratiaaa, job enrichment desires, or particular exceptional conditions.
Figure 9B is a flowchart illustrating aotne of the operations performed by the composite preference evaluator 910, according to an ernbodiraent of the S invention.
The composite profereneo evaluator 910 evaluates the enterprise and its associated work pracossing elates to deterc~iae the overall atteinauart level of the enterprise's objectives for the work processing facility (step 901 ). 'The composite preferepce evaluator 91 o then determines whether the presently selected user-selectable composite preference value function is the appropriate composite prefareace value function .in light of the evaluation of the enterprise and its assoaated work processing states (step 902).
if the composite preference evaluator 910 dotercniaos that the presently selected user-selectable composite preference value function is thG
1 S appropriate cotnpoeite preference value function in light of the evaluation of the enterprise and its aseaciatod work processing states (step 902), then the composite preface evaluator 910 enters a wait state (step 903) before once again performing the enterprise evaluation (step 901 ).
If tbo cocnposito preference evaluator 910 determines that the ~0 presently selected user-selectable composite preference value function is sot the appCppriate composite preference value function in light of the evaluation of the enterprise and its associated work processing states (step 902), the the composite preference evaluator 910 selects another user-selectable composite preference value function based on the present enterprise evaluation (atop 904). Tlte campaaite 25 preference evaluator 910 then enters a wait state (step 903) before once again performing the enterprise evaluation (step 90t).
The wait state (step 903) could terminate by a number of means and far a variety of reasans. For example, the wait state could be a predetermined period of time. AdditionallY> it old be triggered contingent upon or synchronous with the 30 utilization of the composite preference value function or other events. As previously 02~08~2000 10:46 CA 02298266 2000-02-08 N0.568 D31 discussed, the confluence of many types of attributes can determine the work types, according to an ombodiraoat of the invention. The work type taay be detercuit~od by awltiple eoneideratioae, such ae a combination of the teak required, the product, the commuaicatians medium, geographic, governtuental jurisdiction, demographic, language, akih, type of service, customer profile, stage in sates proce~, and regulatory classes, according to embodiazerrta of the inveatjon.
Figure l0 is a table 1000 illustrating server preferences and thresholds for work types performed is the work processing facility coupled with a composite preference value, according to an embodinunt of the invention. 'The table 1000 1 .Q getleratly resembles the table 300 shown in Figure 3 except that the work types is the work type column 302 may contain mote than a single attribute. For example, a raw 1001 cantaina a multiple attxibutea work type "calls from prospects in the western region." ~ corresponding raw 306 in the table 300 contains the single atuibute work ~rPa "calls from prospeclB." Assigning multiple attributes icy a vrork type may l5 increase the complexity of the over-all system sad the total number of work type entries. While the table 1000 only lists the attributes for a server ID 100, similar information could be catered for other servers.
Consider the following exsraplc using the table 1000: an inquiry to a cellular telephone company rnay be clasaif ed geogr~.phl~ly in order to satisfy 20 .d;ffore~nt processing eoasttraints in addition to claaelf~ring the inquiry as a work type far dateraaiaatioa of server preference. Work items entering the 'work processing facility may not only be categorized for a first attribute (e.g., "prospect calls" or "claims calls") but may also be classified according to a second attribute (e.g., a regions) description). Wotk itetna may also be clasai~ed according to various market 25 aegmeate to facilitate a marltet segmentation strategy. Demographic factors 9ucb as age, income, education, occupation, and household eixe could be used to identify custopaera in various target markets for various product lines. Typically, combinations of work and customer attributes effect a very complicated sat of work typos. The present invention supports aucl't complications without the inet~caencics 30 of unduly fraBm~tlpg the server population into small static pools.

02~08i2000 10:46 CA 02298266 2000-02-O8 N0.568 D32 Tho table 1000 also represents the need for some work types to have high priorities although the work type may not be performed frequently. Far cxacnplo, the work processing facility may operate under various regulatory eonatraiata, such as the "public utility mandated calls" work type shown in a row 5 1005. The "public utility mandated caUa" work type may comprise calls having very little profttsbiliry for the enterprise but calls that must nevertheless receive service at some officially mandated atin~nurnlrn~itnum level. Accordingly, the table 1000 illu9trates a high composite preference value in the row 1005, indicating that the "public utility mandated cabs" has come close to roaehing (or even dropping below), 10 the publicly mandated service level. Once the Server assignor 102 has re-attained the required service lave! for the "public utility mandated calls," then the composite preference value drops from its high value. In addition to regulatory constcainta, the table 1000 may contain other important, high-value goals that may- be of limited importance to the enterprise otherwise, such as the attainment of service levels 15 tuandated by agroemerrte with various telecommunications service worlta a unions.
As previously dl8CUa9ed, the server dispatch procedure may be both centralized and distributed. Figure 11 illustrates a distributed sewer aasignrneat system 1101, according to an embodimapt of the invention. 'fhe distributed server aaeigntnent system 1101 coruprises computer systems 100x-100f. The computer 20 systems 100a-100f contain server assignors 102a-102f and otherwise rescnsble to computer system 140 shown in Figure 1.
Tho server assignors 102a-102f tuay operate in the maaaer thus described for the server assignor 102. The server assignors 102-lo2f may be located within a single work processing faality or spread across multiple work 25 processing #hcilitiea that abate work items (or pieces ofwork items) with each other.
When one of the server assignors 142a-102f cannot accomplish its server assignment teaks, then the server assignor comrxaunicatea to the other server aaaigaora using a network 1100. The server aasigrwra 102a-102f may also communicate statue infarmation with each other using the network l 100.

02i08i2000 10:46 CA 02298266 2000-02-O8 N0.568 D33 Some of the server assiBnore 102a.102f .rnay perform the dynamic preference value determination while other server asajgaore 102a-IOZf determine the cocuposlee preference value function, according to apothec ednbodirnent of the invention. In this ombodinae~pt, there may be no communication between server assignors, anti they act independ~tly, except for conununicationa with a specialized server assignor(a) that provides the dynamic preference value deternsis~ation.
While this invention has been shown and described with references to preferred etnbodimeata, it will be understood by those skilled in the art that various changes or madifieatiops in fore and detail may ba made without departing tom the scope of the invention. For example, the preference valuca utilized by the server assignor may be used to aaaiga resources of all types. Further. p~feronce values that are not contiguous integers may be assigned. Further, preforpnce levels that are not contiguous integers may be asBigned by tlto work proceaeing facility, as may be non-numeric service levels. .Far example, the criteria far meeting good or bad service on a particular work type could avoid the use of integer or deamal nutubers by using in6tead a Boolean function of transaction attributes or even some form of alpharurmeric indicators, e.g., Al>C3. Moreover, a skilled artisan may readily util'sxe well-known erapidcal procedures for deter~aining exemplary values to use for the aerver'e preference values, tlueshold values, and dyru~a preference values in any zo given wprk processing facility.
While the description has discussed servers as belaalging to server pools, a skilled ar6iean will recognize that the aewors need hover realty be idenrihed as members of a particular server pool. In other words, the servers gray merely receive work of one type or another, hence they rrray be thought of as belonging to a server pool for that work type even though the pool may hat physically exist.
The invention .is also applicable to ayatetns in wtrich work items are described with regard to both a work type and a aorvico class. The service class they describe particular aspects of the work item while the work type describes the work ilea from the server' a point of view. Accordingly, in some embodiment of tl~e 02i08i2000 10:46 CA 02298266 2000-02-O8 N0.568 D34 3~
invention, the service class may influence the dynamic preference value and ultimately the composite preference value.
While the examples discussed above relate to calls is a call center, the invention is not limited to the processing of calls in a call center by servers, herb human and/ox robotic. The invention may be applied to the servicing of nay form of work type and any form of service class, For example, the invention is equally applicable to the processing of electronic mail messages and video streaming tasks.
These and other changes can be made to the invention in light of the above detailed description. In general, in the following claims, the terms u9ed should not be congtnied to limit tba inv~tion to the epec~fic embodiments disclosed in the apecifieation and the claims, but should be construed to include alt hierarchical remodiation methods and systems that operate in accordance with the invention.
Aceordi~agly, the invention is not limited by the disclosure, but instead its scope is to be deterraiaed by the following etaima.

Claims (70)

1. A method for determining if a savor should be assigned to a server pool for a work type in a work processing facility, the server pool configured to retain an indication of servers that process work of the work type, comprising:
determining if a server's first value for the work type is less than a server's second value for the work type, wherein the first value indicates the server's positive indicator for the work type and the second value indicates the server's negative indicator for the work type;
determining a composite preference value for the work type if the server's fleet value for the work type is less than the server's second value for the work type;
determining if the determined composite preference value for the work type is greater than the server's second value for the work type; and seeding an indication to the work processing facility that the server is suitable for assignment to the server pool for the work type if the composite preference value for the work type is greater than the server's second value for the work type.
2. The method of claim 1 wherein determining the composite preference value comprises:
determining a dynastic preference value for the work type, wherein the determined dynamic preference value reflects a measurement of the work processing facility's need to have servers perform work of the work type:
accessing a user-selectable composite preference value function that is configured to determine a composite preference value; and providing the server's determined preference value for the work type and the determined dynamic preference value for the work type to the accessed user selectable composite preference value function to generate the composite preference value for tho work type.
3. The method of claim 2 wherein the accessed user-selectable composite preference value function comprises;
adding the server's determined preference value for the work type to the determined dynamic preference value for the work type.
4, The method of claim 2 wherein the accessed user-selectable composite preference value function comprises:
multiplying the server's determined preference value for the work type by a first scaling factor to produce a scaled server first value;
multiplying the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value; and adding the scaled server first value to the scaled dynamic preference value to produce the composite preference value.
5, The method of claim 4 wherein one of the first scaling factor and the second scaling factor is unity.
6. The method of claim 4 wherein the first scaling factor equals the second scaling factor.
7. The method of claim 2 wherein the determined dynamic preference value for the work type is determined from at least one of a service level value for the work type, a queue condition for the work type, an alarm condition for the work type, an answer delay for the work type, a desired service level for the work type, a call abandonment rate for the work type, and an operator intervention value for the work type.
8. The method of claim 2 wherein the server is at least one of a human agent or a robotic agent and wherein the accessed composite preference value function is further configured to generate the composite preference value using data associated with at least one of a human agent or a robotic agent.
9. The method of claim 1, further including not assigning the error to the server pool of the work type if the server's first value is less than the server's second value unless the composite preference value for the work type is greater than the server's second value for the work type.
10. The method of claim 1 wherein the server's first value for the work type and the server's second value for the work type are retained in a table and wherein determining if the server's first value for the work type is less than the server's second value for the work type further comprises examining the table to retrieve the server's first. value and the server's second value.
11. The method of claim. 1, further including not determining the composite preference value if the server' a first value for the work type is greater than or equal to the server's second value.
12. The method of claim 1, further including the work processing facility receiving the indication and assigning the server to the server pool of the work type as a back-up server.
13. The method of claim 1, further comprising:
re-determining the composite preference value for the work type;
determining if the re-determined composite preference value for the work type is greater than the server's second value; and sending another indication to the work processing facility that the server should be removed from the server pool for the work type if the re-determined composite preference value for the work type is less than the server's second value.
14. The method of claim 1 wherein determining if the server's first value exceeds the server's second value is determined a plurality of times, the method further comprising:
examining an evaluation parameter to determine if the determination of whether the server's first value exceeds the server's second value should be determined for another time of the plurality of times.
15. The method of claim 1 wherein the work processing facility has a plurality of server pools for a plurality of work types and wherein a composite preference value is determined for each work type of the plurality of work types if the server's first value for that work type is less than the server's second value for that work type.
16. A method for determining if a server should be assigned to at least one server pool of a plurality of server pools in a work processing facility that processes work for a plurality of work types, each server pool configured to retain an indication of servers that process work of a respective work type of the plurality of work types, comprising:
for at least one work type of the plurality of work types:
determining if the server's first value for the work type is less than the server's second value for the work type, wherein the first value indicates the server's positive indicator for the work type and the second value indicates the server's negative indicator for the work type;
determining a composite preference value for the work type if the server's first value for the work type is less than the server's second value for the work type;
determining if the determined composite preference value for the work type is greater than the server's second value for the work type; and sending an indication to the work processing facility that the server is suitable for assignment to the server pool for the work type if the composite preference value for the work type is greater than the sewer's second value for the work type,
17. The method of claim 16, further comprising:
determining for which server pools the server has been assigned, wherein determining if the server's first value for the work type is less than the server's second value for the work type is performed only if the server is not assigned to the server pool for the work type.
18. The method of claim 16 wherein determining if the server's first value for the work type is less than the server's second value for the work type is performed for all work types of the plurality of work types for which the server has not been assigned to the respective server pool for the work type.
19. The method of claim 16 wherein determining the composite preference value comprises:
determining a dynamic preference value for the work type, wherein the determined dynamic preference value reflects a measurement of the work processing facility's need to have servers perform work of the work type;
accessing a user-selectable composite preference value function that is configured to determine a composite preference value; and providing the server's determined first value for the work type and the determined dynamic preference value for the work type to the accessed user-selectable composite preference value function to generate the composite preference value for the work type.
20. The method of claim 19 wherein the accessed user-selectable composite preference value function comprises:
adding the server's determined first value for the work type to the determined dynamic preference value for the work type.
21. The method of claim 19 wherein the accessed user-selectable composite preference value function comprises;
multiplying the server's determined first value for the work type by a first scaling factor to produce a scaled server first value;
multiplying the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value; and adding the scaled server first value to the scaled dynamic preference value to produce the composite preference value.
22. A method for determining is a call center if an agent should be assigned to an agent pool for a work type processed by the call center, the agent pool configured to retain an indication of agents that process work of the work type, comprising:
determining if as agent's first value for the work type is less than an agent's second value for the work type, wherein the first value indicates the agent's positive indicator for the work type and the second value indicates the agent's negative indicator for the work type;
determining a composite preference value for the work type if the agent's first value for the work type is less than the agent's second value for the work type;
determining if the determined composite preference value for the work type is greater than the agent's second value for the work type; and sending an indication to a work distributor in the call center that the agent is suitable for assignment to the agent pool for the work type if the composite preference value for the work type is greater than the agent's second value for the work type,
23. The method of claim 22 wherein determining the composite preference value comprises:
determining a dynamic preference value for the work type, wherein the determined dynamic preference value reflects a measurement of the call center's need to have agents perform work of the work type;
accessing a user-selectable composite preference value function that is configured to determine a composite preference value; and providing the agent's determined first value for the work type and the determined dynamic preference value for the work type to the accessed user-selectable composite preference value function to generate the composite preference value for the work type.
24. The method of claim 23 wherein the accessed user-selectable composite preference value function comprises:
adding the agent's deter first value for the work type to the determined dynamic preference value for the work type.
25. The method of claim 23 wherein the accessed user-selectable composite preference value function comprises:
multiplying the agent's determined first value for the work type by a first scaling factor to produce a scaled agent first value;
multiplying the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value; and adding the scaled agent first value to the scaled dynamic preference value to produce the composite preference value.
26. The method of claim 25 wherein one of the first scaling factor and the second scaling factor is unity.
27. The method of claim 25 wherein the first scaling factor equals the second scaling factor.
28. The method of claim 23 wherein the determined dynamic preference value for the work type is determined from at least one of a service level value for the work type, a queue condition for the work type, an alarm condition for the work type, an answer delay for the work type, a desired service level for the work type, a call abandonment rate for the work type, and an operator intervention value for the work type.
29. The method of claim 23 wherein the agent is at least one of a human agent or a robotic agent and wherein the accessed composite preference value function is further configured to generate the composite preference value using data associated with at least one of a human agent or a robotic agent.
30. The method of claim 22 wherein the agent's first value for the work type and the agent's second value for the work type are retained is a table and wherein determining if the agent's first value for the work type is less than the agent's second value for the work type further comprises examining the table to retrieve the agent's first value and the agent's second value.
31. The method of claim 22, further including the work distributor receiving the indication and assigning the agent to the agent pool of the work type as a back-up agent.
32. The method of claim 22, further comprising:
re-determining the composite preference value for the work type;
determining if the re-determined composite preference value for the work type is greater than the agent's second value; and sending another indication to the work distributor that the agent should be removed from the agent pool for the work type if the re-determined composite preference value for the work type is less than the agent's second value.
33. The method of claim 22 wherein the call center has a plurality of agent pools for a plurality of work types, and wherein.
a composite preference value is determined for each work type of the plurality of work types if the agent's first value for that work type is less than the agent's second value for that work type.
34. A method for determining in a work distributor if a server should be assigned to a server pool for a work type to which the work distributor assigns servers, the server pool configured to retain an indication of servers that process work of the work type, comprising:
determining if a server's first value for the work type is less than the server's second value for the work type, wherein the first value indicates the server's positive indicator for the work type and the second value indicates the server's negative indicator for the work type;
determining a composite preference value for the work type if the server's first value for the work type is less than the server's second value for the work type;
determining if the determined composite preference value for the work type is greater than the server's second value for the work type; and assigning the server to the server pool for the work type if the composite preference value for the work type is greater than the server's second value for the work type,
35, The method of claim 34 wherein determining the composite preference value comprises:
determining a dynamic preference value for the work type, wherein the determined dynamic preference value reflects a measurement of a work processing facility's need to have servers perform work of the work type:
accessing a user-selectable composite preference value function that is configured to determine a composite preference value; and providing the server's determined preference value for the work type and the determined dynamic preference value for the work type to the accessed user-selectable composite preference value function to generate the composite preference value for the work type.
36, The method of claim 35 wherein the accessed user-selectable composite preference value function comprises:
adding the server's determined preference value for the work type to the determined dynamic preference value for the work type.
37. The method of claim 35 wherein the accessed user-selectable composite preference value function comprises:
multiplying the server's determined preference value for the work type by a first scaling factor to produce a scaled server first value;
multiplying the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value; and adding the scaled serve first value to the sealed dynamic preference value to produce the composite preference value.
38. The method of claim 37 wherein one of the first scaling factor and the second scaling factor is unity.
39. The method of claim 37 wherein the first scaling factor equals the second scaling factor.
40. The method of claim 35 wherein the determined dynamic preference value for the work type is determined from at least one of a service level value for the work type, a queue condition for the work type, an alarm condition for the work type, an answer delay for the work type, a desired service level for the work type, a call abandonment rate for the work type, and an operator intervention value for the work type.
41. The method of claim 35 wherein the server is at least one of a human agent or a robotic agent and wherein the accessed composite preference value function is further configured to generate the composite preference value using data associated with at least one of a human agent or a robotic agent.
42. The method of claim 34 wherein the server is not assigned to the server pool of the work type if the server's first value is less than the server's second value unless the composite preference value for the work type is greater than the server's second value for the work type.
43. The method of claim 34 wherein the server's first value for the work type and the server's second value for the work type are retained in a table and wherein determining if the server's first value for the work type is less than the server's second value for the work type further comprises examining the table to retrieve the server's first value and the server's second value.
44. The method of claim 34 wherein the assigned server is designated as a back-up server in the server pool and wherein back-up servers in the server pool are configured for removal from the server pool by the work distributor.
45. A computer-readable medium whose contents cause a computer system to determine if a server should be assigned to a server pool for a work type in a work processing facility, the server pool configured to retain an indication of servers that process work of the work type, by performing the steps of determining if a server's first value for the work type is less than a server's second value for the work type, wherein the first value indicates the server's positive indicator for the work type and the second value indicates the server's negative indicator for the work type;
determining a composite preference value for the work type if the server's first value for the work type is less than the server's second value for the work type;
determining if the determined composite preference value for the work type is greater than the server's second value for the work type; and 45~

sending as indication to the work processing facility that the server is suitable for assignment to the server pool for the work type if the composite preference value for the work type is greater than the server's second value for the work type.
46. The computer-readable medium of claim 45 wherein determining the composite preference value comprises:
determining a dynamic preference value for the work type, wherein the determined dynamic preference value reflects a measurement of the work processing facility's need to have servers perform work of the work type;
accessing a user-selectable composite preference value function that is configured to determine a composite preference value; and providing the server's determined price value for the work type and the determined dynamic preference value for the work type to the accessed user-selectable composite preference value function to generate the composite preference value for the work type.
47. The computer-readable medium of claim 46 wherein the accessed user-selectable composite preference value function comprises:
adding the server's determined preference value for the work type to the determined dynamic preference value for the work type.
48. The computer-readable medium of claim 46 wherein the accessed user-selectable composite preference value function comprises:
multiplying the server's determined first value for the work type by a first sealing factor to produce a stated server first value;
multiplying the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value; and adding the scaled server first value to the scaled dynamic preference value to produce the composite preference value.
49. The computer-readable medium of claim 46 wherein the determined dynamic preference value for the work type is determined from at least one of a service level value for the work type, a queue condition for the work type, an alarm condition for the work type, an answer delay for the work type, a desired service level for the work type, a call abandonment rate for the work type, and an operator intervention value for the work type.
50. The computer-readable medium of claim 45, further comprising:
re-determining the composite preference value for the work type;
determining if the re-determined composite preference value for the work type is greater than the server's second value; and sending another indication to the work processing facility that the server should be removed from the server pool far the work type if the re-determined composite preference value for the work type is less than the server's second value.
51. The computer-readable medium of claim 45 wherein determining if the server's first value exceeds the server's second value is determination a plurality of times, the computer-readable medium further comprising:
examining an evaluation parameter to determine if the determination of whether the server's first value exceeds the server's second value should be determined for another time of the plurality of times.
52. A system for determining if a server should be assigned to a server pool for a work type in a work processing facility, the server pool configured to retain an indication of servers that process work of the work type, comprising:
a first comparator configured to determine if a server's first value for the work type is less than the server's second value for the work type, wherein the first value indicates the server's positive indicator for the work type and the second value indicates the server's positive indicator for the work type;

a second comparator configured to determine a composite preference value for the work type if the server's first value for the work type is less than the server's second value for the work type;
a third comparator configured to determine if the determined composite preference value for the work type is greater than the server's second value for the work type; and a result indicator configured to send an indication to the work processing facility that the server is suitable for assignment to the server pool for the work type if the composite preference value for the work type is greater than the server's second value for the work type.
53. The system of claim 52 wherein the third comparator comprises:
a determiner configured to determine a dynamic preference value for the work type, wherein the dynamic preference value reflects a measurement of the work processing facility's need to have servers perform work of the work type.
54. The system of claim 53 wherein the third comparator further includes:
a processor configured to provide the server's determined first value for the work type and the determined dynamic preference value for the work type to a user-selectable composite preference value function configured to generate the composite preference value for the work type.
55. The system of claim 54 wherein the third comparator further includes:
a function provider that provides the user-selectable composite preference value function that is configured to generate the composite preference value.
56. The system of claim 54 wherein the processor is configured to perform the operations of a user-selectable composite preference value function that adds the server's determined first value to the determined dynamic preference value for this work type.
57. The system of claim 54 wherein the processor is configured to perform the operations of a user-selectable composite preference value function that multiplies the server's determined first value by a first scaling factor to produce a scaled server first value, multiplies the dynamic preference value for the work type by a second scaling factor to produce a scaled dynamic preference value, and adds the sealed server first value to the scaled dynamic preference value.
58. The system of claim 57 wherein one of the first scaling factor and the second scaling factor is unity.
59. The system of claim 57 wherein the first scaling factor equals the second scaling factor.
60. The system of claim 54 wherein the server is at least one of a human agent or a robotic agent and wherein the processor in executing the user-selectable composite value function is further configured to determine a composite preference value using data associated with at least one of a human agent or a robotic agent.
61. The system of claim 53 wherein the determiner is configured to determine a dynamic preference value for the work type from at least one of a service level value for the work type, a queue condition for the work type, an alarm condition for the work type, an answer delay for the work type, a desired service level for the work type, a call abandonment rate for the work type, and an operator intervention value for the work type.
62. The system of claim 52 wherein the result indicator is configured to indicate that the server should not be assigned to the server pool of the work type if the server's preference value is less than the server's threshold value unless the composite preference value for the work type is greater than the server's threshold value for the work type.
63. The system of claim 52, further including a table retaining the server's preference value for the work type and the server's threshold value for the work type, and wherein the first comparator is further configured to examine the table to retrieve the server's preference value and the server's threshold value.
64. The system of claim 52 wherein the second comparator is configured not to determine the composite preference value if the server's preference value for the work type is greater than the server's threshold value.
65, The system of claim 52 wherein the second comparator is configured to re-determine the composite preference value for the work type, the system further comprising:
a fourth comparator that is configured to determine of the re-determined composite preference value for the work type is greater than the server's threshold value; and a second result indicator that is configured to send another indication to the work processing facility that the server should be removed from the server pool for the work type if the re-determined composite preference value for the work type is less than the server's threshold value.
66. The system of claim 52 wherein the first comparator is configured to determine whether the server's preference value exceeds the server's threshold value a plurality of times, the system further comprising:
a timer that examines an evaluation parameter to determine if the determination of whether the server's preference value exceeds the server's threshold value should be re-determined for another time of the plurality of time.
67. The system of claim 52 wherein the work processing facility has a plurality of server pools for a plurality of work types and wherein the second comparator is further configured to determine a composite preference value for each work type of the plurality of work types if the server's preference value for that work type is less than the server's threshold value for that work type.
68. A computer memory containing server data usable for assigning a server to a server pool for a work type in a work processing facility, the data structure comprising an ordered series of entries each corresponding to the server's positive indicator for the work type and the server's negative indicator for the work type, a value of each entry is the ordered series indicating the relative extent to which the server prefers to receive work for the work type and to which the server prefers not to receive work for the work type, such that the value of the entries may be used to assign the server to the server pool for the work type.
69. The data structure of claim 68, further comprising an entry corresponding to a composite preference value for the work type indicating the relative extent to which the work processing facility's preference for the server receiving work of the work type exceeds the server's negative indicator for not receiving work for the work type.
70. The data structure of claim 69 wherein a value for the entry corresponding to composite preference value for the work type equals a value for the server's position for the work type and a value for a dynamic preference for the work type that reflects the work processing facility's preference for having the server perform the work type.
CA002298266A 1999-02-10 2000-02-08 Dynamically allocating server resources to competing classes of work based upon achievement of service goals Abandoned CA2298266A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/247,893 1999-02-10
US09/247,893 US7200219B1 (en) 1999-02-10 1999-02-10 Dynamically allocating server resources to competing classes of work based upon achievement of service goals

Publications (1)

Publication Number Publication Date
CA2298266A1 true CA2298266A1 (en) 2000-08-10

Family

ID=22936817

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002298266A Abandoned CA2298266A1 (en) 1999-02-10 2000-02-08 Dynamically allocating server resources to competing classes of work based upon achievement of service goals

Country Status (5)

Country Link
US (2) US7200219B1 (en)
EP (1) EP1058444A3 (en)
JP (1) JP3844932B2 (en)
KR (1) KR20000076638A (en)
CA (1) CA2298266A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164125B2 (en) * 2018-11-19 2021-11-02 Capital One Services, Llc Systems and methods for proactive infrastructure resource management for multiple application clusters

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912576B1 (en) * 2000-05-04 2005-06-28 Broadcom Corporation System and method of processing data flow in multi-channel, multi-service environment by dynamically allocating a socket
JP4230673B2 (en) 2001-02-22 2009-02-25 富士通株式会社 Service management device
GB2373577A (en) * 2001-03-19 2002-09-25 Amey Railtech Ltd Global positioning apparatus and data logger for use therewith
JP2002297900A (en) * 2001-03-30 2002-10-11 Ibm Japan Ltd Control system for reception by businesses, user side terminal device, reception side terminal device, management server queue monitoring device, method of allocating reception side terminals, and storage medium
US8015042B2 (en) * 2001-04-02 2011-09-06 Verint Americas Inc. Methods for long-range contact center staff planning utilizing discrete event simulation
US7441035B2 (en) * 2002-03-04 2008-10-21 Nokia Corporation Reliable server pool
US7415417B2 (en) * 2002-03-15 2008-08-19 Avaya Technology Corp. Presence awareness agent
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
USRE44964E1 (en) * 2003-02-28 2014-06-24 Omnex Systems L.L.C. Quality information management system
US7676034B1 (en) 2003-03-07 2010-03-09 Wai Wu Method and system for matching entities in an auction
US20050071241A1 (en) * 2003-09-26 2005-03-31 Flockhart Andrew D. Contact center resource allocation based on work bidding/auction
US8094804B2 (en) * 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
US7770175B2 (en) * 2003-09-26 2010-08-03 Avaya Inc. Method and apparatus for load balancing work on a network of servers based on the probability of being serviced within a service time goal
US7734032B1 (en) 2004-03-31 2010-06-08 Avaya Inc. Contact center and method for tracking and acting on one and done customer contacts
US8000989B1 (en) 2004-03-31 2011-08-16 Avaya Inc. Using true value in routing work items to resources
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US8738412B2 (en) * 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
US7949121B1 (en) 2004-09-27 2011-05-24 Avaya Inc. Method and apparatus for the simultaneous delivery of multiple contacts to an agent
US8234141B1 (en) * 2004-09-27 2012-07-31 Avaya Inc. Dynamic work assignment strategies based on multiple aspects of agent proficiency
US7809127B2 (en) 2005-05-26 2010-10-05 Avaya Inc. Method for discovering problem agent behaviors
EP1729247A1 (en) * 2005-06-01 2006-12-06 InVision Software AG Resource planning for employees
US7779042B1 (en) 2005-08-08 2010-08-17 Avaya Inc. Deferred control of surrogate key generation in a distributed processing architecture
US7881450B1 (en) 2005-09-15 2011-02-01 Avaya Inc. Answer on hold notification
US7822587B1 (en) 2005-10-03 2010-10-26 Avaya Inc. Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7752230B2 (en) 2005-10-06 2010-07-06 Avaya Inc. Data extensibility using external database tables
US8238541B1 (en) 2006-01-31 2012-08-07 Avaya Inc. Intent based skill-set classification for accurate, automatic determination of agent skills
US8737173B2 (en) 2006-02-24 2014-05-27 Avaya Inc. Date and time dimensions for contact center reporting in arbitrary international time zones
JP4894301B2 (en) * 2006-03-03 2012-03-14 富士通株式会社 Skill value calculation program and skill value calculation device
CN101090515B (en) * 2006-06-15 2010-05-12 中兴通讯股份有限公司 Broadband value-added service operation system
US7936867B1 (en) 2006-08-15 2011-05-03 Avaya Inc. Multi-service request within a contact center
US8391463B1 (en) 2006-09-01 2013-03-05 Avaya Inc. Method and apparatus for identifying related contacts
US8811597B1 (en) 2006-09-07 2014-08-19 Avaya Inc. Contact center performance prediction
US8938063B1 (en) 2006-09-07 2015-01-20 Avaya Inc. Contact center service monitoring and correcting
US8971520B1 (en) * 2006-10-27 2015-03-03 Answer Financial Inc. Method for optimizing skill assignment in call center agent applications
US8767944B1 (en) 2007-01-03 2014-07-01 Avaya Inc. Mechanism for status and control communication over SIP using CODEC tunneling
US9003211B2 (en) * 2007-03-20 2015-04-07 Power Assure, Inc. Method and apparatus for holistic power management to dynamically and automatically turn servers, network equipment and facility components on and off inside and across multiple data centers based on a variety of parameters without violating existing service levels
US8504534B1 (en) 2007-09-26 2013-08-06 Avaya Inc. Database structures and administration techniques for generalized localization of database items
US8856182B2 (en) 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US7970561B2 (en) 2008-04-14 2011-06-28 Power Assure, Inc. Method to calculate energy efficiency of information technology equipment
US8116237B2 (en) 2008-09-26 2012-02-14 Avaya Inc. Clearing house for publish/subscribe of status data from distributed telecommunications systems
US9270783B2 (en) 2008-12-06 2016-02-23 International Business Machines Corporation System and method for photorealistic imaging workload distribution
US8964958B2 (en) 2009-05-20 2015-02-24 Avaya Inc. Grid-based contact center
US8644491B2 (en) * 2009-08-21 2014-02-04 Avaya Inc. Mechanism for multisite service state description
US8385533B2 (en) 2009-09-21 2013-02-26 Avaya Inc. Bidding work assignment on conference/subscribe RTP clearing house
US8565386B2 (en) 2009-09-29 2013-10-22 Avaya Inc. Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints
US9516069B2 (en) 2009-11-17 2016-12-06 Avaya Inc. Packet headers as a trigger for automatic activation of special-purpose softphone applications
US8306212B2 (en) * 2010-02-19 2012-11-06 Avaya Inc. Time-based work assignments in automated contact distribution
US8311208B2 (en) * 2010-03-24 2012-11-13 Avaya Inc. Method for predicting call waiting times
US9032413B2 (en) 2011-09-01 2015-05-12 Microsoft Technology Licensing, Llc Decoupling background work and foreground work
US9164803B2 (en) * 2012-01-20 2015-10-20 Microsoft Technology Licensing, Llc Background task resource control
US8675860B2 (en) 2012-02-16 2014-03-18 Avaya Inc. Training optimizer for contact center agents
US9037703B1 (en) * 2012-02-29 2015-05-19 Google Inc. System and methods for managing system resources on distributed servers
US20140114719A1 (en) * 2012-10-18 2014-04-24 International Business Machines Corporation Allocating Service Consumers into Compatible Resource Pools
US8990376B1 (en) * 2013-11-01 2015-03-24 Microsoft Technology Licensing, Llc Managing server membership
US9354937B2 (en) * 2014-07-18 2016-05-31 Thomson Reuters Global Resources System and method for electronic work prediction and dynamically adjusting server resources
MX2017005751A (en) * 2014-11-03 2018-04-10 Genentech Inc Method and biomarkers for predicting efficacy and evaluation of an ox40 agonist treatment.
US20160189266A1 (en) * 2014-12-27 2016-06-30 Brian D. Johnson Technologies for rule-guided autonomous goal achievement
US10452450B2 (en) * 2015-03-20 2019-10-22 International Business Machines Corporation Optimizing allocation of multi-tasking servers
US20170031600A1 (en) * 2015-07-30 2017-02-02 Netapp Inc. Real-time analysis for dynamic storage
WO2018089644A2 (en) * 2016-11-09 2018-05-17 Scorch Agency LLC System and methods for routing communication requests to dedicated agents
CN108228337B (en) * 2016-12-22 2021-08-27 财团法人工业技术研究院 Configuration method of central processing unit and server suitable for the same
US11128549B1 (en) * 2020-07-13 2021-09-21 Massachusetts Mutual Life Insurance Company Routing for remote electronic devices
US11711282B2 (en) * 2020-12-16 2023-07-25 Capital One Services, Llc TCP/IP socket resiliency and health management

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163124A (en) 1978-07-24 1979-07-31 Rolm Corporation Finite storage-time queue
US4510351A (en) 1982-10-28 1985-04-09 At&T Bell Laboratories ACD Management information system
US4737983A (en) 1985-10-02 1988-04-12 American Telephone And Telegraph Company Communications, Inc. Automatic call distributor telephone service
US4894857A (en) 1987-06-16 1990-01-16 Inuentions Inc. Method and apparatus for customer account servicing
US4797911A (en) 1987-06-16 1989-01-10 Inventions, Inc. Customer account online servicing system
US4805209A (en) 1987-12-09 1989-02-14 International Business Machines Coordinated transfer of voice and information through a digital switch
US5001710A (en) 1989-10-24 1991-03-19 At&T Bell Laboratories Customer programmable automated integrated voice/data technique for communication systems
US5008930A (en) 1989-10-24 1991-04-16 At&T Bell Laboratories Customer definable integrated voice/data call transfer technique
US5274700A (en) 1989-11-27 1993-12-28 Unifi Communications Corporation Methods of automatically rerouting an incoming telephone call placed over a network
US5101425A (en) 1990-08-07 1992-03-31 Digital Systems International, Inc. Operations monitoring system
US5185780A (en) 1990-10-12 1993-02-09 Tex Corporation Method for predicting agent requirements in a force management system
US5289368A (en) 1990-10-12 1994-02-22 Iex Corporation Force management system user interface
US5911134A (en) 1990-10-12 1999-06-08 Iex Corporation Method for planning, scheduling and managing personnel
US5325292A (en) 1990-10-12 1994-06-28 Crockett Gary B Tour/schedule generation for a force management system
US5164983A (en) 1991-01-28 1992-11-17 American Telephone & Telegraph Company Telemarketing complex performance management system
US5097528A (en) 1991-02-25 1992-03-17 International Business Machines Corporation System for integrating telephony data with data processing systems
US5278898A (en) 1991-05-30 1994-01-11 Davox Corporation System for managing a hold queue
US5210789A (en) 1991-06-28 1993-05-11 International Telecharge, Inc. Interactive telephone operator terminal
US5749079A (en) 1992-03-04 1998-05-05 Singapore Computer Systems Limited End user query facility including a query connectivity driver
US5642515A (en) 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
US5504894A (en) 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
DE69325024D1 (en) 1992-06-25 1999-06-24 Apropos Technology Inc CALL DISTRIBUTOR
US5444774A (en) 1992-06-26 1995-08-22 At&T Corp. Interactive queuing sytem for call centers
EP0587290B1 (en) 1992-07-30 2000-01-26 Teknekron Infoswitch Corporation Method and system for monitoring and/or controlling the performance of an organization
US5684964A (en) 1992-07-30 1997-11-04 Teknekron Infoswitch Corporation Method and system for monitoring and controlling the performance of an organization
US5469504A (en) 1992-10-14 1995-11-21 Blaha; David L. Automatic call distribution with intersubnetwork customer information transfer system and method
US5335268A (en) 1992-10-22 1994-08-02 Mci Communications Corporation Intelligent routing of special service telephone traffic
CA2102868C (en) 1992-11-11 1999-10-26 Joseph E. Bloom Device for programming script sets in a telephone system
GB2273025B (en) 1992-11-12 1997-03-26 Rockwell International Corp Automatic call distributor with a programmable data window display system and method
CA2103204C (en) 1992-11-17 2002-11-12 Daniel F. Baker Call distributor with automatic preannouncement system and method
JPH06232982A (en) 1993-02-02 1994-08-19 Fujitsu Ltd Distribution control system for incoming call
US5937051A (en) 1993-07-08 1999-08-10 Teknekron Infoswitch Corporation Method and system for transferring calls and call-related data between a plurality of call centers
US5499386A (en) 1993-07-09 1996-03-12 Telefonaktiebolaget L M Ericsson Best server selection in layered cellular radio system
US5469503A (en) 1993-07-27 1995-11-21 Aspect Telecommunications Corporation Method for resynchronizing secondary database and primary database with preservation of functionality of an automatic call distribution system
ES2149794T3 (en) 1993-09-24 2000-11-16 Siemens Ag PROCEDURE TO OFFSET THE LOAD IN A MULTIPROCESSOR SYSTEM.
US5390243A (en) 1993-11-01 1995-02-14 At&T Corp. Telemarketing complex with automatic threshold levels
US5436965A (en) 1993-11-16 1995-07-25 Automated Systems And Programming, Inc. Method and system for optimization of telephone contact campaigns
US5473773A (en) 1994-04-04 1995-12-05 International Business Machines Corporation Apparatus and method for managing a data processing system workload according to two or more distinct processing goals
US5537542A (en) 1994-04-04 1996-07-16 International Business Machines Corporation Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system
US5519773A (en) 1994-06-07 1996-05-21 Siemens Colm Communications Inc. Call sharing for inbound and outbound call center agents
US5682460A (en) 1994-08-29 1997-10-28 Motorola, Inc. Method for selecting transmission preferences
US5530744A (en) 1994-09-20 1996-06-25 At&T Corp. Method and system for dynamic customized call routing
US5611076A (en) 1994-09-21 1997-03-11 Micro Data Base Systems, Inc. Multi-model database management system engine for databases having complex data models
US5594791A (en) 1994-10-05 1997-01-14 Inventions, Inc. Method and apparatus for providing result-oriented customer service
US5752027A (en) 1994-11-30 1998-05-12 Dun & Bradstreet Software Services, Inc. Apparatus and process for creating and accessing a database centric object
US5675739A (en) 1995-02-03 1997-10-07 International Business Machines Corporation Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types
US5546452A (en) 1995-03-02 1996-08-13 Geotel Communications Corp. Communications system using a central controller to control at least one network and agent system
EP0740450B1 (en) 1995-04-24 2006-06-14 International Business Machines Corporation Method and apparatus for skill-based routing in a call center
US5748468A (en) 1995-05-04 1998-05-05 Microsoft Corporation Prioritized co-processor resource manager and method
US5603029A (en) 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US5867663A (en) 1995-07-19 1999-02-02 Fujitsu Network Communications, Inc. Method and system for controlling network service parameters in a cell based communications network
US5742675A (en) 1995-09-26 1998-04-21 Telefonaktiebolaget Lm Ericsson Method and apparatus for automatically distributing calls to available logged-in call handling agents
US5703943A (en) 1995-10-16 1997-12-30 Lucent Technologies, Inc. Completion of calls to a preferred agent in an automatic call distributor
US5794250A (en) 1995-10-20 1998-08-11 Ncr Corporation Method and apparatus for extending existing database management system for new data types
US5689698A (en) 1995-10-20 1997-11-18 Ncr Corporation Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object
US5930786A (en) 1995-10-20 1999-07-27 Ncr Corporation Method and apparatus for providing shared data to a requesting client
US5754841A (en) 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5926538A (en) 1997-02-11 1999-07-20 Genesys Telecommunications Labs, Inc Method for routing calls to call centers based on statistical modeling of call behavior
US6175564B1 (en) 1995-10-25 2001-01-16 Genesys Telecommunications Laboratories, Inc Apparatus and methods for managing multiple internet protocol capable call centers
US5915012A (en) 1997-01-14 1999-06-22 Genesys, Telecommunications Laboratories, Inc. System and method for operating a plurality of call centers
US5754639A (en) 1995-11-03 1998-05-19 Lucent Technologies Method and apparatus for queuing a call to the best split
US6560707B2 (en) 1995-11-06 2003-05-06 Xerox Corporation Multimedia coordination system
US5754776A (en) 1995-12-28 1998-05-19 Intel Corporation Re-prioritizing background data transfers in multipoint conferencing
US5802282A (en) 1995-12-28 1998-09-01 Intel Corporation Recovering missing data during background data transfer in multipoint conferencing
US5757904A (en) 1996-02-05 1998-05-26 Lucent Technologies Inc. Context-sensitive presentation of information to call-center agents
US5838968A (en) 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
US6041103A (en) 1996-04-16 2000-03-21 Lucent Technologies, Inc. Interactive call identification
US5915010A (en) 1996-06-10 1999-06-22 Teknekron Infoswitch System, method and user interface for data announced call transfer
US6052723A (en) 1996-07-25 2000-04-18 Stockmaster.Com, Inc. Method for aggregate control on an electronic network
AUPO214096A0 (en) 1996-09-04 1996-09-26 Telefonaktiebolaget Lm Ericsson (Publ) A telecommunications system and method for automatic call recognition and distribution
US6272467B1 (en) * 1996-09-09 2001-08-07 Spark Network Services, Inc. System for data collection and matching compatible profiles
US5796393A (en) 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US6055308A (en) 1997-01-21 2000-04-25 Genesys Telecommunications Laboratories, Inc. Method and system for determining and using multiple object states in a computer telephony integration system
US5903641A (en) 1997-01-28 1999-05-11 Lucent Technologies Inc. Automatic dynamic changing of agents' call-handling assignments
US5864848A (en) 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
US6044144A (en) 1997-02-07 2000-03-28 Mci Communications Corp. Network call parking manager
US5940496A (en) 1997-02-10 1999-08-17 Gewesys Telecommunications Laboratories, Inc. Apparatus and methods enhancing call routing within and between call-centers
US5946387A (en) 1997-02-10 1999-08-31 Genesys Telecommunications Laboratories, Inc, Agent-level network call routing
US6185292B1 (en) 1997-02-10 2001-02-06 Genesys Telecommunications Laboratories, Inc. Skill-based real-time call routing in telephony systems
DE19709108A1 (en) 1997-03-06 1998-09-24 Fmn Fernmeldetechnik Gmbh Nord Control circuit for a switching regulator
US5982873A (en) 1997-03-07 1999-11-09 Lucent Technologies Inc. Waiting-call selection based on objectives
US5948065A (en) 1997-03-28 1999-09-07 International Business Machines Corporation System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently
US5974462A (en) 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US5960073A (en) 1997-04-03 1999-09-28 Genesys Telecommunications Laboratories , Inc. Method and apparatus for providing an interactive home agent with access to call center functionality and resources
US5996013A (en) 1997-04-30 1999-11-30 International Business Machines Corporation Method and apparatus for resource allocation with guarantees
US5901215A (en) 1997-05-20 1999-05-04 Rockwell Semiconductor Systems, Inc. Apparatus and method for identifying records of overflowed ACD calls
US6263359B1 (en) 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
US6094581A (en) 1997-06-10 2000-07-25 Telefonaktiebolaget Lm Ericsson Tailored hierarchical cell structures in a communications system
US5974135A (en) 1997-06-11 1999-10-26 Harrah's Operating Company, Inc. Teleservices computer system, method, and manager application for integrated presentation of concurrent interactions with multiple terminal emulation sessions
US5937402A (en) 1997-06-19 1999-08-10 Ontos, Inc. System for enabling access to a relational database from an object oriented program
US5987117A (en) 1997-07-07 1999-11-16 Mitel Corporation Method of dynamic load sharing between systems with automatic telephone call distributors
US6044355A (en) 1997-07-09 2000-03-28 Iex Corporation Skills-based scheduling for telephone call centers
US6052685A (en) 1997-08-13 2000-04-18 Mosaix, Inc. Integration of legacy database management systems with ODBC-compliant application programs
US6038293A (en) 1997-09-03 2000-03-14 Mci Communications Corporation Method and system for efficiently transferring telephone calls
US6490350B2 (en) 1997-09-30 2002-12-03 Mci Communications Corporation Monitoring system for telephony resources in a call center
US6229819B1 (en) 1997-10-21 2001-05-08 Mci Communications Corporation Advanced intelligent network gateway
US5999963A (en) 1997-11-07 1999-12-07 Lucent Technologies, Inc. Move-to-rear list scheduling
US6115462A (en) 1998-01-09 2000-09-05 Gte Laboratories Incorporated Method and apparatus for efficient call routing
US6518994B1 (en) 1998-01-28 2003-02-11 Ncr Corporation Video call distribution
US6426950B1 (en) 1998-02-13 2002-07-30 Nortel Networks Limited Method of resource management at computer controlled telephony hardware
US6226377B1 (en) 1998-03-06 2001-05-01 Avaya Technology Corp. Prioritized transaction server allocation
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6278777B1 (en) 1998-03-12 2001-08-21 Ser Solutions, Inc. System for managing agent assignments background of the invention
US6154769A (en) 1998-03-27 2000-11-28 Hewlett-Packard Company Scheduling server requests to decrease response time and increase server throughput
US6650748B1 (en) 1998-04-13 2003-11-18 Avaya Technology Corp. Multiple call handling in a call center
US6011844A (en) 1998-06-19 2000-01-04 Callnet Communications Point-of-presence call center management system
US6272544B1 (en) 1998-09-08 2001-08-07 Avaya Technology Corp Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals
US6178441B1 (en) 1998-09-21 2001-01-23 International Business Machines Corporation Method and system in a computer network for the reliable and consistent ordering of client requests
US6356632B1 (en) 1998-12-31 2002-03-12 Avaya Technology Corp. Call selection and agent selection in a call center based on agent staffing schedule
US6434230B1 (en) 1999-02-02 2002-08-13 Avaya Technology Corp. Rules-based queuing of calls to call-handling resources
US6560649B1 (en) 1999-02-10 2003-05-06 Avaya Technology Corp. Hierarchical service level remediation for competing classes based upon achievement of service level goals
US6744877B1 (en) 1999-03-08 2004-06-01 Avaya Technology Corp. Method and system for enterprise service balancing
US6424709B1 (en) 1999-03-22 2002-07-23 Rockwell Electronic Commerce Corp. Skill-based call routing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164125B2 (en) * 2018-11-19 2021-11-02 Capital One Services, Llc Systems and methods for proactive infrastructure resource management for multiple application clusters
US11625659B2 (en) 2018-11-19 2023-04-11 Capital One Services, Llc Systems and methods for proactive infrastructure resource management for multiple application clusters

Also Published As

Publication number Publication date
US8499301B2 (en) 2013-07-30
US20070074220A1 (en) 2007-03-29
EP1058444A2 (en) 2000-12-06
JP2000285085A (en) 2000-10-13
KR20000076638A (en) 2000-12-26
JP3844932B2 (en) 2006-11-15
EP1058444A3 (en) 2004-02-04
US7200219B1 (en) 2007-04-03

Similar Documents

Publication Publication Date Title
CA2298266A1 (en) Dynamically allocating server resources to competing classes of work based upon achievement of service goals
US10291781B2 (en) Best match interaction set routing
US6845154B1 (en) Allocation of resources to flexible requests
US8781096B2 (en) System and method for providing call-back options
US6493695B1 (en) Methods and systems for homogeneously routing and/or queueing call center customer interactions across media types
Koole et al. An overview of routing and staffing algorithms in multi-skill customer contact centers
US6996614B2 (en) Resource allocation in data processing systems
US8938064B2 (en) Method and system for assigning tasks to workers
EP1107559B1 (en) System for automatically routing calls to call center agents in an agent surplus condition based on service levels
US6272544B1 (en) Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals
US8036372B2 (en) Methods and apparatus for dynamically reallocating a preferred request to one or more generic queues
JP2000307736A (en) Method and system for processing communication in communication processing system
US9838539B2 (en) Limiting contact in a networked contact center environment
US20070121897A1 (en) Methods and apparatus for dynamically adjusting resource configuration in a resource allocation system
CN103516759A (en) Cloud system resource management method, cloud call center seat management method and cloud system
US7343010B2 (en) System and method for integrated resource scheduling and task allocation
CN100407745C (en) System for realizing data searching control in call centre and controlling method
AU2018275024B2 (en) Capacity allocation of call-handling devices
US7170990B2 (en) Autonomous dispatcher method and apparatus
CA2404786C (en) Hierarchical remediation of service levels for transaction classes which are independent of the organization of resource skills
WO2002030093A2 (en) System for automatically predicting availability of a resource in a customer care center
WO2014078874A1 (en) System and method for contact center activity routing based on agent preferences

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued