(57)【特許請求の範囲】
【請求項１】
作業項目メモリ（１３）内に格納された作業項目のための複数の位置の系列、および処理されるべく待機している順番に並べられた複数の作業項目であって、その各々が目標開始時間もしくは目標完了時間を含む少なくとも１つの目標時間を持つような作業項目を有する、ＦＩＦＯバッファメモリ内の作業フローを最適化するためのデータ処理装置であって、
ＦＩＦＯバッファメモリ内のある作業項目をその目標時間を満たすために、同ＦＩＦＯバッファメモリ内の他の作業項目に対して後退し得る、あるいは前進させる必要がある該位置の数を、ある作業項目の既に満了した目標時間の量と、その作業項目が処理されるまでに満了しそうな追加の時間量とから決定するための演算手段であって、作業項目を該ＦＩＦＯバッファメモリ内に入力し、目標時間のタイプを判定し、作業項目ＩＱＲを、判定結果に応じた所定の数式を用いて計算し、およびＩＱＲをその作業項目の位置に格納するよう動作する演算手段と、
目標時間を満たし損ね得る作業項目の尺度を最適化するよう、該ＦＩＦＯバッファメモリ内の作業項目の並べ変えを行うためのプロセッサ手段であって、０以下のＩＱＲが存在するかどうかを判定し、０以下のＩＱＲが存在すると判定された場合に、線形最適化関数を適用することで、負のＩＱＲを最小化し、ＦＩＦＯバッファメモリ内の作業項目を並べ替える各作業項目の新たなＩＱＲを作業項目の新たな位置に格納し、およびいずれのＩＱＲも０よりも大である場合に、ＦＩＦＯバッファメモリ内位置を変更するよう動作するプロセッサ手段と、を備えることを特徴とするデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
該演算手段が、該作業項目の各々について、その作業項目を後退し得るか、それとも前進する必要があるかを決定するよう動作し、および
該並べ替えを行うプロセッサ手段が、（ａ）目標時間を満たさないこととなる作業項目の数、もしくは（ｂ）作業項目が目標時間を超えることとなる時間量のいずれかを最小化するようにＦＩＦＯバッファメモリ内の作業項目を並べ替えるよう動作する、データ処理装置。
【請求項３】
請求項１に記載のデータ処理装置において、
該複数の位置の系列が、ＦＩＦＯバッファメモリの先端のところで終端し、各作業項目が該系列内の位置間での進行速度をさらに有しており、
該ある作業項目の既に満了した目標時間の量が、その作業項目が該ＦＩＦＯバッファメモリ内で既に費やした時間から成り、及び
該作業項目が処理されるまでに満了しそうな追加の時間量が、該進行速度および該作業項目の該先頭からの現在の位置に関係するものであるデータ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、
該演算手段が、
ある作業項目が該ＦＩＦＯバッファメモリに入ったことに応答して、その作業項目を後退し得るあるいは前進させる必要がある位置の数を、（ａ）目標完了時間から該ＦＩＦＯバッファメモリ内でのその作業項目の推定待ち時間および作業項目の平均処理時間の総和を引き、これを進行速度で割って、その値を丸めたもの、あるいは（ｂ）目標開始時間から該ＦＩＦＯバッファメモリ内でのその作業項目の推定待ち時間を引き、これを進行速度で割って、その値を丸めたもののいずれかとして決定し、および
該ＦＩＦＯバッファメモリ内である作業項目の位置が変更されたことに応答して、その作業項目を該ＦＩＦＯバッファメモリ内で後退し得るあるいは前進させ必要がある位置の数を再決定する手段から成り、
該並べ替えを行うプロセッサ手段が、負の数の位置を持つものとして決定された作業項目のある尺度が最適化されるように該ＦＩＦＯバッファメモリ内の該作業項目を並べ替えるよう動作する、データ処理装置。
【請求項５】
請求項１に記載のデータ処理装置において、
該演算手段が、
各々が処理されるべく待機している複数の作業項目の異なる一つに対応し、先頭の所で終端している複数の順番に並べられた位置を有するＦＩＦＯバッファメモリにおいて、該作業項目がこれら位置の間を移動する進行速度を決定する手段と、
目標開始時間あるいは目標完了時間を含む関連する目標時間を持つある作業項目が該ＦＩＦＯバッファメモリに入ったことに応答して、該作業項目がＦＩＦＯバッファメモリ内を後退し得るあるいは前進する必要がある位置の数を、（ａ）目標完了時間から該ＦＩＦＯバッファメモリ内でのその作業項目の推定待ち時間および作業項目の平均処理時間の総和を引き、これを進行速度で割って、この値を丸め、あるいは（ｂ）目標開始時間から該ＦＩＦＯバッファメモリ内での該作業項目の推定待ち時間を引き、これを進行速度で割って、この値を丸めたものとして決定し、およびある作業項目の位置が該ＦＩＦＯバッファメモリ内で変更されることに応答して、該作業項目が後退し得る、あるいは前進する必要がある該位置の数を再度決定する手段とを含み、
該並べ替えを行うプロセッサ手段が
該ＦＩＦＯバッファメモリに対して最適化関数を適用することで、それらの目標時間を満たすために該ＦＩＦＯバッファメモリ内で前進させる必要がある作業項目のある尺度が最適化されるように作業項目の該ＦＩＦＯバッファメモリ内での順番を決定する手段と、
該ＦＩＦＯバッファメモリ内の作業項目を決定された順番に並べ替える手段とを含むデータ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、
該順番が、（ａ）それらの目標時間を満たすために該ＦＩＦＯバッファメモリ内を前進させ必要がある作業項目の数、あるいは（ｂ）作業項目がそれらの目標時間を超える時間の総量のいずれかを最小化するデータ処理装置。
【請求項７】
請求項１に記載のデータ処理装置において、
該装置が複数のタスクの系列から成る作業フローに対して動作するものであり、各タスクはそのタスクを待つ順番に並べられた複数の作業項目について複数の位置の系列を含む対応するＦＩＦＯバッファメモリを有し、
該演算手段が、
該ＦＩＦＯバッファメモリの各々内の各作業項目に対して、対応するタスクについての目標開始時間もしくは目標完了時間を含む少なくとも１つの目標時間を割り当てる手段と、
該ＦＩＦＯバッファメモリの各々の各作業項目について、その作業項目を、対応するタスクについての目標時間を満たすために、ＦＩＦＯバッファメモリ内の他の作業項目に対してＦＩＦＯバッファメモリ内で後退し得るが、もしくは前進させる必要がある位置の数を、対応するタスクについての既に満了した作業項目の目標時間の量および作業項目が対応するタスクを受ける前に満了しそうな追加の時間の量から計算するための手段とから成り、及び
該並べ替えを行うプロセッサ手段が、
該ＦＩＦＯバッファメモリの各々の作業項目を並べ替えて、対応するタスクについてのそれらの目標時間を満たし損ね得る作業項目の尺度を最適化する手段から成るデータ処理装置。
【請求項８】
請求項７に記載のデータ処理装置において、
各作業項目について、その作業項目がいずれかのＦＩＦＯバッファメモリにはいるとき、およびその作業項目がいずれかのＦＩＦＯバッファメモリにおいてその位置が変わるときに、該演算手段による決定処理が行われるようになっており、そして、
各ＦＩＦＯバッファメモリについて、そのＦＩＦＯバッファメモリ内のいずれかの作業項目について決定がなされるときには、いつでも該プロセッサ手段による並べ替えが行われるようになっているデータ処理装置。
【請求項９】
請求項１ないし８のうちのいずれかの請求項に記載のデータ処理装置において、
プロセッサにおいて実行されるときに、当該データ処理装置に含まれる手段の各々の動作を該プロセッサに実行させる命令を含むコンピュータ読出し可能媒体を備えるものであるデータ処理装置。
【請求項１０】
データ処理装置により実行される作業フローを最適化する信号処理の方法であって、
作業項目メモリ（１３）内に格納された作業項目についての複数の位置の系列と、処理されるべく待機している順番に並べられた複数の作業項目であって、その各々が目標開始時間もしくは目標完了時間を含む少なくとも１つの目標時間を持つような作業項目とを有する、ＦＩＦＯバッファメモリにおいて、その目標時間を満たすために同ＦＩＦＯバッファメモリ内の他の作業項目に対して後退し得る、あるいは前進させる必要がある該位置の数を、ある作業項目の既に満了した目標時間の量と、その作業項目が処理されるまでに満了しそうな追加の時間量とから決定するステップであって、作業項目をＦＩＦＯバッファメモリに入力し、目標時間のタイプを判定し、作業項目ＩＱＲを、判定結果に応じた所定の数式を用いて計算し、およびＩＱＲをその作業項目の位置に格納するよう処理を行うステップと、
目標時間を満たし損ね得る作業項目の尺度を最適化するよう、該ＦＩＦＯバッファメモリ内の作業項目の並べ替えを行うステップであって、０以下のＩＱＲが存在するかどうかを判定し、０以下のＩＱＲが存在すると判定された場合に、線形最適化関数を適用することで、負のＩＱＲを最小化し、ＦＩＦＯバッファメモリ内の作業項目を並べ替える各作業項目の新たなＩＱＲを作業項目の新たな位置に格納し、およびいずれのＩＱＲも０よりも大である場合に、キュー内位置を変更するよう処理を行うステップと、を含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、作業フローの管理に関する。
【０００２】
【従来の技術】
作業フローにおいては、作業項目が、製品や文書ドキュメントなどの物理項目であるか通信や電子ドキュメントなどの仮想項目であるかに関係なく、一連の一つあるいは複数のタスクステーションに通される。各タスクステーションは、処理を待つ作業項目のためのインボックスキュー、並びにインボックスキューから取り出された作業項目を処理するための資源を備える。作業項目が作業フロー内を進行する際に不可避的に、幾つかの作業項目は他の作業項目より遅れる。これは、作業項目自身の性質（例えば、状態照会呼は注文呼とは異なる時間量を要する）、並びに作業項目を処理する資源の能力（例えば、呼を扱うコールセンタエージェントは様々なレベルの経験を有する）に起因する。このため、幾つかの作業項目は作業フローを計画より進んで流れ、幾つかは計画より遅れることとなる。
【０００３】
【発明が解決しようとする課題】
作業フローは、各作業項目が与えられたビジネス戦略に従って決定される計画通りにあるいはその前に完結するように自動的に調節できることが要望される。例えば、作業フローが過剰な作業項目を抱える場合、あるビジネス戦略においては全ての作業項目が計画より少し遅れて完結するようにされ（つまり、“痛みが共有され”）、別のビジネス戦略においては、既に遅れているあるパーセントの作業項目をさらに遅らせるという犠牲の下で、計画通りの作業項目の数が最大化される。ビジネス戦略は様々な外部データによっても影響される。例えば、会計士などの既知の顧客を有するコールセンタアプリケーションにおいては、ビジネス戦略として、優遇される顧客のタスクを、必要であれば、一般の顧客を犠牲にして計画通りに完結させることも要求される。これらビジネス戦略を達成するための作業フローの調節は、通常は、自動的に実現することは困難である。このため、従来の技術において、通常、作業項目を最初に採用されるビジネス戦略に基づいて異なるインボックスキューに割り当てた上で、各キューからの作業項目を先入れ先出しおよび／あるいは優先順に処理するというアプローチが採用される。ただし、このようなアプローチに基づいて作業項目を処理するやり方は、“遅れる危険のある（at risk）”作業項目の計画を修正したり、異なるビジネス戦略を持つ作業フローのビジネス結果を最適化するといった問題は殆どなにも解決しない。
【０００４】
【課題を解決するための手段】
本発明は、従来の技術のこれらおよびその他の問題および短所を解決することに向けられる。一般的には、本発明によると、キュー内の作業項目がそれらの目標完結時間とこれからの偏差によって表現されたある与えられたビジネス戦略から見たときの結果が最大化されるように反復的に並べ替えられる。より具体的には、本発明は、処理されることを待っている複数の順番に並べられた作業項目を持つキューに関して適用される。各作業項目は、目標完結時間目標完結時間を持つ。本発明の方法によると、各作業項目について、その作業項目の目標完結時間の内の既に費やされた量（例えば、目標完結時間の内のその作業項目が既に処理およびキュー内で費やした量）およびその作業項目が処理されるまでにさらに費すことを期待される追加の時間量（例えば、その作業項目のキュー内の位置にその作業項目がキュー位置間を進行する速度を掛けた量）を用いて、その作業項目がキュー内でその作業項目の目標時間を満たすために、キュー内の他の作業項目に対して後退できるかあるいは前進する必要があるかが決定される。好ましくは、この決定は、その作業項目が移動されるべきキュー位置の数を決定するステップを含み、移動されるキュー位置の数は、目標完結時間から、上述の既に費やされた時間および追加の期待される時間の総和を引き、この差を進行速度にて割って、この値を丸めたものとして計算される。次に、この決定に基づいて、キュー内の作業項目が、それらの目標完結時間を満たすことに失敗する作業項目（例えば、キュー内を前進させることを必要とされる作業項目）のある尺度が最適化されるように並べ替えられる。一つの実施例においては、最適化関数をキューに適用することで、この尺度を最適化する（例えば、それらの目標完結時間を満たすことに失敗する作業項目の数を最小化する、あるいは作業項目がそれらの目標完結時間を超える時間量を最小化する）順番が決定され、キュー内の作業項目がこれに従って並べ替えられる。
【０００５】
この決定および並べ替えは、好ましくは、作業項目がキューに入る度に、およある作業項目があるキュー内で位置を変更される度に遂行される。こうして、キュー内の作業項目の順番が採用されるビジネス戦略が最適化されるように、例えば、目標完結時間からの偏差が最小化されるように度々調節される。本発明によると、インボックスキュー内の各作業項目の状態が一意にクラス分けされるために、任意の与えられた作業項目を前進あるいは後退させる必要性およびその結果を容易に評価することができる。本発明によると、長所として、作業項目の前進あるいは後退されるべき位置の数が作業項目がキュー内で移動する進行速度と結び付けられる。こうすることで、作業項目を任意に並べ替えたときの結果を明快に評価することが可能となる。例えば、システムが知っているこが、唯一、ある作業項目が計画より“ｘ”分だけ進んでおり、別の作業項目が計画より“ｙ”分だけ遅れているという事実だけである場合、そのシステムは、ある作業項目と別の作業項目の位置を並べ替えた結果として、遅れた作業項目が計画通りとなるか、あるいはこのために他方の作業項目が遅れてしまうかを直接に知ることはできない。ただし、位置の数の情報がキュー内で作業項目が移動する進行時間と結び付けられている場合、システムは、任意の並べ替えの必要性およびその結果を容易に評価することができる。並べ替えを行なうべきか否か、およびそのやり方は、作業フローのビジネス戦略に依存して決められる。本発明によると、もう一つの長所として、同一の作業フロー内の個々の作業項目に対して異なる目標完結時間が設定される。こうすることで、システムは、各作業フローに対して、実質的に無制限の数の優先レベルをサポートすることが可能となる。
【０００６】
本発明は、方法および装置の両方に関する。方法は、上述のような手続きのステップから構成され、装置は、方法のこれらステップを実現させる。装置は、好ましくは、エフェクタを備えるが、これは、方法の各ステップに対する手段ではなく、対応するステップを実行させるための任意のエンティティから成る。さらに、本発明は、コンピュータ内で実行された場合、コンピュータに対して方法の各ステップを遂行することを指令するソフトウエアを実装するコンピュータリーダブル媒体にも関する。
【０００７】
本発明のこれらおよびその他の長所および特徴が本発明の実施例の説明を図面を参照しながら読むことで一層明らかになるものである。
【０００８】
【発明の実施の形態】
図１は、複数のタスクステーション１１を扱う作業フロー管理エンジン１０を備える一例としての作業処理センタを示す。以下の説明では、タスクステーション１１を用いて、作業項目４０、例えばローンの申請などの電子ドキュメントが、例えば、エージェント２５によって処理されるものと想定される。作業フロー管理エンジン１０は、各作業項目４０を一つあるいは複数のタスクステーション１１に供給し、各作業項目は、その作業項目の作業フロー定義５０によって定められる順番に処理される。図５に、一例としての作業フロー定義５０を示す。作業フロー定義５０は、一つあるいは複数のタスク（Ａ〜Ｅ）５００の順序５０２から構成される。各タスク５００は、通常は、異なるタスクステーション１１によって遂行されるが、同一のタスク５００を複数のステーション１１によって遂行することもできる。異なるセットの作業項目４０は異なる作業フロー定義５０を持つ。作業フロー定義５０は、作業フロー定義用メモリ１４内に格納され、作業項目４０自体は、作業項目メモリ１３内に格納される。図１の作業処理センタは、ここまでの点は従来のものである。
【０００９】
これも従来のように、作業フロー管理エンジン１０は、格納されたプログラムによって制御されるユニットから構成され、このユニットは、プログラムおよびデータを格納するための一つあるいは複数の異なるメモリユニットから成るメモリ１５、および格納されたプログラムを格納されたデータを用いて実行するプロセッサ１６を備える。メモリ１５は、インボックスキュー２１の複数のセット２０を備える。キュー２１の各セット２０は、異なる作業フロー５０を従来のやり方で扱う。各セット２０内においては、各キュー２１は異なるタスク５００を扱う。各キュー２１は、先入れ先出し（ＦＩＦＯ）バッファメモリとして機能し、複数のエントリあるいは位置２３を持ち、各位置２３は、キュー内で待たされている一つの作業項目４０に対応する。キュー２１の先頭の位置２３は、位置番号１を持ち、キュー２１内の次の位置は、位置番号２を持ち、以下同様とされる。
【００１０】
メモリ１５は、さらに、待ち時間推定（ＥＷＴ）機能２２を備える。名前が示すように、この機能は、キュー２１内に置かれている作業項目４０が処理のためにステーション１１に接続されるまでにどの程度待たなければならないかの推定量を決定する。この推定量は、待ち時間推定（ＥＷＴ）機能２２によって、各キュー２１に対して個別に導かれる。これは、作業項目４０がキュー２１の位置２３に沿って進行する平均速度に基づいて導かれるが、この進行速度も待ち時間推定（ＥＷＴ）機能２２によって計算される。待ち時間推定（ＥＷＴ）機能２２の一つの実現が合衆国特許第５，５０６，８９８号において開示されているために、これも参照されたい。
【００１１】
本発明によると、作業項目４０には、対応する作業フロー定義５０によって定義される全作業フローを完結する目標時間、およびその作業フロー内において各タスク５００を開始および／あるいは完結する目標時間が割り当てられる。こうして、キュー２１内の各作業項目４０は、自身と関連する目標作業フロー完結時間（ＴＷＣＴ）３０、目標タスク開始時間（ＴＴＳＴ）３１および／あるいは目標タスク完結時間（ＴＴＣＴ）３２、並びにＩＱＲ（インキューレーティング）２８を持つ。これらは、その作業項目識別子（ＷＩＩＤ）２９と共に、キュー２１内のその作業項目の現在の位置２３内に格納される。さらに、各キュー２１は、自身の関連するキュー進行時間（ＱＡＴ）２６を持つ。別の方法として、各キュー２１は、そのキュー２１内の全ての作業項目４０に共通の目標時間３１〜３２を持つこともできる。目標作業フロー完結時間（ＴＷＣＴ）３０は、顧客の苦情あるいは内部ビジネス目標に従って管理され、これらは、ビジネス／顧客情報データベース１２の内容から導かれる。目標作業フロー完結時間（ＴＷＣＴ）３０は、作業項目４０が対応する作業フロー内で費やす時間の最大量、あるいは作業項目４０の処理がそれまでに完結すべき絶対（カレンダーあるいはクロック）時間を表す。目標タスク完結時間（ＴＴＣＴ）３２は、作業項目４０がそのタスク５００に対応するキュー２１内で費やす最大時間を表す。目標タスク開始時間（ＴＴＳＴ）３１は、タスク５００が完結し、作業項目が作業フロー順序における次のタスクにパスされる時間を表す。目標タスク開始時間（ＴＴＳＴ）３１および目標タスク完結時間（ＴＴＣＴ）３２は、その作業項目の目標作業フロー完結時間（ＴＷＣＴ）３０および対応するタスクの過去の性能尺度に基づいて管理される。目標タスク開始時間（ＴＴＳＴ）３１および目標タスク完結時間（ＴＴＣＴ）３２も、時間量として表現することも、絶対時間として表現することもできる。目標タスク開始時間（ＴＴＳＴ）と目標タスク完結時間（ＴＴＣＴ）３２の間の関係は、ＴＴＣＴ＝ＴＴＳＴ＋ＡＨＴとして表される。ここで、ＡＨＴは、作業項目４０を、このタスク５００に対応するタスクステーション１１によって処理する平均処理時間を表す。キュー進行時間（ＱＡＴ）２６は、作業項目０がそのキュー２１の先頭に向かって１つの位置２３だけ進行するのに要する平均時間の尺度であり、待ち時間推定（ＥＷＴ）機能２２によって、例えば、合衆国特許第５，５０６，８９８号に説明されるやり方で定期的に計算される。ＩＱＲ（インキューレーティング）２８は、対応する作業項目４０がその目標タスク開始時間（ＴＴＳＴ）３１あるいは目標タスク完結時間（ＴＴＣＴ）３２を満たすために、計画よりどの程度進んでいるあるいは遅れているかを位置２３の数によって示す。こうして、ＩＱＲ２８は、計画通り作業を終えるために、キュー２１内の作業項目４０を後退することができるあるいは前進することを必要とされる位置２３の数を表す。
【００１２】
例えば、キュー２１内の作業項目４０の目標タスク開始時間（ＴＴＳＴ）３１が現在の時間から１６分後であるものと想定する。キュー２１のキュー進行時間（ＱＡＴ）２６が現在２分であり、作業項目４０がこのキュー２１の先頭から第三の位置２３にある場合、作業項目４０は、このキュー２１内で計画より９分進んでいることとなる。このため、この作業項目には、＋４なるＩＱＲを割り当てられる。これは、この作業項目４０が計画より進んでおり、キュー２１内での位置２３を４つだけ後退させてもまだ計画通りに終了することを意味する。逆に、−１なるＩＱＲは、作業項目４０が計画より遅れているが、ただし、これをキュー２１内での位置２３を一つだ前進させた場合は、計画通りに戻せることを意味する。そして、説明の例において、目標タスク開始時間（ＴＴＳＴ）３１が現在の時間から９分後である場合、もしくは、キュー進行時間（ＱＡＴ）２６が４分である場合は、この作業項目のＩＱＲ２８は０となるが、これは、この作業項目４０がちょうど計画通りであることを意味する。
【００１３】
メモリ１５は、さらに、呼順序（呼シーケンシング：ＳＥＱ）機能２４を備えるが、この機能は、ＩＱＲ２８を計算し、これを使用する。この機能が図２〜４に示される。図２のステップ２００において、呼がキュー２１内に入って来ると、にＳＥＱ機能２４は、ステップ２０２あるいは２０３において、その呼のＩＱＲ２８を計算する。ステップ２０１において、目標時間が絶対時間として表現されているものとして決定された場合は、ステップ２０２において、ＩＱＲ２８が、（ａ）（１）現在の時間および作業項目４０の推定待ち時間（ＥＷＴ）の総和をその作業項目４０の目標タスク開始時間（ＴＴＳＴ）３１から引き、あるいは（２）現在の時間、作業項目４０の推定待ち時間（ＥＷＴ）およびこのタスクの平均処理時間（ＡＨＴ）の総和をその作業項目の目標タスク完結時間（ＴＴＣＴ）３２から引き、（ｂ）結果としての時間差をそのキュー２１のキュー進行時間（ＱＡＴ）２６によって割り、その値を丸めることによって計算される。一方、ステップ２０１において目標時間が時間の量として表現されていることが決定された場合は、ステップ２０３において、ＩＱＲ２８が、（ａ）（１）その作業項目４０の目標タスク開始時間（ＴＴＳＴ）３１から推定待ち時間（ＥＷＴ）を引き、あるいは（２）この作業項目４０の目標タスク開始時間（ＴＴＳＴ）３１からこの作業項目４０の推定待ち時間（ＥＷＴ）およびこのタスク５００の平均処理時間（ＡＨＴ）の総和を引き、（ｂ）結果としての差を、そのキュー２１のキュー進行時間（ＱＡＴ）２６によって割り、値を丸めることによって計算される。ＳＥＱ機能２４は、次に、ステップ２０４において、計算されたＩＱＲ２８を考慮中の作業項目４０によって占拠されるキュー位置２３内に格納し、次に、ステップ２０６において、キュー２１の並べ替えを行なう。キュー２１の並べ替えを行なう過程が図３にステップ４００として示される。
【００１４】
図３のステップ４００においてキュー２１の並べ替え過程が呼び出されると、ステップ４０２において、ＳＥＱ機能２４は考慮中のキュー２１内の全ての位置２３のＩＱＲ２８をチェックし、０以下のＩＱＲが存在するか否か決定する。０以下のＩＱＲが存在しない場合は、これは、キュー内の全ての作業項目４０が、サービス目標を満たしていることを意味し、このため、ＳＥＱ機能２４は、ステップ４５０においてその動作を終える。０以下のＩＱＲが存在する場合は、ＳＥＱ機能２４は、ステップ４０４において、線形最適化関数を、考慮下のキュー２１に関して適用することで、負のＩＱＲ２８を最小化する。線形最適化関数は当分野において周知である。最小化は様々な形式にて行なうことができ、例えば、負のＩＱＲ２８の総数を最小化することも、負のＩＱＲ２８の値の総和を最小化することもできる。この過程の一部として、ＳＥＱ機能２４は、図４のステップ３０２のＩＱＲ２８の再計算を、問題のキュー２１に対してこれが考慮する作業項目４０の様々な置き換えについて遂行する。ステップ４０４においてキュー内の作業項目４０に対する新たな順番が得られたら、ＳＥＱ機能２４は、ステップ４０６において、作業項目４０の順番を並べ替え、ステップ４０８において、各作業項目の新たなＩＱＲを考慮下の作業項目の新たな位置２３内に格納する。ＳＥＱ機能２４は、次にステップ４５０においてキューの位置を変更するが、この過程が図４に詳細に示される。
【００１５】
図４のステップ３００においてキュー２１内で任意の呼の位置２３が変更される度に、ＳＥＱ機能２４は、ステップ３０２において、そのキュー２１内の各作業項目４０のＩＱＲ２８を再計算する。各作業項目のＩＱＲは、現在のＩＱＲ２８とそのキュー２１内で作業項目４０が前進された（正の数）あるいは後退された（負の数）位置２３の数の総和として再計算される。ＳＥＱ機能２４は、次に、ステップ３０４において、再計算されたＩＱＲ２８を考慮下の作業項目４０によって現在占拠されているキュー位置２３内に格納する。ステップ３０６において、考慮下のキュー２１内の全ての作業項目４０のＩＱＲ２８の再計算が終了したことが決定されたると、ＳＥＱ機能２４は、ステップ３０８においてその動作を終了する。
【００１６】
勿論、当業者においては上述の実施例に対する様々な変更および修正が可能である。例えば、待ち時間推定（ＥＷＴ）機能２２がキュー２１のキュー進行時間（ＱＡＴ）２６を再計算する際に、図２の手続きは、これをそのキュー内の作業項目に関して遂行し、これに従ってそれらのＩＱＲ２８を再計算することもできる。さらに、図３のキュー並べ替え手続きは、そのキュー内に計画より遅れた作業項目が存在しない場合（全てのＩＱＲが０以上の場合）でも遂行し、そのキュー内の全ての作業項目がより均等に計画通りにあるいはこれより前に完結するようにすることもできる。さらに、“バッドアクタ（bad actor：常に遅れる作業項目）”を識別する報告書に作成し、これらに通常の作業フローの外側で手動にて扱う旨のタッグを付けることもできる。これら変更および修正は、本発明の精神および範囲から逸脱することなく、かつ、本発明の長所を損なうことなく可能であり、従って、これら変更および修正も、従来の技術によって制限されない限り、特許請求の範囲に入るものである。
【図面の簡単な説明】
【図１】本発明の実施例を用いる処理センタのブロック図である。
【図２】作業項目が図１の処理センタのキュー内に入ってきたとき図１の処理センタのＳＥＱ機能によって遂行される動作の流れ図である。
【図３】図１の処理センタにおいてキューの並べ替え過程が起動されたときSEQ機能によって遂行される動作の流れ図である。
【図４】図１の処理センタのキュー内の作業項目のキュー位置が変更されたときSEQ機能によって遂行される動作の流れ図である。
【図５】図１の処理センタの一例としての作業フロー定義の流れ図である。
【符号の説明】
１０  作業フロー管理エンジン
１１  タスクステーション
１２  ビジネス／顧客情報データベース
１３  作業項目メモリ
１４  作業フロー定義メモリ
１５  メモリ
１６  プロセッサ
２０  インボックスキューの複数のセット
２１  インボックスキュー
２２  待ち時間推定（ＥＷＴ）機能
２３  エントリあるいは位置
２４  呼順序（ＳＥＱ）機能
２５  エージェント
２６  キュー進行時間（ＱＡＴ）
２８  インキューレーティング（ＩＱＲ）
２９  作業項目識別子（ＷＩＩＤ）
３０  目標作業フロー完結時間（ＴＷＣＴ）
３１  目標タスク開始時間（ＴＴＳＴ）
３２  目標タスク完結時間（ＴＴＣＴ）
４０  作業項目
５０  作業フロー定義
【図１】
0003735028.tif 000002
【図２】
0003735028.tif 000003
【図３】
0003735028.tif 000004
【図４】
0003735028.tif 000005
【図５】
0003735028.tif 000006