(57)【特許請求の範囲】
【請求項１】
仕事処理設備において第１のエージェントが第１の仕事種類の仕事アイテムにサービスを提供すべきかどうかを判断することを目的として、コンピュータ内のエージェント割り当て用のプロセッサにより実行されるエージェント割り当てプログラムを記録したコンピュータ読み取り可能な記録媒体において、
該コンピュータ内のハードウェア・プロセッサに、
（ａ）該第１の仕事種類の仕事アイテムについて、サービスレベル、待ち行列状態、所望のサービスレベル、警告状態、応答遅延、呼放棄率、又はオペレータ介入を表わすデータに基づいて、第１の仕事種類以外の仕事種類の仕事アイテムの処理に比較して第１の仕事種類の仕事アイテムの処理に対する仕事処理設備の優先度を示す第１の動的優先値を求めると共に、該第１のエージェントについて、該第１の仕事種類に対する技能レベルを表わす第１のエージェント優先値及び該第１のエージェントが該第１の仕事種類にサービスを提供するのに適格であるかどうかを示す第１のエージェント閾値を求めるステップと、
（ｂ）該第１の動的優先値及び該第１のエージェント優先値の関数として、第１の仕事種類に対する第１のエージェント複合優先値を求めるステップと、
（ｃ）該第１のエージェント複合優先値と、該第1のエージェント閾値とを比較するステップと、
（ｄ）該第１のエージェント複合優先値が該第１のエージェント閾値を越えるときに、該第1の仕事種類にサービスを提供するのに適格である第1のエージェントを選択するステップと、
（ｅ）該第１のエージェント複合優先値が該第１のエージェント閾値より小さいときに、該第１の仕事種類にサービスを提供するのに不適格である第１のエージェントを選択するステップと、を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、第１の動的優先値は、仕事種類に対するサービスレベル値、仕事種類に対する待ち行列状態、仕事種類に対する応答遅延のうちの少なくとも１つの関数であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、第１のエージェントの複合優先値の関数は第１のエージェント優先値および第１の動的優先値の合計であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、第１のエージェントの複合優先値は第１のエージェント優先値および第１の動的優先値の積であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、前記ステップ（ｄ）において、第１のエージェントは、前記エージェント割当て器によって、第１の仕事種類にサービスを提供するのに適格であるエージェントのプールへ追加され、そして前記ステップ（ｅ）において、第１のエージェントは、前記エージェント割当て器によって、エージェントのプールへ追加されないことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項６】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、第１の動的優先値は第１の仕事種類に対する第１のサービスレベル値の関数であり、該第１のサービスレベル値は選択した時間間隔にわたって測定されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、
（ｆ）前記エージェント割当て器が、第１のエージェント複合優先値が第１のエージェントしきい値に等しいときに、第１の仕事種類にサービスを提供するのに適格である第１のエージェントを発見するステップをさらに備えることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、第１の仕事種類に対する第１のエージェントの優先値が第１の仕事種類に対する第１のエージェントしきい値より大きいときに、前記エージェント割当て器がステップ（ｂ）を行わないことと、第１の仕事種類にサービスを提供するのに適格である第１のエージェントを発見するステップとをさらに含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
仕事処理設備において第１のエージェントが第１の仕事種類の仕事アイテムにサービスを提供すべきかどうかを判断するコンピュータから成るシステムであって、プロセッサとエージェント割り当てプログラムを格納するメモリとからなり、該システムは、
（ａ）該第１の仕事種類の仕事アイテムについて、サービスレベル、待ち行列状態、所望のサービスレベル、警告状態、応答遅延、呼放棄率、又はオペレータ介入を表わすデータに基づいて、第１の仕事種類以外の仕事種類の仕事アイテムの処理に比較して第１の仕事種類の仕事アイテムの処理に対する仕事処理設備の優先度を示す第１の動的優先値を計算すると共に、該第１のエージェントについて、該第１の仕事種類に対する技能レベルを表わす第１のエージェント優先値及び該第１のエージェントが該第１の仕事種類にサービスを提供するのに適格であるかどうかを示す第１のエージェント閾値を計算する手段と、
（ｂ）該第１の動的優先値及び該第１のエージェント優先値の関数として、該第１の仕事種類に対する第１のエージェント複合優先値を判断計算する手段と、
（ｃ）該第１のエージェント複合優先値と、該第１のエージェント閾値とを比較するよう動作する手段と、
（ｄ）該第１のエージェント複合優先値が該第１のエージェント閾値を越えるときに、該第１の仕事種類にサービスを提供するのに適格である第１のエージェントを選択するよう動作する手段と、
（ｅ）該第１のエージェント複合優先値が該第１のエージェント閾値より小さいときに、該第１の仕事種類にサービスを提供するのに不適格である第１のエージェントを選択するよう動作する手段と、を備えることを特徴とするシステム。
【請求項１０】
請求項９に記載のシステムにおいて、第１の動的優先値は、仕事種類に対するサービスレベル値、仕事種類に対する待ち行列状態、仕事種類に対する応答遅延、および仕事種類に対する所望のサービスレベル、のうちの複数のものの関数であることを特徴とするシステム。
【請求項１１】
請求項９に記載のシステムにおいて、第１のエージェントの複合優先値の関数は第１のエージェント優先値および第１の動的優先値の合計であることを特徴とするシステム。
【請求項１２】
請求項９に記載のシステムにおいて、第１のエージェントの複合優先値は第１のエージェント優先値および第１の動的優先値の積であることを特徴とするシステム。
【請求項１３】
請求項９に記載のシステムにおいて、前記ステップ（ｄ）において、第１のエージェントは、前記エージェント割り当てプログラムによって、第１の仕事種類にサービスを提供するのに適格であるエージェントのプールへ追加され、そして前記ステップ（ｅ）において、第１のエージェントは、前記エージェント割り当てプログラムによって、エージェントのプールへ追加されないことを特徴とするシステム。
【請求項１４】
請求項９に記載のシステムにおいて、第１の動的優先値は第１の仕事種類に対する第１のサービスレベル値の関数であり、該第１のサービスレベル値は選択した時間間隔にわたって測定されることを特徴とするシステム。
【請求項１５】
請求項９に記載のシステムにおいて、
（ｆ）前記エージェント割り当てプログラムが、第１のエージェント複合優先値が第１のエージェントしきい値に等しいときに、第１の仕事種類にサービスを提供するのに適格である第１のエージェントを発見するステップをさらに備えることを特徴とするシステム。
【請求項１６】
請求項９に記載のシステムにおいて、第１の仕事種類に対する第１のエージェントの優先値が第１の仕事種類に対する第１のエージェントしきい値より大きいときに、前記エージェント割り当てプログラムが動作（ｂ）を行わないことと、第１の仕事種類にサービスを提供するのに適格である第１のエージェントを発見することとをさらに含むことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サービスの提供における資源の割り当てに関する。
【０００２】
【従来の技術】
目的を達成するために多くのサービス組織はサーバ（例えば、サービスを提供するオペレータ）を動的に割り当てる必要がある。このような割り当ては通常、マニュアル的に行われる。サーバには、人間的および非人間的の両方のサービスエージェントが含まれる。サービスの外的パフォーマンスの尺度は、益々、利用度や労働コストのような内的コスト尺度に対し大きくなっている。このような外的尺度は、しばしば所望の目的に合致するかしないかの特定のトランザクションに分類し、このような目的を満たすトランザクションの割合を判定することを含んでいる。このような割合はサービスレベルと呼ばれる。サービスレベルは特定の時間にわたって、あるいは特定のトランザクションの数にわたって測定される。
【０００３】
サービスレベルの例として、更なる行為をすることなく解決した顧客問題の割合、約束した時間内でタクシーが顧客の場所へ到着した割合、別のサーバへ転送したり参照することなく適任の代表によって取り扱われた電話呼の割合、遅れずにサーバへと接続することができる電話呼の割合、２４時間以内に応答される電子メール要求の割合、平日における特定のバスルートで市内バスが時間通りに出発した割合、顧客の苦情を発生せずに取り扱われたトランザクションの割合、質の高いサーバによって優先顧客の呼が取り扱われた割合、スペイン語を話せるサーバによってスペイン系の顧客が取り扱われた割合、サーバに接続する前に顧客が電話呼をあきらめなかった割合、中央局スイッチにてブロックされなかった顧客の問い合わせ電話呼の割合、表示されるまであきらめなかったセルフサービスのウェブページでの顧客セッションの割合、話し中にその場で電話で完了することができる顧客要求の割合、要求から１時間半以内で処理できたローン申請の割合、質の高いサーバで適切に取り扱い８秒以内で応答した有線電話呼の割合、等がある。
【０００４】
このコンテキストにおけるサービス組織のサービスレベルの目標は、サービスレベルの特定の望ましい値である。その目標は、達成したサービスレベルがその目標に対する所望のサービスレベル以上であれば満足したものとされる。逆に、反対の場合は満足されなかったとされる。例えば、もしその日の優先顧客から電話呼のうち８７％を１２秒以内で応答した場合、その日の優先顧客からの電話呼の８５％以上を１２秒以内で応答するという目標は達成されたこととなる。逆に、もし８４％のみを１２秒以内で応答した場合にはこの目標は達成されないものとされる。このフレームワークでは、目標が達成されたか、されなかったかのいずれかである。また、目標を越えて非常に高いレベルのサービスに対しては付加的な利益を発生させていない。
【０００５】
サービスレベル目標は、例外的な資源の割合を含む不測の事態（contingency action）の基準に一般に用いられている。このコンテキストの別の関連するパフォーマンス目標には、平均待ち時間最大値、現在の待ち行列状態、仕事シフトにおけるトランザクションスループットの最小数、品質サービスを示す多くの決定可能なファクタを伴う尺度が含まれる。
【０００６】
サービスタイプに対して割り当てられるサーバ資源の数は、しばしばそのサービスタイプで達成されるサービスレベルに影響を与える。このような場合、サービスレベルの目標を達成するためにサーバを再割り当てすることがよくある。しかし、一般にこのような再割り当ては機会費用を発生する。なぜなら、他の仕事のサービスレベルに対して悪影響を与えるからである。これは企業の運用規則で確立することができる適切な優先度階層に基づいてこの機会費用を適正化することがよくある。
【０００７】
例えば、コールセンタのサーバがローンサービスとセールスサービスの両方のトランザクションを取り扱うことができるものと想定する。セールス活動に多くのサーバが割り当てられている場合、応答遅延に関してセールスサービストランザクションは高いサービスレベルを達成することができる。すなわち、セールス呼それぞれに応答する時間が減る。同時に、ローンサービスの呼には余り速く応答されず、ローンサービストランザクションのサービスレベルを減らしてしまう。サービス組織は、現在の顧客がローン対象の会社へと切り替わり、早急に応答しないと競合他社に容易に仕事を取られてしまう新しい顧客を現在獲得する必要があると言うことはないのでローンサービスは比較的重要度が低いと言い、これを合理化することができる。
【０００８】
このサービス組織は、ローンサービスの目標を達成はしたいが、セールスサービスの目標を未達成となってまでも達成したいとは思わない。セールスの目標が危機的ではなく、ローンサービスの目標が達成されていないのなら、サービス組織はローンサービスの資源を増やすことを望む。このサービス組織は両方の目標を達成したいがセールスの目標はローンサービスの目標よりも重要であり、それを先取りするであろう。すなわち、もし一方の目標のみを満足することができる状態であるのなら、セールスの目標を満足させる。
【０００９】
いつかのサービス目標のうち、短い「機会ウインドウ」を有する仕事に関連する目標、そして、長い機会ウインドウを有する仕事に対する目標があることがある。短い機会ウインドウの例としては電話呼がある。これは、数十秒の間に応答しなければ発呼者はあきらめる。長い機会ウインドウ仕事の例としては、次の徴収サイクルまでに終了しなければならない徴収調整に関連する顧客からの手紙がある。このように、短い機会ウインドウ仕事に対してサービス目標を満足させるためには非常に短い時間しか与えられず、長い機会ウィンドウ仕事に対してサービス目標を達成するための機会ウインドウはもっと広い。従って、短い機会ウインドウ仕事のサービス目標を満足させるために、長い機会ウインドウ仕事を行う資源を一時的により多く割り当てるような生産的な運用上の戦略をすることができる。
【００１０】
多くのサービス組織は、所望の結果を得るためにサーバを動的に割り当てる必要がある。通常このような再割り当てを行うのにマニュアル的な介入がなされる。特定の仕事種類に必要なスキルプロファイルを満足するにも関わらず、サーバが、その特定の仕事種類で利用可能な状態でないような休止（abeyance）状態にされていることが多い。しかし、条件が揃えばその仕事種類に割り当てられることがある。このような場合、このサーバはその仕事に関してバックアップサーバと呼ばれ、そのサーバは通常はその仕事種類に対して利用されない。
【００１１】
ある活動に対してサーバ資源の割り当てを増やすことには通常、他の活動に影響を与える。これら他の活動のそれぞれは潜在的に多くのサービスレベルと関連付けられており、それぞれは達成目標や達成レベルを有する。資源の再割り当ては各資源に対する全ての他の仕事に対してのサービス尺度に依存することができる。このような潜在的に複雑な割り当て機能をマニュアル的に行うことは非常に最適から外れた結果を発生させてしまう。マニュアル的な割り当ては遅すぎることが多く、再割り当てされたサーバがそれらの好ましい仕事にすぐ戻れないならば多くの問題を発生させてしまう。
【００１２】
多くの自動呼分配器（ＡＣＤ）は、「呼オーバフロー」と呼ばれる特徴を有する。呼オーバフローは、選択された状態に応動して呼待ち行列群に対してサーバグループを利用可能にする。しかし、ＡＣＤは、一般に、適切な動的状態に応動して呼群を受信することを休止するサーバを維持する能力に欠ける。ＡＣＤは、一般的には、サーバに呼を獲得するプロセスの明示的な制御を必要とするが、呼にサーバを獲得するプロセスに対しては余り明示的な制御を提供しない。しかし、仕事種類に対するサーバの観点は、仕事の完了を最大化するために別の仕事との間での選択に重大であることが多い。
【００１３】
サーバを割り当てる際に個々のサーバのスキルを考慮するようなスキルベースのルーティングの出現によって、このような状況は複雑になっている。スキルベースのルーティングは、資源の断片を、スキルの区別が無視されるようなモノリシックな受け皿へと単純化することができない。このように、従来のＡＣＤ、ワークフローオートメーションシステムはこの条件を満足しない。
【００１４】
仕事分配システムは、ユーザに対して、上述のようにサーバの再割り当てを行うためにサーバのスキルを操作することを強いる。ＡＣＤ、他の自動仕事分配器は、スキル需要、または分配マップ上の待ち行列ポイントの種類に対してのみ「サービスレベル」をレポートする。しかし、サーバの能力の属性の代わりに、スキルが実際に仕事種類であることがある。これら従来の解決方法は、サービス組織に重要なサービス組織に対するモニタリングや制御に対し潜在的に厳しい制限を与えてしまう。
【００１５】
この環境において、サービス組織は、サービス目標およびこれら目標の規定された優先度に関して、最もよい仕事アイテムがサーバに与えられることを確実にするよう階層上にて仕事活動に優先的取り扱いを与えることを望む。仕事処理設備において仕事種類に関するサービス目標の達成または未達成に基づいて、仕事種類に対して利用可能なサーバプールを動的に広げるような自動化システムの必要性がある。
【００１６】
【発明の概要】
本発明は、仕事処理設備において、満足されないまたは危機的状態のサービスニーズに基づいて、特定の仕事種類に対して利用可能なサーバの数を調整するような設備を提供する。サーバは、人間あるいは人間ではないサービスエージェントを含むことができる。サーバ割り当て手段及びこれに対応するサーバ割り当て方法を、サーバプールへのサーバの割り当てを条件的に調整するように仕事分配器で利用することができる。仕事アイテムが到来する電話の呼であるような一般的な仕事分配器の例としては、自動呼分配器（ＡＣＤ）がある。
【００１７】
一実施例に従うと、サーバの割り当て器は、仕事種類に対する複合優先値を、その仕事種類に対する各サーバのしきい値と比較する。複合優先値がサーバのしきい値以上であると判断すると、その仕事種類に対するサーバプールにサーバが含まれることを指示する。各サーバは異なる仕事種類に対して優先値およびしきい値を有する。優先値の大きさはその仕事種類に対する親和性を表す。サーバのしきい値はその仕事種類に対して仕事を行うことの不本意な度合いを表す（なお本明細書において、ポジティブ度合いとは好ましい度合いを意味し、ネガティブ度合いとは好ましくない度合いを意味する。）。一実施例に従うと、サーバは通常、優先値がしきい値よりも小さいような仕事種類の仕事を受けないが、サーバの複合優先値が仕事種類に対するしきい値を越えた場合にはこの限りではない。
【００１８】
一実施例に従うと、サーバの割り当て器及び対応するサーバ割り当て方法は、多くのユーザが選択可能な複合優先値を計算し、多くのユーザが選択可能な関数を用いる。複合優先値には、サービスレベル、待ち行列状態、所望のサービスレベル、警告状態、応答遅延、呼放棄率、オペレータ介入のような入力から計算される動的優先値が含まれる。一実施例に従うと、複合優先値関数の入力は、仕事種類に対するサーバの優先値および仕事種類に対する動的優先値を含む。従って、この実施例において、複合優先値は、多くの仕事種類に対しサーバの特定の優先、および多くの仕事種類を取り扱うことに対する仕事種類の設備の現在の一般的な優先の両方を考慮する。
【００１９】
一実施例に従うと、サーバ割り当て手段は、仕事種類の動的優先値および仕事種類に対するサーバの優先値を入力として受ける多くの複合優先値関数の何れをも用いることができる。単純な複合優先値関数は、仕事種類に対するサーバの優先値と仕事種類の動的優先値とを合計するものからなる。
【００２０】
サーバ割り当て手段は、満足されない目標を有する仕事種類に対するサーバプールにおける拡張実行するために仕事の動的な好都合な需要を適用する。サーバ割り当て手段及びサーバ割り当て方法は、好都合な仕事に対する運用規則の効果と釣り合うバックアップサーバの利用を可能にする。また、仕事処理設備やサーバ組織に対して予期しない制約無しでバックアップサーバの利用を可能にする。
【００２１】
【発明の詳細な記述】
本発明は、サービス目標の達成を最大化するために、仕事処理設備において満足されないサービスニーズに基づき特定の仕事種類に対して利用可能なサーバのプールを調整する設備を提供する。サーバには、人間および人間ではないサービスエージェントが含まれる。サーバ割り当て手段は、仕事分配器で用いられサーバのプールへのサーバの割り当てを条件的に調整する。サーバプールは幾つかのサーバを表し、それぞれは特定の仕事種類を行わせるのに十分な優先を有する。サーバはサーバプールに属していなくても１もしくは複数に属していてもよい。一般的な仕事分配器の例としては、仕事が到来する電話呼であるような自動呼分配器（ＡＣＤ）がある。
【００２２】
各サーバは異なる仕事種類に対して優先値およびしきい値を有する。優先値の大きさは仕事種類に対する親和性（affinity）を表す。サーバのしきい値は、仕事種類のある仕事を行うことの不本意な度合いを表す。サーバは通常、優先値がしきい値よりも小さいような仕事種類の仕事を受けない。しかし、サーバ割り当て手段が仕事種類に対する複合優先値がその仕事種類に対するしきい値よりも小さくないと判断すると、サーバ割り当て手段はサーバが仕事種類に対するサーバプールに含まれることを指示される。
【００２３】
一実施例に従い、サーバは全ての仕事種類に対して１つのしきい値のみを有する。また、しきい値とサーバ優先値は、他の自動制御システムと、動的サービスと利用特性で管理オペレータからのマニュアル入力を統合するシステムとに対して動的に準拠することが可能である。
【００２４】
サーバ割り当て手段は、ユーザが選択可能な多くの関数を用いてユーザが選択可能な入力から複合優先値を計算することができる。複合優先値には、サービスレベル、待ち行列状態、警告状態、所望サービスレベル、応答遅延、呼放棄率、オペレータ介入のような多くの入力から計算された仕事種類に対する動的優先値を含むことができる。一実施例において、複合優先値関数の入力には、仕事に対するサーバの優先および仕事種類の属性である動的優先値を含むことができる。動的優先値は、サーバ優先を通常参照せずに、他の仕事種類と比較して特定の仕事種類をサーバに行わせることに対する仕事処理設備を表す。
【００２５】
サーバ割り当て手段は、仕事種類に対する動的優先値およびサーバの優先値を入力として受信する複合優先値の多くの関数のいずれかを用いることができる。これら関数は、仕事到着率、目標達成、サーバ割り当て手段をサポートするのに必要な他の関連情報のような他の情報を入力として受けることができる。単純な複合優先値関数として、仕事種類に対するサーバの優先値と動的優先値を合計するものがある。サーバが基本的に品質的にふさわしくない（優先値を有しない）仕事種類は通常（少なくとも好ましい実施例において）、動的優先値に関わらず複合優先値を受けない。
【００２６】
多くの種類の属性を集合的に考慮することにより、企業の仕事運用上、如何に組織することを望むかに従い仕事種類を決めることができる。この仕事種類は、必要とされるタスク製品、通信媒体、地理的、行政管轄的、人口統計的、言語、スキル、サービス種類、顧客プロファイル、セールプロセスにおけるステージ、規制クラスのような組み合わせによって決めることができる。以下の例を考えてみる。仕事分配動作は、到着する電話呼、電子メール、ＷＷＷヒット、郵便局からの郵便、他のメールのようなメディアの種類によって優先度を区別することを望むことがある。また、見込み顧客、新しい顧客、古い顧客、失った顧客、望ましくない顧客のような顧客関係の種類に基づいて異なるサービスプロファイルを与えることを望むことがある。また、特定顧客が住む州にて許可されたサーバを必要とする特定のセールスタスクのような規制的制約に基づいて異なる取り扱いを必要とすることがある。ここにおいて、同じタスクが他の州では何れのサーバでも取り扱えるような場合もある。
【００２７】
携帯電話会社への問い合わせにおいて、特定の公共的な規制による異なる処理制約を満足させるために地理的に分類する場合がある。見込みおよび顧客を多くのマーケティングセグメントに従って分類し、マーケットセグメンテーション戦略を用意にすることができる。年齢、収入、教育度合い、仕事、住居の大きさのような統計的なファクタを用い、多くの製品ラインに対するターゲットマーケットにおいて顧客の所属を特定することができる。仕事分配には住所変更、課金問い合わせ、ローン依頼、勧誘セール、勧誘しないセール、製品ラインにわたるセール、テクニカルサポート、苦情、問題特定、問題解決のようなタスクの種類による分類を必要とすることがある。このような仕事や顧客属性の組み合わせは通常、仕事種類を非常に複雑にする。本発明は、サーバを小さな統計的プールへと断片化してしまって非効率的にはせずにこのような複雑さをもサポートすることができる。
【００２８】
好ましい一実施例に従い、ユーザが選択可能な複合値関数は動的優先値とサーバの優先値の両方に対して単調に増加すべきである。即ち、もしサーバ優先値が増加あるいは減少すれば、複合優先値は増加あるいは減少する（他の条件は同じと想定した場合）。同様に、もし動的優先値が増加あるいは減少すれば、複合優先値は増加あるいは減少する（他の条件は同じ場合）。勿論、複合優先値関数は、別の入力あるいはより少ない入力を、サーバ割り当て手段や仕事処理システムの必要性に従って用いることができることを当業者は認識できるであろう。また、これら入力から複合優先値関数を作る多くの適切な方法を認識できるであろう。
【００２９】
ある実施例では、複合値関数の選択を動的に操作する最優先制御規則(overriding control laws)を用いることもできる。これにより、他の所望特性を達成することもできる。他の所望動作特性としては目標を超えるサービスレベルパフォーマンスの等しい割り当て、サーバの等しい利用、サービスレベル達成における揺らぎのダンピング、サーバアイドル度における揺らぎのダンピング、モード依存性振る舞いなどが含まれる。最優先制御規則としては、ユーザ選択可能な複合値の方法を制御する別の層を構成することができる。
【００３０】
複合優先値において動的コンポーネントを計算する方法およびシステムは"Hierarchical Service Level Remediation for Competing Classes Based Upon Achievement of Service Level Goals"と称される米国特許出願に記載されている。
【００３１】
サーバ割り当て手段とこれに対応するサーバ割り当て方法は、目標達成しないもしくは部分的にしか達成しない仕事種類に対するサーバプールの拡張を行うために仕事の動的な便宜要求を適用する。同様に、サーバ割り当て手段は、利用可能なサーバの割合が不釣り合いと見なされる仕事種類に対するサーバプールの縮小（contraction）を行うことができる。サーバ割り当て手段とサーバ割り当て方法はサービスオペレーションに対し、仕事を促進し、運用規則に従って、仕事を促進しそして仕事を公平に分配する動作規則の効果に釣り合ったサーバを利用させることができる。この事により、認識した結果に基づいてサーバを割り当てるためにマニュアル的に介在することを排除する。上述のように、マニュアル的な対処は遅すぎることがしばしばであり、再割り当てされたサーバが十分に早く好ましい仕事に戻らないとより大きな問題となってしまう。サーバ割り当て手段とこれに対応するサーバ割り当て方法は、仕事設備やサーバ組織に対し予期しない制約無しで、仕事種類に対するバックアップサーバの自動的な共有利用を動的に可能とする。また、サーバ割り当て手段とこれに対応するサーバ割り当て方法は、マニュアル的な介入により行われるサーバの再割り当ての必要性を削減するために、管理者の責任を減らすことができる。
【００３２】
サーバ割り当て手段は、サービスレベル目標を達成すべき仕事種類に対応するサービス要求を緩和することに特に有用である。上述のように、サービスレベル目標には、企業の運用規則に関連したものを用いることができる。これら仕事種類は、サービスクラスと、本明細書で呼ぶサービス要求のクラスを有する。サービスクラスは単に、目標を達成しようとする幾つかのトランザクションを規定するサービスレベル目標の一部である。サービスをよいまたは悪いというように分類する所望のサービスレベルおよび基準は、サービスクラスの一部ではない。例えば、上級と見込まれる客からの電子メール問い合わせの８０％を６時間以内で処理する目標を運用上有するものと想定する。「上級と見込まれる客からの電子メール問い合わせ」は、目標に適したサービスクラスである。サーバが６時間以内に問い合わせすることは、サービスクラスのメンバーシップに影響を与えず、８０％の目標値はサービスクラスの定義の一部ではない。
【００３３】
仕事種類とサービスクラスの間の関係はしばしば複雑であり重要なものである。サービスクラスはお互い排他的である必要はなく、また、集合的に包含的である必要はない。サーバスキルに関連しない属性によりサービスクラスを規定することもでき、また、サーバスキルを規定する属性と同じ属性で規定することもできる。また、複数の目標が１つのサービスクラスに属していてもよい。サーバ優先値に関して、仕事種類はサービスクラスよりも適切な特徴であることが多いようにすることもできる。
【００３４】
仕事種類の動的優先値は仕事分配器においてサーバ割り当て手段への制御入力として機能するベクトルを構成する。この動的優先値は、サーバ割り当てが機能するように判断に強い影響を与える。仕事分配器は、優先値の大きさに従ってサーバの仕事種類への分配にバイアスを与える。仕事種類に関連付けられた動的優先値を用いるマシーンの動作無しでは、仕事分配ないしＡＣＤでは機能することはできるものの、サーバプールを自動的に拡張ないし縮小する能力は弱くなってしまう。サーバ割り当て手段を用いるマシーンを用いると、仕事分配器は多くのサービスクラスに関連付けられた目標の達成を可能とする動的サーバプールを享受する。
【００３５】
例えば、仕事分配器が通常第１サービスクラスのトランザクションに割り当て可能としてマークされた全てのサーバを使い切ったような状況では、サーバ割り当て手段の存在下において、仕事分配器は優先度に関連して他の目標と比較し、第１サービスクラスに関連付けられたサービス組織の目標が十分に危機状態となったときには更なるサーバを割り当て可能としてマークすることができる。一実施例に従うと、サーバ割り当て手段は、可用サーバのプールを明示的に拡張し、また、サーバの仕事アイテムの分配の制御を仕事分配器に留まらせる。別の実施例に従うと、サーバ割り当て手段は、各サーバに対して仕事アイテムを選択するプロセスにおいて可用サーバのプールを暗黙的に拡張する。動的優先値は境界的（marginal）な意味で仕事分配に影響を与えるのみである。例えば、仕事種類に対する高い動的優先値はサーバが全く品質的にふさわしくない仕事種類のプールにサーバを配置することは引き継がない。危機状態にある目標が無ければ、サーバ割り当て手段は全てのサービスクラスに対して０の動的優先値を割り当てることができる。この場合、仕事分配器は動的条件を補わずにサーバをマッチさせる。
【００３６】
危機状態の目標を有する仕事種類のサーバプールの拡張は、サーバ割り当て手段およびそのサーバ割り当て方法に対して典型的なモードであるかもしれないが、資源がサービスレベル目標を超えないように制限する必要もある。全ての目標が満足され、一部のサービスレベルが他の目標よりも目標を超えているような状況において、運用規則は、より優れたサービスをより均等に分配するためにサーバを再割り当てすることができる。例えば、動的優先は正で無く負とすることができ、これにより、複合優先はサーバのしきい値よりも低くなる。複合優先がしきい値よりも低く収まれば、サーバは、サービスレベル目標が満足されないようなときまで、この仕事種類に対するサーバプールから一時的に除去される。従って、全てのサービスレベル目標が満足される場合では、システムは、仕事種類をまたがって整合性を大きくするように、何れの仕事種類に対する資源を拡張し、資源を縮小することにより仕事の間のバランスを取ることができる。
【００３７】
図１は、サーバ割り当て手段１０２が実行する汎用コンピュータシステム１００の高レベルブロック図である。コンピュータシステム１００は仕事処理設備に収容することができる。また、仕事処理設備自体がコンピュータシステム１００内に収容されていてもよい。コンピュータシステム１００は、中央処理装置（ＣＰＵ）１１０、入力／出力デバイス１２０、コンピュータメモリ１３０を備える。入力／出力１２０として、ハードディスクドライブのような記憶装置１２１、ＣＤ−ＲＯＭのようなコンピュータが読み取り可能な媒体として提供されるサーバ割り当て手段１０２を含むソフトウェア製品をインストールするようにできるコンピュータが読み取り可能なメディアドライブ１２２がある。入力／出力１２０はトランザクションを受けるサーバやトランザクションソースへの接続１２３を有する。例えば、コンピュータシステム１００をコンピュータ・テレフォニ・インタフェース、ウェブサーバ、ウェブブラウザ等に接続するのに接続１２３を用いることができる。サーバ割り当て手段１０２は、サーバ可用性を検出し、アプリケーションやトランザクションをサーバに割り当て、そしてサーバによるトランザクションの処理をモニタするためにこの接続を用いることができる。メモリ１３０はサーバ割り当て手段１０２を含むことが好ましい。
【００３８】
上述のように構成したコンピュータシステムでサーバ割り当て手段１０２を実装することが好ましいが、異なる構成のコンピュータシステムにても実装することができる。例えば、サーバ割り当て手段１０２は、上述のものよりも異なるコンポーネントを有するコンピュータシステム上で実装することができる。また、サーバ割り当て手段１０２はコールセンタにおけるコンピュータシステムのような特殊用途コンピュータシステムにて実装することができる。更に、サーバ割り当て手段１０２は、ＡＳＩＣ等を用いて特殊用途ハードウェアにてソフトウェア無しで実装することができる。コールセンタにおける自動呼分配器（ＡＣＤ）は、その機能としてサーバ割り当て手段１０２を収容することができる。
【００３９】
サーバ割り当て手段１０２をより詳細に説明するため、以下で特定の例に従ってその動作を説明する。この例は、サーバ割り当て手段１０２の動作を議論する便利な基礎を提供するように設計したので、サーバ割り当て手段１０２の通常のアプリケーションを必ずしも全て表しているものではない。この例におけるシナリオよりも拡張性があり分散したシナリオにてサーバ割り当て手段１０２を用いることができることを当業者は認識できるであろう。
【００４０】
図２は、仕事処理設備で行われる仕事種類を表す多くの仕事種類２０２に対する多くのサーバの優先を表すサーバ優先表２００である。システムにおける各サーバはサーバＩＤ２０１を有する。各サーバは、サービス組織によって特定される可能性のある仕事種類２０２それぞれに関連付けられた仕事を理論的には行うことができる。
【００４１】
各サーバは、特定の仕事種類２０２の仕事を行うことに対して優先値２０３を有する。２０３の大きさは関連する仕事種類２０２に対して親和性を表す。また、２０３の大きさは、２０２に関連するサーバスキルの尺度を表す。各サーバは、特定の２０２に対応するタスクを行うことにするサーバの不本意性を表すしきい値２０４を有する。２０４は、特定の２０２に関連するタスクを行うサーバの能力の無さの尺度をも表す。従って、２００は、各サーバＩＤ２０１、各サーバ仕事種類２０２に対応するエントリ２０５乃至２０９を有する。例えば、エントリ２０５は仕事種類「見込み客からの呼」に関連して１００を有するサーバの優先を表す。この特定の仕事種類に対して、１００は「８」のサービスクラスの優先値、「９」のサービスクラスのしきい値を有する。サーバは通常、優先値がしきい値よりも小さいような仕事は行わない。従って、１００は通常、「見込み客からの呼」に関連付けられたタスクを行わない。他方、エントリ２０５に示すように、１００は通常、「苦情呼」２０６に関連付けられたタスクを行う。なぜなら、この仕事種類に対する２０３は「４」であり２０４は「３」であるからである。
【００４２】
サーバが基本的にふさわしくない仕事種類は、優先値を有しない、即ち「０」の優先値を有する。例えば、サーバＩＤ１０１はエントリ２０９に示すように「優先顧客からの呼」に関連付けられた仕事を行うのに品質上ふさわしくない。従って、仕事分配器は、優先顧客からの呼に関連付けられた仕事を行わせるように１０１を割り当てない。
【００４３】
図３は、複合優先値と関連して仕事処理設備で行われる仕事種類のサーバ優先およびしきい値を示す表３００を示す。特定仕事種類に対する個々の優先を表すだけではなく、仕事種類に関して仕事処理設備の優先をも表す。図２と図３を比べると、表３００における列３０１乃至３０４の内容がそれぞれ表２００における列２０１乃至２０４の内容に対応することが解る。また表３００は、複合優先値列３０５の更なる列を有し、これもまた、仕事種類３０２を含む仕事をサーバが行うのに対しての仕事処理システムの全体の優先を表す。例えば、１００の「見込み客からの呼」に対する複合優先値は「１０」であり、「苦情呼」に対する１００の複合優先値は「８」である。
【００４４】
サーバ割り当て手段１０２は、仕事種類に対する動的優先を含む複合優先値を計算するための多くの関数を用いることができる。仕事種類に対して動的優先値を生成する手段の少なくとも１つは、1998年９月８日付け出願の米国特許出願第09/149877号 "Dynamically Assigning Priorities for the Allocation of Server Resources to Competing Classes of Work Based Upon Achievement of Service Level Goals"に記載されている。
【００４５】
図４は、サーバ割り当て手段１０２を用いた複合優先値の生成ないしそれに対応する方法を示す流れ図である。
【００４６】
サーバ割り当て手段１０２は、選択されたアイテムの仕事種類に対するサーバの優先値を配置する（４０１）。本発明のある実施例において、サーバ割り当て手段１０２は、選択された仕事アイテムに対する仕事種類を決めるようにすることもできる。また、選択された仕事アイテムに対する仕事種類の決定は、複合優先値の生成の前に行うこともでき、サーバ割り当て手段１０２は仕事アイテムに対する決定した仕事種類を単に配置する。サーバ割り当て手段１０２は、図２に示すサーバ優先表２００のようなサーバ優先表を調べることができる。可用サーバが図２に示したサーバ優先表２０２のサーバＩＤ１００であり選択された仕事種類が「見込み客からの呼」であると想定する。従って、サーバ割り当て手段１０２は、「見込み客からの呼」に対するサーバＩＤ１００の優先が優先値「８」を有するものと特定する。
【００４７】
サーバ割り当て手段１０２は仕事アイテムに対する動的優先値を配置する（４０２）。前述のように、動的優先値は仕事種類の属性とすることができる。仕事種類に対する動的優先値を決定するのに多くの関数を用いることができる。例えば、動的優先値が、獲得したサービスレベル、待ち行列状態、所望サービスレベル、警告状態、応答遅延、呼放棄率、オペレータ介入等に基づくようにすることができる。動的優先値が所望サービスレベルの獲得／非獲得および仕事種類に対する優先度の組み合わせに基づくと想定する。従って、所望サービスレベルを現在獲得していないより高い優先度の仕事種類は、他の仕事種類（例えば、サービスレベルが獲得しているような仕事種類あるいは低い優先度種類）よりも高い動的優先値を有する。また、「見込み客からの呼」に対する動的優先値が「４」であると想定する。
【００４８】
サーバ割り当て手段１０２は、仕事処理設備内で現在選択されている複合優先値関数を配置する（４０３）。前述のように、サーバ割り当て手段１０２は、複合優先値関数のような多くのパラメータのユーザ選択を可能にする。多くの場合にて、例えば、設備管理において、ある複合優先値関数が他よりも好ましいと判断することができる。
【００４９】
複合優先値関数において、仕事アイテムの仕事種類に対するサーバの優先値を仕事アイテムに対する動的優先値と加えることができる（４０１、４０２）。また、複合優先値関数は、仕事アイテムの仕事種類に対するサーバの優先値を仕事アイテムに対する動的優先値とかけ合わせることができる（４０１、４０２）。更に、複合優先値関数は、別のパラメータに従って重み付けされた仕事アイテムの仕事種類に対するサーバの優先値を、別のパラメータに従って重み付けされた仕事アイテムに対する動的優先値と加えることができる（４０１、４０２）。複合優先値関数において、多くのスケーリングファクタを用いることもできる。
【００５０】
選択した複合値関数に関わらず、サーバ割り当て手段１０２は複合優先値を計算するために複合優先値関数を用いることができる（４０４）。選択した複合優先値関数がサーバの優先値を動的優先値と加えることを伴うものと想定する。「見込み客からの呼」（８）に対するサーバＩＤ１００の優先値を「見込み客からの呼」（４）と加えると「１２」を得る。
【００５１】
前述のように、仕事処理設備は通常、サーバの優先値が同じ仕事種類に対するサーバのしきい値より小さい場合にはサーバに仕事を与えない。「見込み客からの呼」（８）に対するサーバＩＤ１００の優先値は、図２に示すようにサーバＩＤ１００の対応するしきい値（９）よりも小さい。仕事処理設備は通常、「見込み客からの呼」に関連する仕事を割り当てるようなサーバのプール内ではサーバＩＤ１００を考慮しない。しかし、上に示したように、サーバＩＤ１００の複合優先値は「１２」であり、これはサーバＩＤ１００のしきい値「９」を越える。即ち、サーバＩＤ１００の仕事処理設備が「見込み客からの呼」を処理する必要性がこのようなタスクを行うことに対するサーバＩＤ１００の不本意性を現在上まわっている。従って、仕事処理設備は、１００がサーバプール内に現在あるものと考慮し、これは、見込み客からの呼を受ける。勿論、「見込み客からの呼」の仕事種類に対する複合優先値を再計算した場合にサーバＩＤ１００のしきい値よりも複合優先値が低くなれば、サーバＩＤ１００が「見込み客からの呼」に対するサーバプールから除かれることがあり得る。また、複合優先値は、品質的にふさわしくないサーバをサーバプールに絶対に割り当てないようにすることもできる。サーバが基本的に品質的にふさわしくない（優先値が「０」）仕事種類は、複合優先値「０」を受ける。
【００５２】
複合優先値関数は、サービスクラス優先値および仕事種類に対するサーバの優先値の多くの関数の何れであってもよい。複合優先値関数は、通常のサービス目標とは独立の多くの動作モードおよび多くの他の動作状態に偶然的ではないように動的に選択することができる。このようなモードは、サーバ全体の効率、公平性の考慮、仕事の繁栄要求、または特定の例外的状態に関連する二次的目標に関連していてもよい。動作状態の単純な例として一日における時間があり、別の例として、一週間における曜日がある。ここにおいて、仕事は異なる仕事の規則で運用される。
【００５３】
図５Ａ、Ｂは、一実施例に従うサーバ対処手順を示す流れ図である。サーバ割り当て手段１０２は検査間隔をセットする（５０１）。この検査間隔はいずれかの時間間隔または条件を含むようにできる。少なくとも一実施例において、検査間隔は、仕事処理設備内の他の機能によってセットされる。
【００５４】
サーバ割り当て手段１０２は、終了条件になったかどうか判断する（５０３）。終了条件は幾つかのファクタによって発生することができ、これには仕事処理設備のシャットダウンを含む。もし終了条件になれば（５０３）、サーバ割り当て手段１０２は動作を終了する。そうでなければサーバ割り当て手段１０２は終了条件が発生するまで何らかの規則的な間隔で動作を継続する。
【００５５】
もし終了条件が発生しなければ（５０３）、サーバ割り当て手段１０２は検査間隔が終わったかどうかを判断する（５０５）。もし検査間隔が終わっていなければ（５０５）、サーバ割り当て手段１０２は再び終了条件が発生したかどうか（５０３）および／または検査間隔が終わったかどうか（５０５）を判断するまで待つ（５０７）。検査間隔の長さはユーザが選択可能にすることができ、検査間隔は実質的に継続であるかのように頻繁にすることもできる。
【００５６】
もし検査間隔が終われば（５０５）、サーバ割り当て手段１０２は全ての仕事種類が検査がされたかどうかを判断する（５０９）。もし全ての仕事種類が検査されていれば（５０９）、サーバ割り当て手段１０２は終了条件が発生したかどうかを判断するように戻る（５０３）。済んでなければ、別の検査間隔が終了したかどうかを判断するように進む（５０５）。
【００５７】
勿論、サーバ割り当て手段１０２は通常、常に全ての仕事種類と全てのサーバを解析するのではないことを認識できるであろう。実際には、「検査」はサーバが可用となったときに開始することができる。検査は、そのサーバのみを考慮し、すでに待ち行列に入れられた仕事アイテムによって表される仕事種類に関してのみ考慮する。また、検査は仕事アイテムが仕事処理設備に到着したときに開始させることができる。検査間隔は、新しく到着した仕事アイテムを考慮し、すでに仕事を待っているサーバに関連する。優先値が増えたりまたはしきい値が減ることにより、検査をトリガさせることができる。サーバは一般に、サーバが他の割り込むことができない仕事のお陰で現在ビジー状態であるときに新しいサーバプールに入ることを必要としない。勿論、現在待ち行列に何れの仕事も入れられていない場合に仕事種類のサーバプールにおいてサーバのメンバーシップを判断する必要性は少しある。一実施例に従い、これら条件がサーバ割り当て手段１０２に関連する処理要求を相当に減らすことができることを認識することができるであろう。
【００５８】
もし全ての仕事種類が検査されていなければ（５０９）、サーバ割り当て手段１０２は検査する次の仕事種類を選択する（５１１）。サーバ割り当て手段１０２は全てのサーバが検査されたか判断する（５１３）。もしサーバ割り当て手段１０２が全てのサーバを検査したならば（５１３）、サーバ割り当て手段１０２は全ての仕事種類が検査されたかどうかを判断することに戻る（５０９）。
【００５９】
もし全てのサーバが検出されていなければ（５１３）、サーバ割り当て手段１０２は次のサーバを選択する（５１５）。サーバ割り当て手段１０２は、選択されたサーバの優先値がサーバのしきい値よりも小さいか判断する（５１７）。もし選択された優先値がサーバのしきい値よりも小さくなければ（５１７）、サーバ割り当て手段１０２はそのサーバが選択した種類に対して可用とする（５２３）。選択した仕事種類に対してサーバを可用とすることには、仕事処理システムにて仕事割り当て設備によって用いられるサーバプールを変更することを伴うことができる。場合によっては、サーバはその仕事種類に対して前にサーバプールに割り当てられており、更なる処理が必要ない場合もある。勿論、上述のように、全てのサーバや全ての仕事アイテムが常に検査される必要はない。
【００６０】
もし選択されたサーバの優先値が選択された仕事種類に対するサーバのしきい値よりも小さければ（５１７）、サーバ割り当て手段１０２は仕事種類とサーバに対応付けられた複合優先値を更新する（５１９）。図４は、複合優先値を更新する手順を示している。仕事種類とサーバに対応する複合優先値を更新することには、サーバ割り当て手段１０２が用いるべき複合優先値関数を決定することが含まれる。上述のように、ユーザはサーバ割り当て手段１０２により用いられた複合優先値関数を選択することができる。
【００６１】
サーバ割り当て手段１０２は選択した複合優先関数を適用し、複合優先値がサーバのしきい値以上であるかを判断する（５２１）。もし複合優先値がサーバのしきい値以上であれば、サーバ割り当て手段１０２はその仕事種類に対してサーバを可用にする（５２３）。サーバ割り当て手段１０２は単に仕事処理設備に対してサーバが仕事種類に対するサーバプールに含まれるべきであることを示す。これは、サーバをその仕事種類に対するサーバプールに割り当てるのに必要なステップを実際に行うことなく、行われる。もし複合優先値がサーバのしきい値以上でなければ、サーバ割り当て手段１０２はその仕事種類に対してサーバを選択せず、他のサーバの検査に戻る（５１３）。
【００６２】
サーバ対処手順のために図５Ａ、Ｂに示した流れ図は、中央化したサーバと分散したサーバの両方の対処手順に等しく適用可能である。従って、そのサーバ対処手順は中央化した環境でも分散した環境でも存在することができる。例えば、動的優先の評価によっては、１もしくは複数のプロセッサで動作する１つの処理によって決定することもでき、また、複合優先はそれぞれがあるサーバに専用であるプロセッサによって決定することができ、ここで、これら専用プロセッサは何らかの通信手段によって幾つかの動的優先を獲得する。サーバ対処プロセスの実際の処理は、特定の実装に対して実用的であるいずれの構成によっても実現することができる。
【００６３】
図６Ａ乃至Ｄは、サーバ割り当て手段１０２によって、多くのサーバプール６０３乃至６０５に対するサーバの割り当てにおける時間にわたる変化を示している。簡単にするため、サーバプール６０３に対応する仕事種類６０１がサーバプール６０４に対応する仕事種類よりも高い平均複合優先値を有し、サーバプール６０４に対応する仕事種類は、サーバプール６０５に対応する仕事種類よりも高い平均複合優先値を有するものと想定することができる。
【００６４】
仕事処理設備で必要性が満足されないので、サーバ割り当て手段１０２は目標が満足されない仕事種類に対してより多くのサーバを可用にする。サーバの割り当てにおける変化は図６Ａに示す図から図６Ｂに示す図へとサーバプールにおける可用サーバ６０２の数を変化させる。図６Ａにおいて、仕事種類「見込み客からの呼」は４２の可用サーバのサーバプール６０３を有する。「見込み客からの呼」の目標は達成されていないので、図６Ｂに示すようにサーバ割り当て手段１０２は６０３におけるサーバの数を４８サーバへと増やして更新する。勿論、１つのサーバには複数のサーバプールを割り当てるようにしてもよい。
【００６５】
同様に、「苦情呼」サーバプール６０４におけるサーバの数は、図６Ａ、Ｂで表される時間間隔の間に減少している。「苦情呼」サーバプール６０４におけるサーバの数の減少は、サーバ優先値の変化、あるいは動的優先値における変化であることがある。「優先顧客からの呼」の仕事種類に対するサーバプール６０５は、図６Ａ、Ｂで表される時間間隔の間に一定に留まる。勿論、図６Ｂで示した「優先顧客からの呼」のサーバプール６０５におけるサーバは、図６Ａの「優先顧客からの呼」のサーバプール６０５に対して示したサーバと同じサーバである必要はない。
【００６６】
仕事処理設備における必要性が満足されないので、サーバ割り当て手段１０２は、図６Ｂと図６Ｃを比較し示されるように、「見込み客からの呼」のサーバプール６０３に対してより多くのサーバを可用とするように動的優先値の利用を継続する。同様に、「苦情呼」のサーバプール６０４と「優先顧客からの呼」のサーバプール６０５は集合的に図６Ｂ、Ｃに表した時間間隔の間に減少する。
【００６７】
サーバ割り当て手段１０２は、サーバプールに対して最大および／または最小の数を保持するように設計することができる。例えば、「優先顧客からの呼」のサーバプール６０５は、最小サーバ数「１０」を有することができる。従って、サーバ割り当て手段１０２は、６０５かその最小サーバ数に到達すると（これは予約サーバとも呼ばれる）、「優先顧客からの呼」のサーバプール６０５からサーバプール６０３乃至６０４へとサーバを再割り当てすることを控える。
【００６８】
サーバ割り当て手段１０２は可用サーバの供給が不釣り合いとみなされる仕事種類のサーバプールを縮小することができる。危機状態の目標を有する仕事種類のサーバプールの拡張がサーバ割り当て手段１０２に対して典型的なモードであるので、サーバ割り当て手段１０２はサーバレベル目標を超えることからサーバ資源を制限する必要性が出てくる。全ての目標が満足され、一部のサービスレベルは他のサービスレベルが目標を超えるよりも多く越えているような状況においてサーバ割り当て手段１０２の運用規則はサーバ資源をより均等に分配するようにサーバを再割り当てすることができる。
【００６９】
例えば、図６Ｃに示す「見込み客からの呼」サーバプール６０３がサービス目標を達成するのに必要な量より多くのサーバを含むと想定する。「見込み客からの呼」のサーバプール６０３に対応する目標が所望レベルを越えて現在達成されているので、他のサービス目標もまた達成されるようにサーバの数を減らすことができる。従って、６０３におけるサーバの数は図６Ｃから図６Ｄへと減る。サーバプール６０４乃至６０５に割り当てるサーバの数も図６Ｃから図６Ｄへと増える。
【００７０】
６０３におけるサーバの数を減らすためにサーバ割り当て手段１０２は６０３に対する動的優先値が正ではなく負となるようにすることができる。これにより、複合値は１もしくは複数のサーバしきい値よりも低くなる。複合優先値がサーバのしきい値よりも下に収まれば（サーバの優先値もまたしきい値よりも下である）、ここでは、サービス目標が満足されなくなるまでサーバはその仕事種類に対するサーバから一時的に除去される。従って、全てのサービス目標が満足される場合では、サーバ割り当て手段１０２は、幾つかの仕事種類の組の間で大きな整合性を与えるように何れの１つの仕事種類に対する資源（例えば、サーバ）を拡張し、資源（例えば、サーバ）を縮小することにより仕事種類の間のバランスを取ることができる。動的優先値は０に留まっても増加してもあるいは複合優先値を駆動する関数が複合優先値をサーバのしきい値よりも下にしている間には考慮しないようにすることもできることを認識できるであろう。
【００７１】
図７は、動的優先値列７０１と、仕事処理設備で行われる仕事種類に対するサーバ優先及びしきい値とを含む表７００を示している。図３の表３００と７００を比べると、表３００の列３０１乃至３０５が表７００の列３０１乃至３０５と対応することが解る。また、表７００は多くの仕事種類のパフォーマンスに対するサービス組織の現在の優先値を表す動的優先値列７０１を含む。
【００７２】
上述のように、複合優先値列３０５に記録される複合優先値を計算するのに多くの方法を用いることができる。表７００において、複合優先値列３０５における複合優先値は、仕事種類列３０３に対するサーバ優先を７０１に対する動的優先値と合計することによって決定することができる。例えば、１００の「見込み客からの呼」に対する複合優先値は「１０」であり、これは、この仕事種類に対する１００の優先値「８」をこの仕事種類に対する動的優先値「２」と加えることにより計算される。他の点に関しては上の動作で説明する。
【００７３】
仕事種類に対するしきい値は特定のサーバに関係を発生させることと関連して前に説明した。例えば、図２において「苦情呼」の仕事種類に対するサーバＩＤ１００のしきい値は「３」であり、「苦情呼」の仕事種類に対するサーバＩＤ１０１のしきい値は「７」である。同様に、「苦情呼」の仕事種類に対するサーバＩＤ１００のしきい値は「見込み客からの呼」の仕事種類に対するサーバＩＤ１００のしきい値とは異なる。
【００７４】
別の実施例において、仕事種類に対するしきい値は、特定のサーバを参照せずに確立することができる。図８は、仕事処理設備にて行われる仕事種類を表す多くの仕事種類２０２に対する多くのサーバの優先を示したサーバ優先表８００である。サーバ優先表８００は図２に示したサーバ優先表２００と似ているが、サーバ優先表８００には図２に示した仕事種類列２０４に対するサーバしきい値を含まない。
【００７５】
別の実施例において、サーバ優先表８００は、多くの仕事種類に対する適切なしきい値を含むしきい値表８０６と関連付けることができる。この実施例においてサーバ割り当て手段１０２は特定のサーバに仕事を割り当てるかどうかを判断する際にしきい値表８０６において適切な値を参照する。例えば、しきい値表８０６は、一実施例に従い、全ての仕事種類に対して１つのみのしきい値を有するようにできる。代わりに、しきい値表８０６は各サーバに対して全ての仕事種類のしきい値を有するようにできる。代わりに、しきい値とサーバ優先値は、他の自動化制御システムおよび動的サービスおよび利用特性を有する管理オペレータからのマニュアル的な入力を統合するようなシステムに基づいて動的であることができる。また、しきい値は各仕事種類に対して異なるように決めることができる。勿論、サーバ優先表８００およびしきい値表８０６は、共通のメモリ素子に記憶することができ、また、相互に関連するデータ構造を有することもできる。
【００７６】
勿論、サーバ優先の決定に対する仕事種類に貢献する要素は、動的優先値を決定する属性とは全く独立であるようにすることができる。例えば、図８に示すように、１００に対してサーバ優先を与えるのに必要な仕事種類がサーバＩＤ１００の位置や発呼者の位置を示す地理的属性のような他の属性と独立であることが容易に認識できるであろう。しかし、優先の動的成分（これはサーバとは独立である）は、地理的属性のような他の属性的に決めることができる。また、図８で示す仕事種類は、例えば、優先の動的成分を決めるのにおいて利用する必要は全くない。
【００７７】
図９Ａは別の汎用コンピューターシステム１００の高レベルブロック図であり、しきい値判断手段９１１および複合優先評価器９１０を有する。９１１は、図８に示すしきい値表８０６のためにしきい値を計算することができる。複合優先評価器９１０は現在選択されたユーザ選択可能な複合優先値関数が仕事処理設備に関連して企業の目的を達成するのに最も適した複合優先値関数であるかを判断することができる。他の点では、コンピュータシステム１００は、図１に示したコンピュータシステム１００に記載したのと同様に動作する。勿論、複合優先評価器９１０と９１１はサーバ割り当て手段１０２のような他の機能に含まれていてもよい。
【００７８】
複合優先評価器９１０は、複合値関数の選択を動的に操作して他の所望の動作特性を達成するような最優先制御規則を用いることができる。この他の所望の動作特性としては目標を超えたサービスパフォーマンスの均等な割り当て、サーバの均等な利用、サービスレベル獲得におけるばらつきの解消、サーバアイドル具合におけるばらつきの解消、モード専用の振る舞い等がある。この実施例において、複合優先評価器９１０は、前述の複合優先値関数の上に別の制御層を構成するように考えることができる。
【００７９】
複合優先評価器９１０は、通常のサービス目標とは独立した、多くの動作モードおよび他の動作状態次第の複合優先関数を動的に選択することができる。このようなモードは、サーバ全体の効率、公平性の考慮、仕事満足欲求や特定な例外的な条件等を伴う二次的目標に関連していてもよい。
【００８０】
図９Ｂは、一実施例に従い、複合優先評価器９１０に行われる幾つかの動作を示す流れ図である。
【００８１】
複合優先評価器９１０は、企業およびその関連する仕事処理状態を評価し、仕事処理設備に対する企業の目的の全体の達成レベルを判断する（９０１）。次に複合優先評価器９１０は現在選択されているユーザ選択可能な複合優先値関数が、企業とその関連する仕事処理状態の評価と関連して、適切な複合優先値関数であるかどうかを判断する（９０２）。
【００８２】
もし複合優先評価器９１０が現在選択されているユーザ選択可能な複合優先値関数は、適切であると判断すれば（９０２）、複合優先評価器９１０は待ち状態に入り（９０３）、その後にまた企業評価を行う（９０１）。
【００８３】
もし複合優先評価器９１０が現在選択されたユーザ選択可能な複合優先値関数は適切ではないと判断すれば（９０２）、複合優先評価器９１０は現在の企業評価に基づいて、ユーザが選択可能な別の複合優先値関数を選択する（９０４）。そして複合優先評価器９１０は待ち状態に入り（９０３）また企業評価を行う（９０１）。
【００８４】
待ち状態（９０３）は、多くの手段および多くの理由によって終了させることができる。例えば、待ち状態は所定の時間間隔とすることができる。また、複合優先値関数または他のイベントの利用と偶発的にまたは同期的にトリガさせることができる。前述のように、多くの種類の属性の集まりは、一実施例に従い、仕事種類を決めることができる。仕事種類は、多くの考慮する点、例えば、必要とされるタスク、製品、通信媒体、地理、行政境界、人口統計、言語、スキル、サービス種類、顧客プロファイル、セールスプロセスにおけるステージ、規制クラスのような組み合わせによって決めることができる。
【００８５】
図１０は、一実施例に従い、複合優先値と組み合わせて仕事処理設備にて行われる仕事種類のサーバ優先およびしきい値を示す表１０００である。１０００は一般的に図３に示す３００と似ているが、仕事種類列３０２における仕事種類は２以上の属性を有している。例えば、行１００１は複数の仕事種類「西部地域における見込み客からの呼」を含む。表３００における対応する行３０６は１つの属性の仕事種類「見込み客からの呼」を含む。仕事種類に複数の属性を割り当てると、システム全体の複雑さおよび仕事種類エントリの総数を増やすこととなりうる。表１０００は１００に対する属性のみをリストしているが、他のサーバにも同様な情報を入れることができる。
【００８６】
表１０００を用いて以下の例を考えてみる移動体電話会社への問い合わせが地理的に分類し異なる処理制約を満足し、また、サーバ優先の判断のための仕事種類としてその問い合わせを分類しようとする。仕事処理設備に入る仕事アイテムは第１属性（例えば、「見込み客の呼」、「苦情呼」）のみで分類するのではなく、第２属性（例えば、地理的情報）に従っても分類することができる。また、仕事アイテムを多くのマーケット区分に従って分類し、マーケット区分戦略を促進するように分類することができる。年齢、収入、教育、職業、住居の大きさのような統計学的なファクタを用いて多くの製品ラインのターゲットマーケットに対して顧客を特定するのに用いることができる。通常、仕事と顧客属性の組み合わせによって非常に複雑な仕事種類の組み合わせを発生させる。本発明は、サーバ人口を小さな統計学プールへと不適当に断片化するような非効率的な方法を用いずにそのような複雑さをサポートすることができる。
【００８７】
表１０００は、頻繁には実行されないが高い優先度を有する仕事種類に対する必要性をも示している。例えば、仕事処理設備は、行１００５に示した「公共利益命令呼」仕事種類のような多くの規制的制約の下で動作することがある。この「公共利益命令呼」仕事種類は、企業にとっては非常に僅かの利益しかない呼であるが、公的に命令された最大／最小レベルにてサービスを受けられるようにしなければならない呼である。従って、表１０００は、行１００５にて高い複合優先値を示してあり、「公共利益命令呼」は公共的に命令されたサービスレベルに到達するまで近くないし少し下になっている。サーバ割り当て手段１０２は「公共利益命令呼」の必要とされたサービスレベルを再び獲得すれば、複合優先値は高い値から落ちる。規制的制約に加えて、表１０００は企業では他の余り重要でないような高い値を有する目標をも含むことがある。例えば、多くの電話通信サービス労働者組合との合意によって要求されるサービスレベルの達成等である。
【００８８】
前述のように、サーバ対処手順は中央化されていても分散化されていてもよい。図１１は、分散型サーバ割り当てシステム１１０１を示している。この１１０１は、コンピュータシステム１００ａ乃至１００ｆからなる。コンピュータシステム１００ａ乃至１００ｆは、サーバ割り当て手段１０２ａ乃至１０２ｆを有し、他は図１に示すコンピュータシステム１００に類似している。
【００８９】
サーバ割り当て手段１０２ａ乃至１０２ｆは、サーバ割り当て手段１０２に対して説明した方法で動作することができる。サーバ割り当て手段１０２ａ乃至１０２ｆは、１つの仕事処理設備内で位置していてもよく、お互い仕事アイテム（ないし個々の仕事アイテム）を共有する複数の仕事処理設備に持って分散していてもよい。
【００９０】
サーバ割り当て手段１０２ａ乃至１０２ｆの１つがサーバ割り当てタスクを達成することができなければ、サーバ割り当て手段はネットワーク１１００を用いて他のサーバ割り当て手段と通信する。サーバ割り当て手段１０２ａ乃至１０２ｆはネットワーク１１００を用いてお互いと状態情報を通信させることもできる。
【００９１】
幾つかのサーバ割り当て手段１０２ａ乃至１０２ｆは、動的優先値判断を行い、また、他のサーバ割り当て手段１０２ａ乃至１０２ｆは複合優先値関数を判断するようにできる。この実施例において、サーバ割り当て手段の間では通信が無くてもよく、動的優先値判断を行う特殊なサーバ割り当て手段との通信の他では、お互い独立に動作する。
【００９２】
本発明には多くの実施例がある。例えば、サーバ割り当て手段が用いる優先値は、全ての資源を割り当てるのに用いることができる。また、隣接した整数ではない優先値を割り当てることができる。また、隣接した整数ではない優先レベルを仕事処理設備によって割り当てることができ、これは数値ではないサービスレベルとすることもできる。例えば、特定の仕事種類に対するよいまたは悪いサービスを満たすことの基準において、トランザクション属性にブール（Boolean）関数を用いたり、英数字の識別子（例えば、Ａ１＞Ｃ３）の形態を用いたりして、正数ないし十進数の利用を避けることもできる。更に、何れの仕事処理設備においてもサーバの優先値のしきい値、動的優先値に対して、値を決めるのに周知な実験的な手順を用いることもできる。
【００９３】
本明細書において、サーバがサーバプールに属するものとして説明したが、サーバは特定のサーバプールのメンバとして特定できる必要がないことは認識できるであろう。即ち、サーバは単にある仕事種類ないし他の種類の仕事を受け、サーバプールが例え物理的には存在しなくても仕事種類に対するサーバプールに属するものと考えることができる。
【００９４】
本発明は、仕事種類とサービスクラスの両方に関連して仕事アイテムを説明できるようなシステムにもすることができる。サービスクラスは、仕事アイテムの特定の特徴を表すことができ、また、仕事種類はサーバの観点から仕事アイテムを表すことができる。従って、実施例によっては、サービスクラスは、動的優先値に影響を与え究極的には複合優先値に影響を与える。
【００９５】
上の実施例において、コールセンタにおける呼と関連して説明したが、本発明はコールセンタにおいてサーバによってサーバによって処理される呼に制約されず、人間的および／または人間でないものであってもよい。本発明は、何れの形態仕事種類、何れの形態のサービスクラスのサービスにも適用することができる。例えば、本発明は、電子メールメッセージやビデオストリーミングの処理にも適用することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に従ってサーバ割り当て手段１０２が実行する汎用コンピュータシステム１００の高レベルブロック図。
【図２】仕事処理設備にて行われる仕事種類を表す多くの仕事種類に対する多くのサーバの優先を表すサーバ優先テーブル２００の図。
【図３】仕事種類に対する複合優先値に関連して仕事処理設備にて行われる仕事種類のサーバ優先やしきい値を表す表３００の図。
【図４】サーバ割り当て手段１０２を用いる複合優先値の生成を示す流れ図。
【図５】サーバ対処手順を示す流れ図。
【図６】サーバ割り当て手段１０２によるサーバプール６０３乃至６０５に対するサーバの割り当ての時間にわたった変化を示す図。
【図７】動的優先値列７０１を含む表７００の図。
【図８】仕事処理設備にて行われる仕事種類を表す多くの仕事種類２０２に対する多くのサーバの優先を表すサーバ優先表８００の図。
【図９】Ａ  しきい値判断手段９１１や複合優先評価器９１０を含む汎用コンピュータシステム１００の高レベルブロック図。
Ｂ  複合評価器９１０が行う動作の一部を示す流れ図。
【図１０】複合優先値と関連して別の処理設備で行われる仕事種類に対するサーバ優先およびしきい値を示す表１０００。
【図１１】分散型サーバ割り当てシステムの１１０１の図。
【符号の説明】
４００  複合優先値の生成
４０１  選択した仕事アイテムに対するサーバの優先値を配置
４０２  選択した仕事アイテムに対する動的優先値を配置
４０３  複合優先値関数を配置
４０４  複合優先値を計算するために複合優先値関数を適用
５００  サーバ対処
５０１  検査間隔をセット
５０３  終了条件か？
５０５  検査間隔か？
５０７  待つ
５０９  全ての仕事種類を検査したか？
５１１  次の仕事種類を選択
５１３  全てのサーバを検査したか？
５１５  次のサーバを選択
５１７  選択されたサーバの優先値＜サーバのしきい値？
５１９  複合優先更新
５２１  複合優先値≧サーバのしきい値？
５２３  この仕事種類に対してサーバを可用にする
【図１】
0003844932.tif 000002
【図２】
0003844932.tif 000003
【図３】
0003844932.tif 000004
【図４】
0003844932.tif 000005
【図５】
0003844932.tif 000006
【図６】
0003844932.tif 000007
【図７】
0003844932.tif 000008
【図８】
0003844932.tif 000009
【図９】
0003844932.tif 000010
【図１０】
0003844932.tif 000011
【図１１】
0003844932.tif 000012