(57)【要約】  自己学習型適応ルーティングの方法は、顧客から、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して、連絡を、一連のイベントとともに受信することを含むことができる。ウェブページの統一資源位置指定子（「ＵＲＬ」）をキャプチャし、一連のイベントとともに連絡にマッピングできる。一致するルーティングルールを用いて、連絡を適切な顧客サービスキューにルーティングできる。顧客サービスキューに関連付けられるエージェントは、顧客のデスクトップの共同ブラウジングプレビューを見ることができ、エージェントは、それを用いて、連絡を別の顧客サービスキューに転送できる。機械学習アルゴリズムは、ウェブページのＵＲＬ、一連のイベント、共同ブラウジングプレビュー、第２のルーティング、および第２の顧客サービスキューに関連付けられる第２のエージェントが連絡を解決したという判断に基づいて、新たなルーティングルールを作成できる。
2020520594.tif 000002
【特許請求の範囲】
【請求項１】
顧客関係管理（「ＣＲＭ」）システムを改善する方法であって、
前記ＣＲＭシステムが、顧客から連絡を受信することを備え、前記連絡は、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始され、前記方法はさらに、
前記ＣＲＭシステムが、前記顧客と前記ブラウザウィンドウ内における前記ウェブページとの対話からキャプチャされた一連のイベントを受信することと、
前記ＣＲＭシステムが、ウェブページの統一資源位置指定子（「ＵＲＬ」）をキャプチャすることと、
前記ＣＲＭシステムが、前記ウェブページの前記ＵＲＬおよび前記一連のイベントを前記連絡にマッピングすることと、
前記ＣＲＭシステムが、複数のルーティングルールを有するルールストアに問い合わせることと、
前記ＣＲＭシステムが、前記複数のルーティングルールのうちの第１のルーティングルールを前記連絡にマッチングすることと、
前記ＣＲＭシステムが、前記第１のルーティングルールに基づいて前記連絡を第１の顧客サービスキューにルーティングすることと、
前記ＣＲＭシステムが、前記ブラウザウィンドウの共同ブラウジングプレビューを、前記第１の顧客サービスキューに関連付けられる第１のエージェントのコンピュータに与えることと、
前記ＣＲＭシステムが、前記連絡の前記第１の顧客サービスキューから第２の顧客サービスキューへの第２のルーティングを検出することと、
前記ＣＲＭシステムが、前記第２の顧客サービスキューに関連付けられる第２のエージェントが前記連絡を解決したと判断することと、
前記ＣＲＭシステムが、前記ウェブページの前記ＵＲＬ、前記一連のイベント、前記共同ブラウジングプレビュー、前記第２のルーティング、および前記第２の顧客サービスキューに関連付けられる前記第２のエージェントが前記連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成することとを備える、顧客関係管理（「ＣＲＭ」）システムを改善する方法。
【請求項２】
前記方法は、前記ＣＲＭシステムが第２の顧客から第２の連絡を受信することをさらに備え、前記第２の連絡は第２のブラウザウィンドウ内の前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記方法はさらに、
前記ＣＲＭシステムが前記第２の顧客と前記第２のブラウザウィンドウ内の前記ウェブページとの第２の対話からキャプチャされる第２の一連のイベントを受信することを備え、前記第２の一連のイベントは前記第１の一連のイベントと等価であり、前記方法はさらに、
前記ＣＲＭシステムが前記ウェブページの前記ＵＲＬおよび前記第２の一連のイベントを前記第２の連絡とマッピングすることと、
前記ＣＲＭシステムが前記第２のルーティングルールを用いて前記第２の連絡を前記第２の顧客サービスキューにルーティングすることとを備える、請求項１に記載の方法。
【請求項３】
前記機械学習アルゴリズムは、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第１の顧客サービスキューから前記第２の顧客サービスキューにルーティングされた複数の連絡を、前記ＣＲＭシステムが検出することと、
前記複数の連絡のうちの閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と前記ＣＲＭシステムが判断することと、
前記閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる前記１つ以上のエージェントにより解決された、と判断されることに応答して、前記ＣＲＭシステムが、前記第２のルーティングルールを有効にして、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第２の顧客サービスキューにルーティングすることとを含む、請求項１に記載の方法。
【請求項４】
前記機械学習アルゴリズムは、さらに、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた第２の複数の連絡を、前記ＣＲＭシステムが検出することと、
前記第２の複数の連絡からの前記閾値数の連絡が、前記第３の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断されることに応答して、前記ＣＲＭシステムが、第３のルーティングルールを作成して、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングすることと、
前記ＣＲＭシステムが、前記第３のルーティングルールを有効にして、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングすることと、
前記ＣＲＭシステムが前記第２のルーティングルールを無効にすることとを含む、請求項３に記載の方法。
【請求項５】
前記第１のエージェントは、前記顧客との前記ウェブページのプレビュー共同ブラウジングに基づいて、前記連絡を前記第２の顧客サービスキューに手動でルーティングする、請求項１に記載の方法。
【請求項６】
前記一連のイベントの少なくとも１つのイベントはエラーコードを含む、請求項１に記載の方法。
【請求項７】
前記一連のイベントのうちの第１のイベントはログイン試行であり、
前記一連のイベントの第２のイベントは、失敗したログイン試行に対応するエラーコードであり、
前記第２の顧客サービスキューはセキュリティチームキューである、請求項１に記載の方法。
【請求項８】
システムであって、
プロセッサと、
命令が格納されたメモリとを備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
顧客から連絡を受信させ、前記連絡は、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始され、前記命令は、さらに、前記プロセッサによって実行されると、前記プロセッサに、
前記顧客と前記ブラウザウィンドウ内における前記ウェブページとの対話からキャプチャされた一連のイベントを受信させ、
前記ウェブページの統一資源位置指定子（「ＵＲＬ」）をキャプチャさせ、
前記ウェブページの前記ＵＲＬおよび前記一連のイベントを前記連絡とマッピングさせ、
複数のルーティングルールを有するルールストアに問い合わせさせ、
前記複数のルーティングルールのうちの第１のルーティングルールを前記連絡にマッチングさせ、
前記第１のルーティングルールに基づいて前記連絡を第１の顧客サービスキューにルーティングさせ、
前記ブラウザウィンドウの共同ブラウジングプレビューを、前記第１の顧客サービスキューに関連付けられる第１のエージェントのコンピュータに与えさせ、
前記連絡の前記第１の顧客サービスキューから第２の顧客サービスキューへの第２のルーティングを検出させ、
前記第２の顧客サービスキューに関連付けられる第２のエージェントが前記連絡を解決したと判断させ、
前記ウェブページの前記ＵＲＬ、前記一連のイベント、前記共同ブラウジングプレビュー、前記第２のルーティング、および前記第２の顧客サービスキューに関連付けられる前記第２のエージェントが前記連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成させる、システム。
【請求項９】
前記メモリは、さらなる命令を格納し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
第２の顧客から第２の連絡を受信させ、前記第２の連絡は第２のブラウザウィンドウ内の前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記第２の顧客と前記第２のブラウザウィンドウ内の前記ウェブページとの第２の対話からキャプチャされる第２の一連のイベントを受信させ、前記第２の一連のイベントは前記第１の一連のイベントと等価であり、前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページの前記ＵＲＬおよび前記第２の一連のイベントを前記第２の連絡とマッピングさせ、
前記第２のルーティングルールを用いて前記第２の連絡を前記第２の顧客サービスキューにルーティングさせる、請求項８に記載のシステム。
【請求項１０】
前記機械学習アルゴリズムは命令を含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第１の顧客サービスキューから前記第２の顧客サービスキューにルーティングされた複数の連絡を検出させ、
前記複数の連絡のうちの閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断させ、
前記閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる前記１つ以上のエージェントにより解決された、と判断されることに応答して、前記ＣＲＭシステムが、前記第２のルーティングルールを有効にして、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第２の顧客サービスキューにルーティングする、請求項８に記載のシステム。
【請求項１１】
前記機械学習アルゴリズムはさらなる命令を含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた第２の複数の連絡を検出させ、
前記第２の複数の連絡からの前記閾値数の連絡が、前記第３の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断されることに応答して、第３のルーティングルールを作成させて、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングし、
前記第３のルーティングルールを有効にさせて、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングし、
前記第２のルーティングルールを無効にさせる、請求項１０に記載のシステム。
【請求項１２】
前記第１のエージェントは、前記顧客との前記ウェブページのプレビュー共同ブラウジングに基づいて、前記連絡を前記第２の顧客サービスキューに手動でルーティングする、請求項８に記載のシステム。
【請求項１３】
前記一連のイベントからの少なくとも１つのイベントはエラーコードを含む、請求項８に記載のシステム。
【請求項１４】
前記一連のイベントのうちの第１のイベントはログイン試行であり、
前記一連のイベントの第２のイベントは、失敗したログイン試行に対応するエラーコードであり、
前記第２の顧客サービスキューはセキュリティチームキューである、請求項８に記載のシステム。
【請求項１５】
命令のセットが格納されるコンピュータ読取可能メモリデバイスであって、前記命令はプロセッサによって実行されると、前記プロセッサに、
顧客から連絡を受信させ、前記連絡はブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始され、前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記顧客と前記ブラウザウィンドウ内における前記ウェブページとの対話からキャプチャされた一連のイベントを受信させ、
前記ウェブページの統一資源位置指定子（「ＵＲＬ」）をキャプチャさせ、
前記ウェブページの前記ＵＲＬおよび前記一連のイベントを前記連絡とマッピングさせ、
複数のルーティングルールを有するルールストアに問い合わせさせ、
前記複数のルーティングルールのうちの第１のルーティングルールを前記連絡にマッチングさせ、
前記第１のルーティングルールに基づいて前記連絡を第１の顧客サービスキューにルーティングさせ、
前記ブラウザウィンドウの共同ブラウジングプレビューを、前記第１の顧客サービスキューに関連付けられる第１のエージェントのコンピュータに与えさせ、
前記連絡の前記第１の顧客サービスキューから第２の顧客サービスキューへの第２のルーティングを検出させ、
前記第２の顧客サービスキューに関連付けられる第２のエージェントが前記連絡を解決したと判断させ、
前記ウェブページの前記ＵＲＬ、前記一連のイベント、前記共同ブラウジングプレビュー、前記第２のルーティング、および前記第２の顧客サービスキューに関連付けられる前記第２のエージェントが前記連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成させる、コンピュータ読取可能メモリデバイス。
【請求項１６】
前記コンピュータ読取可能メモリデバイスは、さらなる命令を格納し、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
第２の顧客から第２の連絡を受信させ、前記第２の連絡は第２のブラウザウィンドウ内の前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記第２の顧客と前記第２のブラウザウィンドウ内の前記ウェブページとの第２の対話からキャプチャされる第２の一連のイベントを受信させ、前記第２の一連のイベントは前記第１の一連のイベントと等価であり、前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページの前記ＵＲＬおよび前記第２の一連のイベントを前記第２の連絡とマッピングさせ、
前記第２のルーティングルールを用いて前記第２の連絡を前記第２の顧客サービスキューにルーティングさせる、請求項１５に記載のコンピュータ読取可能メモリデバイス。
【請求項１７】
前記機械学習アルゴリズムは命令を含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第１の顧客サービスキューから前記第２の顧客サービスキューにルーティングされた複数の連絡を検出させ、
前記複数の連絡のうちの閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断させ、
前記閾値数の連絡が、前記第２の顧客サービスキューに関連付けられる前記１つ以上のエージェントにより解決された、と判断されることに応答して、前記ＣＲＭシステムが、前記第２のルーティングルールを有効にして、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第２の顧客サービスキューにルーティングする、請求項１５に記載のコンピュータ読取可能メモリデバイス。
【請求項１８】
前記機械学習アルゴリズムはさらなる命令を含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記ウェブページ上の前記グラフィカルユーザインターフェイスを介して開始され、前記第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた第２の複数の連絡を検出させ、
前記第２の複数の連絡からの前記閾値数の連絡が、前記第３の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断されることに応答して、第３のルーティングルールを作成させて、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングし、
前記第３のルーティングルールを有効にさせて、前記ウェブページの前記グラフィカルユーザインターフェイスを介して開始された連絡を前記第３の顧客サービスキューにルーティングし、
前記第２のルーティングルールを無効にさせる、請求項１７に記載のコンピュータ読取可能メモリデバイス。
【請求項１９】
前記第１のエージェントは、前記顧客との前記ウェブページのプレビュー共同ブラウジングに基づいて、前記連絡を前記第２の顧客サービスキューに手動でルーティングする、請求項１５に記載のコンピュータ読取可能メモリデバイス。
【請求項２０】
前記一連のイベントの少なくとも１つのイベントはエラーコードを含む、請求項１５に記載のコンピュータ読取可能メモリデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願への相互参照
この出願は、２０１５年９月１１日に提出された「キューに登録された顧客連絡の共同ブラウジングプレビュー（CO-BROWSING PREVIEW OF QUEUED CUSTOMER CONTACTS）」と題される米国特許出願第１４／８５１，２６８号に関連する。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
背景
サポートを求める着信呼を受信するコールセンターには、適切なエージェントに着信呼をルーティングできる自動システムがある場合がある。ただし、このようなシステムのルーティングルールの開発および保守は、費用および時間がかかる。多くのシステムでは、コストを抑えるために、ルーティングルールは非常に一般的なものである。その結果、顧客は多くの場合、顧客を支援することができないエージェントにルーティングされ、正しいエージェントに顧客を転送する必要があり、これは、企業にとって時間および費用がかかり、企業は怒った顧客と対峙することになり得る。たとえば、間違ったエージェントにルーティングされた顧客は、そのエージェントに接続され、３０秒をかけてエージェントに問題を説明し、エージェントが顧客を転送する必要があると伝えられ、適切なエージェントが顧客を支援するのを待って、問題を再度説明するのにさらに３０秒費やすかもしれない。顧客を支援することができないと判断するためだけにエージェントが顧客に耳を傾ける３０秒であっても、毎日数千件の着信呼をかけると、企業にとって何百万ドルもの損失になる。さらに、顧客は、解決策を得るために複数のエージェントに問題を繰り返して説明しなければならないことに腹を立てているかまたは苛立っている。そうでない場合、ルーティングルールはより洗練され、企業に合わせて調整されるが、開発および保守に費用がかかる。調整されたシステムの実装には、セットアップに数十万ドル、および維持に毎月数千ドルかかり得る。また、保守が処理されない場合、顧客が誤ってルーティングされる可能性があり、上記と同じ問題が発生する。したがって、顧客をコールセンターでエージェントにルーティングするための改善されたシステムが必要である。
【課題を解決するための手段】
【０００３】
簡単な要約
本明細書では、顧客関係管理（「ＣＲＭ」）システムを改善するための方法およびシステムについて説明する。この方法は、顧客から連絡を受信することを備えることができ、連絡は、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始される。この方法はさらに、顧客とブラウザウィンドウ内におけるウェブページとの対話からキャプチャされた一連のイベントを受信することを備えることができる。この方法はさらに、ウェブページの統一資源位置指定子（「ＵＲＬ」）をキャプチャすることと、ウェブページのＵＲＬおよび一連のイベントを連絡にマッピングすることとを備えることができる。この方法はさらに、ルーティングルールのデータベースを検索し、データベースからのルーティングルールを連絡にマッチングさせることを備えることができる。一致するルールに基づいて、顧客を適切な顧客サービスキューにルーティングできる。この方法は、顧客のブラウザウィンドウの共同ブラウジングプレビューを、顧客サービスキューに関連付けられるエージェントに与えることを備えることができる。プレビューの後、連絡の第１の顧客サービスキューから第２の顧客サービスキューへの第２のルーティングを検出することができる。この方法はさらに、第２の顧客サービスキューに関連付けられる第２のエージェントが連絡を解決したと判断することを備えることができる。この方法は、ウェブページのＵＲＬ、一連のイベント、共同ブラウジングプレビュー、第２のルーティング、および第２の顧客サービスキューに関連付けられる第２のエージェントが連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成することを備えることもできる。
【０００４】
この方法は、オプションとして、第２の顧客から第２の連絡を受信することをさらに備え、第２の連絡は第２のブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始されることができる。この方法は、オプションとして、第２の顧客と第２のブラウザウィンドウ内のウェブページとの対話からキャプチャされる第２の一連のイベントを受信することを備え、第２の一連のイベントは第１の一連のイベントと等価であることができる。この方法は、オプションとして、ウェブページのＵＲＬおよび第２の一連のイベントを第２の連絡とマッピングすることを備えることができる。この方法は、オプションとして、第２のルーティングルールを用いて第２の連絡を第２の顧客サービスキューにルーティングすることを備えることができる。
【０００５】
機械学習アルゴリズムは、オプションとして、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第１の顧客サービスキューから第２の顧客サービスキューにルーティングされた連絡を検出することを含むことができる。機械学習アルゴリズムは、オプションとして、連絡のうち充分な数の連絡が、第２の顧客サービスキューに関連付けられるエージェントにより解決された、と判断して、第２のルーティングルールを有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第２の顧客サービスキューに直接ルーティングすることを保証することを含むことができる。機械学習アルゴリズムは、さらに、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた第２の連絡のセットを検出することを含むことができる。第２の連絡のセットからの充分な数の連絡が、第３の顧客サービスキューに関連付けられるエージェントにより解決された、と判断されることに応答して、機械学習アルゴリズムは、第３のルーティングルールを作成および有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第３の顧客サービスキューにルーティングすることを含むことができる。機械学習アルゴリズムは、オプションとして、第２のルーティングルールを無効にすることを含むことができる。
【０００６】
この方法は、オプションとして、一連のイベントの少なくとも１つのイベントはエラーコードであることを含むことができる。この方法は、オプションとして、一連のイベントのうちの第１のイベントはログイン試行であり、第２のイベントは、失敗したログイン試行に対応するエラーコードであり、第２の顧客サービスキューはセキュリティチームキューであることを含むことができる。
【０００７】
改善されたＣＲＭシステムについても記載される。システムはプロセッサとメモリとを含むことができる。メモリは、プロセッサによって実行できる命令を格納できる。命令を実行することは、システムに顧客から連絡を受信させることができ、連絡は、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始されることができる。システムは、顧客とブラウザウィンドウ内におけるウェブページとの対話からキャプチャされた一連のイベントを受信することもできる。システムは、ウェブページのＵＲＬをキャプチャすることもできる。システムは、ウェブページのＵＲＬおよび一連のイベントを連絡とマッピングすることもできる。システムは、ルーティングルールを記憶するルールストアに問い合わせることもできる。システムは、第１のルーティングルールを連絡にマッチングさせることもできる。システムは、第１のルーティングルールに基づいて連絡を第１の顧客サービスキューにルーティングすることもできる。システムは、ブラウザウィンドウの共同ブラウジングプレビューを、第１の顧客サービスキューに関連付けられる第１のエージェントのコンピュータに与えることもできる。システムは、第１の顧客サービスキューから第２の顧客サービスキューへの、連絡の第２のルーティングを検出することもできる。システムは、第２の顧客サービスキューに関連付けられた第２のエージェントが連絡を解決したと判断することもできる。システムは、ウェブページのＵＲＬ、一連のイベント、共同ブラウジングプレビュー、第２のルーティング、および第２の顧客サービスキューに関連付けられる第２のエージェントが連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成することもできる。
【０００８】
メモリは、さらなる命令を含むことができ、命令は、プロセッサに、第２の顧客から第２の連絡を受信させ、第２の連絡は第２のブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始される。システムは、第２の顧客と第２のブラウザウィンドウ内のウェブページとの第２の対話からキャプチャされる第２の一連のイベントを受信することもでき、第２の一連のイベントは第１の一連のイベントと等価である。システムは、ウェブページのＵＲＬおよび第２の一連のイベントを第２の連絡とマッピングすることもできる。システムは、第２のルーティングルールを用いて第２の連絡を第２の顧客サービスキューにルーティングすることもできる。
【０００９】
機械学習アルゴリズムは、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第１の顧客サービスキューから第２の顧客サービスキューにルーティングされた連絡を検出することもできる。機械学習アルゴリズムは、さらに、連絡のうちの閾値数の連絡が、第２の顧客サービスキューに関連付けられるエージェントにより解決された、と判断することができる。閾値数の連絡が、第２の顧客サービスキューに関連付けられるエージェントにより解決された、と判断されることに応答して、機械学習アルゴリズムは、第２のルーティングルールを有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第２の顧客サービスキューにルーティングすることができる。
【００１０】
機械学習アルゴリズムは、オプションとして、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた異なる連絡を検出することができる。連絡のうちの閾値数の連絡が、第３の顧客サービスキューに関連付けられるエージェントにより解決された、と判断されることに応答して、機械学習アルゴリズムは、第３のルーティングルールを作成して、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第３の顧客サービスキューにルーティングすることができる。機械学習アルゴリズムは、さらに、第３のルーティングルールを有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第３の顧客サービスキューにルーティングすることができる。機械学習アルゴリズムは、オプションとして、第２のルーティングルールを無効にすることができる。
【００１１】
オプションとして、第１のエージェントは、顧客とのウェブページのプレビュー共同ブラウジングに基づいて、連絡を第２の顧客サービスキューに手動でルーティングすることができる。オプションとして、一連のイベントからの少なくとも１つのイベントはエラーコードである。オプションとして、一連のイベントのうちの第１のイベントはログイン試行であり、一連のイベントのうちの第２のイベントは、失敗したログイン試行に対応するエラーコードであり、第２の顧客サービスキューはセキュリティチームキューである。
【００１２】
本明細書では、コンピュータ読取可能メモリデバイスも記載される。コンピュータ読取可能メモリデバイスは、プロセッサによる実行のための命令を格納することができる。プロセッサによって実行されると、命令は、プロセッサに、顧客から連絡を受信させることができ、連絡は、ブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始されることができる。プロセッサは、顧客とブラウザウィンドウ内におけるウェブページとの対話からキャプチャされた一連のイベントを受信することもできる。プロセッサは、さらに、ウェブページのＵＲＬをキャプチャすることができる。プロセッサは、ウェブページのＵＲＬおよび一連のイベントを連絡とマッピングすることもできる。プロセッサは、複数のルーティングルールを有するルールストアに問い合わせることもできる。プロセッサは、複数のルーティングルールのうちの第１のルーティングルールを連絡にマッチングすることもできる。プロセッサは、第１のルーティングルールに基づいて連絡を第１の顧客サービスキューにルーティングすることもできる。プロセッサは、ブラウザウィンドウの共同ブラウジングプレビューを、第１の顧客サービスキューに関連付けられる第１のエージェントのコンピュータに与えることもできる。プロセッサは、第１の顧客サービスキューから第２の顧客サービスキューへの、連絡の第２のルーティングを検出することもできる。プロセッサは、さらに、第２の顧客サービスキューに関連付けられた第２のエージェントが連絡を解決したと判断することができる。プロセッサは、ウェブページのＵＲＬ、一連のイベント、共同ブラウジングプレビュー、第２のルーティング、および第２の顧客サービスキューに関連付けられる第２のエージェントが連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成することもできる。
【００１３】
オプションとして、プロセッサは、第２の顧客から第２の連絡を受信することができ、第２の連絡は第２のブラウザウィンドウ内のウェブページ上のグラフィカルユーザインターフェイスを介して開始されることができる。プロセッサは、オプションとして、第２の顧客と第２のブラウザウィンドウ内のウェブページとの第２の対話からキャプチャされる第２の一連のイベントを受信することもでき、第２の一連のイベントは第１の一連のイベントと等価である。プロセッサは、オプションとして、ウェブページのＵＲＬおよび第２の一連のイベントを第２の連絡とマッピングすることもできる。プロセッサは、オプションとして、第２のルーティングルールを用いて第２の連絡を第２の顧客サービスキューにルーティングすることもできる。
【００１４】
オプションとして、プロセッサは、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第１の顧客サービスキューから第２の顧客サービスキューにルーティングされた複数の連絡を検出することができる。プロセッサは、オプションとして、複数の連絡のうちの閾値数の連絡が、第２の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断することもできる。閾値数の連絡が、第２の顧客サービスキューに関連付けられるエージェントにより解決された、と判断されることに応答して、プロセッサは、さらに、オプションとして、第２のルーティングルールを有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第２の顧客サービスキューにルーティングすることができる。
【００１５】
オプションとして、機械学習アルゴリズムは、ウェブページ上のグラフィカルユーザインターフェイスを介して開始され、第２の顧客サービスキューから第３の顧客サービスキューにルーティングされた第２の複数の連絡を検出することを含むことができる。第２の複数の連絡からの閾値数の連絡が、第３の顧客サービスキューに関連付けられる１つ以上のエージェントにより解決された、と判断されることに応答して、機械学習アルゴリズムは、さらに、オプションとして、第３のルーティングルールを作成して、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第３の顧客サービスキューにルーティングすることを含むことができる。機械学習アルゴリズムは、さらに、第３のルーティングルールを有効にして、ウェブページのグラフィカルユーザインターフェイスを介して開始された連絡を第３の顧客サービスキューにルーティングすることができる。機械学習アルゴリズムは、さらに、オプションとして、第２のルーティングルールを無効にすることを含むことができる。
【００１６】
オプションとして、第１のエージェントは、顧客とのウェブページのプレビュー共同ブラウジングに基づいて、連絡を第２の顧客サービスキューに手動でルーティングする。オプションとして、少なくとも１つのイベントはエラーコードである。
【図面の簡単な説明】
【００１７】
【図１】一実施形態による自己学習型適応ルーティングシステムを提供するためのシステムのハイレベルの機能コンポーネントを示すブロック図である。
【図２】一実施形態による自己学習型適応ルーティングシステムを提供する方法を示す。
【図３】一実施形態による自己学習モジュールのプロセスを示すフローチャートである。
【図４】一実施形態による、ルールストア内においてマッチングルールを検索するプロセスを示すフローチャートである。
【図５】さまざまな実施形態が実装され得る例示的な分散型システムのコンポーネントを示すブロック図である。
【図６】実施形態によって提供されるサービスがクラウドサービスとして提供され得るシステム環境のコンポーネントを示すブロック図である。
【図７】実施形態が実装され得る例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【００１８】
詳細な説明
顧客サポートエージェント（ここでは顧客サービスエージェント、サービスエージェント、サポートエージェント、およびエージェントとも呼ばれる）は、顧客と問題について少しの間話し合った後、自分がその問題について顧客を支援できないと判断し、その結果、その顧客を別のエージェントまたはサポートキュー（ここでは、顧客サービスキュー、顧客サポートキュー、エージェントキュー、エージェントサポートキュー、キューとも呼ぶ）に転送する立場にあることがわかることがよくある。特にコンピュータチャットの場合、エージェントは、場合によっては、顧客がそもそも正しいエージェントに向けられていなかったことを知る前に、顧客を転送する必要があると判断できる。本明細書では、顧客が誤った転送を知ることなく、顧客を正しいエージェントにルーティングする自己学習型適応ルーティングシステムのためのシステムおよび方法について説明する。時間が経つにつれて、自己学習型適応ルーティングシステムは、不正確な転送を最小限に抑えることができる。
【００１９】
ここで説明する自己学習型適応ルーティングシステムが他のシステムよりも優れている点は、システムが機械学習を利用して、システムをインストールして利用している企業の専門システムになることである。すべての企業は同じまたは類似の元のシステムで開始し得るが、時間の経過とともに、システムが汎用システムからシステムを実行する企業のために独自に構築された非常に特殊なシステムに変換できるルールが自動的に学習（つまり作成および有効化）される。このタイプの特殊なシステムは、過去においては開発および保守に費用がかかったが、ここで説明する技術は、技術的に高度な機械学習を用いて、より費用効率が高く正確な実装形態を可能にする解決策を提供する。
【００２０】
以下の記載では、説明の目的で、さまざまな実施形態の完全な理解を促すために、多数の特定の詳細が述べられる。しかしながら、これらの特定の詳細の一部がなくても実施形態を実施できることは、当業者には明らかであろう。他の例では、周知の構造およびデバイスがブロック図形式で示される。
【００２１】
以下の説明は、例示的な実施形態のみを提供するものであり、本開示の範囲、適用可能性、または構成を限定することを意図したものではない。むしろ、例示的な実施形態の以下の説明は、例示的な実施形態を実施するための実施可能な説明を当業者に提供するであろう。特許請求の範囲に記載されている本発明の精神および範囲から逸脱することなく、要素の機能および構成にさまざまな変更を加えることができることを理解されたい。
【００２２】
具体的な詳細が、以下の説明において、実施の形態の十分な理解を与えるよう与えられる。しかしながら、当業者には、実施の形態はこれらの具体的な詳細なしに実施されてもよいことが理解される。例えば、回路、システム、ネットワーク、プロセスおよび他のコンポーネントは、実施の形態を不必要な詳細において曖昧にしないように、ブロック図形式におけるコンポーネントとして示され得る。他の例では、周知の回路、プロセス、アルゴリズム、構造および技術は、実施の形態を曖昧にすることを回避するために、不必要な詳細なしに示され得る。
【００２３】
さらに、個々の実施の形態は、フローチャート、フロー図、データフロー図、構造図またはブロック図として示されるプロセスとして記載され得ることが注記される。フローチャートは動作をシーケンシャルなプロセスとして記載するかもしれないが、動作の多くは並列または同時に実行され得る。加えて、動作の順序は再構成されてもよい。プロセスは、その動作が完了されるときに終結されるが、図に含まれない追加のステップを含み得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合では、その終結は、その関数が呼出関数または主関数に戻ることに対応し得る。
【００２４】
「機械読取可能媒体」という語は、命令および／またはデータを記憶するか、含むか、または担持することができるポータブルまたは固定された記憶装置、光記憶装置、およびさまざまな他の非一時的媒体を含むが、それらに限定はされない。コードセグメントまたは機械実行可能命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組み合わせを表現してもよく、機械読取可能媒体上に記憶される。コードセグメントは、実行中に、情報、データ、引数、パラメータ、もしくはメモリコンテンツを渡す、および／または受取ることによって、別のコードセグメントまたはハードウェア回路に結合されてもよい。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ受渡し、トークン受渡し、ネットワーク伝送などを含む任意の好適な手段を介して渡されるか、転送されるか、または伝送されてもよい。
【００２５】
さらに、実施の形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいて実現される場合には、必要なタスクを実行するプログラムコードまたはコードセグメントを機械読取可能媒体に記憶してもよい。プロセッサは必要なタスクを実行してもよい。
【００２６】
図１は、自己学習型適応ルーティングシステムを提供するためのシステムのハイレベルの機能コンポーネントを示すブロック図である。この例では、システム１００は、顧客関係管理（「ＣＲＭ」）システム１０５、サポートユーザインターフェイス（「ＵＩ」）１３０、着信呼自動分配（「ＡＣＤ」）システム１４０、エージェントネットワーク１６０、ならびにエージェント１６５、１７０、および１７５を含む。
【００２７】
ＣＲＭシステム１０５は、図７で説明されるように、サーバまたは別のコンピューもしくはコンピューティングデバイス上で実行することができる。ＣＲＭシステム１０５は、製品／サービス情報データベース１１０、ワークフローデータベース１１５、サポートインターフェイスモジュール１２０、ワークフローモジュール１２５、共同ブラウジングモジュール１３５、および学習モジュール１６５を含むことができる。
【００２８】
製品／サービス情報データベース１１０は、ＣＲＭシステム１０５によってサポートされる製品および／またはサービスのための情報を含むデータベースであり得る。製品／サービス情報データベース１１０は、図７に記載されているようなコンピュータシステム内の記憶装置に記憶することができる。製品／サービス情報データベース１１０は、ワークフローモジュール１２５に通信可能に結合され、ワークフローモジュール１２５が製品／サービス情報データベース１１０に記憶された製品／サービス情報に照会できるようにすることができる。
【００２９】
ワークフローデータベース１１５は、ＣＲＭシステム１０５によって利用される任意の数のワークフローを定義する情報を含むデータベースであり得る。ワークフローデータベース１１５は、図７に記載されているようなコンピュータシステム内の記憶装置に記憶することができる。一般的に、これらのワークフローは、情報の検索または問題のトラブルシューティングを試みる顧客連絡をガイドするため、トラブルシューティングの実行を通して顧客サービスエージェントを選択および／もしくはガイドするため、またはＣＲＭシステム１０５の他のアクションのためのスクリプトを含むことができる。ワークフローデータベース１１５は、ワークフローモジュール１２５に通信可能に結合されて、ワークフローモジュール１２５がワークフローデータベース１１５に記憶されたワークフローを照会できるようにすることができる。
【００３０】
サポートインターフェイスモジュール１２０は、ＣＲＭシステムをサポートＵＩ１３０とインターフェイスすることができる。サポートインターフェイスモジュール１２０は、ウェブページ、電子メールアドレス、電話回線、チャットおよび／もしくはインスタントメッセージ、ならびに／またはさまざまな他の通信チャネルのいずれかを含む１つ以上のサポートＵＩ１３０をシステム１００の顧客ユーザに提供することができる。
【００３１】
ワークフローモジュール１２５は、ワークフロー１１５、製品／サービス情報１１０、サポートインターフェイスモジュール１２０、学習モジュール１６５、およびルーティングモジュール１４５と通信可能に結合することができる。ワークフローモジュールは、顧客連絡を処理するためにエージェント１６５、１７０、１７５が用いることができる適切なワークフロー１１５を選択できる。
【００３２】
共同ブラウジングモジュール１３５は、サポートインターフェイスモジュールおよびエージェントネットワーク１６０と通信可能に結合することができる。共同ブラウジングモジュール１３５は、エージェント１６５、１７０、１７５がサポートインターフェイスモジュール１２０およびサポートＵＩ１３０を介して顧客と共同ブラウジングできるようにすることができる。特に、共同ブラウジングモジュール１３５は、エージェントが顧客連絡のウェブブラウザをプレビュー共同ブラウジングできるようにすることができる。プレビュー共同ブラウジングは、２０１５年９月１１日に提出された「CO-BROWSING PREVIEW OF QUEUED CUSTOMER CONTACTS（キューに登録された顧客連絡の共同ブラウジングプレビュー）」と題される米国特許出願第１４／８５１，２６８号に詳細に記載されている。
【００３３】
学習モジュール１６５は、ワークフローモジュール１２５、ルーティングモジュール１４５、エージェントネットワーク１６０、およびルーティングルールデータベース１８０に通信可能に結合することができる。学習モジュールは、着信呼自動配信システム１４０で自動または手動で発生するルーティングを評価し、顧客連絡の解決に基づいて適切なルーティングを学習できる。この学習された情報に基づいて、本明細書でさらに詳細に説明するように、新たなルーティングルールを作成し、ルーティングルールデータベース１８０内でさまざまなルーティングルールを有効または無効にすることができる。
【００３４】
サポートＵＩ１３０は、顧客デバイス上でアクセス可能なユーザインターフェイスとすることができる。顧客は、サポートＵＩ１３０を用いて、サポートを要求し、支援を求めてエージェント１６５、１７０、１７５と接続することができる。サポートＵＩ１３０は、顧客デバイス上のウェブブラウザで閲覧可能なウェブページに組み込むことができる。オプションとして、サポートＵＩ１３０は、顧客デバイス上で実行されるアプリケーションとすることができる。
【００３５】
ＡＣＤシステム１４０は、エージェントプロファイル情報データベース１５０、ルーティングモジュール１４５、エージェントキュー１５５、およびルーティングルールデータベース１８０を含むことができる。ＡＣＤシステム１４０は、図７で説明されるように、サーバまたは別のコンピュータもしくはコンピューティングデバイスで実行することができる。オプションとして、ＡＣＤシステム１４０はＣＲＭシステム１０５の一部とすることができる。オプションとして、ＣＲＭシステム１０５およびＡＣＤシステム１４０は、同じサーバ上で実行することができる。
【００３６】
エージェントプロファイル情報データベース１５０は、エージェント１６５、１７０、１７５の可用性およびスキルを含むエージェントプロファイル情報を含むデータベースであり得る。エージェントプロファイル情報データベース１５０は、図７に記載されているようなコンピュータシステム内の記憶装置に記憶することができる。エージェントプロファイル情報データベース１５０は、ルーティングモジュール１４５がエージェントプロファイル情報についてエージェントプロファイル情報データベース１５０に問い合わせることができるように、ルーティングモジュール１４５に通信可能に結合することができる。
【００３７】
ルーティングモジュール１４５は、エージェントプロファイル情報データベース１５０、エージェントキュー１５５、学習モジュール１６５、ワークフローモジュール１２５、およびルーティングルールデータベース１８０に通信可能に結合することができる。ルーティングモジュール１４５は、ルーティングルールデータベース１８０のルーティングルールおよびエージェントプロファイル情報データベース１５０のエージェントスキル情報に基づいて顧客連絡をルーティングするよう正しいエージェント１６５、１７０、１７５を識別することができる。
【００３８】
エージェントキュー１５５は、エージェント１６５、１７０、１７５が利用可能になるのを待つ間、顧客連絡を一時的に収容するように設計されたキューであり得る。キューは、複数のエージェント１６５、１７０、１７５によって処理されるキューとすることができる。オプションで、各キューを単一のエージェント１６５、１７０、１７５に割り当てることができる。エージェントキュー１５５にある間、エージェントキュー１５５に割り当てられたエージェント１６５、１７０、１７５は、キュー内の顧客連絡を見ることができ、共同ブラウジングモジュール１３５を利用して顧客のウェブページをプレビュー共同ブラウジングしてどのように顧客を支援することが最善かを判断できる。
【００３９】
ルーティングルールデータベース１８０は、顧客連絡を正しいエージェントキュー１５５にルーティングするためのルーティングルールを含むデータベースであり得る。ルーティングルールデータベース１８０は、図７に記載されているようなコンピュータシステム内の記憶装置に記憶することができる。ルーティングルールデータベース１８０は、学習モジュール１６５およびルーティングモジュール１４５に通信可能に結合され得る。
【００４０】
エージェント１６５、１７０、１７５は、エージェントキュー１５５でサポートを待っている顧客連絡を解決するよう働く顧客サービスエージェントであり得る。エージェント１６５、１７０、１７５は、スキルおよび他の関連情報を有することができ、それらはエージェントプロファイル情報データベース１５０に記憶することができる。エージェント１６５、１７０、１７５は、エージェントネットワーク１６０を介してＡＣＤシステム１４０およびＣＲＭシステム１０５に通信可能に結合することができる。
【００４１】
使用中、ＣＲＭシステム１０５は、製品またはサービスのエンドユーザなどの多数のユーザをサポートすることができる。ＣＲＭシステム１０５は、それらのユーザからサポートまたはサービスの要求を受信し、ユーザを製品／サービス情報データベース１１０内の適切な製品またはサービス情報に向け、ならびに／または要求で提示された質問への回答のために要求ユーザを１つ以上のエージェント１６５、１７０、１７５に接続および／もしくは向けるために、それらの要求を処理することができる。ユーザはサポートＵＩ１３０を利用して、要求を顧客関係管理システム１０５に通信することができる。例えば、ＣＲＭシステム１０５のサポートインターフェイスモジュール１２０は、ウェブページ、電子メールアドレス、電話回線、チャットおよび／もしくはインスタントメッセージング、および／またはさまざまな他の通信チャネルのいずれかを含むがこれらに限定されない１つ以上のサポートＵＩ１２５をシステム１００の顧客ユーザに提供することができる。サポートＵＩ１３０を介して、顧客はＣＲＭシステム１０５に連絡して、情報にアクセスし、および／またはエージェント１６５、１７０、１７５によって回答されるべき質問を含んでもよいサポートに対する要求を行うことができる。サポートＵＩ１３０は、さらに、ユーザのデスクトップまたは現在のウェブページ上のアクティビティに関する情報をサポートインターフェイスモジュール１２０に送信することができる。例えば、サポートＵＩ１３０は、一連のイベントをサポートインターフェイスモジュール１２０に送信することができる。一連のイベントは、サポートＵＩ１３０またはサポートＵＩ１３０が埋め込まれているウェブページとの顧客の対話中に収集されたキーストローク、エラーコード、およびその他の情報であり得る。
【００４２】
顧客連絡および一連のイベントを含む他の情報は、ＣＲＭシステム１０５によって受信されると、例えば、ワークフローデータベース１１５からエージェントワークフローを選択するために、製品／サービス情報データベース１１０の製品情報に基づいてワークフローモジュール１２５によって評価され得る。すなわち、連絡の主題である特定の製品および問題について、実行されるべきワークフロー（たとえば、問題のトラブルシューティングのため、詳細情報の取得のためなど）を、顧客サービスエージェント１６５、１７５、１７５によるパフォーマンスのために選択できる。製品情報、選択されたワークフロー、および連絡とともに受信されたその他の情報は、ＡＣＤシステム１４０のルーティングモジュール１４５に転送でき、ルーティングモジュール１４５は、その連絡を、選択されたエージェント１６５、１７０、１７５に関連付けられる、一致する専門知識を有するエージェントキュー１５５に向ける。例えば、ルーティングモジュール１４５は、製品情報、選択されたワークフロー、関連付けられる顧客、およびワークフローモジュールから受け取られる他の情報に基づいて、ルーティングルールデータベース１８０から、顧客連絡に当てはまるルーティングルールを識別することができる。ルーティングモジュール１４５は、ルーティングルールに基づいて、連絡の性質に適した、エージェントプロファイル情報データベース１５０で定義されたスキルセットを有するエージェント１６５、１７０、１７５を特定し、顧客を電子メール、電話、チャットおよび／もしくはインスタントメッセージング、ならびに／または他のさまざまな通信チャネルのいずれかを介してそのエージェントと接続することができる。
【００４３】
エージェント１６５、１７０、１７５がエージェントキュー１５５で連絡を確認できると、エージェント１６５、１７０、１７５は、共同ブラウジングする連絡を選択でき、これは、共同ブラウジングモジュール１３５によって許可される。共同ブラウジングにより、双方はほぼリアルタイムで画面画像を共有できる。例えば、エージェント１６５、１７０、１７５は、彼または彼女自身のインターフェイスを介して、顧客のデスクトップおよび／またはブラウザウィンドウの現在のビューを見ることができる。ウェブブラウザを介したそのような画面共有は、本明細書では共同ブラウジングと呼ばれる。さらに、エージェント１６５、１７０、１７５は、プレビュー共同ブラウジングをすることができ、これは、エージェント１６５、１７０、１７５が、エージェントＵＩ（図示せず）を用いてエージェントキュー１５５内の顧客連絡を見ることができることを意味する。エージェントは、エージェントＵＩを介して、プレビュー共同ブラウジングする顧客連絡を選択でき、エージェント１６５、１７０、１７５が、通信のために顧客連絡を受け入れる前に、エージェント自身のインターフェイスを介して、顧客のデスクトップおよび／またはブラウザウィンドウの現在のビューを見ることを可能にする。このようにして、顧客は、エージェント１６５、１７０、１７５の共同ブラウジング後までエージェント１６５、１７０、１７５と通信しなくてもよい。
【００４４】
別の言い方をすれば、顧客連絡がエージェント１６５、１７０、１７５に割り当てられた後、その顧客が実際にそのエージェントに接続されるまで（つまり、エージェント１６５、１７０、１７５がセッションを開始するのを顧客が待っている間、またはそのセッションを開始するよう顧客がエージェント１６５、１７０、１７５に当てはまっている間）、連絡をエージェントキュー１５５に割り当てることができる。エージェント１６５、１７０、１７５が選択され、顧客連絡がそのエージェント１６５、１７０、１７５に割り当てられ、連絡がエージェントのキュー１５５に入れられると、共同ブラウジングモジュール１３５はエージェント１６５、１７０、１７５にその顧客のブラウザのビューを提供することができ、エージェント１６５、１７０、１７５が、連絡の性質および顧客の現在の状況を、より迅速に、よりよく理解できるようにする。このプレビューに基づいて、エージェント１６５、１７０、１７５は、連絡をどのように処理するのが最善か（つまり、連絡をチャット、音声通話として処理するか、連絡を別のエージェントに転送するかなど）を判断できる。
【００４５】
顧客のデスクトップおよび／またはブラウザウィンドウをプレビュー共同ブラウジングした後、エージェント１６５、１７０、１７５は、たとえば、顧客連絡を異なるエージェント／エージェントキュー１５５にルーティングする必要があると判断することができる。一例として、おそらく、エージェントは、プレビュー共同ブラウジングに基づいて、顧客が企業のウェブサイト上のアカウントにログインするのに問題があることがわかる。エージェントが一般的な顧客サービス部門にいる場合、顧客は本当はセキュリティ部門のエージェントと話す必要がある、と判断するかもしれない。顧客と通信することなく、エージェントは顧客連絡をセキュリティエージェントキューに転送して、セキュリティ部門のエージェントが処理できるようにする。このように、顧客は自分が転送されたことさえ知らない。
【００４６】
顧客連絡を別のエージェントキュー１５５に手動で転送すると、学習モジュール１６５にトランザクションをレビューさせることができる。例えば、学習モジュール１６５は、顧客連絡が第１のエージェントから第２のエージェントキュー１５５にルーティングされたことを示すものを受け取ることができる。学習モジュール１６５は、オプションでルーティングルールデータベース１８０に問い合わせて、新たなルーティングに一致するルーティングルールが存在するかどうかを判定することができる。例えば、学習モジュール１６５は、ウェブページＵＲＬおよび一連のイベントに基づいて、異なるエージェントキューにルーティングするルーティングルールについて、ルーティングルールデータベース１８０に問い合わせることができる。そのようなルーティングルールが存在する場合、学習モジュールはそのルーティングルールに関連付けられたカウンタを増分することができる。ルーティングルールカウンタがしきい値数を超えた場合、学習モジュールはルーティングルールが有効であると判断し、ルーティングルールを有効にすることができる。学習モジュールが、一致するルーティングルールを見つけられない場合、学習モジュールは一致するルーティングルールを作成し、そのルーティングルールに関連付けられたカウンタを生成し、たとえば、そのカウンタを１にセットする。このプロセスは、時間が経つにつれて、ルーティングルールがその企業にとってますます固有になるように、すべての連絡に対して続行できる。より具体的なルールにより、連絡を、その連絡に関連付けられた情報（顧客情報、一連のイベント、ＵＲＬなど）に基づいて、適切なキューに、さらに正確にルーティングできる。より多くのルールを有効化および作成できる結果、その企業に特化したシステムが作成される。
【００４７】
図１では２つの別個のシステムとして記載されるが、ＣＲＭシステム１０５およびＡＣＤシステム１４０は単一のシステムとすることができる。ＣＲＭシステム１０５およびＡＣＤシステム１４０は、当業者によって理解されるように、単一のサーバ上または分散型システム上に実装することができる。さらに、図１に示される個々のモジュール（例えば、学習モジュール１６５、共同ブラウジングモジュール１３５など）は、当業者によって理解されるように、組み合わされるかまたはさらに分散されることを含んで、異なるように構成され得る。さらに、図１は一実施形態を説明するが、当業者によって理解されるように、他のルーティングシステムおよび構成を用いることができる。
【００４８】
図２は、自己学習型適応ルーティングシステムを提供する方法２００である。方法２００は、図７で説明するコンピュータシステムなどのコンピュータシステムによって実行することができる。方法２００は、例えば、図１のＣＲＭシステム１０５によって実行することができる。方法２００は、２０５で始まり、ブラウザにおけるウェブページ上のグラフィカルユーザインターフェイスを介して顧客から連絡を受信することができる。例えば、図１のサポートＵＩ１３０は、顧客のコンピュータ上のブラウザにおけるウェブページ上にあることができる。顧客は、サポートＵＩを介してＣＲＭシステムに連絡を送信できる。
【００４９】
２１０で、ＣＲＭシステムは、顧客とウェブページとの対話から一連のイベントを受信することができる。例えば、顧客は、ウェブページ上のボタンまたはリンクをクリックした後にエラーに遭遇した可能性があり、それをキャプチャして、顧客連絡とともに一連のイベントとしてサポートインターフェイスモジュール１２０に送信することができる。
【００５０】
２１５で、ＣＲＭシステムはウェブページのＵＲＬをキャプチャできる。例えば、ＵＲＬは、顧客連絡とともにサポートインターフェイスモジュール１２０に送信することができる。オプションとして、例えば、サポートインターフェイスモジュール１２０はＵＲＬ情報を要求することができる。情報を取得した後、例えば、サポートインターフェイスモジュール１２０は、その情報をワークフローモジュール１２５に渡すことができる。
【００５１】
２２０で、ＣＲＭシステムは、ウェブページのＵＲＬおよび一連のイベントを連絡とマッピングできる。マッピング情報は一時メモリに保存できるか、または、たとえば、現在保留中の顧客連絡に関連付けられた情報を管理するために使用されるデータベースに保存できる。図１には単一のサポートＵＩ１３０として示されるが、ＣＲＭシステム１０５は、任意の数の顧客デバイス上の任意の数のサポートＵＩ１３０を処理することができる。
【００５２】
２２５で、ＣＲＭシステムはルールストアに問い合わせ、ルールストアからのルーティングルールを連絡にマッチングすることができる。例えば、ルーティングモジュール１４５は、ルーティングルールデータベース１８０に問い合わせて、顧客連絡およびマッピングされた情報に基づいて一致するルーティングルールを見つけることができる。たとえば、ＵＲＬ、一連のイベント、および顧客連絡をすべて用いて、一致するルールを識別できる。一例として、顧客連絡に関連付けられる顧客はＶＩＰ顧客であり、ＶＩＰ顧客に上質なサービスを提供するようＶＩＰキューへの特別なルーティングルール（ＶＩＰルールなど）を有することができる。別の例として、顧客連絡が特定のＵＲＬから発信されたときに顧客連絡を特定のキューにルーティングするルーティングルール（ＵＲＬルールなど）が存在する場合がある。さらに別の例として、連絡が特定のＵＲＬから発信され、マッピングされた一連のイベントを有する場合に、顧客を別の特定のキューにルーティングするルーティングルール（イベントルールなど）が存在する場合がある。さらにもう１つの例として、他の一致するルールがない場合に顧客を一般的なキューにルーティングする汎用ルーティングルール（デフォルトルールなど）が存在する場合がある。さまざまなルーティングルールの例（ＶＩＰルール、ＵＲＬルール、イベントルール、およびデフォルトルール）をたとえばすべて有効にすることができる。さらに、ルーティングルールの例は、各々、単一の顧客連絡に適用できる。オプションで、ルールに優先度を付けることができ、たとえば、ＶＩＰルールが最高の優先度を有し、イベントルールがＵＲＬルールを上書きし、デフォルトルールが最低の優先度を有するようにすることができる。
【００５３】
２３０で、ＣＲＭシステムは、一致したルーティングルールに基づいて連絡を顧客サービスキューにルーティングすることができる。別の言い方をすれば、ＣＲＭシステムが一致するルーティングルールを特定すると、そのルーティングルールを用いて顧客連絡を適切なエージェントキューにルーティングできる。ルーティングルールでは、エージェントをスキルに基づいて選択することもでき、スキルはエージェントプロファイルデータベースから取得できる。
【００５４】
２３５において、ＣＲＭシステムは、エージェントキューから顧客連絡をピックアップする（すなわち作業を開始する）エージェントに共同ブラウジングプレビューを提供することができる。例えば、図１の共同ブラウジングモジュール１３５は、エージェント１６５、１７０、１７５が顧客のウェブページ、ウェブブラウザ、および／またはデスクトップを見ることができるようにすることができる。共同ブラウジングプレビューは、顧客が支援を必要とする可能性があるものを判断するために、より多くの情報をエージェントに提供できる。たとえば、顧客の画面に、顧客がログインプロンプトでログインが無効であることを示すエラーがあることが表示されている場合、エージェントは顧客がログイン支援を得ようとしていると判断し得る。その情報に基づいて、エージェントは顧客をセキュリティエージェントキューにルーティングする必要があると判断でき、顧客連絡をセキュリティエージェントキューに手動でルーティングできる。
【００５５】
２４０で、ＣＲＭシステムは、第１の顧客サービスキューから第２の顧客サービスキューへの、連絡の第２のルーティングを検出することができる。例えば、図１の学習モジュール１６５は、第２のルーティングを、上記の例にあるように、エージェントからセキュリティエージェントキューへの第２のルーティングを検出できる。検出は、たとえば、手動ルーティングが通知をトリガーするからであり得る。別の例として、検出は、手動ルーティングを識別するためにサービスが定期的に実行されるからであり得る。任意の適切な検出方法を用いることができる。
【００５６】
２４５で、ＣＲＭシステムは、第２の顧客サービスキューに関連付けられた第２のエージェントが連絡を解決したと判断することができる。たとえば、顧客連絡のステータスが解決済みにセットされると、ＣＲＭシステムは、連絡を受信した最後のエージェントが連絡を解決したと判断できる。上記のセキュリティキューの例を続けると、それ以上ルーティングが行われず、連絡が解決済みとしてマーキングされている場合、システムはセキュリティエージェントキューに関連付けられたエージェントが連絡を解決したと判断できる。
【００５７】
２５０で、ＣＲＭシステムは、ＵＲＬ、一連のイベント、共同ブラウジングプレビュー、第２のルーティング、および第２のエージェントが連絡を解決したという判断に基づいて、機械学習アルゴリズムを用いて第２のルーティングルールを作成できる。たとえば、ＵＲＬおよび一連のイベントを用い、連絡を、連絡の解決を担当したエージェントキューにルーティングするであろう、一致するルールがなかった場合、ＣＲＭシステムはルーティングルールを作成できる。オプションで、同じＵＲＬおよび一連のイベントを有するしきい値数の連絡が、エージェントキューに関連付けられたエージェントによって解決されるまで、第２のルーティングルールを無効のままにすることができる。場合によっては、一致するルールは存在し、そのルールに関連付けられたカウンタを増分できる。図３および図４では、一致するルールの識別および／または一致するルールが存在しない場合のルールの作成について説明する。
【００５８】
図３は、自己学習モジュール１６５の処理を示すフローチャートである。このプロセスは、例えば、図１の学習モジュール１６５によって実行することができる。このプロセスは、改善されたルーティング技法を学習するためにＣＲＭシステムで実行されるように開発された機械学習アルゴリズムであることができる。プロセスは３０５で開始でき、アルゴリズムは連絡および関連情報を待つことができる。連絡および関連情報は、たとえば、連絡の発信元のウェブページのＵＲＬ、そのウェブページとの顧客対話からキャプチャされた一連のイベント、顧客名、エージェントおよび連絡を解決した関連エージェントキューなどを含むことができる。
【００５９】
３１０で、連絡が受信されない場合、アルゴリズムは３０５で再び連絡および関連情報を待つことができる。３１０で連絡が受信された場合、アルゴリズムは、３１５で、ルールストア内において、一致するルールを検索できる。たとえば、ルールストア内のあるルールがＵＲＬや一連のイベントなどの連絡情報と一致し、連絡を解決したキューにルーティングするようにセットされている場合、一致が見つかる。３２０で一致するルールが見つからない場合、３２５で新たなルールを作成できる。新たなルールは、たとえば、ウェブページのＵＲＬおよび一連のイベントを含むことができ、一致する基準を伴う連絡を、連絡を解決したエージェントキューにルーティングされるようセットできる。
【００６０】
一致が見つかった場合、図示されないオプションのステップとして、ルールの日付署名を確認できる。日付署名が、ルールの前回の使用がたとえば１年以上前であることを示す場合、アルゴリズムはカウンタをリセットする必要があると判断してもよい。
【００６１】
一致が見つかった場合、３３０で、オプションで、アルゴリズムはそのルールのカウンタを増分し、日付署名を更新できる。オプションで、日付署名を保持して、ルールが古くなっているかどうかを判断できる。オプションで、一連のイベントを用いて、少なくとも部分的に、一致を識別できる。オプションで、アルゴリズムは一致する一連のイベントを識別できる。たとえば、正確な複製は必要ない場合がある。一例として、ユーザがウェブページからウェブサイトへのログインを試みてエラーメッセージを受信した後、２回目の試行を行って第２のエラーメッセージを受信した場合、一連のイベントは、たとえば、「link1 clicked（リンク１クリックされた）」、「login clicked（ログインクリックされた）」、「failed login（ログイン失敗）」、「login clicked（ログインクリックされた）」、および「failed login（ログイン失敗）」であり得る。ルーティングルールにおける一連のイベントは、「login clicked」および「failed login」のみを含んでもよい。アルゴリズムは、ルーティングルールが連絡と一致すると判断できる。図４は、一致が見つかるかどうかを判定するためのプロセスを記載する。一部の実施形態では日付署名が使用され、他の実施形態では日付署名は用いられないことに留意されたい。いくつかの実施形態では、カウンタを用いて、ルールを有効にするかどうかを判断する。いくつかの実施形態では、カウンタは用いられず、たとえば、ルールをすぐに有効にすることができる。ルールを有効にするかどうかを判断する他の方法を用いることができる。
【００６２】
３２０で一致が見つかった後、３３０でカウンタが増分されると、アルゴリズムは３３５でルールが有効にされるどうかを判断できる。ルールが有効にされる場合、アルゴリズムは最初に戻り、３０５で別の連絡を待つことができる。３３５でルールが有効にされない場合、アルゴリズムは３４０でしきい値に到達したかどうかを判断できる。しきい値は、ルールが十分な連絡を適切に解決したこと、ルールは有効にすべきであり、単なる異常ではないことを示す値に、システム管理者によって、設定できる。
【００６３】
しきい値に達し、日付署名が十分に最近である場合、３４５でアルゴリズムはルールを有効にできる。しきい値に達していない場合、および／または日付署名が十分に最近でない場合、アルゴリズムは３０５に戻り、ルールを有効にせずに別の連絡および関連情報を待つことができる。
【００６４】
図４は、図３の３１５など、ルールストア内で一致するルールを検索するプロセスを示すフローチャートである。このプロセスは、４０５で始まり、イベントタイプを識別するために連絡情報から一連のイベントを処理する。たとえば、一連のイベントは、顧客がログインに問題を抱えていることを示し得、その場合、イベントタイプは、たとえば「login failure（ログイン失敗）」となり得る。イベントタイプの識別は、たとえば、一連のイベント内のイベントをデータベース内のイベントタイプに対応するイベントと比較することで実行できる。いくつかの実施形態では、イベントタイプを使用せずに一連のイベントを用いることができ、したがって一連のイベントを識別するために正確な一致が必要になる場合がある。
【００６５】
４１０で、一致するルールを検索するためのアルゴリズムは、連絡情報からのＵＲＬに関連付けられたルールについてルールストア（例えば、図１のルーティングルールデータベース１８０）を検索することができる。検索は、その特定のウェブページに適用されるルールを返すことができる。
【００６６】
４１５で、アルゴリズムは一致が見つかったかどうかを判断できる。一致が見つからなかった場合、アルゴリズムは４２０で一致がないことを返すことができる。一致なしを返すと、図３の３２５のように、アルゴリズムは新たなルールを作成できる。新たなルールが作成される場合、たとえば、そのＵＲＬおよびイベントタイプに一致する今後の連絡を、連絡を解決したキューにルーティングするように、その新たなルールを構成できる。一致が見つかった場合、１つ以上のルールを今後用いることができる。
【００６７】
４２５で、ＵＲＬ検索からの１つ以上の一致するルールを、イベントタイプに関連付けられたルールについて検索することができる。たとえば、４１５からの一致するルールを「ログイン失敗」について検索して、一致するイベントタイプを有するものがあるかどうかを判断し得る。代替的に、イベントタイプを用いるのではなく、上記のように一致する一連のイベントを検索することもできる。一連のイベントは完全一致であり得る。オプションで、一連のイベントは、データベースに記憶されている一連のイベントと正確に一致する必要はない。ルーティングルールが適切であることを意味し得る実質的な一致が存在し得る。たとえば、一連のイベント内のイベントの一部がデータベース内の一連のイベントと一致する場合、一致が見つかってもよい。４３０で一致が見つからない場合、アルゴリズムは４２０で一致なしを返すことができる。一致なしで、上記のように新たなルールを作成できる。４３０で一致が見つかった場合、そのＵＲＬおよびイベントタイプに一致するルールを今後用いることができる。
【００６８】
４３５で、一致するＵＲＬおよびイベントタイプを有するルールを、処理中の連絡を解決したキューについて検索できる。たとえば、セキュリティエージェントキューが連絡を解決した場合、残りのルールは、セキュリティエージェントキューについて、それらのルールにおいて連絡をルーティングするキューであるとして検索できる。一致するルールは４４０で識別される。いずれのルールも一致しない場合、アルゴリズムは４２０で一致なしを返すことができる。一致なしで、上記のように新たなルールを作成できる。一致が見つかった場合、アルゴリズムは４４５でその一致を返すことができる。複数のルールが一致する場合、一連のイベントおよび／または日付署名の追加レビューを用いて、たとえば、最も近いまたは最良の一致を特定することができる。
【００６９】
図５は、さまざまな実施形態が実装され得る例示的な分散型システムのコンポーネントを示すブロック図である。示される実施の形態では、分散型システム５００は１つ以上のクライアントコンピューティングデバイス５０２，５０４，５０６および５０８を含み、それらは、１つ以上のネットワーク５１０にわたってウェブブラウザ、所有権付きクライアント（例えばＯｒａｃｌｅ  Ｆｏｒｍｓ）などのようなクライアントアプリケーションを実行および動作させるよう構成される。サーバ５１２はリモートクライアントコンピューティングデバイス５０２，５０４，５０６および５０８とネットワーク５１０を介して通信可能に結合されてもよい。
【００７０】
さまざまな実施の形態では、サーバ５１２は、システムの１つ以上のコンポーネントによって提供される１つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。いくつかの実施の形態では、これらのサービスは、ウェブに基づくサービスもしくはクラウドサービスとして、またはＳｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）モデルの下で、クライアントコンピューティングデバイス５０２，５０４，５０６および／または５０８のユーザに対して提供されてもよい。クライアントコンピューティングデバイス５０２，５０４，５０６および／または５０８を動作させるユーザは、次いで、１つ以上のクライアントアプリケーションを利用してサーバ５１２と対話して、これらのコンポーネントによって提供されるサービスを利用してもよい。
【００７１】
図に示される構成では、システム５００のソフトウェアコンポーネント５１８，５２０および５２２はサーバ５１２上において実現されるとして示される。他の実施の形態では、システム５００のコンポーネントの１つ以上および／またはこれらのコンポーネントによって提供されるサービスは、クライアントコンピューティングデバイス５０２，５０４，５０６および／または５０８の１つ以上によって実現されてもよい。クライアントコンピューティングデバイスを動作させるユーザは、次いで、１つ以上のクライアントアプリケーションを利用して、これらのコンポーネントによって提供されるサービスを用いてもよい。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実現されてもよい。分散型システム５００とは異なってもよいさまざまな異なるシステム構成が可能であることが理解されるべきである。図に示される実施の形態は、したがって、実施の形態のシステムを実現するための分散型システムの一例であり、限定的であるようには意図されない。
【００７２】
クライアントコンピューティングデバイス５０２，５０４，５０６および／または５０８は、携帯可能な手持ち式の装置（例えばｉＰｈｏｎｅ（登録商標）、セルラー電話、ｉＰａｄ（登録商標）、計算タブレット、携帯情報端末（「ＰＤＡ」））またはウェアラブルデバイス（例えばＧｏｏｇｌｅ  Ｇｌａｓｓ（登録商標）頭部装着型ディスプレイ）であってもよく、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）などのようなソフトウェア、および／もしくは、ｉＯＳ、Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ、Ａｎｄｒｏｉｄ、ＢｌａｃｋＢｅｒｒｙ  １０、Ｐａｌｍ  ＯＳなどのようなさまざまなモバイルオペレーティングシステムを動作させ、インターネット、電子メール、ショートメッセージサービス（「ＳＭＳ」）、Ｂｌａｃｋｂｅｒｒｙ（登録商標）または他の通信プロトコルで可能化される。クライアントコンピューティングデバイスは汎用パーソナルコンピュータであることができ、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ａｐｐｌｅ  Ｍａｃｉｎｔｏｓｈ（登録商標）および／またはＬｉｎｕｘ（登録商標）オペレーティングシステムのさまざまなバージョンを動作させるパーソナルコンピュータおよび／またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、例えばＧｏｏｇｌｅ  Ｃｈｒｏｍｅ  ＯＳなどのようなさまざまなＧＮＵ／Ｌｉｎｕｘオペレーティングシステムを限定なく含む、さまざまな市場で入手可能なＵＮＩＸ（登録商標）またはＵＮＩＸのようなオペレーティングシステムの任意のものを動作させるワークステーションコンピュータであり得る。代替的に、または加えて、クライアントコンピューティングデバイス５０２，５０４，５０６および５０８は、ネットワーク５１０を介して通信することができる、シンクライントコンピュータ、インターネットにより可能化されるゲームシステム（例えばＫｉｎｅｃｔ（登録商標）ジェスチャ入力装置を伴うかまたは伴わないＭｉｃｒｏｓｏｆｔ  Ｘｂｏｘゲームコンソール）および／または個人メッセージ伝達装置などのような任意の他の電子装置であってもよい。
【００７３】
例示的な分散型システム５００は４つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなど、他のデバイスがサーバ５１２と対話してもよい。
【００７４】
分散型システム５００におけるネットワーク５１０は、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＳＮＡ（システムネットワーク体系）、ＩＰＸ（インターネットパケット交換）、ＡｐｐｌｅＴａｌｋなどを限定なしに含む、さまざまな市場で入手可能なプロトコルのうちの任意のものを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。単なる例示として、ネットワーク５１０は、イーサネット（登録商標）、トークンリングなどに基づくものなどのような、ローカルエリアネットワーク（「ＬＡＮ」）であり得る。ネットワーク５１０はワイドエリアネットワークおよびインターネットであり得る。それは、仮想プライベートネットワーク（「ＶＰＮ」）、イントラネット、エクストラネット、公衆交換電話網（ＰＳＴＮ）、赤外線ネットワーク、無線ネットワーク（例えば米国電気電子学会（「ＩＥＥＥ」）８０２．１１のプロトコル一式、Ｂｌｕｅｔｏｏｔｈ（登録商標）、および／もしくは任意の他の無線プロトコルのいずれかの下で動作するネットワーク）を限定なしに含む仮想ネットワーク；ならびに／またはこれらの任意の組み合わせおよび／もしくは他のネットワークを含み得る。
【００７５】
サーバ５１２は、１つ以上の汎用コンピュータ、特別化されたサーバコンピュータ（例えばＰＣ（パーソナルコンピュータ）サーバ、ＵＮＩＸ（登録商標）サーバ、平均的なサーバ、メインフレームコンピュータ、ラックマウント型サーバなどを含む）、サーバファーム、サーバクラスタ、または任意の他の適切な構成および／もしくは組み合わせからなってもよい。さまざまな実施の形態において、サーバ５１２は、前述の開示に記載される１つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。例えば、サーバ５１２は、本開示の実施の形態に従って上記の処理を実行するためのサーバに対応してもよい。
【００７６】
サーバ５１２は、上に論じられたもののうちの任意のものを含むオペレーティングシステム、および任意の市場で入手可能なサーバオペレーティングシステムを動作させてもよい。サーバ５１２は、さらに、ＨＴＴＰ（ハイパーテキストトランスポートプロトコル）サーバ、ＦＴＰ（ファイルトランスファープロトコル）サーバ、ＣＧＩ（コモンゲートウェイインターフェイス）サーバ、ＪＡＶＡ（登録商標）サーバ、データベースサーバなどを含むさまざまなさらなるサーバアプリケーションおよび／または中間層アプリケーションのうちの任意のものを動作させてもよい。例示的なデータベースサーバは、限定なしに、Ｏｒａｃｌｅ、Ｍｉｃｒｏｓｏｆｔ、Ｓｙｂａｓｅ、ＩＢＭ（インターナショナルビジネスマシンズ）などから市場で入手可能なものを含む。
【００７７】
いくつかの実現例では、サーバ５１２は、１つ以上のアプリケーションを含んで、クライアントコンピューティングデバイス５０２，５０４，５０６および５０８のユーザから受信されるデータフィードおよび／またはイベント更新を解析および整理統合してもよい。一例として、データフィードおよび／またはイベント更新は、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能計量ツール（例えばネットワーク監視およびトラフィック管理アプリケーション）、クリックストリーム解析ツール、自動車交通監視などに関係する実時間イベントを含んでもよい、１つ以上の第三者情報源および連続的なデータストリームから受信される、Ｔｗｉｔｔｅｒ（登録商標）フィード、Ｆａｃｅｂｏｏｋ（登録商標）更新または実時間更新を含んでもよいが、それらに限定はされない。サーバ５１２は、さらに、１つ以上のアプリケーションを含んで、データフィードおよび／または実時間イベントをクライアントコンピューティングデバイス５０２，５０４，５０６および５０８の１つ以上の表示装置を介して表示してもよい。
【００７８】
分散型システム５００は、さらに、１つ以上のデータベース５１４および５１６を含んでもよい。データベース５１４および５１６はさまざまな位置にあってもよい。例として、データベース５１４および５１６の１つ以上はサーバ５１２に局在する（および／またはサーバ５１２に常駐する）非一時的な記憶媒体にあってもよい。代替的に、データベース５１４および５１６は、サーバ５１２から遠隔にあり、ネットワークに基づくかまたは専用の接続を介してサーバ５１２と通信状態にあってもよい。１組の実施の形態では、データベース５１４および５１６は記憶域ネットワーク（「ＳＡＮ」）にあってもよい。同様に、サーバ５１２に帰する機能を実行するための任意の必要なファイルが、適切に、サーバ５１２上においてローカルに、および／または遠隔で記憶されてもよい。１組の実施の形態では、データベース５１４および５１６はＯｒａｃｌｅ（登録商標）によって提供されるデータベースのような、ＳＱＬフォーマットされたコマンドに応答してデータを記憶、更新および検索取得するように適合されるリレーショナルデータベースを含んでもよい。
【００７９】
図６は、実施形態によって提供されるサービスがクラウドサービスとして提供されてもよいシステム環境のコンポーネントを示すブロック図である。示される実施の形態では、システム環境６００は、クラウドサービスを提供するクラウドインフラストラクチャシステム６０２と対話するようユーザによって用いられてもよい１つ以上のクライアントコンピューティングデバイス６０４，６０６および６０８を含む。クライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム６０２と対話して、クラウドインフラストラクチャシステム６０２によって提供されるサービスを用いるよう、クライアントコンピューティングデバイスのユーザによって用いられてもよい、ウェブブラウザ、所有権付きクライアントアプリケーション（例えばＯｒａｃｌｅ  Ｆｏｒｍｓ）または何らかの他のアプリケーションなどのようなクライアントアプリケーションを動作させるよう構成されてもよい。
【００８０】
図に示されるクラウドインフラストラクチャシステム６０２は図示されるもの以外のコンポーネントを有してもよいことが理解されるべきである。さらに、図に示される実施の形態は、実施の形態を組み込んでもよいクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施の形態では、クラウドインフラストラクチャシステム６０２は、図に示されるよりも多いかもしくは少ないコンポーネントを有してもよく、２つ以上のコンポーネントを組み合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有してもよい。
【００８１】
クライアントコンピューティングデバイス６０４，６０６および６０８は、５０２，５０４，５０６および５０８に対して上記されたものと同様のデバイスであってもよい。
【００８２】
例示的なシステム環境６００は３つのクライアントコンピューティングデバイスとともに示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを伴うデバイスなどのような他のデバイスがクラウドインフラストラクチャシステム６０２と対話してもよい。
【００８３】
ネットワーク６１０はクライアント６０４，６０６および６０８とクラウドインフラストラクチャシステム６０２との間におけるデータの通信および交換を容易にしてもよい。各ネットワークは、ネットワーク５１０に対して上記されたものを含む、さまざまな市場で入手可能なプロトコルの任意のものを用いてデータ通信をサポートすることができる、当業者が精通している任意のタイプのネットワークであってもよい。
【００８４】
クラウドインフラストラクチャシステム６０２は、サーバ５１２に対して上記されたものを含んでもよい１つ以上のコンピュータおよび／またはサーバを備えてもよい。
【００８５】
特定の実施の形態では、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータストレージおよびバックアップソリューション、ウェブに基づくｅメールサービス、運営管理されるオフィススイートおよびドキュメントコラボレーションサービス、データベース処理、管理される技術サポートサービスなどのような、オンデマンドでクラウドインフラストラクチャシステムのユーザに利用可能にされるサービスのホストを含んでもよい。クラウドインフラストラクチャシステムによって提供されるサービスは動的にスケーリングしてそのユーザのニーズを満たすことができる。クラウドインフラストラクチャシステムによって提供されるあるサービスのある具体的なインスタンス化は本明細書では「サービスインスタンス」と称される。一般的に、クラウドサービスプロバイダのシステムからインターネットなどのような通信ネットワークを介してユーザに利用可能にされる任意のサービスは「クラウドサービス」と称される。典型的には、パブリックなクラウド環境においては、クラウドサービスプロバイダのシステムを形成するサーバおよびシステムは顧客自身のオンプレミスのサーバおよびシステムとは異なる。例えば、クラウドサービスプロバイダのシステムはアプリケーションを運営管理してもよく、ユーザは、インターネットなどのような通信ネットワークを介して、オンデマンドで、アプリケーションをオーダーし使用してもよい。
【００８６】
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、運営管理されるデータベース、運営管理されるウェブサーバ、ソフトウェアアプリケーション、またはクラウドベンダーによってユーザに提供されるかもしくは他の態様で当該技術分野において公知であるような他のサービスに対する保護されたコンピュータネットワークアクセスを含んでもよい。例えば、サービスは、クラウド上の遠隔ストレージに対するインターネットを介してのパスワード保護されたアクセスを含むことができる。別の例として、サービスは、ネットワーク接続された開発者による個人的な使用のために、ウェブサービスに基づく運営管理されたリレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含むことができる。別の例として、サービスは、クラウドベンダーのウェブサイトにおいて運営管理されるｅメールソフトウェアアプリケーションに対するアクセスを含むことができる。
【００８７】
特定の実施の形態では、クラウドインフラストラクチャシステム６０２は、セルフサービスの、サブスクリプションに基づく、順応性を持ってスケーラブルで、信頼性があり、非常に利用可能性があり、およびセキュリティ上安全な態様で顧客に対して配送されるアプリケーションの組、ミドルウェア、データベースサービス提供を含んでもよい。そのようなクラウドインフラストラクチャシステムの一例は本譲受人によって提供されるＯｒａｃｌｅ  Ｐｕｂｌｉｃ  Ｃｌｏｕｄである。
【００８８】
さまざまな実施の形態では、クラウドインフラストラクチャシステム６０２は、クラウドインフラストラクチャシステム６０２によって提供されるサービスに対する顧客のサブスクリプションを自動的にプロビジョニングし、管理し、およびトラッキングするように適合されてもよい。クラウドインフラストラクチャシステム６０２はクラウドサービスを異なる展開モデルを介して提供してもよい。例えば、サービスは、クラウドインフラストラクチャシステム６０２が（例えばＯｒａｃｌｅによって所有される）クラウドサービスを販売する組織によって所有され、サービスが一般大衆または異なる業界エンタープライズに対して利用可能にされるパブリッククラウドモデルの下で提供されてもよい。別の例として、サービスは、クラウドインフラストラクチャシステム６０２が単一の組織に対してのみ動作され、その組織内における１つ以上のエンティティに対してサービスを提供してもよい、プライベートクラウドモデルの下で提供されてもよい。クラウドサービスは、さらに、クラウドインフラストラクチャシステム６０２およびクラウドインフラストラクチャシステム６０２によって提供されるサービスが関係付けられるコミュニティにおけるいくつかの組織によって共有されるコミュニティクラウドモデルの下で提供されてもよい。クラウドサービスは、さらに、２つ以上の異なるモデルの組み合わせであるハイブリッドクラウドモデルの下で提供されてもよい。
【００８９】
いくつかの実施の形態では、クラウドインフラストラクチャシステム６０２によって提供されるサービスは、Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）カテゴリ、Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）カテゴリ、Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）カテゴリ、またはハイブリッドサービスを含む他のサービスのカテゴリの下で提供される、１つ以上のサービスを含んでもよい。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム６０２によって提供される１つ以上のサービスをオーダーしてもよい。クラウドインフラストラクチャシステム６０２は、次いで、処理を実行して、顧客のサブスクリプションオーダーにおけるサービスを提供する。
【００９０】
いくつかの実施の形態では、クラウドインフラストラクチャシステム６０２によって提供されるサービスは、限定を伴わずに、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含んでもよい。いくつかの例では、アプリケーションサービスはクラウドインフラストラクチャシステムによってＳａａＳプラットフォームを介して提供されてもよい。ＳａａＳプラットフォームは、ＳａａＳカテゴリに入るクラウドサービスを提供するよう構成されてもよい。例えば、ＳａａＳプラットフォームは、一式のオンデマンドアプリケーションを統合された開発および展開プラットフォーム上で構築し配送する能力を提供してもよい。ＳａａＳプラットフォームは、ＳａａＳサービスを提供するための基底のソフトウェアおよびインフラストラクチャを管理および制御してもよい。ＳａａＳプラットフォームによって提供されるサービスを利用することによって、顧客はクラウドインフラストラクチャシステムにおいて実行されるアプリケーションを利用することができる。顧客は、別のライセンスおよびサポートを購入する必要なくアプリケーションサービスを獲得することができる。さまざまな異なるＳａａＳサービスが提供されてもよい。その例は、限定を伴うことなく、大きな組織に対する売上実績管理、エンタープライズ統合、および事業柔軟性に対するソリューションを提供するサービスを含む。
【００９１】
いくつかの実施の形態では、プラットフォームサービスはクラウドインフラストラクチャシステムによってＰａａＳプラットフォームを介して提供されてもよい。ＰａａＳプラットフォームはＰａａＳカテゴリの下におけるクラウドサービスを提供するよう構成されてもよい。プラットフォームサービスの例は、限定を伴わずに、（Ｏｒａｃｌｅなどのような）組織が既存のアプリケーションを共有される共通のアーキテクチャにおいて整理統合することができるサービス、およびプラットフォームによって提供される共有されるサービスをてこ入れする新たなアプリケーションを構築する能力を含んでもよい。ＰａａＳプラットフォームはＰａａＳサービスを提供するための基底のソフトウェアおよびインフラストラクチャを管理および制御してもよい。顧客は、クラウドインフラストラクチャシステムによって提供されるＰａａＳサービスを、別のライセンスおよびサポートを購入する必要なく獲得することができる。プラットフォームサービスの例は、限定を伴わずに、Ｏｒａｃｌｅ  Ｊａｖａ  Ｃｌｏｕｄ  Ｓｅｒｖｉｃｅ（ＪＣＳ）、Ｏｒａｃｌｅ  Ｄａｔａｂａｓｅ  Ｃｌｏｕｄ  Ｓｅｒｖｉｃｅ（ＤＢＣＳ）などを含む。
【００９２】
ＰａａＳプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを使用することができ、展開されたサービスを制御することもできる。いくつかの実施の形態では、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス（例えばＯｒａｃｌｅ  Ｆｕｓｉｏｎ  Ｍｉｄｄｌｅｗａｒｅサービス）、およびＪａｖａクラウドサービスを含んでもよい。一実施の形態では、データベースクラウドサービスは、組織がデータベース資源をプールし、顧客にＤａｔａｂａｓｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅをデータベースクラウドの形式で提供することを可能にする、共有されるサービス展開モデルをサポートしてもよい。ミドルウェアクラウドサービスは、顧客のためのプラットフォームを提供してさまざまなビジネスアプリケーションを開発および展開してもよく、Ｊａｖａクラウドサービスは顧客のためのプラットフォームを提供してＪａｖａアプリケーションをクラウドインフラストラクチャシステムにおいて展開してもよい。
【００９３】
さまざまな異なるインフラストラクチャサービスがＩａａＳプラットフォームによってクラウドインフラストラクチャシステムにおいて提供されてもよい。インフラストラクチャサービスは、ＳａａＳプラットフォームおよびＰａａＳプラットフォームによって提供されるサービスを利用する顧客に対するストレージ、ネットワーク、他の基礎的計算資源などのような基底の計算資源の管理および制御を容易にする。
【００９４】
特定の実施の形態では、クラウドインフラストラクチャシステム６０２は、さらに、クラウドインフラストラクチャシステムの顧客に対してさまざまなサービスを提供するよう用いられる資源を提供するためのインフラストラクチャ資源６３０を含んでもよい。一実施の形態では、インフラストラクチャ資源６３０は、ＰａａＳプラットフォームおよびＳａａＳプラットフォームによって提供されるサービスを実行するよう、サーバ、ストレージおよびネットワーク接続資源などのような、ハードウェアの予め統合され最適化された組み合わせを含んでもよい。
【００９５】
いくつかの実施の形態では、クラウドインフラストラクチャシステム６０２における資源は、複数のユーザによって共有され、要望に付き動的に再割当てされてもよい。加えて、資源はユーザに対して異なる時間ゾーンで割当てられてもよい。例えば、クラウドインフラストラクチャシステム６３０は、第１の時間ゾーンにおける第１の組のユーザがクラウドインフラストラクチャシステムの資源をある特定化された時間数の間利用することを可能にし、次いで、異なる時間ゾーンに位置する別の組のユーザに対する同じ資源の再割当てを可能にし、それによって、資源の利用を最大限にしてもよい。
【００９６】
特定の実施の形態では、クラウドインフラストラクチャシステム６０２の異なるコンポーネントまたはモジュール、およびクラウドインフラストラクチャシステム６０２によって提供されるサービスによって共有される、ある数の内部の共有されるサービス６３２が提供されてもよい。これらの内部の共有されるサービスは、限定を伴うことなく、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよびリカバリサービス、クラウドサポートを可能にするためのサービス、ｅメールサービス、通知サービス、ファイル転送サービスなどを含んでもよい。
【００９７】
特定の実施の形態では、クラウドインフラストラクチャシステム６０２は、クラウドインフラストラクチャシステムにおいてクラウドサービス（例えばＳａａＳ、ＰａａＳ、およびＩａａＳサービス）の包括的な管理を提供してもよい。一実施の形態では、クラウド管理機能は、クラウドインフラストラクチャシステム６０２によって受信される顧客のサブスクリプションをプロビジョニングし、管理し、およびトラッキングする能力などを含んでもよい。
【００９８】
一実施の形態では、図に示されるように、クラウド管理機能は、オーダー管理モジュール６２０、オーダーオーケストレーションモジュール６２２、オーダープロビジョニングモジュール６２４、オーダー管理および監視モジュール６２６、ならびにアイデンティティ管理モジュール６２８などのような１つ以上のモジュールによって提供されてもよい。これらのモジュールは、１つ以上のコンピュータおよび／またはサーバを含むかもしくはそれらを用いて提供されてもよく、それらは汎用コンピュータ、特殊化されたサーバコンピュータ、サーバファーム、サーバクラスタ、または任意の他の適切な構成および／もしくは組み合わせであってもよい。
【００９９】
例示的な動作６３４においては、クライアントデバイス６０４、６０６または６０８などのようなクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム６０２によって提供される１つ以上のサービスを要求すること、およびクラウドインフラストラクチャシステム６０２によって提供される１つ以上のサービスに対するサブスクリプションに対するオーダーを行なうことによって、クラウドインフラストラクチャシステム６０２と対話してもよい。特定の実施の形態では、顧客は、クラウドユーザインターフェイス（ＵＩ）、クラウドＵＩ６１２、クラウドＵＩ６１４および／またはクラウドＵＩ６１６にアクセスし、サブスクリプションオーダーをこれらのＵＩを介して行ってもよい。顧客がオーダーを行なうことに応答してクラウドインフラストラクチャシステム６０２によって受取られるオーダー情報は、顧客を識別する情報、およびクラウドインフラストラクチャシステム６０２によって提供される、その顧客が利用することを意図する１つ以上のサービスを含んでもよい。
【０１００】
オーダーが顧客によってなされた後、オーダー情報はクラウドＵＩ６１２、６１４および／または６１６を介して受取られてもよい。
【０１０１】
動作６３６において、オーダーはオーダーデータベース６１８に保存される。オーダーデータベース６１８は、クラウドインフラストラクチャシステム６１８によって動作されるいくつかのデータベースの１つであり得、他のシステム要素との関連において動作され得る。
【０１０２】
動作６３８で、オーダー情報はオーダー管理モジュール６２０に転送される。いくつかの例では、オーダー管理モジュール６２０は、オーダーを検証すること、および検証でそのオーダーを予約することなど、オーダーに関係付けられる請求および課金機能を実行するよう構成されてもよい。
【０１０３】
動作６４０で、オーダーに関する情報がオーダーオーケストレーションモジュール６２２に通信される。オーダーオーケストレーションモジュール６２２は、オーダー情報を利用して、顧客によってなされたオーダーに対してサービスおよび資源のプロビジョニングをオーケストレーションしてもよい。いくつかの例では、オーダーオーケストレーションモジュール６２２は、資源のプロビジョニングをオーケストレーションして、利用されるサービスを、オーダープロビジョニングモジュール６２４のサービスを用いてサポートしてもよい。
【０１０４】
特定の実施の形態では、オーダーオーケストレーションモジュール６２２は、各オーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネスロジックを適用して、オーダーがプロビジョニングに進むべきかどうかを判断する。動作６４２で、新たなサブスクリプションに対するオーダーが受取られると、オーダーオーケストレーションモジュール６２２は、オーダープロビジョニングモジュール６２４に対して、資源を割当て、サブスクリプションオーダーを満たすよう必要とされる資源を構成するよう、要求を送る。オーダープロビジョニングモジュール６２４は、顧客によってオーダーされたサービスに対する資源の割当てを可能にする。オーダープロビジョニングモジュール６２４は、クラウドインフラストラクチャシステム６００によって提供されるクラウドサービスと、要求されたサービスを提供するための資源をプロビジョニングするよう用いられる物理的インプリメンテーション層との間におけるある抽象レベルを与える。オーダーオーケストレーションモジュール６２２は、したがって、サービスおよび資源がオンザフライで実際にプロビジョニングされるか、または予めプロビジョニングされ、要求でのみ割当て／分配されるかどうかなど、インプリメンテーション詳細から隔離されてもよい。
【０１０５】
動作６４４で、サービスおよび資源がプロビジョニングされると、提供されるサービスの通知が、クラウドインフラストラクチャシステム６０２のオーダープロビジョニングモジュール６２４によってクライアントデバイス６０４、６０６および／または６０８における顧客に送信されてもよい。
【０１０６】
動作６４６で、顧客のサブスクリプションオーダーはオーダー管理および監視モジュール６２６によって管理およびトラッキングされてもよい。いくつかの例では、オーダー管理および監視モジュール６２６は、用いられるストレージの量、転送されるデータ量、ユーザの数、システムアップ時間およびシステムダウン時間の量などのような、サブスクリプションオーダーにおけるサービスに対する使用統計を収集するよう構成されてもよい。
【０１０７】
特定の実施の形態では、クラウドインフラストラクチャシステム６００はアイデンティティ管理モジュール６２８を含んでもよい。アイデンティティ管理モジュール６２８は、クラウドインフラストラクチャシステム６００におけるアクセス管理および承認サービスなどのようなアイデンティティサービスを提供するよう構成されてもよい。いくつかの実施の形態では、アイデンティティ管理モジュール６２８は、クラウドインフラストラクチャシステム６０２によって提供されるサービスを利用することを望む顧客についての情報を制御してもよい。そのような情報は、そのような顧客のアイデンティティを認証する情報、およびそれらの顧客がさまざまなシステム資源（例えばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど）に対してどのアクションを実行するよう承認されるかを記述する情報を含むことができる。アイデンティティ管理モジュール６２８は、さらに、各顧客についての記述的情報およびどのように誰によってその記述的情報がアクセスおよび修正され得るかの管理を含んでもよい。
【０１０８】
図７は、実施の形態が実現されてもよい例示的なコンピュータシステムを示すブロック図である。システム７００は、上に記載されるコンピュータシステムの任意のものを実現するよう用いられてもよい。図に示されるように、コンピュータシステム７００は、多数の周辺サブシステムとバスサブシステム７０２を介して通信する処理ユニット７０４を含む。これらの周辺サブシステムは、処理加速ユニット７０６、Ｉ／Ｏサブシステム７０８、ストレージサブシステム７１８および通信サブシステム７２４を含んでもよい。ストレージサブシステム７１８は有形のコンピュータ読取可能記憶媒体７２２およびシステムメモリ７１０を含む。
【０１０９】
バスサブシステム７０２は、コンピュータシステム７００のさまざまなコンポーネントおよびサブシステムに意図されるように互いと通信させるための機構を提供する。バスサブシステム７０２は概略的に単一のバスとして図示されているが、バスサブシステムの代替的実施の形態は複数のバスを利用してもよい。バスサブシステム７０２は、さまざまなバスアーキテクチャのうちの任意のものを用いるメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のうちの任意のものであってもよい。例えば、そのようなアーキテクチャは、産業標準アーキテクチャ（「ＩＳＡ」）バス、マイクロチャネルアーキテクチャ（「ＭＣＡ」）バス、エンハンストＩＳＡ（「ＥＩＳＡ」）バス、ビデオエレクトロニクス標準組織（「ＶＥＳＡ」）ローカルバス、および周辺コンポーネントインターコネクト（「ＰＣＩ」）バス、を含んでもよく、ＩＥＥＥ  Ｐ１３８６．１規格に従って製造される中二階バスとして実現され得る。
【０１１０】
処理ユニット７０４は、１つ以上の統合された回路（例えば従来のマイクロプロセッサまたはマイクロコントローラ）として実現されることができ、コンピュータシステム７００の動作を制御する。１つ以上のプロセッサが処理ユニット７０４に含まれてもよい。これらのプロセッサは単一コアまたはマルチコアプロセッサを含んでもよい。特定の実施の形態では、処理ユニット７０４は、１つ以上の独立した処理ユニット７３２および／または７３４として、単一または複数コアのプロセッサが各処理ユニットに含まれる状態で実現されてもよい。他の実施の形態では、処理ユニット７０４は、さらに、２つのデュアルコアプロセッサを単一のチップに統合することによって形成されるクワッドコア処理ユニットとして実現されてもよい。
【０１１１】
さまざまな実施の形態では、処理ユニット７０４はさまざまなプログラムをプログラムコードに応答して実行することができ、複数の同時に実行されるプログラムまたはプロセスを維持することができる。任意の所与の時間において、実行されるべきプログラムコードの一部またはすべてがプロセッサ７０４および／またはストレージサブシステム７１８に常駐することができる。好適なプログラミングを介して、プロセッサ７０４は上記のさまざまな機能を提供することができる。コンピュータシステム７００はさらに処理加速ユニット７０６を含んでもよく、それはデジタル信号プロセッサ（「ＤＳＰ」）、特殊目的プロセッサなどを含むことができる。
【０１１２】
Ｉ／Ｏサブシステム７０８はユーザインターフェイス入力装置およびユーザインターフェイス出力装置を含んでもよい。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティングデバイス、ディスプレイに組み込まれるタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを伴う音声入力装置、マイクロフォン、および他のタイプの入力装置を含んでもよい。ユーザインターフェイス入力装置は、例えば、ユーザがジェスチャおよび話し言葉コマンドを用いて自然なユーザインターフェイスを介してＭｉｃｒｏｓｏｆｔ  Ｘｂｏｘ（登録商標）３６０ゲームコントローラなどのような入力装置を制御しそれと対話することを可能にするＭｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ（登録商標）モーションセンサなどのようなモーション感知および／またはジェスチャ認識装置を含んでもよい。ユーザインターフェイス入力装置は、さらに、ユーザから目の活動（例えば写真を撮る、および／またはメニュー選択を行なっている間の「瞬き」）を検出し、目の動きを入力装置（例えばＧｏｏｇｌｅ  Ｇｌａｓｓ（登録商標））への入力として変換するＧｏｏｇｌｅ  Ｇｌａｓｓ（登録商標）瞬き検出器などのような目のジェスチャ認識装置を含んでもよい。さらに、ユーザインターフェイス入力装置は、ユーザが音声コマンドを介して音声認識システム（例えばＳｉｒｉ（登録商標）ナビゲータ）と対話することを可能にする音声認識感知装置を含んでもよい。
【０１１３】
ユーザインターフェイス入力装置は、さらに、限定を伴わずに、三次元（３Ｄ）マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびにスピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ３Ｄスキャナ、３Ｄプリンタ、レーザレンジファインダ、および視線追跡装置などのような聴覚／視覚装置を含んでもよい。加えて、ユーザインターフェイス入力装置は、例えば、コンピュータ断層撮影、磁気共鳴撮像、ポジションエミッショントモグラフィー、医療超音波検査装置などのような医療画像化入力装置を含んでもよい。ユーザインターフェイス入力装置は、さらに、例えば、ＭＩＤＩキーボード、デジタル音楽機器などのような音声入力装置を含んでもよい。
【０１１４】
ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、または音声出力装置のような非ビジュアルディスプレイなどを含んでもよい。ディスプレイサブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）またはプラズマディスプレイを使うもののようなフラットパネルデバイス、投影装置、タッチスクリーンなどであってもよい。一般に、「出力装置」という語の使用は、コンピュータシステム７００からユーザまたは他のコンピュータに情報を出力するためのすべての考えられ得るタイプの装置および機構を含むよう意図される。例えばユーザインターフェイス出力装置は、限定を伴うことなく、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、プロッタ、音声出力装置およびモデムなどのような、テキスト、グラフィックスおよび音声／映像情報を視覚的に伝えるさまざまな表示装置を含んでもよい。
【０１１５】
コンピュータシステム７００は、システムメモリ７１０内に現在位置するとして示される、ソフトウェア要素を含むストレージサブシステム７１８を含んでもよい。システムメモリ７１０は、処理ユニット７０４においてロード可能および実行可能であるプログラム命令、ならびにこれらのプログラムの実行中に生成されるデータを記憶してもよい。
【０１１６】
コンピュータシステム７００の構成およびタイプによっては、システムメモリ７１０は（ランダムアクセスメモリ（ＲＡＭ））など揮発性であってもよく、および／または（リードオンリメモリ（ＲＯＭ）、フラッシュメモリなど）不揮発性であってもよい。ＲＡＭは典型的には、処理ユニット７０４に即座にアクセス可能であり、および／もしくは処理ユニット７０４によって現在動作および実行されている、データならびに／またはプログラムモジュールを含む。いくつかの実現例では、システムメモリ７１０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）またはダイナミックランダムアクセスメモリ（ＤＲＡＭ）などのような複数の異なるタイプのメモリを含んでもよい。いくつかの実現例では、起動中などのように、コンピュータシステム７００内における要素間において情報の転送を助ける基本的なルーチンを含む基本的な入力／出力システム（ＢＩＯＳ）が、典型的にはＲＯＭに記憶されてもよい。例として、限定ではなく、システムメモリ７１０は、さらに、アプリケーションプログラム７１２を示し、それは、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム（ＲＤＢＭＳ）など、プログラムデータ７１４およびオペレーティングシステム７１６を含んでもよい。例として、オペレーティングシステム７１６は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ａｐｐｌｅ  Ｍａｃｉｎｔｏｓｈ（登録商標）および／もしくはＬｉｎｕｘ（登録商標）オペレーティングシステムのさまざまなバージョン、さまざまな市場で入手可能なＵＮＩＸ（登録商標）またはＵＮＩＸのようなオペレーティングシステム（さまざまなＧＮＵ／Ｌｉｎｕｘオペレーティングシステム、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ（登録商標）ＯＳなどを含むが限定されない）、ならびに／またはｉＯＳ、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｈｏｎｅ、Ａｎｄｒｏｉｄ（登録商標）  ＯＳ、ＢｌａｃｋＢｅｒｒｙ（登録商標）  １０  ＯＳ、およびＰａｌｍ（登録商標）  ＯＳなどのようなモバイルオペレーティングシステムを含んでもよい。
【０１１７】
ストレージサブシステム７１８は、さらに、いくつかの実施の形態の機能を提供する基本的なプログラミングおよびデータ構造を記憶するための有形のコンピュータ読取可能記憶媒体を提供してもよい。プロセッサによって実行されると上記の機能を提供するソフトウェア（プログラム、コードモジュール、命令）がストレージサブシステム７１８に記憶されてもよい。これらのソフトウェアモジュールまたは命令は処理ユニット７０４によって実行されてもよい。ストレージサブシステム７１８は、さらに、さまざまな実施形態に従って用いられるデータを記憶するためのリポジトリを提供してもよい。
【０１１８】
ストレージサブシステム７００は、さらに、コンピュータ読取可能記憶媒体７２２にさらに接続され得るコンピュータ読取可能記憶媒体リーダ７２０を含んでもよい。システムメモリ７１０とともに、およびオプションとしてシステムメモリ７１０との組み合わせで、コンピュータ読取可能記憶媒体７２２は、コンピュータ読取可能情報を一時的および／またはより永続的に含み、記憶し、送信し、および検索取得するための、遠隔の、ローカルな、固定された、および／またはリムーバブルな記憶装置に記憶媒体を加えたものを包括的に表現してもよい。
【０１１９】
コードまたはコードの一部を含むコンピュータ読取可能記憶媒体７２２は、さらに、情報の記憶および／または送信のための任意の方法または技術において実現される揮発性および不揮発性の、リムーバブルおよび非リムーバブルな媒体などであるがそれらに限定はされない、記憶媒体および通信媒体を含む、当該技術分野において公知であるかまたは用いられる任意の適切な媒体を含むことができる。これは、ＲＡＭ、ＲＯＭ、電子的に消去可能なプログラマブルＲＯＭ（「ＥＥＰＲＯＭ」）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（「ＤＶＤ」）、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または他の有形のコンピュータ読取可能媒体などのような、有形のコンピュータ読取可能記憶媒体を含むことができる。これは、さらに、所望の情報を送信するよう用いられることができ、コンピューティングシステム７００によってアクセスされることができる、データ信号、データ伝送または任意の他の媒体のような、非有形のコンピュータ読取可能媒体を含むことができる。
【０１２０】
例として、コンピュータ読取可能記憶媒体７２２は、非リムーバブルの、不揮発性磁気媒体において読出または書込を行なうハードディスクドライブ、リムーバブルの不揮発性磁気ディスクにおいて読出または書込を行なう磁気ディスクドライブ、およびＣＤ  ＲＯＭ、ＤＶＤ、およびブルーレイ（登録商標）ディスク、もしくは他の光媒体などのようなリムーバブルの不揮発性光ディスクにおいて読出または書込を行なう光ディスクドライブを含んでもよい。コンピュータ読取可能記憶媒体７２２は、Zip（登録商標）ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス（「ＵＳＢ」）フラッシュドライブ、セキュアデジタル（「ＳＤ」）カード、ＤＶＤディスク、デジタルビデオテープなどを含んでもよいがそれらに限定はされない。コンピュータ読取可能記憶媒体７２２は、さらに、フラッシュメモリに基づくＳＳＤなどのような不揮発性メモリ、エンタープライズフラッシュドライブ、ソリッドステートＲＯＭなどに基づくソリッドステートドライブ（「ＳＳＤ」）、ソリッドステートＲＡＭ、ダイナミックＲＡＭ、スタティックＲＡＭ、ＤＲＡＭに基づくＳＳＤ、磁気抵抗ＲＡＭ（「ＭＲＡＭ」）ＳＳＤなどのような揮発性メモリに基づくＳＳＤ、ならびにＤＲＡＭおよびフラッシュメモリに基づくＳＳＤの組み合わせを用いるハイブリッドＳＳＤを含んでもよい。ディスクドライブおよびそれらの関連のコンピュータ読取可能媒体は、コンピュータシステム７００のためのコンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性記憶を提供してもよい。
【０１２１】
通信サブシステム７２４は、他のコンピュータシステムおよびネットワークへのインターフェイスを与える。通信サブシステム７２４は、他のシステムとコンピュータシステム７００との間のデータの送受のためのインターフェイスとして働く。例えば、通信サブシステム７２４は、コンピュータシステム７００がインターネットを介して１つ以上の装置に接続することを可能にしてもよい。いくつかの実施の形態では、通信サブシステム７２４は、（例えばセルラー電話技術、３Ｇ、４ＧもしくはＥＤＧＥ（グローバル進化のための高速データレート）などのような先進データネットワーク技術、ＷｉＦｉ（ＩＥＥＥ８０２．１１ファミリー規格、もしくは他のモバイル通信技術、またはそれらの任意の組み合わせを用いて）無線音声および／またはデータネットワークにアクセスするための無線周波数（「ＲＦ」）送受信機コンポーネント、グローバルポジショニングシステム（ＧＰＳ）受信機コンポーネント、ならびに／または他のコンポーネントを含むことができる。いくつかの実施の形態では、通信サブシステム７２４は無線インターフェイスに加えて、またはそれに代わって、有線ネットワーク接続（たとえばイーサネット）を提供することができる。
【０１２２】
いくつかの実施の形態では、通信サブシステム７２４は、さらに、コンピュータシステム７００を用い得る１人以上のユーザのために、入力通信を、構造化されたデータフィードおよび／または構造化されないデータフィード７２６、イベントストリーム７２８、イベント更新７３０などの形式で受信してもよい。
【０１２３】
例として、通信サブシステム７２４は、データフィード７２６を、実時間で、Ｔｗｉｔｔｅｒ（登録商標）フィード、Ｆａｃｅｂｏｏｋ（登録商標）更新、Ｒｉｃｈ  Ｓｉｔｅ  Ｓｕｍｍａｒｙ（ＲＳＳ）フィードなどのようなウェブフィード、および／もしくは１つ以上の第三者情報源からの実時間更新などのようなソーシャルネットワークおよび／または他の通信サービスのユーザから受信するよう構成されてもよい。
【０１２４】
加えて、通信サブシステム７２４は、さらに、データを、明示的な端部を有さない本質的に連続的または無限であってもよい、実時間イベントのイベントストリーム７２８および／またはイベント更新７３０を含んでもよい、連続データストリームの形式で受信するよう構成されてもよい。連続データを生成するアプリケーションの例は、例えば、センサデータアプリケーション、金融株式相場表示板、ネットワーク性能測定ツール（例えばネットワーク監視およびトラフィック管理アプリケーション）、クリックストリーム解析ツール、自動車交通監視などを含んでもよい。
【０１２５】
通信サブシステム７２４は、さらに、構造化されたデータフィードおよび／または構造化されないデータフィード７２６、イベントストリーム７２８、イベント更新７３０などを、コンピュータシステム７００に結合される１つ以上のストリーミングデータソースコンピュータとの通信状態にあってもよい１つ以上のデータベースに出力するよう構成されてもよい。
【０１２６】
コンピュータシステム７００は、手持ち式の携帯装置（例えばｉＰｈｏｎｅ（登録商標）セルラーフォン、ｉＰａｄ（登録商標）コンピューティングタブレット、ＰＤＡ）、ウェアラブルデバイス（Ｇｏｏｇｌｅ  Ｇｌａｓｓ（登録商標）頭部装着型ディスプレイ）、ＰＣ、ワークステーション、メインフレーム、キオスク、サーバラック、または任意の他のデータ処理システムを含む、さまざまなタイプのもののうちの１つであり得る。
【０１２７】
常に変化するコンピュータおよびネットワークの性質のため、図に示されるコンピュータシステム７００の記載は具体的な例としてのみ意図される。図に示されるシステムより多いかまたは少ないコンポーネントを有する数多くの他の構成が可能である。例えば、カスタマイズされたハードウェアも用いられるかもしれず、および／または特定の要素がハードウェア、ファームウェア、ソフトウェア（アプレットを含む）、またはある組み合わせにおいて実現されるかもしれない。さらに、ネットワーク入力／出力装置などのような他のコンピューティングデバイスへの接続も用いられてもよい。ここに与えられる開示および教示に基づいて、当業者はさまざまな実施の形態を実現する他の態様および／または方法を理解する。
【０１２８】
上記の説明では、例示の目的で、方法が特定の順序で記載された。代替の実施形態では、方法は記載された順序とは異なる順序で実行されてもよいことを理解されたい。また、上記の方法は、ハードウェアコンポーネントによって実行されてもよいし、マシン実行可能命令であって、用いられると、そのような命令でプログラムされた汎用もしくは専用のプロセッサまたは論理回路などのマシンに方法を実行させるマシン実行可能命令のシーケンスで具体化されてもよいことも理解されたい。これらのマシン実行可能命令は、１つ以上の機械読取可能媒体もしくはメモリデバイス、たとえばＣＤ−ＲＯＭもしくは他の種類の光ディスク、フロッピー（登録商標）ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気もしくは光学カード、フラッシュメモリなど、または電子命令を記憶するのに適した他の種類の機械読取可能媒体もしくはメモリデバイスに保存できる。代替的に、これらの方法は、ハードウェアとソフトウェアとの組み合わせによって実行されてもよい。
【０１２９】
例示的かつ現在好ましい実施形態を本明細書で詳細に説明したが、本発明の概念は、他の方法で様々に具現化および採用され得ること、および特許請求の範囲は、先行技術によって制限される場合を除き、そのような変形を含むように解釈されるよう意図されることを理解されたい。
【図１】
2020520594.tif 000003
【図２】
2020520594.tif 000004
【図３】
2020520594.tif 000005
【図４】
2020520594.tif 000006
【図５】
2020520594.tif 000007
【図６】
2020520594.tif 000008
【図７】
2020520594.tif 000009
【国際調査報告】
2020520594.tif 000010
2020520594.tif 000011
2020520594.tif 000012