在无队列呼叫中心中用于填充及维护数据结构的自动机制的制作方法

文档序号:7684725阅读:133来源:国知局

专利名称::在无队列呼叫中心中用于填充及维护数据结构的自动机制的制作方法
技术领域
:本发明一般地涉及通信,更具体地,涉及呼叫中心(contactcenter)。
背景技术
:呼叫中心的传统概念是要求队列在工作分配上有效率,同时还最小化坐席(agent)空闲时间。不幸的是,队列的使用几乎总是导致不是最理想的路由。即,坐席常常不被指派给她最能胜任处理的工作项,反之亦然。例如,在基于技能的队列中,工作项队列与相应的资源队列相配对。当在自动呼叫分配器(AutomatedContactDistributor,ACD)处接收到工作项时,分析工作项的属性,然后基于它的属性将该工作项放置在特定的队列中。类似地,当呼叫中心资源(通常是坐席)在线时,他们被分配给同样具有与其关联的相应技能组的一个或多个资源队列。由于按工作项/资源对来提供技能队列,因此给资源队列中下一个可获得的坐席分配在工作组队列中等待的下一个工作项。虽然已有一些方案使该队列和分配结构更灵活,但每种方案总受使用许多队列的概念的束缚。为了提高效率,呼叫中心将典型地将呼叫划分为许多不同的队列。该划分可依据服务、语言、媒体类型、地区和/或客户类型。这可迅速地产生数千个队列。这些队列的每一个需要配置、管理、监控和报告。同样地,由于坐席取得新技能和提高他们的专长等级,因此需要不断地将坐席重新分配给队列。并且,当坐席取得新的技能时,有巨大的管理成本和呼叫中心的运行成本。由于坐席典型地同时在多个队列中,并且坐席的新技能需要在所有相关的队列中更新,因此复杂度增加。更新这些坐席技能的变化是耗费时间和昂贵的任务,这通常不得不用大量的人工操作来进行。所有这些因素对运营该中心增加了巨大的复杂度和成本。尽管如此,呼叫中心仍然需要提高效率及更合理地划分工作。这可以依据收入、年龄组、性别、口音或其他许多可能性。然而,由于完全无法实施对数万队列的管理,呼叫中心受限不能实现这些额外的效率增益。通过划分来提高效率的当前方法已到达它的极限,需要新的机制来获得提高的效率等级。
发明内容关于上述问题和其他问题,设想了在此提出的实施方式。本发明对传统的基于队列的呼叫中心提出了一种解决方案。本发明的一个方面提出了一种无队列的呼叫中心。通过抛弃在呼叫中心中需要队列的概念,可获得工作项和坐席的一对一的优化匹配。不是预先将工作项和资源组织为特定的桶或队列,本发明提出一种系统,其中可进行超快的映射。这样的超快映射可通过首先进行资格(qualification)判定(即判断哪些对象有资格被分配给新出现的对象)、适任(eligibility)判定(即判断有资格的对象中哪些适任被分配给新出现的对象)和适合性(suitability)判定(即判断适任的对象中哪些最适合于被分配给新出现的对象)。在呼叫中心环境中可用来实现上述目的的一个总体算法包括(1)创建三个“池”(无序集合),一个用于呼叫中心中的所有资源,一个用于呼叫中心中的所有工作项,一个用于呼叫中心中的所有限制集(qualifierset)。(2)对于每一个池,创建资格位图。在该资格位图中为每个条目提供1比特。该位图可用来加速池的复杂扫描,特别是在资格判定期间,甚至在适任判定期间。当在呼叫中心增加工作项时,可执行以下步骤(1)接收工作项;(2)确定将被用于确定资格的工作项的属性,例如,语言=英语,意图=出售。所需属性的特定组合被定义为“限制集”,并且在限制集中属性的数目可以从一个属性变为许多属性。并且,属性可被认为是一个对象(例如呼叫中心中的一件工作或一个资源)的一个特性或多个特性。(3)如果限制集池中没有的话,则为该限制集在限制集池中放置一个条目,其中“限制集池”包括迄今为止在呼叫中心中使用的所有限制集。工作项然后保存该限制集在限制集池中的索引。(4)工作项被放入“工作项池”。当增加资源时,可进行以下步骤(1)确定用于确定资格的资源的属性(这些属性将是上文用于工作项的相同属性)。由于资源具有多个“限制集”,可对于该资源的所有属性组合进行此操作。(2)如果限制集池中没有的话,则为该限制集在限制集池中放置一个条目,并获取它的索引。资源然后将该索引保存到该限制集。应当注意,如果资源限制集索引与工作项限制集的相同,则该工作项有资格。如果有资格的工作项当前也是可用于接收新接收的资源的,则该工作项被认为是适任的。(3)在“资源池”中放置用于一个资源的一个或多个条目。当资源变成可用(工作项过剩状态)时,可进行以下步骤(1)计算限制集资格位图,对资源有资格的每个限制集设置1。(2)扫描工作项池,查找在限制集资格位图中限制集索引为1的工作。(3)对于“有资格”的工作项,确定适任性,然后基于该资源的当前工作选取策略来为所有适任的工作项评分。可采用的工作选取策略的示例类型包括但不限于最优化坐席利用率、最小化成本、同时最小化成本和最小化工作项等待时间等。(4)如果该适任的工作项比所有以前分析的适任工作项得分“更好”,则它是新的最佳工作项。(5)在所有适任的工作项被“考虑”后,最好的被选取为最优工作项。(6)将最优工作项分配给资源。(7)将最优工作项路由给资源。当工作项变成可用时(资源过剩状态),可进行以下步骤(1)执行“资格确定”策略以判断什么属性将被用于资格确定。例如,在一段时间后,请求的语言可被忽略,因此资源考虑将会扩展。(2)使用可用工作项的资格确定结果为该可用工作项计算限制集位图。(3)扫描资源池查找在限制集资格位图中限制集索引为1的资源条目,以确定有资格的资源。(4)对于有资格的资源,确定适任性,然后对该资源评分,如果适任,则使用工作项的资源选取策略。如果适任的资源比所有之前分析的资源得分更好,则它是新的最佳资源。(5)在扫描所有资源后,最佳的被选取为最优资源。(6)将工作分配给该最优资源。(7)将工作项路由给该最优资源。以上描述不过是一个可能的逻辑实现。可以不使用工作和资源池上的位图。这些位图可被用来当资源或工作改变状态时,通过将适任规则“压缩”为单个比特来提供改善的性能。例如,如果资源登录并且空闲,则它可被认为是适任的,并且它的比特被设置为反映相同的事实。在评分之前在资格和适任判定步骤期间检查该比特表,以“过滤”掉不应当被评分的那些资源。相同的机制可应用于工作项以最小化处理时间。有许多在本发明范围内的变型。例如,工作项或资源的某些属性可以是依赖时间或状态的。例如,随着坐席持续提高在处理某些工作项类型方面的熟练程度,该坐席的属性可相应地改变。同样地,随着工作项持续等待资源,该工作项的属性可相应地改变,从而使它适任并且比其他工作项更适合于分配给资源。注意,虽然这些要素的属性可改变,但是它们决不必须被移入或移出队列。相反地,它们的属性可随时间变化,这可随时间进程产生不同的映射。在一些实施例中,这样的动态属性可在适任判定期间而不是在资格判定期间来分析。这确保了在适任判定期间只考虑最小数目的对象,因为这可能需要一些计算适任位图的处理,该位图很可能比出现在趋于不频繁变化的资格位图中的比特更频繁地随时间改变。可理解,然而,用于资格和适任的比特如果需要的话可以保留在单个位图中,但是在资格或适任判定期间该位图中只有特定的比特可被分析。本发明的另一方面是对资源的属性表增加第二层规则,这可引起如果该资源已处理了它们的某一工作项类型的日配额,则用于它们属性之一的比特之一改变。用于翻转(flip)比特值的其他规则可被用于工作项、资源和/或限制集。翻转资源位图中的比特将因此使该资源在这天剩余的时间(或一些其他的预定期间)不适任于处理它们的最佳工作项类型,即使该资源是有资格的资源。在此还描述了与位图结构相关的其他细节。在此描述的示例位图使海量性能规模成为可能。具体地,正如在此描述的那样,已证明位图的使用效力对于正在负责超过1,000,000个工作项的单个服务器的全部100,000个坐席是有效的。没有设想的特定位图,将难于实现大规模的无队列呼叫中心。然而,没有在此提出的位图,可能在较小的规模上实现无队列呼叫中心(实现一对一的映射)。可由本发明实现的优点中包括无队列或链接表;无工作项或资源的预先排序;每当对端元素变为可用时,考虑呼叫中心中的每个项目以供分配;一对一的匹配;和对匹配规规则无限制。本发明的另一个方面是提供数据结构,该数据结构使得可能在大规模呼叫中心或其他在匹配确定期间考虑大量对象的环境中实现高性能的一对一匹配。基本数据结构是“池”和关联的位图。位图中的每个比特对应于池中的单个条目。可以有3个定义的结构,一个用于呼叫中心中所有的资源,一个用于呼叫中心中所有的工作项,并且一个用于呼叫中心中所有的限制集(其中限制集是资格属性的组合,如语言=英语,意图=出售,客户类型=黄金级)。工作分配确认可通过扫描这些表格并对不同类型的规则进行评估而完成。限制集替代现有技术的传统技能集而使用。现有技术中,呼叫中心与定义资源或工作项的技能并被用来将资源和工作项分配给队列的技能集有关。换句话说,技能集的使用暗示着需要队列。本发明的实施方式使用限制集,因为不再需要队列来做出分配决定,并且为每一个分配决定考虑每一个可用的工作项或资源。第一类型的规则是资格规则。资格规则通过查找属性来选取在匹配中可“考虑”什么。第二类型的规则是适任规则。适任规则确定在有资格的对象中哪些当前被允许分配给另一个对象。例如,通常一个资源必须登录以被认为适任于接收工作项。因此,可在适任规则中考虑更多的动态属性(例如,取决于时间的属性、基于呼叫中心状态的属性、基于对象状态的属性等),而在资格规则中可考虑更多的静态属性。第三类型的规则是评分规则。评分确定哪种考虑(潜在和适任的匹配)比其他适任匹配更好。例如,较长时间的等待(对于先进先出(FIFO)行为)将得分更好,因此该考虑可成为“最佳”匹配。在扫描所有可能的考虑后,则最佳的被分配给资源。注意,在“穷举(bruteforce)”方法中,仅需要两个池工作项和资源。当向系统增加工作项时,对所有资源进行扫描,当资源变为准备好分给工作时,对所有工作项进行扫描。池的大小可限制可作出的考虑的数目,中央处理单元(CPU)时间上的实际限制使得上述方法仅对小池有用。为了达到企业规模的实现,大小(100K以上),本发明的实施例结合了数据结构的第二元素资格位图。每个池都具有资格位图。该位图存储了压缩的规则评价,允许池大小和考虑数增加近两个数量级。增加第三结构限制集池,这为寻找工作的资源和寻找资源的工作提供了公共映射基础,并且提供了独立于资源/工作项池大小的间接水平,因为限制集的总数比资源和工作的池大小小得多。因此,可实现与表格大小成比例的性能方面的“扩大”。例如,如果系统有256K的工作项要考虑,3的限制集是可能的,则可通过在匹配中使用限制集池来达到8x的性能提高。这可通过使用缓存敏感(cache-conscious)技术得到进一步提高,缓存敏感技术允许通过在一个单独的步骤中应用资格规则使32K的限制集压缩为4K字节的比特。例如,这意味着不是每项考虑执行5次资格规则O50K^5=2.5M次规则评估),仅执行(35=162K次规则)。如果考虑的数目到达1M,本发明的实施例仍然仅进行16规则,在匹配期间考虑的对象数越大,本方案越有效。该规则时间是恒定的,并且可被流水线化以实现更好的性能。小位图也可通过在存储器中连续来增加性能,并且例如它可被每次估计达64比特或更多,通过消除可消耗几乎等于100次浮点运算的延迟处理的CPU缓存延迟来增加另一个数量级的处理时间。在一些实施例中,可使用GPU或FPGA,从而进一步减少处理时间。使用位图进行资格确定利用了这样的事实对于任何匹配,大多数考虑是无效的。6这意味着位图几乎是0,并且可利用该事实来快速“扫描”它。在一些实施例中,具体地将企业限制集池组织来代表不同的资格属性组合。在该池中属性的每个组合代表工作项可能具有并且将与作出工作分配决定相关的可能的属性组合。换句话说,不是工作项的每个属性都被表示在属性表中。这样的重要属性的例子包括但不限于语言、地区(物理位置)、客户类型(例如白金级、黄金级、白银级或未分配的)、呼叫类型(例如实时呼叫、实时聊天、电子邮件、传真、RSS订阅源(RSSfeed)、博客发帖(posting)等)、该呼叫是否涉及特定的意图、产品或服务(例如对于康卡斯特公司宽带服务来说,该呼叫是否涉及数字语音业务、有线电视业务或宽带因特网业务)等。属性的每种可能组合都被表示在属性表中,并且具有相应的、被定义为“限制集ID”的组合ID。该限制集ID对应于特定的属性组合在限制集池内所在的条目(具体为索引)。对于每个工作项和每个限制集ID,计算相应的‘1’或‘0’,其中‘1’表示对于该工作项组合估计为真(例如该工作项具有与估计的组合一致的处理需求)的事实,并且‘0’表示对于该工作项组合估计为假(例如该工作项不具有与估计的组合一致的处理需求)的事实。可能对于给定的工作项大多数限制集ID具有相应的‘0’,因为大多数工作项具有相对具体的处理需求和属性。评估值(‘1’和‘0’)随相应的限制集ID—起被存储在压缩的限制集位图中。类似于工作项池,资源池也具有它们自己的资格位图。资源池和资格位图类似于工作项池和资格位图而构造。资源的限制集ID可与工作项的限制集ID相匹配,以便如果对特定的属性组合进行评估并且评估结果对于工作项和资源二者均是值‘1’,则该资源有资格处理该工作项。当关联的对象(资源或工作)改变状态时,工作和资源位图可被修改。这不频繁地发生,并且通常是时间事件、增加更多数据或“状态”被修改的结果。根据在变化上执行并消除在扫描期间执行这些规则的规则来计算关联的资格比特。这允许极大地减少了规则评估,并且进一步减少了“每次考虑”执行的规则数。这些位图在扫描期间被评估,以“跳过”正在考虑的池中的大量条目。工作分配确定过程可以以3步的形式来进行。首先,检查(资源或工作项的)位图的‘1’和‘0’以确定哪些资源有资格接收工作项,或反之亦然。有利地,位图主要由‘0’构成,这意味着大多数资源被排除在有资格的之外,从而减少了在以下步骤中必须分析的资源数。第二,那些被确定为有资格的对象然后可进一步地检查适任性。在适任判定期间,可分析有资格的对象的更多动态属性。具体地,可计算适任位图(或者在资格位图中适任属性的比特值),然后检查以确定是否有些有资格的对象当前不适任于被分配给新出现的对象。不适任的对象被丢弃,并且在第三步骤中不被进一步分析。在该步骤中,可比较限制集ID以识别工作项的适任资源,反之亦然。最终,采用评分操作来判断当前考虑是否是最佳的。在完成所有适任对象的扫描和考虑后,“最佳”的对象被分配。每个步骤减少了后续步骤中考虑的数目,并且可被流水线化以提供更好的效率。由于其涉及位图的使用,整个扫描过程的其他细节在Floddiart和Meiner的申请号为12/545,413的美国专利中描述,其全部内容因此通过引用被合并于此。虽然池和位图被图示和描述为平表(flattable),但本发明不受限于此。相反地,可使用层级表、枢轴表(Pivottable)或任意其他数据结构或数据结构组,而不脱离本发明的范围。本发明的另一个方面提供了可在无队列呼叫中心中使用以获取高性能效率的处理方案的描述。首先,提出的无队列呼叫中心涉及在工作项位图、资源位图和限制集位图上执行位图操作。位图操作的一个目的是存储一个或多个资格规则的预计算结果。在资源过剩时,工作项使用限制集位图来选取有资格的资源,并使用资源位图来选取真正适任的资源。在工作过剩情况下,资源使用限制集位图来选取有资格的工作。可选地,它可使用工作项位图来测试该工作以确定它是否可被处理(适任于处理)。对于简单的工作分配,工作项位图的使用不是必需的。有利地,位图主要地具有‘0’值(例如大多数位图将具有95%或更多的‘0’值,意味着对于特定的工作项,所有资源中少于5%有资格,或反之亦然)。这是由于大多数工作项仅满足单一的资格或适任要求组合,并且大多数资源具有专门的技能的事实。也就是说,多数资源没有能力或不被允许处理每个进入呼叫中心的工作项。因为仅进行比特比较,所以即使当为特定资源考虑呼叫中心中所有的工作项时或在相反情况下,可以非常快速地识别出适任的工作项/资源匹配。在位图中的每个比特表示多个规则评估。这意味着位图的组织和包括在位图中比特的计算是重要的。因为进行比特比较,因此在生成填充位图的比特时考虑的属性类型也变得重要。当确定在属性组合中将考虑哪些属性时,可考虑商业规则和性能目标。总的来说,不是每个可能的属性都将包括在用来作出工作分配决定的属性组合中。因为本发明提出资格映射作为基于技能的队列的替换,因此过去对应于呼叫中心的特定队列或技能的属性可被包括为属性组合中的属性,尽管这不是必要的。其他商业规则也可作为计算位图时的标准而被包括,或者它们可被用作当满足(或不满足)特定标准时改变位图中的特定比特值(例如从‘1’到‘0’)的活动滤波器。提出的另一个方案是快速略过(skip)或批量(bulk)评估方案。可在比特比较期间通过大块(inchunks)地而不是逐比特地查找一个或多个位图来实现性能效率。如上所述,位图中大多数的值将具有‘0’值。批量估计方案允许比较引擎同时检查多个比特(例如64比特或更多)以确定在那个比特块中是否具有‘1’值。如果该比特块中没有‘1’值,则比较引擎可以快速地继续到下一块,而不进行任何其他分析。当然,如果该块被识别为具有‘1’值,则需要对该块进行逐比特的比较或评估。有许多方式来执行如上所述的快速略过。例如,诸如OR函数这样的布尔表达式可被用来表示块的值。如果用于块的布尔表达式结果为‘0’值,则在整个块中的每个比特可被认为具有‘0’,不用任何其他分析。本发明的另一个方面提供了用于在无队列的呼叫中心中填充和维护数据结构的机制。具体地,因为本发明位图的组织是如此重要,因此其填充和管理也变得重要。然而,因为使用了如此多的池和池条目,即使并非不可能,手工填充和管理也是困难的。本发明提供一种能够填充、组织和管理在无队列呼叫中心使用的池和位图的呼叫中心算法语言(CCAL)。CCAL是能够写出用工作项、资源或限制集属性填充池的规则的域专用语言。并且,CCAL通过确定属性被包括在池中的顺序和位图被计算的方式来组织池中的属性。具体地,CCAL可采取商业规则(例如,最大化利润、最小化空闲坐席、最小化等待时间等)并确定哪些属性对该商业规则起作用。通常,多个商业规则被CCAL考虑,并且一个属性可以某种方式对两种商业规则起作用。CCAL考虑由呼叫中心的管理者定义的相关目标/商业规则,然后识别在确定属性组合时哪些属性将包括在工作项和资源属性池中。如果确定需要考虑其他更重要的属性,输入到商业规则或呼叫中心目标的一些属性将被排除在属性池之外。CCAL还识别属性将出现在池中的顺序,并且将必要的属性放置在池的最优位置上。CCAL的输出是优化的工作分配引擎——它生成代码和程序。该程序可被提供为计算应用,并且可以表现为传统的计算语言、机器码、字节码、GPU专用码或目标码(用于CPU或虚拟机)。应当理解,发明不限于任何特定类型的输出。随着商业目标或呼叫中心状态的变化,可使CCAL能够重新考虑哪些属性包括在不同的呼叫中心池和位图中。如果要增加新的属性,CCAL可识别从池中移除的属性,和/或确定在池中属性的最佳新顺序。这通过首先查找在定义给定呼叫中心操作的所有规则集中使用的所有数学表达式来实现。然后先通过引用然后通过执行顺序来分析数据从属关系。一旦理解了规则的详细运行,执行一组优化规则以将这些规则组转换为数据结构、过程、任务和事件。该优化被存储在称为‘Z’的实施中立存储抽象语法树(implementationneutralstorageAbstractSyntamTree)中。Z可被翻译成Java、C++、C#或直接翻译成机器码。如在此提出的那样实现无队列呼叫中心的一个问题是大多数客户已然具有监控和管理传统的基于队列的呼叫中心的机制。本发明的另一个方面提供了生成与用于传统的基于队列的呼叫中心的视图(view)和衡量标准(metric)类似的用于无队列呼叫中心的视图和衡量标准的机制。这允许客户(即呼叫中心管理者)在购买新的呼叫中心设备时具有一定的方便程度,加上客户不需要显著地改变他们当前的管理结构以适应新的呼叫中心构架。当准备性能报告时,传统的多队列工作复杂度需要大量的计算。通过消除基于队列的结构的概念和需要,本发明消除了这样的复杂度。因此,通过消除现有技术的基于队列的结构也大幅简化了呼叫中心的视图和衡量标准的准备。在一些实施例中,如下生成视图和衡量标准池中的每个条目(即限制集池的限制集、工作项池的工作项和资源池的资源)具有与它关联的一组衡量标准。例如,工作项可具有与它已等待服务多久以及定义该工作项的处理需求的属性相关的衡量标准。虽然只有那些属性中的一些可包括在工作项的“限制集”中(即特定的一组路由资格属性),但是更多或更少的属性可被用来计算该工作项的视图。视图是工作项属性的组合或者合成体。当计算限制集或资源的视图或衡量标准时,可执行相同的处理。工作项的衡量标准和视图可随需要(即连续地或周期地)计算。并且,如果需要的话,可为池中条目的子集(即具有某些相同属性或相同属性集的所有资源)计算衡量标准和视图,或者可为整个池计算衡量标准和视图。另外,CCAL是提供用于描述规则、衡量标准、视图及如何计算它们并将它们与基于商业的策略组合起来的简单机制的域专用语言。为一个实体或一组实体生成的衡量标准和视图可以这样的方式生成,以便仿真在基于技能的呼叫中心中生成的传统衡量标准和视图。例如,可为限制集生成预计等待时间(EWT)。举另一个例子,还可为限制集中的所有工作项计算平均处理时间。这些例子并非意欲限制。可在提出的无队列呼叫中心中生成在基于队列的呼叫中心中生成的任意类型的视图或衡量标准。该模型可进一步被扩展以将限制集、资源或工作项组织为组,并且衡量标准可进一步被处理为新的“卷起(rolled-up)”视图。这些视图可通过报告而使用,或由工作分配引擎自身使用。例如,可对一组实体计算健康测量,当到达阈值,可调用不同的算法来更正该情况。为无队列呼叫中心提供的视图和衡量标准的示例输出可在2006年9月7日申请的、申请号为11/517646的美国专利申请中得以进一步描述,其全部内容因此通过引用被合并于此。尽管本发明的实施例结合通信应用环境得以讨论,但在此提出的对象匹配算法可用来在许多其他环境中增加对象匹配。例如,本发明的实施方式可应用在经济投资优化问题(例如将可用的经济资源与经济投资机会相匹配)、路线优化问题(例如匹配当前和期望位置之间可能的路线或者优化包裹邮递员的投递路径)、匹配项目和投标或者任何其他对于某些资源或服务有限制供应或限制需要的应用。措词“至少一个”、“一个或多个”及“和/或”是在使用时既可结合又可分离的开放式表达方式。例如,表达方式“A、B和C中的至少一个”、“A、B或C的至少一个”、“A、B和C的一个或多个”、“A、B或C的一个或多个”和“A、B和/或C”的每一个均表示单独A、单独B、单独C、A和B—起、A和C一起、B和C一起或者A、B和C一起。术语“一”或“一个”实体是指一个或多个该实体。这样,术语“一”(或者“一个”)、“一个或多个”和“至少一个”在此可互换使用。还应当注意,术语“包括”、“包含”和“具有”可互换使用。用在这里,术语“自动”及其变型是指当进行处理或操作时不需要实质的人类输入完成的任意处理或操作。然而,即使处理或操作的进行使用了实质或非实质的人类输入,如果该输入在处理或操作进行之前被接收,则处理或操作可以是自动的。如果这样的输入影响处理或操作将如何进行,则人类输入被认为是实质的。同意处理或操作的进展的人类输入不被认为是“实质的”。用在这里,术语“计算机可读介质”是指参与向处理器提供指令以供执行的任何有形存储器。这样的介质可采用许多形式,包括但不限于非易失介质、易失介质和传输媒体。非易失介质包括例如NVRAM或磁盘或光盘。易失介质包括动态存储器,例如主内存。计算机可读介质的常见形式包括例如软盘、软碟(flexibledisk)、硬盘、磁带或任意其他磁介质、磁光介质、CD-ROM、任意其他光介质、穿孔卡、纸带、任意其他具有洞图案的物理介质、RAM、PROM、和EPROM、FLASH-EPR0M、类似存储卡这样的固体介质、任意其他存储器芯片或元件、或任意从计算机可读取的其他介质。当计算机可读介质被配置为数据库时,应理解该数据库可以是任意类型的数据库,比如关系的、等级的、面向对象的和/或其它类型等等。相应地,认为本发明包括有形存储介质和现有技术认识到的等同物和后续出现的介质,本发明的软件实现可被存储在这样的介质中。用在这里,术语“确定”、“运算”和“计算”及其变型可互换使用,并且包括任意类型的方法、处理、数学运算或技术。用在这里,术语“模块”是指能够完成与该元件关联的功能的任意已知或随后开发的硬件、软件、固件、人工智能、模糊逻辑或硬件和软件的组合。同样地,虽然根据示例的实施方式来描述本发明,应当理解可分别要求保护本发明的各方面。结合附图来描述本发明图1是根据本发明实施例的通信系统的框10图2是图示根据本发明的实施例所使用的示例性的池和位图的框图;图3是图示根据本发明的实施例所使用的示例性的工作项数据结构的框图;图4是图示根据本发明的实施例使用的示例性的资源数据结构的框图;图5是图示根据本发明实施例的示例性的呼叫中心架构创建方法的流程图;图6是图示根据本发明的实施例处理加入呼叫中心的工作项的示例方法的流程图;图7是图示根据本发明的实施例处理加入呼叫中心的资源的示例方法的流程图;图8是图示根据本发明的实施例处理呼叫中心中工作项过剩状态的示例方法的流程图;图9是图示根据本发明的实施例处理呼叫中心中资源过剩状态的示例方法的流程图;图10是图示根据本发明实施例的示例性的位图管理方法的流程图;图11是图示根据本发明实施例的示例性的呼叫中心规则管理方法的流程图;和图12是图示根据本发明实施例的示例性的呼叫中心性能视图和衡量标准生成方法的流程图。具体实施例方式随后的描述仅提供实施方式,并非意欲限制权利要求的范围、应用或配置。相反地,随后的描述将为那些本领域技术人员提供实现实施方式的实现描述。应当理解,可对元件的功能和设置作出各种变化,而不脱离附加权利要求的精神和范围。图1展示了根据本发明至少一些实施方式的分布式通信系统100的图示实施例。通信系统100包括将一个或多个通信设备108连接至工作分配装置(mechanism)116的通信网络104,工作分配装置116由管理呼叫中心的企业所有和运营,在呼叫中心中多个资源112被分配以处理从客户通信设备108到来的工作项。根据本发明的至少一些实施方式,通信网络104可包括任意类型的已知通信介质或通信媒体的集合,并且可使用任意类型的协议来在端点间传输消息。通信网络104可包括有线和/或无线通信技术。因特网是通信网络104的一个例子,构成由通过许多电话系统和其他方式相连接的、分布于全世界的许多计算机、计算网络和其他通信设备组成的因特网协议(IP)网络。通信网络104的其他示例包括但不限于标准老式电话系统(POTS)、综合业务数字网络(ISDN)、公共交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、会话发起协议(SIP)网络、蜂窝网络和在现有技术中已知的任意其他类型的分组交换或电路交换网络。并且,应当理解,通信网络104不必被限制为任何一种网络类型,而是可由多种不同的网络和/或网络类型组成。举一个例子,本发明的实施方式可被用于增加基于网格的呼叫中心的效率。基于网格的呼叫中心的示例在Meiner的申请号为12/469,523的美国专利中得以更全面地描述,其全部内容因此通过引用被合并于此。并且,通信网络104可包括若干不同的通信媒体,例如同轴电缆、铜缆/线、光纤缆、用于发送/接收无线消息的天线及组I=IO通信设备108可对应客户通信设备。根据本发明的至少一些实施例,客户可使用他们的通信设备108发起工作项,工作项通常是对处理资源112的请求。示例性的工作项包括但不限于发送至呼叫中心且在呼叫中心接收到的呼叫、发送至服务器群(例如服务器的集合)且在服务器群处接收的网页请求、媒体请求、应用请求(例如对位于诸如SIP应用服务器这样的远程应用服务器上的应用资源的请求)等。工作项可以采用在通信网络104上传输的消息或消息集合的形式。例如,工作项可作为电话呼叫、包或包的集合(例如在IP网络上传输的IP包)、email消息、即时消息、SMS消息、传真及其组合来传输。在一些实施例中,通信可不必发送给工作分配装置116,相反地可以发送给通信网络104中的某些其他服务器,在这些服务器中它被工作分配装置116收集,工作分配装置116为所收集的通信生成工作项。这样的收集的通信的一个例子包括由工作分配装置116从社交媒体网络或服务器收集的社交媒体通信。用于收集社交媒体通信并根据其生成工作项的示例结构在分别于2010年3月20日、2010年2月17日和2010年2月17日申请的、申请号为12/784,369、12/706,942和12/707,277的美国专利申请中得到描述,这些申请的每一个因此通过引用被全部合并于此。工作项的格式可取决于通信设备108的能力和通信的格式。具体地,工作项是与服务在呼叫中心(更具体地,工作分配装置116)处接收的通信相关联地要完成的工作在呼叫中心内的逻辑表示。通信可在工作分配装置116、与工作分配装置116连接的交换机或服务器等处被接收和保留,直到资源112被分配给代表该通信的工作项,此时工作分配装置116将该工作项传递给路由引擎140以将发起该通信的通信设备108与分配的资源112相连接。尽管路由引擎140图示为与工作分配装置116分离,但路由引擎140可被合并到工作分配装置116中,或者它的功能可由工作分配引擎120来执行。根据本发明的至少一些实施例,通信设备108可包括任意类型的已知通信装置或通信装置的集合。适当的通信设备108的例子包括但不限于个人计算机、膝上型电脑、个人数字助手(PDA)、蜂窝电话、智能电话、电话及其组合。通常,每个通信设备108可适用于支持与其它通信设备108及处理资源112间的视频、音频、文本和/或数据通信。由通信设备108用来与其他通信设备108或处理资源112通信的介质类型可取决于在通信设备108上可用的通信应用。根据本发明的至少一些实施例,工作项借助于工作分配装置116和路由引擎140的联合帮助被发往处理资源112的集合。资源112可以是全自动的资源(例如交互语音响应(IVR)单元、处理器、服务器等)、使用通信设备的人力资源(例如使用计算机、电话、膝上型电脑等的人工坐席)或任意其他已知在呼叫中心中使用的资源。如上所述,工作分配装置116和资源112可以由呼叫中心形式的公共实体所有及运营。在一些实施例中,工作分配装置116可由多个企业管理,每个企业具有他们自己的与工作分配装置116连接的专用资源112。在一些实施例中,工作分配装置116包括使工作分配装置116能够为工作项作出智能路由决定的工作分配引擎120。工作分配引擎120可包括一个或多个模块以实现工作分配引擎120的功能。这样的示例模块包括但不限于解析器128、CCAL模块132和布尔模块136。更具体地,工作分配引擎120可确定多个处理资源112中的哪个有资格和/或适任于接收工作项,并且进一步确定多个处理资源112中的哪个最适合于处置工作项的处理需求。在工作项过剩的情况下,工作分配引擎120还可以作出反向确定(即确定工作项资源到资源的最佳分配)。在一些实施例中,工作分配引擎120被配置为通过采用位图/表124和其他在此描述的数据结构来实现真正的一对一匹配。尽管位图/表IM被图示为被包括在工作分配装置116中,但本领域技术人员将理解,位图/表1可被保留在工作分配装置116可访问的分离的数据库或服务器中。并且,工作分配引擎120和它的各种组件可驻留在工作分配装置116或若干不同的服务器或处理设备中。在一些实施例中,采用基于云的计算结构,从而工作分配装置116的一个或多个组件在云网络中是可用的,使得它们可成为多个不同用户之间的共享资源。解析器1可被配置为帮助工作分配引擎120翻译由CCAL模块132准备的指令。具体地,解析器1可翻译与将由工作分配引擎120执行的处理和过程相对应的CCAL模块132的输出。因此,解析器1的主要功能可以是将CCAL模块132的输出转换为可由工作分配引擎120执行的结构或指令。在一些实施例中,解析器1可由CCAL编译器代替。一旦适当的格式,CCAL模块132的输出使工作分配引擎120能够做出资格和适任判定以及最佳路由决定。具体地,解析器1可用于在判断工作项是否能及是否应该被分配给资源112或反之亦然时执行位图比较及其它比特分析。布尔模块136被提供来帮助工作分配引擎120扫描大的项目组。具体地,布尔模块136可使工作分配引擎120在资格或适任判定期间能够通过计算多个比特的布尔值来分析多个工作项或资源112(或者更具体地,与这样的项目相关联的比特值)。在一些实施例中,布尔模块136被配置为在多个比特上计算OR或AND函数,并向判定在这多个比特内任意比特是否需要独立分析的工作分配引擎120提供计算的值。在一些实施例中,OR函数可在资格判定期间使用(因为一个假比特值可引起需要分析在一组资源或工作项内的所有资源或工作项),而AND函数可在适任判定期间使用(因为对于被认为是适任的资源或工作组要求全部真比特)。在一些实施例中,可使用非零扫描器而不使用布尔模块136在资格或适任判定期间分析位图。CCAL模块132被提供来使工作分配引擎120能够接收呼叫中心的规则和目标,以及将这样的规则格式化为能够用来实现在此提出的无队列呼叫中心结构的属性和表达式。在一些实施例中,CCAL模块132被配置为基于它对原始的规则和/或目标组中的输入、输出和变量的分析,将规则和/或目标组从一种计算语言翻译为第二计算语言。CCAL模块132的输出可能仍然需要解析器128的进一步翻译。根据本发明的至少一些实施例,工作分配装置116使用位图/表IM确定哪个工作项应当被分配给哪个资源112,反之亦然。换句话说,位图/表IM被工作分配引擎120用来作出路由决定。图2图示了可合并入或用来生成由工作分配引擎120使用的位图/表124的示例性的数据结构200。示例性的数据结构200包括一个或多个相关项目的池。在一些实施例中,提供了3个项目池,包括企业工作池204、企业资源池212和企业限制集池220。通常,池是存在于呼叫中心内的类似项目的无序集合。因此,企业工作池204包括用于呼叫中心中的每个工作项的数据条目或数据实例。在一些实施例中,工作池204的填充可被限制于等待由资源112服务的工作项,但是这样的限制不是必须强制的。相反地,工作池2004可包括用于呼叫中心中所有工作项的数据实例,而不管这样的工作项当前是否已被分配或是否正在由资源112服务。工作项是否正被服务(即被分配给资源112)的区别可简单地通过改变在该工作项的数据实例中的比特值来解决。这样的比特值的改变可引起工作项没有资格再分配给另一个资源112,除非并直到特定的比特值被改变回表示该工作项没被分配给资源112的事实的值,从而使该资源112适任于接收另一个工作项。类似于工作池204,资源池212包括用于呼叫中心内每个资源112的数据条目或数据实例。因此,资源112可算入资源池212内,即使资源112由于它被分配给工作项或者人工坐席未登录它而变为不可用从而不适任。资源112的不适任性可在一个或多个比特值中得到反映。限制集池220包括用于呼叫中心内每个限制集的数据条目或数据实例。在一些实施例中,呼叫中心内的限制集基于工作池204中工作项的属性或属性组合得以确定。限制集通常表示用于工作项的属性的特定组合。具体地,限制集可表示对于工作项的处理标准及这些标准的特定组合。每个限制集可具有用于映射目的的相应的限制集识别用的“限制集ID”。举个例子,一个工作项可具有属性语言=法语,意图=服务,并且该属性组合可被分配“12”的限制集ID,而语言=英语和意图=出售的属性组合具有“13”的限制集ID。在呼叫中心中用于所有限制集的限制集ID和相应的属性组合可被存储为限制集池220中的数据结构或数据实例。在一些实施例中,池的其中之一、一些或全部可具有相应的位图。因此,呼叫中心在任何时间实例可具有工作位图208、资源位图216和限制集位图224。具体地,这些位图可对应于每个条目具有1比特的资格位图。因此,在工作池204中的每个工作项在工作位图208中可具有相应的比特,资源池212中的每个资源112在资源位图216中可具有相应的比特,并且限制集池220中的每个限制集在限制集位图224中可具有相应的比特。在一些实施例中,位图被用来加速池的复杂扫描,并基于每个池的当前状态帮助工作分配引擎120作出最佳工作项/资源分配决定。从而,每当池的状态变化时(例如当检测到工作项过剩、当检测到资源过剩和/或当用于管理呼叫中心的规则已变化时),可重新计算位图208、216、224中的值。现在参考图3,可用于计算工作位图208的数据结构和算法的附加细节将根据本发明的实施例得以讨论。尽管这些数据结构及用于限制集和资源的数据结构的组织将按照行、列和条目来描述,但本领域技术人员将理解可采用其他形式的数据操作和组织,而不脱离本发明的范围。并且,虽然在此仅图示和描述了特定数目的条目(例如,a-M、a-N、a-X和a-Y),但本领域技术人员将理解任意数目的条目可用来填充在此描述的数据结构,而不脱离本发明的范围。如上所述,工作池204可对应于或包括诸如工作项属性表304这样的数据结构,工作项属性表304包括用于工作池204中每个工作项属性组合的数据实例3Ua-M。在一些实施例中,一个工作项可仅具有一个属性组合,因此可由单一的数据实例312表示。然而,在一些实施例中,工作项可具有多个属性组合,在这种情况下,在工作项属性表304中提供多个数据实例312以表示该工作项。换句话说,每个数据实例对应于工作项的特定属性组合,并且如果多个工作项共享共同的属性组合则可表示多个工作项的属性组合。属性组合数据实例31M-M与组合ID相关联,组合ID也可被用作用于该属性组合的限制集ID。并且,属性组合数据实例31M-M的每一个具有一个或多个定义数据实例312的属性的属性316a-N。可包括在工作项属性表304中,从而表示工作项的属性组合的示例属性包括但不限于语言偏好或需求、工作项发起的位置/区域、客户类型、媒体类型、意图(例如,服务、出售、问题解决、计费等)或者任意其他在确定工作项应当放置在哪个队列中时传统使用的属性。有益地,本发明的实施例不使用队列,而以工作项属性组合表示用于路由目的的属性。工作项属性表304可被转换为工作项位图320,该位图与工作位图208类似或相同,或者它可以是其略其略微浓缩的版本。工作项位图320包括与工作项属性表304相同的属性组合及它们的相应组合ID308。然而,在该表的列中没有属性类别316a-N,工作项位图320包括工作项条目32^-X。如上所述,呼叫中心中的每个工作项具有至少一个属性组合(即限制集需求)并且可能具有多于一个的属性组合。工作项位图320通过指示真值将工作项与它们相应的(一个或多个)属性组合相关联,在特定工作项的条目(例如第一工作项条目3Ma)和该工作项相应属性组合(例如第一属性组合312a)的交叉处通过XOR运算(例如‘1’可对应于真值,其中‘0’被用来表示假值)该真值可被反转。从而,如果工作项具有特定的属性组合,将对应于该属性组合的组合ID与该工作项相关联。该关联建立了工作项和它的属性组合之间固定但容易查找的关系。工作项位图320可进一步被压缩为可类似于或等同于工作位图208的重新格式化的工作项位图328。在一些实施例中,重新格式化的工作项位图3包括两列,第一列332对应于工作项标识符(即当工作项进入呼叫中心时分配给它的唯一标识符),第二列336对应于被确认为真的组合ID308(例如在工作项3M与组合ID308交叉处,工作项位图320中具有值‘1’)。可使用更多或更少数目的列而不脱离本发明的范围。不管数据结构的组织为何,重新格式化的工作项位图3通过将工作项标识符332与组合ID308相关联使工作项和它的属性组合(即处理需求)相关。该重新格式化的工作项位图3允许工作分配引擎120快速地扫描工作池204中的所有工作项,并确定其处理需求,从而实现快速的分配决定。工作项位图320和/或重新格式化的工作项位图3也可被用来生成可保留与属性组合31M-N及它们的相应组合ID308相关的数据的限制集位图224。并且,重新格式化的位图328的使用节约了工作分配装置116中的存储空间,这在基于队列的呼叫中心中传统地被过度使用。现在参考图4,将根据本发明的实施方式来讨论可被用来计算资源位图216的数据结构和算法的其它细节。资源池212可对应于或包括诸如资源属性表404这样的数据结构,资源属性表404包括用于资源池212中每个资源属性组合的数据实例41h-M。在一些实施例中,一个资源可以仅具有一个属性组合,因此可以由单个数据实例412来表示。然而,在一些实施例中,资源可具有多个属性组合,在该情况下,在资源属性表404中提供多个数据实例412以表示该资源。换句话说,每个数据实例对应于一个资源(或多个资源)的特定属性组合,并且如果多个资源共享共同的属性组合则可表示多个资源的属性组合。属性组合数据实例4Ua-M与组合ID相关,组合ID408也可用来通过限制集位图2M中的限制集ID将资源的属性组合映射到工作项的属性组合。如果属性相当缓慢地变化15(即不随时间频繁地变化),则可使用组合分析。传统地,在资格判定期间这是更好的选择,相对于涉及分析较快变化的属性的适任判定,资格判定涉及分析缓慢变化的属性。此外,属性组合数据实例41M-M的每一个具有一个或多个定义数据实例412属性的属性416a-N。可包括在资源属性表404中,从而表示资源属性组合的示例属性包括但不限于语言能力、资源位于的位置/区域、人工坐席的处理能力、资源112的处理和/或存储能力、媒体类型、商业单元(例如服务、出售、问题解决、计费等)或任意其他传统地用于确定资源应当被放置在哪个队列中的属性。有益地,本发明的实施例不使用队列,而以资源属性组合表示用于路由目的的资源属性。资源属性表404可被转换为资源位图420,位图420可与资源位图216类似或相同,或者它可以是其略微浓缩的版本。资源位图420包括与资源属性表404相同的属性组合4Ua-M和它们的相应组合ID408。然而,在该表的列中没有属性类型416a-N,资源位图420包括资源条目42^-Y。如上所述,在呼叫中心中的每个资源具有至少一个属性组合(即限制集),并且可能具有多于一个的属性组合。资源位图420通过在特定资源条目(例如第一资源条目4Ma)与该资源的相应属性组合(例如第M个属性组合412M)的交叉处指示真值来使资源与它们相应的属性组合相关。从而,如果资源具有特定的属性组合,则对应于该属性组合的组合ID与该资源相关。该相关建立了资源和它的属性组合之间固定但易于查找的关系。资源位图420可进一步被压缩为可类似于或等同于资源位图216的重新格式化的资源位图428。在一些实施例中,重新格式化的资源位图4包括两列或更多列,第一列432对应于资源标识符(即当资源进入呼叫中心时,分配给它的唯一标识符),第二列436对应于被确定为“真”(例如在资源条目4M与组合ID408交叉处,资源位图420中具有值‘1’)的组合ID408。头两列可被工作分配引擎120用来确定资源112是否适任于分配给工作项,并且反之亦然(例如用于资格判定)。还可以提供第三列440来识别特定资源112是否适于其每个属性组合的适合性。因此,如果资源112仅具有单个属性组合,则用于该资源条目4M的适合性列440可仅具有单一的适合性值。可选地,如果资源112具有多个属性组合,则用于该资源条目4M的适合性列440可具有多个适合性值,每个属性组合一个。因此,重新格式化的资源位图4通过将资源标识符432与组合ID408相关联而使资源和它的属性组合(即处理需求)相关,并可提供有关资源112是否适于其(一个或多个)属性组合的适合性的信息。该重新格式化的资源位图4允许工作分配引擎120快速地扫描资源池212中所有的资源,并确定它们的处理能力和/或适合性,从而实现快速的工作项路由决定。现在参考图5,将根据本发明的实施方式来描述创建无队列呼叫中心结构的示例方法。当确定将创建呼叫中心架构时,发起该方法(步骤504)。该方法接着创建用于呼叫中心中所有资源的资源池212(步骤508),用于呼叫中心中所有工作项的工作池204(步骤512),和可选地用于呼叫中心中所有限制集的限制集池220(步骤516)。创建限制集池220的决定可取决于资源112、工作项或者预期在呼叫中心中包含的资源112和工作项的数目。如果资源112和/或工作项的数目将相当地低(例如小于10000总项目),则限制集池220不是必要的,映射可直接在工作池204和资源池212之间进行。然而,限制集池220对于实现大呼叫中心中的工作项/资源分配决定特别有用。在创建各项目的池后,该方法接着创建每个池的位图(步骤520)。这些位图浓缩了池内的项目,并将与每个项目有关的信息提取为被认为与工作项/资源分配决定相关的必要属性。一旦创建,如下文将进一步详细讨论的那样,这些位图可被工作分配引擎120用来在作出工作项路由决定时扫描各种池(步骤524)。现在参考图6,向呼叫中心增加工作项的示例方法将根据本发明的至少一些实施例得以描述。当确定已向呼叫中心增加新的工作项时,发起该方法(步骤(604)。一旦检测到在呼叫中心处(更具体地在工作分配装置116处)接收到新的通信,则可作出该确定。在一些实施例中,工作项由最初接收该通信的呼叫中心设备(例如服务器、交换机等)生成,该呼叫中心设备保留该通信,但以发送给工作分配装置116的工作项的形式生成该通信的逻辑表示。一旦创建工作项,可为该工作项分配工作项标识符以帮助在呼叫中心中它的存在期间在呼叫中心内唯一地识别该工作项。在已生成该工作项后,在工作分配引擎120处接收该工作项(步骤608),工作分配引擎120确定该工作项的属性(步骤612)。在一些实施例中,工作分配引擎120自身可被配置为确定工作项的处理需求,并且进一步确定哪些处理需求和/或偏好中的哪些被呼叫中心用于资格目的(即哪些属性被算入工作项属性表304中)。可选地,或附加地,初始接收通信和/或生成工作项的设备可确定该工作项的必要属性。可选地,或附加地,当工作项最初被接收时,工作分配引擎120可初始地将该工作项分配给能够确定该工作项的属性的资源112。举个例子,可将工作项分配给能向客户询问处理需求的IVR。举另一个例子,可将工作项分配给能查询呼叫中心内的客户关系管理(CRM)数据库以判断发起该通信的客户是否已被存储在呼叫中心中的服务器。也可使用上述例子的组合来确定工作项的属性以满足资格目的。一旦表示工作项处理需求的适当属性(并且具体地属性组合312)被确定,该方法继续至如果该属性组合312还没有在限制集池220中,则将用于属性组合312的条目放置入限制集池220中(步骤616),并为该特定的属性组合312分配组合ID308(步骤620)。新属性组合312的组合ID308和属性组合312的性质一起被存储在限制集池220和/或限制集位图2M中以保存属性组合和它的标识符之间的逻辑关系。在步骤616和/或620之前、期间或之后,该方法还将用于工作项的工作项条目3放置入工作池204中(步骤624)。具体地,该步骤可涉及在工作项位图320中生成工作项条目308、324,并确定呼叫中心中的哪些属性组合评估为真。只要工作项保留在呼叫中心中或者直到关于工作项/资源分配的规则改变之前,该确定结果都可保留在工作项位图320中。现在参考图7,将根据本发明的至少一些实施方式来描述向呼叫中心增加资源的示例方法。当确定新的资源已增加到呼叫中心时,该方法开始(步骤704)。当资源由管理者增加到呼叫中心(例如电话被插入端口、计算机连接至网络接口、人工坐席被注册到适当的坐席数据库等)时,可作出该确定。当已经注册的人工坐席登录或者以其它方式主动地向呼叫中心注册(例如通过与工作分配装置116连接至的网络建立虚拟专用网(VPN)连接)时,可附加地或可选地作出该确定。在已向呼叫中心增加资源后,出于资格目的资源112的属性被确定(步骤708)。可选地,或附加地,当有管理改变、引起属性值改变的时间改变、坐席状态的改变或任何其他引起事件发生的改变时,可进行该步骤。具体地,用于新增加的资源112的属性组合412被确定。在一些实施例中,工作分配装置116被配置为确定资源的属性组合412。可选地,可在企业数据库中管理地提供该信息,并且由工作分配装置116检索该信息。除了确定用于路由资格的属性外,为资源112确定所有其他属性组合(可不直接应用于路由资格)(步骤712)。对于该资源112的每个新确定的属性组合,在限制集池中放入一个条目,并且获取相应的组合ID(步骤716)。该组合ID(当提及资源112时,组合ID也可被称为限制集索引)被存储在该资源的数据条目似4中(步骤720),并且该资源的关联组合ID436和分配给该资源112的唯一资源ID432以及任意适合性信息(如果这样的信息是已知的)一起被存储在资源池212、资源位图216、420和重新格式化的资源位图4的其中之一或全部中(步骤724)。现在参考图8,将参考本发明的至少一些实施方式来描述处理呼叫中心中工作项过剩状态的示例方法。当确定资源112变成可用的时,该方法开始(步骤804)。当资源112或使用资源的坐席登录呼叫中心或者资源112刚刚结束服务工作项之后,该确定可发生。有利地,工作分配引擎120能够考虑呼叫中心中的每个工作项,或者至少工作池204中的每个工作项,以便分配给新变为可用的资源112。这实现了真正的一对一匹配,并且基于资源112的能力或属性进一步实现了工作项到资源112的最佳分配。该方法继续至工作分配引擎120为资源112有资格的每个限制集计算限制集资格位图(即资源位图216、420和重新格式化的资源位图4中的一个或多个)(步骤808)。在一些实施例中,资源112可仅具有一个属性组合作为它的限制集资格。在一些实施例中,资源112可具有多个它有资格的属性组合。基于为资源112计算的位图,该方法继续至扫描工作池204,或者更具体地,为工作池204计算的位图(例如工作位图208、工作项位图320和/或重新格式化的资源位图328),查找具有与资源112的属性组合匹配的属性组合的工作项(步骤81。该分析可通过一次分析一个工作项数据条目,或者通过分析一组工作项数据条目来确定该组工作项中的任意工作项是否有资格被分配给资源112来进行。在一些实施例中,并行处理可用来进一步增加扫描位图的速度。具体地,可根据处理机制而不是其他逻辑分组方式来分组数据条目,从而创建更加并行化的组。这允许大组的比特由例如GPU同时评估。如果使用GPU,则可提供布尔模块136作为与工作分配引擎120分离的硬件。如果在组分析期间确定至少一个工作项有资格分配给资源112,则可对该组中的每个工作项进行逐工作项的分析以识别对资源112有资格的(一个或多个)工作项。然而,如果确定整组工作项都没有资格分配给资源112,则在该组中没有工作项需要单独分析,可分析下一组工作项。在一些实施例中,资源112有资格处理的组合ID408将与工作项位图中的组合ID308进行比较。如果用于资源的组合ID408与工作项位图中的组合ID308匹配,则具有相应组合ID308的工作项将被认为是对于资源112有资格的工作项(步骤816)。该方法继续至工作分配引擎120分析有资格的工作项的适任性(步骤818)。在该步骤期间,可计算快速变化的属性的值,并在分析位图前将这些值插入适当的位图位置。在适任步骤期间可被计算和分析的属性包括但不限于工作项可用性(基于该工作项是否已分配给另一个资源112)、实际的工作项等待时间、呼叫中心状态(基于呼叫中心是否准时、迟于预定时间、预计将迟于预定时间等)等。如果确定工作项当前不适任于分配给资源112,则进一步考虑清除该不适任的工作项。该方法然后继续至基于资源112的适合性以及基于工作分配引擎120已知的任意其他工作选取策略,对要分配给资源112的各工作项进行评分(步骤820)。例如,如果多个工作项等同地适合于分配给资源112,则可为等待分配给资源较久的工作项赋予较高的分。基于工作项的相对分数,工作分配引擎120从有资格和适任的工作项中选取最佳的(一个或多个)工作项(步骤824),并且将该最佳的工作项分配给资源112(步骤828)。分配步骤可包括通过路由引擎140将与该工作项关联的通信传递给资源112(例如将客户通信设备108与资源112相连接用于实时通信会话、将email通信转发给资源112、将文本消息转发给资源112、将客户数据传输给资源、它们的组合等)。现在参考图9,将参考本发明的实施方式来描述处理在呼叫中心中的资源过剩状态的示例方法。当确定工作项变成可用的时,开始该方法(步骤904)。当在呼叫中心中接收到新的工作项时,或者在工作项已由一个资源部分地服务后仍需要另外的处理时,该确定可发生。该方法继续至工作分配引擎120执行资格策略以确定将使用哪些属性来为该工作项评估资源资格(步骤908)。具体地,可使用第一组属性来评估在检测到资源过剩后的第一预定时间量内的资格,但是这些资格属性在第一预定时间量过去后可改变为第二组属性。例如,语言属性一开始可被考虑到资格属性中,但是当预定时间量过去后,语言属性可从资格属性中排除,以便可以扩展资源考虑。一旦选取了资格属性,该方法继续至工作分配引擎120使用确定的资格属性为工作项计算限制集位图(步骤912)。在该步骤中,工作分配引擎120确定哪个属性组合312或哪些组合将用于为工作项评估分配可能性。在用于资源资格评估的属性组合312已被确定之后,工作分配引擎120从限制集位图2M检索关联的组合ID308,并扫描呼叫中心的资源以查找有资格的资源112(步骤916)。在该步骤中,工作分配引擎120能够考虑呼叫中心中的每一个资源112,而不注意队列结构或任何其他人为限制。这使工作分配引擎120能实现最佳分配决定和真正的一对一工作项分配。在一些实施例中,扫描步骤包括评估一个或多个资源位图216、420或重新格式化的资源位图428。此外,类似于工作项过剩状态中的资格分析,工作分配引擎120可出于资格目的单独地分析每个资源112,或者工作分配引擎120可在布尔模块136的帮助下成组地分析资源112以确定组内的任何资源112是否需要进一步分析。如果一个组被确定没有有资格的资源112,则不必单独地分析每一个资源112,工作分配引擎120可继续分析下一组。这对加速资格分析特别有用,因为大多数资源112不可能有资格处理特定的工作项,因此能在执行进一步的分析之前被快速地排除。然后可进一步地分析被确定为有资格处理工作项的资源112(例如,由于在资源位图420和/或重新格式化资源位图428中选取的属性组合ID评估为真)的适任性(步骤918)。适任判定涉及工作分配引擎120分析有资格的资源的适任性。在该步骤期间,可计算快速变化的属性的值,并且在分析位图之前可将这些值插入适当的位图位置。在适任步骤期间可计算和分析的属性包括但不限于资源可用性(基于该资源是否已分配给另一个工作项或者该资源是否登录)、资源空闲时间、呼叫中心状态(基于呼叫中心是否准时、迟于预定时间、预计将迟于预定时间等)等。如果确定资源当前不适任于分配给工作项,则从进一步的考虑中排除该不适任的资源。方法继续至工作分配引擎120基于当前的资源选取策略和/或资源112处理特定类型的属性组合的适合性,对于工作项有资格且适任的资源进行评分(步骤920)。基于资源112的相对分数,确定最佳的资源(步骤924),并且工作项被分配给该最佳的资源112(步骤928),从而实现呼叫中心中真正的一对一匹配。在一些实施例中,工作项还被路由给该最佳资源112。现在参考图10,根据本发明的至少一些实施例来描述管理呼叫中心中的位图的示例方法。在此讨论的位图操作的一个目的是存储一个或多个资格规则的预计算结果。在资源过剩时,工作项使用限制集位图来选取有资格的资源,并使用资源位图来选取真正适任的资源。在工作过剩情况下,资源使用限制集位图来选取有资格的工作。可选地,它可使用工作项位图来测试工作以确定它是否能被处理(适任于处理)。对于简单的工作分配,可能不必采用工作项位图。出于该目的,大部分具有假值(例如‘0’值)的位图被用于作出工作项/资源分配决定。一般来说,在确定哪些属性将包括及将不包括在属性组合中时可考虑商业规则和性能目标。在属性组合内考虑的属性还可以基于呼叫中心的状态,随时间变化。当工作分配引擎120检测到位图变化事件时,该方法开始(步骤1004)。位图变化事件的示例类型包括但不限于确定应采用新的商业规则或策略(规则的集合)来作出工作/资源分配决定,确定呼叫中心需要新的性能目标(例如不是最大化资源112利用率,而是最小化工作项等待时间),确定自从呼叫中心的状态改变以来已过去预定的时间量,确定自从作出工作项到资源的分配以来已过去预定的时间量,确定新的资源和/或工作项已增加到呼叫中心,或者任何其它可能需要考虑当前没有包括在资格属性组合中的不同属性的事件。一旦检测到这样的事件,该方法继续至工作分配引擎120为每个池204、212、220重计算资格位图(步骤1008)。在该步骤中,工作分配引擎120使用基于状态改变事件确定的新的属性组合来计算可用于作出工作项/资源分配决定的新位图。然后在资格位图被再次重新计算之前,该方法等待,直到检测出新的状态改变事件(步骤1012)。现在参考图11,将根据本发明的至少一些实施例来描述管理呼叫中心规则的示例方法。当接收到采用第一语言的用于管理呼叫中心的规则时,发起该方法(步骤1104)。这些规则可包括布尔表达式、阈值、策略目的和目标、优化目标和传统上用来管理呼叫中心的其它形式的规则。在一些实施例中,可在包括呼叫中心算法语言(CCAL)模决的工作分配装置116处接收规则,所述CCAL模块能够填充、组织和管理在无队列呼叫中心中使用的池204、212、220和位图。在一些实施例中,CCAL模块132可保留在与工作分配装置116通信的一个不同服务器中。CCAL是域专用语言,CCAL模块132可被配置为编写利用工作项、资源和限制集填充池204、212、220的规则。在CCAL模块132处接收到规则后,该方法继续至CCAL模块132通过分析规则的输入和输出结构确定对规则起作用的属性、对规则起作用的变量、与规则相关的阈值等(步骤1108)。此后,由CCAL模块132确定将用来实现规则的具体属性组合(步骤1112)。此外,CCAL模块132可为属性组合中的属性识别重要性等级(步骤1116)。确定的等级被用来在关联的属性表304、404中识别每个属性的位置。此后,CCAL模块132通过生成负责实现规则的代码和程序和当呼叫中心的状态变化时生成位图来将规则转换为第二语言(步骤1120)。现在参考图12,将根据本发明的至少一些实施例描述为无队列呼叫中心生成性能视图和衡量标准的示例方法。实现无队列呼叫中心的一个独特的方面是许多现有的基于队列的呼叫中心已然具有经营和管理基本设施。这意味着在从基于队列的呼叫中心转换到无队列的呼叫中心时将涉及需要最小化由于转换带来的混乱。本发明的一个方面提供为无队列呼叫中心生成与在传统的基于队列的呼叫中心中生成的性能视图和衡量标准相当的性能视图和衡量标准的能力。在一些实施例中,CCAL模块132负责定义确定支持期望视图的最优结构的视图和分析标准。这些确定可合并到控制工作分配引擎120操作的CCAL模块132的输出中。当确定要生成呼叫中心的视图和衡量标准时,该方法开始(步骤1204)。视图和衡量标准的生成可连续地、周期性地或偶发地(例如基于需要或基于清求)进行。生成呼叫中心性能的视图和衡量标准的装置可包括工作分配引擎120或一些其他包括在工作分配装置116中的性能分析模块。然而,在一些实施例中,性能分析模块可包括在工作分配装置116外部的不同服务器中。该方法继续至确定在生成视图和衡量标准的过程中将考虑的属性(步骤1208)。可理解,取决于当前正在生成的视图和衡量标准的类型,将考虑工作项和/或资源的不同属性。例如,如果需要关于具有特定处理需求(例如计费问题)的工作项的预计等待时间(EstimatedWaitTime,EffT)的视图和衡量标准,则与直到工作项被分配的等待时间相关的属性和与意图相关的属性可以是在工作池204中分析的两种类型的属性。作为另一个例子,如果需要与特定限制集的坐席利用率相关的视图和衡量标准,则与感兴趣的限制集和工作项占用的时间相关的属性可以是在资源池212中分析的一部分属性。这样,在确定了要考虑的属性后,该方法继续至根据呼叫中心中适当的项目填充来分析所确定的属性(步骤1212)。在分析呼叫中心项目时,可分析所有的项目池,或者可仅分析具有感兴趣项目的池。然后分析的结果可被格式化为基于队列的视图和衡量标准报告(步骤1216)。作为一个例子,该格式化可包括将一组特定的资源112指定为在特定的“基于技能的队列”中的坐席,然后显示为该组资源112确定的视图和/或衡量标准,就像这些坐席真的在坐席队列中一样,尽管他们没有。在结果被适当地格式化后,该方法继续至将视图和衡量标准发送至和/或显示给感兴趣的一方或多方(步骤1220)。该步骤可包括自动将性能报告的电子版本发送给被指定为感兴趣方的一个或多个用户。该步骤还可以包括通过通信设备的用户接口呈现报告的显示和/或在纸上打印实体报告。还可使用传输和呈现视图和衡量标准的其他方法,而不脱离本发明的范围。在以上描述中,出于图示的目的,以特定的顺序来描述方法。应当理解,在可选的实施例中,方法可以以与描述不同的顺序进行。还应当理解,以上描述的方法可由硬件组件执行,或者可具体化为机器可执行指令序列,该指令序列可用于引起诸如通用或专用处理器(GPU或CPU)或用指令编程的逻辑电路这样的机器执行方法(FPGA)。这些机器可执行指令可存储在一个或多个机器可读介质上,诸如CD-ROM或其他类型的光盘、软盘、ROM、RAM、EPROM、EEPR0M、磁或光卡、闪存或适用于存储电子指令的其他类型的机器可读介质。可选地,方法可由硬件和软件的组合来执行。在描述中给出具体的细节以提供实施例的完全理解。然而,本领域技术人员应当理解,所述实施方式的实践可以无需这些具体细节。例如,可能以框图来展示电路,从而不会因不必要的细节而使实施方式变得不清楚。在其他例子中,为了避免使实施方式变得不清楚,在显示众所周知的电路、过程、算法、结构和技术时省略了不必要的细节。同样地,应注意实施方式被描述为被图示为流程图、数据流程图、结构图或框图的过程。尽管流程图可将操作描述为有顺序的过程,但许多操作可并行或同时进行。并且,操作的顺序可被重排列。当过程的操作完成时,该过程终止,但是可具有没有包括在图中的附加步骤。过程可对应于方法、函数、进程、子例程、子程序等。当过程对应于函数时,它的终止对应于函数返回调用函数或主函数。并且,可用硬件、软件、固件、中间件、微代码、硬件描述语言或者它们的任意组合来实现所述实施方式。当以软件、固件、中间件或微代码实现时,执行必要任务的程序代码或代码段可存储在诸如存储介质这样的机器可读介质中。处理器可执行必要的任务。代码段可代表进程、函数、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序指令的任意组合。代码段可通过传递和/或接收信息、数据、变元、参数或存储器内容来耦合于另一个代码段或硬件电路。信息、变元、参数、数据等可通过包括存储器共享、消息传递、令牌传递、网络传输等的任意适当的手段来传递、转发或传输。虽然在此详细地描述了本发明的示意实施方式,应当理解,发明的原理可以不同方式来实施和利用,并且所附的权利要求意欲被解释为包括这样的变化,除了现有技术限定的范围以外。权利要求1.一种方法,包括在呼叫中心算法语言CCAL模块处接收用于控制呼叫中心的行为的第一组规则,所述第一组规则采用第一计算语言;所述CCAL模块执行一组优化规则以将所述第一组规则转换为用于控制无队列呼叫中心的行为的数据结构、过程、任务和事件中的至少一项,其中转换后的第一组规则采用第二计算语言;以及实施转换后的第一组规则来控制所述无队列呼叫中心的行为。2.如权利要求1所述的方法,其中执行所述一组优化规则创建资源池和工作池,其中所述资源池包括呼叫中心中的每个资源的表示,其中所述资源池包括代表呼叫中心中的每个资源的数据结构的无序集合,其中所述工作池包括呼叫中心中的每个工作项的表示,并且其中所述工作池包括代表呼叫中心中的每个工作项的数据结构的无序集合,其中所述CCAL模块考虑所述第一组规则,并且基于所述第一组规则的考虑来识别用来计算所述资源池和工作池的位图的一组属性。3.如权利要求1所述的方法,其中所述一组优化规则被存储在实施中立存储抽象语法树中。4.如权利要求3所述的方法,其中所述实施中立存储抽象语法树采用面向对象的计算语言来编写。5.如权利要求3所述的方法,其中所述实施中立存储抽象语法树采用编译的计算语言来编与。6.如权利要求1所述的方法,其中作为转换所述第一组规则的一部分,所述一组优化规则分析所述第一组规则的输入、输出和变量,然后分析所述第一组规则的数据从属关系。7.一种系统,包括工作分配引擎,该工作分配引擎包括解析器和呼叫中心算法语言CCAL模块,所述CCAL模块被配置为接收用于控制呼叫中心的行为的第一组规则,所述第一组规则采用第一计算语言,所述CCAL模块被进一步配置为执行一组优化规则以将所述第一组规则转换为用于控制无队列呼叫中心的行为的数据结构、过程、任务和事件中的至少一项,其中转换后的第一组规则采用第二计算语言,并且其中所述解析器被配置为翻译转换后的第一组规则以使所述工作分配引擎能够控制所述无队列呼叫中心的行为。8.如权利要求7所述的系统,其中由所述工作分配引擎使用转换后的第一组规则来创建资源池和工作池,其中所述资源池包括呼叫中心中的每个资源的表示,其中所述资源池包括代表呼叫中心中的每个资源的数据结构的无序集合,其中所述工作池包括呼叫中心中的每个工作项的表示,并且其中所述工作池包括代表呼叫中心中的每个工作项的数据结构的无序集合,其中所述CCAL模块考虑第一组规则,并且基于第一组规则的考虑来识别用来计算所述资源池和工作池的位图的一组属性。9.如权利要求7所述的系统,其中所述呼叫中心包括分布式呼叫中心,并且其中在所述资源池中列出所述分布式呼叫中心中的每个资源。10.如权利要求7所述的系统,其中在呼叫中心中用于将工作项分配给资源的工作分配引擎中提供所述CCAL模块,其中作为转换所述第一组规则的一部分,所述一组优化规则分析所述第一组规则的输入、输出和变量,然后分析所述第一组规则的数据从属关系。全文摘要本发明涉及在无队列呼叫中心中用于填充及维护数据结构的自动机制,描述了一种无队列呼叫中心以及用于管理它的各种方法和装置。在此提出的呼叫中心提供了实现真正一对一匹配等多种能力。还提供了用于管理由无队列呼叫中心使用的数据结构的方案。并且,还提出了用于为无队列呼叫中心生成传统的基于队列的性能视图和衡量标准的装置,以帮助从传统的基于队列的呼叫中心平稳地过渡到在此描述的下一代呼叫中心。文档编号H04M3/50GK102300011SQ20111014821公开日2011年12月28日申请日期2011年4月14日优先权日2010年4月14日发明者A·D·弗劳克哈特,R·C·斯特因内申请人:阿瓦亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1