Abstract:
The present invention relates to the matching of resources to work entries. In particular, the present invention allows work items to be assigned to a particular resource based on the characteristics of the work item and on the qualifications and preferences of the resource. Furthermore, the present invention does not rely on queues, thereby allowing characteristics of a work item other than or in addition to the amount of time that a work item has been waiting for service to be considered in assigning the work item to a resource. The types of work items that may be validly assigned to a resource, or the preference rules used to select a valid work item for handling by a resource, may be altered by altering the validation rules and preference rules associated with the resource and/or work item. Accordingly, the rules for allocating work may be adjusted easily and quickly, including at run-time, and may represent any attribute desired for use in allocating work.

Description:
FIELD OF THE INVENTION 
     The present invention is related to the allocation of resources using individualized selection rules. In particular, the present invention is directed to matching resources and work entries in accordance with individualized selection rules. 
     BACKGROUND OF THE INVENTION 
     Resource allocation systems have been developed for assigning work entries to resources according to various criteria. For example, customer contact centers receive requests for assistance or inquiries from customers, and distribute those requests and inquiries to agents. Such systems may attempt to distribute work (e.g., requests for assistance or inquiries) to resources (e.g., agents) by placing work entries corresponding to available work into a queue established for work entries having selected attributes. All agents within a given service or skill must use the same rules for selecting work from that service&#39;s work queue. 
     The assignment of work entries into queues allows work to be allocated to resources based on narrowly defined services. However, such systems do not allow for the individualized selection of a work entry from within a queue established for a service. Instead, a single set of selection rules for the queue is applied to determine the next work entry that is assigned to a resource. For example, the rule for a queue may provide that the work entry that has been in the queue the longest is assigned to the next available resource. Other systems may search across the top row or rows of queues, and assign the first piece of work meeting the selection criteria to the resource. Therefore, such systems do not consider every piece of work in a queue. Accordingly, conventional work allocation systems are incapable of automatically assigning work to resources based on the unique capabilities of the resources to which work from a particular queue may be assigned and based on the unique aspects of individual work entries within the queue, after consideration of each work entry in the queue. 
     Other systems generate scores in order to correlate the requirements of a work item to the abilities of an agent. However, such systems have been limited to using a single set of attributes for correlating work items and agents. In particular, such systems have used an assigned skill level to match work items to agents. Furthermore, although such systems may allow management preferences to be considered in assigning a piece of work, such preferences are considered only if the scores generated for two or more agents with respect to that piece of work are the same, or if skill is not being considered in assigning work. Furthermore, conventional systems have been limited to selection criteria based on attributes or characteristics of the work or resource themselves, and have not searched every available item. Accordingly, systems have been limited in the criteria that can be applied to match work items to a resource. 
     Still other resource allocation systems provide a display of possible or qualifying work items to an agent, and let the agent select which work item to service next. Such systems do not automatically assign work to agents based on the unique capabilities of agents or the unique aspects of work entries. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to solving these and other problems and disadvantages of the prior art. According to embodiments of the present invention, there is a resource entry corresponding to at least each available resource within a work allocation system. When a resource arrives, a work selection rule or set of rules is used to determine which available work item the resource is assigned to by comparing the work selection rule or rules to one or more characteristics of the available work items. The work selection rule need not relate to the characteristics of the resource with which the rule is associated. More particularly, different sets of work selection rules may be applied in response to changing environmental conditions. Furthermore, the work selection rule may comprise a work validation rule and a work preference rule. Each resource may have a different set or combination of work validation rules and work preference rules. In addition, there is a work entry corresponding to each work item that is received. When a work item arrives, a resource selection rule or set of rules is used to determine which available resource the work item is assigned to by comparing the resource selection rule or rules to one or more characteristics of the available resources. The resource selection rule need not be related to the characteristics of the work item with which the rule is associated. More particularly, different sets of resource selection rules may be applied in response to changing environmental conditions. Furthermore, the resource selection rule may comprise a resource validation rule and a resource preference rule. Each work entry may have a different set or combination of resource validation rules and resource preference rules. 
     In accordance with other embodiments of the present invention, each resource may be associated with one or more work selection rules and each work item may be associated with one or more resource selection rules. When a resource becomes available, a work entry may be allocated to that resource based on the capability of the resource to perform the work required by the work entry, or on other criteria, as determined by a comparison of the resource&#39;s work selection rule or rules to the work entry&#39;s resource selection rule or rules. Similarly, when a work entry becomes available, it can be assigned to a resource according to the requirements of the work entry, or according to other criteria, and the capabilities of the resource, as determined by a comparison of the work entry resource selection rule or rules to the resource&#39;s work selection rule or rules. 
     According to embodiments of the present invention, one or more work entry pools are established for work entries that have arrived at a work allocation system and that have not yet been assigned to a resource. In accordance with embodiments of the present invention, work entry pools comprise general categories or classifications of work. Work entries within a pool are not prioritized with respect to other work entries within that pool (i.e., they are not queued). When a resource becomes available, each work entry in every pool from which the available resource may be validly assigned work is considered as a candidate for assignment to the resource. After all such work entries have been considered, the work entry (or a select number of work entries) having characteristics best matching the work selection rules associated with the resource is assigned to the resource for handling. 
     In accordance with further embodiments of the present invention, resource pools are established for resource entries corresponding to available resources. In general, the resource pools categorize resources according to the characteristics of the resources. Resource entries within a pool are not prioritized with respect to other resource entries within that pool (i.e., they are not queued). When a work item arrives at the system, each resource in every resource pool from which a resource may be validly selected for handling the work item is considered. After all of the resources have been considered, the resource having characteristics that best meet the resource selection rules associated with the work entry is assigned to service that work entry. 
     In accordance with additional embodiments of the present invention, when a resource can validly service a number of work entries, those work entries are scanned and scored according to the resource&#39;s work preference rule or rules. In particular, the work preference rule or rules associated with the resource are used to generate a score based on each work entry&#39;s characteristics or on each work entry&#39;s resource preference rules. The work entry for which the highest score is calculated is then assigned to the resource. In accordance with still other embodiments of the present invention, valid work entries are scored according to a comparison of the valid work entries&#39; characteristics or resource preference rules and the resource&#39;s characteristics or work preference rule or rules, and the resource is automatically assigned multiple highest scoring work entries. In accordance with such embodiments, the resource may be allowed to choose a particular work entry, or multiple work entries, from a selected number of the highest scoring work entries. 
     In accordance with still other embodiments of the present invention, when a resource validation rule or rules associated with a work item makes that work item available to a number of resources within a service, each such resource entry is validated, scanned, and scored. In particular, the resource preference rules associated with the work item are used to generate a score based on the characteristics or the work entry preference rules associated with each of the valid resources. The resource entry with the highest score is then assigned to the work item. 
     Furthermore, in accordance with embodiments of the present invention, parameters associated with a particular resource entry or work entry can be different for each work entry or resource in a pool. In addition, the rules or parameters associated with a resource entry or work entry can be changed dynamically and in real-time. Furthermore, changes to parameters or rules may be made in response to detected changes in environmental conditions. Accordingly, the present invention is capable of matching work entries and agents according to any desired criteria. 
     These and other advantages and features of the invention will become more apparent from the following description of illustrative embodiments of the invention, taken together with the drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram depicting a system for allocating resources in accordance with an embodiment of the present invention; 
         FIG. 2  is a block diagram depicting the components of a system for allocating resources in accordance with an embodiment of the present invention; 
         FIG. 3  is a flow chart depicting the operation of a system in accordance with an embodiment of the present invention in response to a resource becoming available; and 
         FIG. 4  is a flow chart depicting the operation of a system in accordance with an embodiment of the present invention in response to a work item becoming available. 
     
    
    
     DETAILED DESCRIPTION 
     With reference now to  FIG. 1 , a resource allocation system  100  in accordance with an embodiment of the present invention is depicted. As shown in  FIG. 1 , the resource allocation system  100  generally includes a resource entry pool  104  and a work entry pool  108  for each of one or more services  112 , and a matchmaker  116 . For example, in a system having multiple services  112  (e.g., services  112   a  and  112   b ), a like number of corresponding resource entry pools  104  (e.g., resource entry pools  104   a  and  104   b ) and work entry pools  108  (e.g., work entry pools  108   a  and  108   b ) may be provided. 
     In accordance with an embodiment of the present invention, the resource entry pools  104  may include an unordered collection of one or more resource entries that each contain information regarding a resource available for performing work drawn from system resource entries  120 . As described in greater detail below, the information regarding available resources maintained as part of the system resource entries  120  may include or specify resource parameters. The resource parameters may comprise resource characteristics, or work selection rules, which may include service validity rules, work validity rules, and work preference rules for each such available resource. 
     The work entry pools  108  may include an unordered collection of one or more work entries that each contain information regarding a work item drawn from system work entries  124 . That is, each work entry corresponds to a work item that requires a service available from a resource associated with the work allocation system  100 . As described in greater detail below, the information regarding available work entries maintained as part of the system work entries  124  may include or specify work item parameters. The work item parameters may comprise work item characteristics, or resource selection rules, which may include resource validation rules and resource preference rules. The resource selection rules may comprise requirements for each work entry requiring a service  112 . 
     The parameters associated with a resource or a work item can be varied in response to changing environmental conditions. For example, work selection rules in a resource entry or resource selection rules in a work entry may be altered in response to changed system goals or operating parameters. Furthermore, such changes may be implemented in real-time or in substantially real-time. As can be appreciated by one of skill in the art from the description provided herein, embodiments of the present invention allow such dynamic implementation of altered selection rules because they group work entries and/or resource entries into pools, and not in ordered queues. More particularly, because each work entry in a pool is considered for assignment when a resource becomes available, and because each resource entry in a pool is considered for assignment when a work entry becomes available, rule changes can be made at run-time. Such aspects of embodiments of the present invention also allow selection rules to be customized for particular resources or work items. In particular, resources and work items can be treated on a truly individual basis, rather than simply as part of larger categories. Examples of environmental conditions that might prompt changes in applied selection rules include service loads on the system, whether a request for service is received on a holiday or outside of normal business hours, the capabilities of resources available to the system, the goals of supervisors on duty at a particular point in time, the current goals or policies of an enterprise operating the system, information affecting system knowledge as to the capabilities of a resource or needs of a work item, or any other condition in response to which a change in how work is paired to a resource may be desired. 
     The matchmaker  116  generally assigns an available work item represented in a work entry pool  108  to an available resource represented in a corresponding resource entry pool  104 . In accordance with an embodiment of the present invention, a first one of a work item and a resource is assigned to a second one of a work item and a resource according to the validation and preference rules associated with the first one and the characteristics of the second one. In accordance with other embodiments of the present invention, a work item is assigned to a resource according to work validation rules and work preference rules for the resource, and resource validation rules and resource preference rules associated with the work item. As will be appreciated from the description provided herein, a work item will typically be represented by a corresponding work entry in the work entry pool  108  of only one service  112 , while a resource may have a corresponding resource entry in resource entry pools  104  for a number of services. 
     With reference now to  FIG. 2 , the components of a resource allocation system  100  in accordance with an embodiment of the present invention are depicted in block diagram form. In general, the system  100  may include a server  204 , a source of work items  208 , and a source of resources  212  capable of performing work received from the source of work items  208 . 
     The server  204  may comprise a general purpose computer server. For example, the server  204  may comprise a general purpose computer running a Windows operating system. As yet another example, the server  204  may comprise a call center server. As still another example, the server  204  may incorporate the functions of a telecommunications switch. As shown in  FIG. 2 , the server  204  may comprise a processor  216 , memory  220 , user input/output devices  224 , data storage  228 , and a network interface  232 . 
     The processor  216  may include any processor capable of performing instructions encoded in software. In accordance with another embodiment of the present invention, the processor  216  may comprise a controller or application specific integrated circuit (ASIC) having and capable of performing instructions encoded in logic circuits. For example, the processor  216  may perform or execute software or encoded instructions implementing the matchmaker  116  function (i.e., performing the allocation determination functions) of the system  100 . The memory  220  may be used to store programs or data in connection with the running of programs or instructions on the processor  216 . In addition, the resource entry pool or pools  104 , the work entry pool or pools  108 , the system resource entries  120 , and/or the system work entries  124  may be established in the memory  220 , in whole or in part. The user input/output devices  224  may include visual displays, audio output, keyboards, pointing devices or any other devices for facilitating the receipt of instructions or data from a user and the provision of output to the user, such as a system administrator. The data storage  228  may generally include storage for programs and data. For example, the data storage  228  may store validation rules and preference rules for each resource  252 , work entry  244 , and service  112  associated with the system  100 . In addition, the data storage  228  may store a matchmaker application  234 , for instance where the matchmaker  116  function is encoded in software. The data storage  228  may also be used to store data comprising the resource pool or pools  104 , the system resource entries  120 , the system work entries  124 , services  112 , and the work pool or pools  108 . The network interface  232  may provide an interconnection between the server  204  and the source of work items  208  over a first communication channel or link  236  and with the source of resources  212  over a second communication channel or link  240 . As can be appreciated by one of skill in the art, a different network interface  232  may be provided for each communication channel  236 ,  240  with which the server  204  is interconnected. Furthermore, the communication channels  236 ,  240  may comprise a single communication channel or link, for example where the server  204  is interconnected to a source of work items  208  and to a source of resources  212  through an Internet protocol network. 
     The source of work items  208  may include a plurality of work items  244 . The work items  244  may comprise or be associated with entities, devices or processes that require access to a resource  252 . For example, an entity, device or process associated with a work item  244  may comprise a customer placed in communication with the server  204  through a communication network  248 . Accordingly, it should be appreciated that, in accordance with embodiments of the present invention, a Work item  244  may comprise a person requesting information or assistance by contacting a server  204  comprising a call center using a telephone or a client computer. Furthermore, the communication network  248  through which an entity, device or process associated with a work item  244  is placed in communication with the server  204  may comprise the public switched telephone network (PSTN). According to alternative or additional embodiments of the present invention, the communication network  248  may comprise a computer network over which an entity, device or process associated with a work item  244  is interconnected to the server  204 , and over which data, including voice data or textual data, is transmitted. For example, the communication network  248  may comprise the Internet. Although only two work items  244   a  and  244   b  are shown in  FIG. 2 , it should be appreciated that other numbers of work items  244  can be supported. Also, it should be appreciated that according to embodiments of the present invention, different work items may be interconnected to the server  204  over different communication networks  248 . 
     The source of resources  212  generally includes a plurality of resources  252 . The resources  252  may comprise human agents. According to additional or alternative embodiments of the present invention, the resources  252  may comprise computer processor resources or communication resources. The resources  212  may be interconnected to the server  204  through a local network  256 . Although only two resources  252   a  and  252   b  are illustrated in  FIG. 2 , it should be appreciated that other numbers of resources  252  may be supported. 
     In an exemplary embodiment of the system  100 , the server  204  comprises a private branch exchange (PBX), the local network  256  comprises an Internet protocol network, the communication network  248  comprises the PSTN and/or the Internet, and the resources  252  comprise human agents using telephones or computers to communicate with assigned work items  244  comprising human customers using text or voice communications established via telephones or computers. According to still other embodiments of the present invention, the communication network  248  and the local network  256  may comprise a common network, such as the Internet. 
     With reference now to  FIG. 3 , the allocation of one of a plurality of work items  244  to an available resource  252  is illustrated. Initially, at step  300 , a resource  252  becomes available or is received. Next, at step  304 , a list of services (service validation rules) and types or categories of work (work validation rules) that the resource  252  can or is permitted to perform, and the individualized work preference rules for that resource  252 , as represented by that resource&#39;s corresponding resource entry, are obtained. For example, a resource entry corresponding to the available resource  252  is received. In accordance with an embodiment of the present invention, the service validation rules for a resource  252  define broad categories of duties that the resource is able to perform and that are within the resource&#39;s assigned duties. In accordance with another embodiment of the present invention, the administered capabilities of a resource  252 , as set forth in a resource entry, define broad categories of duties that a resource is able to perform, and the validation rules are more detailed and specific. For example, a service  112  might be considered valid for a given resource  252  only when its state is greater than a particular level, valid only when the service level target for the service  112  is not being met, or valid for a particular period of time during the day. In the exemplary context of a customer contact center in which resources  252  comprise human agents, a first service (e.g., service  112 a) may include responding to inquiries regarding selected services or products available from the provider of the resource  252  (e.g., the operator of the work allocation system  100 ) received from potential customers, and a second service (e.g., service  112 b) may include responding to inquiries from existing customers regarding selected services or products. 
     After the list of services that the resource  252  can perform has been obtained, a first service  112  offered in connection with the system  100  is obtained (step  308 ). At step  312 , the service validation rules for the resource are applied to the first service  112  (e.g., service  112   a ). At step  316 , a determination is made as to whether the service  112  is valid. If the service  112  is not valid, a determination is made as to whether more services are available (step  320 ). If more services are available, the system  100  gets the next service  112  (e.g., service  112   b ) (step  324 ), and the service validity rules are applied (step  312 ) to determine the validity of the next service  112  (step  316 ). 
     If the service  112  is determined at step  316  to be valid, the system  100  gets the first work entry (step  328 ) from the service&#39;s work entry pool  108 . Next, at step  332 , the work validation rules for the resource  252  set forth in the resource entry for that resource  252  are applied to the first work entry, and in particular to the characteristics of that work entry. The work validation rules associated with a resource  252  may be unique to that resource. The work validation rules may be applied to define the types of work that the resource  252  is qualified to handle and that are within the resource&#39;s assigned duties. The work validation rules may be established as categories within a valid service or services  112  for the resource  252 . For example, a resource  252  comprising a human agent having good interpersonal skills and who is very knowledgeable regarding the goods or services available from the provider of the resource, and therefore has the skills necessary to handle requests for information regarding all aspects of the business of the provider, may be qualified to handle requests for information from all categories of existing and potential customers. However, because such a resource  252  may be more advantageously reserved for high value customers, the work validation rules associated with that resource  252  and set forth in a corresponding resource entry may be used to assign only calls (i.e., work items  244 ) associated with high value customers to that resource  252 . Similarly, a resource  252  comprising a human agent that is a trainee, and thus relatively inexperienced, may have associated work validation rules that confine the resource&#39;s duties to one segment of inquiries (for example, regarding existing accounts of a particular type) and that are placed by relatively low value customers. 
     It should be appreciated that the particular rules that may be associated with a resource can be changed dynamically in response to changing conditions or system parameters. Furthermore, changes may be applied to a single resource (i.e., changes may be unique to a particular resource). For example, the work validation rules associated with a single resource can be altered at any time and effectively applied. In particular, this ability is enabled by embodiments of the present invention because every work entry associated with a service for which a resource has been determined to be valid is searched or considered for assignment to the resource. Accordingly, embodiments of the present invention provide flexibility to system  100  administrators or operators. 
     In an additional aspect, work validation rules or the selection of work validation rules being applied can be unrelated to characteristics of the resource with which they are associated. For example, different work validation rules may be applied or associated with a resource according to environmental conditions such as the time of day, day of the week, whether the day is a holiday, the capabilities of other resources associated with the system  100  at the time the rule is applied, the service level objectives at the time the rule is applied, the presence or absence of supervisory personnel, the identity of supervisory personnel, or any other criteria. In addition, as will be described in greater detail elsewhere herein, because every work entry in a service that has been determined to be valid for the available resource is considered or scanned, embodiments of the present invention allow unique selection criteria to be applied. For example, a work validation rule that is particular to a resource can be applied effectively, allowing very precise control of work assignments. For example, where a resource has a particular characteristic, such as the ability to communicate using a local dialect, a work entry associated with a request for assistance from someone using that local dialect can be reliably assigned to the resource, even though the resource may validly service other work items. As yet another example, a particular resource may be restricted with respect to the gender of persons represented by work entries that can be assigned to the resource, and this policy can be effectively enforced. Changes to work validation rules can be made at substantially the same time as environmental changes are detected. 
     In step  336 , a determination is made as to whether the work entry is, according to the applicable work validation rules, valid for the resource  252 . In general, a work entry is valid for a resource if the work validation rules associated with the resource meet or exceed the requirements of the work item. If the work entry is not valid, a determination is made as to whether more work entries are available from the work entry pool  108  (step  340 ). If more work entries are available, a next work entry is retrieved from the work entry pool  108  (step  344 ) and the system returns to step  332 . 
     If the work entry is valid for the resource  252 , the work preference rules associated with the resource  252  (i.e. the work preference rules set forth in the resource entry associated with the resource  2 . 52 ) are applied to generate a score for the work entry (step  348 ). The work preference rules associated with a given resource may be unique to that resource  252 . The work preference rules are applied to provide the best possible fit between a resource  252  and the work item  244 , as determined by the characteristics of the work item or as set forth in the corresponding resource preference rules of the work entry. For example, the particular rules associated with a resource  252  may make it desirable to assign work items  244  having a first set of characteristics to that resource, as specified by an associated resource preference rule or rules, in preference over work items  244  having a second set of characteristics. 
     For instance, it may be considered desirable to assign a resource having a unique characteristic, such as a unique accent, only to customers from a region where that accent is prevalent. Such selection criteria may be implemented by searching each work item that is valid for the resource. That is, each work entry for which it has been determined that the resource meets the minimum validity requirements is considered to determine the region from which the person associated with the work entry is from. Where such selection criteria is implemented as a work preference rule, a first work entry that is associated with a customer from the region in question may be scored more highly than a second work entry that is identical, except that the second work entry is not associated with a customer from that region. 
     As another example, it may be considered desirable to assign work items  244  comprising requests for information from female customers to resources  252  comprising female agents in preference over resources  252  comprising male agents. Under such a scenario, a work item  244  having a characteristic indicating that the work item is associated with a female customer that has already been determined to be valid for a resource  252  comprising a female agent will be scored more highly than another valid work item  244  having the characteristic of being associated with a male customer. 
     Accordingly, rather than simply taking a work entry from the top of a queue established for a particular category of work item  244 , the individual characteristics or requirements of work items  244  represented in a work entry pool  108  that may be validly assigned to a resource  252 , as expressed by the characteristics of those work items&#39;  244  corresponding work entries, are compared to the individual characteristics of the resource, as expressed by the work preference rule or rules of the resource entry, to determine the desirability of such an assignment. Furthermore, work preference rules are applied to score each work item then available in the work entry pool  108  that can be validly handled by the resource under consideration. That is, a score is generated for each work item having requirements that are met or exceeded by the resource. 
     In an additional aspect, work preference rules or the selection of work preference rules can be unrelated to the resource with which they are associated. For example, different work preference rules may be applied or associated with a resource according to environmental conditions or any other criteria. Changes to work preference rules can be made at substantially the same time as environmental changes are detected. 
     At step  352 , a determination is made as to whether the score generated for the work item  244  then under consideration is the best score yet obtained. If it is the best score, the work entry for the work item  244  and its score are recorded (step  356 ). After recording the work entry and its score, or if at step  352  it is determined that the score obtained is not the best score from among the candidate work entries that have already been scored, the system proceeds to step  340  to determine whether more work entries are available. If more work entries are available, the next work entry is obtained (step  344 ) and the system returns to step  332  to consider the next work entry. If no more work entries are available (i.e. all of the available work entries for the service have been considered), a determination is made as to whether more services  112  are available (step  320 ). If more services  112  are available, the next service  112  is obtained (step  324 ) and the system returns to step  312 . If no more services  112  are available, a determination is made as to whether a work entry has been found for the resource  252  (step  360 ). If a work entry has been found, the best work item  244  (i.e., the work item  244  associated with the work entry having the highest score) is assigned to the resource  252  (step  364 ). If a work entry has not been found for the resource  252 , the resource is placed in the resource pool or pools  104  (step  368 ). After assigning the best work item  244  to the resource  252  (step  364 ) or placing the resource entry in the resource pool or pools  104  (step  368 ), the process of assigning a work item  244  to a particular resource  252  ends (step  372 ). 
     As can be appreciated by one of skill in the art, the process of assigning a work item  244  to a resource  252  may be initiated each time a resource  252  becomes available. Alternatively or in addition, the process of assigning a work item  244  to a resource  252  may be performed periodically. 
     With reference now to  FIG. 4 , the process of assigning a work item  244  that becomes available to one of a plurality of resources  252  is illustrated. Initially, at step  400 , a work item  244  becomes available or is received. At step  404 , individualized resource selection rules associated with the work item  244  are obtained. These resource selection rules may include resource validation rules and resource preference rules that describe particular characteristics of the work item  244  under consideration and that are set forth in a work entry corresponding to the work item  244 . Furthermore, it should be appreciated that the resource selection rules associated with the work item  244  may be unique to that work item  244 . In addition, it should be appreciated that the resource selection rules need not be divided into resource validation or resource preference rules categories. 
     It should be appreciated that the particular rules that may be associated with a work item can be changed dynamically in response to changing conditions or system parameters. Furthermore, changes may be applied to a single work item (i.e., changes may be unique to a particular work item). For example, the resource validation rules associated with a single work item can be altered at any time and effectively applied. In particular, this ability is enabled by embodiments of the present invention because every resource entry that is available to a work entry is searched or considered for assignment to the work entry. Accordingly, embodiments of the present invention provide flexibility to system  100  administrators or operators. 
     In accordance with embodiments of the present invention, the resource selection rules associated with a work item can be altered or selected in accordance with environmental conditions or any other criteria. In addition, changes to the resource selection rules associated with a work item can be made at substantially the same time as environmental changes are detected. 
     At step  408 , a first resource entry corresponding to the first resource  252  is obtained, for example, from a resource entry pool  104 . Next, the resource validation rules or rules associated with the work item  244  are applied to the characteristics of the resource, or to the work validation rule or rules associated with the resource  252  (step  412 ). At step  416 , a determination is made as to whether the resource  252  is valid with respect to the work item  244 . In general, a resource  252  is valid if its characteristics are such that the minimum expressed by the resource validation rules of the work entry are met or exceeded. If the resource  252  is not valid for the work item  244  under consideration, a determination is made as to whether more resources  252  are available (step  420 ). If more resources  252  are available, the entry corresponding to the next resource  252  is obtained (step  424 ) and the system returns to step  412 . 
     If the resource  252  under consideration is valid with respect to the available work item  244 , the resource preference rules associated with the work item  244  are applied to the characteristics of the resource  252 , or to the work preference rule or rules associated with the resource  252 , to generate a score for the resource  252  (step  428 ). According to embodiments of the present invention, the resource preference rules can be any characteristic that is considered desirable as a criterion to steer a work item to an appropriate or best resource. In an additional aspect, resource preference rules or the selection of resource preference rules can be unrelated to the work entry with which they are associated. For example, different resource preference rules may be applied or associated with a work item according to environmental conditions or any other criteria. Changes to resource preference rules can be made at substantially the same time as environmental changes are detected. At step  432 , a determination is made as to whether the score generated for the resource  252  is the best score obtained from among other resources  252  that have been scored for the resource  252  under consideration. If it is the best score, the resource entry for the resource  252  and its score are recorded as best (step  436 ). After recording the resource entry and its score as best, or if the score generated for the resource  252  is not the best score, a determination is made as to whether more resources  252  are available (step  420 ). If more resources  252  are available, the resource entry corresponding to the next resource is obtained (step  424 ) and the system returns to step  412  to consider the next resource. Accordingly, it can be appreciated that every resource that is valid for the work entry is scored with respect to that work entry. 
     If no more resources  252  are available (i.e. if all of the available resources have been considered), a determination is made as to whether a resource  252  for the work item  244 .has been found (step  440 ). If a resource  252  has been found, the best resource  252  (i.e., the resource  252  associated with the resource entry having the highest score) is assigned to the work item  244  (step  444 ). If no resource  252  has been found for the work item  244 , the work entry is placed in the work entry pool  108  (step  448 ). After the work item  244  has been assigned to the best resource  252 , or the work entry for the work item  244  has been pooled, the process for assigning a work item  244  that becomes available to a resource  252  ends (step  452 ). 
     As can be appreciated by one of skill in the art, the process of assigning a resource  252  to a work item  244  may be initiated each time a work item  244  becomes available. Alternatively or in addition, the process of assigning a resource  252  to a work item  244  may be performed periodically. 
     In another embodiment, a work item  244  that has just become available may also be assigned service validation rules, and be denied service if the service validation rules are not met. For example, the service  112  may have been taken out of service, the service  112  may be unstaffed (i.e. there are no resources  252  present to do the work), the number of work entries allowed in the service&#39;s  112  work entry pool  108  may be limited to some administered maximum, or the estimated waiting time for the work item  244  exceeds some administered value. 
     In another embodiment, the resource allocation system can be used to select and automatically assign the best “n” work items  244  for an available resource  252 , or the best “n” resources  252  for an available work item  244 . 
     From the description provided herein, it can be appreciated that the present invention allows resources  252  and work items  244  to be matched based on the individual characteristics of each work item  244  and each resource  252 . This allows a system  100  in accordance with the present invention to efficiently allocate resources  252  to work items  244 . In particular, the present invention allows the abilities of an available resource  252  to be closely aligned with the needs of an individual work item  244 . 
     In addition, it can be appreciated from the description provided herein that the present invention allows criteria that are unrelated to the characteristics of a work item or resource to be considered in matching work to resources. For example, environmental conditions, such as the personnel staffing a system  100 , the time of day, date or any other criterion can be applied in determining the appropriateness of a match between a resource and a work item. Such a criterion may be applied in the form of an “if then” type statement, in order to apply different criteria in response to changing environmental conditions. 
     As can be appreciated by one of skill in the art, determining the characteristics of a work item or assigning resource selection rules or requirements to a work item  244  may be accomplished in various ways. For example, information maintained regarding a particular customer, for instance in a database maintained in storage  228 , may be used to determine the characteristics of or to assign resource selection rules to a work item  244  associated with that customer. A customer may be identified using caller identification information, return e-mail address, by an account number provided by the customer in initiating contact with the server  204 , or by other conventional methods for obtaining such information. As a further example, a telephone number dialed by a prospective customer to contact the server  204  may indicate the type of inquiry or characteristics of the customer, and thus the service and the requirements to associate with a work item  244 . Accordingly, a work item  244  may inherit a default set of characteristics or resource selection rules from the particular service  112  that the work item is associated with. As still another example, a customer may be asked to make selections from menus as part of initiating contact with a server  204 , and the provided information may be used to establish characteristics or requirements for association with the resulting work entry for the work item  244 . Data regarding customers or consumers identified by, for example, caller identification systems or information provided by the customer or consumer may also be used to obtain information for use in establishing requirements from databases provided by third parties. In addition, depending on the status of the system  100  or environmental conditions, the characteristics or rules applied with respect to a work item can be varied. Furthermore, such variation can be performed in realtime. That is, as the status of the system  100  or environmental conditions change, the applied characteristics or rules can also change. 
     The characteristics of a resource  252  may be associated with a corresponding resource entry by an administrator using the input/output devices  224  in accordance with the directions of management. In accordance with alternative embodiments of the present invention, work selection rules, which may include service validation rules, work validation rules, and work preference rules, may be associated with a resource  252  by an administrator using the input/output devices  224  in accordance with the directions of management. For example, characteristics or service validation rules for a resource  252  may be determined by the training that a resource (e.g., an agent) has received. Other characteristics or work validation rules may be determined based on the capabilities or other attributes of a resource  252 . For example, a resource  252  that is a trainee may have a different set of valid types of work than a more experienced resource  252 . Characteristics or work preference rules can be used to steer work items  244  having particular characteristics to particular resources  252 . For example, work items  244  that are associated with high value customers may be steered to particular resources  252  by setting forth characteristics or work preference rules for such resources that generate a high score in connection with complimentary resource preference rules established for the work item  244 . Also, it should be appreciated that one component of the scoring of a resource  252  with respect to work items  244  may be the amount of time that a work item  244  has been waiting for a resource. Accordingly, a system  100  in accordance with the present invention may ensure that service time objectives are met, while closely matching work item  244  requirements to resource  252  capabilities. 
     The system  100  of the present invention can also be configured to allow the resources  252  some control over the work items  244  that they are assigned. For example, back office personnel may be permitted to choose from a number of work items  244  having high scores as the next work item  244  to be serviced by that resource  252 . 
     In a further aspect, it can be appreciated that the characteristics or the validity and preference rules used to match a work item  244  to a resource  252  can be changed at any time. In particular, because the work entry pool  108  does not order the work items that it contains, the validation and preference rules can be dynamically changed, for example in response to the detection of extended wait times for particular types of work or other environmental conditions, at run-time. For example, a characteristic or a work validation rule associated with a resource  252  may be altered to change the type of work item  244  that the resource may be assigned to. In addition, characteristics or work preference rules associated with a resource  252  may be altered to make it more probable that the resource will be provided with only certain types of work entries. Accordingly, it can be appreciated that a system  100  in accordance with embodiments of the present invention may dynamically adapt to changes in the loads placed on the system caused by the requirements of work entries received by the system  100 , by the capabilities of resources associated with the system  100 , or by other environmental factors. 
     Although the foregoing description has used as examples a system  100  comprising a call center staffed by human agents available for real-time verbal and textual communications in connection with inquiries or requests for assistance made by human customers, it should be appreciated that the present invention is not so limited. For example, embodiments of the present invention may be utilized in connection with the assignment of work items  244  comprising processing tasks to resources  252  comprising computer processors. Furthermore, it should be appreciated that the present invention, while particularly useful in connection with the servicing of work items  244  in real-time, may be utilized to distribute work to resources  252  from a pool of work entries that may hold individual work entries for extended periods of time. For example, embodiments of the present invention may be utilized to distribute work items  244  comprising textual correspondence to resources  252  for action and possible reply. 
     The foregoing discussion of the invention has been presented for purposes of illustration and description. Further, the description is not intended to limit the invention to the form disclosed herein. Consequently, variations and modifications commensurate with the above teachings, within the skill and knowledge of the relevant art, are within the scope of the present invention. The embodiments described hereinabove are further intended to explain the best mode presently known of practicing the invention and to enable others skilled in the art to utilize the invention in such or in other embodiments and with various modifications required by their particular application or use of the invention. It is intended that the appended claims be construed to include the alternative embodiments to the extent permitted by the prior art.