(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-21
(54)【発明の名称】会話のやり取りにおける機微情報の保護
(51)【国際特許分類】
G10L 25/51 20130101AFI20240614BHJP
G10L 17/00 20130101ALI20240614BHJP
G10L 15/10 20060101ALI20240614BHJP
G06F 16/38 20190101ALI20240614BHJP
【FI】
G10L25/51
G10L17/00 200C
G10L15/10 500T
G06F16/38
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023570351
(86)(22)【出願日】2022-05-17
(85)【翻訳文提出日】2023-11-14
(86)【国際出願番号】 CN2022093226
(87)【国際公開番号】W WO2022257708
(87)【国際公開日】2022-12-15
(32)【優先日】2021-06-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】岡田 雅州
(72)【発明者】
【氏名】佐々木 卓
(72)【発明者】
【氏名】清水 星哉
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FB03
(57)【要約】
コンピュータ実施方法、コンピュータ・システム、およびコンピュータ・プログラム製品は会話を分析する。方法は、マイクロフォンを用いて会話を捕捉することを含む。会話は、複数の発話を含む。方法はまた、スピーチ認識アルゴリズムを使用して複数の発話をテキスト・データに変換することを含む。複数の発話のそれぞれについて、話者が識別され関連付けられる。方法は、会話の意図を決定することをさらに含む。加えて、方法は、決定された意図ごとに、関連付けられた話者と複数の発話のそれぞれに関連付けられた1組のカテゴリとに基づいて複数の発話のそれぞれを分類することを含む。方法はまた、複数の発話のそれぞれが、関連付けられた話者にとって機微な情報を含んでいるかどうかを判定することを含む。最後に、方法は、複数の発話内の発話が関連付けられた話者にとって機微な情報を含んでいないことに応答して、発話を記憶することを含む。
【特許請求の範囲】
【請求項1】
会話を分析するためのコンピュータ実施方法であって、
マイクロフォンを用いて、複数の発話を含む会話を捕捉することと、
スピーチ認識アルゴリズムを使用して前記複数の発話をテキスト・データに変換することであって、前記複数の発話のそれぞれについて話者が識別され関連付けられる、前記変換することと、
前記会話の意図を決定することと、
決定された意図ごとに、前記関連付けられた話者と前記複数の発話のそれぞれに関連付けられた1組のカテゴリとに基づいて前記複数の発話のそれぞれを分類することと、
前記複数の発話のそれぞれが、前記関連付けられた話者にとって機微な情報を含んでいるかどうかを判定することと、
前記複数の発話内の発話が前記関連付けられた話者にとって機微な情報を含んでいないことに応答して、前記発話を記憶することと
を含む、コンピュータ実施方法。
【請求項2】
前記発話を記憶することが、
前記複数の発話の前記分類に基づいて1つまたは複数の検索パラメータを生成することと、
前記生成された1つまたは複数の検索パラメータを使用して1つまたは複数のサーバの検索を実行することと、
エッジ・デバイスにおいて検索結果のリストを表示することと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記複数の発話のそれぞれを分類することが、機械学習分類モデルを使用して、前記発話が前記話者にとって機微な情報を含んでいるかどうかを予測することをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記テキスト・データを前記関連付けられた話者に送信することと、
前記関連付けられた話者から、前記テキスト・データ内の発話が前記関連付けられた話者にとって機微な情報を含んでいるかどうかの判定を受け取ることと、
前記判定に基づいて、前記発話が前記関連付けられた話者にとって機微な情報を含んでいるかどうかを更新することと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記複数の発話のそれぞれを分類することが、情報ツリーを生成することをさらに含み、前記意図が前記情報ツリーの根である、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記情報ツリーの次の下位レベルにあるノードが、少なくとも1つの発話について識別された話者に対応する、請求項5に記載のコンピュータ実施方法。
【請求項7】
前記情報ツリーのその次の下位レベルにあるノードが、前記複数の発話のそれぞれを分類する際に使用される各カテゴリに対応する、請求項6に記載のコンピュータ実施方法。
【請求項8】
コンピュータ・システムであって、
1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読有形記憶媒体と、前記1つまたは複数のメモリのうちの少なくとも1つを介して前記1つまたは複数のプロセッサのうちの少なくとも1つによって実行される前記1つまたは複数の有形記憶媒体のうちの少なくとも1つに記憶されるプログラム命令とを含み、前記コンピュータ・システムが、
マイクロフォンを用いて、複数の発話を含む会話を捕捉することと、
スピーチ認識アルゴリズムを使用して前記複数の発話をテキスト・データに変換することであって、前記複数の発話のそれぞれについて話者が識別され関連付けられる、前記変換することと、
前記会話の意図を決定することと、
決定された意図ごとに、前記関連付けられた話者と前記複数の発話のそれぞれに関連付けられた1組のカテゴリとに基づいて前記複数の発話のそれぞれを分類することと、
前記複数の発話のそれぞれが、前記関連付けられた話者にとって機微な情報を含んでいるかどうかを判定することと、
前記複数の発話内の発話が前記関連付けられた話者にとって機微な情報を含んでいないことに応答して、前記発話を記憶することと
を含む方法を実行することが可能である、コンピュータ・システム。
【請求項9】
前記発話を記憶することが、
前記複数の発話の前記分類に基づいて1つまたは複数の検索パラメータを生成することと、
前記生成された1つまたは複数の検索パラメータを使用して1つまたは複数のサーバの検索を実行することと、
エッジ・デバイスにおいて検索結果のリストを表示することと
をさらに含む、請求項8に記載のコンピュータ・システム。
【請求項10】
前記複数の発話のそれぞれを分類することが、機械学習分類モデルを使用して、前記発話が前記話者にとって機微な情報を含んでいるかどうかを予測することをさらに含む、請求項8に記載のコンピュータ・システム。
【請求項11】
前記テキスト・データを前記関連付けられた話者に送信することと、
前記テキスト・データを有する前記関連付けられた話者の対話をモニタリングすることと、
前記対話に基づいて、前記発話が前記関連付けられた話者にとって機微な情報を含んでいるかどうかを更新することと
をさらに含む、請求項8に記載のコンピュータ・システム。
【請求項12】
前記複数の発話のそれぞれを分類することが、情報ツリーを生成することをさらに含み、前記意図が前記情報ツリーの根である、請求項8に記載のコンピュータ・システム。
【請求項13】
前記情報ツリーの次の下位レベルにあるノードが、少なくとも1つの発話について識別された話者に対応する、請求項12に記載のコンピュータ・システム。
【請求項14】
前記情報ツリーのその次の下位レベルにあるノードが、前記複数の発話のそれぞれを分類する際に使用される各カテゴリに対応する、請求項13に記載のコンピュータ・システム。
【請求項15】
コンピュータ・プログラム製品であって、
コンピュータ可読記憶デバイスによって具現化されるコンピュータ可読プログラム・コードを記憶するコンピュータ可読記憶デバイスを含み、前記コンピュータ可読プログラム・コードが、
マイクロフォンを用いて、複数の発話を含む会話を捕捉することと、
スピーチ認識アルゴリズムを使用して前記複数の発話をテキスト・データに変換することであって、前記複数の発話のそれぞれについて話者が識別され関連付けられる、前記変換することと、
前記会話の意図を決定することと、
決定された意図ごとに、前記関連付けられた話者と前記複数の発話のそれぞれに関連付けられた1組のカテゴリとに基づいて前記複数の発話のそれぞれを分類することと、
前記複数の発話のそれぞれが、前記関連付けられた話者にとって機微な情報を含んでいるかどうかを判定することと、
前記複数の発話内の発話が前記関連付けられた話者にとって機微な情報を含んでいないことに応答して、前記発話を記憶することと
を含む方法を実行するようにコンピュータによって実行可能なプログラム・コードを含む、
コンピュータ・プログラム製品。
【請求項16】
前記発話を記憶することが、
前記複数の発話の前記分類に基づいて1つまたは複数の検索パラメータを生成することと、
前記生成された1つまたは複数の検索パラメータを使用して1つまたは複数のサーバの検索を実行することと、
エッジ・デバイスにおいて検索結果のリストを表示することと
をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記複数の発話のそれぞれを分類することが、機械学習分類モデルを使用して、前記発話が前記話者にとって機微な情報を含んでいるかどうかを予測することをさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記テキスト・データを前記関連付けられた話者に送信することと、
前記テキスト・データを有する前記関連付けられた話者の対話をモニタリングすることと、
前記対話に基づいて、前記発話が前記関連付けられた話者にとって機微な情報を含んでいるかどうかを更新することと
をさらに含む、請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
前記複数の発話のそれぞれを分類することが、情報ツリーを生成することをさらに含み、前記意図が前記情報ツリーの根である、請求項15に記載のコンピュータ・プログラム製品。
【請求項20】
前記情報ツリーの次の下位レベルにあるノードが、少なくとも1つの発話について識別された話者に対応する、請求項19に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、一般に、セキュアな通信の声認識に関し、詳細には、会話内の機微情報の記憶または流布を防止するためのセキュリティ・フィルタを維持しながら、高度なサービスをユーザに提供することを目的として音声会話をモニタリングすることに関する。
【背景技術】
【0002】
声対応デバイスを使用して、近くで行われる会話を捕捉することができ、その会話からの情報をエッジ・コンピューティング環境で使用して、ユーザのための高度なサービスを可能にすることができる。企業および個人の機密である通信を、機微な(すなわち、プライベートな、個人的な、または商業的に価値のある)情報およびデータにアクセスするために発生する恐れのある意図しない攻撃、いたずらな攻撃、または悪意のある攻撃から保護するために、情報セキュリティがますます重要になる可能性があり、機微情報には、数ある中でもとりわけ、個人データ(例えば、名前、住所、社会保障番号、銀行口座およびルーティング番号を含む財務データ、クレジット・カード番号、請求先住所)、ビジネスまたは商業データ(例えば、営業秘密、ビジネス上の機密情報、販売データ)、ならびに、不正な目的または悪意のある目的で傍受および使用され、多くの場合、個人情報の盗用、ビジネス上の誹謗、経済的損失、および信用履歴の損害によって、元のユーザまたは本物のユーザに損害を与え得る他のデータおよび情報が含まれる場合がある。
【発明の概要】
【0003】
一実施形態は、会話を分析するためのコンピュータ実施方法を対象とする。方法は、マイクロフォンを用いて会話を捕捉することを含んでもよい。会話は、複数の発話を含んでもよい。方法はまた、スピーチ認識アルゴリズムを使用して複数の発話をテキスト・データに変換することを含んでもよい。複数の発話のそれぞれについて、話者が識別され、関連付けられてもよい。方法は、会話の意図を決定することをさらに含んでもよい。加えて、方法は、決定された意図ごとに、関連付けられた話者と複数の発話のそれぞれに関連付けられた1組のカテゴリとに基づいて複数の発話のそれぞれを分類することを含んでもよい。方法はまた、複数の発話のそれぞれが、関連付けられた話者にとって機微な情報を含んでいるかどうかを判定することを含んでもよい。最後に、方法は、複数の発話内の発話が関連付けられた話者にとって機微な情報を含んでいないことに応答して、発話を記憶することを含んでもよい。
【0004】
一実施形態では、発話を記憶することは、複数の発話の分類に基づいて1つまたは複数の検索パラメータを生成することを含んでもよい。発話を記憶することはまた、生成された1つまたは複数の検索パラメータを使用して1つまたは複数のサーバの検索を実行することを含んでもよい。最後に、発話を記憶することは、エッジ・デバイスにおいて検索結果のリストを表示することを含んでもよい。
【0005】
別の実施形態では、関連付けられた話者および複数の発話のそれぞれに関連付けられた1組のカテゴリに基づいて複数の発話のそれぞれを分類することは、機械学習分類モデルを使用して、発話が関連付けられた話者にとって機微な情報を含んでいるかどうかを予測することを含んでもよい。
【0006】
さらなる実施形態では、方法は、テキスト・データを関連付けられた話者に送信することを含んでもよい。方法はまた、テキスト・データを有する関連付けられた話者の対話をモニタリングすることを含んでもよい。最後に、方法は、対話に基づいて、発話が関連付けられた話者にとって機微な情報を含んでいるかどうかを更新することを含んでもよい。
【0007】
さらに別の実施形態では、関連付けられた話者および1組のカテゴリに基づいて複数の発話のそれぞれを分類することは、情報ツリーを生成することを含んでもよく、意図は、情報ツリーの根であってもよく、情報ツリーの次の下位レベルにあるノードは、少なくとも1つの発話について識別された話者に対応してもよく、情報ツリーのさらに次の下位レベルにあるノードは、複数の発話のそれぞれを分類する際に使用される各カテゴリに対応してもよい。
【0008】
さらなる実施形態は、コンピュータ実施方法に加えて、会話を分析するためのコンピュータ・システムおよびコンピュータ・プログラム製品を対象とする。
【0009】
この概要は、以下の発明を実施するための形態でさらに説明される概念から選択されたものを簡略化した形式で紹介するために提供されている。この概要は、特許請求される主題の主要な特徴または本質的な特徴を特定することを意図したものでも、特許請求される主題の範囲を決定する際の補助として使用されることを意図したものでもない。
【図面の簡単な説明】
【0010】
【
図1】様々な実施形態が実装され得る例示的なコンピュータ・システムのブロック図である。
【
図2】一実施形態による、エッジ・サーバまたはクラウド・サーバからエッジにおけるユーザに高度なサービスを提供するシステムの一例を示す図である。
【
図3】1つまたは複数の実施形態による、機微情報を保護しながら会話をモニタリングおよび分析するためのプロセスのフローチャート図である。
【
図4】一実施形態による、会話内の発話の例示的な分類を示す図である。
【
図5】一実施形態による、クラウド・コンピューティング環境を示す図である。
【
図6】一実施形態による、抽象化モデル層を示す図である。
【発明を実施するための形態】
【0011】
エッジ・コンピューティング・モデルは、サービス・プロバイダによって情報処理がネットワーク・エッジの近くに配置され、ネットワーク・エッジにおいてその情報が作成または消費されるという、分散型コンピューティング・フレームワークである。エッジ・コンピューティングは、数千マイル離れている可能性のある中央の場所に依存するのではなく、データが収集されているデバイスに計算およびデータ・ストレージを近づけて、より分散化された環境を実現することができる。
【0012】
エッジ・デバイスは、エッジ・デバイスの動作の過程で膨大な量のデータを生成する傾向がある。エッジ・コンピューティングのハードウェアおよびサービスは、これらのシステムの多くの処理および記憶のローカル・ソースである。例えば、エッジ・サーバは、エッジ・デバイスからのデータを処理し、次いで、関連するデータのみをクラウド経由で送り返して、必要な帯域幅を削減することができるか、またはリアルタイム・アプリケーションが必要な場合は、データをエッジ・デバイスに送り返すことができる。これらのエッジ・デバイスには、スマート・サーモスタット、従業員のノートブック・コンピュータもしくはスマートフォン、セキュリティ・カメラ、またはオフィスの休憩室にあるインターネットに接続された電子レンジなど、多くの様々なものが含まれることがある。エッジ・サーバ自体は、エッジ・コンピューティング・インフラストラクチャ内のエッジ・デバイスとみなされることがある。
【0013】
エッジ・コンピューティングの台頭と並行して、近くのデバイスを動作させること、または簡単なコマンドを実行すること、例えば、声認識機能を備えたリモートコントロールを使用して車両内の音量を調整することまたはテレビでの音量制御およびチャンネル選択を行うことを目的として、サーバへの接続なしでローカル環境でのみユーザの声を聞いて理解するために、最近までは主に声認識が使用されてきた。
【0014】
現在では、声認識を使用して、「Hey Siri!」または「Alexa!」または「Watson!」などのトリガ・ワードがないか環境内の音をモニタリングし、トリガが認識されると、ユーザのためのより知的で高度なサービス、例えば、特定の好みに基づいて、特定の製品を検索および購入すること、または運転状況を分析してルート選択を支援することを実行することが一般的になっている。これらのサービスは、声認識をサポートするローカル・サーバを介してアクセスされてもよく、リモート・サーバと連携して要求を遂行してもよい。例えば、ユーザは、市内で特定のタイプの料理を提供する最も良いレストラン、またはおそらくは現在地に最も近いレストランもしくはホテルについて質問することがある。この要求を遂行するために、ユーザの声が捕捉され、要求がローカルで分析されるが、その場合ローカル・サーバは、クラウド内のサーバを参照し、レストランもしくはホテルまたは要求されたあらゆるものに関する中央データベースと突き合わせて調べることがある。
【0015】
自動スピーチ認識(ASR:automatic speech recognition)アルゴリズムおよび自然言語処理(NLP:natural language processing)アルゴリズムの進歩によって予想されるサービス提供および声認識のさらなる改善としては、エッジ・デバイスが、行われている会話を能動的に聞き、特定の単語を聞いたときに反応するという能力が含まれることがある。このような場合、ユーザの機微情報を漏洩から保護することがより重要になり、ユーザを具体的に特定し得るまた情報セキュリティ攻撃を受ける可能性があるままにし得る機微な個人情報の送信を、無視またはブロックすることが必要になる場合がある。会話中に話しているある人物にとって機微であり得る情報には、数ある中でもとりわけ、個人データ(例えば、名前、住所、社会保障番号、銀行口座およびルーティング番号を含む財務データ、クレジット・カード番号、請求先住所)、ビジネスまたは商業データ(例えば、営業秘密、ビジネス上の極秘情報、販売データ)、ならびに、不正な目的または悪意のある目的で傍受および使用され、多くの場合、個人情報の盗用、ビジネス上の誹謗、経済的損失、および信用履歴の損害によって元のユーザまたは本物のユーザに損害を与え得る他のデータおよび情報が含まれる場合がある。
【0016】
本明細書では、標準的な会話環境、例えば、車両内、または路上、または居住環境もしくは商用環境の部屋において話される音声から得られる基礎となる情報を捕捉および分析するが、その情報の話者によって定義された機微情報が流布すること、さらには漏洩する可能性があるように記憶されることを防止するための方法が開示される。また、本明細書で使用される(例えば、マイクロフォンを使用して「常時リスニング」モードで)ユーザの会話をモニタリングすることは、分析のために会話が捕捉されるすべての人々のインフォームド・コンセントを必要とすることにも留意されたい。同意は、リアルタイムで取得されてもよく、または、マイクロフォンによって声が捕捉されること、ならびにその音声がスピーチ認識アルゴリズムおよび自然言語処理によって分析されることを対象者に通知する、権利放棄(waiver)もしくは他のプロセスを通じて事前に取得されてもよい。
【0017】
図1を参照すると、本明細書に記載の実施形態に含まれるプロセスが実施され得るコンピュータ・サーバ100のブロック図が示されている。コンピュータ・サーバ100は、実施形態で説明されるソフトウェアを実行するコンピュータ・ハードウェア、例えば
図2のエッジ・サーバ210を表す。コンピュータ・サーバ100は、1つまたは複数のプロセッサ(CPU)102A~102Bと、入出力回路104と、ネットワーク・アダプタ106と、メモリ108とを含んでもよい。CPU102A~102Bは、本通信システムおよび本方法の機能を実施するためにプログラム命令を実行する。
図1は、コンピュータ・サーバ100が単一のマルチプロセッサ・コンピュータ・システムとして実装され、複数のプロセッサ102A~102Bがメモリ108、入出力回路104、およびネットワーク・アダプタ106などのシステム・リソースを共有する実施形態を示す。しかし、本通信システムおよび本方法は、コンピュータ・サーバ100が、シングルプロセッサ・コンピュータ・システム、マルチプロセッサ・コンピュータ・システム、またはそれらの混合であり得る複数のネットワーク化されたコンピュータ・システムとして実装される実施形態も含む。入出力回路104は、コンピュータ・サーバ100にデータを入力する能力またはコンピュータ・サーバ100からデータを出力する能力を提供する。ネットワーク・アダプタ106は、コンピュータ・サーバ100をネットワーク110と接続し、ネットワーク110は、インターネットを含むがこれに限定されない任意の公衆もしくは専用のLANまたはWANであってもよい。
【0018】
メモリ108は、コンピュータ・サーバ100の機能を実行するためにCPU102A~102Bによって実行されるプログラム命令と、CPU102A~102Bによって使用および処理されるデータとを記憶する。メモリ108は、例えば、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、電気的に消去可能なプログラマブル読出し専用メモリ(EEPROM)、フラッシュ・メモリなどの電子メモリ・デバイス、および磁気ディスク・ドライブ、テープ・ドライブ、光ディスク・ドライブなどの電気機械メモリを含んでもよく、これらは、インテグレーティド・ドライブ・エレクトロニクス(IDE)・インターフェース、もしくは拡張IDE(EIDE)もしくはウルトラダイレクト・メモリ・アクセス(UDMA)などのIDEインターフェースの変形もしくは拡張、またはスモール・コンピュータ・システム・インターフェース(SCSI)ベースのインターフェース、もしくは高速SCSI、ワイドSCSI、高速およびワイドSCSIなどのSCSIベースのインターフェースの変形もしくは拡張、またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA)、もしくはSATAの変形もしくは拡張、またはファイバ・チャネル・アービトレーティド・ループ(FC-AL)インターフェースを使用してもよい。
【0019】
メモリ108のコンテンツは、コンピュータ・サーバ100が実行するようにプログラムされている機能に応じて変化することがある。
図1に示す例では、本明細書で説明されるプロセスの実施形態のルーチンおよびデータを表す例示的なメモリ・コンテンツが示されている。しかし、これらのルーチンは、それらのルーチンに関連するメモリ・コンテンツとともに1つのシステムまたはデバイス上に含まれるのではなく、よく知られた工学的考慮事項に基づいて複数のシステムまたはデバイスにわたって分散されてもよいことが認識され得る。本通信システムおよび本方法は、あらゆるすべてのそのような構成を含んでもよい。
【0020】
メモリ108内には、以下の実施形態で説明されるルーチンを実行し得る会話分析器120が含まれる。会話の意図およびその意図の決定に関連し得る情報を記憶するために、会話分析器120は、後述するように任意の非機微情報を記憶し得る意図情報データベース122にアクセスしてもよい。また、会話分析器120は、新たに捕捉された音声および後続の関連テキスト・データと対話するときに、関連性があり非機微であると判定した情報を含むように意図情報データベース122を更新してもよい。意図情報データベース122は、以下に説明するように分類された発話を含む会話の意図についての必要な情報または他の関連する非機微情報を保持する任意の形式とすることができる。そのような情報の話者または所有者によって行われ得る発話内の情報に対するフィルタリングの決定、すなわち、情報が機微であるとみなされるかどうかについても、意図情報データベース122に記憶されてもよい。
【0021】
図2を参照すると、一実施形態による、機微情報を保護しながら会話をモニタリングすることの一例200が示されている。会話202は、任意の閉鎖空間、例えば自動車のキャビンもしくは居住用もしくは商用ビルの一室、または歩行中の路上などの任意の開放空間で行われることがある。会話に参加している声を捕捉するために、固定式または非固定式のマイクロフォン204が近くに配置されてもよい。一実施形態では、マイクロフォン204は、音声の捕捉または録音あるいはその両方を開始するのにトリガを必要としないように、「常時リスニング」モードであってもよい。マイクロフォン204はまた、ユーザの任意選択により「常時リスニング」モードから切り替えられてもよい(例えば、「常時リスニング」モードをオフにする)。
【0022】
図2に示す実施形態では、マイクロフォン204はエッジ・サーバ210内に埋め込まれ、エッジ・サーバ210は、カメラおよびマイクロフォンなどの複数の車載デバイスを統合的に制御し、ネットワーク110を介してクラウド・サーバ220と通信するように構成された、カー・ナビゲーション・デバイスであってもよい。ローカル環境の別の例は、他のデバイスに加えて多くの工作機械が中に設置されている工場であり得る。しかし、この統合は、必須ではない。多くのデバイスが制御下にある必要はなく、会話からの声入力を受け入れるメカニズムがあればよい。近くのマイクロフォンの例には、部屋の中もしくは通り沿いに取り付けられた、または話者のうちの1人によって携行されるスマートフォンまたは他のモバイル・デバイスに埋め込まれた、マイクロフォン204が含まれる。当業者であれば、会話を捕捉するために1つまたは複数のマイクロフォンが複数の方法で配置されてもよいことを理解するであろう。また、エッジ・サーバ210およびマイクロフォン204が別個のデバイスであってもよいこと、または単一のデバイスもしくは複数のデバイスに組み合わされた機能であってもよいことも理解されたい。
【0023】
エッジ・サーバ210内には、捕捉された音声データを処理し、自動スピーチ認識(ASR)アルゴリズムを使用して音声データをテキストに変換するとともに、自然言語処理アルゴリズムを使用して、会話の意図が決定され得るように発話の意味を認識するための、ローカル声認識エンジン230も含まれてもよい。このエンジン230はまた、スピーチのトーン、声紋、または声質を分析すること、およびデータベースと比較することによって、声データの話者を識別してもよい。話者識別を決定するための可能な方法のこの列挙は、網羅的であることを意図したものではなく、当業者であれば、話者を識別するには多くの方法があることを理解するであろう。また、話者を識別することはエンジン230によって行われる必要はなく、その能力を有するシステムの任意の構成要素において行われてもよいことを理解されたい。簡単にするために、
図2にはエンジン230のみが示されている。
【0024】
関連するサービスを提供するために、必須ではないが、エッジ・サーバがネットワーク110を介してクラウド・サーバ220上のサービス・プロバイダ240を参照することが必要であることがある。サービス・プロバイダ240は、エッジ・サーバ210とクラウド・サーバ220との間の接続を管理してもよい。以下に説明するように、エッジ・サーバ210とクラウド・サーバ220との間では、非機微情報のみが送信されてもよい。例として、サービス・プロバイダ240は、ホテルもしくはレストランまたは他の小売サービスに関する推奨事項を提供するウェブ・サービスであってもよく、会話の意図が判明すると、適切なサービス・プロバイダ240が選択されてもよく、検索結果が、エッジ・サーバ210に送り返され、最終的に、オーディオ・スピーカもしくはスマートフォンまたは他のモバイル・デバイスなどのエッジ・デバイス206を介して会話202内の話者に送り返されてもよい。
図2に示すように、入力デバイス、例えばマイクロフォン204、および出力デバイス、例えばエッジ・デバイス206が同じデバイスに組み込まれる必要はない。
【0025】
図3を参照すると、少なくとも1つの実施形態による、機微情報を保護しながら会話をモニタリングおよび分析するためのプロセス300を示す動作フローチャートが示されている。302において、マイクロフォン204などの声対応エッジ・デバイスを使用して、デバイスの近傍で話された音声を捕捉してもよい。例えば、一群の人々が一緒に道を歩いているかまたは一緒に自動車に乗車しており、イベントの段取りまたは単に食事の段取りについて一緒に話し合っている場合がある。話者のうちの1人によって携行されているスマートフォンは、スマートフォンの近傍での会話を能動的に捕捉し、スマートフォンが捕捉した音声を処理するように設定されてもよい。自動車内で会話が行われている場合、車両制御システムに接続されたマイクロフォンが音声を捕捉してもよい。当業者であれば、会話が多くの環境で行われ、マイクロフォンがその環境に適した様々な方法で配置され得ることを理解するであろう。エッジ・サーバ210に関して述べたように、音声を捕捉するデバイスも音声を処理してクラウド・サーバと通信することができるが、これらすべてのステップがネットワークの最も遠いエッジにある1つのデバイスにおいて行われる必要はない。このステップで捕捉された音声は、変換ステップでの処理バッファを可能にするために記憶されてもよい。
【0026】
304において、捕捉された音声データがスピーチからテキストに変換されてもよく、各発話の話者が識別されてもよい。スピーチからテキストへの変換は、声認識エンジン230内の自動スピーチ認識(ASR:automatic speech recognition)アルゴリズムまたはスピーチ・ツー・テキスト(STT:speech to text)アルゴリズムを使用して実現されてもよい。
【0027】
声認識エンジン230は、捕捉された音声データを記憶された情報を参照して処理してもよく、または代替として、声認識エンジン230によって、別のソースから処理済みのデータが受け取られてもよい。例えば、エッジ・デバイスは、音声データを処理して特徴ベクトルにし、ASR処理のためにその情報をネットワーク経由でクラウド・サーバに送信してもよい。特徴ベクトルは、符号化されて到着してもよく、その場合、特徴ベクトルは、声認識エンジン230による処理の前に復号されてもよい。
【0028】
声認識エンジン230は、その入力を、記憶された音響モデルまたは言語モデルにおいて知られているような言語音素および単語と照合することを試みてもよい。声認識エンジン230は、音響情報および言語情報に基づいて、データの認識スコアを計算してもよい。音響情報は、入力データ内の特徴ベクトルのグループによって表される意図された音が言語音素に一致する可能性を表す音響スコアを算出するために使用されてもよい。言語情報は、どの音または単語あるいはその両方が相互に関連して使用されているかを考慮することによって音響スコアを調整し、それによってASRプロセスが文法的に意味のあるテキスト・データを出力する可能性を向上させるために使用されてもよい。使用される特定のモデルは、一般的なモデルであってもよく、または特定のトピック、例えば、食べ物、音楽、もしくは銀行業務などに対応するモデルであってもよい。ユーザの発話に対応する音声データは、声認識エンジン230に送られてもよく、声認識エンジン230は、発話に対応するテキスト・データを識別するか、決定するか、または生成するか、あるいはその組合せであってもよい。声認識エンジン230は、特徴ベクトルを音素と照合するためにいくつもの技術を使用してもよく、例えば、隠れマルコフ・モデル(HMM:Hidden Markov Model)を使用して、特徴ベクトルが音素に一致する確率を決定してもよい。受信された音は、HMMの状態間のパスとして表されてもよく、複数のパスが、同じ音について一致する可能性のある複数のテキストを表してもよい。
【0029】
また、このステップでは、上記で説明されたようにスピーチのトーン、声紋、または声質を分析してデータベースと比較する話者認識アルゴリズムを使用して、所与の発話の話者が識別されてもよい。
【0030】
306において、会話内の情報が機微であるとみなされるかどうかが判定されてもよい。この判定は、各発話内の情報を機微または非機微として分類することによって実現されてもよい。機微情報は、ローカルエッジでの抽出またはログ記録からフィルタリングされ、したがって、保持されないように、またはリモート・サーバに送られないようにされてもよく、これがステップ308である。非機微と分類された情報は、さらなる処理のためにステップ310へ進められてもよい。
【0031】
コンテンツをフィルタリングするための決定は、機微情報の所有者によって、または分類モデルに入力される訓練データを用いて、設定されてもよい。フィルタ、または機械学習分類器を基準にして情報を機微または非機微としてマーク付けする能力は、クラウド・サーバに送信される情報に対して構成されてもよく、または意図情報の各部分に対して構成されてもよい。初期状態では、クラウド・サーバに情報が送られないように、すべての情報の送信が不可能であってもよく、情報のログ記録のみが行われてもよい。このデフォルトの初期設定は、機微である可能性がある情報の所有者が、あらゆる情報がネットワーク上で保持または送信されることに同意する必要があることを意味する。
【0032】
情報所有者は、エッジ・サーバで提供されるユーザ・インターフェース(UI)を介してまたはスマートフォンもしくはタブレットなどのモバイル・デバイスを介して、ログ記録された情報を調べ、どのような情報がクラウド・サーバに送信され得るか、したがってどのような情報が機微情報として分類され得るかを確認してもよい。情報所有者はまた、特定の情報の送信を承認するかどうかを決定するために、ログ記録されたテキスト・データを選択してそのデータをクラウド・サーバに送信することによって、その情報を開示することでどのようなサービスが受けられるかをテストするか、または機微性に従ってその情報を手動でマーク付けしてもよい。これらのフィルタ設定を介して情報所有者が送信を承認した場合、承認された情報のみがクラウド・サーバに送信されてもよい。あらゆる機微情報は、引き続き機微情報として分類され、保持または送信されることを阻止される。
【0033】
これらの設定は、機械学習分類器を最新の情報で更新し続けるように永続的に保持されるとともに、機微情報を使用して高度なサービスを取得することに対する所有者のインフォームド・コンセントを情報の所有者が完全に制御することを可能にするので、情報所有者はいつでも自由にこれらの決定を下し、情報所有者が機微情報として選択したものを変更できることに留意されたい。
【0034】
ステップ306におけるリアルタイムで捕捉された音声の機微性に関する決定、またはステップ310において説明された会話の意図に関する決定、またはステップ312において説明された発話の特定のカテゴリへの分類に関する決定を下すために、スピーチ・ツー・テキスト変換から得られるテキスト・データに対して自然言語処理(NLP)アルゴリズムが使用されてもよい。一般に、NLPプロセスは、テキスト入力(発話入力音声に基づく上記のASRプロセスの出力など)を受け取り、そのテキストの意味解釈を行うことを試みる。すなわち、NLPプロセスは、個々の単語に基づいてテキストの背後にある意味を決定し、次いで、その意味を実装する。ステップ306のコンテキストにおいて、話された発話が上記で説明されたようにASRを使用して処理され、「私のクレジット・カード番号は1234です」というテキストが得られる場合、NLPアルゴリズムは、クレジット・カード番号が機微情報であると判断し、その情報を機微として分類してもよい。
【0035】
310において、ステップ306で決定された非機微の意図情報のみを抽出するようにしながら、NLPアルゴリズムを使用して会話に対応するテキスト・データを分析することによって、会話の意図が決定されてもよい。NLP処理は、テキスト文字列を解釈して、ユーザからの意図または望ましいアクション、およびデバイスがそのアクションを完了できるようにするテキスト内の関係する情報を導出する。例えば、話された発話が上記のようにASRを使用して処理され、「お腹が空いた」というテキストが得られる場合、NLPアルゴリズムは、話者が、地域にある、場合によってはサービスによって検索可能なレストランまたは他の飲食店に関連する情報を受け取ることを意図していると判断してもよい。意図は、意図情報データベース122に記憶されてもよい。機械学習モデルは、その訓練データ内の特定のインスタンス、または特に同じもしくは類似の意図を有していた他の会話に注目し、そのデータを使用して特定の発話を会話の文脈内の適切なカテゴリに分類してもよい。様々な会話において多くの発話が異なる意図によって異なる意味を有し得ることが理解されるべきである。したがって、利用可能な訓練データを選り分けて発話を適切に分類するには、意図の特異性が必要になる場合がある。
【0036】
312において、テキスト・データに変換された会話内の発話は、機械学習分類モデルを使用して1組のカテゴリに従って分類されてもよい。イベントの分類には、次の機械学習アルゴリズム、すなわち、ロジスティック回帰、ナイーブ・ベイズ、サポート・ベクター・マシン、人工ニューラル・ネットワーク、ランダム予報、およびランダム・フォレストのうちの1つまたは複数が使用されてもよい。一実施形態では、複数の機械学習アルゴリズムを一緒に使用して、単一の機械学習アルゴリズムの予測と比較してより優れた予測を保証する、アンサンブル学習技術が採用される。分類に使用される各カテゴリは、発話の特徴、または発話によって回答され得る質問に相当してもよい。例えば、カテゴリは、会話の意図に関連する何らかのことが起こり得る時間を追及する「いつ」であってもよい。この例では、「今すぐに」または「近いうちに」という発話は、質問への回答となる場合があり、したがって、このカテゴリに分類されてもよい。カテゴリの詳細および例示的な分類については、
図4で説明する。
【0037】
314において、非機微情報と、会話の意図に対応するカテゴリに従った情報との両方として分類された情報を使用して、検索パラメータが生成されてもよい。これらの検索パラメータは、会話の近傍にあるエッジ・デバイスを通して会話中の話者が利用できる様々なローカル・サービスまたはクラウド・ベース・サービスを検索するために使用されてもよい。検索され得る利用可能なサービスの一例としては、評判およびメニュー、ならびに予約が必要かどうかまたは予約が可能かどうかに基づいて近くのレストランを検索することが望まれる場合があり、これらはそれぞれ、発話を分類するために使用されたカテゴリに基づいてターゲットを絞られてもよい。さらに、発話の話者が既知である場合、サービスは、その話者の閲覧履歴またはソーシャル・メディア情報に基づいてメニューを推奨してもよい。発話の話者が不明な場合でも、会話の時間に従って、または単にレストランのメニューに基づいて、一般的な推奨が行われてもよい。
【0038】
別の例として、ユーザが食事の食材を購入するつもりである場合がある。クラウド・サービスは、話者が作りたいものに関する情報を使用して、近くの店舗を検索し、現在の特別サービスを含む食材の価格を比較することができ、また駐車場の現在の空き状況、および会話から抽出されて様々なカテゴリに分類される情報に応じた他の属性を判断してもよい。この例では、話者が既知である場合、その話者の冷蔵庫内にどのような食材が既に入っているかを確認し、任意の不足している材料の購入を推奨することが可能であってもよい。話者が不明な場合、クラウド・サービスは、会話の過程で「好む」または「好まない」というカテゴリに何か分類されるかに基づいてその推奨を絞り込むことが可能であってもよい。より具体的な情報がない場合、サーバは、販売されている任意の食材を単に推奨することができる。
【0039】
316において、検索結果がエッジ・デバイスに提供され、画面上に表示されてもよい。これらの検索結果は、サービスによって決定されたランキングもしくは関連性スコア、または会話の意図を予測して関連する結果を提供するための他の何らかの方法に基づいて、表示内で順序付けされてもよい。
【0040】
ここで
図4を参照すると、一実施形態による、会話内に含まれる複数の発話の分類の一例が示されている。分類プロセスおよびカテゴリのこの例では、次のサンプル会話が使用されてもよい。
Jim:「お腹が空いた」
Ken:「私も。この辺りでお昼にしよう。何を食べたい?」
Jim:「今日は中華料理を食べる気分ではない」
Ken:「イタリア料理を食べたい」
Mary:「ハンバーガーを食べたい」
Ken:「サンドイッチもOK」
Jim:「今朝はサンドイッチを食べたから他のものがいい」
Mary:「それでは、イタリア料理かハンバーガーね。Watson、お勧めは何?」
Jim:「ああ、あそこにかわいい犬がいるよ」
Mary:「そうね、かわいい!....ドライブ・スルーにする、それとも着席にする?」
Jim:「少し休みたい。2時間も運転してるよ!」
Mary:「分かった。それでは、ドライブ・スルーではなく着席して休憩しましょう...」
【0041】
この例では、カテゴリは、会話の意
図402が根にあるツリー構造で構成されてもよい。上記のサンプル会話を使用すると、会話から、「食べる」という意図、例えば食事をする段取りが抽出されてもよい。その次のレベルにある「誰が」とラベル付けされたノード404は、各話者を表してもよい。サンプル会話では、会話の中で3人の話者、「Jim」、「Ken」、および「Mary」が識別されてもよい。
図4は上記の会話例からの3人の話者を示しているが、捕捉され得る会話には任意の数の話者が存在し得ることに留意されたい。さらに、
図4で使用されるラベルは「誰が」であるが、これらのノードのラベル、および図示されているツリー構造内のすべてのノードのラベルは、示されているラベルとまったく同じである必要はない。重要なことは、会話の適切な理解を容易にし得る特定のタイプの情報として認識されるカテゴリに発話が分類されることである。
【0042】
会話の意図が確立され、会話内の話者が識別されると、会話からの発話がモデルによって分類されるときに、その発話が必要に応じて残りのカテゴリに投入され始めてもよい。
図4に示す例では、ツリーのその次のレベルにあるカテゴリは、会話例では「中華料理」、「イタリア料理」、または「ハンバーガー」として示された、どのタイプの食べ物が望まれているかを含み得る「何を」406、会話例では「近くの」という口語用語、例えば「この辺り」として示されているが、会話の文脈に応じて地理的位置も含み得る「どこで」408、会話例では食事をするというタスクを話者がどのように達成したいかとして「ドライブ・スルー」または「着席」を含み得る「どのように」410、および即時であるかまたは会話から抽出され得る任意の時間枠であり得る「いつ」412である。
【0043】
図4に「好む」414および「好まない」416という追加のレベルを用いて図示されているように、発話は各カテゴリ内で分離されてもよい。この分離は、分類されている情報を話者が好むかどうかを示してもよい。一例として、サンプル会話では、「Ken」は「イタリア料理を食べたい」および「サンドイッチもOK」と別々に表明しており、したがって「イタリア料理」と「サンドイッチ」はどちらも、「何を」406の下位にある「好む」414として分類されてもよい。会話内の各発話は、このように分類され、分類に従って記憶されてもよい。
【0044】
図4に示すツリー構造が会話内の発話の分類を図示する方法の一例にすぎないことに留意されたい。当業者であれば、ネットワークのエッジにおいてユーザにどのようなサービスを提供するかの決定を支援するために、発話を整理して、捕捉された会話のテキスト・データを様々な分類で保持するために、いくつかの方法が使用され得ることを認識するであろう。
【0045】
前述したように、会話からの発話が分類されなければならない特定の順序はない。上記のサンプル会話および
図4は特定の構成を示しているが、当業者であれば、カテゴリが、示されているツリー構造の所与のレベルで任意の順序で出現してもよいこと、および抽出が任意の順序で行われてもよいことを認識するであろう。唯一の制限は、ツリー内の残りのノードにデータが投入される前に、意
図402および話者の識別、例えば「誰が」404が判明していなければならないことである。また、所与の会話についてこれらのカテゴリのすべてのカテゴリが存在する必要はない。実際の会話には、サンプル会話および
図4に示されているすべての情報またはそれ以上の情報が存在するわけではなく、会話に存在するものだけツリーに投入されてもよい。
【0046】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実装はクラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているまたは後に開発される他の任意のタイプのコンピューティング環境と併せて実装されることが可能である。
【0047】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限の対話で迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの簡便なオンデマンドによるネットワーク・アクセスを可能にするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含み得る。
【0048】
特徴は、次の通りである。
【0049】
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダと人間との対話を必要とすることなく、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0050】
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
【0051】
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用して複数の消費者にサービス提供するようにプール化され、要求に応じて、異なる物理リソースおよび仮想リソースが動的に割当ておよび再割当てされる。消費者は一般に、提供されたリソースの正確な位置について制御も知識も有していないが、より高い抽象化レベル(例えば、国、州、またはデータセンタ)で位置を特定することが可能であり得るという点で、位置の独立性があるといえる。
【0052】
迅速な柔軟性:機能を迅速かつ柔軟に、場合によっては自動的にプロビジョニングして、急速にスケール・アウトし、迅速に解放して急速にスケール・インすることができる。消費者にとっては、プロビジョニングに利用可能な機能は、しばしば無制限であるように見え、いつでも任意の数量で購入することができる。
【0053】
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適した一定の抽象化レベルでの計量機能を活用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用状況をモニタリング、制御、および報告することができ、利用するサービスのプロバイダと消費者との両方に透明性がもたらされる。
【0054】
サービス・モデルは、次の通りである。
【0055】
ソフトウェア・アズ・ア・サービス(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、消費者に提供される機能である。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である。限定されたユーザ固有のアプリケーション構成設定の想定される例外として、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理も制御もしない。
【0056】
プラットフォーム・アズ・ア・サービス(PaaS):プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウド・インフラストラクチャ上に展開するために、消費者に提供される機能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージなどの基礎となるクラウド・インフラストラクチャを管理も制御もしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションを制御する。
【0057】
インフラストラクチャ・アズ・ア・サービス(IaaS):オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを消費者が展開および実行することができる、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングするために、消費者に提供される機能である。消費者は、基礎となるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを制御し、場合によっては選択されたネットワーク構成要素(例えば、ホスト・ファイアウォール)を限定的に制御する。
【0058】
展開モデルは、次の通りである。
【0059】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運用される。このクラウド・インフラストラクチャは、組織または第三者によって管理される場合があり、オンプレミスまたはオフプレミスに存在する場合がある。
【0060】
コミュニティ・クラウド:クラウド・インフラストラクチャは、複数の組織によって共有され、関心事項(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス上の考慮事項)を共有している特定のコミュニティをサポートする。このクラウド・インフラストラクチャは、組織または第三者によって管理される場合があり、オンプレミスまたはオフプレミスに存在する場合がある。
【0061】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界グループにとって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0062】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成であり、これらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性(例えば、クラウド間の負荷分散のためのクラウド・バースティング)を可能にする標準化された技術または専用の技術によって結び付けられる。
【0063】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向型である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0064】
次に
図5を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA:personal digital assistant)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどのクラウド消費者によって使用されるローカル・コンピューティング・デバイスの通信相手となり得る1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してもよい。これらは、本明細書で上述したようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、もしくはハイブリッド・クラウド、またはその組合せなどの1つまたは複数のネットワーク内で物理的にまたは仮想的にグループ化されてもよい(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド消費者がローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして提供することが可能になる。
図5に示すコンピューティング・デバイス54A~54Nのタイプが例示のみを意図していること、およびコンピューティング・ノード10およびクラウド・コンピューティング環境50が、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を介して(例えば、ウェブ・ブラウザを使用して)、任意のタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【0065】
次に
図6を参照すると、クラウド・コンピューティング環境50(
図5)によって提供される1組の機能抽象化層が示されている。
図6に示す構成要素、層、および機能は、例示のみを意図しており、本発明の実施形態はそれらに限定されないことが予め理解されるべきである。図示のように、以下の層および対応する機能が提供される。
【0066】
ハードウェアおよびソフトウェア層60は、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例には、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、記憶デバイス65、ならびにロード・バランサなどのネットワークおよびネットワーキング構成要素66が含まれる。いくつかの実施形態では、ソフトウェア構成要素には、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68が含まれる。
【0067】
仮想化層70は、抽象化層を提供し、この層から仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供されてもよい。
【0068】
一例では、管理層80は、以下に記載の機能を提供してもよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計量および価格決定82は、クラウド・コンピューティング環境内でリソースが利用されるときのコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことがある。セキュリティは、クラウド消費者およびタスクのための本人確認、ならびにデータおよび他のリソースのための保護を提供する。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるようなクラウド・コンピューティング・リソースの割当ておよび管理を提供する。サービス・レベル・アグリーメント(SLA)の計画および履行85は、SLAに従って将来要求されることが予想されるクラウド・コンピューティング・リソースの事前配置および調達を提供する。
【0069】
ワークロード層90は、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロードおよび機能の例には、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、ならびに機微情報を保護するために近くの会話を分析するソフトウェアなどの他のアプリケーション96が含まれる。
【0070】
本発明は、あらゆる可能な技術的詳細レベルの統合におけるシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)を含んでもよい。
【0071】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記の任意の好適な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造体などの機械的に符号化されたデバイス、および上記の任意の好適な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、または電線を介して送信される電気信号などの一過性の信号自体であると解釈されるべきではない。
【0072】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでもよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0073】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードもしくはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体がリモート・コンピュータ上もしくはサーバ上で実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して接続されてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行してもよい。
【0074】
本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら、本発明の態様について説明している。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せがコンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【0075】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するための手段を作り出すように、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってもよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに対して特定の方式で機能するように指示できるものであってもよい。
【0076】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するように、コンピュータ実施プロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0077】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、ならびに動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表すことがある。いくつかの代替実装形態では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、実際には、関与する機能性に応じて、1つのステップとして達成されるか、同時に、実質的に同時に、部分的にもしくは全体的に、時間的に重複する様式で実行されてもよく、または場合によっては、それらのブロックが逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または作用を実行するか、あるいは専用ハードウェアとコンピュータ命令との組合せを遂行する専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
【0078】
本発明の様々な実施形態の説明を例示の目的で提示してきたが、この説明は、網羅的であることも、開示された実施形態に限定されることも意図していない。説明した実施形態の範囲から逸脱することなく多くの変更形態および変形形態が当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用例、もしくは市場で見られる技術を超える技術的な改良を最もよく説明するように、または本明細書で開示された実施形態を当業者が理解することが可能になるように選択されたものである。
【国際調査報告】