(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-02
(45)【発行日】2022-09-12
(54)【発明の名称】一貫性重み付けおよびルーティング規則に基づく動的通信ルーティング
(51)【国際特許分類】
H04L 45/00 20220101AFI20220905BHJP
【FI】
H04L45/00
【外国語出願】
(21)【出願番号】P 2021128060
(22)【出願日】2021-08-04
(62)【分割の表示】P 2020096786の分割
【原出願日】2016-06-02
【審査請求日】2021-08-24
(32)【優先日】2015-06-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-06-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】マタン・バラク
(72)【発明者】
【氏名】エフィム・ディメンスタイン
(72)【発明者】
【氏名】シュロモ・ラハヴ
【審査官】宮島 郁美
(56)【参考文献】
【文献】特表2000-516432(JP,A)
【文献】特開平07-143161(JP,A)
【文献】特開2002-319978(JP,A)
【文献】米国特許出願公開第2010/0332975(US,A1)
【文献】韓国公開特許第10-2012-0087119(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-13/18,41/00-69/40
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
1または複数のメッセージの1または複数の特性を決定するステップであって、前記1または複数のメッセージは、ネットワーク機器と端末機器との間の連続通信内で交換される、前記決定するステップと、
再ルーティング条件が満たされているかどうかを判定するステップであって、判定は、前記1または複数のメッセージ及び前記1または複数の特性の評価に基づいて行われる、前記判定するステップと、
新しい端末機器を選択するステップであって、前記新しい端末機器は、前記再ルーティング条件が満たされているときに選択され、前記新しい端末機器は、前記1または複数の特性に基づいて選択される、前記選択するステップと、
動的メッセージクロニクルを生成するステップであって、前記動的メッセージクロニクルは、前記1または複数のメッセージを含む、前記生成するステップと、
前記ネットワーク機器と前記新しい端末機器との間の継続チャネルの確立を円滑に行わせるステップであって、前記ネットワーク機器からの後続メッセージが、前記継続チャネルを介して前記新しい端末機器に送信される、前記円滑に行わせるステップと、
前記動的メッセージクロニクルを前記新しい端末機器に提示するステップと、
前記連続通信を継続するために、前記継続チャネルを介して前記ネットワーク機器と前記新しい端末機器との間で前記後続メッセージをルーティングするステップであって、前記動的メッセージクロニクルは、前記後続メッセージがルーティングされる際に更新される、前記ルーティングするステップと
を含む、コンピュータ実装方法。
【請求項2】
前記1または複数の特性は、前記1または複数のメッセージと関連付けられた極性に対応する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記1または複数の特性は、前記連続通信の感情が前記連続通信の間に変化した程度に対応する、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記再ルーティング条件は、前記1または複数の特性が閾値を下回る感情スコアに対応する結果として満たされる、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記新しい端末機器は、前記1または複数の特性の、前記新しい端末機器を操作するエージェントと関連付けられた変数のベクトルとのアラインメントに基づいて選択される、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記動的メッセージクロニクルは、次元のセットを含み、前記次元のセットのうちの第1の次元は、前記1または複数のメッセージのソースを示し、前記次元のセットのうちの第2の次元は、前記1または複数のメッセージの送信時間を示す、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記後続メッセージが前記新しい端末機器にルーティングされていることを示す再ルーティング通知を前記端末機器に送信することをさらに備える、請求項1に記載のコンピュータ実装方法。
【請求項8】
システムであって、
1または複数のプロセッサと、
前記1または複数のプロセッサによって実行される結果として、前記システムに、
1または複数のメッセージの1または複数の特性を決定する動作であって、前記1または複数のメッセージは、ネットワーク機器と端末機器との間の連続通信内で交換される、前記決定する動作と、
再ルーティング条件が満たされているかどうかを判定する動作であって、判定は、前記1または複数のメッセージ及び前記1または複数の特性の評価に基づいて行われる、前記判定する動作と、
新しい端末機器を選択する動作であって、前記新しい端末機器は、前記再ルーティング条件が満たされているときに選択され、前記新しい端末機器は、前記1または複数の特性に基づいて選択される、前記選択する動作と、
動的メッセージクロニクルを生成する動作であって、前記動的メッセージクロニクルは、前記1または複数のメッセージを含む、前記生成する動作と、
前記ネットワーク機器と前記新しい端末機器との間の継続チャネルの確立を円滑に行わせる動作であって、前記ネットワーク機器からの後続メッセージが、前記継続チャネルを介して前記新しい端末機器に送信される、前記円滑に行わせる動作と、
前記動的メッセージクロニクルを前記新しい端末機器に提示する動作と、
前記連続通信を継続するために、前記継続チャネルを介して前記ネットワーク機器と前記新しい端末機器との間で前記後続メッセージをルーティングする動作であって、前記動的メッセージクロニクルは、前記後続メッセージがルーティングされる際に更新される、前記ルーティングする動作と
を行わせる命令を記憶するメモリと
を備える、システム。
【請求項9】
前記1または複数の特性は、前記1または複数のメッセージと関連付けられた極性に対応する、請求項8のシステム。
【請求項10】
前記1または複数の特性は、前記連続通信の感情が前記連続通信の間に変化した程度に対応する、請求項8のシステム。
【請求項11】
前記再ルーティング条件は、前記1または複数の特性が閾値を下回る感情スコアに対応する結果として満たされる、請求項8のシステム。
【請求項12】
前記新しい端末機器は、前記1または複数の特性の、前記新しい端末機器を操作するエージェントと関連付けられた変数のベクトルとのアラインメントに基づいて選択される、請求項8のシステム。
【請求項13】
前記動的メッセージクロニクルは、次元のセットを含み、前記次元のセットのうちの第1の次元は、前記1または複数のメッセージのソースを示し、前記次元のセットのうちの第2の次元は、前記1または複数のメッセージの送信時間を示す、請求項8のシステム。
【請求項14】
1または複数の前記命令は、前記システムに、前記後続メッセージが前記新しい端末機器にルーティングされていることを示す再ルーティング通知を前記端末機器に送信することをさらに行わせる、請求項8のシステム。
【請求項15】
コンピュータシステムの1または複数のプロセッサによって実行される結果として、前記コンピュータシステムに、
1または複数のメッセージの1または複数の特性を決定する動作であって、前記1または複数のメッセージは、ネットワーク機器と端末機器との間の連続通信内で交換される、前記決定する動作と、
再ルーティング条件が満たされているかどうかを判定する動作であって、判定は、前記1または複数のメッセージ及び前記1または複数の特性の評価に基づいて行われる、前記判定する動作と、
新しい端末機器を選択する動作であって、前記新しい端末機器は、前記再ルーティング条件が満たされているときに選択され、前記新しい端末機器は、前記1または複数の特性に基づいて選択される、前記選択する動作と、
動的メッセージクロニクルを生成する動作であって、前記動的メッセージクロニクルは、前記1または複数のメッセージを含む、前記生成する動作と、
前記ネットワーク機器と前記新しい端末機器との間の継続チャネルの確立を円滑に行わせる動作であって、前記ネットワーク機器からの後続メッセージが、前記継続チャネルを介して前記新しい端末機器に送信される、前記円滑に行わせる動作と、
前記動的メッセージクロニクルを前記新しい端末機器に提示する動作と、
前記連続通信を継続するために、前記継続チャネルを介して前記ネットワーク機器と前記新しい端末機器との間で前記後続メッセージをルーティングする動作であって、前記動的メッセージクロニクルは、前記後続メッセージがルーティングされる際に更新される、前記ルーティングする動作と
を行わせる実行可能命令を記憶する、非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記1または複数の特性は、前記1または複数のメッセージと関連付けられた極性に対応する、請求項15の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記1または複数の特性は、前記連続通信の感情が前記連続通信の間に変化した程度に対応する、請求項15の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記再ルーティング条件は、前記1または複数の特性が閾値を下回る感情スコアに対応する結果として満たされる、請求項15の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記新しい端末機器は、前記1または複数の特性の、前記新しい端末機器を操作するエージェントと関連付けられた変数のベクトルとのアラインメントに基づいて選択される、請求項15の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記動的メッセージクロニクルは、次元のセットを含み、前記次元のセットのうちの第1の次元は、前記1または複数のメッセージのソースを示し、前記次元のセットのうちの第2の次元は、前記1または複数のメッセージの送信時間を示す、請求項15の非一時的なコンピュータ可読記憶媒体。
【請求項21】
1または複数の前記実行可能命令は、前記コンピュータシステムに、前記後続メッセージが前記新しい端末機器にルーティングされていることを示す再ルーティング通知を前記端末機器に送信することをさらに行わせる、請求項15の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]
関連出願の相互参照
本出願は、2015年6月2日に出願された、「DYNAMIC COMMUNICATION ROUTING BASED ON CONSISTENCY WEIGHTING AND ROUTING RULES」という名称の米国仮特許出願第62/169726号の利益を主張するものである。
【0002】
[0002]本開示は、一般に、通信のインテリジェントルーティングに関する。より具体的には、所与のクライアントのための通信を一貫した端末機器に条件付きでルーティングする技術が提供される。
【背景技術】
【0003】
[0003]生成される電子通信や電話通信の数は、未だかつてないペースで増加している。様々な機器がそのような通信への応答の提供を円滑に行わせることができる。しかし、そのような応答の質と速度は機器によって異なる可能性がある。さらに、ある機器はある通信に対して相対的に高品質で高速な応答を提供するように構成されているが、別の機器はそのような相対的に高品質で高速な応答を別の通信に提供するように構成されている。したがって、戦略的ルーティングを円滑に行わせることが重要である。
【発明の概要】
【課題を解決するための手段】
【0004】
[0004]実施形態という用語およびこれに類似した用語は、本開示の主題および添付の特許請求の範囲のすべてを広く指すものである。これらの用語を含む記述は、本明細書に記載する主題を限定するものでも、添付の特許請求の範囲の意味または範囲を限定するものでもないと理解すべきである。本明細書で扱う本開示の実施形態は、この発明の概要によってではなく、添付の特許請求の範囲によって定義される。この発明の概要は、本開示の様々な態様の大まかな概要であり、以下の詳細な説明の項でさらに説明される概念のいくつかを提示するものである。この発明の概要は、特許請求される主題の重要な、または本質的な特徴を識別するためのものではなく、特許請求される主題の範囲を定めるために単独で使用するものでもない。主題は、本開示の明細書全体の適切な部分、任意の、またはすべての図面、および各請求項を参照することによって理解すべきである。
【0005】
[0005]本開示の実施形態は、通信をルーティングするためのコンピュータ実装方法を含む。本方法は、コンピューティング機器において、コンテンツデータを含む通信を受信するステップと、通信をプライマリキューに格納するステップとを含む。ある場合には、プライマリキューは、複数の通信を格納するための複数のキュー位置を含む。通信は、プライマリキュー内の複数のキュー位置のうちのキュー位置において格納される。本方法はまた、プライマリキューのキュー位置から通信を読み出すステップと、通信を解析するステップも含む。ある場合には、通信を解析するステップは、キーワードについてコンテンツデータをパースするステップを含む。例えば、キーワードはセカンダリキューに対応している。さらに、本方法は、通信をセカンダリキューに格納するステップを含む。セカンダリキューは、1または複数の端末機器と関連付けられている。本方法はまた、セカンダリキューと関連付けられた端末機器を識別するステップも含む。さらに、本方法は、通信へのアクセスを要求する読出し要求を受信するステップと、通信を前記端末機器にルーティングするステップとを含む。例えば、通信をルーティングするステップは、端末機器と、通信と関連付けられたネットワーク機器との間の通信リンクを確立するステップを含む。
【0006】
[0006]本開示の実施形態はまた、通信をルーティングするためのシステムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載する通信をルーティングするためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0007】
[0007]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載する通信をルーティングするためのコンピュータ実装方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0008】
[0008]本開示の別の実施形態は、タスクを行うためのコンピュータ実装方法を含む。本コンピュータ実装方法は、コンピューティング機器において、ネットワーク機器から初期通信を受信するステップと、端末機器を識別するステップとを含む。端末機器は、初期通信を使用して識別される。端末機器は、実体と関連付けられている。本コンピュータ実装方法はまた、ネットワーク機器と端末機器との間の通信リンクを確立するステップと、ネットワーク機器と端末機器との間の通信セッションを円滑に行わせるステップも含む。ある場合には、通信セッションを円滑に行わせるステップは、確立された通信リンク上でネットワーク機器と端末機器との間で1または複数のメッセージを交換するステップを含む。さらに、本方法は、初期メッセージを受信するステップと、初期メッセージの初期メッセージパラメータを決定するステップとを含む。例えば、初期メッセージパラメータは、初期メッセージが受信されるときにリアルタイムで決定される。初期メッセージパラメータは、初期メッセージと関連付けられたメッセージ特性を示す。本方法はまた、通信セッションと関連付けられた複数のメッセージの会話パラメータを決定するステップも含む。会話パラメータは、初期メッセージパラメータおよび1または複数の追加メッセージパラメータを使用して決定される。会話パラメータは、1または複数の追加メッセージパラメータが生成される際にリアルタイムで更新される。さらに、会話パラメータは、複数のメッセージと関連付けられた会話特性を示す。本方法はまた、メッセージパラメータまたは会話パラメータに基づいてタスクを行うステップも含む。
【0009】
[0009]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載するタスクを行うためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0010】
[0010]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載するタスクを行うためのコンピュータ実装方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0011】
[0011]本開示の別の実施形態は、一貫性および待ち時間変数に基づいて電子メッセージを動的にルーティングするための方法を含む。本方法は、ネットワーク機器からメッセージを受信するステップと、メッセージがクライアントと関連付けられていると判定するステップと、通信チャネルを介してルーティングされたメッセージの交換によってネットワーク機器と以前に通信した端末機器を識別するステップとを含む。端末機器は、クライアントと関連付けられた端末機器を含む。本方法はまた、端末機器と関連付けられたエージェントがメッセージへの応答に対応できるかどうか判定するステップも含む。ある場合には、本方法は、エージェントがメッセージへの応答に対応できないと判定された場合、もしもメッセージが端末機器にルーティングされた場合のメッセージへの応答の遅延を示す応答待ち時間を予測するステップと、エージェント一貫性の方がより速い応答待ち時間より重要であるかどうか判定するステップとを含む。本方法は、エージェント一貫性の方がより速い応答待ち時間より重要であると判定された場合、メッセージを端末機器にルーティングするステップと、端末機器とネットワーク機器との間の非同期通信交換を円滑に行わせるステップとを含む。本方法は、エージェント一貫性の方がより速い応答待ち時間より重要ではないと判定された場合、クライアントと関連付けられた新しい端末機器を識別するステップと、メッセージを、新しい通信チャネルを介して新しい端末機器にルーティングするステップとを含む。
【0012】
[0012]本開示の実施形態はまた、通信をルーティングするためのシステムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載する一貫性および待ち時間変数に基づいて電子メッセージを動的にルーティングするための方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0013】
[0013]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載する一貫性および待ち時間変数に基づいて電子メッセージを動的にルーティングするための方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0014】
[0014]本開示の別の実施形態は、メッセージをルーティングするための継続チャネルを条件付きで確立する方法を含む。本方法は、ネットワーク機器と端末機器との間の一連のメッセージのルーティングを円滑に行わせるステップと、条件を含む継続チャネル規則にアクセスするステップとを含む。一連のメッセージは、時間次元に沿ってクラスタ化された時間と関連付けられており、一連のメッセージは、クライアントに対応している。さらに、継続チャネル規則は、条件が満たされた場合、ネットワーク機器からネットワーク機器と以前に通信した端末機器へのメッセージのルーティングを優先するようバイアスをかけるべきであることを指示する。本方法はまた、一連のメッセージ内の1もしくは複数のメッセージ、入力またはアカウントデータに基づいて特性を決定するステップと、特性に基づいて条件が満たされているかどうか判定するステップも含む。本方法は、条件が満たされていると判定された場合、ネットワーク機器と端末機器との間の継続チャネルを確立するステップを含む。継続チャネルは、ネットワーク機器から端末機器への後続メッセージのルーティングを円滑に行わせる。後続メッセージは、クライアントに対応している。さらに、後続メッセージは、クラスタ化された一連のメッセージの時間から時間次元に沿って分離された時間に受信される。本方法はまた、継続チャネルが確立されたことを指示し、端末機器と関連付けられた識別を含むプレゼンテーションを生成するステップも含む。本方法は、条件が満たされていないと判定された場合、ネットワーク機器から異なる端末機器への後続メッセージのルーティングを円滑に行わせるステップを含む。後続メッセージは、クライアントに対応している。後続メッセージは、クラスタ化された一連のメッセージの時間から時間次元に沿って分離された時間に受信される。
【0015】
[0015]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載するメッセージをルーティングするための継続チャネルを条件付きで確立する方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0016】
[0016]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載するメッセージをルーティングするための継続チャネルを条件付きで確立する方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0017】
[0017]本開示の別の実施形態は、電子メッセージを端末機器に動的にルーティングするための方法も含む。本方法は、ネットワーク機器と端末機器との間でルーティングされた一連のメッセージの交換をモニタするステップと、一連のメッセージのうちの1または複数のメッセージの特性を決定するステップとを含む。例えば、一連のメッセージはクライアントに対応している。例えば、特性は話題や感情に対応している。本方法は、条件を含む再ルーティング規則にアクセスするステップを含む。再ルーティング規則は、条件が満たされた場合、再ルーティングプロセスを開始すべきであることを指示する。さらに、本方法は、特性に基づいて条件が満たされているかどうか判定するステップも含む。本方法は、条件が満たされていると判定された場合、異なる端末機器を識別するステップと、一連のメッセージのうちの少なくともいくつかを含む動的メッセージクロニクルを生成するステップと、動的メッセージクロニクルを異なる端末機器に送信するステップと、ネットワーク機器から新しいメッセージを受信するステップと、新しいメッセージを端末機器の各々と異なる端末機器とへ送信するステップとを含む。例えば、異なる端末機器はクライアントと関連付けられている。
【0018】
[0018]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載する電子メッセージを端末機器に動的にルーティングするためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0019】
[0019]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載する電子メッセージを端末機器に動的にルーティングするための方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0020】
[0020]本開示の別の実施形態は、メッセージに索引付けし、メッセージクロニクルを生成するためのコンピュータ実装方法を含む。本方法は、コンピューティング機器において、ネットワーク機器と端末機器との間のインタラクションを検出するステップと、インタラクションの少なくとも一部と関連付けられた決定可能な特性を識別するステップとを含む。ある場合には、インタラクションは、ネットワーク機器と端末機器との間で通信された1または複数の通信を含むことができる。例えば、通信はコンテンツデータを含むことができる。本方法はまた、コンテンツデータに基づいてインタラクションの話題を識別するステップと、コンテンツデータに基づいて問題解決段階を識別するステップと、コンテンツデータに基づいてパラメータを決定するステップも含む。例えば、パラメータは、インタラクションと関連付けられた特性(例えば、感情や意図)を示すことができる。さらに、本方法は、複数のメッセージ索引を設定するステップと、複数のメッセージ索引のうちの索引を識別するステップとを含む。例えば、メッセージ索引は、ネットワーク機器と端末機器との間の一連の通信に対応させることができる。例えば、決定されたパラメータまたはコンテンツデータを使用して索引を識別することができる。本方法はまた、識別された索引と関連付けられた1または複数のメッセージを選択的に識別するステップと、識別された1または複数のメッセージに基づいてメッセージクロニクルを生成するステップと、生成されたメッセージクロニクルを提示し、または解析するステップも含む。
【0021】
[0021]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載するメッセージに索引付けし、メッセージクロニクルを生成するためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0022】
[0022]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載するメッセージに索引付けし、メッセージクロニクルを生成するための方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0023】
[0023]本開示の別の実施形態は、生成されたエージェントベクトルに基づいてメッセージルーティングを円滑に行わせるためのコンピュータ実装方法を含む。本方法は、コンピューティング機器において、ネットワーク機器からのメッセージを検出するステップと、メッセージと関連付けられた話題を決定するステップとを含む。例えば、メッセージはコンテンツデータを含む。さらに、例えば、話題を決定するステップは、コンテンツデータを解析するステップを含む。本方法はまた、メッセージと関連付けられた複雑さレベルを決定するステップと、メッセージに基づいてパラメータを決定するステップと、メッセージと関連付けられた非実体的特性を決定するステップも含む。例えば、パラメータは、メッセージの特性(例えば、感情や意図)を示すことができる。目標オブジェクトは、ネットワーク機器によって送信されたメッセージから決定された意図を表すことができる。例えば、目標オブジェクトは、パスワード検索での支援を求めるネットワーク機器を操作しているユーザの意図を表すこともできる。さらに、本方法は、エージェントのセット内のエージェントごとの対応する変数のベクトルを識別するステップと、エージェントのセットのサブセットを識別するステップと、メッセージをサブセット内のエージェントの端末機器にルーティングするための動作する接続の確立を円滑に行わせるステップとを含む。サブセットを識別するステップは、エージェントベクトルおよび決定された変数に基づくものとすることができる。
【0024】
[0024]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載する生成されたエージェントベクトルに基づいてメッセージルーティングを円滑に行わせるためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0025】
[0025]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載する生成されたエージェントベクトルに基づいてメッセージルーティングを円滑に行わせるための方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0026】
[0026]本開示の別の実施形態は、コンピューティング機器(例えば、ユーザによって操作されるモバイル機器)上に表示されるユーザインターフェースを表示するための方法を含む。ユーザインターフェースは、ネットワーク機器を操作するユーザと端末機器を操作するエージェントとの間のリアルタイム通信セッションまたは非同期メッセージングセッションの間に表示される。本方法は、複数のクライアントの各々に選択可能な表現を表示するステップを含む。例えば、選択可能な表現は、継続チャネルがネットワーク機器と端末機器との間の通信セッションに対応するように、1または複数の継続チャネルと関連付けられている。本方法はまた、選択可能な表現を選択すると、ネットワーク機器と端末機器との間で通信された1または複数のメッセージを表示するステップも含む。本方法はまた、異なる話題に関連した様々な通信交換の複数の表現を表示するステップも含む。例えば、表現は、識別された話題に関連する目標とされるメッセージクロニクルを含む。ある場合には、話題の表現を選択することにより、端末機器(例えば、通信セッションと以前に関連付けられた端末機器や、以前の端末機器とは異なる端末機器)との継続通信セッションを開始し、または再開することもできる。本方法はまた、エージェントと関連付けられた端末機器においてインターフェースを表示するステップも含む。本方法は、ユーザとエージェントとの間で進行中の1または複数の通信セッションの表現を表示するステップを含む。例えば、端末機器において表示されるインターフェースは、通信セッションと関連付けられた感情の指示を含む。例えば、通信セッションは否定極性(例えば、否定的感情)に対応し、この場合、否定極性を表す指示が表示される。ある場合には、端末機器において表示されるインターフェースは、メッセージを発信するネットワーク機器がメッセージの通信を円滑に行わせるために異なる第三者アプリケーションを使用している間でさえも、進行中の通信セッションを表すことができる。
【0027】
[0027]本開示の実施形態はまた、システムも含む。本システムは、1または複数のプロセッサと、1または複数のデータプロセッサ上で実行されると、1または複数のデータプロセッサに、上述の本明細書に記載するコンピューティング機器上に表示されるユーザインターフェースを表示するためのコンピュータ実装方法を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体とを含む。
【0028】
[0028]本開示の実施形態はまた、データ処理装置に、上述の本明細書に記載するコンピューティング機器上に表示されるユーザインターフェースを表示するための方法を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品も含む。
【0029】
[0029]本開示は、添付の図と併せて説明される。
【図面の簡単な説明】
【0030】
【
図1A】ネットワーク・インタラクション・システムの一実施形態を示すブロック図である。
【
図1B】ネットワーク・インタラクション・システムの別の実施形態を示すブロック図である。
【
図2】ネットワーク・インタラクション・システムの別の実施形態を示すブロック図である。
【
図3A】接続管理システムを含むネットワーク・インタラクション・システムの他の実施形態を示すブロック図である。
【
図3B】接続管理システムを含むネットワーク・インタラクション・システムの他の実施形態を示すブロック図である。
【
図3C】接続管理システムを含むネットワーク・インタラクション・システムの他の実施形態を示すブロック図である。
【
図4】接続構成要素の動作のプロトコルスタックマッピングを示す図である。
【
図5】一実施形態によるマルチデバイス通信交換システムを表す図である。
【
図6】接続管理システムの一実施形態を示すブロック図である。
【
図7】メッセージに索引付けし、メッセージクロニクルを生成するためのプロセスの一実施形態を示す流れ図である。
【
図8】生成されたエージェントベクトルに基づいてメッセージルーティングを円滑に行わせるためのプロセスの一実施形態を示す流れ図である。
【
図9】継続チャネルの確立を管理するためのプロセスの一実施形態を示す流れ図である。
【
図10】索引に基づいて電子メッセージを端末機器に動的にルーティングするためのプロセスの一実施形態を示す流れ図である。
【
図11】一貫性および待ち時間変数に基づいて電子メッセージを動的にルーティングするためのプロセスの一実施形態を示す流れ図である。
【
図12】通信をルーティングするためのプロセスの一実施形態を示す流れ図である。
【
図13】タスクを行うためのプロセスの一実施形態を示す流れ図である。
【
図14】継続通信パラメータを生成する一実施形態を示すフロー図である。
【
図15A】一実施形態による端末機器と接続する様々な態様を表すインターフェースの例を示す図である。
【
図15B】一実施形態による端末機器と接続する様々な態様を表すインターフェースの例を示す図である。
【
図15C】一実施形態による端末機器と接続する様々な態様を表すインターフェースの例を示す図である。
【
図15D】一実施形態による端末機器と接続する様々な態様を表すインターフェースの例を示す図である。 [0046]添付の図においては、類似した構成要素および/または特徴が、同じ参照ラベルを有する場合がある。さらに、同種の様々な構成要素は、参照ラベルの後にダッシュおよび類似した構成要素を区別する第2のラベルを続けることによって区別される。本明細書において第1の参照ラベルのみが用いられている場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する類似した構成要素のいずれにも当てはまる。
【発明を実施するための形態】
【0031】
[0047]以下の説明は、(1または複数の)好ましい実施形態の例を提供するにすぎず、本開示の範囲、適用性または構成を限定するためのものではない。というよりはむしろ、以下の(1または複数の)好ましい実施形態の例の説明は、当業者に、好ましい実施形態の例の実施を可能にする説明を提供するものである。添付の特許請求の範囲に記載されている趣旨および範囲を逸脱することなく要素の機能および構成の様々な変更を行いうることを理解されたい。
【0032】
[0048]
図1Aに、本明細書に記載するいくつかの実施形態および特徴を実現し、サポートするネットワーク・インタラクション・システム100Aの一実施形態のブロック図を示す。いくつかの実施形態は、ネットワーク機器105(ユーザ110が操作することができる)と端末機器115(エージェント120が操作することができる)との間の通信リンクを確立することに関するものである。例えば、通信リンクを確立することは、ネットワーク機器105と端末機器115との間のネットワーク上でチャネルを確立することを含むこともできる。ネットワーク機器105から送信された通信(例えば、メッセージ)を、確立された通信リンク上で端末機器115にルーティングすることもでき、その逆も可能である。
【0033】
[0049]いくつかの実施形態では、ユーザ110は、ウェブサイトを訪問しており、またはリモートサーバ140が提供するオンラインサービスにアクセスしている個人とすることができる。さらに、いくつかの実施形態では、ネットワーク・インタラクション・システム100Aは、クライアント125と関連付けられたクライアント機器130を含むことができる。クライアント125は、ウェブサイトまたはオンラインサービスを提供、運営、もしくは実施する実体、または本明細書に記載するクライアント125が利用できるタスクを行うためにそのような実体によって雇われ、もしくは任命された個人とすることができる。エージェント120は、ユーザ110にウェブサイトまたはオンラインサービスに関するサポートまたは情報(例えば、ウェブサイト上のコンテンツに関する情報)を提供することを委託されたエージェントなどの個人とすることができる。多数のエージェントのうちの、エージェントのサブセットが、特定のクライアント125のための(例えば、特定のクライアント125に代わる、または関連付けた)サポートまたは情報を提供するのに適する可能性がある。エージェント120は、クライアント125と提携している場合もあり、そうでない場合もある。各エージェントは、1または複数のクライアント125と関連付けることができる。いくつかの非限定的な例では、ユーザ110は、パーソナルコンピューティング機器からウェブページにアクセスする個人とすることができ、クライアント125は、ウェブページを管理し、または運営する会社とすることができ、エージェント120は、ユーザ110およびウェブページの他の訪問者に、ウェブページに関する情報を提供するために会社に雇われることができる。様々な実施形態において、ユーザ110、クライアント125、およびエージェント120は、他の個人または実体とすることもできる。
【0034】
[0050]
図1Aには単一のネットワーク機器105、端末機器115およびクライアント機器130のみが示されているが、ネットワーク・インタラクション・システム100Aは、複数または多数(例えば、数十、数百または数千など)のこれらの種類の機器のうちの1または複数の各々を含むことができる。同様に、
図1Aには単一のユーザ110、エージェント120およびクライアント125のみが示されているが、インタラクションシステム100Aは、複数または多数のそのような実体のうちの1または複数の各々を含むことができる。よって、所与のネットワーク機器と通信するためにどの端末機器が選択されるべきかの決定が必要な場合もある。問題をさらに複雑にしているのは、リモートサーバ140も、選択のネットワーク機器通信を受信し、これに応答するように構成されうることである。
【0035】
[0051]接続管理システム150は、通信の戦略的ルーティングまたはインテリジェントルーティングを円滑に行わせることができる。戦略的ルーティングの円滑化の非限定的な例には、2つの機器(例えば、ネットワーク機器105と端末機器115)の間の通信リンクを確立し、2つの機器間の通信をルーティングすることを含むことができる。戦略的ルーティングの円滑化には、1または複数の追加機器への通信の再ルーティングも含むことができる。例えば、接続管理システム150は、ネットワーク機器105から発信される通信を端末機器115または別の端末機器115に中継することによってルーティングを円滑に行わせることができる。
【0036】
[0052]いくつかの例では、通信には、例えば、コンテンツ(例えば、タイプ入力、クリック入力、音声入力、他の適切な入力といった実体からの入力に基づいて定義される)を有する1または複数のメッセージや、機器認証(例えば、通信リンクを確立する目的でのネットワーク機器105の認証)を求める要求またはその確認応答や、他の適切な通信を含むことができる。いくつかの例では、通信はまた、送信側機器に関するデータ(例えば、IPアドレス、アカウント識別子、機器の種類および/もしくはオペレーティングシステム)などの追加データ、宛先アドレス、クライアントの識別子、ウェブページもしくはウェブページ要素の識別子(例えば、通信が生成されたときに訪問されていた、もしくはそれ以外に通信と関連付けられたウェブページやウェブページ要素)、時間(例えば、時刻および/もしくは日付)、ならびに/または宛先アドレスも含むことができる。通信には他の情報も含めることができる。本開示は、本明細書に記載される例だけに限定されない。
【0037】
[0053]ある場合には、接続管理システム150は、通信全体を別の機器(例えば、別の端末機器や別のネットワーク機器)にルーティングすることもできる。ある場合には、接続管理システム150は、通信を変更し、または(例えば、初期通信に基づいて)新しい通信を生成することもできる。新しい通信または変更された通信は、メッセージ(もしくはその処理済みバージョン)、追加データ(例えば、送信側機器、ウェブページもしくはオンライン履歴および/もしくは時間に関する)、ならびに/または接続管理システム150によって識別された他のデータ(例えば、特定のアカウント識別子もしくは機器と関連付けられたアカウントデータ)の少なくとも一部(または全部)を含むことができる。新しい通信または変更された通信には、他の情報も含めることができる。
【0038】
[0054]ある場合には、戦略的ルーティング円滑化の一部は、ネットワーク機器105と1または複数の端末機器115との間の1または複数の接続チャネルを確立し、更新し、使用することを含むこともできる。例えば、ネットワーク機器105から通信を受信すると、接続管理システム150は、まず、通信が(もしあれば)どのクライアントに対応するか推定することができる。クライアントを識別すると、接続管理システム150は、ネットワーク機器105との通信のためのクライアントと関連付けられた端末機器115を識別することができる。ある場合には、端末機器115の識別は、ネットワーク機器105から送信されたメッセージと関連付けられた1もしくは複数のメッセージパラメータ、一連のメッセージ(例えば、会話)と関連付けられた1もしくは複数の会話パラメータ、ネットワーク機器105と関連付けられた1もしくは複数のネットワーク機器パラメータ、クライアント125と関連付けられた1もしくは複数の継続通信パラメータ、複数のエージェント(もしくは専門家もしくは代表者)の各々のプロフィール、または他の適切な例を含むこともできる。複数のエージェント内の各エージェント(例えば、エージェント120)は、端末機器(例えば、端末機器115)と関連付けることができる。端末機器115の識別は、例えば、あらゆる目的で参照によりその全体が本明細書に組み込まれる、2010年3月17日付で出願された米国特許出願第12/725799号に記載される技術を含むことができる。
【0039】
[0055]ある場合には、接続管理システム150は、1または複数のデータ構造を使用して、ネットワーク機器105と端末機器115との間の戦略的ルーティングを行うこともできる。例えば、接続管理システム150は、複数のデータ構造を含むことができる。データ構造の例には、キュー、バッファ、配列構造、木構造、または他の適切なデータ構造が含まれる。例えば、接続管理システム150がネットワーク機器105から通信を受信すると、その通信または通信の表現(例えば、識別子)をプライマリキューに格納することができる。接続管理システム150は、プライマリキューに格納された各通信を解析して、通信をルーティングすべき端末機器を識別することができる。ある場合には、セカンダリキューは1または複数の端末機器に対応している。例えば、セカンダリキューは、セカンダリキューと関連付けられた1または複数の端末機器のうちの特定の端末機器115に送信され、または特定の端末機器115によってアクセスされるべき通信を格納する。接続管理システム150は、ネットワーク機器105と通信するための端末機器115を識別すると、識別された端末機器115と関連付けられたセカンダリキューに格納すべき(プライマリキューに格納されている)通信を送信することができる。セカンダリキューは、接続管理システム150、端末機器と関連付けられたコンピューティング機器、識別された端末機器自体、または別の記憶装置に含めることができる。
【0040】
[0056]ある場合には、プライマリキューに格納された通信を解析して端末機器を識別することは、1または複数のパラメータ(例えば、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、継続通信パラメータ)に依拠して行うことができる。1または複数のパラメータは、ネットワーク機器105から送信された通信に含まれるコンテンツ(例えば、テキスト、画像、アップロードされた文書など)を使用して、または通信と関連付けて(例えば、IPアドレス、連続したメッセージ間の時間、受信時間など)決定することができる。例えば、ネットワーク機器105は、文字列を表すデータを含むメッセージを接続管理システム150に送信することができる。メッセージを受信すると、接続管理システム150は、メッセージをプライマリキューに格納し、次いでメッセージを解析することができる。メッセージの解析の一例には、メッセージに含まれるテキストをパースし、テキスト(例えば、テキストデータ)が極性指示(例えば、肯定極性、否定極性、中立極性、怒り極性、恥辱極性、フラストレーション極性、他の適切な極性)に対応するかどうか判定することを含むことができる。接続管理システム150は、テキストが、例えば、肯定極性指示に対応するかそれとも否定極性指示に対応するかに基づいてメッセージパラメータを生成することができる。メッセージパラメータの一例には、アルゴリズムの出力として生成されるスコアまたは数値を含むことができる。接続管理システム150は、生成されたメッセージパラメータに1または複数の格納された規則を適用して、メッセージをどのセカンダリキューに格納すべきか決定することができる。例えば、格納された規則は、閾値を下回るメッセージパラメータと関連付けられたメッセージ(例えば、否定極性指示に対応するメッセージ)は、特定の端末機器115と関連付けられた特定のセカンダリキューに最初にルーティングされるべきであることを指示することができる。
【0041】
[0057]ある場合には、メッセージのテキストを解析してメッセージパラメータを決定することは、メッセージと関連付けられたテキスト属性または非テキスト属性の解析を含むことができる。例えば、接続管理システム150は、メッセージに含まれる1または複数のテキスト行を抽出することができる。接続管理システム150は、1または複数のテキスト行がアンカを含むかどうか識別することができる。アンカの例には、極性と関連付けられた文字列が含まれる(例えば、感情や意図、「frustrated(フラストレーションを感じる)」という単語は否定極性またはフラストレーション極性に対応し、「happy(幸せな)」という単語は肯定極性に対応し、以下同様である)。アンカは、クライアント125に固有とすることができる。例えば、第1のクライアントのアンカは、第2のクライアントのアンカと異なるものとすることができる。例えば、あるクライアントにとっての「dispute(論争)」という用語は否定とすることができるが、第2のクライアントにとっては中立または肯定とすることができる。ある場合には、教師付き機械学習技術を使用してアンカを動的に決定することもできる。さらに、増幅因子(amplifier)について識別されたアンカの近くの1または複数の単語をパースすることができる。増幅因子の例は、「really(実際に)」、「not really(実際には~でない)」、「kind of(どちらかといえば)」などといった、アンカの極性と関連付けられた強度を増減させる用語である。
【0042】
[0058]ある場合には、接続管理システム150は、テキストが肯定的感情と関連付けられたアンカを含む場合、肯定極性指示に対応するものとしてメッセージにタグ付けすることができる。同様に、接続管理システム150は、テキストが否定的感情と関連付けられたアンカを含む場合、否定極性指示に対応するものとしてメッセージにタグ付けすることもできる。メッセージのタグ付けの一例には、メッセージに、メッセージが否定極性指示に対応するかそれとも肯定極性指示に対応するかフラグを立てるコードを付加することを含むことができる。メッセージが肯定極性指示でタグ付けされている場合、接続管理システム150は、肯定極性指示と関連付けられた第1のメッセージパラメータを生成することができる。メッセージに否定極性指示がタグ付けされている場合、接続管理システム150は、否定極性指示と関連付けられた第2のメッセージパラメータを生成することができる。この例では、第1のメッセージパラメータと第2のメッセージパラメータとは、互いに異なる値である。
【0043】
[0059]ある場合には、接続管理システム150は、複数のメッセージパラメータに基づいて会話パラメータを生成することができる。例えば、会話パラメータは、通信セッション中に会話全体の感情を判定するのに使用することができる。いくつかの例では、会話パラメータを、ネットワーク機器105が識別された端末機器115にルーティングされる新しいメッセージを送信する際にリアルタイムで動的に更新することができる。会話パラメータは、様々な目的で評価することができる。会話パラメータを評価する目的の例には、ネットワーク機器105と端末機器115との間で通信された複数のメッセージの特性傾向を判定すること、ネットワーク機器105から送信されたメッセージを(ネットワーク機器105と通信している初期端末機器115とは異なる)別の端末機器に再ルーティングすべきかどうか判定すること、初期端末機器115へのメッセージのルーティングを維持すべきかどうか判定すること、ネットワーク機器105または端末機器115と関連付けられた1もしくは複数の状況を報告すること、端末機器115と関連付けられた成績を評価すること、または1もしくは複数の追加の端末機器への通知アラートをトリガすることが含まれ得る。
【0044】
[0060]ある場合には、複数の会話パラメータに基づいてネットワーク機器パラメータを生成することもできる(さらなる考察については
図14を参照されたい)。ネットワーク機器パラメータは、特定のネットワーク機器の全体的な感情を判定するのに使用することができる。さらに、複数のネットワーク機器パラメータに基づいて継続通信パラメータを生成することができる(さらなる考察については
図14を参照されたい)。継続通信パラメータは、特定の実体(例えば、クライアント125)と関連付けられた全体的な感情を判定するのに使用することができる。
【0045】
[0061]ある場合には、接続管理システム150は、ネットワーク機器105とクライアント(またはリモートサーバ140)と関連付けられた端末機器との間に接続チャネルが確立されているかどうか判定し、そうである場合、そのようなチャネルをその通信を含む一連の通信を交換するのに使用すべきかどうか判定することもできる。この判定は、少なくとも一部は、通信と関連付けられた話題、通信もしくは過去の関連した通信と関連付けられた感情スコア(例えば、メッセージパラメータ)、一連のメッセージと関連付けられた会話パラメータ、ネットワーク機器と関連付けられたネットワーク機器パラメータ、クライアント(例えば、クライアント125)と関連付けられた継続通信パラメータ、端末機器115の(例えば、相対的もしくは絶対的な)予測応答待ち時間および/または通信(例えば、インスタントメッセージ、メッセージ、電子メール、電話)と関連付けられた通信チャネルの種類に依拠して行われる。確立された通信チャネルを選択することにより、一貫性が助長され、ネットワーク機器105からの情報を何回も中継する必要が低減される。一方、新しい通信チャネルを確立すべきであると判定することにより、より特化されたエージェントからのより迅速な応答を円滑に行わせることができる。
【0046】
[0062]確立された通信チャネルを選択する(もしくは引き続き使用する)かどうかに関する決定および/または新しい端末機器の選択は、(例えば、クライアントと関連付けられた)1または複数の端末機器の各々が通信および/または関連付けられたユーザに対応する程度を判定することを含むことができる。そのような対応関係は、例えば、エージェントの知識ベースが通信の話題に対応する程度、所与の時間および/もしくはチャネルの種類におけるエージェントの可用性、ユーザとエージェントとの間の言語一致、ならびに/または性格分析に関連させることができる。
【0047】
[0063]接続管理システム150は、通信解析を使用してルーティング決定(例えば、通信を送信したネットワーク機器からの通信を以前に受信したことがある端末機器に通信をルーティングすべきかどうか判定することや、通信を送受信すべき端末機器を選択すること)に影響を及ぼす。ある通信解析は、現在または過去の通信または連続通信の1または複数のカテゴリまたはタグを決定し、評価することを含むことができる。例えば、通信には、(例えば)話題の各々のカテゴリ、チャネルの種類(例えば、電子メール、SMSメッセージ、リアルタイムチャット、通話、非同期メッセージ)、言語、複雑さレベル、感情、および/またはファイルの種類が添付されているかどうか/どのファイルの種類が添付されているかを割り当てることができ、端末機器の選択に、類似した、同じ、または相補的な知識ベース、チャネルの種類の可用性、言語、スキルレベル、感情、および/またはファイルの種類の機能と関連付けられた端末機器を優先するようバイアスをかけることができる。
【0048】
[0064]接続管理システム150は、ネットワーク機器105と通信する端末機器115を選択すると、ネットワーク機器105と端末機器115との間の接続チャネルを確立することができる。ある場合には、接続管理システム150は、選択された端末機器115にメッセージを送信することができる。メッセージは、ネットワーク機器105と通信する割り当ての提案を受け入れるよう要求し、またはそのような割り当てが生成されたことを識別する。メッセージには、ネットワーク機器105に関する情報(例えば、IPアドレス、機器の種類、および/もしくはオペレーティングシステム)、関連付けられたユーザ110に関する情報(例えば、使用言語、クライアントとのインタラクション期間、スキルレベル、感情、および/もしくは話題の好み)、受信した通信、通信を生成し、ネットワーク機器105に送信するためのコード(例えば、クリッカブルハイパーリンク)、ならびに/または通信を生成し、ネットワーク機器105に送信するよう求める命令を含めることができる。
【0049】
[0065]一例では、ネットワーク機器105と端末機器115との間の通信を、接続管理システム150を介してルーティングすることができる。そのような構成により、接続管理システム150は、通信交換をモニタし、機器の非応答性や長い待ち時間といった(例えば、規則に基づいて定義される)問題を検出することができる。さらに、そのような構成により、通信の選択的な、または完全な記憶を円滑に行わせることができ、通信の記憶は後で、例えば、通信交換の質を評価し、かつ/または特定の通信後の目標を助長するようにルーティング規則を更新もしくは生成する学習をサポートするのに使用することができる。そのような記憶はまた、ネットワーク機器と第1の端末機器との間のメッセージ履歴またはメッセージのクロニクルの生成を円滑に行わせることもでき、メッセージクロニクルは、(例えば)第2の端末機器がネットワーク機器との既存の一連の通信に参加し、または新しい連続通信に参加すると判定されたときに第2の端末機器に送信され得る。
【0050】
[0066]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換をモニタ(例えば、解析)し、ライブ通信に基づいて自動化された動作(例えば、規則ベースの動作)を行うことができる。メッセージのリアルタイムモニタリングの一例には、メッセージを受信し、メッセージの受信後に直ちに自動的に(例えば、最小限の遅延、数ミリ秒、数秒などで)メッセージを解析する(例えば、メッセージに1または複数の規則を適用する)ことを含むことができる。例えば、接続管理システム150が通信は特定の製品に関連するものであると判定した場合、接続管理システム150は、製品に関する追加情報(例えば、在庫製品数量、製品に関連したサポート文書へのリンク、製品もしくは類似製品に関するその他の情報)を含む追加メッセージを端末機器115に自動的に送信することができる
【0051】
[0067]ある場合には、指定された端末機器115は、接続管理システム150を介して通信を中継せずにネットワーク機器105と通信することもできる。通信モニタリングおよび/またはデータ記憶を円滑に行わせるために、一方または両方の機器105、115が、特定の通信メトリックまたはコンテンツを接続管理システム150に報告する場合もある(報告しない場合もある)。
【0052】
[0068]上述したように、接続管理システム150は、選択の通信をリモートサーバ140にルーティングする。リモートサーバ140は、所定のやり方で情報を提供するように構成することができる。例えば、リモートサーバ140は、通信に応答して送信すべき定義された1または複数の短文、音声録音、および/またはファイルにアクセスする。リモートサーバ140は、例えば、受信した通信の解析(例えば、意味解析やマッピング解析)に基づいて、特定の短文、録音またはファイルを選択する。
【0053】
[0069]接続管理システム150で行われるルーティングおよび/または他の決定もしくは処理は、1または複数のクライアント機器130によって少なくとも一部は定義され、または提供される規則および/またはデータに基づいて行うことができる。例えば、クライアント機器130は、エージェントの優先順位付け、端末機器の種類、および/または話題/スキルマッチングを識別する通信を送信する。別の例として、クライアント機器130は、ルーティング決定に潜在的に影響を及ぼす様々な変数(例えば、言語互換性、予測応答時間、機器の種類および能力、ならびに/または端末機器負荷分散)に適用すべき1または複数の重みを識別する。どの端末機器および/またはエージェントがクライアントと関連付けられるべきかは動的でありうることが理解されよう。クライアント機器130および/または端末機器115からの通信は、所与の端末機器および/またはエージェントをクライアントと関連付けられたものとして追加し、または削除すべきであることを指示する情報を提供する。例えば、クライアント機器130は、IPアドレスと、そのアドレスを有する端末機器を、クライアントと関連付けられた端末機器を識別するリストに追加すべきか、それともリストから削除すべきかに関する指示を有する通信を送信することができる。
【0054】
[0070]ある場合には、接続管理システム150は、ネットワーク機器105と第1の端末機器115との間の初期一致およびルーティングを円滑に行わせる。例えば、ネットワーク機器105からの通信で受信されたメッセージを第1の端末機器にルーティングすることができる。別の例として、通信管理システム150は、第1の端末機器に、ネットワーク機器105に通信を送信する(例えば、連続通信を開始する)よう求める要求もしくは命令を含み、または示す通信を送信することができる。
【0055】
[0071]接続管理システム150は、特性(例えば、傾向)を決定するために、ネットワーク機器105と第1の端末機器との間の対応する連続通信をモニタし、かつ/または解析することができる。例えば、接続管理システム150は、1または複数の通信におけるメッセージコンテンツを解析することができる(例えば、「frustrat*(フラストレーション*)」、「very(非常に)」、「thank(感謝)」、「irritat*(苛立ち*)」、「!」、大文字といった特定の単語、記号または文字種が使用さたかどうかやそれらがいくつ使用されたか判定するために)。別の例として、接続管理システム150は、1または複数のメッセージおよび/または連続メッセージの各々に関係する1または複数の統計を求めることもできる。統計の例には、例えば、メッセージ長(例えば、語数や文字数)、通信の受信と応答通信の送信との間の待ち時間、後続メッセージ送信間の待ち時間、メッセージのタイプ入力中の入力速度を含むことができる。さらに別の例として、接続管理システム150は、ネットワーク機器105または第1の端末機器で最初に検出され、次いで接続管理システム150に識別された1または複数の入力を受け取り、処理することもできる。そのような入力は、例えば、感情、再ルーティング要求、解決段階を識別することができる。
【0056】
[0072]接続管理システム150は、後続のルーティングに特定のやり方でバイアスをかけるべきかどうか判定するために(例えば、統計を含むメッセージコンテンツを特徴付ける、または入力を特徴付ける)特性を評価することができる。例えば、継続チャネル規則は、ネットワーク機器メッセージのルーティングに(そのネットワーク機器との通信交換に以前参加した)第1の端末機器を優先するようバイアスをかけるべきである場合を指定する特性に関する条件を含むことができる。規則は、条件が満たされた結果としてネットワーク機器と第1の端末機器との間の継続チャネルが確立されるように構成することができる。継続チャネルは、ネットワーク機器からの後続メッセージが第1の端末機器に自動的にルーティングされ、かつ/または第1の端末機器に優先的にルーティングされることを可能にすることができる。継続チャネルは、複数の連続通信を通じて持続するように構成することができる。例えば、たとえ第1の一連のメッセージがネットワーク機器と第1の端末機器との間で第1の日に交換されたとしても、チャネルは、第2の日に送信されたネットワーク機器からの別のメッセージのルーティングを同じ第1の端末機器にルーティングされるようにバイアスをかけることができる。そのようなバイアスの大きさは、例えば、ネットワーク機器と第1の端末機器との間の前回のインタラクションからの時間(例えば、過去のインタラクションが最近であった場合にバイアスを増やす)、ネットワーク機器と第1の端末機器との間の以前のメッセージ交換における通信の合計持続時間および/もしくは数、ならびに/またはネットワーク機器と第1の端末機器との間の以前のメッセージ交換の回数(ならびに/または交換されたメッセージの累積インタラクション時間もしくは累積インタラクション数)によって決まる。
【0057】
[0073]継続チャネルを確立すると、接続管理システム150は、ユーザ110に継続チャネルが確立されたことを知らせ、第1の端末機器もしくは関連付けられたユーザを識別し、かつ/または後続メッセージ(例えば、チャネルの識別子と関連付けて送信された後続メッセージ、特定のクライアントと関連付けられた後続メッセージなど)を、第1の端末機器にルーティングし、もしくは第1の端末機器を優先するようルーティングにバイアスかけるべきであることを指示するように、ネットワーク機器105におけるプレゼンテーション(例えば、通知)をさらに円滑に行わせることができる。
【0058】
[0074]ある場合には、接続管理システム150は、特性が、(例えば、クライアントに関係する)ネットワーク機器105からの後続メッセージは同じ第1の端末機器にルーティングされるべきでないこと、および/または再ルーティングされるべきであることを指示していると判定する。例えば、継続チャネル規則の条件が満たされていないと判定することができる。そのように判定すると、接続管理システム150は、ネットワーク機器からの(例えば、クライアントに関係する)通信をルーティングすべき新しい端末機器を識別することができる。
【0059】
[0075]ある場合には、継続チャネル規則は、ネットワーク機器と端末機器との間の通信の初期ルーティングに続いて2つの機器の間に継続チャネルが確立されるように構成される。よって、継続チャネルは、単一のメッセージ交換内での一貫したメッセージルーティングを円滑に行わせるように働く。別の例または同じ例において、継続チャネル規則を(同時に、または代替として)、異なる連続メッセージ(例えば、時間的に分離された連続メッセージ)にまたがって一貫したメッセージルーティングを助長するように継続チャネルが確立され、維持され、または使用されるように構成してもよい。実施形態に応じて、継続チャネル規則が、所与のネットワーク機器および/またはクライアントに関して提供することができる継続チャネルの数を制限してもよい。例えば、規則は、所与のネットワーク機器およびクライアントについて、ネットワーク機器は、継続チャネルを介して1つ(または3つまたは別の指定数)の端末機器にのみ接続することができることを指示する。
【0060】
[0076]ある場合には、接続管理システム150は、(例えば、再ルーティング規則における条件の満足に基づいて)再ルーティングプロセスが開始されるべきであると判定することができる。この判定は、(例えば、メッセージコンテンツを特徴付ける、統計を含む、入力を特徴付ける)特性に基づくものとすることができる。例えば、再ルーティング規則は、ユーザのフラストレーションまたは不満を示す特性を検出したときや、問題の解決に向けた許容できる前進がないことを示す特性を検出したときや、許容できない端末機器通信統計(例えば、長い応答待ち時間)を検出したときや、メッセージが新しい話題に集中し始めていることを検出したときに再ルーティングが開始されるように構成することができる。
【0061】
[0077]再ルーティングプロセスは、ネットワーク機器105との通信交換に参加すべき異なる端末機器を識別することを含むことができる。そのような識別は、例えば、通信と関連付けられた話題、通信もしくは過去の関連した通信と関連付けられたメッセージパラメータ、ネットワーク機器105と関連付けられた継続通信パラメータ、端末機器115の(例えば、相対的もしくは絶対的な)予測応答待ち時間、通信と関連付けられた通信チャネルの種類(例えば、インスタントメッセージ、メッセージ、電子メール、電話)、言語一致、1もしくは複数の他の端末機器の各々の種類、1もしくは複数の他の端末機器の能力、および/またはエージェントにスキルとネットワーク機器の通信複雑さとの一致に基づくものとすることができる。異なる端末機器の選択は、第1の端末機器の選択と同じやり方、類似したやり方、または異なるやり方で行われてよい。例えば、再ルーティング規則の条件が満たされたと判定したことにより、後続の端末機器選択に、より上位の格付け、より広い知識ベース、および/またはより優れた言語能力と関連付けられた機器を優先するようバイアスがかかる。
【0062】
[0078]再ルーティングプロセスは、再ルーティングの提案を識別する通知を、ネットワーク機器105、第1の端末機器、異なる端末機器などの1または複数の機器に送信することを含む。通知は、再ルーティングの提案を受け入れるオプションおよび/または拒否するオプションを含む。通知は、ネットワーク機器105、第1の端末機器および/または異なる端末機器および/または関連付けられた当事者に関する情報を含む。
【0063】
[0079]端末機器間の急な移行を低減するために、接続管理システム150は、オーバーラップ期間を調整することができる。この期間中、第1の端末機器と異なる端末機器とは各々、ネットワーク機器105から1または複数の通信(またはその処理済みバージョン)を受信することができる。例えば、ネットワーク機器105からの新しい通信を複製し、次いで、第1の端末機器と異なる端末機器の各々にルーティングすることができる。
【0064】
[0080]ある場合には、接続管理システム150は、ネットワーク機器105からの、かつ/または第1の端末機器からの複数のメッセージを含む動的メッセージクロニクルを生成することもできる。クロニクルには、例えば、通信交換におけるすべてのメッセージや、定義された期間(例えば、直前の3分)以内にルーティングされたすべてのメッセージや、1または複数の定義されたタグまたはカテゴリと関連付けられたすべてのメッセージを含めることができる。例えば、特定の話題や、(例えば、不満に対応する)感情や、(例えば、質問を含む)コンテンツの種類に関係するメッセージを選択することができる。接続管理システム150は、動的メッセージクロニクルを異なる端末機器に送信することができる。異なる端末機器にはネットワーク機器105および/または第1の端末機器からの新しいメッセージをさらに送信することができ、そのような新しいメッセージに動的メッセージクロニクルが付加されるようにすることができる。動的メッセージクロニクルのためにメッセージ選択および/または動的メッセージクロニクルが提供されるべきかどうかは、時間的にクラスタ化された一連のメッセージの間に、または連続メッセージ間に再ルーティングが行われるかどうかにも左右される。
【0065】
[0081]ある場合には、接続管理システム150は、第1の端末機器へのルーティング通信を停止すべきかどうか、および/またはいつ停止すべきか判定することができる。例えば、そのようなルーティング打ち切りは、異なる端末機器からの応答通信を検出したとき、メッセージクロニクルの送信後に定義された期間が経過した後、通信交換を終了する意図を指示する第1の端末機器で受け取られた入力を検出した後、通信交換を処理する意図を指示する異なる端末機器で受け取られた入力を検出した後、異なる端末機器への再ルーティングの提案の実施を要求するネットワーク機器105において受け取られた入力を検出した後などに行われる。
【0066】
[0082]再ルーティング転送を開始するための規則または理由に応じて、再ルーティングは、ネットワーク機器105と第1の端末機器との間の接続チャネルを終了すること(例えば、再ルーティングプロセスがユーザ感情の低下に応答して開始された場合)、および/またはネットワーク機器105と異なる端末機器との間に新しい接続チャネルを確立することを含む。
【0067】
[0083](例えば、機器間、機器と接続管理システム150との間、リモートサーバ140と接続管理システム150との間、リモートサーバ140と機器との間の)各通信は、1または複数のネットワーク170上で行うことができる。1または複数のネットワーク170には開放型ネットワークまたは閉鎖型ネットワークの任意の組み合わせを含めることができる。適切なネットワークの例には、インターネット、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、無線ローカル・エリア・ネットワーク(WLAN)が含まれる。他のネットワークが適する場合もある。1または複数のネットワーク170は、イントラネット、エクストラネット、またはそれらの組み合わせに完全に組み込むこともでき、それらを含むこともできる。ある場合には、1または複数のネットワーク170内のネットワークは、Bluetooth(登録商標)やBluetooth(登録商標) Low Energyチャネルなどの短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/または機器間の通信を、セキュア・ソケット・レイヤ(SSL)やトランスポート層セキュリティ(TLS)などのセキュアな通信プロトコルによって実現することができる。加えて、データおよび/またはトランザクションの詳細は、任意の好都合な、公知の、またはこれから開発される方法に基づいて暗号化されてもよく、それらの方法は、例えば、DES(Data Encryption Standard)、Triple DES、RSA(Rivest-Shamir-Adleman暗号化)、Blowfish暗号化、AES(Advanced Encryption Standard)、CAST-128、CAST-256、DFC(Decorrelated Fast Cipher)、TEA(Tiny Encryption Algorithm)、XTEA(eXtended TEA)、XXTEA(Corrected Block TEA)、および/またはRC5などであるが、これだけに限定されない
【0068】
[0084]ある場合には、接続管理システム150は、ネットワーク機器と端末機器との間の通信リンクを確立する前に、ネットワーク機器を認証することができる。例えば、接続管理システム150においてメッセージが受信されると、接続管理システム150は、受信したメッセージに含まれる情報にどのクライアント125が対応するか識別することができる。ある場合には、メッセージは、メッセージが関連付けられているクライアントを識別する識別コードを含むことができる。次いで接続管理システム150はネットワーク機器に、認証情報(例えば、ログイン証明書、パスワードなど)を求める要求を送信することができる。認証情報を受信すると、接続管理システム150は、クライアント機器130(例えば、ユーザ情報を格納しているデータベース)にアクセスして、受信した認証情報がクライアント機器130に格納された有効な認証情報に対応することを検証することができる。認証情報が検証された後、接続管理システム150は、クライアント125に対応する端末機器のセットを識別し、続いて、本明細書に記載するプロセスに基づいて端末機器のセットの中から単一の端末機器を選択することができる。
【0069】
[0085]ネットワーク機器105、端末機器115および/またはクライアント機器130は、例えば、携帯電子機器(例えば、スマートフォン、タブレット、ラップトップコンピュータ、スマートウェアラブル機器)や、非携帯電子機器(例えば、1または複数のデスクトップコンピュータ、スマート家電、サーバ、および/またはプロセッサ)を含むことができる。接続管理システム150は、ネットワーク機器、端末機器およびクライアント機器とは別個に収容することもでき、1または複数のそのような機器の一部とすることもできる(例えば、機器上にアプリケーションをインストールすることによって)。リモートサーバ140は、各機器および接続管理システム150とは別個に収容されていてもよく、かつ/または別の機器もしくはシステムの一部であってもよい。
図1Aの各機器、サーバおよびシステムは単一の機器として図示されているが、複数の機器が代わりに使用されてもよいことが理解されよう。例えば、ネットワーク機器のセットを使用して単一のユーザからの様々な通信を送信することもでき、リモートサーバ140がサーバスタックを含んでいてもよい。
【0070】
[0086]図示の機器、システムまたはサーバ上においてソフトウェアエージェントまたはアプリケーションがインストールされており、かつ/または実行可能であってもよい。ある場合には、ソフトウェアエージェントまたはアプリケーションは、様々な図示の要素が相補的に動作することができるように構成されている。例えば、機器上のソフトウェアエージェントを、機器使用に関するデータを収集して別個の接続管理システムに送信するように構成することができ、別個の接続管理システム上のソフトウェアアプリケーションを、そのデータを受信し処理するように構成することができる。
【0071】
[0087]
図1Bに、ネットワーク機器A~Cと、端末機器A~Cと、接続管理システム150とを含むネットワーク・インタラクション・システム100Bの一実施形態のブロック図を示す。ネットワーク機器A、B、およびCは各々、ネットワーク機器105と構造的に同じであり、ユーザ(例えば、ユーザ110)によって操作されるものとすることができる。ネットワーク機器A、B、およびCは、同じ場所に配置することも、異なる地理的領域に分散させることもできる。端末機器A、B、およびCは各々、端末機器115と構造的に同じであり、エージェント(例えば、エージェント120)によって操作されるものとすることができる。端末機器A、B、およびCは、同じ場所に配置することも、異なる地理的領域に分散させることもできる。
【0072】
[0088]接続管理システム150は、入ってくる通信(例えば、ネットワーク機器A、B、およびCから受信されるメッセージ)のルーティング宛先(例えば、端末A、BまたはC)をインテリジェントに決定することができる。ある場合には、接続管理システム150は、通信処理システム182および複数のデータ構造を含むことができる。データ構造の例には、キュー、バッファ、配列構造、木構造、または他の適切なデータ構造が含まれる。ネットワーク・インタラクション・システム100Bの例では、複数のデータ構造は、プライマリキュー180とセカンダリキュー184、186、および188とを含むことができる。プライマリキュー180は、様々なネットワーク機器(例えば、ネットワーク機器A、B、およびC)から受信したすべての着信メッセージを格納することができる。
【0073】
[0089]ある場合には、プライマリキュー180に格納された受信メッセージを、通信処理システム182によって処理することができる。例えば、通信処理システム182は、プライマリキュー180からメッセージを読み出し、そのメッセージを処理し、その処理に基づいてどのセカンダリキューがメッセージを格納すべきか決定することができる。セカンダリキューは、端末機器に対応することができる。例えば、セカンダリキュー184は端末機器Aと関連付けることができ、セカンダリキュー186は端末機器Bと関連付けることができ、セカンダリキュー188は、端末機器Cと関連付けることができる。この例では、端末機器Aはセカンダリキュー184に格納されたメッセージに応答することができ、端末機器Bはセカンダリキュー186に格納されたメッセージに応答することができ、端末機器Cはセカンダリキュー188に格納されたメッセージに応答することができる。セカンダリキューに格納されたメッセージに応答することは、セカンダリキューからメッセージを読み出すこと、キューからメッセージを取り出すこと、およびメッセージを送信したネットワーク機器に(例えば、メッセージに含まれるコンテンツに応答する)通信を送信することを含むことができる。
【0074】
[0090]
図1Bには単一のプライマリキュー180と3つのセカンダリキュー184、186、188のみが示されているが、ネットワーク・インタラクション・システム100Bは、任意の数のプライマリキューおよびセカンダリキューを含むことができる。加えて、
図1Bにはセカンダリキューが接続管理システム150に含まれるデータ構造であることが示されているが、セカンダリキューは端末機器に格納することもできることが理解されよう。例えば、セカンダリキュー184を端末機器Aに格納することができ、セカンダリキュー186を端末機器Bに格納することができ、セカンダリキュー188を端末機器Cに格納することができる。
【0075】
[0091]通信処理システム182は、ネットワーク機器A、B、およびCから受信した通信を処理することができる。通信処理システム182は、1または複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本明細書に記載する機能を果たすように設計された他の適切な電子装置、および/またはそれらの組み合わせを含むことができる。
【0076】
[0092]ある場合には、ネットワーク機器A、B、およびCから受信した通信を処理することは、受信メッセージに含まれるコンテンツを抽出すること、抽出されたコンテンツをパースすること、およびコンテンツに1または複数の規則を適用することを含むことができる。通信処理システム182は、適用された1または複数の規則の結果に基づいて、受信メッセージの宛先(例えば、端末A、BまたはC)を決定することができる。1または複数の規則は、ローカルまたはリモートに格納し、通信処理システム182によってアクセスすることができる。
【0077】
[0093]ある場合には、規則を使用して受信メッセージに含まれるテキストを解析することができる。例えば、規則を使用してテキストに1または複数のキーワードが含まれているかどうか判定することもできる。非限定的な例として、ネットワーク機器Aから受信したメッセージが、「I do not know my password(パスワードがわかリません)」というテキストを含むとする。規則はメッセージのテキストをパースして、テキストに「password(パスワード)」という単語が含まれているかどうか判定することができる。この例では、メッセージのテキストに「password」という単語が含まれている。通信処理システム182は、規則がテキストに「password」という単語が存在することを判定するのに成功した場合、規則と関連付けられたセカンダリキューを識別することができる。例えば、通信処理システム182は、ルックアップテーブルに問い合わせて、(例えば、パスワード検索を支援するよう訓練されたエージェントに対応する端末機器とも関連付けられている)パスワード検索と関連付けられたセカンダリキューのアドレスを識別することができる。ある場合には、規則は、受信メッセージが否定極性、中立極性、または肯定極性に対応するかどうか指示することができる。例えば、規則はメッセージに含まれるテキストをパースして、メッセージに「can’t(できません)」という句が存在するかどうか判定することができる。メッセージに「can’t」という句が存在する場合、規則はメッセージが否定極性を有することを指示することができる。非限定的な例として、ネットワーク機器Bから受信したメッセージが、「I can’t access the Internet(インターネットにアクセスできません)」というテキストを含むとする。規則は、メッセージに「can’t」という単語が存在すること識別し、ネットワーク機器Bと関連付けられたユーザに問題が発生しているため、メッセージは否定極性に対応していると判定することができる。この例では、通信処理システム182は、ルックアップテーブルに問い合わせて、そのような問題の処理と関連付けられたセカンダリキューのアドレスを識別することができる。通信処理システム182は、そのような問題を処理するよう訓練されたエージェントがネットワーク機器Bに応答できるように識別されたセカンダリキューに格納するためにメッセージを送信することができる。
【0078】
[0094]他の場合には、機械学習技術を使用して1または複数の規則を自動的に学習することができる。例えば、通信処理システム710で受信された以前のメッセージに含まれるコンテンツに基づいて教師付き機械学習技術を使用してニューラルネットワークを訓練することができる。教師付き機械学習の結果に基づいて、1または複数の規則を自動的に生成することができる。
【0079】
[0095]ある場合には、1または複数の規則は、様々なクライアント125ごとに異なりうる。例えば、第1の規則セットは第1のクライアントに対応することができ、第2の規則セットは第2のクライアントに対応することができる。別の例として、規則は、第1のクライアントと関連付けることができ、メッセージに含まれるテキストが否定極性に対応するかどうか指示することができる。同じ規則を第2のクライアントと関連付けることもでき、メッセージに含まれるテキストが肯定極性または中立極性に対応するかどうか指示することができる。例えば、規則は、メッセージ内のテキストをパースして、メッセージに「dispute(論争)」という単語が存在するかどうか判定することができる。第1のクライアントでは、メッセージ内の「dispute」という単語の存在により、そのメッセージが否定極性に対応することを指示することができるが、第2のクライアントでは、メッセージ内の「dispute」という単語の存在は中立極性を指示することができる。
【0080】
[0096]ネットワーク・インタラクション・システム100Bを参照すると、ネットワーク機器Aは、第1のメッセージ(以下、「M1」という)を送信することができる。ネットワーク機器Bは、第2のメッセージ(以下、「M2」という)を送信することができる。ネットワーク機器Cは、第3のメッセージ(以下、「M3」という)を送信することができる。メッセージM1、M2、およびM3は、同時に送信することもでき、異なる時間に送信することもできる。さらに、メッセージM1、M2、およびM3の各々を、接続管理システム150に送信することができる。
【0081】
[0097]メッセージM1、M2、およびM3を受信すると、接続管理システム150は、それらのメッセージをプライマリキュー180に格納することができる。ある場合には、接続管理システム150はメッセージM1、M2、およびM3をそれらが受信された順に記憶することができる。ネットワーク・インタラクション・システム100Bの例では、M1が最初に受信され、プライマリキュー180の第1の位置に格納され、M2が2番目に受信され、プライマリキュー180の第2の位置に格納され、M3が最後に受信され、プライマリキュー180の第3の位置に格納される。
【0082】
[0098]通信処理システム182は、プライマリキュー180にアクセスして、様々な格納されたメッセージを読み出すことができる。例えば、通信処理システム182は、処理するためにプライマリキュー180からM1を読み出すことができる。非限定的な例として、M1は、「I am having technical issues(私は技術的問題を抱えています)」というテキストを含むとする。通信処理システム182は、M1に含まれるコンテンツを抽出することができる。ある場合には、通信処理システム182は、M1に含まれる、またはM1と関連付けられた追加情報(例えば、M1の送信元のIPアドレス、M1が送信された時刻、M1と関連付けられたネットワーク機器から受信された最新のメッセージからの時間間隔、他の適切な追加情報)を識別することができる。通信処理システム182は、M1のコンテンツまたはM1と関連付けられた追加情報に1または複数の規則を適用することができる。例えば、規則はM1のコンテンツをパースして、コンテンツに「technical issues(技術的問題)」という句が含まれているかどうか識別することができる。この例では、適用された規則は、M1における「technical issues」という句の存在の識別に成功する。通信処理システム182は、規則と関連付けられたセカンダリキューのアドレスを求めてルックアップテーブルに問い合わせることができる。この例では、ルックアップテーブルの問合せへの応答により、セカンダリキュー184が規則と関連付けられていることを識別することができる。例えば、技術的問題の処理において訓練されたエージェントに対応する端末機器Aが、セカンダリキュー184と関連付けられている。通信処理システム182は、M1を送信し、セカンダリキュー184に格納することができる。
【0083】
[0099]通信処理システム182は、処理するためにプライマリキュー180からM2を読み出すことができる。非限定的な例として、M2は、「I forgot my password(パスワードを忘れました)」というテキストを含み、ネットワーク機器B(例えば、M2を送信したネットワーク機器)と関連付けられたユーザによって緊急とマークされているとする。通信処理システム182は、M2に含まれるコンテンツを抽出し、M2のコンテンツまたはM2と関連付けられた追加情報に1または複数の規則を適用することができる。例えば、規則はM2のコンテンツをパースし、コンテンツに「password(パスワード)」という用語が含まれているかどうか識別することができる。この例では、適用された規則は、M2における「「password」という用語の存在の識別に成功する。通信処理システム182は、規則と関連付けられたセカンダリキューのアドレスを求めてルックアップテーブルに問い合わせることができる。この例では、ルックアップテーブルの問合せへの応答により、セカンダリキュー186および188が規則と関連付けられていることを識別することができる。例えば、端末機器Bおよび端末機器Cは、パスワード検索の処理において訓練されたエージェントに対応している。
【0084】
[00100]しかし、この例では、M2は緊急とマークされていた。メッセージを緊急とマークすることは、メッセージに、迅速な応答が必要であることを指示するコードまたはフラグをタグ付けすることを含むことができる。通信処理システム182は、端末機器Bおよび端末機器CがM2への迅速な応答に対応できるかどうか(例えば、現在アクセス可能か、応答に対応できるかなど)を判定するために、端末機器Bおよび端末機器Cの可用性を識別することができる。この例では、通信処理システム182は、端末機器Bは現在対応できないが、端末機器Cは対応でき、迅速に応答できると識別することができる。したがって、通信処理システム182は、端末機器Cと関連付けられたセカンダリキュー188に格納するためにM2を送信することができる。この例では、端末機器Bが対応可能であった場合には、通信処理システム182は、セカンダリキュー186に格納するためにM2を送信した(潜在的な接続リンクを表す破線190を参照されたい)。
【0085】
[00101]通信処理システム182は、処理するためにプライマリキュー180からM3を読み出すことができる。非限定的な例として、M3は、(M1と同様の)「I have technical issues(私には技術的問題があります)」というテキストを含み、高い優先度(例えば、重要なユーザ)と関連付けられたIPアドレスから送信されたとする。通信処理システム182は、M3に含まれるコンテンツを抽出し、M3のコンテンツまたはM3と関連付けられた追加情報に1または複数の規則を適用することができる。例えば、規則はM3のコンテンツをパースして、コンテンツに「technical issues(技術的問題)」という句が含まれているかどうか識別することができる(例えば、M1に適用されたのと同じ規則)。この例では、適用された規則は、M3における「technical issues」という句の存在の識別に成功する。通信処理システム182は、規則と関連付けられたセカンダリキューのアドレスを求めてルックアップテーブルに問い合わせることができる。この例では、ルックアップテーブルの問合せへの応答により、セカンダリキュー184が規則と関連付けられていることを識別することができる。例えば、技術的問題の処理において訓練されたエージェントに対応する端末機器Aが、セカンダリキュー184と関連付けられている。通信処理システム182は、M3を送信し、セカンダリキュー184に格納することができる。
【0086】
[00102]しかし、この例では、M3は高い優先度と関連付けられたIPアドレスから送信された。あるメッセージを他のメッセージに優先させるためにセカンダリキュー184上でさらなる処理を実行することができる。例えば、M3は高い優先度と関連付けられたIPアドレスから送信されたため、M3をセカンダリキュー184内の別の位置に移動させて、(破線矢印で示すように)M3がM1より早く端末機器Aによって読み出されるようにすることができる。同様に、M1をセカンダリキュー184内の別の位置に移動させて、(破線矢印で示すように)M3が読み出された後でM1が端末機器Aによって読み出されるようにすることもできる。M1はM3より先に時間的に最初に受信されたが(例えば、M1は初期キュー位置に格納されており、これはM1がM3より前に端末機器Aによって読み出されることを指示し、M3は後続のキュー位置に格納されている)、M3は、M3と関連付けられた高い優先度により、端末機器AがM3をM1より先に読み出すことになるようにM1より優先された(例えば、M3を現在格納している初期キュー位置は、M1を現在格納している後続のキュー位置より前に処理されるようスケジュールされる)。
【0087】
[00103]プライマリキューからセカンダリキューへのメッセージの移動を使用してプライマリキューの負荷分散を向上させることができることが理解されよう。例えば、ピーク時に、プライマリキューが様々なネットワーク機器から多数のメッセージを受信した場合、メッセージを様々なセカンダリキューに移動すれば、プライマリキュー内のキュー位置の可用性を向上させることができる。したがって、キュー要求が放棄され、またはバッファに格納される可能性が低下する。負荷分散の向上により、処理負荷または負担が効率的に処理され、処理リソース(例えば、プロセッサ)が効果的に運用される。
【0088】
[00104]
図2に、ネットワーク・インタラクション・システム200の別の実施形態のブロック図を示す。全体として、
図2には、ネットワーク機器205が1または複数の端末機器215と通信することを可能にするように構成され、配置された様々な構成要素が示されている。図示の例は、3つのローカル・エリア・ネットワーク235に含まれた9つの端末機器215を含んでいる。
【0089】
[00105]ある場合には、ネットワーク機器205からの通信は、どの端末機器がその通信を受信すべきかを少なくとも部分的に、または完全に指示する宛先データ(例えば、宛先IPアドレス)を含む。ネットワーク・インタラクション・システム200は、宛先データを処理して適切なルーティングを円滑に行わせることができる1もしくは複数のネットワーク間接続構成要素240および/または1もしくは複数のネットワーク内接続構成要素255を含むことができる。
【0090】
[00106]各ネットワーク間接続構成要素245は、複数のネットワーク235に接続することができ、複数のネットワークカードをインストールすることができる(例えば、各カードが異なるネットワークに接続される)。例えば、ネットワーク間接続構成要素245は、広域ネットワーク270(例えば、インターネット)および1または複数のローカル・エリア・ネットワーク235に接続することができる。図示の例では、通信をネットワーク機器205から端末機器のいずれかに送信するためには、図示のシステムにおいて、通信は複数のネットワーク間接続構成要素245によって処理されなければならない。
【0091】
[00107]ネットワーク間接続構成要素245が通信(または通信に対応するパケットのセット)を受信すると、ネットワーク間接続構成要素245は、宛先と関連付けられたネットワークに通信を渡す経路の少なくとも一部を決定することができる。経路は、例えば、ルーティングテーブル(例えば、ルータに格納された)を使用して決定することができ、ルーティングテーブルは、事前に定義され、着信メッセージ(例えば、別のルータからや、別の機器からの)に基づいて生成され、または学習された1または複数の経路を含むことができる。
【0092】
[00108]ネットワーク間接続構成要素245の例には、ルータ260およびゲートウェイ265が含まれる。ネットワーク間接続構成要素245(例えば、ゲートウェイ265)は、ネットワークシステム間またはプロトコル間で変換を行うように構成されている。例えば、ゲートウェイ265は、TCP/IP(Transmission Control Protocol/Internet Protocol)機器とIPX/SPX(Internetwork Packet Exchange/Sequenced Packet Exchange)機器との間の通信を円滑に行わせる。
【0093】
[00109]ローカル・エリア・ネットワーク235で通信を受信すると、さらなるルーティングを引き続き行う必要がある。そのようなネットワーク内ルーティングは、スイッチ280やハブ285といったネットワーク内接続構成要素255を介して行うことができる。各ネットワーク内接続構成要素255は、(例えば、無線または有線で、イーサネット(登録商標)ケーブルなどを介して)複数の端末機器215に接続することができる。ハブ285は、受信したすべての通信を、それが接続されている各機器に繰り返すように構成することができる。各端末機器はその場合、各通信を評価して、各端末機器が宛先機器であるかどうか、または通信を無視すべきかどうか判定することができる。スイッチ280は、宛先端末機器のみに通信を選択的に宛先指定するように構成することができる。
【0094】
[00110]ある場合には、ローカル・エリア・ネットワーク235を複数のセグメントに分割することができ、その各々を独立したファイアウォール、セキュリティ規則およびネットワークプロトコルと関連付けることができる。セグメント内ルーティングを円滑に行わせるために、1つ、複数またはすべてのセグメントの各々にネットワーク内接続構成要素255を設けることができる。ブリッジ280は、セグメント275を横断して通信をルーティングするように構成することができる。
【0095】
[00111]ネットワークを横断して、またはネットワーク内で通信を適切にルーティングするために、様々な構成要素が通信内の宛先データを解析する。例えば、そのようなデータは、通信がどのネットワークにルーティングされるべきか、通信がネットワーク内のどの機器にルーティングされるべきか、または端末機器がどの通信を処理すべきか(または無視すべきか)指示することができる。しかし、場合によっては、ネットワーク機器からの通信にどの端末機器が関与すべきか(またはどのネットワークが関与すべきかさえも)が直ちに明らかにならない。
【0096】
[00112]例示として、端末機器のセットが、類似した種類の応答通信を提供するように構成されているとする。よって、ネットワーク機器からの通信内の問合せは、その通信がどのネットワーク機器にルーティングされるかにかかわらず、同様の方法で応答されることが予期される。この仮定は高いレベルで当てはまる可能性があるが、端末機器に関係する様々な詳細により、特定のルーティングが他と比較して有利になる可能性がある。例えば、セット内の端末機器は、(例えば)どの通信チャネルがサポートされているか、ネットワーク機器への地理的近接性および/またはネットワーク近接性および/または関連付けられたエージェントの特性(例えば知識ベース、経験、使用言語、可用性、全体的な性格または感情など)に関して相互に異なる。したがって、選択ルーティングは、ネットワーク機器通信に、より正確に、かつ/または完全に応答するより速い応答を円滑に行わせることができる。厄介な問題は、ネットワーク機器を端末機器にマップする静的ルーティングは、通信の話題、チャネルの種類、エージェントの可用性などの変動に対応できない可能性があることである。
【0097】
[00113]
図3A~
図3Cに、接続管理システムを含むネットワーク・インタラクション・システム300a~300cの他の実施形態のブロック図を示す。図示のシステム300a~300cには各々、簡略にするために2つのローカル・エリア・ネットワーク235のみを示しているが、ローカル・エリア・ネットワークの数を増やすように実施形態を拡張することができることが理解されよう。システム300a~300cの各々は接続管理システム350を含み、接続管理システム350は、どの端末機器がネットワーク機器205と通信すべきか識別することができ、接続チャネルを確立し、管理する(例えば、維持し、または終了する)ことができ、交換における通信を再ルーティングすべきかどうか、いつ再ルーティングを行うべきか判定することができ、以下同様である。よって、接続管理システム350は、ルーティング決定に影響を及ぼすように、通信、エージェント可用性、端末機器またはエージェントの能力などを動的に、リアルタイムで評価するように構成することができる。
【0098】
[00114]
図3Aでは、接続管理システム350は、ネットワーク機器205およびリモートサーバ340の各々と関連付けられている(例えば、接続管理システム350aはネットワーク機器205と関連付けられており、接続管理システム350bはリモートサーバ340と関連付けられている)。例えば、接続管理システム350aおよび/または接続管理システム350bは、それぞれ、ネットワーク機器205およびリモートサーバ340の各々にアプリケーションとしてインストールし、または格納することができる。(1または複数の)アプリケーションを実行することにより、例えば、ネットワーク機器205との通信交換に参加するよう選択された端末機器215を識別するために、ネットワーク機器205とリモートサーバ340との間の通信を円滑に行わせることができる。識別は、本明細書に開示する1または複数の要因(例えば、可用性、通信の話題/詳細レベルとエージェントまたは端末機器の知識ベースとの一致、予測待ち時間、チャネルの種類の可用性など)に基づいて行うことができる。
【0099】
[00115]クライアント機器330は、ルーティング決定をどのように行うべきか指示するクライアントデータを提供することができる。例えば、そのようなデータは、(例えば、負荷分散や予測応答待ち時間に関係して)特定の特性をどのように重み付けし、またはマッチングし、または制約し、またはバイアスをかけるべきかに関する指示を含むことができる。クライアントデータはまた、通信チャネルをいつ確立(または終了)すべきかや、通信を異なるネットワーク機器にいつ再ルーティングすべきかに関連した仕様も含むことができる。クライアントデータは、通信ルーティング規則、チャネル確立規則、管理または終了規則、通信再ルーティング規則、通信カテゴリ化規則などといった様々なクライアント固有の規則を定義するのに使用することができる。
【0100】
[00116]リモートサーバ340上で実行される接続管理システム350bは、どの通信チャネルがサポートされているか、ネットワーク機器への地理的近接性および/もしくはネットワーク近接性、端末機器との通信の待ち時間および/もしくは安定性、端末機器の種類、端末機器の能力、端末機器(もしくはエージェント)が以前所与のネットワーク機器(もしくはユーザ)と通信したことがあるかどうか、ならびに/または関連付けられたエージェントの特性(例えば知識ベース、経験、使用言語、可用性、全体的な性格または感情など)といった、端末機器に関係する(例えば、所与のクライアントに関係する)様々なメトリックをモニタすることができる。したがって、通信管理システム350bは、メトリックに基づいてネットワーク機器の通信に、より正確に、かつ/または完全に応答するより速い応答を円滑に行わせるようにルーティングを選択することができる。
【0101】
[00117]
図3Aに示す例では、ネットワーク機器205とリモートサーバ340との間の通信交換により、宛先アドレスの早期の識別を円滑に行うことができる。次いで、ネットワーク機器205は、宛先アドレスを使用して後続の通信を宛先指定する。例えば、ネットワーク機器205は、(例えば、1または複数のネットワーク間接続および広域ネットワークを介して)リモートサーバ340に初期通信を送信し、リモートサーバ340は、1または複数の対応するクライアントを識別する。次いで、リモートサーバ340は、1または複数の対応するクライアントと関連付けられた端末機器のセットを識別し、それらの端末機器のメトリックを収集する。メトリックは、通信交換に関与すべき端末機器を選択するように(例えば、リモートサーバ340によって)評価することができ、端末機器に関係する情報(例えば、IPアドレス)をネットワーク機器205に送信することができる。いくつかの実施形態では、リモートサーバ340は、様々な端末機器のメトリックを継続的または定期的に収集、評価し、評価結果をデータストアに格納する。そのような実施形態では、1または複数の対応するクライアントと関連付けられた端末機器のセットを識別すると、リモートサーバ340は、データストアからの格納された評価結果にアクセスし、格納された評価結果に基づいて通信交換に関与すべき端末機器を選択することができる。
【0102】
[00118]
図3Bでは、接続管理システム350は、中継アドレスおよび/または宛先アドレスとして働くように構成することができる。よって、例えば、ネットワーク機器205のセットは、各々が接続管理システム350を宛先として識別する通信を送信する。接続管理システム350は、各通信を受信することができ、端末機器のセットを(例えば、端末機器ごとのメトリックを生成するように)同時にモニタすることができる。モニタリングおよび規則に基づいて、接続管理システム350は、各通信を中継する相手先の端末機器215を識別する。実施形態に応じて、端末機器の通信を同様に、さらに中継するために(例えば、接続管理システム350の)一貫した宛先に宛先指定してもよく、端末機器が対応するネットワーク機器と直接通信を開始してもよい。これらの実施形態は、効率的なルーティングおよび十分な通信モニタリングを円滑に行わせることができる。
【0103】
[00119]
図3Cに示す実施形態は、
図3Bに示す実施形態と同様である。ただし、いくつかの実施形態では、接続管理システム350は、ネットワーク内構成要素(例えば、端末機器、ネットワーク内接続、その他)に直接接続される。
【0104】
[00120]
図3A~
図3Cの多くの変形例が企図されることが理解されよう。例えば、接続管理システム350は、接続管理システム350(またはその一部)に対応するアプリケーションが接続構成要素(例えば、ネットワーク間接続構成要素245やネットワーク内接続構成要素255)上にインストールされるように、構成要素と関連付けられてもよい。アプリケーションは、例えば、独立して、または(例えば、1もしくは複数の他の構成要素、ネットワーク機器もしくはリモートサーバ上で実行される)1もしくは複数の類似したアプリケーションもしくは相補的なアプリケーションと通信することによって動作する。
【0105】
[00121]
図4に、接続構成要素の動作のプロトコルスタックマッピング400の図を示す。より具体的には、
図4では、様々な接続構成要素に対応する開放型システム間相互接続(OSI)モデルにおける動作層が識別されている。
【0106】
[00122]OSIモデルは、複数の論理層402~414を含むことができる。各層は順序付けられたスタックとして配置されており、層402~層412は各々上位層にサービスし、層404~層414は各々下位層からサービスされる。OSIモデルは、物理層402を含む。物理層402は、物理的通信(例えば、電気的、光学的、または電磁的)のパラメータを定義することができる。物理層402はまた、接続を確立、終了するプロトコルといった接続管理プロトコルを定義する。物理層402は、フロー制御プロトコルおよび伝送モードをさらに定義することができる。
【0107】
[00123]リンク層404は、ノード間通信を管理することができる。リンク層404は、エラー(例えば、物理層402における伝送エラー)を検出、訂正し、アクセス許可を管理することができる。リンク層404は、媒体アクセス制御(MAC)層および論理リンク制御(LLC)層を含むことができる。
【0108】
[00124]ネットワーク層406は、(例えば、データグラムとしての)同じネットワーク内のノード間の(例えば可変長の)データの転送を調整することができる。ネットワーク層406は、論理ネットワークアドレスを物理マシンアドレスに変換することができる。
【0109】
[00125]トランスポート層408は、送信および受信の質を管理することができる。トランスポート層408は、伝送制御プロトコル(TCP)といった、データを転送するためのプロトコルを提供することができる。トランスポート層408は、伝送のためにデータパケットのセグメントテーション/デセグメントテーションを行うことができ、層402~層406で発生する伝送エラーを検出し、これに対処することができる。セッション層410は、ローカルアプリケーションとリモートアプリケーションとの間の接続を開始し、維持し、打ち切ることができる。セッションは、リモートプロシージャインタラクションの一部として使用される。プレゼンテーション層412は、アプリケーション層またはネットワーク層によって受け入れられることがわかっているデータ型に基づいてデータを暗号化し、解読し、フォーマットすることができる。
【0110】
[00126]アプリケーション層414は、通信を制御または管理するソフトウェアアプリケーションとインタラクションすることができる。そのようなアプリケーションを介して、アプリケーション層414は、(例えば)宛先、ローカルリソースの状態もしくは可用性および/または通信のコンテンツもしくはフォーマットを識別することができる。様々な層402~414は、利用可能、適用可能な他の機能を果たすこともできる。
【0111】
[00127]ネットワーク内接続構成要素422、424は、物理層402およびリンク層404において動作するように図示されている。より具体的には、通信の受信および送信に関して動作を制御できるように、ハブは物理層で動作することができる。ハブは、通信のアドレス指定もデータのフィルタリングも行うことができないため、上位レベルで動作する能力がほとんど、あるいはまったくない。一方、スイッチは、アドレス(例えば、MACアドレス)に基づいて通信フレームをフィルタリングすることができるので、リンク層404で動作することができる。
【0112】
[00128]一方、ネットワーク間接続構成要素426、428は、上位レベル(例えば、層406~層414)で動作するように図示されている。例えば、ルータは、アドレス(例えば、IPアドレス)に基づいて通信データパケットをフィルタリングすることができる。ルータは、アドレスに基づいてパケットを特定のポートに転送し、パケットを適切なネットワークに宛先指定することができる。ゲートウェイは、ネットワーク層以上で動作し、同様のフィルタリング、宛先指定、および(例えば、プロトコルまたはアーキテクチャにまたがる)さらなるデータ変換を行うことができる。
【0113】
[00129]接続管理システム450は、様々な実施形態において、様々な層のうちの1つ、複数、すべて、または任意のものとインタラクションし、かつ/またはそれらに作用することができる。例えば、接続管理システム450は、ハブがどの端末機器と通信するかを動的に調整するようにハブとインタラクションすることができる。別の例として、接続管理システム450は、ブリッジ、スイッチ、ルータまたはゲートウェイと通信して、その構成要素が宛先(例えば、MAC、論理または物理)アドレスとしてどの端末機器を選択するかに影響を及ぼすことができる。別の例として、接続管理システム450は、トランスポート層408上のデータパケットのセグメンテーション、セッション層410上のセッション持続時間、ならびに/またはプレゼンテーション層412上の暗号化および/もしくは圧縮をモニタし、制御し、または指図することができる。いくつかの実施形態では、接続管理システム450は、特定の層で動作している装置(例えば、リンク層404で動作しているスイッチ)と通信を交換する(例えば、コマンドを送信する)ことによって、特定のやり方で(例えば、ネットワーク機器と端末機器との間の)既存の通信をルーティングもしくは変更することによって、かつ/または既存の通信に基づいて特定の情報(例えば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々な層とインタラクションすることができる。よって、接続管理システム450は、様々な機器とのインタラクションによって、かつ/または様々なプロトコルスタック層での動作に影響を及ぼすことによって、通信ルーティングおよびチャネル確立(または維持または打ち切り)に影響を及ぼすことができる。
【0114】
[00130]
図5に、一実施形態によるマルチデバイス通信交換システム500を表す。システム500は、様々な種類の通信チャネル上で様々な種類の端末機器と通信するように構成されたネットワーク機器505を含む。
【0115】
[00131]図示の例では、ネットワーク機器505は、(例えば、基地局510を介して)セルラネットワーク上で通信を送信することができる。通信は、稼働中のネットワーク515にルーティングすることができる。稼働中のネットワーク515は、通信を受信し、どの端末機器が通信に応答すべきかを識別する接続管理システム520を含むことができる。そのような判定は、(例えば、コンテンツ解析またはクライアントを示すユーザ入力に基づいて)その通信が関係するクライアントを識別し、クライアントと関連付けられた1または複数の端末機器の各々の1または複数のメトリックを決定することに依拠して行うことができる。例えば、
図5では、端末機器の各クラスタ530a~530cは異なるクライアントに対応させることができる。端末機器は、地理的に同じ場所に配置されていても分散されていてもよい。メトリックは、記憶されたデータもしくは学習されたデータおよび/またはリアルタイムのモニタリング(例えば、可用性に基づいて)に基づいて決定されてよい。
【0116】
[00132]接続管理システム520は、1もしくは複数のルータ525または他のネットワーク間もしくはネットワーク内接続構成要素を介して様々な端末機器と通信することができる。接続管理システム520は、1または複数のデータストアにおける、通信、端末機器動作、クライアント規則、および/またはユーザと関連付けられた動作(例えば、オンラインアクティビティ、アカウントデータ、購入履歴など)から、またはこれらに関係してデータを収集し、解析し、かつ/または格納する。そのようなデータは、通信ルーティングに影響を及ぼす。
【0117】
[00133]特に、通信ルーティングおよび/または処理に影響を及ぼすために、様々な他の機器をさらに使用することができる。例えば、図示の例では、接続管理システム520もウェブサーバ540に接続されている。よって、接続管理システム540は、技術的製品詳細、ニュース、現在の提供製品、現在または予測される天気などといった関心対象のデータを検索することができる。
【0118】
[00134]ネットワーク機器505も、(例えば、ストリーミング・ウェブ・サーバ545を含む)ウェブサーバに接続されていてよい。ある場合には、そのようなサーバとの通信によって接続管理システム520との通信交換を開始する初期のオプションが提供される。例えば、ネットワーク機器505は、特定のウェブページを訪問している間に、利用できる通信機会があり、そのようなオプションを提示できることを検出する。
【0119】
[00135]通信システム500の1または複数の要素を、ソーシャルネットワーキングサーバ550に接続することもできる。ソーシャルネットワーキングサーバ550は、様々なユーザ機器から受信したデータを集約することができる。よって、例えば、接続管理システム520は、所与の話題に対する一般的な(もしくはユーザ固有の)感情を推定し、または所与のユーザもしくはユーザのクラスの一般的な行動を推定することができる。
【0120】
[00136]
図6に、接続管理システム600の一実施形態のブロック図を示す。メッセージ受信側インターフェース605は、メッセージを受信することができる。ある場合には、メッセージを、例えば、ネットワーク機器や端末機器などの(例えば、接続管理システム600とは別個に、または同じハウジング内に収容された)発信元機器によって送信された通信の一部として受信することができる。ある場合には、通信は、2つの機器(例えば、ネットワーク機器や端末機器)間でルーティングされる一連のメッセージまたはメッセージ交換を含むことができる一連の通信または通信交換の一部とすることができる。このメッセージまたは通信交換は、機器間のインタラクションの一部であってもよく、かつ/または機器間のインタラクションを定義してもよい。通信チャネルまたは動作可能なチャネルは、機器間のルーティングおよび通信交換を円滑に行わせるために使用される1または複数のプロトコル(例えば、ルーティングプロトコル、タスク割り当てプロトコルおよび/またはアドレス指定プロトコル)を含むことができる。
【0121】
[00137]ある場合には、メッセージは、ローカルまたはリモートのユーザインターフェースで受け取られた入力に基づいて生成されたメッセージを含むことができる。例えば、メッセージは、ボタンもしくはキーの押下または録音された音声信号に基づいて生成されたメッセージを含むことができる。ある場合には、メッセージは、ネットワーク機器が特定のアプリページまたはウェブページを提示しており、または特定の入力コマンド(例えば、キーシーケンス)を提供したことを検出すると生成されるメッセージといった、自動的に生成されたメッセージを含む。アプリとは、モバイル機器(例えば、スマートフォン)上で実行されるアプリケーションを指すことができる。メッセージは、通信交換を開始するよう求めるような命令または要求を含むことができる。
【0122】
[00138]ある場合には、メッセージは、クライアントの識別子を含み、またはクライアントの識別子と関連付けることができる。例えば、メッセージは、クライアント(またはクライアントと関連付けられた機器)を明示的に識別することもでき、メッセージは、クライアントと関連付けられたウェブページまたはアプリページを含み、またはそれと関連付けることもでき、メッセージは、クライアントと関連付けられた宛先アドレスを含み、またはそれと関連付けることもでき、メッセージは、(例えば、クライアントによって販売されている、クライアントによって販売されたことのある、またはクライアントがサービス提供するものである)クライアントと関連付けられた品目(例えば製品)やサービスの識別を含み、またはそれと関連付けることもできる。例示として、ネットワーク機器は、エージェントに通信を送信するオプションを提供する特定のクライアントのアプリページを提示しているとする。メッセージに対応するユーザ入力を受け取ると、そのメッセージおよび特定のクライアントの識別子を含めるように通信が生成される。
【0123】
[00139]処理エンジン610は、受信した通信および/またはメッセージを処理する。処理は、例えば、1または複数の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワーク機器識別子、アカウント識別子など)を抽出することを含むことができる。処理は、(例えば、特定の機器の種類、オペレーティングシステム、通信チャネルの種類、プロトコルおよび/またはネットワークと互換性を有するように)フォーマットまたは通信の種類を変換することを含むことができる。
【0124】
[00140]メッセージ評価エンジン615は、(例えば、抽出または受信された)メッセージを評価する。評価は、例えば、メッセージの1または複数のカテゴリまたはタグを識別することを含むことができる。カテゴリまたはタグの種類の例には、(例えば)話題、感情、複雑さ、および緊急性を含むことができる。メッセージをカテゴリ化することとタグ付けすることとの違いは、カテゴリは(例えば、事前定義されたカテゴリオプションのセットに従って)制限することができるのに対し、タグは制限なしとすることができる。話題には、例えば、製品、サービス、技術的問題、使用に関する質問、苦情、払い戻し請求、購入依頼などを含むことができる。カテゴリまたはタグは、例えば、(例えば、キーワード、文の構造、繰り返し単語、句読点および/もしくは項目以外の単語を識別することによる)メッセージの意味解析、ユーザ入力(例えば、1もしくは複数のカテゴリを選択した)、ならびに/またはメッセージ関連の統計(例えば、タイプ入力速度および/もしくは応答待ち時間)に基づいて決定することができる。
【0125】
[00141]ある場合には、メッセージ評価エンジン615は、メッセージのメトリックを決定することができる。メトリックには、例えば、文字、単語、大文字、すべて大文字の単語または特定の文字もしくは句読点のインスタンス(例えば、感嘆符、疑問符および/またはピリオド)の数を含めることができる。メトリックには、感嘆符(または疑問符)で終わる文の割合、すべて大文字の単語の割合など、比率を含めることができる。
【0126】
[00142]メッセージ評価エンジン615は、メッセージ、メッセージメトリックおよび/またはメッセージ統計をメッセージ・データ・ストア620に格納することができる。各メッセージは、対応する発信元機器、宛先機器、ネットワーク機器、端末機器、クライアント、1もしくは複数のカテゴリ、1もしくは複数の段階および/またはメッセージと関連付けられた統計といった、他のデータ(例えばメタデータ)と関連付けて格納することもできる。接続管理システム600の様々な構成要素(例えば、メッセージ評価エンジン615および/またはインタラクション管理エンジン625)は、問合せ応答メッセージ、メッセージメトリックおよび/またはメッセージ統計を読み出すためにメッセージ・データ・ストア620に問い合わせることができる。ある場合には、メッセージ評価エンジン615は、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、または継続通信パラメータを生成することができる(さらなる考察については
図14を参照されたい)。
【0127】
[00143]インタラクション管理エンジン625は、通信がどの機器にルーティングされるべきか、および受信側機器と送信側機器がどのように通信すべきか決定することができる。これらの決定は各々、例えば、特定のネットワーク機器(または特定のユーザと関連付けられた任意のネットワーク機器)が、端末機器のセット内の端末機器(例えば、接続管理システム600と関連付けられた任意の端末機器や、1または複数の特定のクライアントと関連付けられた任意の端末機器)と以前に通信したことがあるかどうかに依拠して行うことができる。
【0128】
[00144]ある場合には、ネットワーク機器(または同じユーザもしくはアカウントと関連付けられた他のネットワーク機器)が所与の端末機器と(例えば、クライアントに関する事柄について)以前に通信したことがある場合、同じ端末機器を優先するよう通信ルーティングに全体としてバイアスをかけることができる。ルーティングに影響を及ぼしうる他の要因には、例えば、以前の通信に関係して推測され、もしくは識別されたユーザもしくはエージェントの感情、現在の通信の話題(また例えば、以前の通信の話題および/または1もしくは複数の端末機器もしくはエージェントと関連付けられた知識ベースに関連する話題、および関連する程度)、端末機器(もしくは対応するエージェント)が対応できるかどうか、ならびに/または端末機器の予測応答待ち時間を含むことができる。そのような要因は、絶対的に、または他の端末機器に対応する同様のメトリックと比較して考慮される。再ルーティング規則(例えば、クライアント固有の規則や一般的な規則)は、エージェント一貫性を優先するかどうか判定するために、そのような要因がどのように評価され、重み付けされるべきか指示することができる。
【0129】
[00145]ネットワーク機器(または同じユーザもしくはアカウントと関連付けられた他のネットワーク機器)が所与の端末機器と(例えば、クライアントに関する事柄について)以前に通信したことがない場合、端末機器選択を、例えば、様々なエージェントの知識ベースが通信の話題に対応する程度、所与の時間および/もしくはチャネルの種類での様々なエージェントの可用性、(例えば、クライアントと関連付けられた)端末機器の種類および/もしくは能力、ユーザとエージェントとの間の言語一致、ならびに/または性格分析といった要因に基づいて行うことができる。ある場合には、規則は、これらのような1または複数の要因のサブスコアおよび各スコアに割り当てるべき重みをどのように決定するか識別することができる。重み付きサブスコアを組み合わせる(例えば、合計する)ことによって、エージェントごとのスコアを決定することができる。次いで、(例えば、高スコアまたは最高スコアを選択するように)端末機器のスコアを比較することによって、端末機器選択を行うことができる。
【0130】
[00146]機器がどのように通信すべきか決定することに関して、インタラクション管理エンジン625は、(例えば)端末機器が通信に応答する手段が(例えば)電子メール、オンラインチャット、SMSメッセージ、音声通話、ビデオチャットなどかどうか判定することができる。通信の種類は、例えば、通信の種類の優先順位リスト(例えば、少なくとも一部はクライアントもしくはユーザによって定義された)、ネットワーク機器から以前に受信した通信の種類(例えば、一貫性を助長するように)、受信メッセージの複雑さ、ネットワーク機器の能力、および/または1もしくは複数の端末機器の可用性に基づいて選択することができる。明らかに、通信の種類には、リアルタイム通信をもたらすものもあり(例えば、迅速なメッセージ応答が予期される場合)、非同期通信をもたらしうるものもある(例えば、メッセージ間の(数分または数時間などの)遅延が許容される場合)。
【0131】
[00147]さらに、インタラクション管理エンジン625は、2つの機器間の継続チャネルを確立し、使用し、または打ち切るべきかどうか決定することができる。継続チャネルは、ネットワーク機器から指定された端末機器への将来の通信のルーティングを円滑に行わせるように構築することができる。このバイアスは、連続メッセージ(例えば、数日、数週間または数ヶ月)にわたってさえ持続することができる。ある場合には、(例えば、エージェントを識別する)継続チャネルの表現をネットワーク機器上で提示されるプレゼンテーションに含めることができる。このようにして、ユーザは、効率を高めるように通信が一貫してルーティングされることを理解することができる。
【0132】
[00148]ある場合には、所定のネットワーク機器および端末機器に対応する接続スコアを決定するために、本明細書に記載する1または複数の要因および(例えば、1または複数の要因の各々の重みを含む)規則を使用してスコアを生成することができる。スコアは、全体的な一致または所与の通信もしくは連続通信に特有の一致に関係するものであってよい。よって、例えば、スコアは、所与の端末機器がネットワーク機器通信に応答するのに適していると予測される程度を反映する。ある場合には、スコア解析を使用して、所与の通信をルーティングする相手先の端末機器の各々を識別し、接続チャネルを確立し、使用し、または打ち切るかどうか識別することができる。スコア解析を使用してルーティング決定とチャネル決定の両方に対処する場合、各決定に関連するスコアを決定する方法は、同じでも、類似していても、異なっていてもよい。
【0133】
[00149]よって、例えば、スコアが長期の一致の強度を予測するためのものか、それとも特定のメッセージ問合せに応答するためのものかに応じて異なる要因が考慮されることが理解されよう。例えば、前者の場合には、全体的なスケジュールおよび時間帯の考慮が重要であるが、後者の場合には、即時の可用性がより重要視される。単一のネットワーク機器/端末機器通信のスコアを決定することもでき、所与のネットワーク機器と異なる端末機器との間の一致を各々特徴付ける複数のスコアを決定することもできる。
【0134】
[00150]例示として、クライアントと関連付けられた3つの端末機器のセットが、潜在的な通信ルーティングについて評価されるとする。特定の通信の一致に関係するスコアが各々に生成される。最初の2つの端末機器は各々、通信を送信したネットワーク機器と以前に通信したことがある。ネットワーク機器からの入力は、第1の機器との(1または複数の)通信とのインタラクションの満足度を指示している。よって、第1の機器、第2の機器、および第3の機器の(規則に従って計算された)過去インタラクションサブスコアは、それぞれ、10、5および0である。(否定的満足度入力はマイナスのサブスコアをもたらす)。 第3の端末機器のみが直ちに対応可能であると判定される。第2の端末機器は15分以内に応答に対応することができるが、第1の端末機器は翌日まで応答に対応することができないと予測される。よって、第1の機器、第2の機器、および第3の機器の高速応答サブスコアは、1、3および10である。最後に、(端末機器と関連付けられた)エージェントが通信内の話題について知識を有する程度が推定される。第3の端末機器と関連付けられたエージェントは、他の2つの機器と関連付けられたエージェントよりも知識を有し、3、4および9のサブスコアが得られると決定される。この例では、規則は、重み付けパラメータも正規化パラメータも含まず(規則が含む場合もある)、14、11および19のスコアが得られる。よって、規則は、メッセージが最高スコアを有する機器、すなわち第3の端末機器にルーティングされるべきであることを指示する。特定の端末機器へのルーティングが失敗した場合、そのメッセージは次に高いスコアを有する機器にルーティングすることができ、以下同様である。
【0135】
[00151]スコアは、1または複数の絶対閾値または相対閾値と比較される。例えば、通信をルーティングできる相手先の端末機器を選択するために、端末機器のセットのスコアを互いに比較して高スコアを識別することができる。別の例として、端末機器との継続チャネルを確立するかどうか決定するために、スコア(例えば、高スコア)を1または複数の絶対閾値と比較することができる。継続チャネルを確立するための全体的な閾値は、所与の一連のメッセージにおける通信を一貫してルーティングするための閾値より高くてもよい(が、そうでなくてもよい)。全体的な閾値と、通信を一貫してルーティングするかどうか決定するため閾値とにこの差があるのは、チャネルのユーティリティが拡張された場合に継続チャネルのコンテキストでは強い一致が重要だからである。いくつかの実施形態では、継続チャネルを使用するための全体的な閾値は、継続チャネルを確立するための閾値および/または所与の一連のメッセージ内の通信を一貫してルーティングするための閾値より低くてもよい(が、そうでなくてもよい)。
【0136】
[00152]インタラクション管理エンジン625は、様々なコンテキストでアカウントエンジン630とインタラクションすることができる。例えば、アカウントエンジン630は、機器に対応するアカウントを識別するために、アカウント・データ・ストア635内のネットワーク機器または端末機器の識別子を探索する。さらに、アカウントエンジン630は、以前の通信交換(例えば、時間、(1もしくは複数の)関与した他の機器、チャネルの種類、解決段階、(1もしくは複数の)話題および/もしくは関連付けられたクライアント識別子)、接続チャネル(例えば、1もしくは複数のクライアントの各々について、チャネルが存在するかどうか、各チャネルと関連付けられた端末機器、確立時刻、使用頻度、最終使用日付、チャネル制約条件および/もしくはサポートされる通信の種類)、ユーザもしくはエージェントの好みもしくは制約条件(例えば、端末機器選択、応答待ち時間、端末機器一貫性、エージェント専門知識、および/もしくは通信の種類の好みもしくは制約条件に関連した)、ならびに/またはユーザもしくはエージェントの特性(例えば、年齢、(1もしくは複数の)使用言語もしくは好みの言語、地理的位置、興味など)に関するデータを維持することができる。
【0137】
[00153]さらに、インタラクション管理エンジン625は、現在のチャネルデータを反映するようアカウント・データ・ストア635を更新できるように、アカウントエンジン630に様々な接続チャネル動作を知らせることができる。例えば、チャネルを確立すると、インタラクション管理エンジン625は、アカウントエンジン630に確立を通知し、ネットワーク機器、端末機器、アカウント、およびクライアントのうちの1または複数を識別することができる。アカウントエンジン635は、(場合によっては)続いてチャネルの存在をユーザに通知して、エージェント一貫性が供与されていることがユーザにわかるようにすることもできる。
【0138】
[00154]インタラクション管理エンジン625はさらにクライアント・マッピング・エンジン640とインタラクションすることができ、クライアント・マッピング・エンジン640は通信を1または複数のクライアント(および/または関連付けられたブランド)にマップすることができる。ある場合には、ネットワーク機器自体から受信される通信が、クライアントに対応する識別子(例えば、クライアント、製品、サービス、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアント・マッピング・エンジン640が検出する)メッセージの一部として含めることもでき、メッセージを含む通信内の他のデータとして含めることもできる。次いで、クライアント・マッピング・エンジン640は、クライアントおよび/またはクライアントの識別子に関する追加データを読み出すためにクライアント・データ・ストア645内の識別子を探索する。
【0139】
[00155]ある場合には、メッセージはどんなクライアントにも特に対応しない。例えば、メッセージは一般的な問合せを含む。クライアント・マッピング・エンジン640は、例えば、メッセージの意味解析を行い、1または複数のキーワードを識別し、その(1または複数の)キーワードと関連付けられた1または複数のクライアントを識別する。ある場合には、単一のクライアントが識別される。ある場合には、複数のクライアントが識別される。次いで、各クライアントの識別は、ユーザが(例えば、関連付けられた端末機器を介して)通信するクライアントを選択できるように、ネットワーク機器を介して提示される。
【0140】
[00156]クライアント・データ・ストア645は、クライアントと関連付けられた1または複数の端末機器(および/またはエージェント)の識別を含むことができる。端末ルーティングエンジン650は、ルーティング決定に影響を及ぼすように、1つ、複数またはすべてのそのような端末機器(および/またはエージェント)の各々に関係するデータを読み出し、または収集することができる。例えば、端末ルーティングエンジン650は、端末データストア655を維持し、端末データストア655は、端末機器の機器の種類、オペレーティングシステム、通信の種類の能力、インストール済みのアプリケーションアクセサリ、地理的位置および/または識別子(例えば、IPアドレス)といった情報を格納することができる。また情報には、経験レベル、役職、スキルレベル、知識ベース(例えば、エージェントが知識を有する話題、および/または様々な話題についての知識レベル)、性格メトリック、就業時間、(1もしくは複数の)使用言語、および/または人口統計情報といったエージェント情報も含めることができる。ある情報を動的に更新することができる。例えば、端末機器が対応できるかどうか指示する情報は、(例えば)端末機器からの通信(例えば、機器が休眠しているかどうか、オフ/オン、アイドル/アクティブ状態であるかどうか識別する、入力が期間内に受け取られたかどうか識別する)、通信ルーティング(例えば、端末機器が通信交換に関与しているかどうかや、通信交換の一部になるように割り当てられているかどうか示す)、または通信交換が終了もしくは開始したことを指示するネットワーク機器もしくは端末機器からの通信に基づいて動的に更新される。
【0141】
[00157]様々なコンテキストにおいて、1または複数の通信交換に関与していることは、必ずしも、端末機器が別の通信交換に関与するために利用できないことを指示するとは限らないことが理解されよう。通信の種類(例えば、メッセージ、電子メール、チャット、電話)、クライアントによって識別された、もしくはユーザによって識別された目標応答時間、および/またはシステム負荷(例えば、一般的な、もしくはユーザに関する)といった様々な要因が、端末機器が何件の交換に関与しうるかに影響を及ぼす。
【0142】
[00158]インタラクション管理エンジン625は、通信交換または接続チャネルに関与すべき端末機器を識別すると、端末ルーティングエンジン650に通知することができ、端末ルーティングエンジン650は、端末データストア655から、宛先(例えばIP)アドレス、機器の種類、プロトコルなどといった端末機器に関する任意の関連データを読み出す。次いで、処理エンジン610は、(場合によっては)例えば、特定のフォーマットを有し、特定のプロトコルに準拠するように、メッセージを含む通信を変更し、または(メッセージを含む)新しい通信を生成することができる。ある場合には、新しいメッセージまたは変更されたメッセージは、ネットワーク機器に対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータといった、追加データを含む。
【0143】
[00159]次いで、メッセージ送信側インターフェース660は、通信を端末機器に送信することができる。送信は、例えば、別個のハウジングに収容された機器への有線送信または無線送信を含む。端末機器には、接続管理システム600と同じ、または異なるネットワーク(例えば、ローカル・エリア・ネットワーク)内の端末機器を含むことができる。したがって、通信を端末機器に送信することは、通信をネットワーク間接続構成要素またはネットワーク内接続構成要素に送信することを含むことができる。
【0144】
[00160]
図7に、メッセージに索引付けし、メッセージクロニクルを生成するためのプロセスの一実施形態の流れ図を示す。プロセス700は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、例えば、その一部または全体を行うことができる。プロセス700はブロック705から開始することができ、そこでメッセージ受信側インターフェース(例えば、
図6のメッセージ受信側インターフェース605)はネットワーク機器と端末機器との間のインタラクションを検出する。インタラクションは、(例えば、異なる期間、ブラウザセッション、通信開始要求などと関連付けられた)1または複数のセッションの一部として送信された1または複数のメッセージを含むことができる。インタラクションには、例えば、アプリまたはウェブページによって円滑化されるインタラクション、SMSインタラクション、電子メールインタラクション、通話インタラクションなどを含むことができる。プロセス700は、例えば、メッセージ評価エンジン(例えば、
図6のメッセージ評価エンジン615)によって、その一部または全部を行うことができる。
【0145】
[00161]ブロック710で、インタラクションの全部または一部と関連付けられた1または複数の決定可能な特性が識別される。決定可能な特性には、例えば、ネットワーク機器の識別子、端末機器の識別子、ネットワーク機器と関連付けられたユーザの識別子、端末機器と関連付けられたエージェントの識別子、メッセージのサイズ(例えば、単語数や文字数)、メッセージの数(例えば、全体的な、もしくは一方もしくは両方の機器の各々からの)、メッセージの時間、メッセージ間遅延(例えば、同じ機器からのメッセージ間やどちらかの機器からのメッセージ間の)、および/または特定の文字の数(例えば、感嘆符や疑問符)を含めることができる。
【0146】
[00162]ブロック715で、インタラクションの全部または一部の1または複数の話題が、インタラクションおよび/または検出された入力における1または複数のメッセージのコンテンツに基づいて識別される。話題は、メッセージのコンテンツから1もしくは複数のキーワードを抽出すること、話題を識別するメッセージと関連付けられたデータを識別すること(例えば、ユーザもしくはエージェントの話題の選択に基づいて識別される)、および/または意味解析(例えば、オントロジ、機械学習、もしくはクラスタリング技術に基づく意味解析)に基づいて識別することができる。話題には、カテゴリカルトピック(例えば、利用可能な話題のリストの中から選択された話題)またはタグトピック(例えば、話題識別を自由形式とすることができる)を含めることができる。
【0147】
[00163]ブロック720で、1または複数の問題解決段階が、インタラクションおよび/または検出された入力における1または複数のメッセージのコンテンツに基づいて識別される。問題解決は、キーワードまたは句の検出(例えば、「質問すべてに答えましたか?」「お世話様です」、「それを試してみます」などといった、一般的なインタラクションを終了する句の検出)に基づいて推測することができる。問題解決は、さらに、または代替として、ネットワーク機器または端末機器で受け取られた入力(また例えば、接続管理システムに伝達された入力)に基づいて検出することもできる。入力は、解決段階または問題処理段階(例えば、「解決済み」、「調査中」)の選択、または(例えば、肯定的な終了メッセージコンテンツの後の)解決段階を示すようにセッションを打ち切る入力に対応させることができる。
【0148】
[00164]ブロック725で、1または複数の推測感情スコアが、インタラクションにおける1もしくは複数のメッセージ、1もしくは複数のメッセージのサイズ、1もしくは複数のメッセージを構築する速度、メッセージ間待ち時間および/または検出された入力に基づいて決定される。例えば、各々が1または複数の標識(例えば、キーワードや統計や入力識別子)と関連付けられている感情のセットが定義される。次いで、感情のセットのうちの1または複数と関連付けられるようにメッセージを分類するために、意味的、統計的、クラスタリング、論理的その他の解析を行うことができる。例えば、感情定義は、(例えば、他方の機器の頻度に対する)所与の機器からの高いメッセージ頻度および/または長いメッセージが「フラストレーションを感じる」感情を示すことを指示する。別の例として、感情定義は、特定の感情に対応する特定のキーワード(例えば、「感謝する」、「フラストレーションを感じる」、「うまくいない」、「悩まされている」)を指示する。ブロック725は、単一の感情スコアまたは複数の感情スコア(例えば、端末機器とネットワーク機器の各々に1つ、感情のセットの各々に1つ、および/または期間またはメッセージごとに1つ)を生成することを含むことができる。
【0149】
[00165]ブロック730では、1または複数のメッセージ索引が設定される。1または複数のメッセージ索引は、ブロック710~ブロック725の1または複数の結果を反映するように設定されてよい。ある場合には、索引は階層的に設定される。例えば、一連のメッセージまたはメッセージの集合が所与の索引と関連付けられ、その場合索引は連続または選択内の各メッセージに関係する(が、そうでなくてもよい)。ある場合には、1または複数の索引が、インタラクション内の一部または全部のメッセージの各々に割り当てられる。メッセージ索引を設定することは、特定のメッセージを、決定され、または識別された値または他のデータを反映する標識と関連付けることを含むことができる。よって、例えば、索引を設定することは、メタデータ、関連付け構造などを定義し、または生成することを含むことができる。
【0150】
[00166]ブロック735で、索引が識別される。ある場合には、索引は、入力において識別された索引(例えば、ネットワーク機器または端末機器で入力された索引)とすることもできる。例えば、ユーザは、特定の話題に関係するメッセージのセットが提示されることに関心を示す。ある場合には、索引は規則に従って識別することができる。例えば、規則は、再ルーティングプロセスが開始されるべきであると決定した後で、不十分な感情スコアと関連付けられたメッセージを集約すべきであることを指示する。様々な場合において、ブロック735は、単一の索引(例えば、特定の話題)、索引のセット(例えば、複数の話題、特定の話題および特定のネットワーク機器)ならびに/または索引の範囲(例えば、閾値を下回る感情スコアの指標)を識別することを含むことができる。
【0151】
[00167]ブロック740で、メッセージクロニクルが複数のメッセージを選択的に含めるように生成され、複数のメッセージ内の各メッセージは索引と関連付けられている。メッセージクロニクルを生成することは、例えば、メッセージ・データ・ストア(例えば、
図5のメッセージ・データ・ストア620)からメッセージのセット(例えば、1または複数の識別された索引と関連付けられたメッセージ)を読み出すこと、およびそれらのメッセージを集約することを含むことができる。メッセージは、1または複数の索引または、時間、感情、解決段階、発信元機器、および/もしくは話題などの次元に基づいて順序付けられる。ある場合には、ソート法は、入力に基づいて決定することもでき、かつ/または1もしくは複数の識別された索引に基づいて設定することもできる。
【0152】
[00168]ブロック745で、メッセージクロニクルが解析され、またはメッセージクロニクルのプレゼンテーションが円滑化される。例えば、第1の索引を共有するメッセージを含むメッセージクロニクルを解析して、第2の次元(例えば、感情や解決段階)における傾向の存在および/または大きさを特徴付けることができる。メッセージクロニクルのプレゼンテーションを円滑に行わせることは、メッセージクロニクルを別の機器に送信すること、またはクロニクルをローカルに提示することを含むことができる。クロニクルを提示することは、(例えば、機器上のディスプレイ内に収まるように)クロニクルの少なくとも一部を提示することを含むことが理解されよう。
【0153】
[00169]ある場合には、メッセージクロニクルは動的とすることができる。例えば、メッセージクロニクルが生成され、送信され、かつ/または提示された後でさえ、1または複数の識別された索引と関連付けられた新たに受信されたメッセージがクロニクルに追加される。このようなメッセージ追加は、例えば、新しいメッセージをそれらがクロニクルに追加されるべきであるという指示と一緒に送信すること、クロニクルの格納バージョンを新しいメッセージで更新し、更新バージョンを送信もしくは提示すること、または(例えば、一定の期間で、または特定のチャネル、ネットワーク機器および/もしくは端末機器と関連付けられた任意のメッセージを検出すると)クロニクルの新しいバージョンを生成することによって達成される。
【0154】
[00170]
図8に、生成されたエージェントベクトルに基づいてメッセージルーティングを円滑に行わせるためのプロセス800の一実施形態の流れ図を示す。プロセス800は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス800はブロック805から開始することができ、そこでメッセージ受信側インターフェース(例えば、
図6のメッセージ受信インターフェース605)はネットワーク機器からのメッセージを検出する。
【0155】
[00171]ブロック810で、メッセージと関連付けられた話題が、メッセージ評価エンジン(例えば、
図6のメッセージ評価エンジン615)などによって決定される。話題は、例えば、メッセージ内のコンテンツおよび/または検出された入力に基づいて決定することができる。話題は、メッセージのコンテンツから1もしくは複数のキーワードを抽出すること、話題を識別するメッセージと関連付けられたデータを識別すること(例えば、ユーザもしくはエージェントの話題の選択に基づいて識別される)、および/または意味解析(例えば、オントロジ、機械学習、もしくはクラスタリング技術に基づく意味解析)に基づいて識別することができる。話題には、カテゴリカルトピック(例えば、利用可能な話題のリストの中から選択された話題)またはタグトピック(例えば、話題識別を自由形式とすることができる)を含めることができる。
【0156】
[00172]ブロック815で、ネットワーク機器と関連付けられたメッセージまたはアカウントデータと関連付けられた複雑さレベルが、インタラクション管理エンジン(例えば、
図6のインタラクション管理エンジン625)などによって決定される。例えば、複雑さレベルは、(例えば、定義されたリスト内の技術用語と一致する)メッセージ中の技術用語の多用、メッセージの長さ、メッセージ内の疑問符もしくは要求の数、および/または複雑な製品もしくはサービスの識別子に基づいて決定される。別の例として、インタラクション管理エンジンは、アカウント・データ・ストア(例えば、
図6のアカウント・データ・ストア635)からアカウントデータにアクセスするために、アカウントエンジン(例えば、
図6のアカウントエンジン630)と通信することができる。アカウントデータは、以前の通信交換、エージェントからの入力、訪問されたウェブページもしくはアプリページ、および/またはプロフィールデータ(例えば、学歴や職業)に基づいてユーザと関連付けられた複雑さの(例えば、予測された)レベルを反映する。このアカウントデータは、メッセージ交換に伴う複雑さのレベルを予測するのに使用される。(例えば)多数の高度に技術的なウェブページを訪問し、かつ/または高度な学位を有するユーザは、より複雑な質問を別のユーザに要求するものと想定される。
【0157】
[00173]ブロック820で、推測感情スコアが、ネットワーク機器と関連付けられたメッセージまたはアカウントデータに基づいて、インタラクション管理エンジンなどによって決定される。例えば、インタラクション管理エンジンは、メッセージまたは関連付けられたデータ(例えば、メッセージを含む通信におけるメタデータおよび/または他のデータ)に基づいて生成されたメッセージ評価エンジンからの推測感情スコアを受け取ることができる。そのようなスコアは、(例えば)メッセージのサイズ、メッセージを構築する速度、および/またはメッセージ内の単語もしくは文字に基づくものであってよい。次いで、感情のセットのうちの1または複数と関連付けられるようにメッセージを分類するために、(例えば
図7のプロセス700のブロック735に関連して)本明細書で詳述した解析のような、意味的、統計的、クラスタリング、論理的その他の解析を行うことができる。(本明細書で開示する任意の目的で)感情を評価し、または感情スコアを生成するのに使用することができる技術の例には、例えば、キーワードマッチング、語彙類似性、および機械学習(例えば、サポート・ベクター・マシン、情報理論、潜在意味解析、意味ネットワーク、オントロジ、および/またはニューラルネットワーク)を含めることができる
【0158】
[00174]別の例として、アカウントエンジンは、感情傾向を示すネットワーク機器に対応するアカウントデータを読み出す。例示として、アカウントデータは、関連付けられたユーザが、通信交換に対する不満(または逆に満足)を識別する通信内または通信後の入力を頻繁に提供すること、ユーザがフラストレーションを感じている(または逆に、協力的で感謝している)ように見えることを指示する入力をエージェントが頻繁に提供すること、意味解析により、交換全体の感情スコアの悪化(または逆に改善)が頻繁に識別されたことなどを指示する。推測感情スコアは、例えば、数値スコアまたはカテゴリスコアを含むことができる。
【0159】
[00175]ブロック825で、ネットワーク機器と関連付けられたメッセージまたはアカウントデータと関連付けられた非実体的特性が、インタラクション管理エンジンなどによって決定される。非実体的特性は、例えば、メッセージのサイズ(例えば、単語数や文字数)、メッセージがタイプ入力された速度(例えば、通信内のメタデータによって識別される)、メッセージの時間、メッセージ間遅延(例えば、ネットワーク機器と、メッセージに関連したクライアントと同じクライアントと関連付けられた端末機器との間の最新の連続メッセージの開始もしくは終了の間の)、および/または特定の文字の数(例えば、感嘆符や疑問符)。
【0160】
[00176]ブロック830で、対応する変数のベクトルが、エージェントのセット内のエージェントごとに、端末ルーティングエンジン(例えば、
図6の端末ルーティングエンジン650)などによって識別される。対応する変数は、端末データストア(例えば、
図6の端末データストア655)内のデータを含むこともでき、それらのデータに基づくものとすることもできる。対応する変数の例には、エージェントが扱うように割り当てられ、または訓練されている話題の識別、経験のレベル(例えば、会社での時間やクライアントによって割り当てられた経験レベル)、エージェントの会社と関連付けられた役職のレベル、エージェントの端末機器とのメッセージ交換中にネットワーク機器と関連付けられた感情が典型的にどのように変化するかに関する指示(例えば、一般的に、もしくは特定の感情点の開始時に)、および/またはエージェントもしくは端末機器と関連付けられた現在の、もしくは典型的な(例えば、平均や中間の)感情スコアを含めることができる。ベクトルは、エージェントおよび/もしくは関連付けられた端末機器がメッセージへの応答に対応できるかどうかに関する指示、ならびに/またはどの通信の種類によってエージェントが受信および/もしくは送信を行うことができるかに関する指示といった、1または複数の追加的な変数をさらに含む。
【0161】
[00177]ベクトルは、複数の対応する変数を含むデータの任意の組み合わせを含むことができる。ベクトルは、単一のデータ構造または複数のデータ構造の一部もしくは全部を含むことができる。
【0162】
[00178]ブロック835で、エージェントのセットのサブセットが、エージェントベクトルおよび決定された変数に基づいて、インタラクション管理エンジンなどによって識別される。サブセットは、単一のエージェントまたは複数のエージェントを含むことができ、エージェントのセットより少数のエージェントを含むことができる。ある場合には、サブセットに含まれるべきエージェントの数を固定することもできる(例えば、一般的に、かつ/または特定のクライアントについて定義される)。他の場合には、数は(例えば、識別されたベクトルに応じて)可変とすることもできる。
【0163】
[00179]ある場合には、対応するベクトルに基づいてエージェントごとにスコアが生成される。例えば、スコアは、ベクトルの要素の加重和を含み、重みは、(例えば、一般的に、もしくは特定のクライアントについて)事前定義され、またはブロック810~ブロック825で決定された変数のうちの1もしくは複数に基づいて決定される。次いで、サブセットは、相対閾値または絶対閾値を上回るスコアと関連付けられた1または複数のエージェント(例えば、エージェントのセットのうちの最高スコアを有するエージェント)を含むことができる。加えて、または代替として、フィルタリング戦略を用いることもできる。例えば、エージェントが現在対応できないことを指示する変数のような、特定の相補的変数(または規定の閾値を超える変数)と関連付けられた1または複数のエージェントの各々が、サブセットから除外される。加えて、または代替として、サブセットを識別することは、負荷分散技術または擬似ランダム選択技術を使用することを含むこともできる。例えば、対応するベクトルに基づいて生成された閾値を上回るスコアと関連付けられた複数のエージェントの中から単一のエージェントを選択することができる。
【0164】
[00180]ブロック840で、インタラクション管理エンジンは、メッセージをサブセット内のエージェントと関連付けられた端末機器にルーティングするために動作可能な接続の確立を円滑に行わせることができる。動作可能な接続は、ある場合には、連続メッセージ全体にわたって持続することができる継続的接続または特定の連続メッセージに固有の継続的接続を含む。接続を確立することは、(例えば、少なくとも所与のセッション中に、または動作可能な接続が終了されるまで)ネットワーク機器から受信されたメッセージが端末機器にルーティングされるべきであることを指示するルーティング指示を格納することを含むことができる。
【0165】
[00181]ある場合には、(例えば、ブロック835で)単一のエージェントを識別することができ、接続を確立することができる。(例えば、端末機器からルーティングされた応答通信の送信の前に、またはそれと共に)エージェントを識別する通信がネットワーク機器に送信される。ある場合には、ユーザが通信相手のエージェントを選択できるように、サブセット内の複数の(例えば、すべての)エージェントに関係する情報がネットワーク機器に送信される。情報は、例えば、名前、写真、専門知識指示、役職および/または使用言語を含むことができる。選択指示を受信すると、インタラクション管理エンジンは、ネットワーク機器と、選択されたエージェントと関連付けられた端末機器との間の動作可能な接続を確立することができる。
【0166】
[00182]ブロック840は、(例えば、端末機器にネットワーク機器のアドレスもしくは電話番号を送信することによる、ネットワーク機器に端末機器のアドレスもしくは電話番号を送信することによる、またはネットワーク機器で端末機器のアドレスもしくは番号を受信し、もしくは選択することによる)端末機器とネットワーク機器との間の直接的な動作可能な接続の確立、または(例えば、中間機器においてルーティングプロトコルを生成することによる)間接的な動作可能な接続の確立を円滑に行わせることを含むことができることが理解されよう。
【0167】
[00183]
図9に、継続チャネルの確立を管理するためのプロセス900の一実施形態の流れ図を示す。プロセス900は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス900はブロック905から開始し、そこでインタラクション管理エンジン(例えば、
図6のインタラクション管理エンジン625)は、ネットワーク機器と端末機器との間の一連のメッセージのルーティングを円滑に行わせる。
【0168】
[00184]例えば、そのような円滑化は、(例えば、接続管理システムが、少なくとも一部がネットワーク機器において、ネットワーク機器において動作しているかどうかに応じて)初期メッセージまたは中継メッセージ内の宛先データを制御することを含むことができる。別の例として、円滑化は、ネットワーク機器から受信される通信が端末機器にルーティングされるように、またその逆が行われるように、ルーティングプロトコルを確立することを含むことができる。さらに別の例として、円滑化は、(1または複数のネットワークおよび接続構成要素を介して)機器同士が直接通信できるように、ネットワーク機器に関係する宛先データを端末機器に送信すること、および/または端末機器に関係する宛先データをネットワーク機器に送信することを含むこともできる。
【0169】
[00185]一連のメッセージは、セッションの一部として送信されたメッセージおよび/または同様の(例えば、互いから1時間以内の)送信時間と関連付けられているメッセージを含むことができる。一連のメッセージは、(例えば、ユーザがセッション中にブラウザを終了しなかったことを示す)ウェブページまたはウェブサイトの単一のセッションによって受信され、かつ/または送信されたメッセージを含むことができる。
【0170】
[00186]ブロック910で、継続チャネル規則が、インタラクション管理エンジンなどによってアクセスされる。継続チャネル規則は、満たされた場合、ネットワーク機器と端末機器との間に継続チャネルが確立されるべきであることを指示する条件を含むことができる。この条件は、1または複数のメッセージ、1または複数の入力(例えば、ユーザおよび/またはエージェントからの)および/またはアカウントデータに関係する特性に関するものである。一般に、条件は、端末機器と関連付けられたエージェントとネットワーク機器と関連付けられたユーザとの間の長期の通信が、任意のユーザ問題を効率的で完全な解決に導くのに役立ち、クライアントの目的(例えば、ユーザ満足や購入や度重なるウェブアクセス)を助長し、かつ/または肯定的なユーザ感情を助長することが予測できる場合に満たされるように構築される。
【0171】
[00187]条件は、クライアントによって定義された条件、一般的に定義され、かつ/または学習された条件を含むことができる。例えば、どの確立された継続チャネルがユーザアクション(もしくはエージェントアクション)によって打ち切られたか、1もしくは複数の継続チャネルの使用の頻度、および/または継続チャネルの使用中もしくは使用の合間もしくは使用後のユーザ感情、ウェブアクセス、購入決定などのモニタリングに基づいて条件を生成し、または変更するために学習アルゴリズムが確立される。
【0172】
[00188]条件は、メッセージ、入力またはアカウントデータと関連した特性に関するものであってよい。条件は、例えば、特性を比較することができる1もしくは複数の閾値および/または特性を比較することができる1もしくは複数の値を含む。例えば、条件は、ユーザの感情スコアが連続メッセージの終了時に80%を上回った場合、およびユーザのアカウントデータが、ユーザは確立された継続チャネルのうちの3つまたは80%の大きい方を、それを上回って終了していないことを指示する場合に満たされることを指示する。
【0173】
[00189]ある場合には、条件は、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、および継続通信パラメータのいずれか1つに関するものである(さらなる考察については
図14を参照されたい)。例えば、会話パラメータが、ネットワーク機器と端末機器との間で通信された一連のメッセージ(例えば、ある話題に関する会話)が肯定極性を有することを指示する場合、継続チャネル規則の条件は満たされる。
【0174】
[00190]ブロック915で、特性が、一連のメッセージ内の1もしくは複数のメッセージ、入力またはアカウントデータに基づいて、インタラクション管理エンジンなどによって決定される。例えば、特性は、1もしくは複数のメッセージの感情、単一もしくは複数のメッセージに基づいて導出された感情スコア、一連のメッセージの間の感情スコアの変化、メッセージもしくは一連のメッセージに対応する問題解決段階、および/または一連のメッセージの間の問題解決段階の変化を指示する極性(例えば、否定、中立、肯定など)を含むことができる。別の例として、特性は、他方の機器との継続チャネルの確立を要求するネットワーク機器または端末機器で入力が受け取られたかどうかについての指示を含むこともできる。さらに別の例として、特性は、ユーザが典型的にメッセージを送信する時間を指示するユーザに対応するアカウントデータと、典型的な可用性の時間を指示するエージェントに対応するアカウントデータとの間の一致の程度に基づくものとすることもできる。さらに別の例として、特性は、(例えば、特定のクライアントもしくは任意のそのようなチャネルに関係する)ネットワーク機器を含めるために確立された1つ、複数またはすべての継続チャネルの使用の頻度もしくは回数、および/または(例えば、特定のクライアントもしくは任意のそのようなチャネルに関係する)ネットワーク機器を含めるために確立された1つ、複数またはすべての継続チャネルの打ち切りの割合もしくは回数を反映することもできる。
【0175】
[00191]ブロック920で、判定が、特性に基づいて規則の条件が満たされているかどうかに関して、インタラクション管理エンジンなどによって行われる。判定は、例えば、1もしくは複数の特性値の各々を対応する閾値と比較すること、および/または特性が特定の値(例えば、カテゴリ値や数値)と一致するかどうか判定することを含む。
【0176】
[00192]条件が満たされていると判定された場合、プロセス900はブロック925に進むことができ、そこで継続チャネルが、ネットワーク機器と端末機器との間で、インタラクション管理エンジンなどによって確立される。継続チャネルを確立することは、ネットワーク機器が後続の連続メッセージの間に同じ端末機器と通信できるよう助長するために、1もしくは複数の命令通信を送信すること、および/またはデータを記憶することを含むことができる。
【0177】
[00193]例えば、接続管理システムがネットワーク機器から分離されている場合、インタラクション管理エンジンは、端末機器、エージェント、および/または継続チャネル命令に関するデータをネットワーク機器に送信することができる。接続管理システムが少なくとも部分的にネットワーク機器上で動作している場合、インタラクション管理エンジンは、端末機器またはエージェントに関するデータを受信し、または既に受信している場合もある。端末機器および/またはエージェントのデータを使用して、次いでネットワーク機器は、一部または全部の後続のクライアントと関連付けられた通信を端末機器にアドレス指定する。例示として、ある場合には、特定の(例えば、クライアントと関連付けられた)ウェブサイトを介して一部が生成されたユーザからの任意のメッセージが端末機器にアドレス指定される。別の例として、アプリはエージェントを識別し、またはユーザに新しいエージェントを要求させ、エージェントの選択に対応して生成されたすべてのメッセージが端末機器にアドレス指定される。
【0178】
[00194]別の例として、ネットワーク機器から送信された通信中の宛先データは、継続チャネル確立の影響を受けなくてもよい。代わりに、そのような通信を受信する宛先機器は、ルーティングにバイアスをかけ、条件付きでルーティングし、またはクライアントと関連付けられた通信をネットワーク機器から端末機器に常に経路指定するプロトコルを実施する。よって、継続チャネルを確立することは、ネットワーク機器(また例えば、端末機器と関連付けられたクライアント)に関係するルーティングプロトコルを生成または更新することを含むことができる。
【0179】
[00195]継続チャネルを確立することは、クライアントと関連付けられたすべてのメッセージが端末機器にルーティングされる結果となりうるが、(実施形態によっては)必ずしもそうとは限らない。例えば、そのようなルーティングは、ユーザがチャネルを選択する入力を最初に提供していること、またはチャネルと関連付けられたコンテキストでメッセージを生成していることを必要とする。別の例として、チャネルは、所与の話題または問題に対する適用性といった、特定の適用性を有する。よって、メッセージは、メッセージが話題または問題に関連すると判定したときに、端末機器に選択的にルーティングされる。
【0180】
[00196]ブロック930で、チャネルが確立されたことを指示する、識別子を含むプレゼンテーションが、インタラクション管理エンジンなどによって生成される。識別子は、端末機器と関連付けられたエージェントを識別する。識別子は、例えば、エージェントの写真、名前、専門知識の識別子、および/または役職を含む。プレゼンテーションは、特定のメッセージをエージェントに宛先指定するようにユーザが選択できるオプションを含む。プレゼンテーションはまた、継続チャネルを打ち切るオプション、および/または、端末機器を優先するようルーティングにバイアスをかけない宛先指定なしのメッセージを送信するオプションといった、1または複数の他のオプションも含む。プレゼンテーションは動的であってもよく、例えば、エージェントの現在のリアルタイムの可用性状況を反映してもよい。
【0181】
[00197]条件が満たされていないと判定された場合、プロセス900はブロック935に進むことができ、そこでネットワーク機器から異なる端末機器への後続メッセージのルーティングを、インタラクション管理エンジンなどによって円滑に行わせることができる。異なる端末機器は、例えば、可用性に基づき、プロセス800の一部または全部を使用して、より多くのエージェント経験、異なるエージェントスキルおよび/または異なるエージェントの役職と関連付けられた端末機器を優先するようバイアスがかかるように選択することができる。
【0182】
[00198]ある場合には、ブロック935を行う前に、後続メッセージを異なる端末機器にルーティングすることができ、またはルーティングされることを指示する通知が、ネットワーク機器に送信される。通知は、異なる端末機器および/または関連付けられたエージェントに関する情報を含むことができるが、そうでなくてもよい。通知には、提案の再ルーティングを続行するよう求める要求および/または提案の再ルーティングを続行しないよう求める命令に対応する選択するオプションが添付される。ブロック935は次いで、場合によっては、(例えば、再ルーティングを続行するよう求める要求を受信したときに限り、または再ルーティングを続行しないよう求める命令が受信されない限り)条件付きで行われる。
【0183】
[00199]プロセス900の一部または全部は、様々な実施形態において、ネットワーク機器と端末機器との間のセッション中またはその後に行われる。よって、例えば、ある場合には、ブロック935は、セッション中の再ルーティングメッセージに対応し、そのため、ネットワーク機器がセッションの終了時に通信している端末機器は、ネットワーク機器がセッションの開始時に通信した端末機器と異なる。
【0184】
[00200]
図10に、索引に基づいて電子メッセージを端末機器に動的にルーティングするためのプロセス1000の一実施形態の流れ図を示す。プロセス1000は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス1000はブロック1005から開始し、そこでメッセージ評価エンジン(例えば、
図6のメッセージ評価エンジン615)は、1または複数のインタラクションにおける1または複数のメッセージの索引データにアクセスする。索引は、
図7のプロセス700のブロック730に従って設定された1または複数の索引を含むことができる。
【0185】
[00201]ブロック1010で、1または複数のメッセージの1または複数の特性を、メッセージ評価エンジンなどによって決定することができる。(1または複数の)特性は、1または複数のメッセージと関連付けられた話題、感情、または極性に対応させることができる。1または複数のメッセージは、ネットワーク機器と端末機器との間の連続通信内の1または複数のメッセージを含むことができる。端末機器は、クライアントと関連付けられた端末機器を含むことができる。1または複数のメッセージは、ネットワーク機器、端末機器、またはその両方によって送信された1または複数のメッセージを含むことができる。
【0186】
[00202]1または複数の特性は、例えば、(1もしくは複数の)メッセージ内のコンテンツ、(1もしくは複数の)メッセージと関連付けられたデータ(例えば、1もしくは複数のメッセージを含む通信に含まれる)、ならびに/またはネットワーク機器および/もしくは端末機器で受け取られた1もしくは複数の入力に基づいて決定することができる。例えば、端末機器は、ネットワーク機器からメッセージを受信すると、エージェントに、潜在的話題および/または感情のリストの中からメッセージについての1または複数の話題および/または感情を選択するように促す。別の例として、ユーザは、通信が送信される前にメッセージの話題を識別するように促され、選択はメッセージを含む通信内で識別される。別の例としては、本明細書で開示するメッセージ解析技術を使用して、話題および/または感情が自動的に(例えば、人間の支援なしで)検出される。ある場合には、1または複数の特性は、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、または継続通信パラメータのいずれかに基づくものとすることもできる(さらなる考察については
図14を参照されたい)。
【0187】
[00203]ある場合には、(1または複数の)特性は、特定の時間における、または特定のメッセージに関係する話題や感情といった、静的な特徴付けに関連するものである。ある場合には、(1または複数の)特性は、連続メッセージの間に話題または感情が変化したかどうか、変化した程度、および/またはどのように変化したかといった、差分特性に関連するものである。ある場合には、(1または複数の)特性は、連続メッセージの異なる部分と関連付けられた話題または感情の範囲といった、高レベルの特徴付けに関連するものである。ある場合には、感情対応特性は、異なる端末機器に通信を再ルーティングするよう求める要求に対応する(例えば、ネットワーク機器または端末機器からの)入力が受け取られたかどうかを含む。
【0188】
[00204]ブロック1015で、再ルーティング規則からの再ルーティング条件が、1または複数の特性に基づいて、インタラクション管理エンジンなどによって評価される。一般に、ルーティング条件は、ユーザが連続通信に満足していない、もしくは満足しないであろう、連続通信が目標の問題解決段階に向かって前進しておらず、もしくは所望の進捗より進み方が遅い、またはエージェントが連続通信に満足していない、もしくは満足しないであろうと推定できる場合に満たされるように構築される。評価は、例えば、1または複数の特性値の各々を対応する閾値と比較すること、および/または特性が特定の値(例えば、カテゴリ値や数値)と一致するかどうか判定することを含む。
【0189】
[00205]再ルーティング条件は、クライアントによって定義された条件、一般的に定義された条件、および/または学習された条件を含むことができる。例えば、どの確立された連続メッセージがユーザアクション(もしくはエージェントアクション)によって打ち切られたか、および/または連続メッセージの間のユーザ感情、ウェブアクセス、購入決定などのモニタリングに基づいて再ルーティング条件を生成し、または変更するために学習アルゴリズムが確立される。
【0190】
[00206]ある場合には、再ルーティング条件は、
図9のプロセス900のブロック920で評価された継続チャネル条件に対して相補的である。例えば、条件は、感情スコアが閾値を下回る場合には連続メッセージの間にメッセージが再ルーティングされ、感情スコアが閾値を上回ったままであり、または上回る場合には連続メッセージの後で継続チャネルが確立されるように構築される。ある場合には、継続チャネルを確立する条件は、再ルーティング条件の補完条件よりも制限的である。例えば、感情スコアが50%を超えて減少しない限り、再ルーティングは回避されるが、感情スコアが連続メッセージにおいて少なくとも20%増加すると、継続チャネルが確立される。
【0191】
[00207]ブロック1020で、再ルーティング条件が評価に基づいて満たされているかどうかの判定が、インタラクション管理エンジンなどによって行われる。再ルーティング条件が満たされていないと判定された場合、プロセス1000はブロック1015に戻ることができる。
【0192】
[00208]再ルーティング条件が満たされていると判定された場合、プロセス1000はブロック1025に進むことができ、そこでインタラクション管理エンジンなどによって新しい端末機器を選択することができる。新しい端末機器は、例えば、可用性に基づき、
図8のプロセス800の一部または全部を使用して、より多くのエージェント経験、(例えば、最近の通信交換の話題に対応する)異なるエージェントスキルおよび/または異なるエージェントの役職と関連付けられた端末機器を優先するようバイアスがかかるように選択することができる。
【0193】
[00209]ブロック1030で、動的メッセージクロニクルを、メッセージ評価エンジン(例えば、
図6のメッセージ評価エンジン615)などによって生成することができる。例えば、メッセージの初期セットを識別することができる。このセットは、単一の一連のメッセージ(および/またはセッション)内のメッセージ、場合によっては、(例えば、単一の端末機器または複数の端末機器との)複数の一連のメッセージからのメッセージを含むことができる。ある場合には、メッセージは、単一のクライアントと関連付けられたメッセージを含むことができる。メッセージは、ネットワーク機器からもっぱら送信されたメッセージ、1つ(または複数)の端末機器によってもっぱら送信されたメッセージ、またはそれらの組み合わせを含むことができる。
【0194】
[00210]
ある場合には、メッセージクロニクルは、1または複数の選択索引に対応するメッセージを含めることができるという点で目標を絞ることができる。目標を絞ったメッセージクロニクルを生成することは、メッセージのセットをフィルタリングすることを含む。例えば、特定の話題、感情(もしくは感情の範囲)、問題解決段階(もしくはその範囲)、および/または期間と関連付けられた索引と関連付けられたメッセージが、クロニクルに含めるために選択される。
【0195】
[00211]ある場合には、クロニクルのサイズが制限され、または指定される。例えば、規則は、クロニクルが10メッセージ以下、300語以下、または2000文字以下を含むべきであることを指示する。クロニクルは、ソートされ、かつ/または多次元であってもよい。例えば、クロニクルの次元は、所与のメッセージがネットワーク機器からのものか、それとも端末機器からのものか指示し、メッセージは送信時間に従ってソートされる。これにより、メッセージを、発信元機器に基づいて、所与の表示側で示差的に提示することが可能になる。次元の他の例には、問題識別子、話題、連続メッセージ識別子などを含めることができる。
【0196】
[00212]メッセージクロニクルは、1または複数の新しいメッセージがクロニクルに動的に追加されるという点で動的である。例えば、新しいメッセージは、受信時にメッセージクロニクルに付加される(これは、クロニクルプレゼンテーションの終了時にメッセージが上/下または右/左に表示されることを指示しうるが、そうでなくてもよい)。新しいメッセージを追加することは、(メッセージ数、単語数、または文字数の制約条件の任意の組み合わせに従うように)クロニクル内の1または複数の他のメッセージを削除することを必要とし、または削除することになりうるが、そうでなくてもよい。
【0197】
[00213]ブロック1035で、動的メッセージクロニクルの(例えば、新しい端末機器における)プレゼンテーションが、インタラクション管理エンジンなどによって円滑に行われる。例えば、メッセージクロニクルの表現がローカルに提示され、メッセージクロニクルの表現を含むプレゼンテーションが新しい端末機器に送信され、またはメッセージクロニクルのデータのプレゼンテーションが新しい端末機器に送信される。
【0198】
[00214]ブロック1030~ブロック1035は、一部または全部が繰り返し行われることが理解されよう。例えば、再ルーティングが行われる前に、新しいメッセージが受信された場合、動的メッセージクロニクルは、(例えば、メッセージクロニクルの新しいバージョンもしくは変更されたバージョンをローカルに生成することによって、または受信側機器においてメッセージをクロニクルと統合させるように提示する機器にメッセージを送信することによって)新しいメッセージを含めるように更新される。次いで、新しいメッセージを含めるようにプレゼンテーションを更新することができる。
【0199】
[00215]その間に、新しいメッセージを、端末機器との連続メッセージに最初に参加する端末機器に送信することもできる。よって、2つの端末機器は、再ルーティング条件が満たされたと判断してから再ルーティングプロセスを完了するまでの間に、1または複数のネットワーク機器通信を受信することになる。よって、通信は、各機器に到達するように(例えば、インタラクション管理エンジンによって)複製される。この戦略により、新しい端末機器と関連付けられたエージェントは、ユーザが関係する詳細、問題、質問などを再度説明する必要を低減するように、進行中の連続メッセージを参加する前に検討することが可能になる。
【0200】
[00216]ブロック1040で、再ルーティング通知が、メッセージ送信側インターフェース(例えば、
図6のメッセージ送信側インターフェース660)などによって、ネットワーク機器に、または(例えば、メッセージ送信側インターフェース660がネットワーク機器でローカルに動作している場合は)ディスプレイに送信される。再ルーティング通知は、後続メッセージを新しい端末機器にルーティングでき、または後続メッセージが新たな端末機器にルーティングされることを指示することができる。通知は、新しい端末機器および/または関連付けられたエージェントに関する情報を含むことができるが、そうでなくてもよい。通知には、提案の再ルーティングを続行するよう、かつ/または提案の再ルーティングを続行しないよう選択するオプションが添付される。
【0201】
[00217]ブロック1045で、1または複数の後続メッセージを、端末ルーティングエンジン(例えば、
図6の端末ルーティングエンジン650)などによって、新しい端末機器に宛先指定することができる。これら1または複数の後続メッセージは、新しい端末機器が応答するように割り当てられたメッセージおよび/または連続メッセージに最初に関与した端末機器が受信しないメッセージを含むことができる。宛先指定することは、ルーティングプロトコルおよび/またはタスク割り当てプロトコルを更新することを含むことができる。
【0202】
[00218]宛先指定することは、連続メッセージに最初に関与した端末機器をメッセージに応答するタスクから解放することを含む。この解放は、例えば、ネットワーク機器に宛先指定された新しい端末機器からのメッセージを検出したこと、動的メッセージクロニクルの送信もしくはプレゼンテーションから定義された期間が経過したことを検出したこと、関連付けられた機器がインタラクションに参加する用意ができたことを指示する異なる端末機器からの通信を検出したことなどに応答して行われる。端末機器を解放することは、ネットワーク機器から端末機器への新しいメッセージの送信を中止することを含む。ある場合には、規則は、(例えば、要求された場合に情報を提供するように端末機器と関連付けられたエージェントを用意させるためや、インタラクションが新しい端末機器と関連付けられたエージェントによってどのように処理されるか見守るために)端末機器がインタラクションと関連付けられたメッセージを引き続き受信すべきであることを指示する
【0203】
[00219]ブロック1045は次いで、場合によっては、(例えば、再ルーティングを続行するよう求める要求を受信したときに限り、再ルーティングを続行しないよう求める命令が受信されない限り、かつ/または宛先指定が行われるよう要求する新しい端末機器と関連付けられたエージェントからの指示を受信したときに限り)条件付きで行われる。
【0204】
[00220]
図11に、一貫性および待ち時間変数に基づいて電子メッセージを動的にルーティングするためのプロセス1100の一実施形態の流れ図を示す。プロセス1100は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス1100はブロック1105から開始することができ、そこでメッセージ受信側インターフェース(例えば、
図6のメッセージ受信インターフェース605)はネットワーク機器からのメッセージを受信する。メッセージは、新しい一連のメッセージまたはセッションを開始するメッセージを含むことができる。
【0205】
[00221]ブロック1110で、メッセージが1または複数の特定のクライアントと関連付けられているという判定が、クライアント・マッピング・エンジン(例えば、
図6のクライアント・マッピング・エンジン640)などによって行われる。ある場合には、この判定は、クライアントに対応する識別子(例えば、クライアント、製品、サービス、ウェブページ、またはアプリページの識別子)に基づくものとすることができる。識別子は、(例えば、クライアント・マッピング・エンジンが宛先指定する)メッセージの一部として含めることもでき、メッセージを含む通信内の他のデータとして含めることもできる。例えば、ユーザ機器で提示される(例えば、ウェブページまたはアプリページ内の)インターフェースは、メッセージが選択されたクライアントに関連するものであり、または選択されたクライアントに宛先指定されるべきであることを指示するためにユーザが特定のクライアント(または製品またはサービス)を選択することを可能にする。次いで、ユーザによって指定されたメッセージを、(例えば、1または複数の通信によって)選択と関連付けて送信することができる。識別子は、クライアントに関する追加データおよび/またはクライアントの識別子を読み出すために、クライアント・データ・ストア(例えば、
図6のクライアント・データ・ストア645)において、クライアント・マッピング・エンジンなどによって探索することができる。
【0206】
[00222]ブロック1115で、端末機器が、ネットワーク機器と以前に通信した1または複数のクライアントと関連付けられているものとして、インタラクション管理エンジンなどによって識別される。ある場合には、端末機器は、ネットワーク機器が関与する継続チャネルと関連付けられた端末機器を含むことができる。ある場合には、端末機器は、ネットワーク機器との現在または以前のメッセージ交換に関与している端末機器を含むことができる。
【0207】
[00223]ブロック1120で、端末機器とネットワーク機器との間の以前の連続メッセージに対応する最後のセッションと関連付けられたメッセージの話題、感情または解決段階が、インタラクション管理エンジンなどによって解析される。話題および/または感情は、例えば、(例えば、本明細書に記載する技術に従って、
図7のプロセス700の一部もしくは全部などによって設定された)索引データを読み出すことによって、または(例えば、本明細書に記載する技術に従って)話題もしくは感情を判定するように格納されたメッセージもしくはメッセージメタデータを解析することによって識別することができる。
【0208】
[00224]ある場合には、解析は、感情(例えば、平均感情スコアや最終感情カテゴリ)および/または感情の変化が閾値を超え、かつ/または値と一致するかどうか判定することを含むことができる。感情は、ネットワーク機器と関連付けられたユーザまたは端末機器と関連付けられたエージェントの(例えば、エージェントまたはユーザからの明示的な感情を識別する入力によって)推測され、または識別された感情を含むことができる。ある場合には、解析は、ブロック1105で受信されたメッセージに対応する話題が、最後のセッションにおける任意の、もしくは閾値数のメッセージに、または最後のセッション全般にも対応した話題かどうか判定することを含むことができる。ある場合には、以前のメッセージの問題解決段階は、(例えば、前進したと受け止められたか、それとも後退したと受け止められたか判定するために)受信メッセージに対応する問題解決段階に関して解析される。ある場合には、解析は、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、および継続通信パラメータのいずれか1つの評価を含むことができる(さらなる考察については
図14を参照されたい)。
【0209】
[00225]ブロック1120で行われる解析は、追加の特徴または代替の特徴に関連するものとすることができることが理解されよう。例えば、以前のメッセージと関連付けられた通信チャネルの種類を、受信メッセージの通信チャネルの種類と比較して、それらが同じであるかどうか判定することができる。
【0210】
[00226]ブロック1125で、解析がメッセージは新しい(すなわち、異なる)端末機器にルーティングされるべきであることを指示するかどうかの判定が、インタラクション管理エンジンなどによって行われる。判定は、(一般的な、またはクライアント固有の)ルーティング規則の条件を評価することによって行うことができる。
【0211】
[00227]一般に、再ルーティング条件は、端末機器と関連付けられたユーザもしくはエージェントは連続通信に満足するであろう、連続通信は目標問題解決段階に向かって前進するであろう、連続通信は目標速度で、もしくはそれよりも速く目標問題解決段階に向かって前進するであろう、および/または端末機器と関連付けられたエージェントはネットワーク機器通信で提起された問題に関して知識を有するであろうと推定できる場合に満たされるように構築される。
【0212】
[00228]判定は、ブロック1120で識別された変数(例えば、感情スコアや感情スコアの変化)が閾値を超えるかどうか、またはブロック1120からの解析結果が、閾値を上回る、受信メッセージの話題と最後のセッションのメッセージの話題との一致もしくは一致スコアを識別するかどうか判定することを含むことができる。
【0213】
[00229]ある場合には、判定は、ネットワーク機器と端末機器との間に継続チャネルが確立されているかどうかに依拠して行うことができる。例えば、継続チャネルが存在する場合、プロセス1100がブロック1125からブロック1130bに進むべきであることを指示する。
【0214】
[00230]ルーティング条件は、クライアントによって定義された条件、一般的に定義され、かつ/または学習された条件を含むことができる。例えば、学習アルゴリズムは、どの以前の一貫したルーティングの試みがユーザアクションによって打ち切られたか、リアルタイムではない非同期通信交換の開始が(例えば、特定のユーザやユーザのセットの)感情にどのように影響を及ぼしたかなどに基づいてルーティング条件を生成し、または変更するように確立される。
【0215】
[00231]メッセージが新しい端末機器にルーティングされるべきであると判定されると、プロセス1100はブロック1130aに進み、そこで新しい端末機器がインタラクション管理エンジンなどによって選択される。
【0216】
[00232]新しい端末機器は、例えば、(例えば、一般的な、現時点での、かつ/もしくは受信メッセージの通信の種類に対応する通信の種類に関する)可用性、および/または機器と関連付けられたエージェントの知識ベース、スキル、もしくは役職に基づき、
図8のプロセス800の一部または全部を使用して選択することができる。
【0217】
[00233]ブロック1135で、新しいエージェント選択の通知が、メッセージ送信側インターフェース(例えば、
図6のメッセージ送信側インターフェース660)などによって、ネットワーク機器および/または新しい端末機器に送信される。通知は、後続メッセージを新しい端末機器にルーティングすることができ、または後続メッセージが新しい端末機器にルーティングされることを指示することができる。通知は、新しい端末機器、新しい端末機器と関連付けられたエージェント、ネットワーク機器、ネットワーク機器と関連付けられたユーザ、および/またはメッセージに関する情報を含むことができるが、そうでなくてもよい。通知は、ネットワーク機器が以前に通信した相手先の端末機器には通信が送信されないという指示を含む。通知は、端末機器および/または関連付けられたエージェントに関する情報を含む。通知には、提案の再ルーティングを続行するよう求める要求および/または提案の再ルーティングを続行しない(また例えば、ブロック1115で識別された端末機器に通信をルーティングする)命令に対応する選択するオプションを伴う。
【0218】
[00234]ブロック1140aで、新しい(例えば、継続的または非継続的な)接続チャネルを開始することができ、ネットワーク機器と新しい端末機器との間の通信交換を、インタラクション管理エンジンなどによって円滑に行わせることができる。ブロック1140aには、例えば、メッセージを新しい端末機器に送信すること、(例えば、同じ連続メッセージ内の)ネットワーク機器からの新しいメッセージを新しい端末機器にルーティングすること、新しい端末機器からのメッセージをネットワーク機器にルーティングすること、および/またはネットワーク機器もしくは新しい端末機器に関係する情報(例えば、アドレス、IPアドレス、電話番号、アカウントデータなど)を他方の機器に提供することなどが含まれる。ある場合には、ネットワーク機器を新しい端末機器と関連付けるようにルーティングプロトコル(例えば、セッションもしくは連続メッセージもしくはより持続的な連続メッセージに固有の)および/またはタスク割り当てが更新される。
【0219】
[00235]ブロック1140aは、場合によっては、(例えば、新しい機器へのルーティングを続行するよう求める要求を受信したときに限り、提案の新しい機器ルーティングを続行しないよう求める命令が受信されない限り、かつ/または宛先指定が行われるよう要求する新しい端末機器と関連付けられたエージェントからの指示を受信したときに限り)条件付きで行われる。
【0220】
[00236]メッセージが新しい端末機器にルーティングされるべきではないと判定された場合、プロセス1100はブロック1130bに進み、そこで、端末機器と関連付けられたエージェントが対応できるかどうかの判定が、端末ルーティングエンジン(例えば、
図6の端末ルーティングエンジン650)などによって行われる。判定は、端末機器の状況(例えば、オンラインであるかオフラインであるか)を識別すること、および/または(例えば、通信交換に参加するために)端末機器に割り当てられたタスク割り当てに関係する値が閾値を超えているかどうか判定することを含むことができる。値には、例えば、割り当てられたタスクの数、端末機器が1つ(もしくは別の数、例えば、1に無人の割り当てタスクの数を加えた数)のタスクの割り当てを完了するのに要する予測時間、および/またはタスク割り当て(例えば、割り当て全体の合計または平均)に基づく推定作業負荷を含むことができる。閾値は、一般的な規則、クライアント固有の規則、端末機器固有の規則、(定義された割合のユーザが交換を打ち切ることなくリアルタイムの通信交換において許容する値を識別する)学習技術に(少なくとも一部は)基づいて定義された規則などといった、規則内で定義される閾値とすることができる。
【0221】
[00237]ブロック1130bの判定は、エージェントがメッセージにリアルタイムで、かつ/またはわずかな遅延で(例えば、3分未満、1分未満、30秒未満もしくは10秒未満で)応答を提供するために対応できるかどうか判定することを含むことができる。判定は、例えば、エージェントと関連付けられた端末機器からの(例えば、任意の種類の、もしくは特定の種類の)最新の通信を検出した時間、記憶されたエージェントの就業時間、エージェントが現在通信タスクを割り当てられているかどうかの判定、任意の現在の通信タスク割り当ての数量および/もしくは種類の判定、端末機器に送信された可用性問合せ通信に応答して肯定的応答が受信されたかどうかの検出、ならびに/または(例えば、リモートモニタリングによる)端末機器の状態もしくはアクティビティの検出に基づくものとすることができる。
【0222】
[00238]エージェントが対応できないと判定された場合、プロセス1100はブロック1132に進み、そこで応答待ち時間が、端末ルーティングエンジンなどによって予測される。応答待ち時間は、例えば、エージェントに現在割り当てられている通信タスク割り当ての数、複雑さ、および/または予測関与時間に基づいて(例えば、関与時間を一般的に予測する、もしくは、クライアント、話題、期間、問題の種類、エージェントなどについて限定して予測する経験データに基づいて)予測される。応答待ち時間の予測は、加えて、または代替として、エージェントの就業時間、現地時間、および/または予測によって提供された遅延推定値に基づくものとすることもできる。
【0223】
[00239]ブロック1134で、より短い待ち時間の方がエージェント一貫性より重要であるかどうかの判定が、インタラクション管理エンジンなどによって行われる。判定は、規則に従って行われる。例えば、規則は閾値を指定し、予測応答待ち時間が閾値を超えた場合により短い待ち時間の方がエージェント一貫性より重要であることを指示する。閾値は、一般的であっても、クライアント、ユーザ、期間、問題の種類、話題、通信の種類などのうちの1または複数に固有のものであってもよい。閾値は、例えば、クライアントまたはユーザによって定義され、または学習される。例えば、機械学習技術は、応答待ち時間が閾値を超えた場合に連続メッセージを放棄する所与のユーザの割合に対応する閾値を識別する。
【0224】
[00240]ある場合には、ネットワーク機器において提示されるようにユーザにルーティングオプションを知らせる通知が生成される。通知は、以前のエージェントおよび予測応答待ち時間を識別する。通知は、場合によっては、以前のエージェントまたは新しいエージェントと通信するのに使用されうる1または複数の通信チャネルの種類も識別する。通知は、逆の指示がない場合に(例えば、以前のエージェントに対する、または新しいエージェント対する)デフォルトのルーティング戦略を識別することができるが、そうしなくてもよい。通知は、通信が新しいエージェントと関連付けられたネットワーク機器にルーティングされるべきであることを指示するためのオプション、および/または通信が新しいネットワーク機器にルーティングされるべきであることを指示するためのオプションを含む。ブロック1134の判定は、この種の通知に応答して受け取られた任意のユーザ入力に従って行われる。
【0225】
[00241]より短い待ち時間の方がエージェント一貫性より重要であると判定された場合、プロセス1100はブロック1130aに進む。より短い待ち時間の方がエージェント一貫性より重要でないと判定された場合、プロセス1100はブロック1140bに進み、そこで、接続チャネルが再開され、ネットワーク機器と端末機器との間の通信交換が、インタラクション管理エンジンなどによって円滑に行われる。エージェントが対応できると判定された場合、プロセス1100はブロック1140cに進み、そこで、接続チャネルが再開され、ネットワーク機器と端末機器との間のリアルタイムの通信交換が、インタラクション管理エンジンなどによって円滑に行われる。
【0226】
[00242]ブロック1140bおよび1140cの一方または両方が、例えば、メッセージを端末機器に送信すること、(例えば、同じ連続メッセージ内の)ネットワーク機器からの新しいメッセージを端末機器にルーティングすること、端末機器からのメッセージをネットワーク機器にルーティングすること、および/またはネットワーク機器もしくは端末機器に関係する情報(例えば、アドレス、IPアドレス、電話番号、アカウントデータなど)を他方の機器に提供することなどによって、通信交換を円滑に行わせることを含むことができる。ある場合には、ルーティングプロトコル(例えば、セッションもしくは連続メッセージもしくはより持続的な連続メッセージに固有の)および/またはタスク割り当てが、ネットワーク機器を端末機器と関連付けるように更新される。
【0227】
[00243]ブロック1140bとブロック1140cとの区別は、端末機器がネットワーク機器メッセージにどれほど迅速に応答するかの期待に関連するものである。ブロック1140cに関して、応答は、迅速に、かつ/またはリアルタイムで受信されることが期待できる。例えば、端末機器は1分、3分または5分以内にネットワーク機器メッセージに応答することが予期される。一方、ブロック1140bでは、より長い遅延が予期される。
【0228】
[00244]予測応答待ち時間の区別により、場合によっては、ブロック1140bで円滑化される通信交換は、ブロック1140cで円滑化される通信交換とは異なる種類のものになりうる。例えば、ブロック1140cで円滑化される通信交換には、オンラインチャットや通話が含まれ、ブロック1140bで円滑化される通信交換には、SMSメッセージ交換、アプリベースのメッセージ交換、または電子メールチェーンが含まれる。ある場合には、ブロック1140bで円滑化される通信交換の種類には非同期交換を含むことができ、非同期交換では、ユーザとエージェントとが同時に、または同じ期間中に交換に関与しなくてよい(が、ブロック1140cで円滑化される交換ではそのような同時関与が予期されている)。非同期交換には、例えば、インスタントメッセージやチャットとは異なる(例えば、アプリ、ウェブベースのメッセージ/受信ボックスシステム、電子メールによる)電子メッセージ交換を含むことができる。非同期交換は、宛先機器が、メッセージが提示されるよう要求し、またはキューもしくは受信ボックスに対応するウェブページもしくはアプリページを訪問するまで送信されたメッセージがメッセージキューまたは受信ボックスに格納されるような方法でメッセージを通信することを含むことができる。
【0229】
[00245]
図12に、通信をルーティングするためのプロセス1200の一実施形態の流れ図を示す。プロセス1200は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス1200はブロック1205から開始することができ、そこでメッセージ受信側インターフェース(例えば、
図6のメッセージ受信インターフェース605)はネットワーク機器からの通信を受信する。通信はメッセージを含む。メッセージは、新しい一連のメッセージまたは通信セッションを開始する。通信は、コンテンツデータを含むことができる。ある場合には、コンテンツデータは、様々な情報(例えば、テキスト、画像、ビデオ、文書(.doc、.pdf、および他の適切な文書)など)を含む。コンテンツデータは、通信を送信するネットワーク機器で受け取られた入力に基づいて生成される。コンテンツデータはまた、通信に関連した、または通信と関連付けられた情報(例えば、IPアドレス、送信時間、受信時間、ネットワーク機器を操作するユーザと関連付けられたユーザ・プロフィール・データ、他の適切な情報)に基づいて生成することもできる。
【0230】
[00246]ブロック1210で、通信を受信すると、接続管理システム(例えば、接続管理システム150)は、通信をプライマリキュー(例えば、プライマリキュー180)に格納することができる。プライマリキューは、様々なネットワーク機器から受信した様々な通信を格納するデータ構造とすることができる。さらに、プライマリキューは、複数のキュー位置を含むことができる。ブロック1205で受信した通信は、複数のキュー位置のうちのキュー位置の1つに格納することができる。ある場合には、プライマリキューは、複数のキュー、またはデータを格納するための様々なデータ構造(例えば、キュー、データ木など)の組み合わせとすることもできる。
【0231】
[00247]ブロック1215で、通信はプライマリキューから読み出される。例えば、通信処理システム(例えば、通信処理システム182)がプライマリキューから通信を読み出す。ある場合には、通信処理システムは、通信を処理して、通信をどの(1または複数の)端末機器にルーティングすべきか決定するために通信を読み出す。
【0232】
[00248]ブロック1220で、通信は解析される。例えば、通信処理システムが通信を解析する。ある場合には、通信を解析することは、コンテンツデータを1または複数のキーワードについてパースすることを含む。例えば、キーワードは、テキストまたは句読点データの任意の組み合わせを含んでいてよいが、本開示はそれだけに限定されない。ある場合には、コンテンツデータをパースすることは、コンテンツデータ内の任意のテキストを抽出し、テキストを読み込んでテキストがキーワードを含むかどうかを判定することを含む。
【0233】
[00249]ある場合には、キーワードは1または複数のセカンダリキューに対応している。セカンダリキューは、接続管理システムに格納されている(プライマリキューと同様の)データ構造であってよい。例えば、1または複数のセカンダリキューは、特定のキーワードと関連付けられたキューである。非限定的な例として、セカンダリキューは、「password(パスワード)」という用語と関連付けられているとする。この例では、「password」という用語を含むと判定されたすべての通信が、「password」という用語と関連付けられたセカンダリキューに格納される。別の例として、通信が「I don’t know my password(パスワードがわかリません)」というテキストを含む場合。テキストに「password」というキーワードが含まれているかどうか判定するためにテキストをパースすることができる。この例では、通信に含まれるテキストは、「password」という用語を含むと判定される。したがって、通信は「password」というキーワードを含むため、パスワードは、「password」というキーワードと関連付けられたセカンダリキューに格納される。
【0234】
[00250]ある場合には、通信を解析することは、通信に1または複数のアンカが含まれているかどうか識別することを含むことができる。アンカは、否定極性、中立極性、または肯定極性と関連付けられたテキストまたは句読点の任意の組み合わせを含むことができる。アンカは、アンカが各クライアントに固有となるように、クライアント(例えば、クライアント125)が決定し、識別し、または生成することができる。他の場合には、アンカは、(例えば教師付き機械学習技術を使用して)以前の通信に基づいて自動的に決定されてもよく、クライアントごとに同じであってもよい。非限定的な例として、アンカは「don’t like(好きではない)」という句であり、これは否定極性と関連付けられている。アンカが識別されると、増幅用語についてアンカを囲むテキスト(例えば、文中の識別されたアンカ用語の近くの3~5語)を解析することができる。増幅用語は、極性(例えば、否定、中立、肯定)の強度を増加、維持、または減少させることができる。
【0235】
[00251]この例を続けて、「really(実際に)」という用語がアンカ「don’t like」の近くにある場合(例えば「I really don’t like(実際に好きではない)」のように)、「really」という用語は増幅用語として識別される。増幅用語を識別すると、通信処理システムは、通信と関連付けられた否定極性が高い強度を有すると判定することができる。この場合には、アンカの識別および関連付けられた増幅用語に基づいてメッセージパラメータを生成することができる。非限定的な例として、メッセージパラメータは、高い強度の否定極性を指示する数値とすることができる(例えば、0~100の段階で20のメッセージパラメータ、小さい数字で否定極性を示し、大きい数字で肯定極性を示す)。アルゴリズムを使用してメッセージパラメータを計算することができる。例えば、アルゴリズムは教師付き機械学習技術に基づくものである。別の例では、「kind of(どちらかといえば)」という用語がアンカ「don’t like」の近くにある場合(例えば、「I kind of don’t like(どちらかといえば好きではない)」のように)、「kind of」という用語は否定極性の中程度の強度を指示する増幅用語として識別される。この場合には、否定極性の中程度の強度の識別に基づいてメッセージパラメータを生成することができる。非限定的な例として、メッセージパラメータは、中程度の強度(例えば、20のメッセージパラメータに対して、40のメッセージパラメータ)の否定極性を指示する数値とすることができる。次のブロック(ブロック1225)で論じるように、場合によっては、メッセージパラメータを使用して、どのセカンダリキューが通信を格納すべきか決定することができる。
【0236】
[00252]ブロック1225で、通信は、キーワードと関連付けられたセカンダリキューに格納される。ある場合には、セカンダリキューは1または複数の端末機器に対応している。例えば、「password」というキーワードと関連付けられたセカンダリキューは、パスワードの問題を有するユーザと関わるように訓練されたエージェントによって操作される1または複数の端末機器に対応している。
【0237】
[00253]ある場合には、セカンダリキューは1または複数のセカンダリキューを含むことができる。さらに、ある場合には、セカンダリキューは極性と関連付けられている。例えば、セカンダリキューは、否定極性(例えば、本明細書で否定セカンダリキューと記載する)、中立極性(例えば、本明細書で中立セカンダリキューと記載する)、肯定極性(例えば、例えば、本明細書で肯定セカンダリキューと記載する)などのうちの1つまたは複数と関連付けることができる。別の例として、通信が高い強度の否定極性を指示するメッセージパラメータを有する場合、通信は、高い強度と関連付けられた否定セカンダリキューに格納される。例えば、否定極性と関連付けられた通信は、強度に関係なく否定セカンダリキューに一緒に格納され、または強度に基づいて別々の否定セカンダリキューに格納される。
【0238】
[00254]ある場合には、複数の通信(例えば、メッセージ)がセカンダリキューに格納されている場合、そのセカンダリキュー内の通信のキュー位置を様々な要因に基づいて再優先順位付けすることができる。例えば、セカンダリキューに格納されたメッセージのIPアドレスが高い優先度と関連付けられている場合、そのセカンダリキューに格納されたメッセージは、高い優先度と関連付けられたメッセージがキュー内でより先になる(例えば、他のメッセージより先に処理される)ように再配置される。
【0239】
[00255]ブロック1230で、(通信を格納する)セカンダリキューに対応する1または複数の端末機器に含まれる端末機器を識別することができる。例えば、通信処理システムは、通信を格納しているセカンダリキューに対応する1または複数の端末機器を識別することができる。次いで、通信処理システムは、様々な要因に基づいて、1または複数の端末機器のうちの1つを選択することができる。1または複数の端末機器の中からどの端末機器を選択すべきか考慮する場合に評価される要因の例には、(例えば、端末機器の)予測応答時間、可用性、不可用性、位置、端末機器と関連付けられたエージェントの知識ベース、ユーザプロフィールと関係する端末機器(例えば、通信と関連付けられたネットワーク機器と以前に通信した端末機器)、および他の適切な要因が含まれる。予測応答時間の例には、エージェントがネットワーク機器から受信した通信に応答するまで保留にする時間量、不可用性時間(例えば、エージェントが利用できない時間)などが含まれる。
【0240】
[00256]ある場合には、通信処理システムは、第1の端末機器と関連付けられた予測応答時間を閾値(例えば、定義された時間)と比較することができる。例えば、第1の端末機器の予測応答時間が閾値を超える(例えば、閾値以上である)場合、通信処理システムは、応答時間がより速い(例えば、予測応答時間が定義された閾値よりも低い)第2の端末機器を識別することができる。
【0241】
[00257]ブロック1235で、ブロック1230で識別された端末機器から読出し要求が受信される。読出し要求は、セカンダリキューに格納された通信へのアクセスを求める要求を示すデータを含む、識別された端末機器からの通信である。ある場合には、(例えば、ブロック1230で)端末機器を識別すると、(端末機器が通信を読み出すよう要求する代わりに)接続管理システムは通信を端末機器にルーティングする。
【0242】
[00258]ブロック1240で、セカンダリキューに格納された通信を、通信へのアクセスを要求する端末機器にルーティングすることができる。ある場合には、通信を識別された端末機器にルーティングすることは、識別された端末機器と、通信と関連付けられたネットワーク機器(例えば、最初に通信を送信したネットワーク機器)との間の通信を確立することを含む。
【0243】
[00259]接続管理システムでメッセージを受信すると、メッセージが特定の極性と関連付けられたセカンダリキューに格納される代わりに、端末機器に特定の極性(例えば、否定極性)と関連付けられたメッセージが通知されることが理解されよう。例えば、受信したメッセージが否定極性に対応する場合、(例えば、処理担当エージェントと関連付けられた)端末機器は、否定極性を有するメッセージの存在を指示するアラート通信を受信する。
【0244】
[00260]
図13は、タスクを行うプロセスの一実施形態を示す流れ図である。プロセス1300は、例えば、接続管理システム150、350、450、520、または600などの接続管理システムによって、その一部または全部を行うことができる。プロセス1300はブロック1305から開始することができ、そこでメッセージ受信側インターフェース(例えば、
図6のメッセージ受信インターフェース605)はネットワーク機器からの初期通信を受信する。初期通信はメッセージを含む。メッセージは、新しい一連のメッセージまたは通信セッションを開始する。通信は、コンテンツデータを含むことができる。ある場合には、コンテンツデータは、様々な情報(例えば、テキスト、画像、ビデオ、アップロードされた文書(.doc、.pdf、および他の適切な文書)など)を含む。コンテンツデータは、通信を送信するネットワーク機器で受け取られた入力に基づいて生成される。コンテンツデータはまた、通信に関連した、または通信と関連付けられた情報(例えば、IPアドレス、送信時間、受信時間、ネットワーク機器を操作するユーザと関連付けられたユーザ・プロフィール・データ、他の適切な情報)に基づいて生成することもできる。
【0245】
[00261]ブロック1310で、接続管理システムは、初期通信を使用して端末機器を識別する。 ある場合には、接続管理システムは、
図12のブロック1220からブロック1230に記載されるプロセスを使用して、端末機器を識別する(例えば、初期通信を解析する)。他の場合には、接続管理システムは、ブロック1310で、ネットワーク機器と以前に通信したことのある端末機器を識別する。さらに、端末機器は、クライアント(例えば、実体、クライアント125)と関連付けられている。ブロック1315で、接続管理システムは、(初期通信を送信した)ネットワーク機器と(ブロック1310で識別された)端末機器との間の通信リンクを確立する。ネットワーク機器と端末機器との間の通信リンクを確立することにより、ネットワーク機器と端末機器との間で通信(例えば、メッセージ)を伝達することが可能になる。
【0246】
[00262]ブロック1320で、接続管理システムは、ネットワーク機器と端末機器との間の通信セッションを円滑に行わせる。通信セッションは、異なる期間、ブラウザセッション、通信開始要求などと関連付けられた1または複数のセッションを含む。さらに、通信セッションは、確立された通信リンク(例えば、ブロック1315で確立された通信リンク)上でネットワーク機器と端末機器との間で通信(例えば、交換)される複数のメッセージを含む。通信セッションはまた、複数のネットワーク機器および/または複数の端末機器の間で通信されるメッセージを含むこともできる。
【0247】
[00263]ブロック1325で、接続管理システムは初期メッセージを受信することができる。ある場合には、初期メッセージは、通信セッションの一部の通信である。初期メッセージは、コンテンツデータを含む。
【0248】
[00264]ブロック1330で、接続管理システムは、初期メッセージの初期メッセージパラメータを生成する。初期メッセージパラメータは、
図12のブロック1220~ブロック1230で論じたように生成することができる。例えば、メッセージパラメータは、アンカおよび関連する増幅用語の識別に基づいて生成することができる。ある場合には、メッセージパラメータは、メッセージの極性(例えば、特性)を指示し、または表す。極性の例には、否定、肯定、中立、怒り、フラストレーションなどが含まれる。ある場合には、極性は複数の次元(例えば、複数の感情)を含む。例えば、極性は怒りの感情およびフラストレーションの感情に対応している。この例では、複数の次元を伴う極性を有するメッセージのメッセージパラメータは、複数の成分(例えば、怒りの感情を表す数値、およびフラストレーションの感情を表す別の数値)を含む。ある場合には、メッセージパラメータは、高い強度の否定極性を指示する数値とすることができる(例えば、0~100の段階で20のメッセージパラメータ、小さい数字で否定極性を示し、大きい数字で肯定極性を示す)。アルゴリズムを使用してメッセージパラメータを計算することができる。例えば、アルゴリズムは教師付き機械学習技術に基づくものである。メッセージパラメータは、メッセージの特性(感情、意図、極性など)(例えば、メッセージ特性)を示すことができる。
【0249】
[00265]ブロック1335で、接続管理システムは、通信セッションと関連付けられた複数のメッセージの会話パラメータを生成する。例えば、ユーザとエージェントとの間の特定の会話(例えば、メッセージのセット、サブセット、またはグループ)の会話パラメータを生成することができる。ある場合には、(複数の受信メッセージに対応する)複数のメッセージパラメータの組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、他の適切な組み合わせ)に基づいて会話パラメータを生成することができる。非限定的な例として、会話パラメータは、第1のメッセージ、第2のメッセージなどの指数移動和を計算することによって生成することができる。この例では、指数移動和は、時間的に1番目のメッセージパラメータを取得し、それに定義された係数を掛け、次いで時間的に2番目のメッセージパラメータ(例えば、追加メッセージパラメータ)を加えることによって計算することができる。定義された係数の一例は0.8とすることができるが、本開示はそれだけに限定されない。例えば、時間的に1番目のメッセージパラメータを(-1)とすることができ、時間的に2番目メッセージパラメータを(1)とすることができ、指数移動和を使用して計算される会話パラメータは、(-1)*0.8+(1)=0.2になる。
【0250】
[00266](例えば、会話パラメータを生成する場合に)2つ以上のメッセージパラメータを組み合わせるのに使用される技術は、決定されたメッセージの極性に基づいて異なりうることが理解されよう。例えば、2つのメッセージパラメータが各々否定極性に対応する場合には、2つのメッセージの会話パラメータを指数移動和(または任意の他の技術)を使用して計算することができ、一方、2つのメッセージが各々肯定極性に対応する場合には、2つのメッセージパラメータの会話パラメータを、2つのメッセージパラメータの平均値(または任意の他の技術)を使用して計算することができる。別の例として、第1のメッセージパラメータが肯定極性に対応し、第2のメッセージパラメータが否定極性に対応する場合には、2つのメッセージの会話パラメータを、重み付けされた組み合わせ(または任意の他の技術)を使用して計算することができる。
【0251】
[00267]ある場合には、会話パラメータは、(例えば、
図14で論じるように)新しいメッセージがネットワーク機器から受信される際にリアルタイムで更新することができる。ある場合には、会話パラメータは、会話(例えば、特定の話題に関するメッセージのグループなど)の会話特性(感情、意図、極性など)を示すことができる。
【0252】
[00268]ある場合には、ネットワーク機器パラメータが生成される(さらなる考察については
図14を参照されたい)。例えば、ネットワーク機器パラメータは、特定のネットワーク機器と関連付けられたすべての会話パラメータの組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、他の適切な組み合わせ)とすることができる。さらに、ある場合には、継続通信パラメータを生成することができる(さらなる考察については
図14を参照されたい)。例えば、継続通信パラメータは、複数のネットワーク機器と関連付けられたすべてのネットワーク機器パラメータの組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、他の適切な組み合わせ)とすることができる。
【0253】
[00269]ブロック1340で、タスクが、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、継続通信パラメータ、またはそれらの任意の組み合わせに基づいて行われる。メッセージパラメータまたは会話に基づいて行われるタスクの例には、通信を特定の端末機器にルーティングすること、(通信を送信した)ネットワーク機器との通信に最適な端末機器を選択すること、通信を別の端末機器に再ルーティングすること、ネットワーク機器との通信セッションに関与する端末機器とは異なる端末機器にアラート通信を送信すること(例えば、処理担当エージェントの端末機器にアラートを送信すること)、レポートを生成すること、および他の適切なタスクが含まれる。
【0254】
[00270]
図14は、継続通信パラメータを生成するためのプロセス1400の一例を示す流れ図である。プロセス1400は、例えば、接続管理システム150、350、450、520、または600、または通信処理システム182などの接続管理システムによって、その一部または全部を行うことができる。プロセス1400は、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、および継続通信パラメータの生成を含むことができる。メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、および継続通信パラメータは、スコアまたは数値を含むことができ、それらは1または複数のアルゴリズムに基づいて生成される。
【0255】
[00271]ある場合には、メッセージパラメータは、特定のメッセージの極性(例えば、感情、意図、話題など)が、否定極性か、中立極性か、肯定極性か、それとも他の適切な極性か指示することができる。会話パラメータは、特定の会話の極性(例えば、話題に関するネットワーク機器と端末機器との間の一連のメッセージ交換)が、否定か、中立か、肯定かなどを指示することができる。ネットワーク機器パラメータは、ネットワーク機器と関連付けられたすべての会話の極性が、否定か、中立か、肯定かなどを指示することができる。最後に、継続通信パラメータは、特定のクライアントと関連付けられた端末機器と通信するすべてのネットワーク機器の極性が、否定極性か、中立極性か、肯定極性か、それとも他の適切な極性か指示することができる。
【0256】
[00272]プロセス1400で、ネットワーク機器Aは、1または複数のメッセージを、1または複数の通信セッション(例えば、異なる期間、ブラウザセッション、通信開始要求などと関連付けられたセッション)の一部として送信することができる。メッセージの送信は、モバイル機器(例えば、スマートフォン)上で実行されているアプリケーション、デスクトップに表示されたウェブページ、SMSインタラクション、電子メールインタラクション、通話インタラクションなどによって円滑に行わせることができる。プロセス1400は、例えば、メッセージ評価エンジン(例えば、
図6のメッセージ評価エンジン615)や、通信処理システム182によって、その一部または全部を行うことができる。
【0257】
[00273]ある場合には、メッセージパラメータを、メッセージが接続管理システムで受信される際にネットワーク機器Aによって送信されたメッセージごとにリアルタイムで生成することができる。プロセス1400の例では、MP1Aはネットワーク機器Aによって送信された第1のメッセージについて生成されたメッセージパラメータに対応しており、MP2Aは送信された第2のメッセージについて生成されたメッセージパラメータに対応しており、MP3Aは送信された第3のメッセージについて生成されたメッセージパラメータに対応しており、MP4Aは送信された第4のメッセージについて生成されたメッセージパラメータに対応しており、MP5Aは送信された第5のメッセージについて生成されたメッセージパラメータに対応している。メッセージパラメータは、
図1A~
図1Bに関して上述したように生成する(例えば、1または複数のアンカを識別し、1または複数のアンカに基づいてスコアまたは数値を計算する)ことができる。
【0258】
[00274]MP1A、MP2A、MP3A、MP4A、およびMP5Aは、1または複数の要因に基づいて動的にグループ化される。グループ化のために考慮される要因の例には、メッセージのうちの一連のメッセージの話題、メッセージと関連付けられた感情(例えば、否定極性、中立極性、肯定極性)、ユーザとエージェントとの間の会話の完了、通信セッションの1または複数のメッセージで指示される問題の解決のレベル、および他の適切な要因が含まれる。ある場合には、メッセージが接続管理システムで受信される際に、メッセージはリアルタイムで直ちにグループ化される。メッセージのグループは、通信セッションに含まれるメッセージセットのメッセージのサブセットを含む。
【0259】
[00275]ある場合には、会話パラメータがメッセージの各グループ(例えば、特定の会話)についてリアルタイムで生成される。例えば、
図14に示すように、メッセージパラメータMP1A、MP2A、およびMP3Aの組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、および他の適切な組み合わせ)に基づいてCP1405を生成することができる。非限定的な例として、CP1405を、MP1A、MP2A、およびMP3Aの指数移動和を計算することによって生成することができる。同様に、CP1410を、メッセージパラメータMP4AとMP5Aとの組み合わせに基づいて生成することもできる。会話パラメータは、新しいメッセージが接続管理システムで受信される際にリアルタイムで更新される。例えば、CP1405は、最初は、MP3が生成される前に(例えば、第3のメッセージが接続管理システムで受信される前に)、MP1AおよびMP2Aに基づいて生成された。第3のメッセージを受信し、MP3Aを生成すると、例えば、指数移動和方程式を使用してCP1405を更新することができる。
【0260】
[00276]ある場合には、ネットワーク機器パラメータ(NDP)を生成された会話パラメータに基づいてリアルタイムで生成することができる。例えば、NDP1415は、CP1405とCP1410との組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、および他の適切な組み合わせ)とすることができる。さらに、NDP1415は、新しい会話パラメータが生成されると(例えば、新しいメッセージが接続管理システムで受信されると)自動的に更新することができる。
【0261】
[00277]ある場合には、メッセージパラメータをメッセージが接続管理システムで受信される際にネットワーク機器Bによって送信されたメッセージごとにリアルタイムで生成することができる。プロセス1400の例では、MP1Bはネットワーク機器Bによって送信された第1のメッセージについて生成されたメッセージパラメータに対応しており、MP2Bは送信された第2のメッセージについて生成されたメッセージパラメータに対応しており、MP3Bは送信された第3のメッセージについて生成されたメッセージパラメータに対応しており、MP4Bは送信された第4のメッセージについて生成されたメッセージパラメータに対応しており、MP5Bは送信された第5のメッセージについて生成されたメッセージパラメータに対応しており、MP6Bは送信された第6のメッセージについて生成されたメッセージパラメータに対応している。
【0262】
[00278]MP1B、MP2B、MP3B、MP4B、MP5B、およびMP6Bは、上述したように、1または複数の要因に基づいて動的にグループ化される。
図14に示すように、CP1420は、メッセージパラメータMP1BおよびMP2Bに基づいて生成することができる。CP1420は、MP1BとMP2Bとの組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、および他の適切な組み合わせ)とすることができる。同様に、CP1425は、メッセージパラメータMP3BおよびMP4Bに基づいて生成することができ、CP1430は、メッセージパラメータMP5BおよびMP6Bに基づいて生成することができる。ある場合には、上述したように、CP1420、CP1425、およびCP1430は、接続管理システムにおいて新しいメッセージが受信される際にリアルタイムで更新される。
【0263】
[00279]さらに、NDP1435は、CP1420、CP1425、およびCP1430の組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、および他の適切な組み合わせ)としてリアルタイムで生成することができる。さらに、NDP1435は、新しい会話パラメータが生成される際に(例えば、新しいメッセージが接続管理システムで受信される際に)自動的に更新することができる。
【0264】
[00280]継続通信パラメータ(CCP1440)は、NDP1415とNDP1435との組み合わせ(例えば、重み付き組み合わせ、平均値、指数移動和、および他の適切な組み合わせ)に基づいて生成することができる。さらに、CCP1440は、新しいネットワーク機器パラメータが生成される際に(例えば、新しいメッセージが接続管理システムで受信される際に)自動的に更新することができる。
【0265】
[00281]接続管理システムは、メッセージパラメータ、会話パラメータ、ネットワーク機器パラメータ、および/または継続通信パラメータに基づいて1または複数の動作を行うことができる。ある場合には、接続管理システムは、ネットワーク機器と端末機器との間の既存の通信を、会話パラメータに基づいて別の端末機器に再ルーティングすることができる。例えば、会話パラメータが、ネットワーク機器と端末機器との間で通信された一連のメッセージは否定極性を有することを指示する場合、接続管理システムは、ネットワーク機器からの次のメッセージを異なる端末機器に再ルーティングすることができる。ある場合には、ネットワーク機器パラメータが、特定のネットワーク機器が否定極性と関連付けられていることを指示する場合、接続管理システムは、処理担当端末機器(例えば、複数のエージェントの担当者と関連付けられた端末機器)にアラートメッセージを送信することができる。他の場合には、ネットワーク機器パラメータを使用して、端末機器と関連付けられたエージェントの成績を評価することができる。例えば、肯定極性を指示する会話パラメータと一貫して関連付けられている端末機器は、肯定的な成績に対応する。
【0266】
[00282]端末機器パラメータは、ネットワーク機器パラメータを生成するのと同様の方法で生成することができることが理解されよう。例えば、端末機器パラメータは、端末機器と関連付けられたエージェントの成績を示すことができる。この例では、端末機器パラメータは、(例えば、ネットワーク機器から受信した通信に応答して)端末機器からネットワーク機器に送信された応答通信を解析することによって生成することができる。同様に、メッセージパラメータ、会話パラメータ、端末機器パラメータ、および継続通信パラメータは、(ネットワーク機器から受信したメッセージではなく)端末機器から発信される通信に基づいて端末機器について生成することができることが理解されよう。
【0267】
[00283]
図15A~
図15Dに、一実施形態による端末機器と接続する様々な態様を表すインターフェースの例を示す。
図15Aには、3つのクライアントを識別するインターフェースの一例が示されている。第1のクライアントには、ユーザのネットワーク機器とクライアントと関連付けられた端末機器との間に3つの継続チャネルが確立されている。第2のクライアントには、単一の継続チャネルが確立されている。第3のクライアントには、継続チャネルが確立されていない。
【0268】
[00284]各継続チャネルはインターフェース内で識別されている。図示の例では、各チャネルは、各継続チャネルと関連付けられたエージェントの写真によって識別されている。このインターフェースにより、ユーザは、チャネル表現をクリックすることによって、識別されたエージェントと通信することができる。
【0269】
[00285]
図15Bには、ネットワーク機器と端末機器との間のメッセージ交換のインターフェースの一例(例えば、特定の継続チャネル表現の選択を検出したことに応答して、またはメッセージ交換への関与を求める要求を示す他の入力を検出したこと提示される)が示されている。実施形態および状況に応じて、メッセージ交換は、リアルタイムメッセージ交換、または当事者が異なる時間および/もしくは重ならない時間に交換に関与することを可能にする非同期メッセージ交換を含むことができる。
【0270】
[00286]
図15Cには、異なる話題に関連した様々な通信交換の表現を含むインターフェースの例が示されている。各表現は、識別された話題に関係する目標メッセージクロニクルを含む。話題と関連付けられたメッセージには、1または複数のメッセージ交換セッションの全部または一部からのメッセージを含めることができる。ある場合には、話題の表現を選択することにより、話題と関連付けられたメッセージ交換に以前に関与した端末機器との継続的接続を開始し、または再開することができる。ある場合には、話題の表現を選択することにより、異なる端末機器との通信を開始することができるが、後続の通信交換は、交換同士をシームレスにつなぐために以前の通信交換に付加することができる。さらに、以前の話題を目標とした交換を、メッセージクロニクルを介して異なる端末機器に送信することができる。
【0271】
[00287]話題は、定義されたカテゴリの中から選択された話題に対応しうることが理解されよう。ただし、ある場合には、話題は自由形式のタグに対応させることができる。よって、メッセージ交換に続いて、ユーザは、既存のタグを選択する入力または新しいタグを識別する入力を提供することができる。このようにして、ユーザは所望のやり方でメッセージをどのように集約するか定義することができる。
【0272】
[00288]
図15Dには、メッセージ交換への参加を円滑に行わせるために端末機器において提示することができるインターフェースの一例が示されている。図示の例では、端末機器は12の連続メッセージに関与している。(ジョン・スミスというユーザに関連した)ある連続メッセージに関係するデータが主ウインドウに提示されている。ウインドウには、ユーザ名、話題(または件名)、およびメッセージクロニクル(図示の例では、発信元機器に基づいて分離されており、各機器からのただ1つの送信メッセージだけを含んでいる)。インターフェースには、インタラクションの目標(「売上高を増やす」)、通信の種類の識別(「チャット」)、ユーザアカウントデータ(注文データ)に関連したデータも含めることができる。
【0273】
[00289]インターフェースには、他のインタラクションの表現(例えば、「24訪問者」、「22Hans Christian…」など)がさらに含まれている。表現は、(もしあれば)インタラクションに関与するネットワーク機器から受信した未読メッセージがいくつか、最後の応答からの時間、および感情表現を識別することができる。
【0274】
[00290]よって、ネットワーク機器と端末機器との間でリアルタイム(および/または、場合によっては非同期)の通信交換を確立することは、端末機器において提示されるインターフェースに交換および/またはネットワーク機器の表現を付加することを含むことができることが理解されよう。
【0275】
[00291]以上の説明では実施形態の十分な理解を提供するために具体的詳細が示されている。しかし、各実施形態はこれらの具体的詳細なしでも実施することができることが理解される。例えば、回路は、不要な詳細で実施形態を不明瞭にしないようにブロック図として示すことができる。場合によっては、各実施形態を不明瞭にしないように、周知の回路、プロセス、アルゴリズム、構造、および技術が不要な詳細なしで示されることもある。
【0276】
[00292]上述の技術、ブロック、ステップおよび手段の実現は、様々な方法で行うことができる。例えば、これらの技術、ブロック、ステップおよび手段は、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実現することができる。ハードウェア実施態様では、各処理装置を、1または複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上述の機能を果たすように設計された他の電子装置、および/またはそれらの組み合わせの内部で実現することができる。
【0277】
[00293]また、実施形態の一部を、流れ図、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして記述することができることにも留意されたい。流れ図は各動作を順次的なプロセスとして記述することができるが、動作の多くは、並列に、または同時に行うことができる。加えて、動作の順序を並べ替えることもできる。プロセスは、その操作が完了したときに打ち切られるが、図には含まれていないさらに別のステップを有する可能性もある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応する場合、その打ち切りは呼び出し関数またはメイン関数への関数の戻りに対応する。
【0278】
[00294]さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、および/またはそれらの任意の組み合わせによって実現することもできる。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードとして実現される場合、必要なタスクを行うプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に格納することができる。コードセグメントまたは機械実行可能命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または命令、データ構造、および/もしくはプログラム文の任意の組み合わせを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、および/またはメモリコンテンツを渡し、かつ/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合することができる。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受け渡し、チケット受け渡し、ネットワーク伝送などを含む任意の適切な手段によって受け渡し、転送し、または送信することができる。
【0279】
[00295]ファームウェアおよび/またはソフトウェア実施態様では、方法は、本明細書に記載する機能を果たすモジュール(例えば、プロシージャ、関数など)を用いて実現することができる。本明細書に記載する方法の実現に際しては命令を有形に具現化する任意の機械可読媒体を使用することができる。例えば、ソフトウェアコードをメモリに格納することができる。メモリは、プロセッサ内で、またはプロセッサの外部に実装することができる。本明細書で使用する「メモリ」という用語は、任意の種類の長期、短期、揮発性、不揮発性その他の記憶媒体を指し、いかなる特定の種類のメモリにも特定の数のメモリにも、メモリが格納される媒体の種類にも限定されない。
【0280】
[00296]さらに、本明細書で開示されるように、「記憶媒体」、「記憶」または「メモリ」という用語は、読取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュ・メモリ・デバイス、および/または情報を格納するための他の機械可読媒体を含む、データを格納するための1つまたは複数のメモリを表すことができる。「機械可読媒体」という用語は、携帯式または固定式の記憶装置、光記憶装置、無線チャネル、ならびに/または(1もしくは複数の)命令および/もしくはデータを収容もしくは記憶する格納することができる様々な他の記憶媒体を含むが、これらだけに限定されない。
【0281】
[00297]本開示の原理は特定の装置および方法に関連して上述されているが、この記述は、本開示の範囲の限定としてではなく例示としてなされているにすぎないことを明確に理解すべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
コンピューティング機器において、コンテンツデータを含む通信を受信するステップと、
前記通信をプライマリキューに格納するステップであって、前記プライマリキューは複数の通信を格納するための複数のキュー位置を含み、前記通信は前記プライマリキュー内の前記複数のキュー位置のうちのキュー位置において格納される、前記通信をプライマリキューに格納する前記ステップと、
前記プライマリキューの前記キュー位置から前記通信を読み出すステップと、
前記通信を解析するステップであって、解析することはキーワードについて前記コンテンツデータをパースすることを含み、前記キーワードはセカンダリキューに対応する、前記通信を解析する前記ステップと、
前記通信を、1または複数の端末機器と関連付けられている前記セカンダリキューに格納するステップと、
前記セカンダリキューと関連付けられた端末機器を識別するステップと、
前記通信へのアクセスを要求する読出し要求を受信するステップと、
前記通信を前記端末機器にルーティングするステップであって、ルーティングすることは、前記端末機器と、前記通信と関連付けられたネットワーク機器との間の通信リンクを確立することを含む、前記通信を前記端末機器にルーティングする前記ステップと
を含む、コンピュータ実装方法。
[C2]
前記通信を解析する前記ステップは、
テキストデータを含む前記コンテンツデータをパースするステップと、
前記テキストデータが前記キーワードを含むかどうか識別し、前記テキストデータが前記キーワードを含む場合、前記通信を前記セカンダリキューに格納するステップと
を含む、C1に記載のコンピュータ実装方法。
[C3]
前記通信を解析する前記ステップは、
テキストデータを含む前記コンテンツデータをパースするステップと、
前記テキストデータにアンカが含まれているかどうか識別するステップであって、前記アンカは、肯定極性、中立極性、または否定極性と関連付けられており、前記肯定極性は肯定セカンダリキューに対応し、前記中立極性は中立セカンダリキューに対応し、前記否定極性は否定セカンダリキューに対応する、前記テキストデータにアンカが含まれているかどうか識別する前記ステップと、
前記通信を、前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのうちの1つに格納するステップであって、前記アンカを使用して、前記通信を前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのいづれに格納すべきかを判定する、前記通信を格納する前記ステップと
を含む、C1に記載のコンピュータ実装方法。
[C4]
別の通信を受信するステップであって、前記別の通信は前記通信の後に受信され、前記別の通信は前記別の通信と関連付けられた優先度を表す優先度データを含む、前記別の通信を受信する前記ステップと、
前記通信を前記セカンダリキューの初期キュー位置に格納するステップと、
前記別の通信を前記セカンダリキューの後続のキュー位置に格納するステップであって、前記セカンダリキューの前記初期キュー位置は前記後続のキュー位置より前に処理されるようにスケジュールされる、前記別の通信を前記セカンダリキューの後続のキュー位置に格納する前記ステップと、
前記別の通信に含まれる前記優先度データは高い優先度に対応していると判定するステップと、
前記別の通信を移動させるステップであって、移動させることは、前記別の通信が前記通信より前に処理されるようにスケジュールするために、前記別の通信を前記初期キュー位置に格納し、前記通信を別のキュー位置に格納することを含む、前記別の通信を移動させる前記ステップと
をさらに含む、C1に記載のコンピュータ実装方法。
[C5]
初期端末機器と関連付けられる予測応答時間を決定するステップであって、前記予測応答時間は不可用性期間を指示し、前記初期端末機器は前記不可用性期間中に前記通信を読み出すことができない、前記初期端末機器と関連付けられる予測応答時間を決定する前記ステップと、
前記予測応答時間は閾値を超えると判定するステップと、
前記通信を受信するための前記端末機器を識別するステップであって、前記端末機器と関連付けられる別の予測応答時間は前記初期端末機器と関連付けられる前記予測応答時間より短い、前記通信を受信するための前記端末機器を識別する前記ステップと、
前記通信を前記端末機器にルーティングするステップと
をさらに含む、C1に記載のコンピュータ実装方法。
[C6]
前記端末機器から前記通信に応答する応答通信を受信するステップと、
前記応答通信を前記通信と関連付けられた前記ネットワーク機器にルーティングするステップと
をさらに含む、C1に記載のコンピュータ実装方法。
[C7]
1または複数のデータプロセッサと、
前記1または複数のデータプロセッサ上で実行されると、前記1または複数のデータプロセッサに、
コンピューティング機器において、コンテンツデータを含む通信を受信する動作と、
前記通信をプライマリキューに格納する動作であって、前記プライマリキューは複数の通信を格納するための複数のキュー位置を含み、前記通信は前記プライマリキュー内の前記複数のキュー位置のうちのキュー位置において格納される、前記通信をプライマリキューに格納する前記動作と、
前記プライマリキューの前記キュー位置から前記通信を読み出す動作と、
前記通信を解析する動作であって、解析することはキーワードについて前記コンテンツデータをパースすることを含み、前記キーワードはセカンダリキューに対応する、前記通信を解析する前記動作と、
前記通信を、1または複数の端末機器と関連付けられている前記セカンダリキューに格納する動作と、
前記セカンダリキューと関連付けられた端末機器を識別する動作と、
前記通信へのアクセスを要求する読出し要求を受信する動作と、
前記通信を前記端末機器にルーティングする動作であって、ルーティングすることは、前記端末機器と、前記通信と関連付けられたネットワーク機器との間の通信リンクを確立することを含む、前記通信を前記端末機器にルーティングする前記動作と
を含む動作を行わせる命令を含む非一時的なコンピュータ可読記憶媒体と
を含む、システム。
[C8]
前記通信を解析する前記動作は、
テキストデータを含む前記コンテンツデータをパースする動作と、
前記テキストデータが前記キーワードを含むかどうか識別し、前記テキストデータが前記キーワードを含む場合、前記通信を前記セカンダリキューに格納する動作と
を含む、C7に記載のシステム。
[C9]
前記通信を解析する前記動作は、
テキストデータを含む前記コンテンツデータをパースする動作と、
前記テキストデータにアンカが含まれているかどうか識別する動作であって、アンカは、肯定極性、中立極性、または否定極性と関連付けられており、前記肯定極性は肯定セカンダリキューに対応し、前記中立極性は中立セカンダリキューに対応し、前記否定極性は否定セカンダリキューに対応する、前記テキストデータにアンカが含まれているかどうか識別する前記動作と、
前記通信を、前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのうちの1つに格納する動作であって、前記アンカを使用して、前記通信を前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのいづれに格納すべきかを判定する、前記通信を格納する前記動作と
を含む、C7に記載のシステム。
[C10]
前記動作は、
別の通信を受信する動作であって、前記別の通信は前記通信の後に受信され、前記別の通信は前記別の通信と関連付けられた優先度を表す優先度データを含む、前記別の通信を受信する前記動作と、
前記通信を前記セカンダリキューの初期キュー位置に格納する動作と、
前記別の通信を前記セカンダリキューの後続のキュー位置に格納する動作であって、前記セカンダリキューの前記初期キュー位置は前記後続のキュー位置より前に処理されるようにスケジュールされる、前記別の通信を前記セカンダリキューの後続のキュー位置に格納する前記動作と、
前記別の通信に含まれる前記優先度データは高い優先度に対応していると判定する動作と、
前記別の通信を移動させる動作であって、移動させることは、前記別の通信が前記通信より前に処理されるようにスケジュールするために、前記別の通信を前記初期キュー位置に格納し、前記通信を別のキュー位置に格納することを含む、前記別の通信を移動させる前記動作と
をさらに含む、C7に記載のシステム。
[C11]
前記動作は、
初期端末機器と関連付けられる予測応答時間を決定する動作であって、前記予測応答時間は不可用性期間を指示し、前記初期端末機器は前記不可用性期間中に前記通信を読み出すことができない、前記初期端末機器と関連付けられる予測応答時間を決定する前記動作と、
前記予測応答時間は閾値を超えると判定する動作と、
前記通信を受信するための前記端末機器を識別する動作であって、前記端末機器と関連付けられる別の予測応答時間は前記初期端末機器と関連付けられる前記予測応答時間より短い、前記通信を受信するための前記端末機器を識別する前記動作と、
前記通信を前記端末機器にルーティングする動作と
をさらに含む、C7に記載のシステム。
[C12]
前記動作は、
前記端末機器から前記通信に応答する応答通信を受信する動作と、
前記応答通信を前記通信と関連付けられた前記ネットワーク機器にルーティングする動作と
をさらに含む、C7に記載のシステム。
[C13]
データ処理装置に、
コンピューティング機器において、コンテンツデータを含む通信を受信する動作と、
前記通信をプライマリキューに格納する動作であって、前記プライマリキューは複数の通信を格納するための複数のキュー位置を含み、前記通信は前記プライマリキュー内の前記複数のキュー位置のうちのキュー位置において格納される、前記通信をプライマリキューに格納する前記動作と、
前記プライマリキューの前記キュー位置から前記通信を読み出す動作と、
前記通信を解析する動作であって、解析することはキーワードについて前記コンテンツデータをパースすることを含み、前記キーワードはセカンダリキューに対応する、前記通信を解析する前記動作と、
前記通信を、1または複数の端末機器と関連付けられている前記セカンダリキューに格納する動作と、
前記セカンダリキューと関連付けられた端末機器を識別する動作と、
前記通信へのアクセスを要求する読出し要求を受信する動作と、
前記通信を前記端末機器にルーティングする動作であって、ルーティングすることは、前記端末機器と、前記通信と関連付けられたネットワーク機器との間の通信リンクを確立することを含む、前記通信を前記端末機器にルーティングする前記動作と
を含む動作を行わせるように構成された命令を含む、非一時的な機械可読記憶媒体において有形に具現化されたコンピュータプログラム製品。
[C14]
前記通信を解析する前記動作は、
テキストデータを含む前記コンテンツデータをパースする動作と、
前記テキストデータが前記キーワードを含むかどうか識別し、前記テキストデータが前記キーワードを含む場合、前記通信を前記セカンダリキューに格納する動作と
を含む、C13に記載のコンピュータプログラム製品。
[C15]
前記通信を解析する前記動作は、
テキストデータを含む前記コンテンツデータをパースする動作と、
前記テキストデータにアンカが含まれているかどうか識別する動作であって、アンカは、肯定極性、中立極性、または否定極性と関連付けられており、前記肯定極性は肯定セカンダリキューに対応し、前記中立極性は中立セカンダリキューに対応し、前記否定極性は否定セカンダリキューに対応する、前記テキストデータにアンカが含まれているかどうか識別する前記動作と、
前記通信を、前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのうちの1つに格納する動作であって、前記アンカを使用して、前記通信を前記肯定セカンダリキュー、前記中立セカンダリキュー、または前記否定セカンダリキューのいづれに格納すべきかを判定する、前記通信を格納する前記動作と
を含む、C13に記載のコンピュータプログラム製品。
[C16]
別の通信を受信する動作であって、前記別の通信は前記通信の後に受信され、前記別の通信は前記別の通信と関連付けられた優先度を表す優先度データを含む、前記別の通信を受信する前記動作と、
前記通信を前記セカンダリキューの初期キュー位置に格納する動作と、
前記別の通信を前記セカンダリキューの後続のキュー位置に格納する動作であって、前記セカンダリキューの前記初期キュー位置は前記後続のキュー位置より前に処理されるようにスケジュールされる、前記別の通信を前記セカンダリキューの後続のキュー位置に格納する前記動作と、
前記別の通信に含まれる前記優先度データは高い優先度に対応していると判定する動作と、
前記別の通信を移動させる動作であって、移動させることは、前記別の通信が前記通信より前に処理されるようにスケジュールするために、前記別の通信を前記初期キュー位置に格納し、前記通信を別のキュー位置に格納することを含む、前記別の通信を移動させる前記動作と
をさらに含む、C13に記載のコンピュータプログラム製品。
[C17]
初期端末機器と関連付けられる予測応答時間を決定する動作であって、前記予測応答時間は不可用性期間を指示し、前記初期端末機器は前記不可用性期間中に前記通信を読み出すことができない、前記初期端末機器と関連付けられる予測応答時間を決定する前記動作と、
前記予測応答時間は閾値を超えると判定する動作と、
前記通信を受信するための前記端末機器を識別する動作であって、前記端末機器と関連付けられる別の予測応答時間は前記初期端末機器と関連付けられる前記予測応答時間より短い、前記通信を受信するための前記端末機器を識別する前記動作と、
前記通信を前記端末機器にルーティングする動作と
をさらに含む、C13に記載のコンピュータプログラム製品。
[C18]
前記端末機器から前記通信に応答する応答通信を受信する動作と、
前記応答通信を前記通信と関連付けられた前記ネットワーク機器にルーティングする動作と
をさらに含む、C13に記載のコンピュータプログラム製品。
[C19]
前記セカンダリキューと関連付けられた前記端末機器を識別する前記ステップは、
端末機器のセットに対応する前記コンテンツデータと関連付けられた特性を識別するステップと、
前記端末機器のセットの中から前記特性に対応する前記端末機器を選択するステップと
を含む、C1に記載のコンピュータ実装方法。
[C20]
前記キーワードは目標オブジェクトに対応し、前記目標オブジェクトは前記通信に含まれる前記コンテンツデータを使用して決定される、C1に記載のコンピュータ実装方法。