用於下一代呼叫中心的位圖的製作方法
2023-10-17 23:36:09 1
專利名稱::用於下一代呼叫中心的位圖的製作方法
技術領域:
:本發明一般地涉及通信,更具體地,涉及呼叫中心(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,從而進一步減少處理時間。使用位圖進行資格確定利用了這樣的事實對於任何匹配,大多數考慮是無效的。這意味著位圖幾乎是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是根據本發明實施例的通信系統的框圖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不必被限制為任何一種網絡類型,而是可由多種不同的網絡和/或網絡類型組成。舉一個例子,本發明的實施方式可被用於增加基於網格的呼叫中心的效率。基於網格的呼叫中心的示例在Steiner的申請號為12/469,523的美國專利中得以更全面地描述,其全部內容因此通過引用被合併於此。並且,通信網絡104可包括若干不同的通信媒體,例如同軸電纜、銅纜/線、光纖纜、用於發送/接收無線消息的天線及其組合。通信設備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)的交叉處通過M)R運算(例如『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將資源的屬性組合映射到工作項的屬性組合。如果屬性相當緩慢地變化(即不隨時間頻繁地變化),則可使用組合分析。傳統地,在資格判定期間這是更好的選擇,相對於涉及分析較快變化的屬性的適任判定,資格判定涉及分析緩慢變化的屬性。此外,屬性組合數據實例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和/或限制集位圖224中以保存屬性組合和它的標識符之間的邏輯關係。在步驟616和/或620之前、期間或之後,該方法還將用於工作項的工作項條目3M放置入工作池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和重新格式化的資源位圖428的其中之一或全部中(步驟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.一種方法,包括確定呼叫中心中的元素已變為可用於分配;確定與所述元素的處理需求或能力相關聯的搜索標準;掃描位圖以查找所述搜索標準,以識別所述呼叫中心中有資格被分配給所述元素的配對元素;以及基於所述掃描,確定有資格被分配給所述元素的一組配對元素。2.如權利要求1所述的方法,其中所述元素包括工作項,並且其中所述配對元素包括資源,其中所述位圖是與資源池相關聯的資源位圖,並且所述資源位圖中的每個比特相應於所述資源池中的單個資源。3.如權利要求2所述的方法,其中,取決於資源是否有資格被分配給工作項,所述資源位圖中的每個比特的值被賦值為1或0。4.如權利要求2所述的方法,其中所述呼叫中心中的每個資源都被表示在所述資源池和資源位圖中。5.如權利要求2所述的方法,其中所述資源位圖還識別資源可用性,其中在分析資源的可用性之前分析資源的資格,並且其中沒有資格的資源不被分析可用性。6.如權利要求1所述的方法,其中所述位圖在存儲器中是連續的,並且其中在位圖掃描期間,所述位圖的多個比特被同時估計,其中所述元素包括資源,並且其中所述配對元素包括工作項,並且其中表示在所述位圖中的少於5%的配對元素被包括在所述一組配對元素中。7.一種計算機可讀介質,包括當被處理器執行時執行如權利要求1所述的方法的可執行指令。8.一種工作分配裝置,包括工作分配引擎,被配置為確定呼叫中心中的元素已變為可用於分配,確定與所述元素的處理需求或能力相關聯的搜索標準,掃描位圖以查找所述搜索標準,以識別所述呼叫中心中有資格被分配給所述元素的配對元素,並且基於所述掃描確定有資格被分配給所述元素的一組配對元素。9.如權利要求8所述的工作分配裝置,其中所述工作分配引擎被進一步配置為將從所述一組配對元素中選取的配對元素分配給所述元素。10.如權利要求9所述的工作分配裝置,其中所述元素包括工作項,並且其中所述配對元素包括資源,其中所述位圖是與資源池相關聯的資源位圖,並且所述資源位圖中的每個比特對應於所述資源池中的單個資源,其中所述資源位圖中的每個比特的值取決於資源是否有資格被分配給工作項而被賦值為1或0,其中所述呼叫中心中的每個資源被表示在所述資源池和資源位圖中,並且其中表示在所述位圖中的少於5%的配對元素被包括在所述一組配對元素中。全文摘要本發明涉及用於下一代呼叫中心的位圖,描述了一種無隊列呼叫中心以及用於管理它的各種方法和裝置。在此提出的呼叫中心提供了實現真正一對一匹配等多種能力。還提供了用於管理由無隊列呼叫中心使用的數據結構的方案。並且,還提出了用於為無隊列呼叫中心生成傳統的基於隊列的性能視圖和衡量標準的裝置,以幫助從傳統的基於隊列的呼叫中心平穩地過渡到在此描述的下一代呼叫中心。文檔編號H04M3/50GK102300010SQ20111014815公開日2011年12月28日申請日期2011年4月14日優先權日2010年4月14日發明者A·D·弗勞克哈特,R·C·斯特因內申請人:阿瓦亞公司