(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-01
(45)【発行日】2024-10-09
(54)【発明の名称】コンテンツをコンタクトセンターのインタラクションに追加するためのシステム及び方法
(51)【国際特許分類】
H04L 67/561 20220101AFI20241002BHJP
【FI】
H04L67/561
(21)【出願番号】P 2021572058
(86)(22)【出願日】2020-06-10
(86)【国際出願番号】 US2020036951
(87)【国際公開番号】W WO2020251987
(87)【国際公開日】2020-12-17
【審査請求日】2023-03-06
(32)【優先日】2019-06-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】523074490
【氏名又は名称】ジェネシス クラウド サービシーズ インコーポレイテッド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】レイ、ジャスティン アラン
(72)【発明者】
【氏名】ルイヤール、ポール
(72)【発明者】
【氏名】ラッカー、ジョシュア
(72)【発明者】
【氏名】エストレア、オマル
【審査官】岩田 玲彦
(56)【参考文献】
【文献】米国特許出願公開第2003/0187988(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/561
(57)【特許請求の範囲】
【請求項1】
コンタクトセンター環境内で受信されたインタラクションにコンテンツを追加するための方法であって、
前記インタラクションをエージェントにルーティングする工程であって、前記インタラクションが、
ユーザインターフェースに組み込まれたクライアントアプリケーションの1つ以上のプロバイダを経由してルーティングされる、工程と、
前記1つ以上のプロバイダによって、1つ以上の指定され
たクライアントアプリケーションを前記エージェントに表示するユーザインターフェースをトリガする工程と、
前記1つ以上
のクライアントアプリケーションを非同期的にロードする工程であって、前記エージェントが前記指定され
たクライアントアプリケーションのうちの1つを選択するときに、ウェブページのアドレスが、インラインフレーム内にロードされる、工程と、を含む、方法。
【請求項2】
前
記クライアントアプリケーションが、1つ以上のパーティがインタラクションに動的コンテンツを追加することを可能にする、請求項1に記載の方法。
【請求項3】
前記1つ以上のパーティが、内部パーティ及びサードパーティのうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記プロバイダ、前記インタラクション、及び前
記クライアントアプリケーションが、タプルを含み、かつ前
記クライアントアプリケーションの複数のインラインフレームが実行される、請求項1に記載の方法。
【請求項5】
前記
クライアントアプリケーションが、プールされる、請求項1に記載の方法。
【請求項6】
前記
クライアントアプリケーションが、構成可能な最大サイズ及び退避アルゴリズムのうちの少なくとも1つに基づいて、前記プールから退避される、請求項5に記載の方法。
【請求項7】
前記プロバイダが、UIシェル内に直接書き込まれ、前記UIシェルのインタラクションの変化及び状態の監視を通知することを可能にする、インコードプロバイダであるファーストパーティを含む、請求項1に記載の方法。
【請求項8】
前記プロバイダが、DSLプロバイダを含む、請求項1に記載の方法。
【請求項9】
前記プロバイダが、所与のインタラクションのために前記
クライアントアプリケーションが表示されるべきかどうかを、定義されたブール論理が判定することを可能にする、請求項8に記載の方法。
【請求項10】
前記プロバイダが、プログラマティックプロバイダを含む、請求項1に記載の方法。
【請求項11】
前記プロバイダが、任意のチューリング完全コードを使用して、所与のインタラクションのために
クライアントアプリケーションが表示されるべきかどうかを判定する、請求項10に記載の方法。
【請求項12】
コンタクトセンター環境内で受信されたインタラクションにコンテンツを追加するためにシステムが提示され、前記システムが、
プロセッサと、
前記プロセッサと通信可能なメモリと、を含み、前記メモリが、前記プロセッサによって実行されるときに、前記プロセッサに、
前記インタラクションをエージェントにルーティングさせて、前記インタラクションを、
ユーザインターフェースに組み込まれたクライアントアプリケーションの1つ以上のプロバイダを経由してルーティングすることと、
前記1つ以上のプロバイダによって、1つ以上の指定され
たクライアントアプリケーションを前記エージェントに表示するユーザインターフェースをトリガすることと、
前記1つ以上の組み込みクライアントアプリケーションを非同期的にロードして、前記エージェントが前記指定され
たクライアントアプリケーションのうちの1つを選択するときに、ウェブページのアドレスをインラインフレーム内にロードすることと、を行わせる、命令を格納する、システム。
【請求項13】
前
記クライアントアプリケーションが、1つ以上のパーティがインタラクションに動的コンテンツを追加することを可能にする、請求項12に記載のシステム。
【請求項14】
前記1つ以上のパーティが、内部パーティ及びサードパーティのうちの少なくとも1つを含む、請求項13に記載のシステム。
【請求項15】
前記プロバイダ、前記インタラクション、及び前
記クライアントアプリケーションがタプルを含み、かつ前記組み込みクライアントアプリケーションの複数のインラインフレームが実行される、請求項12に記載のシステム。
【請求項16】
前記
クライアントアプリケーションが、プールされる、請求項12に記載のシステム。
【請求項17】
前記
クライアントアプリケーションが、構成可能な最大サイズ及び退避アルゴリズムのうちの少なくとも1つに基づいて、前記プールから退避される、請求項16に記載のシステム。
【請求項18】
前記プロバイダが、UIシェル内に直接書き込まれ、前記UIシェルのインタラクションの変化及び状態の監視を通知することを可能にする、インコードプロバイダであるファーストパーティを含む、請求項12に記載のシステム。
【請求項19】
前記プロバイダが、DSLプロバイダを含む、請求項12に記載のシステム。
【請求項20】
前記プロバイダが、所与のインタラクションのために前記
クライアントアプリケーションが表示されるべきかどうかを、定義されたブール論理が判定することを可能にする、請求項19に記載のシステム。
【請求項21】
前記プロバイダが、プログラマティックプロバイダを含む、請求項12に記載のシステム。
【請求項22】
前記プロバイダが、任意のチューリング完全コードを使用して、所与のインタラクションのために
クライアントアプリケーションが表示されるべきかどうかを判定する、請求項21に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は、概して、コンタクトセンターのインタラクションシステム及び方法、並びにそのインタラクションへのコンテンツの追加に関する。より具体的には、本発明は、構成可能であり、動的であり、かつコンテキスト依存インタラクションであるコンテンツのアプリケーションに関する。
【0002】
(関連出願の相互参照)
本出願は、2019年6月10日に米国特許商標庁に出願された「SYSTEM AND METHOD FOR CONFIGURABLE,DYNAMIC,CONTEXT-SENSITIVE CONTENT FOR CONTACT CENTER INTERACTIONS」と題された米国仮特許出願第62/859,262号の利益を主張する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
コンテンツをコンタクトセンターのインタラクションに追加するためのシステム及び方法が提示される。インタラクションは、コンタクトセンター環境内のエージェントにルーティングされる。インタラクションは、組み込みクライアントアプリケーションの1つ以上のプロバイダを経由してルーティングされる。プロバイダは、ファーストパーティ、DSLプロバイダ、又はプログラマティックプロバイダであり得る。プロバイダは、1つ以上の指定された組み込みクライアントアプリケーションをエージェントに表示するユーザインターフェースをトリガし、エージェントがアプリケーションのうちの1つを選択すると、インラインフレームを経由して非同期的にロードされる。
【0004】
一実施形態では、コンタクトセンター環境内に受信されたインタラクションにコンテンツを追加するための方法が提示され、この方法は、インタラクションをエージェントにルーティングする工程であって、インタラクションが、組み込みクライアントアプリケーションの1つ以上のプロバイダを経由してルーティングされる、工程と、1つ以上のプロバイダによって、1つ以上の指定された組み込みクライアントアプリケーションをエージェントに表示するユーザインターフェースをトリガする、工程と、1つ以上の組み込みクライアントアプリケーションを非同期的にロードする工程であって、エージェントが指定された組み込みクライアントアプリケーションのうちの1つを選択するときに、ウェブページのアドレスが、インラインフレーム内にロードされる、工程と、を含む。
【0005】
組み込みクライアントアプリケーションが、1つ以上のパーティがインタラクションに動的コンテンツを追加することを可能にする。1つ以上のパーティが、内部パーティ及びサードパーティのうちの少なくとも1つを含む。
【0006】
プロバイダ、インタラクション、及び組み込みクライアントアプリケーションが、タプルを含み、かつ組み込みクライアントアプリケーションの複数のインラインフレームが実行される。
【0007】
アプリケーションは、プールされる。アプリケーションは、構成可能な最大サイズ及び退避アルゴリズムのうちの少なくとも1つに基づいて、プールから退避される。
【0008】
プロバイダは、UIシェル内に直接書き込まれ、UIシェルのインタラクションの変化及び状態の監視を通知することを可能にするインコードプロバイダであるファーストパーティを含む。プロバイダはまた、DSLプロバイダを含み得る。DSLプロバイダは、所与のインタラクションのためにアプリケーションが表示されるべきかどうかを、定義されたブール論理が判定することを可能にする。プロバイダはまた、プログラマティックプロバイダを含み得る。プログラマティックプロバイダは、任意のチューリング完全コードを使用して、所与のインタラクションのためにアプリケーションが表示されるべきかどうかを判定する。
【0009】
別の実施形態では、コンタクトセンター環境内で受信されたインタラクションにコンテンツを追加するためのシステムが提示され、当該システムは、プロセッサと、プロセッサと通信可能なメモリと、を含み、メモリが、プロセッサによって実行されるときに、プロセッサに、インタラクションをエージェントにルーティングして、インタラクションを、組み込みクライアントアプリケーションの1つ以上のプロバイダを経由してルーティングすることと、1つ以上のプロバイダによって、1つ以上の指定された組み込みクライアントアプリケーションをエージェントに表示するユーザインターフェースをトリガすることと、1つ以上の組み込みクライアントアプリケーションを非同期的にロードして、エージェントが指定された組み込みクライアントアプリケーションのうちの1つを選択するときに、ウェブページのアドレスをインラインフレーム内にロードすることと、を行わせる命令を格納する。
【図面の簡単な説明】
【0010】
【
図1】
図1は、通信インフラストラクチャの一実施形態を例解する図である。
【0011】
【
図2】
図2は、プロセスの一実施形態を例解するフロー図である。
【0012】
【
図3A】
図3Aは、コンピューティングデバイスの一実施形態を例解する図である。
【0013】
【
図3B】
図3Bは、コンピューティングデバイスの一実施形態を例解する図である。
【発明を実施するための形態】
【0014】
本発明の原理の理解を促進する目的で、ここでは図面に例解される実施形態を参照し、具体的な文言を使用してその説明を行う。上記にかかわらず、これが本発明の範囲の限定を意図したものではないことは理解されよう。記載される実施形態における任意の変更及び更なる修正、並びに本明細書に記載される本発明の原理の任意の更なる用途は、本発明が関連する当業者に通常生じるものとして想到される。
【0015】
コンタクトセンターのインタラクションのための構成可能であり、動的であり、コンテキスト依存コンテンツのためのシステム及び方法が提示される。本明細書に記載される構成可能であり、動的であり、コンテキスト依存である組み込みクライアントアプリケーションは、「インタラプション(interapption)」とも称され得る。コンタクトセンターのエージェントは、多くの場合、顧客を支援するために複数のデータソースを必要とする。例えば、エージェントは、顧客のアカウントを顧客関係管理(Customer Relationship Management、CRM)システムで相互参照すること、関連情報を得るために参照ツールを参照すること、又は社内在庫管理システムを表示することが必要であり得る。データソースの数及び種類は、ドメイン及び個々の顧客によって異なる。これまでは、情報を見るためにエージェントがコンピュータのデスクトップ上で複数のアプリケーションを操作する必要があった。最悪の場合、エージェントは必要な情報を得るために、手動で他のアプリケーションを開き、コピー/ペースト又は検索のいずれかを行わなければならない。最良には、コンタクトセンター環境内の管理者が、エージェントに関連データを表示するために、スクリーンポップ(外部アプリケーションを起動するための)又はスクリプトを手動で構築することができることである。
【0016】
既存の選択肢では、エージェントによる手動での検索及び/又はコピー/ペースト、スクリーンポップ、スクリプトなどのいくつかの落とし穴を抱えている。手動でのエージェントの作業は、エラーが発生しやすく、労働力/時間がかかり、インタラクションごとに複数のアプリケーションを開くこと、又は複数のアプリケーションを常に開いた状態に維持する必要があり、これはシステムリソースを消費する。スクリーンポップ(すなわち、新しいウィンドウを動的に開くこと)は、エージェントの気が散ることにもなり得る。また、最適に使用するためには、エージェントがインタラクションごとに新しいウィンドウを手動で位置決めする必要があり得る。加えて、スクリーンポップされたアプリケーションは、エージェントを支援することを中心とする使用事例として構築されていない可能性があり、余計な情報(ヘッダ、ブランディング、ナビゲーションなど)を含んでいる可能性がある。スクリーンポップされたアプリケーションの開発者はまた、アプリケーションの表示を制御できない場合がある。更に、スクリーンポップされたアプリケーションの開発者はまた、そのアプリケーションが使用されているコンテキストを把握していない可能性がある。
【0017】
スクリプトは、コンタクトセンターの管理者が手動で構築する必要がある。これらは通常、特定の使用事例(アウトバウンドのダイアルキャンペーン又はインバウンドの請求書発行についての問い合わせなど)の目的のために構築される。スクリプトは、通常範囲が限定されているため、メンテナンスが難しく、他の使用事例に拡張することが難しい場合がある。スクリプトは、外部のソフトウェアエンジニア及び中小企業(Small and Mid-sized Enterprises、SME)では容易に構築及び維持することができない。スクリプトは、社内において、手動で構築、更新、及び保守しなければならない。それらはソフトウェア・アズ・ア・サービス(Software-as-a-Service、SaaS)ベースの配信原理では使用することができず、この場合、アプリケーションは、コンタクトセンター自体から外部で開発、試験、及び反復することができない。
【0018】
インタラプションシステムは、アプリケーションの開発者及び管理者(ファーストパーティ、セカンドパーティ、及びサードパーティを含む)が、コンタクトセンターのエージェントに対して、インタラクションごとに動的でカスタマイズされた集中的なコンテンツを配信することを可能にする。開発者は、インタラクションの両方の態様並びに外部システム及びデータを使用して、インタラクションがそれらの動的コンテンツからの恩恵を受けるかどうかを判定することができる。開発者は、インタラクションに関する情報(顧客情報、メディアタイプ、インタラクションソース)、インタラクションコンテンツ(顧客とエージェントの間で交換されるメッセージ及び情報)、並びにインタラクションに付随するメタデータ(外部顧客ID、コンテキストIDなど)を使用して、インタラクションを豊かにする可能性のあるコンテンツを動的に決定することができる。更に、開発者は、外部の動的なデータソースにアクセスして、エージェントが顧客を支援するための追加情報が利用可能であるかどうかを確認することができる。
【0019】
動的コンテンツに対する要求を判定すると、インタラプション開発者/管理者は、エージェントのユーザインターフェース(UI)内に組み込まれる1つ又は多くのビューを返すことができる。加えて、アプリケーション開発者/管理者は、レイアウトの向き(水平/垂直)、必要なサイズ、他のエージェントビューとの相対的な位置関係など、ビューの表示に関する特定の側面を指示することができる。ビューは、エージェントのUI内に組み込まれており、インタラクションに特化しているため、カスタムビューが、ハイパーフォーカスされ得る。ビューは、アプリケーションヘッダ、検索ボックス、ナビゲーションなどを必要としない。むしろ、ビューは、エージェントのUIのすぐ内側に組み込まれており、集束された、詳細なコンテキストに関連する情報を提供する。最後に、ビューは、コマンド及び制御ソフトウェア開発キット(Software Development Kit、SDK)を利用して、例えば、注意を喚起する、トーストメッセージをポップアップする、顧客に自動的に返信するなどの、ホストアプリケーションにプログラマティック動作を要求することが可能である。
【0020】
本明細書に記載される実施形態にはいくつかの利点がある。第1に、コンテキスト依存のコンテンツを無限に動的に配信することができる。動的でコンテキスト依存のアドオンにより、インタラプションプロバイダは、エージェントのためのインタラクションUIを豊かにするメカニズムを可能にする。内部及び外部のデータから情報を得て、動的で無限のビューをインタラクションに簡単に追加できる。追加のビューは、特定のインタラクションに適しており、エージェントが最終顧客を助けるのに役立つように集束される。複数のプロバイダが利用可能であり、非限定な例としては、ドメイン固有の言語プロバイダ及びプログラマティックプロバイダなどがある。ドメイン固有の言語プロバイダは、基本的なアプリケーション及び管理者レベルでのインタラプションの構成に最適であり得る。プログラマティックプロバイダは、インタラクション及び任意の他のデータソースを動的に照会し、インタラクションがインタラプションから恩恵を受けるかどうかを判定するためのチューリング完全方法を提供する。これらのプロバイダは、アプリケーション開発者及びサードパーティの公認ベンダが魅力的なアドオンを構築することを可能にし、会話、APIなどへの完全なアクセスを可能にする。予期しない新しいバーティカル分野で、サードパーティの開発者がプロバイダを構築することができる。コンタクトセンター環境の開発者からの、実現するための製品開発又はエンジニアリングの努力を必要としないアプリケーションは、無限の業種を解放する。複数の使用事例に対応することで、組織/ユーザごとに複数のインタラプションプロバイダを構成し、インタラクションごとに複数のタイプのアプリケーションを提供することができる。インタラプションプロバイダは、インタラクションごとに1つ以上のインタラプションを提供することができ、又は、いずれも関連性がないと判定される場合には、いずれも提供しなくてもよい。
【0021】
第2に、これまでにないアドオンによるユーザ体験を提供する。インタラプションベンダは、すべてのインタラクションのために、強制的なアドオンスイートを構築するための制御を与えられ得る。それらは、様々なレイアウト及びサイズで複数のインタラプションを返すことを選択することができる。それらは、プラットフォーム上の全体的な機能を構築することができる。プログラマティックコマンド及び制御アクセス(SDK経由)もまた可能である。例えば、アプリケーション開発者は、ホストアプリケーションとの統合を深めるために、コマンド及び制御APIへのアクセスを有する。開発者は、トーストメッセージをポップアップすること、リクエストフォーカスすること、トラックフォーカスすること、エージェントに代わって通信を自動入力すること、及び他の多くのことを行うことができる。
【0022】
第3に、新しいコンテンツ配信メカニズムが可能になる。これらは、ファーストパーティ、セカンドパーティ、及びサードパーティのいずれであり得る。インタラプション(interraption)及びインタラプションプロバイダは、多くの関係者(コンタクトセンターのスタッフ、コンタクトセンタープラットフォームプロバイダの開発者及び/又はその専門サービス組織、サードパーティのベンダなど)によって構築することができる。配信メカニズムは、ベンダ、開発者、パートナ、及びSMEによって構築及び維持することができる。インタラプション(interraption)とインタラプションプロバイダは、単一のコンタクトセンターのスタッフではなく、その分野の専門家によって構築することができる。配信メカニズムはまた、外部ホスト型であってもよく、動的に更新され得る(SaaS)。インタラプションは外部でホストされたコードであるため、プロバイダ及びアプリケーション自体の両方を動的に構築、試験、展開、及びロールバックすることができる。アプリケーションは、コンタクトセンタープラットフォームから外部で管理することができる。
【0023】
コンタクトセンターシステム
【0024】
図1は、全体が100で示される通信インフラストラクチャの一実施形態を例解する図である。例えば、
図1は、コンタクトセンターサービスを提供するにあたり、コンタクトセンターをサポートするためのシステムを例解する。コンタクトセンターは、企業を通じて利用可能な製品及びサービスに関連する販売及びサービスの機能を実行するにあたり、企業にサービスを提供するためのビジネス又は企業への社内施設であり得る。別の態様では、コンタクトセンターは、サードパーティサービスプロバイダによって運用され得る。一実施形態では、コンタクトセンターは、コンタクトセンターシステムのいくつかの構成要素が、コンタクトセンター構内でホストされ、他の構成要素がリモートホスト(例えば、クラウドベースの環境で)されるハイブリッドシステムとして運用され得る。コンタクトセンターは、企業又はサードパーティサービスプロバイダ専用の機器上に配設され得、かつ/又は、例えば、複数の企業向けの複数のコンタクトセンターをサポートするためのインフラストラクチャを備えたプライベート又はパブリッククラウド環境などのリモートコンピューティング環境に配設され得る。コンタクトセンターシステムの各種構成要素はまた、様々な地理的位置及びコンピューティング環境にわたって分散され得、必ずしも単一の場所、コンピューティング環境、又は更にはコンピューティングデバイスに含まれていなくてもよい。
【0025】
全体が100で示される通信インフラストラクチャの構成要素は、複数のエンドユーザデバイス105A、105B、105Cと、通信ネットワーク110と、スイッチ/メディアゲートウェイ115と、コールコントローラ120と、IMRサーバ125と、ルーティングサーバ130と、ストレージデバイス135と、統計サーバ140と、ワークビン146A、146B、146Cを含む複数のエージェントデバイス145A、145B、145Cと、マルチメディア/ソーシャルメディアサーバ150と、ウェブサーバ155と、iXnサーバ160と、UCS165と、レポーティングサーバ170と、メディアサービス175と、を含む。
【0026】
一実施形態では、コンタクトセンターシステムは、電話又は他の通信機構を介したサービスの提供を可能にするために、リソース(例えば、作業者、コンピュータ、電気通信機器など)を管理する。このようなサービスは、コンタクトセンターの種類に応じて異なり得るものであり、顧客サービスから、ヘルプデスク、緊急応答、テレマーケティング、受注などに及ぶ。
【0027】
コンタクトセンターからサービスを受けることを望む顧客、潜在的顧客、又は他のエンドユーザ(顧客又はエンドユーザと総称される)は、エンドユーザデバイス105A、105B、及び105C(105と総称される)を介して、コンタクトセンターへのインバウンド通信(例えば、電話コール、電子メール、チャットなど)を開始することができる。エンドユーザデバイス105の各々は、当該技術分野において従来の通信デバイス、いくつかの非限定的な例を挙げると、電話、無線電話、スマートフォン、パーソナルコンピュータ、電子タブレット、ラップトップなどであってもよい。エンドユーザデバイス105を操作するユーザは、電話コール、電子メール、チャット、テキストメッセージ、ウェブブラウジングセッション、及び他のマルチメディアトランザクションを開始し、管理し、応答することができる。簡略化のために、100には3つのエンドユーザデバイス105が例解されているが、任意の数が存在し得る。
【0028】
エンドユーザデバイス105からのインバウンド通信及びエンドユーザデバイス105へのアウトバウンド通信は、使用されているデバイスのタイプに応じてネットワーク110をトラバースし得る。ネットワーク110は、電話、セルラー、及び/又はデータサービスの通信ネットワークを含み得、非限定的な例を挙げると、私設若しくは公衆交換電話網(switched telephone network、PSTN)、ローカルエリアネットワーク(local area network、LAN)、プライベートワイドエリアネットワーク(wide area network、WAN)、及び/又はインターネットなどの公衆WANを含み得る。ネットワーク110としてはまた、符号分割多元接続(code division multiple access、CDMA)ネットワーク、移動通信用のグローバルシステム(global system for mobile communications、GSM)ネットワーク、又は3G、4G、LTEなどを含むがこれらに限定されない、当該技術分野において従来の任意の無線ネットワーク/技術を含む、無線キャリアネットワークが挙げられ得る。
【0029】
一実施形態では、コンタクトセンターシステムは、エンドユーザとコンタクトセンターとの間で電話コールを送受信するための、ネットワーク110に結合されたスイッチ/メディアゲートウェイ115を含む。スイッチ/メディアゲートウェイ115としては、センター内のエージェント水準ルーティングのための中央スイッチとして機能するように構成された電話スイッチ又は通信スイッチが挙げられ得る。スイッチは、ハードウェアスイッチングシステム又はソフトウェアを介して実装されるソフトスイッチであり得る。例えば、スイッチ115は、自動コールディストリビュータ、構内交換機(private branch exchange、PBX)、IPベースのソフトウェアスイッチ、及び/又は顧客からインターネットソース型対話及び/又は電話網ソース型対話を受信し、これらの対話を、例えば、エージェント電話又は通信デバイスにルーティングするように構成された専用ハードウェア及びソフトウェアを有する任意の他のスイッチを含み得る。この例では、スイッチ/メディアゲートウェイは、例えば、顧客の電話デバイスとエージェント電話デバイスとの間の接続を確立することによって、呼び出し元の顧客とエージェント電話デバイスとの間の音声経路/接続(図示せず)を確立する。
【0030】
一実施形態では、スイッチは、例えば、スイッチと、コンタクトセンターのルーティング、監視などの通信処理構成要素のうちのスイッチ以外の部分との間のアダプタ又はインターフェースとして機能し得るコールコントローラ120に結合される。コールコントローラ120は、PSTNコール、VoIPコールなどを処理するように構成され得る。例えば、コールコントローラ120は、スイッチ/メディアゲートウェイ及びコンタクトセンター装置とインターフェースするためのコンピュータテレフォニーインテグレーション(computer-telephony integration、CTI)ソフトウェアで構成され得る。一実施形態では、コールコントローラ120は、SIPコールを処理するためのセッション開始プロトコル(session initiation protocol、SIP)サーバを含み得る。コールコントローラ120はまた、発信者の電話番号(例えば、自動番号識別(automatic number identification、ANI)番号)、顧客のインターネットプロトコル(IP)アドレス、又は電子メールアドレスなど、顧客とのインタラクションに関するデータを抽出し、インタラクションを処理するにあたりシステム100の他の構成要素と通信し得る。
【0031】
一実施形態では、システム100は、インタラクション型メディア応答(interactive media response、IMR)サーバ125を更に含む。IMRサーバ125はまた、自己ヘルプシステム、仮想アシスタントなどと称され得る。IMRサーバ125は、IMRサーバ125が音声に制限されず、更に様々なメディアチャネルをカバーし得ることを除いて、双方向型音声応答(interactive voice response、IVR)サーバと同様であってもよい。音声を例解する実施例では、IMRサーバ125は、顧客のニーズを照会するためのIMRスクリプトで構成され得る。例えば、銀行のコンタクトセンターは、顧客が自分の預金残高を取得したい場合は「1を押す」ように、IMRスクリプトを介して顧客に伝えることができる。IMRサーバ125との継続的なインタラクションを介して、顧客は、エージェントとの会話を必要とせずにサービスを完了させることが可能であり得る。IMRサーバ125はまた、「どのようなご用件でしょうか」などの自由回答式の質問をし得、顧客は、コンタクトセンターに問い合わせる理由を話すか、又は別の方法で入力することができる。顧客の応答は、適切なコンタクトセンターリソースにコール又は通信をルーティングするため、ルーティングサーバ130によって使用され得る。
【0032】
通信がエージェントにルーティングされ得る場合、コールコントローラ120は、ルーティングサーバ(オーケストレーションサーバとも称される)130と対話して、対話を処理するための適切なエージェントを見つける。インバウンド対話をルーティングするための適切なエージェントの選択は、例えば、ルーティングサーバ130によって採用されるルーティング戦略に基づき得、例えば、統計サーバ140によって提供されるエージェント可用性、スキル、及び他のルーティングパラメータに関する情報に更に基づき得る。
【0033】
一実施形態では、ルーティングサーバ130は、顧客データベースに問い合わせ得、顧客データベースは、連絡先情報、サービスレベル契約(service level agreement、SLA)要件、以前の顧客連絡先の性質、及び任意の顧客の問題を解決するためにコンタクトセンターによって取られた行動などの、既存のクライアントに関する情報を格納する。データベースは、例えば、Cassandra又は任意のNoSQLデータベースであり得、大容量ストレージデバイス135に格納され得る。データベースはまたSQLデータベースであってもよく、いくつかの非限定的な例を挙げると、例えば、Oracle、IBM DB2、Microsoft SQLサーバ、Microsoft Access、PostgreSQLなどの任意のデータベース管理システムによって管理され得る。ルーティングサーバ130は、ANI又はIMRサーバ125によって収集された任意の他の情報を介して顧客データベースに顧客情報を照会し得る。
【0034】
適切なエージェントが、通信を処理するために利用可能であると識別されると、顧客と識別されたエージェントのエージェントデバイス145A、145B、及び/又は145C(145と総称される)との間の接続がなされ得る。簡潔にするために
図1には3つのエージェントデバイスが例解されているが、任意の数のデバイスが存在し得る。顧客及び/又は顧客の履歴情報に関して収集された情報は、通信をより良好にサービスする際にエージェントを補助する目的でエージェントデバイスに提供され得、それに加えて、コンタクトセンターの管理のため管理者/監督者デバイスに提供され得る。この点に関して、各デバイス145は、定期電話通話、VoIP通話などに適合された電話を含み得る。デバイス145はまた、コンタクトセンターの1つ以上のサーバと通信し、コンタクトセンター動作に関連付けられたデータ処理を実行し、音声及び他のマルチメディア通信機構を介して顧客と対話するためのコンピュータを含み得る。
【0035】
コンタクトセンターシステム100はまた、エンドユーザデバイス105及び/又はウェブサーバ155との音声インタラクション以外のメディアインタラクションに関与するためのマルチメディア/ソーシャルメディアサーバ150を含み得る。メディアインタラクションは、例えば、電子メール、ボイスメール(電子メールを介したボイスメール)、チャット、ビデオ、テキストメッセージ、ウェブ、ソーシャルメディア、共同ブラウジングなどに関連し得る。マルチメディア/ソーシャルメディアサーバ150は、マルチメディアイベントを受信、処理、及び転送するための特殊なハードウェア及びソフトウェアを用いて、当該技術分野において従来の任意のIPルータの形態を採ることができる。
【0036】
ウェブサーバ155としては、例えば、いくつかの非限定的な例を挙げると、Facebook、Twitter、Instagramなど、エンドユーザが加入し得る様々な既知の社会交流サイトのための社会交流サイトホストが挙げられ得る。一実施形態では、ウェブサーバ155はコンタクトセンターシステム100の一部として示されているが、ウェブサーバはまた、サードパーティによって提供され得、かつ/又はコンタクトセンター構内の外側に維持され得る。ウェブサーバ155はまた、コンタクトセンターシステム100によってサポートされている企業のウェブページを提供し得る。エンドユーザは、ウェブページをブラウズし、企業の製品及びサービスに関する情報を取得することができる。ウェブページはまた、例えば、ウェブチャット、ボイスコール、電子メール、ウェブリアルタイム通信(WebRTC)などを介してコンタクトセンターに問い合わせるための機構を提供し得る。ウィジェットは、ウェブサーバ155上でホストされるウェブサイト上に展開され得る。
【0037】
一実施形態では、延期可能なインタラクション/活動も、リアルタイムインタラクションに加えて、コンタクトセンターエージェントにルーティングされ得る。延期可能なインタラクション/活動は、バックオフィス業務、又は電子メール、手紙、訓練への参加、若しくは顧客とのリアルタイム通信を必要としない他の活動に応答するなど、オフラインで実行され得る業務を含み得る。インタラクション(iXn)サーバ160は、活動を処理するのに適切なエージェントを選択するためにルーティングサーバ130と相互作用する。エージェントに割り当てられると、活動はエージェントにプッシュされ得、又はエージェントによって完了されるタスクとしてエージェントのワークビン146A、146B、146C(集合的に146)に現れ得る。エージェントのワークビンは、例えば、リンクされたリスト、アレイなどの、当該技術分野において従来の任意のデータ構造を介して実装され得る。一実施形態では、ワークビン146は、例えば、各エージェントデバイス145のバッファメモリ内に維持され得る。
【0038】
一実施形態では、大容量ストレージデバイス135は、エージェントデータ(例えば、エージェントプロファイル、スケジュールなど)、顧客データ(例えば、顧客プロファイル)、インタラクションデータ(例えば、限定するものではないが、インタラクションの理由、処理データ、待ち時間、処理時間などを含む、顧客との各インタラクションの詳細)などに関連する1つ以上のデータベースを格納し得る。別の実施形態では、データ(例えば、顧客プロファイルデータ)の一部は、大容量ストレージデバイス135又は他の場所でホストされるCRMデータベース内に保持され得る。大容量ストレージデバイス135は、当該技術分野において従来のように、ハードディスク又はディスクアレイの形態を採り得る。
【0039】
一実施形態では、コンタクトセンターシステムは、CRMデータベースに格納された情報を取得するように、かつ情報をCRMデータベースに格納されるように方向付けるように構成されたユニバーサルコンタクトサーバ(universal contact server、UCS)165を含み得る。UCS165はまた、顧客の好みの履歴及びインタラクション履歴を維持することを容易にし、エージェント、顧客通信履歴などからコメントに関するデータを捕捉し、格納するように構成され得る。
【0040】
コンタクトセンターシステムはまた、統計サーバ140によって集約されたデータからレポートを生成するように構成されたレポーティングサーバ170を含み得る。このような報告は、例えば、平均待ち時間、緩和速度、エージェント占有率などの、リソースの状態に関する、ほぼリアルタイムのレポート又は履歴レポートを含み得る。レポートは、自動的に、又はリクエスタ(例えば、エージェント/管理者、コンタクトセンターアプリケーションなど)からの特定の要求に応じて生成され得る。
【0041】
図1の様々なサーバは各々、コンピュータプログラム命令を実行し、本明細書に記述される様々な機能を実施するための他のシステム構成要素と相互作用する、1つ以上のプロセッサを含み得る。コンピュータプログラム命令は、例えば、ランダムアクセスメモリ(RAM)などの標準メモリデバイスを使用して実装されるメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的なコンピュータ可読媒体に格納され得る。サーバの各々の機能は、特定のサーバによって提供されるものとして説明されているが、当業者は、各種サーバの機能が組み合わされるか若しくは単一のサーバに統合され得ること、又は特定のサーバの機能が、本発明の実施形態の範囲から逸脱することなく、1つ以上の他のサーバ間に分散され得ることを理解すべきである。
【0042】
一実施形態では、用語「インタラクション」及び「通信」は互換的に使用され、概して、限定するものではないが、電話コール(PSTN又はVoIPコール)、電子メール、Vメール、ビデオ、チャット、画面共有、テキストメッセージ、ソーシャルメディアメッセージ、WebRTCコールなどを含む、任意の通信チャネルを使用する任意のリアルタイム及び非リアルタイムインタラクションを指す。
【0043】
メディアサービス175は、IVR又はIMRシステムのプロンプト(例えば、オーディオファイルの再生)、保留音、ボイスメール/単一相手との記録、複数相手との記録(例えば、オーディオ及び/又はビデオコール)、音声認識、デュアルトーンマルチ周波数(DTMF)認識、ファックス、オーディオ及びビデオトランスコーディング、セキュアなリアルタイム転送プロトコル(SRTP)、音声会議、ビデオ会議、コーチング(例えば、コーチが顧客とエージェントとの間のインタラクションを聞くためのサポート、及び顧客がコメントを聞くことなくコーチがエージェントにコメントを提供するためのサポート)、コール分析、及びキーワードのスポッティングなどのコンタクトセンター機能をサポートするためのオーディオ及び/又はビデオサービスを提供し得る。
【0044】
一実施形態では、構内ベースのプラットフォーム製品は、エージェントデバイス145A~C上に存在するUIを介したシステム100の構成要素へのアクセス及び制御を提供し得る。プレミスベースのプラットフォーム製品内に、グラフィカルアプリケーションジェネレータプログラムを統合することができ、これにより、ユーザは、プレミスベースのプラットフォーム製品内の様々なインタラクション処理挙動を制御するプログラム(ハンドラ)を作成することが可能となる。
【0045】
上述のように、コンタクトセンターは、クラウドベースの環境などで、一部又はすべての構成要素がリモートホストであるハイブリッドシステムとして動作することができる。便宜上、本発明の実施形態の態様は、クラウドベースの環境から構内に収容された構成要素にSaaSを提供することに関して以下に説明される。
【0046】
図2は、全体が200で示される、プロバイダの構成、インタラクションがエージェントにルーティングされたときのインタラプション(interraption)の表示、及び任意選択的に状態変化の処理を行うプロセスの一実施形態を例解するフロー図である。インターフェースプラットフォームは、プロバイダ、アプリケーション構成、及びディスプレイを含むいくつかの構成要素を含む。200に例解されているように、ホストアプリケーション200A、プロバイダファクトリ200B、動的インタラプションプロバイダ200C、SaaSパブリックAPI200D、及び外部/プライベートアプリケーションAPI200Eが示されている。はじめに、開発者又は管理者がシステム内に新しいプロバイダを作成したい場合、ホストアプリケーション200Aは、プロバイダファクトリ200Bに対して、プロバイダに対する要求「getProvidersForUser(userContext)」を送信する(202)。ホストアプリケーション200Aは、コンタクトセンター環境内で実行され得るSaaSプラットフォームを含む。プロバイダファクトリ200Bは、管理者によって構成又はインストールされるか、又はホストアプリケーション200Aに内蔵され得る複数のインタラプションプロバイダを含む。管理者によって構成又はインストールされるプロバイダは、動的インタラプションプロバイダ200Cとともに格納され得る。インタラプションプロバイダは、指定されたインタラクションの詳細及び外部要因及びデータソースを利用して、このプロバイダが指定されたインタラクションをインタラプションの形態において、動的コンテンツで装飾することを希望するかどうかを判定するソフトウェアのビットで構成される。インタラプションプロバイダは、構成され得、また動的に/プログラム的に有効であり得る。したがって、異なる組織、部門、又はユーザのために、任意の数のインタラプションプロバイダを設けることができる。また、ユーザのアクセス制御、ライセンスなどの要因により、所定のユーザが利用可能なインタラプションプロバイダのリストが変更されることもある。プロバイダファクトリ200Bは、動的インタラプションプロバイダ200Cに作成する要求を送信する(204)。動的インタラプションプロバイダ200Cは、確認応答をプロバイダファクトリ200Bに返し(206)、プロバイダファクトリ200Bは、プロバイダの配列をホストアプリケーション200Aに送信する(208)。サードパーティのインタラプションプロバイダのリストは、別の実行コンテキストで更新され、実行される(210)。
【0047】
コンタクトセンター環境内でインタラクションを受信すると、サードパーティのプロバイダは、直接メソッドコールではなく、メッセージングを介して呼び出される(212)。エージェントにルーティングされた各会話は、1つ以上のインタラプションプロバイダに渡される。一実施形態では、DSLプロバイダは、DSL文法がそれらのために解釈されるため、いかなる引数も渡されない。ホストアプリケーション200Aは、動的インタラプションプロバイダ200Cにアプリケーションの構成(例えば、インタラクションID、コールバック)を要求する。プロバイダのタイプに応じて、プロバイダは、インタラクションオブジェクト全体、インタラクションID、又は非インタラクションデータを送信することができる。動的プロバイダはまた、コールバックを送信することにより、プロバイダは、任意の時点で、インタラプションリストを動的に変更することを可能にする。動的インタラプションプロバイダ200Cは、SaaSパブリックAPI200DからインタラクションIDを使用して会話の詳細を要求する(214)。SaaSパブリックAPIは、会話の詳細を動的インタラプション(interraption)プロバイダ200Cに戻し(216)、次いで、外部プライベートアプリケーションAPI200Eからカスタマー記録を要求する(218)。外部プライベートアプリケーションAPIは、外部カスタマーレコードをオブジェクトとして、インタラプション(interraption)プロバイダ200Cに返す(220)。インタラプション(interraption)プロバイダ200Cは、インタラプション(interraption)構成をホストアプリケーション200Aに返す(222)。一実施形態では、一致するアプリケーションがない場合には、どのアプリケーションも返されない場合がある。別の実施形態では、渡されたインタラクションに該当するものが1つ以上あり得る。
【0048】
インタラプションプロバイダ200Cは、ホストアプリケーション200Aに所望のインタラプションをどのようにレンダリングするかを通知する、インターフェース構成オブジェクトのリストを返さなくてはならない(222)。他のデータの中でも、これらの構成オブジェクトは、ID、名前、アイコン、ロードするアプリケーションのURL、セキュリティ設定(iframe sandbox設定)、レイアウト及び好みのサイズ(例えば、水平対垂直、50%対75%)、及び特殊なホストアプリケーション処理(グループ化、順序など)用のためのアプリケーションタイプを含む。
【0049】
いくつかの非限定的な例を挙げると、内蔵型、DSL、及びプログラマティックを含む、いくつかの種類のインタラクションプロバイダが存在する。内蔵型のインタラプションプロバイダは、第1のクラスコードのために確保されるか、又はコンタクトセンター環境内で使用されるSaaSプラットフォームの開発者によって作成されたコードである。それらは、完全なインタラクションオブジェクトを提供し、SaaSプラットフォーム内の任意のリソースにアクセスすることができる。これらのタイプのプロバイダは、サードパーティは利用可能ではない。DSLインタラプションプロバイダは、インタラクションの詳細を確認するために使用され得るDSL文法(又はブール論理)を利用して、所与のインタラクションのためにインタラプションが示されるべきかどうかを判定する。DSLは任意のコード実行を可能にしないため、この解釈は、ホストアプリケーションのサンドボックス内で行うことができる。また、評価のために、この段階では、インタラプションプロバイダの開発者にデータを転送する必要はない。
【0050】
インタラプションプロバイダDSLは、コンタクトセンターの管理者がインストール時に指定することも、アプリケーションベンダが管理されているソリューションとして事前構成することもできる。
【0051】
最終的かつ最も高度なタイプのインタラプションプロバイダは、プログラマティックプロバイダである。このプロバイダは、隔離されたサンドボックス内で任意のチューリング完全コードを実行し、インタラプションに関する決定を下すことができる。このタイプのインタラプションプロバイダはまた、インターネット上で利用可能な任意のデータソースへの呼び出しを行い、より多くのデータを収集することができる。最後に、このプロバイダは、いつでもインタラクションに対して利用可能なインタラプションのリストを手動で更新することができる。このタイプのプロバイダは、UIシェル(又はウェブディレクトリ)に直接書き込まれる。それにより、アプリケーションの開発者は、インタラクションの変更を通知されること、機能トグル、許可などのウェブディレクトリ状態の他の詳細を監視することが可能になり、また、帯域外のアプリケーション更新コールバックへのアクセスを可能になる。
【0052】
プログラマティックインタラプションプロバイダは、特定のコンタクトセンターで使用するための高品質の動的な統合スイートを構築することを望む専門家である開発者に最も適している。様々なインタラプションプロバイダからインタラプション構成を受け取ると、ホストアプリケーション200Aは、タブ又は他のレイアウトのUIを介して、エージェント224に様々なビューを表示することができる。ホストアプリケーション200Aは、エージェントによって選択されたアクティブなインタラクションに対して、インタラプション構成によって指定された場所で、正しいインタラプションを利用可能にする。インタラプションは、ゆっくりと(又は非同期に)ロードされる。ユーザがアプリケーションのタブをクリックすると、ウェブディレクトリは、ユーザのために指定されたURLをiframeにロードする。
【0053】
一実施形態では、クライアントアプリケーションSDKを呼び出して、アプリケーションのライフサイクル(ブートストラップ、ブラー、フォーカス、ストップ)と対話することができる。ホストアプリケーション200A内のビューはまた、コマンド・アンド・コントロールUIコマンドを利用して、注意を喚起する、トーストメッセージをポップする、顧客に自動的に返信するなど、ホストアプリケーションのプログラマティック動作を要求することができる(226)。プログラマティック動作は、動的なインタラプションプロバイダ200Cから戻される(228)。
【0054】
一実施形態では、インタラクション又は外部に状態変化が存在する場合、動的インタラプションプロバイダ200Cは、コールバックを使用して、ホストアプリケーション200A内において、いつでもアプリケーションのリストを更新することができる(230)。インタラプション(interraption)のホストアプリケーション200Aの表示は、LRUアルゴリズムを使用してリフレッシュすることができる(232)。ウェブベースの製品では、ビュー自体がインラインフレーム(又は「iframe」)として作成され、サードパーティアプリケーションのコード実行の隔離を可能にする。ビューは、インタラクション間でキャッシュされ、インタラプションの状態を迅速に復元することができる。インタラプションは、構成可能な最大サイズ及び退避アルゴリズム(例えば、Least Recently Used(LRU)アルゴリズム)に基づいて、退避させることができる(例えば、同時にインタラプションの最大数に達した場合など)。アプリケーションがプールされるのは、iframeが状態を維持するためにドキュメントオブジェクトモデル(DocumentObject Model、DOM)に留まることを可能にするためであり、またDOMによって利用される総リソースを制限するためでもある。インタラプションは、すべてのアクティブなインタラクション及びプロバイダにプールされ、ウェブディレクトリによって上限が設定される。アプリケーションは、同時にインタラプションが最大数(又は他の閾値)に達した時点で、LRUアルゴリズムに基づいてプールから退避させられることがある。結果として、アプリケーションは、ユーザがアプリケーションと直接対話している場合を除いて、任意の時点で破棄され得る。このアプリケーションは、ロード/リロードが軽量であり、それが維持する状態の量を低減する。
【0055】
一実施形態では、プロバイダ、インタラクション、及びインタラプション機能は、タプルとして機能する。アプリケーションの複数のインスタンス(iframes)を、ウェブディレクトリ内で実行することができる。アプリケーションの開発者は、アプリケーションの開発者は、現在のインタラクションの状態を管理する必要がなくなる。
【0056】
一実施形態ではインタラクションが最初にエージェントにルーティングされるときに加えて、会話の変更がまた、(プロバイダのタイプにかかわらず)プロバイダの流れをトリガし得る。プロバイダは、会話(状態)の変化に加えて、(ウェブチャット又は外部の連絡先との関連付けなど)提供される可能性のある付属のコンテキストにも応答することができる。
【0057】
コンピュータシステム
【0058】
一実施形態では、説明される図の多様なサーバ、制御部、スイッチ、ゲートウェイ、エンジン、及び/又はモジュール(サーバと総称される)の各々は、当業者に理解されるように、ハードウェア又はファームウェア(例えば、ASIC)を介して実装される。多様なサーバの各々は、1つ以上のプロセッサ上で実行され、1つ以上のコンピューティングデバイス(例えば、
図3A、
図3B)において、コンピュータプログラム命令を実行し、本明細書に記載される様々な機能を実行するための他のシステム構成要素と相互作用するプロセス又はスレッドであり得る。コンピュータプログラム命令は、例えばRAMなどの標準メモリデバイスを使用してコンピューティングデバイスに実装され得るメモリに格納される。コンピュータプログラム命令はまた、例えば、CD-ROM、フラッシュドライブなどの他の非一時的コンピュータ可読媒体に格納され得る。当業者は、コンピューティングデバイスが、ファームウェア(例えば、特定用途向け集積回路)、ハードウェア、又はソフトウェア、ファームウェア、及びハードウェアの組み合わせを介して実装され得ることを認識されたい。当業者はまた、各種コンピューティングデバイスの機能が組み合わされるか若しくは単一のコンピューティングデバイスに統合され得ること、又は特定のコンピューティングデバイスの機能が、本発明の例示的な実施形態の範囲から逸脱することなく、1つ以上の他のコンピューティングデバイス間に分散され得ることを認識すべきである。サーバは、単にモジュールとも称され得るソフトウェアモジュールであり得る。コンタクトセンター内のモジュールのセットは、サーバ及び他のモジュールを含み得る。
【0059】
多様なサーバは、コンタクトセンターのエージェントと同じ物理的場所にあるオンサイトのコンピューティングデバイス上に位置し得、又は地理的に異なる場所、例えば、インターネットなどのネットワークを介してコンタクトセンターに接続されたリモートデータセンターにおいてオフサイトに位置し得る。更に、サーバのいくつかは、コンタクトセンターにあるオンサイトのコンピューティングデバイス内に位置し得、一方、他のサーバは、オフサイトのコンピューティングデバイス内に位置し得、又は冗長な機能を提供するサーバは、より優れたフォールトトレランスを提供するためにオンサイト及びオフサイトのコンピューティングデバイスの両方を介して提供され得る。いくつかの実施形態では、オフサイトのコンピューティングデバイスに配置されたサーバによって提供される機能は、かかるサーバがオンサイトにあるかのように仮想プライベートネットワーク(virtual private network、VPN)を介してアクセス及び提供され得、又は機能は、例えば、拡張可能なマークアップ言語(extensible markup language、XML)又はJSONでの符号化を使用してデータを交換することなどによって、様々なプロトコルを使用してインターネット上に機能を提供するためのサービスとしてのSaaSを使用して提供され得る。
【0060】
図3A及び
図3Bは、全体が300で示される、本発明の実施形態で用いられ得るようなコンピューティングデバイスの一実施形態を例解する図である。各コンピューティングデバイス300は、CPU305及びメインメモリユニット310を含む。
図3Aに例解されるように、コンピューティングデバイス300はまた、ストレージデバイス315、リムーバブルメディアインターフェース320、ネットワークインターフェース325、入出力(I/O)コントローラ330、1つ以上の表示デバイス335A、キーボード335B、及びポインティングデバイス335C(例えば、マウス)を含み得る。ストレージデバイス315は、限定するものではないが、オペレーティングシステム及びソフトウェアのためのストレージを含み得る。
図3Bに示すように、各コンピューティングデバイス300はまた、メモリポート340、ブリッジ345、1つ以上の追加の入出力デバイス335D、335E、及びCPU305と通信するキャッシュメモリ350など、追加の任意選択的な要素を含み得る。入出力デバイス335A、335B、335C、335D、及び335Eは、本明細書では、335と総称される場合がある。
【0061】
CPU305は、メインメモリユニット310からフェッチされた命令に応答し、それを処理する任意の論理回路である。例えば、CPU305は、集積回路に、マイクロプロセッサ、マイクロコントローラ、若しくはグラフィックス処理ユニットの形態で、又はフィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)若しくは特定用途向け集積回路(application-specific integrated circuit、ASIC)に実装され得る。メインメモリユニット310は、データを格納し、任意のストレージ位置が中央処理ユニット305によって直接アクセスされることを可能にする1つ以上のメモリチップであり得る。
図3Aに示すように、中央処理ユニット305は、システムバス355を介してメインメモリ310と通信する。
図3Bに示すように、中央処理ユニット305はまた、メモリポート340を介してメインメモリ310と直接通信し得る。
【0062】
一実施形態では、CPU305は、複数のプロセッサを含み得、命令の同時実行又は1つ以上のデータ上での単一の命令の同時実行のための機能を提供し得る。一実施形態では、コンピューティングデバイス300は、1つ以上のコアを有する並列プロセッサを含み得る。一実施形態では、コンピューティングデバイス300は、単一のグローバルアドレス空間としてすべての利用可能なメモリにアクセスする、複数のプロセッサ及び/又は複数のプロセッサコアを有する共有メモリ並列デバイスを備える。別の実施形態では、コンピューティングデバイス300は、ローカルメモリのみに各々アクセスする複数のプロセッサを有する分散メモリ並列デバイスである。コンピューティングデバイス300は、共有されているいくつかのメモリと、特定のプロセッサ又はプロセッサのサブセットによってのみアクセスされ得るいくつかのメモリと、の両方を有し得る。CPU305は、2つ以上の独立したプロセッサを単一のパッケージに、例えば、単一の集積回路(integrated circuit、IC)に組み合わせるマルチコアマイクロプロセッサを含み得る。例えば、コンピューティングデバイス300は、少なくとも1つのCPU305及び少なくとも1つのグラフィックス処理ユニットを含み得る。
【0063】
一実施形態では、CPU305は、単一命令多重データ処理(single instruction multiple data、SIMD)機能、例えば、複数のデータ上で同時に単一の命令を実行する機能を提供する。別の実施形態では、CPU305内のいくつかのプロセッサは、複数のデータ上で同時に複数の命令を実行するための機能(multiple pieces of data、MIMD)を提供し得る。CPU305はまた、単一のデバイス内でSIMD及びMIMDコアの任意の組み合わせを使用し得る。
【0064】
図3Bは、CPU305が、バックサイドバスと称されることもある2次バスを介してキャッシュメモリ350と直接通信する実施形態を示す。他の実施形態では、CPU305は、システムバス355を用いてキャッシュメモリ350と通信する。キャッシュメモリ350は典型的には、メインメモリ310よりも速い応答時間を有する。
図3Aに例解されるように、CPU305は、ローカルシステムバス355を介して様々なI/Oデバイス335と通信する。限定するものではないが、Video Electronics Standards Association(VESA)ローカルバス(VLB)、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、拡張業界標準アーキテクチャ(Extended Industry Standard Architecture、EISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture、MCA)バス、Peripheral Component Interconnect(PCI)バス、PCI拡張(PCI Extended、PCI-X)バス、PCI-Expressバス、又はNuBusを含む様々なバスが、ローカルシステムバス355として使用され得る。I/Oデバイスが表示デバイス335Aである実施形態の場合、CPU305は、Advanced Graphics Port(AGP)を介して表示デバイス335Aと通信し得る。
図3Bは、CPU305がI/Oデバイス335Eと直接通信するコンピュータ300の一実施形態を示す。
図3Bはまた、ローカルバス及び直接通信が混合される一実施形態を示す。CPU305は、I/Oデバイス335Eと直接通信している間にローカルシステムバス355を使用してI/Oデバイス335Dと通信する。
【0065】
多種多様なI/Oデバイス335は、コンピューティングデバイス300内に存在し得る。入力デバイスは、いくつかの非限定的な例を挙げると、1つ以上のキーボード335B、マウス、トラックパッド、トラックボール、マイクロフォン、及び製図台が挙げられる。出力デバイスとしては、ビデオ表示デバイス335A、スピーカ、及びプリンタが挙げられる。
図3Aに示されるI/Oコントローラ330は、例えば、キーボード335B及びポインティングデバイス335C(例えば、マウス又は光学ペン)などの1つ以上のI/Oデバイスを制御し得る。
【0066】
再び
図3Aを参照すると、コンピューティングデバイス300は、フロッピーディスクドライブ、CD-ROMドライブ、DVD-ROMドライブ、各種フォーマットのテープドライブ、USBポート、セキュアデジタル若しくはCOMPACT FLASH(商標)メモリカードポート、又は読み出し専用メディアからデータを読み取るため、若しくは読み書きメディアからデータを読み取るため、若しくは読み書きメディアにデータを書き込むために好適な任意の他のデバイスなど、1つ以上のリムーバブルメディアインターフェース320をサポートし得る。I/Oデバイス335は、システムバス355とリムーバブルメディアインターフェース320との間のブリッジであり得る。
【0067】
リムーバブルメディアインターフェース320は、例えば、ソフトウェア及びプログラムをインストールするために使用され得る。コンピューティングデバイス300は、オペレーティングシステム及び他の関連するソフトウェアを格納するための、及びアプリケーションソフトウェアプログラムを格納するための、1つ以上のハードディスクドライブ又はハードディスクドライブアレイなどのストレージデバイス315を更に含み得る。任意選択的に、リムーバブルメディアインターフェース320はまた、ストレージデバイスとして使用され得る。例えば、オペレーティングシステム及びソフトウェアは、ブータブルメディア、例えば、ブータブルCDから実行され得る。
【0068】
一実施形態では、コンピューティングデバイス300は、各々が同じ又は異なるタイプ及び/若しくは形態であり得る複数の表示デバイス335Aを含み得るか、又はそれらに接続され得る。したがって、I/Oデバイス335及び/又はI/Oコントローラ330のいずれかは、コンピューティングデバイス300による複数の表示デバイス335Aへの接続及びその使用をサポートするか、有効にするか、又は提供するために、任意のタイプ及び/若しくは形態の好適なハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含み得る。例えば、コンピューティングデバイス300は、表示デバイス335Aをインターフェース、通信、接続、ないしは別の方法で使用するための、任意のタイプ及び/若しくは形態のビデオアダプタ、ビデオカード、ドライバ、並びに/又はライブラリを含み得る。一実施形態では、ビデオアダプタは、複数の表示デバイス335Aにインターフェースするための複数のコネクタを含み得る。別の実施形態では、コンピューティングデバイス300は、複数のビデオアダプタを含み得、各ビデオアダプタは、表示デバイス335Aのうちの1つ以上に接続される。他の実施形態では、表示デバイス335Aのうちの1つ以上は、例えば、ネットワークを介してコンピューティングデバイス300に接続された1つ以上の他のコンピューティングデバイスによって提供され得る。これらの実施形態では、コンピューティングデバイス300のための第2の表示デバイス335Aとして別のコンピューティングデバイスの表示デバイスを使用するように設計及び構築された任意のタイプのソフトウェアを含み得る。当業者であれば、コンピューティングデバイス300が複数の表示デバイス335Aを有するように構成され得る様々な方法及び実施形態を認識及び理解するであろう。
【0069】
全体が
図3A及び
図3Bに示されるコンピューティングデバイスの実施形態は、オペレーティングシステムの制御下で動作し得、タスクのスケジューリング及びシステムリソースへのアクセスを制御する。コンピューティングデバイス300は、任意のオペレーティングシステム、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意のプロプライエタリオペレーティングシステム、モバイルコンピューティングデバイスのための任意のオペレーティングシステム、又はコンピューティングデバイス上で実行可能であり、本明細書に記載される動作を実行する任意の他のオペレーティングシステムを実行し得る。
【0070】
コンピューティングデバイス300は、任意のワークステーション、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、サーバマシン、ハンドル付きコンピュータ、モバイル電話若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能であり、本明細書に記載される動作を実行するために十分なプロセッサ電力及びメモリ容量を有する、任意の他のタイプ及び/又は形態のコンピューティング、電気通信若しくはメディアデバイスであり得る。いくつかの実施形態では、コンピューティングデバイス300は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有し得る。
【0071】
他の実施形態では、コンピューティングデバイス300はモバイルデバイスである。例としては、Java対応移動電話若しくはパーソナルデジタルアシスタント(PDA)、スマートフォン、デジタルオーディオプレーヤ、又はポータブルメディアプレーヤが挙げられ得る。一実施形態では、コンピューティングデバイス300としては、デジタルオーディオプレーヤ又はポータブルメディアプレーヤと組み合わされたモバイル電話など、デバイスの組み合わせが挙げられる。
【0072】
コンピューティングデバイス300は、ネットワークによって接続された複数のマシンのうちの1つであり得、又はそのように接続された複数のマシンを含み得る。ネットワーク環境としては、1つ以上のネットワークを介して1つ以上のリモートマシン(概してサーバマシン又はリモートマシンとも称され得る)と通信する1つ以上のローカルマシン、クライアントノード、クライアントマシン、クライアントコンピュータ、クライアントデバイス、エンドポイント、又はエンドポイントノードが挙げられ得る。一実施形態では、ローカルマシンは、サーバマシンによって提供されるリソースへのアクセスを求めるクライアントノード、及び他のクライアントのためのホスト型リソースへのアクセスを提供するサーバマシンの両方として機能する能力を有する。ネットワークは、LAN又はWANリンク、ブロードバンド接続、無線接続、又は上記のいずれか若しくはすべての組み合わせであってもよい。接続は、様々な通信プロトコルを使用して確立され得る。一実施形態では、コンピューティングデバイス300は、セキュアソケット層(Secure Socket Layer、SSL)又はトランスポート層セキュリティ(Transport Layer Security、TLS)など、任意のタイプ及び/又は形態のゲートウェイ又はトンネリングプロトコルを介して、他のコンピューティングデバイス300と通信する。ネットワークインターフェースとしては、コンピューティングデバイスを通信可能な任意のタイプのネットワークにインターフェースし、本明細書に記載される動作を実行するのに好適な、ネットワークインターフェースカードなどの内蔵型ネットワークアダプタが挙げられ得る。I/Oデバイスは、システムバスと外部通信バスとの間のブリッジであってもよい。
【0073】
一実施形態では、ネットワーク環境は、ネットワークの様々な構成要素が仮想化される仮想ネットワーク環境であってもよい。例えば、各種マシンは、物理マシン上で実行されるソフトウェアベースのコンピュータとして実装された仮想マシンであってもよい。仮想マシンは、同じオペレーティングシステムを共有し得る。他の実施形態では、異なるオペレーティングシステムは、各仮想マシンインスタンス上で実行され得る。一実施形態では、複数の仮想マシンが同じホスト物理マシン上で実行され、各々がそれ自体の専用ボックスを有するかのように機能する「ハイパーバイザ」タイプの仮想化が実装される。仮想マシンはまた、異なるホスト物理マシン上で実行され得る。
【0074】
例えば、ネットワーク(例えば、ソフトウェア定義ネットワーク(Software Defined Networking:SDN)を介して)など、他のタイプの仮想化も想到される。セッション境界コントローラの機能及び他のタイプの機能などの機能もまた、例えば、ネットワーク機能仮想化(Network Functions Virtualization:NFV)などを介して仮想化され得る。
【0075】
一実施形態では、大きな1組の事前接続されたオーディオ記録内のキャリアオーディオメッセージを自動的に発見するためのLSHの使用は、コンタクトセンター環境内のためのメディアサービスのサポートプロセスに適用され得る。例えば、これは、コンタクトセンターのためのコール分析プロセスを支援し、新しいキャリアオーディオメッセージを発見するために大きな組の音声記録を人間が聴く必要性を除去することを支援することができる。
【0076】
本発明は、図面及び前述の説明において詳細に例解及び記載されてきたが、これは限定的な特性ではなく、例解的なものとみなされるべきであり、好ましい実施形態のみが示され、記載されていること、並びに本明細書及び/又は以下の特許請求の範囲によって記載されるように本発明の趣旨に含まれるすべての等価物、変更、及び修正は保護されることが望ましいことが理解される。
【0077】
したがって、本発明の適切な範囲は、かかるすべての修正、並びに図面に例解され、本明細書に記載されるものに等しいすべての関係を包含するように、添付の特許請求の範囲の最も広い解釈によってのみ決定されるべきである。