(57)【要約】【課題】営業時間でも実時間でも完了すべき作業アイテムを含むシステムにおけるリソース割付けのための方法および装置を提供すること。【解決手段】作業アイテムがデルタ待ち行列に配置され、このデルタ待ち行列は、それと共にこのデルタ待ち行列に関連するリソースについての営業時間および非営業時間を示す、関連するカレンダを有する。このデルタ待ち行列に関連するカレンダが非営業時間に入るとき、スケジューラは、非営業時間の長さに対応するアイテムをこのデルタ待ち行列の先頭にプッシュする。したがって、このデルタ待ち行列中の作業アイテムは、非営業時間に対応する適切な時間の長さだけ遅延する。【選択図】図２
2005108227.tif 000002
【特許請求の範囲】
【請求項１】
各作業アイテムが関連するサービス時間を有する作業アイテムの少なくとも１つの待ち行列、および前記作業アイテムをサービスする少なくとも１つのリソースを含むリソース割付けシステムを提供する工程と、
前記待ち行列の少なくとも１つの位置に非営業時間周期に対応する時間遅延を配置する工程と、
所定のアルゴリズムに従って前記待ち行列に関連するリソースを割り付ける工程と
を含むリソースを割り付ける方法。
【請求項２】
前記配置する工程が、
営業時間および非営業時間に対応するエントリを含む、前記待ち行列に関連するカレンダにアクセスする工程と、
いつ非営業時間周期が開始されるかを決定する工程と、
前記非営業時間が開始されるとき前記待ち行列中の第１の位置に前記非営業時間周期の持続時間を配置する工程と
を含む、請求項１に記載の方法。
【請求項３】
前記第１の位置が前記待ち行列の末尾である、請求項２に記載の方法。
【請求項４】
前記リソース割付けシステムが、作業アイテムの複数の待ち行列を含み、前記複数の待ち行列のそれぞれが、営業時間周期および非営業時間周期を示す関連するカレンダを有し、前記第１の位置が、前記待ち行列の先頭であり、前記所定のアルゴリズムが、前記待ち行列に関連する前記カレンダとは独立に前記複数の待ち行列のそれぞれについてのリソース割付けを実施する、請求項１に記載の方法。
【請求項５】
ユーザ・インターフェースにおいて、前記複数の待ち行列のうちの第１の待ち行列に関連するリソース状況を表示する工程をさらに含み、前記リソース状況が、前記リソース割付けシステム中に含まれる実時間クロックに関連して表示される、請求項６に記載の方法。
【請求項６】
前記表示する工程が、
前記第１の待ち行列中の作業アイテムについての前記サービス時間を決定する工程と、
前記第１の待ち行列に関連する前記カレンダを選択する工程と、
前記カレンダに指標付けして実時間指標を有するテーブルに入れる工程と、
前記テーブルに従って前記時間コミットメントを時間間隔へと計算する工程と
を含む、請求項５に記載の方法。
【請求項７】
前記指標付けする工程が、
最小時間間隔を選択する工程と、
前記カレンダ開始時刻を決定する工程と、
前記カレンダ開始時刻から実時間を減算する工程と、
前記カレンダ時間の前記最小時間間隔による法を取る工程と
を含む、請求項６に記載の方法。
【請求項８】
前記計算する工程が、
前記法を取る工程の前記法演算の残余を決定する工程を含む、請求項７に記載の方法。
【請求項９】
作業アイテムを受け取り、前記作業アイテムについてのサービス時間を決定し、前記作業アイテムを複数の待ち行列のうちの１つに配置し、所定のリソース割付けアルゴリズムに従って前記各待ち行列についてリソースを割り付けるように動作可能なスケジューラと、
前記複数の待ち行列中のアイテムの持続時間を時間決めするように動作可能なタイマと、
各待ち行列が関連するカレンダを有し、各カレンダが営業時間および非営業時間に対応するエントリを有し、前記スケジューラが、前記各カレンダを監視し、第１のカレンダについての非営業時間の開始に応じて前記非営業時間の長さに対応する時間遅延を前記第１のカレンダに関連する前記待ち行列に配置するように動作可能である、前記複数の待ち行列に対応する複数のカレンダと
を備える、リソース割付けシステム。
【請求項１０】
前記複数の待ち行列の現在の状況に関係する情報を表示するように動作可能なユーザ・インターフェースと、
前記ユーザ・インターフェース上で表示するための実時間を営業時間に変換するように動作可能な変換システムと
をさらに備え、前記変換システムが、
前記複数の待ち行列中の作業アイテムについての前記サービス時間を決定し、
前記複数の待ち行列のそれぞれに関連する前記カレンダを選択し、
前記カレンダに指標付けして実時間指標を有するテーブルに入れ、
前記テーブルに従って前記サービス時間を時間間隔へと計算するように動作可能である、請求項９に記載のリソース割付けシステム。
【請求項１１】
前記変換システムが、以下の工程、すなわち、
最小時間間隔を選択する工程と、
前記カレンダ開始時刻を決定する工程と、
前記カレンダ開始時刻から実時間を減算する工程と、
前記カレンダ時間の前記最小時間間隔による法を取る工程と
に従って前記指標を作成し、前記サービス時間が、前記法を取る工程の前記法演算の残余に基づいて計算される、請求項１０に記載のリソース割付けシステム。
【請求項１２】
前記スケジューラが、
営業時間および非営業時間に対応する情報を含む営業時間カレンダにアクセスし、
いつ非営業時間周期が開始されるかを決定し、
前記非営業時間が開始されるとき前記非営業時間周期の持続時間を前記待ち行列に配置する
ように動作可能である、請求項９に記載のリソース割付けシステム。
【請求項１３】
前記スケジューラが、
前記各待ち行列が営業時間周期および非営業時間周期を含む関連するカレンダを有する前記複数の待ち行列のうちのどれに前記作業アイテムを配置すべきかを決定し、
前記決定に基づいて前記複数の待ち行列のうちの１つの末尾に前記作業アイテムを配置する
ように動作可能である、請求項９に記載のリソース割付けシステム。
【請求項１４】
前記所定のアルゴリズムが、前記待ち行列に関連する前記カレンダとは独立に前記複数の待ち行列のそれぞれのリソース割付けを実施する、請求項９に記載のリソース割付けシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース割付けシステムにおける作業アイテムのスケジューリングを対象とする。詳細には、本発明は、営業時間ドメインおよび実時間ドメインにおける作業アイテムのサービスについてのサービス時間のコミットメントをスケジュールすることを対象とする。
【背景技術】
【０００２】
今日では、リソース割付けシステム、リソース選択アルゴリズム、およびリソース割付けアルゴリズムを一般に使用して、作業のタイミング、および作業を完了するために必要とされる時間、すなわちサービス時間に関係する計算を実施している。これらの計算は、例えば、顧客サービス・センターにおいて電話を受けるときに実施される。このような電話を受けるとき、通話は一般に、サービスとも呼ばれる、電話に答える責任があるリソースのプールに割り当てられる。さらに、このような電話には一般に、例えば３分間など代理人が電話に応答する時間としての（サービス時間、またはコミットメント時間と呼ばれる）目標サービス時間がある。このサービス時間は、このリソースに関連する意志決定者によって決定され、このリソース割付けシステムに入力される。サービス時間は、例えば、顧客が代理人と話をするのに長時間待たなくてもいいようにするのを助ける点で有用であり、長時間待たされると顧客満足が低下することもある。
【０００３】
リソース割付けシステムは、作業待ち行列およびその中のアイテムの将来状況を予測して将来起こり得る可能性のあるリソース不足またはリソースの過剰を識別するように動作するいくつかの機能を含むこともできる。例えば、電話センターでいつもと違って多数の、それぞれ３分間のサービス時間の電話を受ける場合、予測機能を使用したリソース割付けシステムでは、使用可能な代理人が十分にいなくて電話サービスを行うのにサービス時間が将来的に期限切れしてしまう可能性がある問題について管理職またはソフトウェア・システムに警告することができる。その場合には、これらの管理職またはソフトウェア・システムは、電話サービスを行う追加リソースを追加するなどこの問題に対処するための適切な処置を講ずることができる。一部のリソース割付けシステムではまた、かかる状況において、通話を他の電話センターに転送し、または着信通話を他の電話センターに迂回させてリソースの不足を防ぐ助けをすることができる。
【０００４】
かかるシステムのブロック図を図１に示す。図１のシステム２０は、いくつかの作業アイテム３２を含む待ち行列２８を有するサービス２４を含んでいる。作業３６が、このシステムに入り、サービス２４に割り当てられ、作業３６に関連する作業アイテム３２は、処理しサービスするために待ち行列２８中に配置される。作業アイテム３２が待ち行列２８中に配置されるとき、この作業アイテムにはまた、作業をサービスすべき時間を示すサービス時間が付与される。例えば、このリソース割付けシステム２０が、ある電話センターに関連し、各作業アイテム３２が、ある通話に関連する場合には、各作業アイテムは、３分間のサービス時間を有することができるが、これは、作業アイテム３２に関連する通話に対して、サービス２４においてこの時間周期内に代理人が応答すべきであることを意味している。
【０００５】
前述のように、かかるリソース割付けシステム２０では一般に、起こり得る問題状況をそれらが起こる以前に監視し予測することができ、それによって、作業アイテム３２がそれらのサービス時間より長い間待ち行列２８中にあるのを回避する助けができる機能を有している。これらの機能は、連続的にまたは定期的に作業待ち行列および作業アイテムを評価するいくつかのアルゴリズムを用いて実装される。長い間に、かかるアルゴリズムは、非常に複雑になってきており、リソース割付けシステム２０が、いくつかの状況に対して人に警告をして必要なリソースの予測を介してリソースの効率的な使用を容易にする数百のかかるアルゴリズムをもつこともある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
リソース・プールを使用して電子メールによる問い合わせなど他の要求に応答することもますます多くなってきている。電子メールを受け取るときには、やはりサービス時間があることもある。例えば、電子メールに対する応答についてのサービス時間が、１営業日のこともある。リソース・プール中の代理人は一般に、月曜日から金曜日までの９時から５時までなどあらかじめ設定された営業時間だけ働くので、リソース割付けシステムは、これらの作業アイテムのタイプおよびこれらの作業アイテムのサービス時間の影響を受けることもあるに違いなく、サービス時間は、その作業アイテムをサービスするためにリソースが使用可能でない時間周期にも及んでいる可能性がある。例えば、ある電話をリソース・プールで受ける場合、その電話をいつ受けたかにかかわらず、その通話を受け付け、所定の時間周期内に応答することが重要である。しかし、電子メールを受信する場合には、リソース・プールのうちの一部または全部がその場を去り、次の営業日に戻りその電子メールに応答し、しかも依然としてサービス時間が期限切れする前にその電子メールにサービスを行うことも可能である。多くの今日のシステムでは、非定型的なやり方でアルゴリズムを実装してある作業アイテムについてのサービス時間が期限切れする前に存在し得る非営業時間を補償することによってこの非営業時間を補償している。かかるアルゴリズムの非定型的な実装は、かかる作業アイテムのサービスを行うために使用されるシステムの開発について非常に労働集約的なものとなる。さらに、非定型的なアルゴリズムの実装では、実装エラーが引き起こされる可能性が高くこのリソース割付けシステム中にバグがもたらされる。したがって、異なるタイプの作業アイテムが有し得る、営業時間または実時間というサービス時間のタイプを補償し、既存のリソース割付けシステムに対してあまり修正を必要としないリソース割付けシステムを有することが有利なはずである。
【０００７】
さらに、一部の今日のリソース割付けシステムでは、あるリソースがサービス中に、営業カレンダを探索し期間を合計することによって営業時間に対応することができる。営業時間は連続していないので、カレンダを検索し、合算することによって時間を計算する。１つのリソース割付けが数百のシナリオ評価を含み得るので、検索数がスループットの制限要因の１つになる。営業時間の別の帰結として、働かない週末についての計算が正しくなるように（働かない週末など）いつが営業中であるかを知るためにアルゴリズムを修正する必要がある。また、非営業時間中に到来する作業を異なるように処理し、それ故、システムの他の部分を修正する必要があり、実時間のリソース管理と営業時間のリソース管理が異なるものとなり、さらにシステムの性能が低下してしまう。したがって、システム性能にあまり影響を与えずに実時間リソース管理とビジネス時間リソース管理を同様なやり方で処理するシステムを有することが有利なはずである。
【課題を解決するための手段】
【０００８】
本発明は、これらの問題点および他の問題点、ならびに従来技術の欠点を解決することを対象としている。本発明によれば、営業時間でも実時間でもサービスすべき作業アイテムを含むシステム中にリソース割付けのための方法および装置が提供される。営業時間中にサービスすべき作業アイテムは、待ち行列中に配置され、この待ち行列は、デルタ待ち行列（ｄｅｌｔａ  ｑｕｅｕｅ）に関連するリソースについての営業時間および非営業時間を示す、関連するカレンダを有する。この待ち行列に関連するカレンダが非営業時間に入ると、スケジューラは、非営業時間の期間の間、この待ち行列に関連するクロックを停止する。したがって、この待ち行列中の作業アイテムは、非営業時間に相当する適切な長さの時間だけ遅延することになる。
【０００９】
本発明の一態様によれば、各作業アイテムが関連する作業時間を有する作業アイテムの少なくとも１つの待ち行列、およびこれら作業アイテムをサービスする少なくとも１つのリソースを含むリソース割付けシステムを提供する工程と、この待ち行列の少なくとも１つの位置に非営業時間周期に対応する時間遅延を配置する工程と、所定のアルゴリズムに従ってこの待ち行列に関連するリソースを割り付ける工程とを含む、リソースを割り付けるための方法が提供される。一実施形態では、待ち行列に関連づけられ、営業時間および非営業時間に対応するエントリを含むカレンダが提供される。この実施形態では、待ち行列に時間遅延を配置する工程は、カレンダにアクセスする工程と、非営業時間周期がいつ始まるかを判定する工程と、非営業時間が開始されるとき、この待ち行列中の第１の位置に非営業時間周期の持続時間を配置する工程を含んでいる。一実施形態では、待ち行列の第１の位置は、待ち行列の先頭である。さらに、一実施形態では、待ち行列は、デルタ待ち行列である。別の実施形態では、リソース割付けシステムは、各待ち行列が営業時間周期および非営業時間周期を示す関連するカレンダを有する、作業アイテムの複数の待ち行列を含んでいる。所定のリソース割付けアルゴリズムは、これらの待ち行列に関連するカレンダとは独立に前記複数の待ち行列のそれぞれについてリソース割付けを実施する。
【００１０】
複数の待ち行列のうちの第１の待ち行列に関連するリソース状況は、ユーザ・インターフェースに表示することができ、このリソース状況は、このリソース割付けシステム中に含まれる実時間クロックに関連して表示することができる。表示すべきリソース状況は、第１の待ち行列中の作業アイテムについてサービス時間を決定し、この第１の待ち行列に関連するカレンダを選択し、カレンダに指標付けして実時間の指標を有するテーブルに入れ、このテーブルに従ってサービス時間を時間間隔へと計算することによって取得される。カレンダの指標付けして実時間指標を有するテーブルに入れる工程は、一実施形態では、最小時間間隔を選択する工程と、カレンダの開始時刻を決定する工程と、カレンダの開始時刻からこの実時間を減算する工程と、このカレンダ時間の最小時間間隔による法（ｍｏｄｕｌｕｓ）を取る工程とを含んでいる。次いでサービス時間の期限切れに先立つ時間を法演算の残余として決定している。
【００１１】
本発明の別の態様によれば、リソース割付けシステムが提供される。このリソース割付けシステムは、作業アイテムを受け取り、その作業アイテムについてのサービス時間を決定し、複数の待ち行列のうちの１つの待ち行列に作業アイテムを配置し、所定のリソース割付けアルゴリズムに従って各待ち行列についてリソースを割り付けるように動作可能なスケジューラを含んでいる。このリソース割付けシステムはまた、複数の待ち行列中のアイテムの持続時間を決めるように動作可能なタイマと、複数の待ち行列に対応する複数のカレンダとを含んでいる。このリソース割付けシステム中の各待ち行列は、関連するカレンダを有し、各カレンダは、営業時間および非営業時間に対応するエントリを有する。このスケジューラは、各カレンダを監視し、第１のカレンダについての非営業時間の開始後に、第１のカレンダに関連する待ち行列中に非営業時間の長さに対応する時間遅延を配置するように動作可能である。一実施形態では、この待ち行列は、デルタ待ち行列であり、その非営業時間の長さが、このデルタ待ち行列の先頭に配置される。
【００１２】
一実施形態では、このリソース割付けシステムは、複数の待ち行列の現在の状況に関する情報を表示するように動作可能なユーザ・インターフェースを有する。変換システムは、ユーザ・インターフェース上に表示するために実時間を営業時間に変換するように動作可能である。この変換システムは、複数の待ち行列中の作業アイテムについてのサービス時間を決定し、複数の待ち行列のそれぞれに関連するカレンダを選択し、カレンダに指標付けして実時間指標を有するテーブルに入れ、前記テーブルに従ってサービス時間を時間間隔へと計算するように動作可能である。この指標は、最小時間間隔を選択し、カレンダの開始時刻を決定し、このカレンダの開始時刻から実時間を減算し、このカレンダ時間の最小時間間隔による法を取ることによって生成される。次いで、法演算の残余に従ってサービス時間を計算することができる。
【００１３】
一実施形態では、スケジューラは、各待ち行列が営業時間周期および非営業時間周期を含む関連するカレンダを有する複数の待ち行列のうちのどれに作業アイテムを配置すべきかを決定し、この決定に基づいて前記複数の待ち行列のうちの１つの待ち行列の末尾にその作業アイテムを配置するように動作可能である。所定のアルゴリズムが、その待ち行列に関連するカレンダとは独立に複数の待ち行列のそれぞれについてスケジューラ内でリソース割付けを実施する。
【００１４】
本発明のさらに他の態様によれば、リソース割付けシステムで作業アイテムを受け取る工程と、この作用アイテムについてのサービス時間を決定する工程と、この作業アイテムを待ち行列中に配置する工程と、非営業時間周期に対応する時間遅延を待ち行列中に配置する工程と、所定のアルゴリズムに従ってこの待ち行列に関連するリソースを割り付ける工程とを含む方法を実施するための計算構成要素が提供される。一実施形態では、時間遅延をこの待ち行列に配置する工程は、営業時間および非営業時間に対応する情報を含む営業時間カレンダにアクセスする工程と、非営業時間周期がいつ開始されるかを決定する工程と、前記非営業時間が開始されるとき非営業時間周期の持続時間をこの待ち行列に配置する工程とを含んでいる。一実施形態では、作業アイテムを待ち行列中に配置する工程は、各待ち行列が営業時間周期および非営業時間周期に関係する情報を含む関連するカレンダを有する複数の待ち行列のどれにその作業アイテムを配置すべきかを決定する工程と、その決定に基づいて複数の待ち行列のうちの１つに作業アイテムを配置する工程とを含んでいる。所定のアルゴリズムは、これらの待ち行列に関連するカレンダとは独立に複数の待ち行列のそれぞれのリソース割付けを実施することができる。
【００１５】
これらおよび他の利点については、本明細書中に含まれる本発明の開示から明らかであろう。
前述の実施形態および構成は、完全でもなく、また網羅的でもない。理解されるように、単独で、または組み合わせて、前述のまたは以下で詳細に説明する１つまたは複数の特徴を利用した本発明の他の実施形態が可能となる。
【発明を実施するための最良の形態】
【００１６】
次に図２を参照すると、本発明の一実施形態のリソース割付けシステム１００のブロック図が示されている。このリソース割付けシステム１００は、２つのサービス、すなわちサービスＡ１０４およびサービスＢ１０８を含んでいる。サービスＡ１０４は、関連する待ち行列１１２を有し、サービスＢ１０８は、関連する待ち行列１１６を有する。作業１２０は、システム１００を入力し、適切なサービスに経路指定される。例えば、サービスＡ１０４は、電子メールを受信することができ、サービスＢ１０８は、電話の通話を受け付けることができる。サービスＡ１０４についての待ち行列１１２は、いくつかの作業アイテム１２４を含み、同様に、サービスＢ１０８についての待ち行列１１６は、いくつかの作業アイテム１２８を含んでいる。作業アイテム１２４は、この実施形態では電子メールに関連し、システム１００は、電子メールのサービスについてのサービス時間を計算する。このサービス時間は、例えば、１営業日でもよい。サービスＡ１０４におけるこれらのリソースについての１営業日は、８営業時間とすることができ、８営業時間以下の待ち行列１１２中の作業アイテムについてのサービス時間をもたらす。作業アイテム１２８は、この実施形態では電話の通話に関連し、システム１００は、通話のサービスについてのサービス時間を計算する。このサービス時間は、例えば、３分間（１８０秒間）でもよい。理解されるように、通話に対してある時間周期内に応答がない場合、電話をかけた人が不満を抱くようになり得るので、通話についてのサービス時間は実時間で行われる必要がある。したがって、サービスＢ１０８に関連する待ち行列１１６中のアイテムはすべて実時間で完了される必要があり、営業時間ではよくない。
【００１７】
一実施形態では、待ち行列１１２における各作業アイテムについての残り時間の計算は、営業クロック上の残り時間の長さに従って実施される。したがって、電子メールを金曜日の午後４：００に待ち行列１１２に受信し、企業が月曜日から金曜日まで、午前９：００から午後５：００まで営業中の場合、この電子メールに関連する作業アイテム１２４についてのサービス時間は、月曜日の午後４：００になるはずである。したがって、サービス時間の期限切れ以前に経過することになる実時間の長さは、７２時間となるはずである。
【００１８】
システムが、リソース割付けに使用することができるリソース割付けアルゴリズムを使用するために、本発明の一実施形態では、カレンダが使用され、このカレンダを使用して作業アイテムについての実時間の長さと営業時間の長さを決定する。図３を参照すると、次に、カレンダ１５０のブロック図が示されている。カレンダ１５０は、周期情報１５４を含み、この情報は、カレンダ１５０に合計時間周期を示した開始−終了情報１５８を有している。開始−終了情報は、例えば、ある会社の会計年度についての開始日および終了日でもよい。この開始−終了情報１５８は、数年間のさらに長い時間周期や１週間もしくは１ヶ月などさらに短い時間周期など所望の任意の時間周期に及ぶこともできる。カレンダ１５０はまた、関連する時間範囲情報１６６を有する時間周期情報１６２も含んでいる。この時間周期情報１６２は、企業が営業しているかそれとも休業しているかを示す情報を含み、時間範囲情報１６６は、各時間周期情報１６２についての時間範囲を示す情報を含んでいる。図３に示すように、カレンダ１５０は、３つの時間周期情報１６２のエントリを含んでいる。任意数の時間周期情報１６２のエントリが存在し得ることが理解されよう。さらに、カレンダ１５０は、企業が営業しているかそれとも休業しているかを示す特例のみが含まれるデフォルト営業時間を有することもある。例えば、デフォルト・カレンダでは、企業が月曜日から金曜日まで午前９：００から午後５：００まで営業しているという内容をもつことができる。次いで、追加の時間周期情報１６２を入力して、例えば、企業はその休日には営業していない、またはその休日には時間が削減されているという休日を示すことができる。カレンダ情報のエントリには、異なったデフォルト・カレンダ、繰返し情報のエントリ、および時間変更を含めて、いくつかの異なる代替形態が存在し、このことは、当業者には簡単に明らかとなろう。このカレンダ情報１５０は、情報記憶の知られている任意の方法を使用してこのシステム中に記憶される。
【００１９】
当技術分野において知られているように、作業アイテムをスケジュールするための一方法は、デルタ待ち行列の使用によるものである。リソース割付けシステムにおいて作業アイテムを受け取るときに、サービス時間をこの作業アイテムに関連づける。タイマ、またはクロックをこの作業アイテムに関連づけ、このタイマが時間切れになると、サービス時間が経過してしまったことになる。このタイマが時間切れになるとき、これをタイムアウトと呼んでいるが、リソース割付けシステムは、ある種の工程を行ってこの状況を調整しようと試みる。デルタ待ち行列は、待ち行列中の作業アイテムがタイムアウトすることになる時間を記憶するために使用される一方法である。これらの作業アイテムは、時刻順に記憶され、この待ち行列の前面に最も近い作業アイテムが最も早いタイムアウトを有する。各作業アイテムがタイムアウトする絶対時間を記憶する代わりに、時間を、一連の「デルタ」（すなわち、時間差）として記憶する。デルタ待ち行列の第１のエントリは、対応する作業アイテムが、現在の時刻に対して相対的なタイムアウトする時刻を記録し、このデルタ待ち行列中の後続の各エントリは、この待ち行列上の以前の作業アイテムのタイムアウトに対して相対的な対応する作業アイテムのタイムアウトを記録する。絶対時間ではなく時間差を使用してデルタ待ち行列の内容を表す１つの理由は、時間が経過するときデルタ待ち行列上の作業アイテムの更新がより効率的なものとなるからである。別の作業アイテムに対して相対的な、ある作業アイテムのタイムアウトは、時間が経過するときに変化しない。デルタ待ち行列上の最初の作業アイテムについてのデルタだけが、現在の時刻に対して相対的であり、他のデルタはすべて、この待ち行列中の以前のエントリについてのデルタに対して相対的になっている。したがって、時間が経過するとき、このデルタ待ち行列に対して行う必要がある変更は、ただ待ち行列中の最初の作業アイテムについてのデルタを減少させることにすぎない。このデルタが、ゼロに到達すると、この第１のアイテムについてのタイムアウトがタイムアウトしてしまっており、これは、このシステムをクリティカル状態に置くなど、このリソース割付けシステム内の所定の事象をトリガする。作業アイテムが完了するとき、これらはこのデルタ待ち行列から取り除かれる。この待ち行列中の次のエントリが、この待ち行列の新しい先頭になり、そのデルタは、このデルタ待ち行列から取り除かれた作業アイテムに対して以前は相対的であったので、自動的に現在の時刻に対して相対的なものとなる。
【００２０】
次に図４を参照すると、作業アイテムをスケジュールすることを示すブロック図が示されている。この実施形態では、デルタ待ち行列２００は、作業アイテム１、作業アイテム２、および作業アイテム３を含めて作業アイテム２０４を受け取る。この例では、作業アイテム１は、デルタ待ち行列２００の先頭にあり、３秒間のタイムアウトを有する。作業アイテム２は、７というデルタを有し、作業アイテム２にはタイムアウト以前に合計１０秒が付与されている。同様に、作業アイテム３は、６というデルタを有し、作業アイテム３にはタイムアウト以前に合計１６秒が付与されている。この時点で、デルタ待ち行列２００に関連するリソースが、非営業時間を入力する。この例では、非営業時間は、１００秒である。デルタ待ち行列の先頭に適切な非営業時間の長さを入力することによってこのタイマを停止させ、新しいデルタ待ち行列２０８をもたらし、これによって、この新しいデルタ待ち行列２０８の先頭に非営業時間２１２が入力される。したがって、この例では、新しいデルタ待ち行列２０８の先頭に非営業時間２１２をエントリするのに続いて、各作業アイテム２０４のタイムアウトは、非営業時間２１２の長さ分だけプッシュバックされる。したがって、作業アイテム１は、３というデルタを有し、作業アイテム１にはタイムアウト以前に合計１０３秒が付与される。作業アイテム２は、７というデルタを持ち続け、タイムアウト以前には１１０秒がもたらされる。作業アイテム３は、６というデルタを持ち続け、タイムアウト以前には１１６秒がもたらされる。したがって、デルタ待ち行列２００の先頭に非営業時間２１２を追加することにより、デルタ待ち行列２００上のすべての作業アイテム２０４について非営業時間の持続時間の間、タイマを効果的に停止させる。このようにして、このリソース割付けシステムに関連するリソース管理のための既存のアルゴリズムは、不変のままである。
【００２１】
この非営業時間は、スケジューラによってデルタ待ち行列に入力され、このスケジューラは、カレンダを参照していつ非営業時間をこのデルタ待ち行列に入力すべきかを決定する。次に図５を参照すると、本発明の一実施形態としてのスケジューラ３００を示すブロック図が示されている。このスケジューラ３００は、実時間でも営業時間でもタイムアウトを管理するように動作可能である。このスケジューラは、システム・クロックに関連づけられる現在の時刻３０４を含んでいる。このスケジューラはまた、実時間デルタ待ち行列３０８、および第１のカレンダ・デルタ待ち行列３１２を含んでいる。このスケジューラは、追加のデルタ待ち行列を含むことができ、各カレンダは関連するデルタ待ち行列を有している。このスケジューラは、次のタイムアウト３１６を有し、この次のタイムアウトは、次のタイムアウトに保たれるポインタであり、すべての待ち行列上の最初のアイテムである。
【００２２】
次に図６を参照すると、実時間から営業時間への変換を示すテーブルが示されている。一実施形態では、スケジューラがは、カレンダを実時間へと指標付けするテーブル３４０を作成する。テーブル３４０は、実時間エントリ３５０および適切なカレンダについての営業時間エントリ３５４を含んでいる。図６に示す例では、営業時間エントリ３５４のためのカレンダは、第１の非営業時間周期３５８および第２の非営業時間周期３６２を含んでいる。この第１および第２の非営業時間周期３５８、３６２は、それぞれ、持続時間が３つの実時間ユニットである。これらのユニットは、例えば１分間、１０分間、３０分間など、どのような時間長であってもよい。図６に示すテーブルは、説明目的の図にすぎず、かかるテーブルを使用してどのようなカレンダでも実時間で指標付けできることが理解されよう。ある種のカレンダ事象が起こる実時間を決定するために、営業時間エントリ３５４の適切な位置を見出し、対応する実時間エントリ３５０を取得する。例えば、テーブル３４０中のユニットが、３０分の時間間隔に対応し、作業アイテムを５営業時間内に完了すべき場合には、営業時間エントリ３５４内の対応するエントリは、１０となるはずである。実時間エントリ３５０内の対応するエントリは、１４となり、これは、第１および第２の非営業時間周期３５８および３６２を反映している。この作業アイテムが、カレンダに関連する適切なデルタ待ち行列上に入力され、このリソース割付けシステム中のすべてのアルゴリズムが、追加の修正を必要とせずにデルタ待ち行列上で動作し続ける。
【００２３】
図６に示すテーブル３４０は、実時間と営業時間の間で指標付けし、マッピングする多数の方法のうちの１つである。理解されるように、特に時間間隔が比較的短く、カレンダが、拡張された時間周期をカバーする場合、リソース割付けシステム中で各カレンダについてかかるテーブルを作成するには、比較的大量のシステム・リソースが必要になることもある。一実施形態では、システム・リソースをより効率的に使用するために、このリソース割付けシステムは、あるアルゴリズムを使用して実時間から営業時間へ、また営業時間から実時間へと変換する。この実施形態のためのアルゴリズムを実施する動作工程を図７のフローチャートに示す。ブロック４００で実時間から営業時間への計算が開始される。ブロック４０４で、スケジューラは、この計算で使用すべき、営業時間用のカレンダを選択する。前述のように、この営業時間カレンダは、リソース割付けシステム内に記憶される多数のカレンダのうちの１つでもよい。次に、ブロック４０８で、営業時間から実時間テーブルへの指標を作成する。一実施形態では、カレンダの細分性（ｇｒａｎｕｌａｒｉｔｙ）を示す最小時間間隔を選択する。例えば、１分の時間間隔を選択することができ、これによって１分間の細分性をもつスケジュールされたオフタイム時間間隔をもち得る営業時間カレンダがもたらされる。カレンダ時間は、カレンダの開始時刻を決定し、実時間から差し引くことによって計算される。次いで、指標が、カレンダ時間の最小間隔による法を取ることによって決定される。この指標を決定した後に、ブロック４１２に従って時間間隔を計算することができる。営業時間の残余を決定することによってこの時間間隔を計算することができ、この営業時間の残余は、このカレンダ時間から営業時間実時間テーブル中の適切な指標における営業時間を差し引いたものである。次いで、営業時間を営業時間指標と営業時間の残余の和として計算することができる。前述のように、営業時間から実時間への変換は、ユーザ・インターフェースのために必要である。リソース管理アルゴリズムは、このデルタ待ち行列を使用して動作し、このスケジューラは、特定のカレンダについてのデルタ待ち行列の先頭に適切なオフタイムを挿入することによって非営業時間を反映している。営業時間から実時間への変換が望ましい場合には、営業時間実時間テーブルのバイナリ・サーチ（ｂｉｎａｒｙ  ｓｅａｒｃｈ）を実施して特定の営業時間に関連する実時間を決定することができる。実時間が非営業時間に対応するケースでは、非営業時間周期の開始または終了を示すある範囲を与えることができ、あるいは非営業時間の開始または終了を表示するために選択することができる。
【００２４】
本発明の前述の解説を例示と説明の目的で提示してきた。さらに、この説明は、本発明を本明細書中に開示された形態に限定することを意図していない。したがって、関連技術の技術および知識の範囲内の、前述の教示に対応する変形形態および変更形態は、本発明の範囲内に含まれる。本明細書中に以上で説明した実施形態はさらに、本発明を実施する上で現在知られている最良の方法について説明し、当業者が、かかる実施形態、または特定の用途または本発明の使用に必要とされる様々な変更を伴う他の実施形態において本発明を利用できるようにすることを意図したものである。添付の特許請求の範囲は、従来技術が許す範囲までの代替実施形態を含むと解釈すべきものとする。
【図面の簡単な説明】
【００２５】
【図１】リソース割付けシステムを示すブロック図である。
【図２】本発明の一実施形態による、複数のサービスおよび各サービスに関連する待ち行列を含むリソース割付けシステムを示すブロック図である。
【図３】本発明の一実施形態による営業時間カレンダを示すブロック図である。
【図４】本発明の一実施形態についてのデルタ待ち行列の先頭における非営業時間エントリの挿入を示すデルタ待ち行列のブロック図である。
【図５】本発明の一実施形態についてのスケジューラを示すブロック図である。
【図６】本発明の一実施形態についての実時間とカレンダ時間の間の指標を示すテーブルである。
【図７】カレンダについての実時間から営業時間を計算するための演算工程を示すフローチャートである。
【図１】
2005108227.tif 000003
【図２】
2005108227.tif 000004
【図３】
2005108227.tif 000005
【図４】
2005108227.tif 000006
【図５】
2005108227.tif 000007
【図６】
2005108227.tif 000008
【図７】
2005108227.tif 000009