(57)【要約】デジタルマルチメディアコンタクトセンター用のティア構造のサービスモデルは、コンタクト用のルーティング基準に基づき、到来するコンタクトを初期サービスティアに割り当てるとともに、ルーティング基準が変化した場合に、コンタクトを異なるサービスティアに昇格又は降格させることができる。ルーティング基準は、コンタクトに関連付けられたメディアタイプに基づいて最初に判定される。デジタルマルチメディアコンタクトセンターには、メディアルーターの組が含まれており、それぞれのメディアルーターは、固有のメディアタイプのコンタクトをワークフローエンジンに渡し、このワークフローエンジンは、エージェントの活動を必要とするサービスティアにおけるコンタクトの処理を制御するワークフローを実行する。動的自動コンタクトディストリビュータにより、エージェントがコンタクトに割り当てられ、コンタクトは適切なメディアルーターによってそのエージェントにルーティングされる。ワークフローエンジンでは、エージェントのコンタクトへの割り当てを制御するエージェント用のワークフローも実行される。
2005504452.tif 000002
【特許請求の範囲】
【請求項１】
デジタルマルチメディアコンタクトセンターであって、
コンタクトの処理を指定するコンタクト用のワークフローを実行するべく動作可能なワークフローエンジンと、
前記ワークフローエンジンに接続されており、それぞれが特定のメディアタイプに関連付けられたコンタクトを前記ワークフローエンジンに送信するべく動作可能であり、且つ前記コンタクトにエージェントが割り当てられている場合に、前記コンタクトを前記エージェントにルーティングするべくそれぞれが動作可能なメディアルーターの組と、
前記ワークフローエンジンに接続されており、前記ワークフローが要求した場合に、前記コンタクトにエージェントを割り当て、その割り当てたエージェントの識別子を前記ワークフローエンジンに返すべく動作可能な動的自動コンタクトディストリビュータと、
前記ワークフローエンジンに接続されており、前記メディアルーターによってルーティングされたコンタクトを受信し、処理のために前記コンタクトを前記割り当てられたエージェントに提示するべく動作可能なエージェントデスクトップと、
前記割り当てられたエージェントによる前記コンタクトの処理を記録するべく前記ワークフローエンジンに接続されているデータベースと、を有することを特徴とするデジタルマルチメディアコンタクトセンター。
【請求項２】
前記特定のメディアタイプは、アナログ音声、デジタル音声、ビデオ、電子メール、ファックス、及びウェブからなる群から選択される請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項３】
前記ワークフローエンジンは、エージェントに割り当てられたコンタクトを制御するエージェント用のワークフローを実行するべく更に動作可能である請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項４】
前記ワークフローエンジンは、
特定のメディアタイプに関連付けられたメディアルーターに接続されており、前記特定のメディアタイプに関連付けられたコンタクト用のワークフローを起動するべくそれぞれが動作可能なコンタクトワークフローサブシステムの組と、
前記エージェントデスクトップに接続されており、前記エージェントデスクトップにログインしたエージェント用のワークフローを起動するべく動作可能なエージェントワークフローサブシステムと、
メッセージ伝達レイヤを介して前記ワークフローサブシステムに接続され、前記ワークフローを実行するワークフローロジックと、を有する請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項５】
前記ワークフローエンジンは、ワークフローを表す有意なグラフを生成するべく更に動作可能である請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項６】
前記ワークフローエンジンは、ステップを表すプロトタイプノードを定義するテンプレートファイルと前記グラフの構造を定義するワークフロー用の構成ファイルから前記有意なグラフを生成する請求項５記載のデジタルマルチメディアコンタクトセンター。
【請求項７】
前記メディアルーターのそれぞれは外部システムに接続されており、それぞれの外部システムは、通信チャネルから、前記接続されているメディアルーターに関連付けられた特定のメディアを有するコンタクトを受信するべく動作可能であり、それぞれの外部システムは、特定のメディアタイプに関連付けられており、前記接続されているメディアルーターから指示された際に、コンタクトを前記エージェントデスクトップにルーティングするべく更に動作可能である請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項８】
前記メディアルーターの中の１つは、電子メールサーバーに接続された電子メールエスカレータであり、前記電子メールエスカレータは、既定の電子メール昇格基準に基づいて、電子メールコンタクトを遅延サービスティアから即時サービスティアに昇格させるべく動作可能である請求項７記載のデジタルマルチメディアコンタクトセンター。
【請求項９】
前記メディアルーターの中の１つはウェブサーバーに接続されたコラボレーションルーターであり、前記コラボレーションルーターは、ユーザーの入力に応答し、ウェブコンタクトをセルフサービスサービスティアから即時サービスティアに昇格させるべく動作可能である請求項７記載のデジタルマルチメディアコンタクトセンター。
【請求項１０】
前記メディアルーターの中の１つは音声サーバーに接続された音声ルーターであり、前記音声ルーターは、コンタクト情報に応答して音声コンタクトを即時サービスティアからセルフサービスサービスに降格させるべく動作可能であり、且つユーザー入力に応答し、音声コンタクトを前記セルフサービスティアから前記即時サービスティアに昇格させるべく更に動作可能である請求項７記載のデジタルマルチメディアコンタクトセンター。
【請求項１１】
前記データベースと前記ワークフローエンジン間に接続されており、外部システムと前記データベースが維持管理する情報を統合するべく更に外部システムにも接続されているデータベース単一化レイヤを更に有する請求項７記載のデジタルマルチメディアコンタクトセンター。
【請求項１２】
前記ワークフローエンジンは、ワークフローが実行するデータベースアクセスを前記データベース単一化レイヤ用のアクセスに解釈するデータベースサブシステムを更に有する請求項１１記載のデジタルマルチメディアコンタクトセンター。
【請求項１３】
前記動的自動コンタクトディストリビュータは、コンタクトをエージェントに割り当てるべく、待機中のコンタクトの未ソートリストと利用可能なエージェントの未ソートリストを維持管理する請求項１記載のデジタルマルチメディアコンタクトセンター。
【請求項１４】
前記動的自動コンタクトディストリビュータは、重み付けされた属性の第１計算式を使用して利用可能なエージェントの未ソートリストを評価することにより、新しいコンタクトをエージェントに割り当てる請求項１３記載のデジタルマルチメディアコンタクトセンター。
【請求項１５】
前記動的自動コンタクトディストリビュータは、前記利用可能なエージェントの未ソートリスト内のすべてのエージェントが前記第１計算式を満足しない場合に、前記新しいコンタクトを前記待機中のコンタクトの未ソートリストに配置する請求項１４記載のデジタルマルチメディアコンタクトセンター。
【請求項１６】
前記動的自動コンタクトディストリビュータは、重み付けされた属性の第２計算式を使用して前記待機中のコンタクトの未ソートリストを評価することにより、新しく利用可能になったエージェントをコンタクトに割り当てる請求項１４記載のデジタルマルチメディアコンタクトセンター。
【請求項１７】
前記動的自動コンタクトディストリビュータは、前記待機中のコンタクトの未ソートリスト内のすべてのコンタクトが前記第２計算式を満足しない場合に、前記新しく利用可能になったエージェントを前記利用可能なエージェントの未ソートリストに配置する請求項１６記載のデジタルマルチメディアコンタクトセンター。
【請求項１８】
コンピュータで実行可能なモジュールを有するコンピュータ読み取り可能な記録媒体であって、
コンタクトの処理を指定する前記コンタクト用のワークフローを実行するワークフローエンジンと、
特定のメディアタイプに関連付けられたコンタクトを前記ワークフローエンジンに送信すると共に、前記コンタクトにエージェントが割り当てられている場合には、前記コンタクトを前記エージェントにルーティングするべく前記ワークフローエンジンに接続される複数のメディアルーターと、
前記ワークフローが要求した際に、エージェントを前記コンタクトに割り当て、前記割り当てたエージェントの識別子を前記ワークフローエンジンに返すべく前記ワークフローエンジンに接続される動的自動コンタクトディストリビュータと、を有することを特徴とするコンピュータで実行可能なモジュールを有するコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記割り当てられたエージェントによる前記コンタクトの処理を記録するべく前記ワークフローエンジンに接続されるデータベースを有する更なるコンピュータで実行可能なモジュールを有する請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記データベースと特定のメディアタイプ用の複数の外部システムが維持管理する情報を統合するデータベース単一化レイヤを有する更なるコンピュータで実行可能なモジュールを有する請求項１９記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
ワークフローが実行するデータベースアクセスを前記データベース単一化レイヤ用のアクセスに解釈するデータベースサブシステムを有する更なるコンピュータで実行可能なモジュールを有する請求項２０記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
特定のメディアタイプに関連付けられたメディアルーターに接続され、前記特定のメディアタイプに関連付けられたコンタクト用のワークフローを複数のコンタクトワークフローサブシステムと、
エージェントデスクトップに接続され、前記エージェントデスクトップにログインしたエージェント用のワークフローを起動するエージェントワークフローサブシステムと、
メッセージ伝達レイヤを介して前記ワークフローサブシステムに接続され、前記ワークフローを実行するワークフローロジックと、を有する前記ワークフローエンジン用の更なるコンピュータで実行可能なモジュールを有する請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記メディアルーターのそれぞれは、通信チャネルから、前記メディアルーターに関連付けられた特定のメディアを有するコンタクトを受信する外部システムに接続するべく更に動作可能であり、それぞれの外部システムは、前記接続されたメディアルーターが指示した際に、コンタクトをエージェントデスクトップにルーティングするべく特定のメディアタイプに関連付けられている請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記メディアルーターの中の１つは、既定の電子メール昇格基準に基づいて電子メールコンタクトを遅延サービスティアから即時サービスティアに昇格させるべく電子メールサーバーに接続される電子メールエスカレータである請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
前記メディアルーターの中の１つは、ユーザー入力に応答し、ウェブコンタクトをセルフサービスサービスティアから即時サービスティアに昇格させるべくウェブサーバーに接続されるコラボレーションルーターである請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２６】
前記メディアルーターの中の１つは、コンタクト情報に応答し、音声コンタクトを即時サービスティアからセルフサービスサービスに降格させると共に、ユーザー入力に応答し、音声コンタクトを前記セルフサービスティアから前記即時サービスティアに昇格させるべく音声サーバーに接続される音声ルーターである請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記動的自動コンタクトディストリビュータは、コンタクトをエージェントに割り当てるべく待機中のコンタクトの未ソートリストと利用可能なエージェントの未ソートリストを維持管理する請求項１８記載のコンピュータ読み取り可能な記録媒体。
【請求項２８】
前記動的自動コンタクトディストリビュータは、重み付けされた属性の第１計算式を使用して利用可能なエージェントの未ソートリストを評価することにより、新しいコンタクトをエージェントに割り当てる請求項２７記載のコンピュータ読み取り可能な記録媒体。
【請求項２９】
前記動的自動コンタクトディストリビュータは、前記利用可能なエージェントの未ソートリスト内のすべてのエージェントが前記第１計算式を満足しない場合に、前記新しいコンタクトを前記待機中のコンタクトの未ソートリストに配置する請求項２８記載のコンピュータ読み取り可能な記録媒体。
【請求項３０】
前記動的自動コンタクトディストリビュータは、重み付けされた属性の第２計算式を使用して前記待機中のコンタクトの未ソートリストを評価することにより、新しく利用可能になったエージェントをコンタクトに割り当てる請求項２８記載のコンピュータ読み取り可能な記録媒体。
【請求項３１】
前記動的自動コンタクトディストリビュータは、前記待機中のコンタクトの未ソートリスト内のすべてのコンタクトが前記第２計算式を満足しない場合に、前記新しく利用可能になったエージェントを前記利用可能なエージェントの未ソートリストに配置する請求項３０記載のコンピュータ読み取り可能な記録媒体。
【請求項３２】
メディアルーターによってルーティングされたコンタクトを受信し、ログインしたエージェントに対して処理のために前記コンタクトを提示するべくワークフローエンジンに接続されるエージェントデスクトップを有することを特徴とするコンピュータで実行可能なモジュールを有するコンピュータ読み取り可能な記録媒体。
【請求項３３】
デジタルマルチメディアコンタクトセンターにおいてコンタクト用のサービスティアを判定するコンピュータ化された方法であって、
コンタクト用のルーティング基準に基づいて前記コンタクト用の初期サービスティアを判定する段階と、
前記ルーティング基準の変化が前記初期サービスティア用の既定の基準を満足しない場合に、前記コンタクトを低位のサービスティアに降格させる段階と、
前記ルーティング基準の変化が高位のサービスティア用の既定の基準を満足する場合に、前記コンタクトを前記高位のサービスティアに昇格させる段階と、を有することを特徴とするコンピュータ化された方法。
【請求項３４】
前記コンタクトに関連付けられたメディアタイプに基づいて最初にルーティング基準を判定する段階を更に有する請求項３３記載のコンピュータ化された方法。
【請求項３５】
前記コンタクト用のワークフローによって前記ルーティング基準を変更する段階を更に有する請求項３３記載のコンピュータ化された方法。
【請求項３６】
前記コンタクトの動作に基づいて前記ルーティング基準を変更する段階を更に有する請求項３３記載のコンピュータ化された方法。
【請求項３７】
コンピュータで実行可能な命令を有するコンピュータ読み取り可能な記録媒体であって、
コンタクト用のルーティング基準に基づき、デジタルマルチメディアコンタクトセンターにおいて前記コンタクト用の初期サービスティアを判定する段階と、
前記ルーティング基準の変化が前記初期サービスティア用の既定の基準を満足しない場合に、前記コンタクトを低位のサービスティアに降格させる段階と、
前記ルーティング基準の変化が高位のサービスティア用の既定の基準を満足する場合に、前記コンタクトを前記高位のサービスティアに昇格させる段階と、を有することを特徴とするコンピュータで実行可能な命令を有するコンピュータ読み取り可能な記録媒体。
【請求項３８】
前記コンタクトに関連付けられたメディアタイプに基づいて前記ルーティング基準を最初に判定する段階を有する更なるコンピュータで実行可能な命令を有する請求項３７記載のコンピュータ読み取り可能な記録媒体。
【請求項３９】
前記コンタクト用のワークフローによって前記ルーティング基準を変更する段階を有する更なるコンピュータで実行可能な命令を有する請求項３７記載のコンピュータ読み取り可能な記録媒体。
【請求項４０】
前記コンタクトの動作に基づいて前記ルーティング基準を変更する段階を有する更なるコンピュータで実行可能な命令を有する請求項３７記載のコンピュータ読み取り可能な記録媒体。
【請求項４１】
コンピュータシステムであって、
処理ユニットと、
前記処理ユニットにバスを介して接続されたメモリと、
前記メモリから実行され、前記処理ユニットにより、コンタクト用のルーティング基準に基づいてデジタルマルチメディアコンタクトセンターにおいて前記コンタクト用の初期サービスティアを判定し、前記ルーティング基準の変化が前記初期サービスティア用の既定の基準を満足しない場合に、前記コンタクトを低位のサービスティアに降格させ、前記ルーティング基準の変化が高位のサービスティア用の既定の基準を満足する場合に、前記コンタクトを前記高位のサービスティアに昇格させるサービスティア構造化プロセスと、を有することを特徴とするコンピュータシステム。
【請求項４２】
前記サービスティア構造化プロセスは、前記処理ユニットにより、更に前記コンタクトに関連付けられたメディアタイプに基づいて前記ルーティング基準を最初に判定する請求項４１記載のコンピュータシステム。
【請求項４３】
前記サービスティア構造化プロセスは、前記処理ユニットにより、更に前記コンタクト用のワークフローの実行を通じて前記ルーティング基準を変更する請求項４１記載のコンピュータシステム。
【請求項４４】
前記サービスティア構造化プロセスは、前記処理ユニットにより、更に前記コンタクトの動作に基づいて前記ルーティング基準を変更する請求項４１記載のコンピュータシステム。
【請求項４５】
コンタクト詳細レコード用のデータ構造を有するコンピュータ読み取り可能な記録媒体であって、
前記コンタクト詳細レコードに関連付けられたコンタクトのコンタクト識別子を表すデータを格納するコンタクトＩＤフィールドと、
前記コンタクトＩＤフィールドによって識別されるコンタクトのメディアタイプを表すデータを格納するメディアタイプフィールドと、
前記コンタクトＩＤフィールドによって識別されるコンタクトの分類を表すデータを格納するコンタクトクラスＩＤと、
前記コンタクトＩＤフィールドによって識別されるコンタクトを処理するべく割り当てられたエージェントを表すデータを格納する割当エージェントＩＤと、
特定時点における前記コンタクトＩＤフィールドによって識別されるコンタクトの状態を表すデータを格納するコンタクト状態フィールドと前記コンタクト状態フィールド内のデータに関連付けられた前記特定時点を表すデータを格納するタイムスタンプフィールドとをそれぞれが有する複数のコンタクト状態フィールドと、を有することを特徴とするコンタクト詳細レコード用のデータ構造を有するコンピュータ読み取り可能な記録媒体。
【請求項４６】
前記データ構造は、前記コンタクトＩＤフィールドによって識別されるコンタクト用のコンタクトリソース管理ケース識別子を表すデータを格納するケースＩＤフィールドを更に有する請求項４５記載のコンピュータ読み取り可能な記録媒体。
【請求項４７】
エージェントレコード用のデータ構造を有するコンピュータ可読であって、
前記エージェントレコードに関連付けられたエージェントのエージェント識別子を表すデータを格納するエージェントＩＤフィールドと、
前記エージェントＩＤフィールドによって識別されるエージェントの分類を表すデータを格納するエージェントクラスＩＤフィールドと、
前記エージェントＩＤフィールドによって識別されるエージェントに割り当てられたコンタクトの識別子を表すデータを格納する割り当てコンタクトＩＤフィールドと、
特定時点における前記エージェントＩＤフィールドによって識別されるエージェントの状態を表すデータを格納するエージェント状態フィールドと前記エージェント状態フィールド内のデータに関連付けられた前記特定時点を表すデータを格納するタイムスタンプフィールドとをそれぞれが有する複数のエージェント状態フィールドと、を有することを特徴とするエージェントレコード用のデータ構造を有するコンピュータ読み取り可能な記録媒体。
【請求項４８】
デジタルマルチメディアコンタクトセンター内のメディアルーターとコンタクトワークフローサブシステム間で通信する方法であって、
前記メディアルーターから前記コンタクトワークフローサブシステムに対し、前記メディアルーターの識別子とコンタクトの属性を含むｓｔａｒｔｗｏｒｋｆｌｏｗ呼び出しを発行する段階と、
前記コンタクトワークフローサブシステムから前記メディアルーターに対し、前記ｓｔａｒｔｗｏｒｋｆｌｏｗ呼び出しの受信に応答して前記コンタクト用のワークフローの識別子を返す段階と、を有することを特徴とする方法。
【請求項４９】
前記メディアルーターから前記コンタクトワークフローサブシステムに対し、前記ワークフローの識別子と前記ワークフローに注入するイベントを含むｉｎｊｅｃｔｅｖｅｎｔ呼び出しを発行する段階を更に有する請求項４８記載の方法。
【請求項５０】
前記メディアルーターから前記コンタクトワークフローサブシステムに対し、コンタクトワークフローの識別子を含むｈａｎｄｌｅｓｃｏｎｔａｃｔ呼び出しを発行する段階と、
前記コンタクトワークフローサブシステムから前記メディアルーターに対し、前記コンタクトワークフローサブシステムが前記コンタクトワークフローを処理しているかどうかを示す応答を返す段階と、を更に有する請求項４８記載の方法。
【請求項５１】
前記コンタクトワークフローサブシステムから前記メディアルーターに対し、コンタクト用のワークフローの識別子とエージェント用のワークフローの識別子を含むａｓｓｉｇｎｃｏｎｔａｃｔｔｏａｇｅｎｔ呼び出しを発行する段階と、
前記メディアルーターから前記コンタクトワークフローサブシステムに対し、前記コンタクトが前記エージェントにルーティングされたかどうかを示す応答を返す段階と、を更に有する請求項４８記載の方法。
【請求項５２】
前記コンタクトワークフローサブシステムから前記メディアルーターに対し、コンタクトワークフローの識別子を含むｔｅｒｍｉｎａｔｅｃｏｎｔａｃｔ呼び出しを発行する段階を更に有する請求項４８記載の方法。
【請求項５３】
デジタルマルチメディアコンタクトセンター内のメディアルーターとエージェントワークフローサブシステム間で通信する方法であって、
前記メディアルーターから前記エージェントワークフローサブシステムに対し、エージェントの属性を含むｓｔａｒｔｗｏｒｋｆｌｏｗ呼び出しを発行する段階と、
前記エージェントワークフローサブシステムから前記メディアルーターに対し、前記ｓｔａｒｔｗｏｒｋｆｌｏｗ呼び出しの受信に応答して前記エージェント用のワークフローの識別子を返す段階と、を有することを特徴とする方法。
【請求項５４】
前記メディアルーターから前記エージェントワークフローサブシステムに対し、前記ワークフローの識別子と前記ワークフローに注入するイベントを含むｉｎｊｅｃｔｅｖｅｎｔ呼び出しを発行する段階を更に有する請求項５３記載の方法。
【請求項５５】
前記メディアルーターから前記エージェントワークフローサブシステムに対し、エージェントワークフローの識別子を含むｈａｎｄｌｅｓａｇｅｎｔ呼び出しを発行する段階と、
前記エージェントワークフローサブシステムから前記メディアルーターに対し、前記エージェントワークフローサブシステムが前記エージェントワークフローを処理しているかどうかを示す応答を返す段階と、を更に有する請求項５３記載の方法。
【請求項５６】
マルチメディアコンタクトセンターを稼動させる方法であって、
メディアルーターにより、前記メディアルーターに固有のメディアタイプのコンタクトを受信する段階と、
前記メディアルーターにより、前記コンタクトのメディアタイプに固有のワークフローサブシステムに前記コンタクトを送信する段階と、
前記ワークフローサブシステムにより、前記コンタクト用のワークフローを起動する段階と、
前記コンタクト用のワークフローにより、エージェントによる前記コンタクトの処理要求を前記ワークフローサブシステムに送信する段階と、
前記ワークフローサブシステムにより、自動コンタクトディストリビュータに対してエージェントを要求する段階と、
前記自動コンタクトディストリビュータにより、エージェントを前記コンタクトに割り当てる段階と、
前記自動コンタクトディストリビュータにより、前記コンタクトに割り当てられたエージェントの識別子を前記ワークフローサブシステムに送信する段階と、
前記ワークフローサブシステムにより、前記エージェントの識別子を受信する段階と、
前記ワークフローサブシステムにより、前記エージェントの識別子を前記メディアルーターに送信する段階と、
前記メディアルーターにより、前記コンタクトに割り当てられたエージェントに前記コンタクトをルーティングする段階と、を有することを特徴とする方法。
【請求項５７】
エージェントデスクトップにより、エージェントによるログインを受信する段階と、
前記エージェントデスクトップにより、前記エージェント情報をエージェントサブシステムに送信する段階と、
前記エージェントサブシステムにより、前記エージェント情報を受信する段階と、
前記エージェントデスクトップにより、前記エージェント用のワークフローを起動する段階と、
前記エージェント用のワークフローにより、コンタクト要求を前記エージェントサブシステムに送信する段階と、
前記エージェントサブシステムにより、前記自動コンタクトディストリビュータに対してコンタクトを要求する段階と、
前記自動コンタクトディストリビュータにより、前記エージェントをコンタクトに割り当てる段階と、
前記自動コンタクトディストリビュータにより、前記エージェントに割り当てられたコンタクトの識別子を前記エージェントサブシステムに送信する段階と、
前記エージェントサブシステムにより、前記コンタクトの識別子を受信する段階と、
前記エージェントサブシステムにより、前記エージェントがコンタクトに割り当てられたという旨の通知を前記ワークフローに送信する段階と、
前記エージェントデスクトップにより、メディアルーターからコンタクトを受信する段階と、
前記エージェントデスクトップにより、処理のために前記コンタクトを適切なサブシステムに送信する段階と、更に有する請求項５６記載の方法。
【請求項５８】
デジタルマルチメディアコンタクトセンター用のコンピュータ化されたサーバーであって、
処理ユニットと、
前記処理ユニットにバスを介して接続されたメモリと、
前記バスを介して前記処理ユニットに接続され、更にネットワークに接続するべく動作可能なネットワークインターフェイスと、
前記メモリから実行され、前記処理ユニットにより、前記ネットワークインターフェイスから固有のメディアタイプのコンタクトを受信し、前記コンタクトを前記コンタクトのメディアタイプに固有のワークフローサブシステムに送信し、前記コンタクトを前記ワークフローサブシステムによって識別されたエージェントに前記ネットワークインターフェイスを介してルーティングするメディアルーターと、
前記メモリから実行され、前記処理ユニットにより、前記メディアルーターから受信したコンタクト用のコンタクトワークフローを起動し、自動コンタクトディストリビュータに対してエージェントを要求し、前記自動コンタクトディストリビュータからエージェントの識別子を受信し、前記エージェントの識別子を前記メディアルーターに送信するワークフローサブシステムと、
前記メモリから実行され、前記処理ユニットにより、エージェントによる前記コンタクトの処理要求を前記ワークフローサブシステムに送信するコンタクトワークフローと、
前記処理ユニットにより、エージェントを前記コンタクトに割り当て、前記コンタクトに割り当てられたエージェントの識別子を前記ワークフローサブシステムに送信する自動コンタクトディストリビュータと、を有することを特徴とするコンピュータ化されたサーバー。
【請求項５９】
前記自動コンタクトディストリビュータは、前記処理ユニットにより、エージェントサブシステムからコンタクト要求を受信し、前記エージェントに割り当てたコンタクトの識別子を前記エージェントサブシステムに送信するべく更に動作可能であり、
前記メモリから実行され、前記処理ユニットにより、前記ネットワークインターフェイスからエージェント情報を受信し、前記エージェント用のエージェントワークフローを起動し、前記自動コンタクトディストリビュータに対してコンタクトを要求し、前記自動コンタクトディストリビュータからコンタクトの識別子を受信し、前記エージェントがコンタクトに割り当てられたという旨の通知を前記エージェントワークフローに送信するエージェントサブシステムと、
前記メモリから実行され、前記処理ユニットにより、コンタクト要求を前記エージェントサブシステムに送信するエージェントワークフローと、を更に有する請求項５８記載のコンピュータ化されたサーバー。
【請求項６０】
マルチメディアコンタクトセンター用のコンピュータ化されたクライアントであって、
処理ユニットと、
前記処理ユニットにバスを介して接続されたメモリと、
前記バスを介して前記処理ユニットに接続され、ネットワークに接続するべく更に動作可能なネットワークインターフェイスと、
前記メモリから実行され、前記プロセッサにより、エージェントによるログインを受信し、前記エージェント情報を前記ネットワークインターフェイスを介してエージェントサブシステムに送信し、前記ネットワークインターフェイスからコンタクトを受信し、処理のために前記コンタクトを適切なサブシステムに送信するエージェントデスクトップと、を有することを特徴とするコンピュータ化されたクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顧客コンタクトセンターの運用に関し、更に詳しくは、メディアタイプが異なるコンタクトを処理するコンタクトセンターに関する。
（著作権表示／許諾）
【０００２】
本特許文書の開示内容の一部には著作権保護の対象となるものが含まれている。本著作権所有者は、特許商標庁の特許ファイル又は記録に収録する際の本特許文書又は特許開示の複製については異議を申し立てないが、それ以外の場合については、それがどのようなものであれ、すべての著作権を留保する。本明細書並びに添付の図面に記載されたソフトウェア及びデータに対しては、「Ｃｏｐｙｒｉｇｈｔ（Ｃ）１９９９，  ＮＵＡＳＩＳ  Ｃｏｒｐｏｒａｔｉｏｎ，  Ａｌｌ  Ｒｉｇｈｔｓ  Ｒｅｓｅｒｖｅｄ」という著作権表示を適用する。
【背景技術】
【０００３】
コールセンターは、通常、組織が顧客にサービスするために使用するものである。従来、顧客はＰＯＴＳ（Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ  Ｓｅｒｖｉｃｅ：アナログ電話）でコールセンターにコンタクトしてきたが、現在、電子メール、音声メール、及びウェブブラウジングなどのその他のタイプのメディアアクセスを実装することにより、顧客からのコンタクト方法の拡充を図る組織が増加している。しかしながら、様々なメディアを１つのコールセンターに統合しようとするこれまでの試みは、それぞれのメディアタイプの特性が本質的に異なっているため、効果的でないことが判明している。例えば、電話による通話の場合、その件数は、通常、１日当たり平均数百件であるのに比べ、電子メールの場合には、１日当たり数千件に達することも多く、ウェブサイトに至っては、１日のヒット数が数十万件にものぼることがよくある。又、顧客の期待する応答時間にしても、使用するメディアタイプごとに様々に異なっている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
統合するための１つの方法は、コンタクトをそのメディアタイプに基づいて処理する方式である。しかしながら、この方式は、種類の異なるサービスに同一のメディアタイプを使用可能であるという事実を無視している。例えば、有人のヘルプラインに電話をかけた顧客は、対話型の音声応答システムに電話をかけた顧客とは異なる取り扱いを求めているのである。もう１つの方法は、メディアタイプとは無関係に、すべてのコンタクトをまったく同様に取り扱うという方式である。しかし、この方式では、様々なメディアタイプを同列に扱うことになり、コンタクトの数の違いと顧客ごとに異なる期待応答時間に対処することができない。従って、すべてのコンタクトを即時応答を要するものとして処理するコールセンターは、電子メールにより、あっという間に過負荷状態に陥ることになる。又、これら２つのいずれの方式においても、電子メールシステムや電話システムなどのコールセンターの基盤システムに大規模な変更が必要となり、その結果、それらの基盤システムが本来有していた特徴と利点の多くが消失してしまう。又、従来の実装の中には、音声通話などのアナログコンタクトと電子メールなどのデジタルコンタクトを統合したように見えるものも存在するが、実際には、これら２つのタイプのコンタクトの処理は分離している。
【課題を解決するための手段】
【０００５】
本発明は、前述の短所、欠点、及び問題点を解決するものであり、本発明については、以下の記述内容を参照並びに検討することによって理解されるであろう。
【０００６】
デジタルマルチメディアコンタクトセンター用の階層サービス（ｔｉｅｒｅｄ  ｓｅｒｖｉｃｅ）モデルは、到来するコンタクトをそのコンタクト用のルーティング基準に基づいて初期サービスティアに割り当てると共に、ルーティング基準が変化した場合には、そのコンタクトを異なるサービスティアに昇格又は降格させることができる。ルーティング基準は、コンタクトに関連付けられたメディアタイプに基づいて最初に判定される。デジタルマルチメディアコンタクトセンターには、それぞれが特定タイプのコンタクトをワークフローエンジンに供給するメディアルーターの組が含まれている。ワークフローエンジンは、コンタクト用のワークフローを起動し、コンタクトのサービスティアがエージェントの活動を要求すると、動的自動コンタクトディストリビュータを呼び出してエージェントをそのコンタクトに割り当てる。そして、ワークフローエンジンは、割り当てられたエージェントの識別子をメディアルーターに返し、メディアルーターは、コンタクトをそのエージェントのエージェントデスクトップにルーティングする。そして、エージェントデスクトップが、処理のためにコンタクトをエージェントに提示する。尚、ワークフローエンジンでは、コンタクトへのエージェントの割り当てを制御するエージェント用のワークフローも生成される。
【０００７】
デジタルマルチメディアコンタクトセンターは、特定のメディアタイプに専用の既存のシステムと（それらのシステムに大規模な変更を加えることなく）協働し、既存システムの機能を活用する。例えば、高位のサービスティアに昇格したと電子メールシステムにおいて特別にマーキングされない限り、電子メールは、通常、従来の電子メールシステムの標準動作によって１つのサービスティアで処理される。同様に、音声通話の場合は、当初、エージェント（顧客対応要員）が処理するべく高位のサービスティアに割り当てられるが、適宜に低位のサービスティアに降格させて既存の対話型音声応答システムにルーティング可能である。即ち、デジタルマルチメディアコンタクトセンターは、メディアタイプのみによって必要な処理を判定するのではなく、コンタクトが必要としているサービスレベルに従ってコンタクトを処理するのである。又、デジタルマルチメディアコンタクトセンターは、それぞれのサービスティアに予想されるコンタクトの数に最も適した処理方法を実装している。
【０００８】
本発明は、様々なシステム、クライアント、サーバー、方法、及びコンピュータ読み取り可能な記録媒体について説明するものである。この要約に記述されている本発明の態様と利点に加え、添付の図面と以下の詳細な説明を参照することにより、本発明の更なる態様と利点が明らかになるであろう。
【発明を実施するための最良の形態】
【０００９】
本発明の実施例に関する以下の詳細な説明では、添付の図面を参照しており、それらの図面においては、同様の参照符号で同様の要素を示すと共に、本発明を実施可能な特定の実施例を例示している。当業者が本発明を実施できるよう、十分詳細にそれらの実施例について説明しているが、その他の実施例も利用可能であって、本発明の範囲を逸脱することなく、論理的、機械的、電気的、機能的、及びその他の変更を加えることが可能であることを理解されたい。従って、以下の詳細な説明は、限定を目的とするものと解釈されてはならず、本発明の範囲は、添付の請求項によってのみ定義されている。
【００１０】
以下の詳細な説明は、４つの節と１つの結論に分かれている。第１節においては、本発明についてシステムレベルで概説する。第２節では、フローチャートを参照し、本発明による実施例の方法について説明する。第３節では、本発明による特定のインターネットコンタクトセンター（ｉＣＣ）の実装について説明する。そして、最終節においては、本発明の実施例を実施可能な動作環境について説明する。
【００１１】
（システムレベルの概要）
本発明による実施例のシステムレベルの動作について、図１及び図２を参照して概説する。
【００１２】
図１は、デジタルマルチメディアコンタクトセンター用の３ティア構造のサービスモデル１００を示している。図示のごとく、セルフサービスティア１０１、遅延サービスティア１０３、及び即時支援ティア１０５という３つのサービスティアが存在している。センターに対してセルフサービスティア１０１でアクセスするコンタクトは、コンタクトセンターのエージェント（顧客対応要員）の支援を必要としないものであり、遅延ティア１０３及び即時支援ティア１０５でサービスを受けるコンタクトは、エージェントの対応を必要とするものである。遅延ティア１０３でセンターにアクセスするコンタクトは、エージェントに対してエージェントのコンピュータデスクトップのバックグラウンドタスクとして「プル」モードで提示される。エージェントは、処理を要する即時支援コンタクトが存在しない場合に、遅延コンタクトを取得（プル）して処理する。一方、即時支援ティア１０５のコンタクトは、フォアグラウンドタスクとして「プッシュ」モードで提示される。エージェントのデスクにプッシュされる即時支援コンタクトは、いずれの時点においても１つだけであり、そのコンタクトが即時処理を要することがエージェントには明白である。尚、コンタクトの提示の際には、関連する顧客情報も示される。各ティア用のコンポーネントは、それぞれ規模の異なるコンタクトを処理するべく設計されている。即ち、セルフサービスティアコンポーネントは、遅延ティアコンポーネントよりも大量のコンタクトを処理するようになっており、遅延ティアコンポーネントは、即時支援ティアコンポーネントよりも大量のコンタクトを処理するようになっている。
【００１３】
コンタクトセンターに到来したコンタクトは、コンタクトセンターにアクセスする際にそのコンタクトにより使用されるメディアタイプに基づき、最初に３つのティアの中の１つに割り当てられる。音声通話、電子メール、及びワールドワイドウェブという３つのメディアタイプを参照し、図１に示されている実施例について説明を継続する（但し、本発明は、これらに限定されるものではない）。音声通話は、最初に即時支援ティア１０３にルーティングされるが、電子メールは、最初に遅延ティア１０２にルーティングされ、ウェブコンタクトは、最初にセルフサービスティア１０１にルーティングされる。そして、その後、コンタクトを別のティアに昇格又は降格させるルーティング（図１に矢印で示されているもの）を実行可能である。この後からのルーティングは、優先順位、アクセス電話番号、タイムアウトなどのコンタクトセンターの所有者又は加入者が定義した要因、並びにコンタクトの動作などの環境的な要因を含む１つ又は複数のルーティング基準に基づいて実行することができる。このコンタクトに関連付けられたルーティング基準は、コンタクトセンターの様々なコンポーネントがコンタクトを処理する際に変化可能である。例えば、コンタクトのルーティング基準が既定のしきい値を超過した場合に、コンタクトを昇格又は降格させることができる。従って、「要応答期限」が経過した時点で電子メールにまだ応答していない場合には、その電子メールは、即時支援ティア１０３に昇格する（矢印１１１）。音声通話は、当初、即時支援ティア１０３にルーティングされるが、発信者がボイスメールを残すことを選択した場合には、遅延ティア１０３に降格し（矢印１１５）、そのコンタクトが、更なる処理のために対話型音声応答（ＩＶＲ）システムに送付された場合には、セルフサービスティア１０３に降格する（矢印１１３）。セルフサービスのウェブコンタクトは、ウェブサイトに提供されている「チャットするには、ここをクリック」又は「通話するには、ここをクリック」ボタンによって即時支援ティア（１０３）に昇格し（矢印１０７）、そのコンタクトが電子メールの送信を選択した場合には、遅延ティア１０３に昇格させることができる（矢印１０９）。メディアタイプごとの昇格及び降格の詳細については、フローチャートを参照し、次節において更に詳細に説明する。又、模範的な実施例では、理解を容易にするべく、音声、電子メール、及びウェブコンタクトを中心に説明しているが、本発明は、ファックス、「ファックスバック」、ビデオなどを含むすべての使用可能なアナログ及びデジタルメディアタイプを包含するものであり、更には、その他のＷＡＮやＬＡＮにも拡張可能であることが理解されるであろう。又、コンタクトは、その初期のメディアタイプに限定されるものではなく、従って、例えば、コラボレーションセッションのコンタクトとエージェントは電話による通話が可能であり、電子メールメッセージに対して返信ファックス又は電話通話を生成したり、コラボレーション要求がタイムアウトした場合にそのコンタクトに対して電子メールメッセージを生成して設定時間内の応答を約束したりすることが可能であることも理解されるであろう。
【００１４】
図１に示されている３ティア構造のサービスモデル１００はデジタルマルチメディアコンタクトシステムで稼動するものであり、このシステムの一実施例が図２に示されている。このコンタクトセンター用のシステムアーキテクチャ２００は、ワークフローエンジン２０１に基づいたものであり、このワークフローエンジンは、ワークフローステップによってセンター内のエージェントの活動を管理する。メディアルーターの組２２１の中の１つによってワークフローサブシステムの組２０５の中の１つにルーティングされるイベントにより、コンタクトワークフローが起動される。各メディアルーター２２１及び対応するそれぞれのワークフローサブシステム２０５は、１つのコンタクトメディアタイプの専用になっている。一方、エージェントワークフローは、エージェントデスクトップコンポーネント２２９がエージェントサブシステム２１９にルーティングするイベントによって起動される。ワークフローをトリガするイベントには、コンタクトセンターに到来する新規の通話やエージェントのログインが含まれる。コンタクト用のワークフローは、そのコンタクトが終了するまでアクティブ状態に維持され、エージェント用のワークフローは、そのエージェントがコンタクトセンター２００をログアウトするまでアクティブ状態に維持される。
【００１５】
これらのワークフローは、ワークフローロジック２０７によって実行される。イベントは、メッセージ伝達レイヤ２０３により、ワークフローロジック２０７とワークフローサブシステム２０５間で伝達される。これらのイベントにより、既存のコンタクト又はエージェントワークフローの実行フローを変更することも可能である。
【００１６】
即時支援コンタクト用のワークフローは、ワークフローロジック２０７によって実行される際に、動的ＡＣＤ（自動コンタクトディストリビュータ）２４１によってエージェントをコンタクトに割り当てる。この割り当ては、エージェントのワークフローにも反映される。以下に、この動的ＡＣＤ２４１の動作について更に詳細に説明する。
【００１７】
コンタクトセンター２００に到来したコンタクトは、適切なワークフローサブシステム２０５により、以前定義されている分類の組（例：販売、顧客サービス、サポートなど）に従って最初に分類される。又、そのコンタクトの最適なルーティングを判定するために、追加情報も収集される。コンタクトをルーティング可能なエージェントの組を絞り込む情報を「コンタクト要件」と呼ぶ。このコンタクト要件の例として、製品知識、言語の流暢さ、及びそのコンタクトとの以前の通信が含まれる（それぞれのコンタクトは、新規のものと見なされる）。この段階で、すべてのメディアタイプから、音声通話の場合であれば、発信電話番号や着信電話番号などの発信元及び宛先情報が一貫性をもって収集される。又、ＩＶＲメニューオプションに対する応答に基づき、主題情報を音声コンタクトから収集することも可能である。
【００１８】
音声ルーター２２３は、音声サブシステム２１３と従来のデジタル電話システム（音声サーバー２２２）間のインターフェイスを提供しており、音声サーバーの例としては、ＩＰ（インターネットプロトコル）通話を処理するタンド社（Ｔｕｎｄｏ  Ｃｏｒｐｏｒａｔｉｏｎ）が提供するＤＯＴ（分散オープンテレフォニー）サーバーなどがある。音声サブシステム２１３は、通話がコンタクトセンター２００に到来した際にワークフローを起動し、そのワークフローの判定に従って通話をエージェントに（或いは、音声メール又はＩＶＲに）リダイレクトするべく要求を音声サーバー２２２に送信する。音声サーバー２２２は、インターネットなどのデジタルワイドエリアネットワーク（ＷＡＮ）２２０、或いはアナログ音声通話２５３をＶｏＩＰ（ｖｏｉｃｅ−ｏｖｅｒ−ＩＰ）通話に変換するタンドゲートウェイ（Ｔｕｎｄｏ  Ｇａｔｅｗａｙ）などのゲートウェイ２５１からデジタル音声通話（ＶｏＩＰと呼ばれるもの）を直接受信する。尚、このゲートウェイ２５１により、発信者に応答するためのデジタル電話システム２２２のＶｏＩＰ通話からアナログ音声信号への変換も実行される。
【００１９】
ＷＡＮ２２０から受信した遅延コンタクトは、シスコシステムズ社（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ）が提供しているＣｉｓｃｏ  Ｅｍａｉｌ  Ｍａｎａｇｅｒなどの従来の電子メールシステム（電子メールサーバー２２６）によって処理される。電子メールシステムは、独自のインラインルールエンジンを使用し、到来する電子メールを処理すると共に、エージェントがバックグラウンドタスクとしてアクセスできるよう、それをメールボックスに配置する。エージェントは、これらのメールボックスから遅延コンタクトを明示的に取得する。電子メールエスカレータ２２７は、遅延から即時支援に昇格する電子メールに対する電子メールサブシステム２１７と従来の電子メールシステム間のインターフェイスを提供している。この電子メールエスカレータ２２７は、要対応期限や顧客価値パラメータなどの昇格のための既定の基準を満足する未処理電子メールを検出するべくメールボックスを定期的にチェックする。そして、電子メールに関する情報（顧客、優先順位など）を収集し、電子メールサブシステム２１７に供給する。一実施例においては、電子メールを受信時刻の順番に評価し、昇格基準を満足する電子メールを分類に従って（及び特定の分類内で）分類した後に、電子メールサブシステム２１７に先入先出（ファイフォ）基準によって伝達する。
【００２０】
電子メールサブシステム２１７は、そのコンタクトが即時支援コンタクトに昇格する資格を有しているかどうかをコンタクト情報に基づいて判定し、資格を有する場合には、コンタクトワークフローを起動する。そして、ワークフローが電子メールのエージェントへのルーティングの設定に成功すると、電子メールエスカレータ２２７にそのエージェントのアドレスが返され、そのアドレスは、エージェントへの実際のルーティングのために電子メールサブシステム２１７に伝達される。電子メールに対するオーディオ添付ファイルとして音声メールをエージェントにルーティングする実施例においては、電子メールエスカレータ２２７は、更に適宜に音声メールを即時支援ティアに昇格させるべく機能する。
【００２１】
ＷＡＮ２２０で発生するセルフサービスコンタクトは、従来のウェブサーバー２２４によって処理される。このようなサーバーは、知識ベース（即ち、ＦＡＱ（ｆｒｅｑｕｅｎｔｌｙ  ａｓｋｅｄ  ｑｕｅｓｔｉｏｎｓ）の組）をブラウジングし検索する機能を提供することができる。コラボレーションルーター２２５は、コラボレーションサブシステム２１５と、ウェブサーバー２２４上で（或いは、これとの関連で）稼動する従来のコラボレーションシステム間のインターフェイスを提供しており、このコラボレーションシステムの例としては、シスコシステムズ社（Ｃｉｓｃｏ  Ｓｙｓｔｅｍｓ）が提供するＣｉｓｃｏ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｓｅｒｖｅｒなどがある。ウェブサーバーのウェブページを変更し、コラボレーションシステムに接続するための「チャット／通話するには、ここをクリック」ボタンを配置する。ウェブコンタクトがこのボタンをクリックすると、コラボレーションシステムは、イベントをコラボレーションルーター２２５に送信し、コラボレーションルーターは、このイベントをコラボレーションサブシステム２１５に送信する。コラボレーションサブシステム２１５は、そのコンタクトが即時支援コンタクトに昇格する資格を有しているかどうかを判定し、資格を有する場合には、コンタクトワークフローを起動する。そして、コラボレーション要求のエージェントへの割り当てが完了すれば、実際のルーティングのために、エージェントアドレスがコラボレーションルーター２２５に返される。必要に応じて、その他のエージェントをコラボレーションセッションに含めることも可能である。
【００２２】
エージェントサブシステム２１９は、１つ又は複数のエージェントデスクトップ２２９とエージェントイベント用のワークフローロジック２０７間のインターフェイスを提供している。対応するエージェントデスクトップ２２９からエージェントのログインの通知を受信すると、エージェントサブシステム２１９は、そのエージェントを検証した後に、そのエージェントがログアウトするまでのエージェントのワークプロセスを規定するエージェントワークフローを起動する。エージェントデスクトップ２２９は、エージェントのあらゆる状態変化についてエージェントサブシステム２１９に対して通知する。エージェントサブシステム２１９は、エージェントの電話を監視しアウトバウンドの通話イベントを検出する責任も負っている。エージェントサブシステム２１９は、エージェントの状態を「電話中」に変化させるべく、この情報をワークフローロジック２０７に伝達する。又、エージェントサブシステム２１９は、エージェントが開始したコンタクトを追跡できるよう、エージェントが通話を開始した際に「アウトバウンド通話」イベントをエージェントのワークフローに送信する。
【００２３】
エージェントデスクトップ２２９は、エージェントのデスクトップにおけるタスクの提示を制御する。これらのタスクは、前述のようにコンタクトセンター２００がインターフェイスしている複数の従来システム、並びにワークフローエンジン２０１から発生するものである。従来システムのそれぞれは、独自のユーザーインターフェイスを有している。又、コンタクトセンター及び個別のエージェントの活動に関する統計情報を提供するものなど、監視ツールを特定のエージェントに提供することも可能である。エージェントデスクトップ２２９は、これらの別個のユーザーインターフェイスを単一の首尾一貫したインターフェイスに統合する（この単一のインターフェイスは、エージェントに対してフォアグラウンドタスクとして即時支援コンタクトを提示し、バックグラウンドタスクとして遅延コンタクトを提示する）。従って、例えば、フォアグラウンドモードは、電話インターフェイス、コラボレーションインターフェイス、及び電子メールインターフェイス（昇格した電子メール用）を統合するものである。同様に、バックグラウンドモードは、例えば、電子メールインターフェイス（昇格しない電子メールや、音声メール、ファックス、フォームなどのその他の遅延コンタクト用）と監視ツールを統合するものである。エージェントデスクトップ２２９は、既存の顧客関連管理アプリケーションとも協働し、フォアグラウンド及びバックグラウンドタスク用の顧客情報をエージェントに提供する。これらのエージェントデスクトップ２２９と従来システム２２２、２２４、２２６間の接続については、図を簡潔なものにするべく図２には示されていない。
【００２４】
図示していない別の実施例においては、エージェントデスクトップ２２９は、エージェントサブシステム２１９と直接通信せず、複数のデスクトップからの同時要求を処理し応答をルーティングするデスクトップマネージャコンポーネントによって管理されている。複数のデスクトップを同時に処理するべく、デスクトップマネージャのクライアント部分がそれぞれのエージェントデスクトップコンポーネント内で稼動し、エージェントサブシステム２１９から到来するイベントをキューイングすると共にデスクトップからのポーリングに応答してそれらを適切なデスクトップに送信するサーバーと通信している。エージェントサブシステムを実行するものとは別個のマシンでデスクトップマネージャのサーバー部分を稼動させることにより、コンタクトセンターのスケーラビリティが拡張される。
【００２５】
上述のコンタクトセンター２００のコンポーネント間の関係は、例を参照することにより、最も容易に理解することができる。アナログ音声通話２５３をゲートウェイ２５１が受信すると、その音声通話はＶｏＩＰ通話に変換され、音声サーバー２２２によって音声メディアルーター２２３に送付される。音声メディアルーター２２３は、この到来したコンタクトについて音声サブシステム２１３に対して通知し、音声サブシステム２１３は、そのコンタクト用のワークフローを生成する。そして、ワークフローは、そのコンタクトが即時支援ティア１０３に留まる場合には、動的ＡＣＤ２４１に対してそのコンタクトにエージェントを割り当てるように要求する。動的ＡＣＤ２４１は、エージェント情報を音声サブシステム２１３に返し、音声サブシステムは、そのエージェント及びコンタクト情報を音声ルーター２２３に送信する。すると、音声ルーター２２３は、ルーティングのために、その情報を音声サーバー２２２に送信する。この結果、音声サーバー２２２は、適切なエージェントデスクトップ２２９にそのコンタクトをフォアグラウンドタスクとして転送する。
【００２６】
次に図２を再度参照すれば、ワークフローエンジン２０１には、コンタクトレコード２３３及びエージェントレコード２３５のデータベース２３１も含まれている。データベース単一化レイヤ２６１は、データベース２３１内の情報と音声サーバー２２２、ウェブサーバー２２４、及び電子メールサーバー２２６が維持管理している情報をコンタクトセンターの首尾一貫したビューに合成する。コンタクト及びエージェントワークフローは、ワークフローからの要求をデータベース単一化レイヤ２６１に対する呼び出しに変換するデータベースサブシステム２１１を介してデータベース２３１への検索要求及び更新を実行する。図２に示されていない別の実施例では、コンタクト及びエージェントワークフローは、データベース単一化レイヤ２６１に対してクエリを直接実行する。更に別の実施例においては、データベース単一化レイヤがデータベースサブシステム２１１に内蔵されている。
【００２７】
データベース単一化レイヤ２６１は、コンタクトが使用しているメディアタイプに関係なく、コンタクトセンターの活動の報告と分析を実行できるよう、コンタクトセンターのその他の全コンポーネントにアクセスし、且つそれらからもアクセス可能になっている。尚、このデータベース単一化レイヤ２６１とその他のコンポーネント間の接続については、図を簡潔にするために図２には示されていない。又、監視ツール（図示されていない）により、データベース単一化レイヤ２６１を介して情報を取得し、コンタクトセンターの状態をグラフィカル且つ／又は数値的に示すことも可能である（サービスを受けるべく待機中のコンタクトの数や休憩中のエージェントの数など）。例えば、監視ツールにより、まだサービスを受けていないコンタクト数を分類に従ってブレークダウンして表示することが可能である。又、従来の報告アプリケーションを使用し、データベース単一化レイヤ２６１を介して情報を取得して標準化された報告書を生成することもできる。エージェント、スーパーバイザ、及びマネージャは、各々それらの報告書の組にアクセスし、コンタクトセンター、エージェントグループ、又は個別のエージェントの効率を判定可能である。データベース単一化レイヤ２６１により、請求情報の収集及びコンタクトセンターを介したコンタクトの追跡も可能となる（いずれの場合も、メディアタイプを横断したものが提供される）。
【００２８】
図２に示されている実施例においては、動的ＡＣＤ２４１は、待機中のコンタクト２３７と利用可能なエージェント２３９の未ソートのリストを使用してコンタクトとエージェントをマッチングさせる。ワークフローエンジン２０１は、これらコンタクト未ソートリスト２３７及びエージェント未ソートリスト２３９の生成及び管理を動的ＡＣＤ２４１に実行させる。尚、図２には、データベース２３１とは別個とものとして示されているが、これらの未ソートリスト２３７、２３９は、ワークフローエンジン２０１及び動的ＡＣＤ２４１の指示に従ってデータベースサブシステム２１１が管理するデータベース構造であってもよいことが理解されるであろう。
【００２９】
前述のように、コンタクト要件（例：製品知識、言語の流暢さ、以前の通信）を使用し、コンタクトをルーティング可能なエージェントの組を判定する。この組の中の個々のエージェントの適合性の判定に使用する情報を「エージェント属性」と呼び、これには職位やコンタクトの待機時間などのパラメータが含まれる。又、エージェントは、１つ又は複数のコンタクト分類の専任であってもよい。即時支援コンタクトがエージェントを要求すると、動的ＡＣＤ２４１は、エージェントをコンタクト分類及び要件に照らしてフィルタリングし、その結果得られたエージェントにその属性に従って優先順位を付加することにより、利用可能なエージェントのリスト２３９から適切なエージェントを検索する。エージェントが利用可能であれば、動的ＡＣＤ２４１は、コンタクトをそのエージェントにルーティングするべくそのエージェントの情報を適切なサブシステムに返し、そのエージェントを利用可能なエージェントリスト２３９から除外する。一方、適切なエージェントが利用可能でない場合には、コンタクトは、適切なエージェントがそのコンタクトを取得するべく利用可能になるまで待機中のコンタクトリスト２３７内に配置される。同様に、エージェントがコンタクトを要求した場合には、待機中のコンタクトリスト２３７を分類及び「エージェント要件」（例：メディアタイプ、テリトリー）によってフィルタリングし、キューにおける経過時間及びビジネス価値などのコンタクト属性に従って優先順位を付加する。このマッチングプロセスは、後述するように、即時支援コンタクトの場合には、コンタクトワークフロー内のステップによって呼び出され、利用可能なエージェントの場合には、エージェントワークフロー内のステップによって呼び出される。
【００３０】
図２に示されているように、メディアルーター２２１のそれぞれに複数のインスタンスが存在してもよい。又、コンタクトセンター内のそれぞれのエージェントワークステーション上で稼動するエージェントデスクトップ２２９にもインスタンスが存在している。又、ワークフローサブシステム２０５の単一の組しか図示されていないが、作業負荷に応じて、ワークフローエンジン２０１には、１つ又は複数のワークフローサブシステム２０５の複数のインスタンスを含むことができることも理解されるであろう。更には、コンタクトセンター２００内に、複数のワークフローエンジン２０１が存在してもよい。
【００３１】
又、本アーキテクチャでは、様々なコンポーネントを複数のコンピュータに分散させることが可能であり、この結果、コンタクトセンター２００に拡張性を付与することができる。前述のように、それぞれのコンポーネントは、その他のコンポーネントにサービスを提供している。例えば、動的ＡＣＤ２４１は、エージェント割当サービスを提供し、コラボレーションサブシステム２１５は、コラボレーションワークフローサービスを提供する。一実施例においては、サービスマネージャ（図示されていない）がコンタクトセンターのサービスプロバイダを登録及び検出するための中央ロケーションを提供する。コンポーネントがサービス（ワークフローの初期化など）を必要とする場合には、そのサービスのロケーションを検出するべくサービスマネージャを呼び出す。サービスマネージャは、そのサービスに登録されているすべてのプロバイダのリストをチェックし、適切なプロバイダを選択する（例：要求者に至るルートが最短のものなど）。最終的に、サービスマネージャは、それぞれの未使用のサービス能力に基づいて最良のプロバイダを選定する。従って、コンタクトセンター２００は、その作業負荷を処理するのに必要とされる新規の又は既存のマシン上で継続的にサービスを開始することができる。
【００３２】
以上、本節においては、本発明による実施例のシステムレベルの動作について概説した。コンタクトの昇格及び降格が可能なティア構造のサービスモデルと、デジタルマルチメディアコンタクトセンターにおけるその動作について説明した。このデジタルマルチメディアコンタクトセンターでは、必要な処理を判定するのに、メディアタイプのみに依存するのではなく、コンタクトが必要としているサービスレベルに従ってコンタクトを処理している。サービスのレベルごとにコンタクトの量が異なるため、コンタクトセンターには、様々な処理方法が存在することが好ましい。従って、ワークフローエンジンは比較的少数のコンタクトをリアルタイムで処理するのに優れているため、ワークフローを使用し、メディアタイプに関係なく即時支援コンタクトを処理している。又、ワークフローエンジンにより、即時支援を必要とする高優先順位コンタクトの処理のきめ細かい制御も加入者に提供されている。一方、遅延コンタクトは、少なくとも即時支援コンタクトよりはその数が大きく、電子メール（及び／又はボイスメール）システムに通常実装されているものなどのインラインルールエンジンによって最も効率的に処理している。そして最後に、最も数が多いのがエージェントの介入が不要なセルフサービスコンタクトであり、これには、対話型音声応答、自動電子メール応答、及びウェブサーバー上の知識ベース／ＦＡＱロジックなどの処理技法を使用している。
【００３３】
本発明について、３ティアモデルの観点で説明したが、本発明は特定数のサービスティアに限定されるものではない。又、本発明について、同一のコンタクトセンター内で音声通話、電子メール、及びウェブコンタクトを混在させた例を使用して説明したが、本発明はこれに限定されるものでもない。更には、本発明は、ティア構造のサービスモデルによるコンタクトの昇格及び降格が可能なすべての基盤アーキテクチャにおいて実施可能である。
【００３４】
（本発明の実施例における方法）
前節では、本発明による実施例のシステムレベルの動作について概説した。本節においては、マルチメディアコピーコンタクトセンター２００の一実施例における特定の方法について、一連のフローチャートと一連のティア図を参照し、コンピュータソフトウェアの観点で説明する。これらのフローチャート及びティア図は、コンタクトセンター内の関連コンポーネントに従って分類することができる。即ち、図３Ａ及びフローチャートの図４Ａ〜Ｃは、音声コンポーネントの処理を示している。図３Ｂ及びフローチャートの図５Ａ〜Ｃは、電子メールエスカレータコンポーネントの処理を示している。図３Ｃ及びフローチャートの図６Ａ〜Ｃは、コラボレーションコンポーネントの処理を示している。そして、エージェントコンポーネントの処理は、図７Ａ〜Ｃのフローチャートのみによって示されている。
【００３５】
コンピュータが実行する方法は、コンピュータで実行可能な命令からなるコンピュータプログラムを構成する。フローチャートを参照しそれらの方法について説明することにより、適切に構成されたコンピュータ（コンピュータ読み取り可能な記録媒体からの命令を実行するコンピュータのプロセッサ）上で、図２のコンタクトセンター２００の１つ又は複数のコンポーネントとして機能する方法を実行する命令を含むプログラムを当業者が開発できるようになる。これらのコンピュータで実行可能な命令は、コンピュータプログラミング言語で作成したり、ファームウェアロジックに組み込んだりすることができる。公認の規格に準拠するプログラミング言語で作成すれば、それらの命令は、様々なハードウェアプラットフォーム上において、様々なオペレーティングシステムのインターフェイスで実行可能になる。尚、本発明の説明においては、特定のプログラミング言語を参照しない。本明細書に記述された発明の開示内容を様々なプログラミング言語を使用して実装可能であることが理解されるであろう。又、当技術分野では、処理したり、結果を生成したりするソフトウェアを様々な名称（例：プログラム、手順、プロセス、アプリケーション、モジュール、ロジックなど）で呼んでいるが、このような表現は、コンピュータでソフトウェアを実行することによってコンピュータのプロセッサに処理させたり、結果を生成させたりするということを簡潔に言い表すものに過ぎない。
【００３６】
図３Ａに示されているように、音声コンポーネントは、音声による電話の通話を受信し、即時支援のためにエージェント３０５に送付するか、或いはセルフサービスとして対話型音声応答システム３０１に送付する。当初、エージェント３０５に対して送付されても、所与の期間にわたってエージェントが利用可能でなければ、ワークフローエンジンは、そのコンタクトを音声メール３０３に降格させることができる（矢印３１１で示されている）。又、ワークフローエンジンは、通話の優先順位が既定の値を下回っていたり、或いは発信者がセルフサービスを選定した場合には、即時支援コンタクトを対話型音声応答（ＩＶＲ）３０１に降格させることができる（矢印３１３で表されている）。そして、ユーザーが音声メールを残すことを選定した場合には、音声メールマネージャによってセルフサービスコンタクトを昇格させることができる（矢印３０９で表されている）。この代わりに、セルフサービスコンタクトがエージェントからの能動的な支援を要求している場合には、ワークフローエンジン２０１及び動的ＡＣＤ２４１は、矢印３０７で表されているように、コンタクトを即時支援３０５に昇格させる。後程エージェントが処理するべく音声メールの録音を電子メールに添付する実施例においては、図３Ｂ及び図５Ａ〜Ｃを参照して後述するように、音声メールが添付された電子メールを電子メールエスカレータ、ワークフローエンジン、及び動的ＡＣＤの組み合わせによって昇格させることができる（矢印３１５によって表されている）。
【００３７】
次に図４Ａ〜Ｃを参照すれば、図４Ａのフローチャートは、音声ルーター方法４００を実行した際に音声ルーターコンポーネント２２３が実行する動作を示している。まず、音声ルーター方法４００により、音声サーバー２２２から通話の通知を受信する（ブロック４０１）。音声ルーター方法４００は、ゲートウェイから受信する情報の一部として通話の発信元及び宛先電話番号を受信し、この情報を音声サブシステム２１３に送信する（ブロック４０３）。音声サブシステムは、後述するように、その通話をルーティングする方法を判定し、そのルーティング情報を音声ルーターに送信する。音声ルーター方法４００は、このルーティング情報を受信し（ブロック４０５）、ルーティングを実行するべく、そのルーティング情報を音声サーバー２２２に送信する（ブロック４０７）。
【００３８】
次に図４Ｂを参照すれば、音声サブシステムコンポーネント２１３が実行する音声サブシステム方法４２０が示されている。まず、音声サブシステム方法４２０により、音声ルーターから発信元及び宛先電話番号を受信すると共に（ブロック４２１）、追加コンタクト情報を収集し、そのコンタクト用のコンタクトレコードを生成する（ブロック４２３）。次に、音声サブシステム方法４２０により、ワークフローエンジン２０１からそのコンタクト用の適切な音声ワークフローを呼び出す（ブロック４２５）。この音声ワークフローのステップの中の１つは、サービスティアを判定するものである（即ち、即時支援か、又はセルフサービスか）。そのコンタクトがセルフサービスコンタクトであれば、音声サブシステム方法４２０により、ブロック４２７において、音声ワークフローからＩＶＲ要求を受信し、音声ルーターがその音声通話を対話型音声応答にルーティングするように、ブロック４２９において、そのＩＶＲ情報を音声レコーダに送信する。一方、ワークフローがそのコンタクトを即時支援コンタクトと判定すれば（ブロック４３１）、音声サブシステム方法４２０により、ワークフローからエージェント要求を受信し、これに応答して動的ＡＣＤに対してエージェントを要求する（ブロック４３３）。そして、動的ＡＣＤが、前述のように、エージェントをコンタクトとマッチングさせるべく試みる。既定の期間にわたってエージェントが利用可能でない場合には、ワークフローは、コンタクトに対して追加オプションを提示させる。一例においては、コンタクトは、音声メールへのルーティングを選択可能であり、この時点で、ワークフローエンジンは、コンタクト除去イベントを送信し、これが音声サブシステム方法４２０の４３５において受信される。これに応答し、音声サブシステム方法４２０により、動的ＡＣＤに対してリストからこのコンタクトを除去するように要求する（ブロック４３７）。一方、エージェントが利用可能な場合には、動的ＡＣＤは、そのエージェント情報を音声サブシステム方法４２０にて送信し、音声サブシステム方法により、選定されたエージェントに対してそのコンタクトが音声ルーターによって適切にルーティングされるよう、そのエージェント情報を音声ルーターに送信する（ブロック４３９）。音声サブシステム方法４２０により、継続的にコンタクトを監視し、その通話に対して妥当な期間内に応答したかどうかを判定する（ブロック４４１）。そして、妥当な期間内に応答された場合には、音声サブシステム方法４２０により、後述するように、ワークフローが継続してそのコンタクトを処理するよう、ブロック４４３において、エージェント処理イベントを音声ワークフローに注入する。この代わりに、その通話に対して応答が行われない場合には、音声サブシステム方法４２０により、ブロック４３３に戻り、動的ＡＣＤに対して別のエージェントを要求する。一実施例においては、音声サブシステム方法４２０により、データベース２３１に音声通話に関するコンタクト情報を生成及び更新するイベントを生成する。
【００３９】
図４Ｃは、音声コンタクトに対してワークフローロジック２０７が実行する音声ワークフロー４５０の一実施例を示している。起動後に、音声ワークフロー４５０は、発信元電話暗号からコンタクト情報を判定できない場合には、ブロック４５１（破線で示されている）において、ＩＶＲプロセスによってコンタクト情報を取得する。次に、ブロック４５３において、コンタクトをその情報に基づいて分類する。そして、このコンタクトに付与するサービスレベルを判定する（ブロック４５５）。コンタクトが即時支援の資格を有していない場合には、音声ワークフロー４５０は、音声サブシステムに対してコンタクトをＩＶＲシステムにルーティングするように要求する（ブロック４７７）。ＩＶＲセルフサービスティア３０１では、コンタクトは、特定の数字を入力することによって、音声メールを残すことを選択したり、ＩＶＲセッションにおいてエージェントを待つことを選択可能であるため、音声ワークフロー４５０はこのコンタクトの監視を継続する。音声ワークフロー４５０は、ブロック４７９において、入力された数字をイベントとして取得し、そのイベントに応じて、コンタクトを音声メールシステムに転送することによって（ブロック４７１）コンタクトを遅延支援ティア３０３に昇格させるか、或いはそのコンタクト用のエージェントを要求することによって（ブロック４５７）即時支援ティア３０５に昇格させる。一実施例においては、電子メールシステムマネージャが音声メールマネージャとして機能し、ブロック４７１に示されている処理がワークフローによって実行される。ワークフローは、コンタクトのメッセージを録音し、その録音を一般メールボックスに対してアドレス指定された電子メールメッセージに添付し、電子メールサーバー２２６に転送するべく、その電子メールを電子メールサブシステム２１７に送信する。
【００４０】
コンタクトが即時支援の資格を有している場合には、ブロック４５７において、音声サブシステムに対してエージェントを要求し、発信者を待機状態にして音声サブシステムからのイベントを待つ（ブロック４５９）。このコンタクトに割り当てられたエージェントがその通話に応答したために音声サブシステムによってエージェント処理イベントが音声ワークフロー４５０に注入されると、ブロック４６１において、エージェント処理イベントが検出され、コンタクト情報が音声サブシステムに送信される（ブロック４６３）。次に、音声ワークフロー４５０は、ブロック４６５に示されているように、イベントを待ち、且つそれらのイベントに適切に応答（コンタクトレコードの更新を含む）しつつ通話が終了するまでループする。そして、通話が終了すると、音声ワークフロー４５０は、ブロック４６７において、セッション離脱イベントをエージェントサブシステムに送信し、新規のコンタクトを受信するべく、そのエージェントが利用可能となる。
【００４１】
エージェントへのルーティングの前に、コンタクトが音声メールへの送信を選択した場合には（ブロック４６１）、音声ワークフロー４５０は、ブロック４６９において、コンタクト除去イベントを音声サブシステムに送信し、動的ＡＣＤが管理しているリストからそのコンタクトを除去する。そして、音声ワークフロー４５０１は、そのコンタクトを音声メールマネージャに転送してメッセージを録音し（ブロック４７１）、メッセージを録音した後にその通話を終了させる（ブロック４７３）。そして、後程エージェントが処理できるよう、その音声メールを一般メールボックスに送信する（ブロック４７５）。一実施例においては、電子メールシステムにより、音声メッセージが電子メールメッセージに添付され、メールボックス内に配置される。
【００４２】
次に図３Ｂ及び図５Ａ〜Ｃを参照すれば、マルチメディアコンタクトセンター２００の電子メールエスカレータコンポーネントが示されている。図３Ｂに示されているように、遅延電子メール３２３は、電子メールエスカレータ、ワークフローエンジン、及び動的ＡＣＤの組み合わせにより、高優先順位電子メール３２５に昇格する（矢印３２７で示されているもの）。この代わりに、電子メールメッセージを従来の電子メールシステム内の自動応答オプションによって処理することも可能であり、このような電子メールは、電子メールサーバー２２６が自動応答コンタクト３２１に降格させる（矢印３２９で示されているもの）。自動応答オプションは、従来の電子メールシステムにおいて一般的なものであり、この降格のプロセスについては更なる説明を省略する。
【００４３】
図５Ａは、電子メールエスカレータ２２７が実行する電子メールエスカレータ方法５００を示している。電子メールエスカレータ方法５００によれば、電子メールシステムのメールボックス（即ち、キュー）を常にチェックし（ボックス５０１）、前述の要因に基づいて未処理の電子メールを昇格させるべきかどうかを判定する。電子メールの昇格が必要な場合には（ブロック５０３）、その電子メールを高優先順位キューに配置し（ブロック５０５）、ブロック５０７において、電子メール情報を電子メールサブシステム２１７に送信する。図５Ｂを参照して後述するように、電子メールサブシステム２１７は、そのコンタクトにエージェントをマッチングさせて、そのエージェント識別子を返し、ブロック５０９において、その識別子を電子メールエスカレータ方法５００で受信する。そして、電子メールエスカレータ方法５００によれば、フォアグラウンドタスクとして電子メールを（電子メールシステムを介して）エージェントデスクトップにルーティングする（ブロック５１１）。一実施例においては、この電子メールは、既に開かれているデスクトップ上に提示される。そのエージェントが、自分が電子メールを処理する準備が整ったと判断すると、電子メールエスカレータ方法５００により、エージェントデスクトップからエージェント準備完了イベントを受信し（ブロック５１３）、ブロック５１５において、このイベントを電子メールサブシステムに送信する。エージェントワークフローは、その電子メールの処理が完了するまで、そのエージェントをその他のコンタクトに割り当てることはない。別の実施例においては、電子メールエスカレータ方法５００によれば、昇格間近の電子メールを識別しその電子メールの即時処理を要することを示すカラー又は特殊なアイコンなどの視覚的な標識をエージェントに提示するよう、電子メールサブシステムに対して指示する。
【００４４】
電子メールサブシステム２１７として機能するコンポーネントは、電子メールサブシステム方法５２０を実行して図５Ｄに示されている機能を実行する。電子メールサブシステム方法５２０によれば、ブロック５２１において、電子メールエスカレータから電子メール情報を受信し、ブロック５２３において、ワークフローロジック２０７を呼び出す。一実施例においては、電子メールサブシステム方法５２０によれば、ブロック５２３において電子メール情報を受信した際に、その電子メール用のコンタクトレコードを生成し、昇格するべくマーキングする。別の実施例においては、電子メールマネージャがコンタクトセンターが受信したそれぞれの電子メールのコンタクトレコードを生成し、電子メールサブシステム方法５２０が、ブロック５２３において、既存のコンタクトレコードに昇格するべくマーキングする。
【００４５】
ブロック５２５において、ワークフローが電子メールサブシステムに対してエージェントを要求する。そして、電子メールサブシステム方法５２０により、ブロック５２７において、動的ＡＣＤに対してエージェントを要求する。エージェントがコンタクトに割り当てられると、エージェント識別子が動的ＡＣＤから電子メールサブシステム方法５２０により返され、ブロック５２９において、そのエージェント識別子を電子メールエスカレータに返して、その識別されたエージェントに対してコンタクトをルーティングさせる。電子メールサブシステム方法５２０により、ブロック５３１において電子メールエスカレータからエージェント準備完了イベントを受信した際に、エージェント処理イベントを電子メールワークフローに注入する。一実施例においては、電子メールサブシステム方法５２０により、昇格した電子メールに関するコンタクト情報をデータベース２３１に生成及び更新するイベントを生成する。
【００４６】
昇格した電子メール用のコンタクトワークフロー方法５４０が図５Ｃに示されている。起動すると、この昇格した電子メールのワークフローは、ブロック５４１において、電子メールシステムに対してエージェントを要求し、この結果、前述のイベントが発生する。そして、昇格した電子メールワークフロー５４０は、ブロック５４３において、エージェント処理イベントを受信すると、ブロック５４５において、エージェントサブシステム２１９を介して電子メールをエージェントデスクトップに送信する。その昇格した電子メールメッセージの作業をする際に、エージェントは、ブロック５４７に一般的に表されているように、コンタクトレコードの更新を含む特定の機能を昇格した電子メールのワークフロー５４０に実行させるイベントを生成可能である。エージェントが、昇格した電子メールメッセージの作業を終了すると、昇格した電子メールのワークフロー５４０は、ブロック５４９において、セッション離脱イベントをエージェントサブシステムに対して送信する。
【００４７】
図３Ｃは、当初、セルフサービスのウェブサイト３４１を介してコンタクトセンター２００に到来したコンタクトに実行される昇格を示している。電子メールの送信を選択することにより、このコンタクトは、電子メールマネージャによって遅延電子メールコンタクト３４３に昇格することができる（矢印３４９によって表されている）。この代わりに、コンタクトがコラボレーション／チャットボタンをクリックした場合には、ワークフローエンジン及び動的ＡＣＤの組み合わせによって即時支援コンタクト３４５に昇格する（矢印３４７で示されているもの）。電子メールの送信は、従来の電子メールシステムによって処理されるものであり、セルフサービスコンタクト３４１から遅延電子メールコンタクト３４３への昇格については更なる説明は省略する。
【００４８】
次に図６Ａ〜Ｃを参照すれば、セルフサービスウェブコンタクト３４１から即時支援コラボレーションコンタクト３４５へのコンタクトの昇格が示されており、コラボレーションルーター３２５が実行するコラボレーションルーター方法６００からスタートする。コラボレーションルーター方法６００は、ウェブサーバーからコンタクト情報を受信し（ブロック６０１）、そのコンタクトにエージェントを割り当てるべくコンタクト情報をコラボレーションサブシステム２１５に送信する（ブロック６０３）。ブロック６０５においてコラボレーションサブシステムからエージェント識別子を受信すると、コラボレーションルーター方法６００は、その識別されたエージェントのエージェントデスクトップにコラボレーションサーバーを介してコラボレーションセッションをルーティングする（ブロック６０７）。
【００４９】
次に図６Ｄを参照し、コラボレーションサブシステム２１５が実行するコラボレーションサブシステム方法６２０について説明する。コラボレーションサブシステム方法６２０は、ブロック６２１においてコラボレーションルーターからコンタクト情報を受信し、ブロック６２３において、そのコンタクト用のコラボレーションワークフローを呼び出す。このブロック６２３においては、このコラボレーションコンタクト用のコンタクトレコードも生成される。そして、コラボレーションサブシステム方法６２０は、コラボレーションワークフローからエージェント要求を受信し（ブロック６２５）、動的ＡＣＤに対してエージェントを要求する（ブロック６２７）。動的ＡＣＤがエージェント識別子を返すと、コラボレーションサブシステム方法６２０は、コラボレーションセッションを適切なエージェントのデスクトップにルーティングするべく、そのエージェント識別子をコラボレーションルーターに返す（ブロック６２９）。ブロック６２３において、コラボレーションサブシステム方法６２０は、コラボレーションワークフローにエージェント処理イベントを注入する。そして、セッションが終了すると、コラボレーションサブシステム方法６２０は、そのコラボレーションセッションによって発生したイベントをワークフローに注入する（ブロック６３３）。一実施例においては、コラボレーションサブシステム方法６２０は、データベース２３１内にコラボレーションセッションに関するコンタクト情報を生成し更新するイベントを生成する。
【００５０】
次に図６Ｃを参照すれば、コンタクト用のコラボレーションワークフローとしてワークフローロジック２０７が実行するコラボレーションワークフロー方法６４０が示されている。起動すると、コラボレーションワークフロー方法６４０は、ブロック６４１において、コラボレーションサブシステムに対してエージェントを要求する。そして、ブロック６４３において、コラボレーションワークフロー方法６４０は、コラボレーションサブシステムからエージェント処理イベントを受信する。このエージェント処理イベントは、そのエージェントが現在コラボレーションセッションに対する準備が完了していることをワークフローに対して通知するものであり、コラボレーションワークフロー方法６４０は、エージェントサブシステム２１９を介してコンタクト情報をそのエージェントデスクトップに送信する（ブロック６４５）。セッションが終了すると、コラボレーションワークフロー方法６４０は、コラボレーションサブシステムから受信したイベントによってコンタクトレコードを更新する（ブロック６４７）。そして、ブロック６４９において、コラボレーションワークフロー方法６４０は、セッション離脱イベントをエージェントサブシステムに送信する。
【００５１】
次に、図７Ａ〜Ｃのフローチャートを参照し、マルチメディアコンタクトセンター２００がエージェント用に使用する方法について説明する。図７Ａは、エージェントデスクトップ２２９にタスクを提示するエージェントデスクトップ方法７００を示している。エージェントデスクトップ方法７００により、エージェントがコンタクトセンターにログインした際にログインイベントを受信する（ブロック７０１）。ブロック７０３において、エージェントデスクトップ方法７００により、そのエージェント情報をエージェントサブシステム２１９に送信する。エージェントサブシステム２１９及びエージェントワークフロー２０７は、その処理の一部として、そのエージェントをコンタクトが利用できるようにする。ブロック７０５において、エージェントデスクトップ方法７００により、エージェント及びエージェントサブシステムからのメッセージを待つ。ルーティングされたコンタクトを受信すると（ブロック７０７）、エージェントデスクトップ方法７００により、ブロック７０９において、そのコンタクト情報を適切な基盤システム（電子メールシステムやコラボレーションシステムなど）に伝達する。そして、適切なシステムがコンタクトを終了させると、エージェントデスクトップ方法７００により、ラップアップイベントをエージェントサブシステムから受信し（ブロック７１１）、エージェントをラップアップ状態に設定する（ブロック７１３）。そして、エージェントがコンタクトラップアップ手順を完了すると、エージェントデスクトップ方法７００により、ブロック７１５において、ラップアップ終了イベントをエージェントサブシステムに送信する。
【００５２】
エージェントデスクトップ方法７００により、エージェントの休憩やログアウトなどの様々な状態への遷移の処理も行う。エージェントが休憩を要求すると（ブロック７１７）、エージェントデスクトップ方法７００により、その休憩要求をエージェントサブシステムに送信し（ブロック７１９）、エージェントサブシステムは、判定を行うべく、その要求をエージェントワークフローに転送する（後程詳述する）。そして、休憩要求が許可されると（ブロック７２１）、エージェントデスクトップ方法７００により、エージェントの休憩からの復帰を待ち、休憩終了イベントをエージェントサブシステムに送信してエージェントが再度利用可能状態になったことを通知する（ブロック７２３）。
【００５３】
エージェントがログアウトする場合には（ブロック７２５）、エージェントデスクトップ方法７００により、ブロック７２９において、エージェントログアウトイベントをエージェントサブシステムに送信する。一方、ブロック７２７においては、その他のすべてのメッセージがエージェントサブシステムに送信される。尚、当業者であれば、更なる説明を要することなく、エージェントのその他の状態への遷移に必要な処理について容易に理解するであろう。
【００５４】
次に図７Ｂを参照すれば、エージェントサブシステム２１９として機能するコンポーネントが実行するエージェントサブシステム方法７３０が示されている。エージェントがコンタクトセンターにログインすると、ブロック７３１において、エージェントデスクトップからそのエージェント情報を受信する。そして、ブロック７３３において、エージェントサブシステム方法７３０により、ワークフローエンジン２０１からエージェントワークフローを呼び出し、エージェントワークフロー及びエージェントデスクトップ２２９からのイベントを待つ（ブロック７３５）。そして、イベントがエージェントワークフローからのコンタクト要求の場合には（ブロック７３６）、エージェントサブシステム方法７３０は、エージェントデスクトップからの未処理の休憩要求が存在するかどうかをチェックする（ブロック７３７）。そして、存在していない場合には、エージェントサブシステム方法７３０により、ブロック７３９において、動的ＡＣＤに対してそのエージェント用にコンタクトを要求する。動的ＡＣＤがコンタクトを返すと、エージェントサブシステム方法７３０により、コンタクト処理イベントをエージェントワークフローに注入する（ブロック７４０）。エージェント又はコンタクトが通話又はセッションを終了させると、ブロック７４１において、エージェントサブシステム方法７３０により、対応するコンタクトワークフロー（即ち、音声ワークフロー、電子メールワークフロー、又はコラボレーションワークフロー）からセッション離脱イベントを受信し、ブロック７４２において、そのイベントをエージェントワークフローに注入する。エージェントサブシステム方法７３０は、現在のセッション又は通話と関連して、エージェントワークフローからラップアップイベントも受信し（ブロック７４３）、エージェントデスクトップに送信する（７４５）。エージェントによるコンタクトのラップアップが完了したとエージェントデスクトップが判定すると、エージェントサブシステム方法７３０により、ブロック７４６において、エージェントデスクトップからラップアップ終了イベントを受信し、ブロック７４７において、そのイベントをエージェントワークフローに注入する。一方、休憩要求が未処理状態であった場合には（ブロック７３７）、エージェントサブシステム方法７３０により、エージェントワークフローがその休憩要求について決定を下すまで待機する（ブロック７４８）。そして、許可された場合には、ブロック７３５において、エージェントサブシステム方法７３０により、エージェントデスクトップからの休憩終了イベントを待つ。一方、許可されなかった場合には、エージェントサブシステム方法７３０により、ブロック７３９において、動的ＡＣＤに対してコンタクトを要求する。
【００５５】
エージェントサブシステム方法７３０によりエージェントデスクトップから休憩要求を受信すると（ブロック７４９）、休憩開始イベントをエージェントワークフローに送信して（ブロック７７０）応答を待ち、ブロック７５１において、その結果をエージェントデスクトップに転送する。休憩がエージェントワークフローによって許可された場合には（ブロック７５２）、エージェントサブシステム方法７３０により、ブロック７５３において、動的ＡＣＤに対してエージェントリストからそのエージェントを除去するように要求し、ブロック７３５において、エージェントデスクトップからの休憩終了イベントを待つ。休憩終了イベントを受信すると（ブロック７５４）、エージェントサブシステム方法７２０により、ブロック７５５において、休憩終了イベントをエージェントワークフローに注入し、利用可能になったそのエージェントに対してワークフローがコンタクトを要求するようにさせる。
【００５６】
ログアウトイベントを受信すると（ブロック７５６）、エージェントサブシステム方法７３０により、動的ＡＣＤに対してエージェントリストからそのエージェントを除去するように要求し（ブロック７５９）、ログアウトイベントをエージェントワークフローに注入する（ブロック７６０）。ブロック７５７には、その他のイベントの処理が一般的に示されており、このブロックにおいて、それらのイベントがエージェントワークフローに注入され、ブロック７５８において、エージェントサブシステム方法７３０は、エージェントワークフローから受信した応答をエージェントデスクトップに転送する。尚、当業者であれば、更なる説明を要することなく、様々なタイプのイベントの処理に必要な処理方法について容易に理解するであろう。
【００５７】
次に、図７Ｃを参照し、エージェントワークフロー用のエージェントワークフロー方法７７０について説明する。起動すると、エージェントワークフロー方法７７０により、まず、ブロック７７１において、エージェントサブシステムに対してそのエージェント用のコンタクトを要求する。そして、エージェントワークフロー方法７７０は、ブロック７７３において、エージェントイベントを待つ。そして、コンタクト処理イベントを受信した場合には（ブロック７５３）、そのエージェントのコンタクトへの割り当てが完了しており、エージェントワークフロー方法７７０により、そのコンタクトセッションが終了したことを示す対応するコンタクトワークフローからのセッション離脱イベントを待つ（ブロック７７７）。そして、セッション離脱イベントが到来すると、エージェントワークフロー方法７７０により、ブロック７８１において、ラップアップイベントをエージェントサブシステムに送信し、そのエージェントが利用可能になったことを示すラップアップ終了イベントを待つ（ブロック７８１）。そして、エージェントワークフロー方法７７０により、ブロック７７１にループバックし、そのエージェント用の新しいコンタクトを要求する。
【００５８】
休憩開始イベントを受信すると（ブロック７６１）、エージェントワークフロー方法７７０により、コールセンターの状態に基づいてその休憩を許可できるかどうかを判定する（ブロック７８５）。いずれの場合にも、メッセージがエージェントサブシステムに送信され、判定結果についてエージェントデスクトップに通知される（ブロック７８５）。ブレークが許可された場合には（ブロック７８５）、エージェントワークフローは、ブロック７８６において、休憩終了イベントが受信されるのを待つ。一方、休憩が許可されなかった場合には、エージェントワークフロー方法７７０により、ブロック７７３にループバックし、コンタクトを待つ。
【００５９】
エージェントログアウトイベントを受信すると（ブロック７７９）、エージェントワークフロー方法７７０は終了する。尚、図示されていない実施例においては、このエージェントログアウトイベントは、コンタクトセンターにおける過負荷状態などのコンタクトセンターの状態に基づいて拒絶したり、エージェントワークフローが新しいコンタクトを要求した際などの適切なタイミングで許可したりできる要求である。その他のすべてのイベントは、ブロック７９１に一般的に示されているように、エージェントワークフロー方法７７０によって処理される。尚、当業者であれば、更なる説明を要することなく、エージェントワークフロー内の様々なタイプのイベントの処理に必要な処理方法を容易に理解するであろう。
【００６０】
フローチャート４Ｃ、５Ｃ、６Ｃ、及び７Ｃを参照して説明したワークフローは、ワークフローロジック２０７が提供可能なアクションを単純化した例であって、図示されているそれらのアクション及びシーケンスのみに本発明を限定するものではないことが理解されよう。ワークフローロジック２０７の一実施例及びワークフローアクションについては、次節において詳細に説明する。
【００６１】
又、当業者であれば、これら方法の結果を実現する更に多くの又は更に少ないプロセス或いは異なるプロセスを有する代替ロジックフローを容易に想起するであろうが、それらの代替フローも本発明の範囲内に属するものと見なされる。例えば、一代替実施例においては、コンタクトワークフローからセッション離脱イベントを直接エージェントワークフローに注入するのではなく、コンタクトワークフローは、コンタクト終了イベントをコンタクトサブシステムを介して適切なメディアルーターに送信し、そのルーターからセッション離脱イベントをエージェントサブシステムに送信してエージェントワークフローに注入させる。別の代替実施例においては、コンタクトワークフローの終了により、コンタクトサブシステムからコンタクト終了イベントを適切なメディアルーターに送信させ、そのルーターからセッション離脱イベントをエージェントサブシステムに送信してエージェントワークフローに注入させる。
【００６２】
以上、メディア固有の処理図及びフローチャートの観点で、本発明のデジタルマルチメディアコンタクトセンターの一実施例においてコンポーネントが実行する方法について説明した。音声コンタクト用の音声ルーター、音声サブシステム、及びワークフローロジックが実行する方法については、フローチャート４Ａ〜Ｃを参照して説明しており、それぞれ４０１〜４０７、４２１〜４４３、及び４５１〜４７５のすべてのアクションを含んでいる。昇格した電子メールコンタクト用の電子メールエスカレータ、電子メールサブシステム、及びワークフローロジックが実行する方法については、フローチャート５Ａ〜Ｃを参照して説明しており、それぞれ５０１〜５１５、５２１〜５３１、及び５４１〜５４９のすべてのアクションを含んでいる。コラボレーションコンタクト用のコラボレーションルーター、コラボレーションサブシステム、及びワークフローロジックが実行する方法については、フローチャート６Ａ〜Ｃを参照して説明しており、それぞれ６０１〜６０７、６２１〜６３３、６４１〜６４９のすべてのアクションを含んでいる。エージェント用のエージェントデスクトップ、エージェントサブシステム、及びワークフローロジックが実行する方法については、フローチャート７Ａ〜Ｃを参照して説明しており、それぞれ７０１〜７２９、７３１〜７６０、及び７７１〜７９１のすべてのアクションを含んでいる。
【００６３】
（インターネットコンタクトセンター（ｉＣＣ）の実装）
本節においては、本発明の特定の実装について説明する。企業は、ｉＣＣのサービスに加入し、それぞれの顧客コンタクトを管理する。ｉＣＣは、加入者のエージェントから遠隔地に位置しており、エージェントの所在場所は様々であってよい。エージェントデスクトップ２２９は、ウェブブラウザに基づいたものであり、遠隔地に所在するｉＣＣのエージェントサブシステム２１９に接続されている。加入者の顧客コンタクトは、インターネット又はＰＯＴＳを介して直接ｉＣＣに入力された後に、仮想プライベートネットワークを介して適切なエージェントデスクトップにルーティングされる。ブラウザベースのエージェントデスクトップの場合、大規模な再プログラミングを要することなく、エージェントデスクトップの基本機能を拡張する様々なプラグインアプレットを使用することができる。更に、Ｊａｖａアプレット／サーブレットの組み合わせを使用し、前述のデスクトップマネージャを実装することも可能である。
【００６４】
（メッセージング）
ワークフローエンジン２０１とメディアルーター２２１／エージェントデスクトップ２２９間の通信は、Ｊａｖａ  ＲＭＩ（ｒｅｍｏｔｅ  ｍｅｔｈｏｄ  ｉｎｖｏｃａｔｉｏｎ）を使用するインターフェイスの組によって処理する。メッセージングライブラリで、３つの一般的なインターフェイスを提供する。後述する「ＣｏｎｔａｃｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅ」などの少なくとも一般的なコンタクトサービスインターフェイスの実装には、すべてのコンタクトワークフローサブシステム（例：音声サブシステム２１３、コラボレーションサブシステム２１５、及び電子メールサブシステム２１７）が必要である。後述する「ＡｇｅｎｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅ」などの少なくとも一般的なエージェントサービスインターフェイスの実装には、すべてのエージェントワークフローサブシステム（例：エージェントサブシステム２１９）が必要である。後述する「ＭｅｄｉａＲｏｕｔｅｒＩｎｔｅｒｆａｃｅ」などの少なくとも一般的なメディアルーターインターフェイスの実装には、それぞれのメディアルーター２２１が必要である。そして、要求されたサービスに固有の、既存のインターフェイスを継承する新しいインターフェイスを定義することができる。即ち、例えば、音声サービスインターフェイスは、一般的なコンタクトサービスインターフェイスと共に電話コマンド用のインターフェイスを実装する。ワークフローサブシステム２０５とワークフローロジック２０７間の情報伝達は、グローバル変数によって実行する。これらのグローバル変数には、ワークフローロジック２０７がワークフローの流れにおいて必要とする値と、後述するワークフローの様々なステップによってワークフローロジック２０７がワークフローサブシステム２０５に対して実行する要求が格納される。
【００６５】
メディアルーター２２１は、コンタクトワークフローサブシステムのＣｏｎｔａｃｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅを使用し、（１）コンタクトワークフローの起動とそのワークフロー用のコンタクト識別子の受信、（２）コンタクト識別子によって識別される既存のワークフローへのイベントの注入、（３）指定したコンタクトをコンタクトワークフローサブシステムが処理しているかどうかの判定、を実行する。コンタクト用のワークフローを起動するには、メディアルーター２２１は、例えば、次のように、所望のコンタクトワークフローサブシステムのＣｏｎｔａｃｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅにおいて、そのメディアルーターのメディアルーターインターフェイス識別子（ｃｌｉｅｎｔ）とそのコンタクトの属性（ａｔｔｒｉｂｕｔｅｓ）を渡して「ｓｔａｒｔＷｏｒｋｆｌｏｗ」方法を呼び出し、新しく生成されたコンタクトワークフローの識別子（ｃｏｎｔａｃｔＩＤ）を受け取る。
【００６６】
ｓｔａｒｔＷｏｒｋｆｌｏｗ（ｃｌｉｅｎｔ，  ｃｏｎｔａｃｔＩＤ，  ａｔｔｒｉｂｕｔｅｓ）
【００６７】
イベントを既存のワークフローに注入するには、メディアルーター２２１は、例えば、次のように、適切なコンタクトワークフローサブシステムのＣｏｎｔａｃｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅにおいて、そのコンタクトワークフロー（ｃｏｎｔａｃｔＩＤ）とワークフローに注入するイベント（ｅｖｅｎｔ）を識別して「ｉｎｊｅｃｔＥｖｅｎｔ」を呼び出す。
【００６８】
ｉｎｊｅｃｔＥｖｅｎｔ（ｃｏｎｔａｃｔＩＤ，  ｅｖｅｎｔ）
【００６９】
コンタクトワークフローサブシステムが特定のコンタクトを処理しているかどうかを判定するには、メディアルーターは、例えば、次のように、そのコンタクトワークフローサブシステムのＣｏｎｔａｃｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅにおいて、そのコンタクトワークフローの識別子（ｃｏｎｔａｃｔＩＤ）を渡して「ｈａｎｄｌｅｓＣｏｎｔａｃｔ」を呼び出し、ブール値を受け取る。
【００７０】
ｈａｎｄｌｅｓＣｏｎｔａｃｔ（ｃｏｎｔａｃｔＩＤ）
【００７１】
エージェントデスクトップ２２９は、ＡｇｅｎｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅを使用し、（１）エージェントワークフローの起動とそのワークフロー用のエージェント識別子の受信、（２）エージェント識別子によって識別される既存のワークフローへのイベントの注入、（３）指定したエージェントをエージェントワークフローが管理しているかどうかの判定、を実行する。前述のように、複数のエージェントワークフローサブシステムが存在する場合には、エージェントデスクトップは、サービスマネージャによってエージェントワークフローサブシステムの中の１つに割り当てられる。エージェントワークフローを起動するには、エージェントデスクトップは、例えば、次のように、適切なエージェントワークフローサブシステムのＡｇｅｎｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅにおいて、エージェントの属性（ａｔｔｒｉｂｕｔｅｓ）を渡して「ｓｔａｒｔＷｏｒｋｆｌｏｗ」を呼び出し、新しく生成されたエージェントワークフローの識別子（ａｇｅｎｔＩＤ）を受け取る。
【００７２】
ｓｔａｒｔＷｏｒｋｆｌｏｗ（ａｇｅｎｔＩＤ，  ａｔｔｒｉｂｕｔｅｓ）
【００７３】
イベントを既存のワークフローに注入するには、エージェントデスクトップは、例えば、次のように、適切なエージェントワークフローサブシステムのＡｇｅｎｔＷｏｒｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｆａｃｅにおいて、エージェントワークフロー（ａｇｅｎｔＩＤ）とワークフローに注入するイベント（ｅｖｅｎｔ）を識別して「ｉｎｊｅｃｔＥｖｅｎｔ」方法を呼び出す。
【００７４】
ｉｎｊｅｃｔＥｖｅｎｔ（ａｇｅｎｔＩＤ，  ｅｖｅｎｔ）
【００７５】
エージェントワークフローサブシステムが特定のエージェントを処理しているかどうかを判定するには、エージェントデスクトップは、例えば、次のように、エージェントワークフローサブシステムのＡｇｅｎｔＷｒｏｋｆｌｏｗＳｅｒｖｉｃｅＩｎｔｅｒｃｅにおいて、エージェントワークフローの識別子（ａｇｅｎｔＩＤ）を渡して「ｈａｎｄｌｅｓＡｇｅｎｔ」方法を呼び出し、ブール値を受け取る。
【００７６】
ｈａｎｄｌｅＡｇｅｎｔ（ａｇｅｎｔＩＤ）
【００７７】
ＭｅｄｉａＲｏｕｔｅｒＩｎｔｅｒｆａｃｅにより、コンタクトワークフローサブシステムは、動的ＡＣＤが割り当てたエージェントにコンタクトをルーティングし、コンタクトセッションを終了させることができる。コンタクトをエージェントにルーティングするには、コンタクトワークフローサブシステムは、例えば、次のように、適切なメディアルーターのＭｅｄｉａＲｏｕｔｅｒＩｎｔｅｒｆａｃｅにおいて、そのコンタクト用のワークフロー識別子（ｃｏｎｔａｃｔＩＤ）とエージェント用のワークフロー識別子（ａｇｅｎｔＩＤ）を渡して「ａｓｓｉｇｎＣｏｎｔａｃｔＴｏＡｇｅｎｔ」方法を呼び出し、ルーティングに成功したかどうかを示すブール値を受け取る。
【００７８】
ａｓｓｉｇｎＣｏｎｔａｃｔＴｏＡｇｅｎｔ（ｃｏｎｔａｃｔＩＤ，  ａｇｅｎｔＩＤ）
【００７９】
コンタクトセッションを終了させるには、コンタクトワークフローサブシステムは、例えば、次のように、適切なメディアルーターのｉＣＣＭｅｄｉａＲｏｕｔｅｒＩｎｔｅｒｆａｃｅにおいて、そのコンタクト用のワークフロー識別子（ｃｏｎｔａｃｔＩＤ）を渡して「ｔｅｒｍｉｎａｔｅＣｏｎｔａｃｔ」方法を呼び出す。
【００８０】
ｔｅｒｍｉｎａｔｅＣｏｎｔａｃｔ（ｃｏｎｔａｃｔＩＤ）
【００８１】
（データベース単一化レイヤ）
データベース単一化レイヤ２６１は、サードパーティシステムが使用するデータベースと前述の内部ｉＣＣデータベース２３１を含むいくつかの異なるソースから複製された情報で構成される統一スキーマを実装する。異なるそれぞれのソースは、次のものを含むサブスキーマによって定義される。
【００８２】
・Ｂｉｌｌｉｎｇ（請求）
・ＣＲＭ（Ｃｕｓｔｏｍｅｒ  Ｒｅｌａｔｉｏｎｓｈｉｐ  Ｍａｎａｇｅｍｅｎｔ）
・Ｅｎｔｉｔｌｅｍｅｎｔ（資格の付与）（Ｂｉｌｌｉｎｇ  ｏｐｔｉｏｎ（請求オプション）、ｍａｘｉｍｕｍ  ａｇｅｎｔｓ（最大エージェント）、ｍａｘｉｍｕｍ  ｃｏｎｔａｃｔｓ（最大コンタクト）など）
・Ｐｒｏｖｉｓｉｏｎｉｎｇ（プロビジョニング）（Ａｇｅｎｔｓ（エージェント）、Ｕｓｅｒ  ＩＤ（ユーザーＩＤ）、Ｐａｓｓｗｏｒｄ（パスワード）、Ｃｌａｓｓｉｆｉｃａｔｉｏｎ（分類）、Ｓｋｉｌｌ（スキル）、Ｐｒｏｆｉｃｉｅｎｃｙ（熟達度）など）
・Ｂｕｓｉｎｅｓｓ  Ｌｏｇｉｃ（ビジネスロジック）（Ｐｒｉｏｒｉｔｙ  Ｅｘｐｒｅｓｓｉｏｎ（優先順位計算式）、Ａｔｔｒｉｂｕｔｅ（属性）、Ｓｔｏｒｅｄ  Ｐｒｏｃｅｄｕｒｅ（保存手順）など）
・Ａｃｔｉｖｅ  Ｓｔａｔｅ（アクティブ状態）（Ａｇｅｎｔ  Ｓｔａｔｅ（エージェント状態）、Ｓｅｓｓｉｏｎ  Ｓｔａｔｅ（セッション状態）、Ｃｏｎｔａｃｔ  Ｓｔａｔｅ（コンタクト状態）、Ｃｏｎｔａｃｔ  Ｃｅｎｔｅｒ  Ｓｔａｔｅ（コンタクトセンター状態）、Ｃｕｓｔｏｍｅｒ  Ｓｔａｔｅ（顧客状態））
【００８３】
データベース単一化レイヤは、ＣＲＭ、Ｐｒｏｖｉｓｉｏｎｉｎｇ、Ｅｎｔｉｔｌｅｍｅｎｔ、Ｒｕｌｅｓ、Ｃｏｎｔａｃｔ  Ｄｅｔａｉｌ  Ｒｅｃｏｒｄ（ＣＤＲ）、Ｃｏｎｔａｃｔ  Ｃｅｎｔｅｒ  Ｓｔａｔｅなど、Ｊａｖａクラスによる様々なデータベース内の情報へのアクセスを提供する。
【００８４】
この統一スーマは、データベーストリガの組によってベンダ固有のソースと同期化される。例えば、従来の電子メールシステムの多くは、メッセージの到来と状態の変化を監視し、例えば、電子メールメッセージの返信又は別のエージェントへの転送など、必要に応じて、ＣＤＲレコードを生成／更新するイベントハンドラを使用している。統一スキーマ内の情報によるいずれかのソースの更新は、Ｊａｖａクラスによって実行する。
【００８５】
図８Ａに、ＣＤＲ用のデータ構造の一実施例８００が示されている。ＣＤＲ８００によって表されるコンタクトは、コンタクトＩＤフィールド８０１によって識別される。ｉＣＣにコンタクトが到来した際のメディアタイプは、メディアタイプフィールド８０３で指定される。コンタクトが既に分類されていれば、そのコンタクトの分類は、コンタクトクラスＩＤフィールド８０５に保存される。ｉＣＣが標準的なＣＲＭシステムと関連して実装されている場合には、ＣＲＭケース識別子をケースＩＤフィールド８０７に保存し、コンタクトを追跡できるようにする。コンタクトを処理するべく割り当てられたエージェントは、割当エージェントＩＤフィールド８０９によって識別される。１つ又は複数のフィールド８１１は、ｉＣＣにおけるコンタクトの処理履歴をデータの組み合わせで記録するものである。各フィールド８１１は、コンタクトの状態８１３とタイムスタンプ８１５を格納している。従って、そのコンタクトの発生から終了に至るコンタクト状態の変化を時間を追って追跡することができる。ｉＣＣが使用する模範的なコンタクト状態を次の表１に示しているが、更に多くの或いは更に少ない状態を使用可能であることが理解されよう。
【００８６】
【表１】
2005504452.tif 000003
【００８７】
図８Ｂに、エージェントレコード用のデータ構造の一実施例８２０が示されている。このエージェントレコード８２０によって表されるエージェントは、エージェントＩＤフィールド８２１によって識別される。エージェントが既に分類されていれば、エージェントの分類がエージェントクラスＩＤフィールド８２３に保存される。エージェントが現在処理しているコンタクトのコンタクト識別子は、割当コンタクトＩＤフィールド８２５に保存される。１つ又は複数のフィールド８２７は、エージェントのｉＣＣへのログインからの履歴をデータの組み合わせで記録するものである。各フィールド８２７は、エージェント状態８２９とタイムスタンプ８３１を格納している。従って、稼働日におけるエージェント状態の変化を時間を追って追跡することができる。ｉＣＣが使用するエージェント状態を次の表２に示しているが、更に多くの或いは更に少ない状態を使用可能であることが理解されよう。
【００８８】
【表２】
2005504452.tif 000004
【００８９】
（ソフトＡＣＤ）
ｉＣＣは、ソフトウェアで実装されたＡＣＤを使用し、コンタクトとエージェントの割り当てを管理している。このソフトＡＣＤは、コンタクトセンターデータベース内に保存された手順の組として存在しており、このコンタクトセンターデータベースは、利用可能なエージェントと待機中のコンタクトの未ソートリストとして使用される特殊なデータベーステーブルを参照する。これらの未ソートリストは、例えば、分類によって更に論理的に再分割することが可能である。
【００９０】
ソフトＡＣＤは、必要に応じて、ビジネスロジックとプロビジョニング情報（後述する）もロードする。組織内のそれぞれの分類（例：Ｓａｌｅｓ（販売）、Ｓｕｐｐｏｒｔ（サポート）、Ｃｕｓｔｏｍｅｒ  Ｓｅｒｖｉｃｅ（顧客サービス）など）は、特定のビジネスロジックと関連付けられている。これらの情報のいずれかが変化すると、ソフトＡＣＤに通知され、ソフトＡＣＤは、これらの情報をリロードし、即時に新しい情報をｉＣＣに適用する。ソフトＡＣＤは、稼動中にリスト内のそれぞれのエントリの状態（分類、要件、及び属性）を維持管理する。
【００９１】
稼動中のワークフローがエージェント又はコンタクトを要求すると、前述のように、適切なサブシステムがその要求をソフトＡＣＤに伝達する。ソフトＡＣＤは、その要求に指定された要件に照らし分類に基づいてもう一方のリストをフィルタリングし、フィルタリングされたエントリを１つ又は複数の「優先順位計算式」を使用して優先順位付けすることにより、エージェント又はコンタクト用の最良のマッチングを判定する。それぞれの優先順位計算式には、エントリの評価の際に、０〜１００の優先順位を生成する重み付けされたコンタクト／エージェント属性の組が含まれている。この属性とその重みは、データベース単一化レイヤのビジネスロジックサブスキーマのクラスとして存在するものであり、これについては次節で説明する。尚、ソフトＡＣＤは、それぞれのマッチング要求ごとに、新規にフィルタリング及び優先順位付けを動的に実行することに留意されたい。
【００９２】
コンタクト又はエージェントがリスト上で待機している際には、要求元のワークフローは、自由に実行を継続できるが、実際に割り当てが発生すると、対応するサブシステムに対してリソースアロケータから通知が行われ、コンタクトをルーティングするべく、そのサブシステムが要求元のワークフローに割り込むことになる。
【００９３】
（ビジネスロジック）
ｉＣＣが加入者用に使用するビジネスロジックは、電子メールマネージャ、ワークフローエディタ、及び管理インターフェイスによって定義する。電子メールマネージャは、電子メールコンタクトを様々な既定のメールボックスにルーティングする電子メールルールを生成するのに使用する。これらのルールは、メッセージの送信元、宛先、件名、及び本文内のテキストを参照し、且つデータベースクエリを実行可能である。メールボックスキューは、電子メールサーバーが維持管理する別個のメッセージ領域である。エージェントは、これらのキューからメッセージを取得する。例えば、エージェントごと、或いは個々の製品ごとに、個別のキューをセットアップ可能であり、必要に応じて、既存のキューの組に対する追加又は削除も実行できる。例えば、加入者は、最初に製品と分類ごとに１つのキューを定義しておき（「ＳａｌｅｓＰｒｉｎｔｅｒｓ」又は「ＳｕｐｐｏｒｔＰｒｉｎｔｅｒｓ」）、ビジネスの成長に伴って更に追加することができる。システム管理者は、エージェントごとに、これらのキューへのアクセスを許可する。前述のように、昇格した電子メールメッセージ用に追加のキューを定義する。このキューを定義した後に、メッセージをそれらのキューにルーティングするルールを定義する。電子メールを自動応答機能にルーティングすることによって電子メールメッセージをセルフサービスに降格させるルールも指定可能である。
【００９４】
ワークフローエディタにより、コンタクト又はエージェントを処理するワークフローを定義する。加入者は、ワークフローエディタにより、どのような数のエージェント及びコンタクトワークフローでも定義することができる。例えば、エージェントごとに、そのエージェントのログイン識別子に基づいた特定のワークフローを有することができる。ワークフロー及び関連呼び出し情報は、ワークフローエンジン２０１が参照できるよう、ＬＤＡＰディレクトリサーバー又は階層的なディレクトリエントリを定義するその他のディレクトリ構造に保存する。例えば、加入者は、次のような階層構造を定義可能であり、この場合、レベル（ａ）及び（ｂ）のエントリがレベル（ｉ）に指定されたワークフロー用の呼び出し情報となっている。
【００９５】
１）ａｓｕｂｓｃｒｉｂｅｒ．ｃｏｍ
ａ）ｉＣＣ
ｉ）ｃｏｎｆｉｇｕｒａｔｉｏｎｓ
（１）ｗｆＶｏｉｃｅ
（ａ）１２３４
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳａｌｅｓＣｏｎｔａｃｔ．ＷＦＥ”
（ｂ）１０００
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳｕｐｐｏｒｔＣｏｎｔａｃｔ．ＷＦＥ”
（２）ｗｆＥｍａｉｌ
（ａ）Ｓａｌｅｓ＠ａｓｕｂｓｃｒｉｂｅｒ．ｃｏｍ
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳａｌｅｓＣｏｎｔａｃｔ．ＷＦＥ”
（ｂ）ｓｕｐｐｏｒｔ＠ａｓｕｂｓｃｒｉｂｅｒ．ｃｏｍ
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳｕｐｐｏｒｔＣｏｎｔａｃｔ．ＷＦＥ”
（３）ｗｆＷｅｂＣｏｌｌａｂｏｒａｔｉｏｎ
（ａ）ｈｔｔｐ：／／ａｓｕｂｓｃｒｉｂｅｒ．ｃｏｍ／ｓａｌｅｓ
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳａｌｅｓＣｏｎｔａｃｔ．ＷＦＥ”
（ｂ）ｈｔｔｐ：／／ａｓｕｂｓｃｒｉｂｅｒ．ｃｏｍ／ｓｕｐｐｏｒｔ
（ｉ）Ｗｏｒｋｆｌｏｗ”ＳｕｐｐｏｒｔＣｏｎｔａｃｔ．ＷＦＥ”
【００９６】
管理インターフェイスは、ビジネスロジックサブスキーマ内のクラスを使用し、ログイン、パスワード、エージェントのスキル及び熟達度、コールセンターの分類、目標サービスレベル、電子メールの期間超過／昇格のしきい値、優先順位計算式、属性、属性の重みなどを定義する。起動すると、管理インターフェイスは、ビジネスロジッククラスを使用してデータベースからシステム及び加入者ビジネスロジックを読み取る。エンティティが変更されると、これらの同一のビジネスロジッククラスにより、関連データがデータベースに書き戻される。管理インターフェイスは、加入者に様々なグラフィカルユーザーインターフェイス（ＧＵＩ）画面を提示し、ユーザーによる加入者ビジネスロジックの定義を支援する。
【００９７】
加入者は、それらＧＵＩ画面の中の１つによってコールセンター分類をセットアップし、この分類により、コンタクト間又はエージェント間の全体的な区別を定義する。コンタクト及びエージェントの両方に同じ分類の組を使用する。１つの分類において、加入者は、各メディアタイプごとに目標サービスレベルを定義する。この目標サービスレベルは、特定の時間内に処理を要する特定メディアタイプのコンタクトのパーセンテージとして定義する。従って、サービスレベルの目標を定義するＧＵＩ画面は、ユーザーに対して、メディアタイプのリスト、パーセンテージの値を入力する領域、及び経過時間の値を入力する領域を提示する。
【００９８】
それぞれのエージェントは、スキルの組とスキルごとの熟達度を有しており、それらは、管理インターフェイスによって指定／変更する。コンタクトがエージェントを要求する場合には、コンタクト要件として特定のスキル／熟達度を指定することができる。この要件には、コンタクトに応答することなく特定時間が経過した場合に、その要件を緩和するエージング情報も含まれる。例えば、特定の音声通話に対し、最初の３０秒間は、特定スキルの５の熟達度を引き当てるが、３０秒経過した後には、２の熟達度を引き当てることができる、という旨をエージング情報に指定することができる。これを要件の「エージング」と呼ぶ。
【００９９】
ｉＣＣは、次の項目を含むいくつかのシステム定義属性によって事前に構成される。
【０１００】
・ＴｉｍｅＩｎＱｕｅｕｅ−コンタクトがリソースを待っている時間（データベースに保存された手順によって提供されるものであり、ソフトウェアＡＣＤによってオンザフライで算出される）
・ＩｓＥｍａｉｌ−このコンタクトは電子メールか？
・ＩｓＶｏｉｃｅ−このコンタクトは音声通話か？
・ＩｓＣｏｌｌａｂｏｒａｔｉｏｎ−このコンタクトはウェブコラボレーションか？
・ＭｅｄｉａＳｅｒｖｉｃｅＬｅｖｅｌ−メディア固有の指定サービス目標内で処理されたこのメディアタイプのコンタクトのパーセンテージ
・ＬａｓｔＡｇｅｎｔ−この顧客が通話した最新のエージェントのユーザーＩＤ
【０１０１】
コンタクトとエージェントのマッチングを判定する加入者定義属性は、管理インターフェイスで指定する。この属性の特性には、名前、タイプ（コールセンター、エージェント、コンタクト）、値のタイプ（数値、記号）、値、既定値、値の正規化、及び対応する保存されている手順が含まれる。加入者は、許容される選択肢の表示或いは正規化曲線の選択肢などの視覚的な標識によってユーザーの入力を要求するＧＵＩ画面を使用し属性の組を定義する。優先順位計算式にその属性を適用すると、その属性用に保存されている手順により、その属性の値が算出される。この保存されている手順は、事前に生成しておくか、或いは属性の生成の際に生成することも可能である。
【０１０２】
エージェント及びコンタクトの優先順位計算式は、グラフィカルユーザーインターフェイスによって生成するが、このインターフェースにより、管理者は、所望の属性を計算式にドラッグ＆ドロップすると共に、スライダバーによってそれらの重みを設定することができる。各分類ごとに、エージェントに優先順位計算式が１つ存在し、コンタクトにも１つ存在している。新しい優先順位計算式を指定する際には、新しい保存手順をＰＬ／ＳＱＬなどのデータベーススクリプト言語で生成し、コンパイルし、データベースに追加する。以下に、擬似コードによって模範的な１つの優先順位計算式を示している。
【０１０３】
属性ごとに、
・ＣｏｎｔａｃｔＩＤ及びＣｕｓｔｏｍｅｒＩＤを渡してその属性の保存手順を呼び出す。
・戻り値が１の場合には、属性の既定値を使用する。
・属性が記号の場合には、正規化された値に変換する。
・この結果に、指定された重みを乗算し、これを累積合計に加算する。
【０１０４】
具体的な例として、加入者が「Ｓａｌｅｓ（販売）」及び「Ｓｕｐｐｏｒｔ（サポート）」という２つの分類と「ＢｕｓｉｎｅｓｓＶａｌｕｅ」と呼ばれるコンタクト属性（即ち、加入者のビジネスに対するこのコンタクトの価値）を指定したとしよう。Ｓａｌｅｓ分類については、加入者が生成したコンタクト優先順位計算式は次のとおりである。
【０１０５】
ＢｕｓｉｎｅｓｓＶａｌｕｅ＊０．２＋ＴｉｍｅＩｎＱｕｅｕｅ＊０．１＋ＩｓＥｍａｉｌ＊０．１＋ＩｓＶｏｉｃｅ＊０．４＋ＩｓＣｏｌｌａｂｏｒａｔｉｏｎ＊０．２
【０１０６】
Ｓｕｐｐｏｒｔ分類のコンタクト優先順位計算式は、次のとおりである。
【０１０７】
ＢｕｓｉｎｅｓｓＶａｌｕｅ＊０．１＋ＴｉｍｅＩｎＱｕｅｕｅ＊０．１＋ＩｓＥｍａｉｌ＊０．１＋ＩｓＶｏｉｃｅ＊０．６＋ＩｓＣｏｌｌａｂｏｒａｔｉｏｎ＊０．１
【０１０８】
エージェントに割り当てるべく待機中のコンタクトを優先順位付けする際には、ソフトＡＣＤは、ＢｕｓｉｎｅｓｓＶａｌｕｅ属性に関連付けられている保存手順を呼び出し、戻り値に対して、Ｓａｌｅｓコンタクトの場合には０．２、Ｓｕｐｐｏｒｔコンタクトの場合には０．１を乗算することにより、適切な分類のそれぞれのコンタクトごとに、この計算式を評価する。そして、そのコンタクトの重み付けされたビジネス価値を適切に重み付けされたシステム定義属性の値に加算し、そのコンタクトの優先順位を算出する。
【０１０９】
ソフトＡＣＤは、適切なマッチングに関する決定を下す前に、それぞれのエージェント／コンタクトに優先順位を付加することができるが、この代わりに、既定の優先順位の値に最初に到達したエージェント／コンタクトを選定する最適化スキームを採用することも可能である。
【０１１０】
（プロビジョニング情報）
センターの運用準備が整う前に、ｉＣＣの基盤コンポーネントのセットアップ及び構成をしなければならない。電子メールマネージャにより、管理者は、エージェント、エージェントパスワード、メールボックス、並びにこれらのメールボックスにコンタクトをルーティングする規則を定義することができる。エージェント、エージェントパスワード、及びエージェントの内線を定義するには、コラボレーションサーバーに対する管理インターフェイスを使用する。ダイヤルプランを生成し電話番号をアプリケーションに関連付けると共にエージェントを電話の内線に関連付けることにより、電話サーバーをセットアップする。
【０１１１】
（ワークフローエンジン）
ｉＣＣは、コンタクトの処理、エージェントの管理、及び全体的なコンタクトセンター機能の制御を実行するのにワークフローを使用している。ワークフローのステップは、ｉＣＣワークフローエンジンにおける制御を構築する基本ブロックである。設計者が利用可能なワークフローステップは、開発するワークフローのタイプによって決定される。例えば、音声ワークフローステップには、応答、数値の収集、録音が含まれる。模範的なエージェントワークフローステップには、休憩の許可、コンタクトの処理、及びラップアップが含まれる。そして、コンタクトの分類、エージェントの要求、及びコンタクトの供給など、いくつかのワークフローステップは、すべてのコンタクトワークフローに適用可能である。制御ステップ（例：終了、待機、及び判定）は、電子メールの送信ステップと共に、すべてのワークフローで利用可能である。尚、コンタクト及びエージェントワークフロー用の更なるステップは、当業者には容易に明らかであろう。
【０１１２】
次に図９Ａを参照して説明するように、ｉＣＣワークフローエンジン９００は、ワークフローの実装に通常使用されるハードコーディングスクリプトの代わりに、ワークフロー用のスクリプトを２つのファイルから動的に生成する。プロトタイプノード９１１、９１３、９１５、９１７、９１９の定義はテンプレートファイル９０３に保存されている。それぞれのノードは、ワークフローエンジン９００で利用可能な「割り込み可能プロンプトを有する再生メニュー」や「エージェントが利用可能になるまで音楽を再生する」などの高度で複合的なスクリプトアクションを実装するワークフローコードに関連付けられている。これらのスクリプトアクションは、ワークフローステップから構築される。説明を容易にするべく、図９Ａに示されているスクリプトアクションは単純な単一のコマンドであり、例えば、ノードＡ９１１は、「ｉｆ（ｘ  ｂｏｏｌｅａｎ  ｙ）」という関数を表しており、「ｘ」、「ｂｏｏｌｅａｎ」、「ｙ」は、ノードＡ９１１のインスタンスが指定する値で置換されるパラメータである。尚、本発明は、この例や本明細書に示されているワークフローステップに限定されないことが理解されよう。
【０１１３】
構成モード９０１において、ワークフローエンジン９００（又はサポートアプリケーション）により、システム管理者などのユーザーは、テンプレートファイル９０３から適切なノードを選択し、スクリプトコマンド内のパラメータに適切な値を指定し、それらのノードをリンクして所望のワークフローを表す有意なグラフを形成することにより、ワークフロー９０５を生成することができる。従って、例えば、ノードＡ’９２１を実行すると、関数「ｉｆ（ｎｕｍｂｅｒ＜１０）」が評価され、結果が真であれば、エッジ９３１の後にノードＢ’９２３が実行され、結果が偽の場合には、エッジ９３３の後にノードＣ’９２５が実行される。この有意なグラフから構成ファイル９０７が生成され、この構成ファイルは、ワークフロー９０５の構造を指定するものである。構成ファイル９０７には、それぞれの対応するプロトタイプノードの識別子、並びにグラフ内のそれぞれのノードに関連付けられた値、エッジ情報、及びその他の設定事項（構成データ）が含まれている。ワークフロー用の有意なグラフを生成するには、ユーザーにドラッグ＆ドロップ機能を提供しノード及びエッジの配置／再配列が実行可能なグラフィカルユーザーインターフェイスや適切なパラメータを要求するダイアログボックスを含む、ユーザー入力取得用の一般的な入力方法のいずれもが採用可能であることが理解されよう。
【０１１４】
ランタイムモード９０９において、ワークフロー９０５をワークフローエンジン９００によって実行すると、ワークフローエンジン９００は、構成ファイル９０７を参照し、テンプレートファイル９０３の対応するプロトタイプノードと構成ファイル９０７内のそれらのノードに関連付けられた構成データをマージすることにより、メモリ内にワークフロー９０５用の有意なグラフを再構築する。そして、ワークフローエンジンは、新しい実行スレッドを起動し、有意なグラフが表すワークフロースクリプトを実行する。即ち、ワークフローエンジン９００は、ユーザーがワークフローを生成した際にコードとコネクタを抽出しておき、後程、そのワークフローを実行する際に、抽出物からワークフローを再構築するのである。
【０１１５】
通常のワークフロー実装とは異なり、ｉＣＣのすべてのワークフローステップは、その実行スレッドにおいて、結果を優先順位付けされたメッセージキューに保存することにより、非同期で稼動可能である。又、ステップは、別の実行スレッドを生成してマルチスレッド化されたワークフローを生成することもできる。ステップの類似のクラスは、１つ又は複数のワークフローのそのタイプのすべての要求について１つのキューを１つの実行スレッドで共有することができる。前述のように、様々なワークフローステップがサブシステムに対してサービスを要求する。サブシステムは、メッセージキューにイベント通知を配置することにより、ワークフローにサービスイベントを注入する。キューからのメッセージの取得は、ＲｅｇｉｓｔｅｒＥｖｅｔ、ＵｎＲｅｇｉｓｔｅｒＥｖｅｎｔ、及びＧｅｔＭｅｓｓａｇｅという３つの特殊なワークフローステップを使用して実装する。
【０１１６】
ＲｅｇｉｓｔｅｒＥｖｅｎｔ及びＵｎｒｅｇｉｓｔｅｒＥｖｅｎｔは、イベント用のハンドラを変更する。既定では、イベントは、そのイベントが発生したノード内でインライン処理される。ＲｅｇｉｓｔｅｒＥｖｅｎｔは、そのイベントを代わりに処理することになるターゲットノード（「チェーン化」と呼ばれる）を指定する。ハンドラはスタックであり、ＲｅｇｉｓｔｅｒＥｖｅｎｔを使用してハンドラを登録すると、そのイベント用のターゲットノードがスタック上にプッシュされ、ＵｎＲｅｇｉｓｔｅｒＥｖｅｎｔを呼び出すと、そのスタックがポップされる。
【０１１７】
ＧｅｔＭｅｓｓａｇｅステップは、キューからメッセージをフェッチする。そのメッセージが、（ＲｅｇｉｓｔｅｒＥｖｅｎｔによって）登録が実行されたイベント通知の場合には、ワークフローエンジンは、そのターゲットノードに分岐してイベントを処理する。イベントが明示的に登録されていない場合には、現在のノードがスタック上にプッシュされ、そのイベントを処理する。
【０１１８】
図９Ｂに、ワークフローステップの非同期処理の例が示されている。ワークフロー９０４は、ノードＡＡ９４１からスタートする。コードの一部として、ノードＡＡ９４１は、データベースサブシステムによる統一データベース９５７からのレコードの取得を要求する（矢印９５１）。レコードを取得すると、データベースサブシステムはイベント通知をメッセージキュー９５９に保存する（矢印９５３）。ノードＡＡ９４１は、このデータベースサブシステムのレコードの取得を待たずに、そのイベントを処理するターゲットノードとして自分自身を登録する。ワークフローは処理を継続し、キュー９５９に対してメッセージを要求する（矢印９５５）ノードＤＤ９４７に到達する前に、ノードＢＢ９４３及びノードＣＣ９４５を実行する。イベント通知がキュー９５９内に存在すれば、そのイベント通知がノードＤＤ９４７に戻され（矢印９５５）、処理するべくノードＤＤ９４７がそのイベント通知をノードＡＡ９４１に戻す（エッジ９６７）。そして、レコードを受信すると、ノードＡＡ９４１は、更なる処理のためにそのレコードをノードＥＥ９４９に渡す（エッジ９６９）。
【０１１９】
一実施例においては、テンプレートと構成ファイルはＸＭＬ要素で表されたノードを有するＸＭＬ文書であり、コードと構成情報は対応するＸＭＬ要素のＸＭＬ属性として保存されている。それらのコード及び構成情報は、ＪＰｙｔｈｏｎスクリプト言語で作成されている。ＪＰｙｔｈｏｎに対応した実行プロキシは、テンプレート及び構成ファイルの情報をマージし、ワークフローの実行スレッドと実際のワークフローステップ間のインターフェイスを提供する。実行プロキシによって実行スレッドがワークフローステップから分離されるため、ステップにおいて、複数のスクリプト言語を同時に使用可能であり、プロトタイプノードの開発者は所与の機能の実行に最良のコードを選択することが可能になる。
【０１２０】
（稼動環境）
図１０Ａ〜Ｂに関する以下の説明は、本発明の実装に適したコンピュータハードウェアとその他の稼動コンポーネントについて概説することを目的とするものであり、適用可能な環境を限定するものではない。当業者であれば、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラム可能な消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどのその他のコンピュータシステム構成によって本発明を実施可能であることを即座に理解するであろう。又、本発明は、通信ネットワークを介してリンクされたリモート処理装置でタスクを実行する分散コンピューティング環境においても実施可能である。
【０１２１】
図１０Ａは、インターネットなどのネットワーク３を介して接続されている複数のコンピュータシステム１を示している。本明細書において使用するこの「インターネット」という用語は、ＴＣＰ／ＩＰプロトコルなどの特定のプロトコル（及び、多くの場合、ワールドワイドウェブ（ウェブ）を構成するＨＴＭＬ（ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）文書用のＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）などのその他プロトコル）を使用する複数のネットワークからなるネットワークを意味している。尚、インターネットの物理的な接続及びインターネットのプロトコル及び通信手順については、当業者には周知である。インターネット３へのアクセスは、通常、ＩＳＰ５及び７などのインターネットサービスプロバイダ（ＩＳＰ）によって提供される。クライアントコンピュータシステム２１、２５、３５、及び３７などのクライアントシステムのユーザーは、ＩＳＰ５及び７などのインターネットサービスプロバイダを介してインターネットにアクセスする。インターネットにアクセスすることにより、クライアントコンピュータシステムのユーザーには、情報の交換、電子メールの送受信、ＨＴＭＬフォーマットで作成されたものなどの文書の閲覧が可能となる。これらの文書は、インターネット「上」に存在すると見なされるウェブサーバー９などのウェブサーバーから提供されることが多い。これらのウェブサーバーは、ＩＳＰ５などのＩＳＰによって提供されることが多いが、当技術分野においては周知のように、ＩＳＰのシステムを使用せず、コンピュータシステムをセットアップしてインターネットに接続することも可能である。
【０１２２】
ウェブサーバー９は、通常、サーバーコンピュータシステムとして機能する少なくとも１つのコンピュータシステムであり、ワールドワイドウェブのプロトコルで機能するように構成され、インターネットに接続されている。任意選択により、ウェブサーバー９は、クライアントシステムにインターネットへのアクセスを提供するＩＳＰの一部であってもよい。図示のごとく、ウェブサーバー９は、サーバーコンピュータシステム１１に接続され、このサーバーコンピュータシステムはウェブコンテンツ１０に接続されており、このウェブコンテンツはメディアデータベースの一形態と見なすことができる。この図１０Ａには、２つのコンピュータシステム９及び１１が示されているが、これらのウェブサーバーシステム９及びサーバーコンピュータシステム１１は、ウェブサーバー機能とサーバー機能を提供する異なるソフトウェアコンポーネントを有する１つのコンピュータシステムであってよいことが理解されよう（この場合、これら２つの機能はサーバーコンピュータシステム１１によって提供されるが、これについては後述する）。
【０１２３】
クライアントコンピュータシステム２１、２５、３５、及び３７は、それぞれ適切なウェブブラウジングソフトウェアを有しており、ウェブサーバー９が提供するＨＴＭＬページを閲覧することができる。ＩＳＰ５は、クライアントコンピュータシステム２１の一部と見なすことができるモデムインターフェイス２３を介してクライアントコンピュータシステム２１にインターネット接続を提供している。このクライアントコンピュータシステムは、パーソナルコンピュータシステム、ネットワークコンピュータ、ウェブテレビシステム、又はその他の類似のコンピュータシステムであってよい。同様に、ＩＳＰ７も、クライアントシステム２５、３５、及び３７にインターネット接続を提供しているが、図１０Ａに示されているように、これらの３つのコンピュータシステムに対する接続は同一のものにはなっていない。クライアントコンピュータシステム２５は、モデムインターフェイス２７によって接続されており、クライアントコンピュータシステム３５及び３７の場合は、ＬＡＮの一部を構成している。図１０Ａは、インターフェイス２３及び２７を「モデム」として一般的に示しているが、これらの各インターフェイスは、アナログモデム、ＩＳＤＮモデム、ケーブルモデル、衛星伝送インターフェイス（例：「Ｄｉｒｅｃｔ  ＰＣ」）、或いは、コンピュータシステムをその他のコンピュータシステムに接続するその他のインターフェイスであってよいことが理解されよう。クライアントコンピュータシステム３５及び３７は、ネットワークインターフェイス３９及び４１を介してＬＡＮ３３に接続されており、これらのネットワークインターフェイスは、Ｅｔｈｅｒｎｅｔネットワーク又はその他のネットワークインターフェイスであってよい。ＬＡＮ３３は、ローカルエリアネットワークに対してファイアウォールやその他のインターネット関連サービスを提供可能なゲートウェイコンピュータシステム３１にも接続されている。このゲートウェイコンピュータシステム３１は、ＩＳＰ７に接続されており、クライアントコンピュータシステム３５及び３７にインターネット接続を提供している。このゲートウェイコンピュータ３１は、従来のサーバーコンピュータシステムであってよい。又、ウェブサーバーシステム９も、従来のサーバーコンピュータシステムであってよい。
【０１２４】
この代わりに、周知のごとく、サーバーコンピュータシステム４３をネットワークインターフェイス４５を介してＬＡＮ３３に直接接続し、ゲートウェイシステム３１を介してインターネットに接続することなしに、ファイル４７やその他のサービスをクライアント３５、３７に提供することも可能である。
【０１２５】
図１０Ｂは、クライアントコンピュータシステムやサーバーコンピュータシステム、或いはウェブサーバーシステムとして使用可能な従来のコンピュータシステムの一例を示している。このようなコンピュータシステムを使用し、ＩＳＰ１０５などのインターネットサービスプロバイダの機能の多くを実行可能であることも理解されよう。コンピュータシステム５１は、モデム又はネットワークインターフェイス５３を介して外部システムと接続されている。このモデム又はネットワークインターフェイス５３をコンピュータシステム５１の一部と見なせることが理解されよう。このインターフェイス５３は、アナログモデム、ＩＳＤＮモデム、ケーブルモデム、トークンリングネットワーク、衛星伝送インターフェイス（例：「Ｄｉｒｅｃｔ  ＰＣ」）、或いは、コンピュータシステムをその他のコンピュータシステムに接続するその他のインターフェイスであってよい。コンピュータシステム５１は、プロセッサ５５を含んでおり、これは、Ｉｎｔｅｌ  ＰｅｎｔｉｕｍマイクロプロセッサやＭｏｔｏｒｏｌａ  Ｐｏｗｅｒ  ＰＣマイクロプロセッサなどの従来のマイクロプロセッサであってよい。メモリ５９が、バス５７によってプロセッサ５５に接続されている。このメモリ５９は、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）であってよく、ＳＲＡＭ（ｓｔａｔｉｃ  ＲＡＭ）を含むことも可能である。バス５７は、プロセッサ５５をメモリ５９に接続すると共に、不揮発性ストレージ６５、ディスプレイコントローラ６１、及び入出力（Ｉ／Ｏ）コントローラ６７にも接続している。ディスプレイコントローラ６１は、従来の方式によってディスプレイ装置６３上の表示を制御するが、このディスプレイ装置は、陰極線管（ＣＲＴ）や液晶ディスプレイであってよい。入出力装置６９には、マウスやその他のポインティング装置を含むキーボード、ディスク駆動装置、プリンタ、スキャナ、及びその他の入出力装置が含まれる。ディスプレイコントローラ６１とその他のＩ／Ｏコントローラ６７は、従来の周知の技術によって実装可能である。デジタル画像入力装置７１は、デジタルカメラの画像をコンピュータシステム５１に入力するべくＩ／Ｏコントローラ６７に接続されたデジタルカメラであってよい。不揮発性ストレージ６５は、磁気ハードディスク、光ディスク、又は大量データ用のその他の形態のストレージであることが多い。このデータの中には、コンピュータシステム５１でソフトウェアを実行した際に、ダイレクトメモリアクセスプロセスによってメモリ５９にしばしば書き込まれるものも存在する。当業者であれば、「コンピュータ読み取り可能な記録媒体」という用語が、プロセッサ５５がアクセス可能なあらゆるタイプのストレージ装置を含んでおり、且つデータ信号をエンコードする搬送波をも包含すること即座に認識するであろう。
【０１２６】
このコンピュータシステム５１は、異なるアーキテクチャを有する多くの使用可能なコンピュータシステムの一例であることが理解されよう。例えば、Ｉｎｔｅｌマイクロプロセッサベースのパーソナルコンピュータは、複数のバスを備えていることが多く、その１つは周辺装置用の入出力（Ｉ／Ｏ）バスであり、１つはプロセッサ５５とメモリｘ５９を直接接続するものである（メモリバスと呼ばれることが多い）。これらのバスは、異なるバスプロトコルのために必要とされる変換を実行するブリッジコンポーネントによって接続されている。
【０１２７】
ネットワークコンピュータは、本発明に使用可能な更なるタイプのコンピュータシステムである。ネットワークコンピュータには、通常、ハードディスクやその他のタイプの大容量ストレージが含まれておらず、実行可能なプログラムは、プロセッサ５５で実行するべくネットワーク接続からメモリ５９にロードされる。当技術分野において周知のウェブテレビシステムも本発明によるコンピュータシステムと考えられるが、特定の入力又は出力装置などの図１０Ｂに示されている機能のいくつかを欠いていることが多い。一般的なコンピュータシステムは、通常、少なくともプロセッサ、メモリ、及びメモリをプロセッサに接続するバスを含んでいる。
【０１２８】
又、コンピュータシステム５１が、オペレーティングシステムソフトウェアの一部であるディスクオペレーティングシステムなどのファイル管理システムを含むオペレーティングシステムソフトウェアによって制御されていることも理解されよう。関連するファイル管理システムソフトウェアを有するオペレーティングシステムソフトウェアの一例としては、ワシントン州レドモンドに所在するマイクロソフト社（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ  ｏｆ  Ｒｅｄｍｏｎｄ，  Ｗａｓｈｉｎｇｔｏｎ）が提供するＷｉｎｄｏｗｓファミリーオペレーティングシステム及びその関連ファイル管理システムがある。ファイル管理システムは、通常、不揮発性ストレージ６５に保存され、オペレーティングシステムが必要とする様々なアクションをプロセッサに実行させて、ファイルの不揮発性ストレージ６５への保存を含むデータの入出力とデータのメモリへの保存を行う。
【０１２９】
（結論）
以上、マルチメディアデジタルコンタクトセンターにおけるコンタクトの昇格と降格を実行するティア構造のサービスモデルについて説明した。本明細書においては、特定の実施例を例示し説明しているが、当業者であれば、同一の目的を実現するべく適合されたあらゆる方式により、本明細書に示されている特定の実施例を置換することが可能であることを理解するであろう。本出願は、そのような本発明のあらゆる適合及び変形を包含するものである。
本出願においてネットワークに関連して使用している用語は、プライベートワイドエリアネットワーク及びローカルエリアネットワークを含むあらゆるネットワーク環境を包含することを意味するものである。従って、本発明を限定するのは添付の請求項及びその同等物のみであることが明らかである。
【図面の簡単な説明】
【０１３０】
【図１】本発明のデジタルマルチメディアコンタクトセンター用の３ティア構造のサービスモデルを示す図である。
【図２】図１に示されているデジタルマルチメディアコンタクトセンターモデルの基盤となるシステムアーキテクチャの実施例を示す図である。
【図３Ａ】図２に示されているデジタルマルチメディアコンタクトセンターのアーキテクチャにおけるメディア固有のコンタクトの処理を示す図である。
【図３Ｂ】図２に示されているデジタルマルチメディアコンタクトセンターのアーキテクチャにおけるメディア固有のコンタクトの処理を示す図である。
【図３Ｃ】図２に示されているデジタルマルチメディアコンタクトセンターのアーキテクチャにおけるメディア固有のコンタクトの処理を示す図である。
【図４Ａ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において音声コンポーネントが実行する方法のフローチャートである。
【図４Ｂ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において音声コンポーネントが実行する方法のフローチャートである。
【図４Ｃ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において音声コンポーネントが実行する方法のフローチャートである。
【図５Ａ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において昇格した電子メールコンポーネントが実行する方法のフローチャートである。
【図５Ｂ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において昇格した電子メールコンポーネントが実行する方法のフローチャートである。
【図５Ｃ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例において昇格した電子メールコンポーネントが実行する方法のフローチャートである。
【図６Ａ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてコラボレーションコンポーネントが実行する方法のフローチャートである。
【図６Ｂ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてコラボレーションコンポーネントが実行する方法のフローチャートである。
【図６Ｃ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてコラボレーションコンポーネントが実行する方法のフローチャートである。
【図７Ａ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてエージェントコンポーネントが実行する方法のフローチャートである。
【図７Ｂ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてエージェントコンポーネントが実行する方法のフローチャートである。
【図７Ｃ】図２に示されているデジタルマルチメディアコンタクトセンターの実施例においてエージェントコンポーネントが実行する方法のフローチャートである。
【図８Ａ】本発明の実装において使用するコンタクト詳細データ構造の図である。
【図８Ｂ】本発明の実装において使用するエージェントデータ構造の図である。
【図９Ａ】本発明の実装において使用するワークフローエンジンの図である。
【図９Ｂ】図９Ａのワークフローエンジンが実行する非同期ワークフローの図である。
【図１０Ａ】本発明の実施に適した動作環境の一実施例の図である。
【図１０Ｂ】図１０Ａの動作環境で使用するのに適したコンピュータシステムの一実施例の図である。
【図１】
2005504452.tif 000005
【図２】
2005504452.tif 000006
【図３Ａ】
2005504452.tif 000007
【図３Ｂ】
2005504452.tif 000008
【図３Ｃ】
2005504452.tif 000009
【図４Ａ】
2005504452.tif 000010
【図４Ｂ】
2005504452.tif 000011
【図４Ｃ】
2005504452.tif 000012
【図５Ａ】
2005504452.tif 000013
【図５Ｂ】
2005504452.tif 000014
【図５Ｃ】
2005504452.tif 000015
【図６Ａ】
2005504452.tif 000016
【図６Ｂ】
2005504452.tif 000017
【図６Ｃ】
2005504452.tif 000018
【図７Ａ】
2005504452.tif 000019
【図７Ｂ】
2005504452.tif 000020
【図７Ｃ】
2005504452.tif 000021
【図８Ａ】
2005504452.tif 000022
【図８Ｂ】
2005504452.tif 000023
【図９Ａ】
2005504452.tif 000024
【図１０Ａ】
2005504452.tif 000025
【図１０Ｂ】
2005504452.tif 000026
【国際公開パンフレット】
2005504452.tif 000027
2005504452.tif 000028
2005504452.tif 000029
2005504452.tif 000030
2005504452.tif 000031
2005504452.tif 000032
2005504452.tif 000033
2005504452.tif 000034
2005504452.tif 000035
2005504452.tif 000036
2005504452.tif 000037
2005504452.tif 000038
2005504452.tif 000039
2005504452.tif 000040
2005504452.tif 000041
2005504452.tif 000042
2005504452.tif 000043
2005504452.tif 000044
2005504452.tif 000045
2005504452.tif 000046
2005504452.tif 000047
2005504452.tif 000048
2005504452.tif 000049
2005504452.tif 000050
2005504452.tif 000051
2005504452.tif 000052
2005504452.tif 000053
2005504452.tif 000054
2005504452.tif 000055
2005504452.tif 000056
2005504452.tif 000057
2005504452.tif 000058
2005504452.tif 000059
2005504452.tif 000060
2005504452.tif 000061
2005504452.tif 000062
2005504452.tif 000063
2005504452.tif 000064
2005504452.tif 000065
2005504452.tif 000066
2005504452.tif 000067
2005504452.tif 000068
2005504452.tif 000069
2005504452.tif 000070
2005504452.tif 000071
2005504452.tif 000072
2005504452.tif 000073
2005504452.tif 000074
2005504452.tif 000075
2005504452.tif 000076
2005504452.tif 000077
2005504452.tif 000078
2005504452.tif 000079
2005504452.tif 000080
2005504452.tif 000081
2005504452.tif 000082
2005504452.tif 000083
2005504452.tif 000084
2005504452.tif 000085
2005504452.tif 000086
2005504452.tif 000087
2005504452.tif 000088
2005504452.tif 000089
2005504452.tif 000090
2005504452.tif 000091
2005504452.tif 000092
2005504452.tif 000093
2005504452.tif 000094
2005504452.tif 000095
2005504452.tif 000096
2005504452.tif 000097
【国際公開パンフレット（コレクトバージョン）】
2005504452.tif 000098
2005504452.tif 000099
【国際調査報告】
2005504452.tif 000100
2005504452.tif 000101