(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】コンテキスト・アウェア・データ・マイニング
(51)【国際特許分類】
G06F 16/33 20190101AFI20240501BHJP
G06F 40/216 20200101ALI20240501BHJP
G06F 40/242 20200101ALI20240501BHJP
【FI】
G06F16/33
G06F40/216
G06F40/242
(21)【出願番号】P 2021561867
(86)(22)【出願日】2020-05-27
(86)【国際出願番号】 IB2020054997
(87)【国際公開番号】W WO2020250064
(87)【国際公開日】2020-12-17
【審査請求日】2022-10-21
(32)【優先日】2019-06-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ドメニコーニ、ジャコモ
(72)【発明者】
【氏名】リー、エウン キュン
(72)【発明者】
【氏名】モラーリ、アレッサンドロ
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2018-124914(JP,A)
【文献】米国特許出願公開第2018/0137137(US,A1)
【文献】特開2018-181343(JP,A)
【文献】国際公開第2017/037801(WO,A1)
【文献】采野 友紀也,Word2Vecを用いたバグ報告からの不具合ファイル特定,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2016年03月03日,第115巻, 第508号,pp.55~60,SS2015-85
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
G06Q 10/00-99/00
G06F 11/28-11/36
(57)【特許請求の範囲】
【請求項1】
テキスト文書のコンテキスト・アウェア・データ・マイニングのコンピュータ実装方法であって、
入力クエリから構文解析および前処理された単語のリストを受信するステップと、
クエリされている前記テキスト文書の単語埋込みモデルを使用して、前記単語のリスト内の単語ごとの関連する分散埋込み表現を計算するステップと、
単一の埋込みで前記入力クエリを表すために、前記単語のリスト内のすべての単語の前記関連する分散埋込み表現を集約するステップと、
前記クエリの前記集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得するステップと、
前記取得したセグメントのリストをユーザに返信するステップと
を含
み、Nが前記ユーザによって提供される正の整数である、前記方法。
【請求項2】
前記関連する分散埋込み表現を集約するステップが、すべての前記関連する分散埋込み表現の平均またはすべての前記関連する分散埋込み表現の最大値のうちの一方を使用して実行される、請求項1に記載の方法。
【請求項3】
前記テキスト文書の前記単語埋込みモデルをトレーニングするステップをさらに含み、前記ステップが、
前記テキスト文書を構文解析および前処理し、トークン化された単語リストを生成するステップと、
前記トークン化された単語リストから単語辞書を定義するステップであって、前記単語辞書が前記トークン化された単語リスト内のトークンの少なくとも一部を含む、前記定義するステップと、
前記単語埋込みモデルをトレーニングするステップであって、前記単語埋込みモデルが、前記単語辞書内の各単語または行をベクトルで表すニューラル・ネットワーク・モデルである、前記トレーニングするステップと
を含む、請求項1に記載の方法。
【請求項4】
前記テキスト文書を構文解析および前処理するステップが、
前記テキスト文書内の各行からすべての句読点およびプリアンブルを削除するステップと
、
トークン化された単語リストを形成するために前記テキスト文書を単語でトークン化するステップであって、トークンが前記
テキスト文書の単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、前記トークン化するステップと、
前記トークン化された単語リストを返信するステップと
を含む、請求項
3に記載の方法。
【請求項5】
前記テキスト文書がコンピュータ・システム・ログであ
る、請求項
4に記載の方法。
【請求項6】
前記入力クエリからすべての句読点を削除することと
、
トークン化された単語リストを生成するために前記入力クエリを単語でトークン化することであって、トークンが前記入力クエリの単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、前記トークン化することと、
前記トークン化された単語リストを返信することと
によって、前記入力クエリを構文解析および前処理するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記クエリの前記集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得するステップが、
類似性メトリックを使用して、前記クエリの前記集約された単語埋込み表現を前記テキスト文書の前記単語埋込みモデルと比較するステップと、
前記クエリの前記集約された単語埋込み表現との類似性が所定の閾値よりも大きい前記テキスト文書の前記単語埋込みモデルのセグメントを返信するステップと、
前記取得した文書セグメントを前記類似性に従ってランク付けするステップと
を含む、請求項1に記載の方法。
【請求項8】
コンピュータ・プログラムであって、コンピュータに、請求項1ないし
7のいずれか一項に記載の方法を実行させる、
前記コンピュータ・プログラム。
【請求項9】
請求項8に記載のコンピュータ・プログラムを記憶した装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、知識の抽出、表現、取得、および推論に関し、より詳細には、テキスト文書のコンテキスト・アウェア・データ・マイニングに関する。
【背景技術】
【0002】
単語埋込みは、個々の単語が事前定義されたベクトル空間内で実数値ベクトルとして表される技術の一種である。各単語は、ベクトル空間内の点に関連付けられる。各単語は、数十または数百の次元を有する実数値特徴ベクトルで表され、各次元は単語のアスペクトを表す特徴に関連付けられる。これは、語彙のサイズに対応するサイズのベクトル内の単一のコンポーネントによって単語が表される、ワンホット・エンコーディングなどのスパース単語表現、すなわち「bag of words」として知られる表現に必要な数千または数百万の次元とは対照的である。一方、特徴の数は語彙のサイズよりもはるかに小さい。分散表現は、類似した文脈を有する単語は類似した意味を有するという考えに基づき、単語の使用法に基づいて学習される。これにより、類似した方法で使用される単語は類似した表現を有し、自然にその意味を捉えることができる。これは、類似した意味を持つ異なる単語が非常に異なる表現を有することがあるbag of wordsモデルとは対照的であり得る。ニューラル・ネットワーク・ツールキットの大多数が非常に高次元のスパース・ベクトルではうまく機能しないという点で、高密度かつ低次元のベクトルを使用することには計算上の利点がある。高密度な表現の別の利点は一般化能力であり、一部の特徴が類似した手がかりを提供し得ると考えられる場合、これらの類似性を捉えることができる表現を提供することに価値がある。単語埋込み自然言語処理(NLP)では、自然言語の単語または句が実数のベクトルで表される。表現は、単語がどのように使用されているか、すなわちその文脈のみに基づくことができる。
【0003】
コンピューティング・システムからのログ・データは、システムの問題を理解および診断するために不可欠である。ログ・データは、量、多様性、速度などに関して膨大であり、システム診断およびトラブルシューティングのためにログ・データを使用することはシステム管理者にとって課題である。特定の表現は指定されていないが、コンピューティング・システムのログ・データを、単語埋込みNLPフォーマットで表すことができる。例えば、ログ内の各単語をトークンとして使用することができるが、ログの行全体をトークンとみなすこともできる。
【発明の概要】
【0004】
本発明の一態様によれば、テキスト文書のコンテキスト・アウェア・データ・マイニングの方法であって、入力クエリから構文解析および前処理された単語のリストを受信することと、クエリされているテキスト文書の単語埋込みモデルを使用して、単語のリスト内の単語ごとの関連する分散埋込み表現を計算することと、単一の埋込みで入力クエリを表すために単語のリスト内のすべての単語の関連する分散埋込み表現を集約することと、クエリの集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得することと、取得したセグメントのリストをユーザに返信することとを含む方法が提供される。
【0005】
実施形態によれば、関連する分散埋込み表現を集約することは、すべての関連する分散埋込み表現の平均またはすべての関連する分散埋込み表現の最大値のうちの一方を使用して実行される。
【0006】
さらなる実施形態によれば、Nはユーザによって提供される正の整数である。
【0007】
さらなる実施形態によれば、方法は、テキスト文書を構文解析および前処理し、トークン化された単語リストを生成することと、トークン化された単語リストから単語辞書を定義することであって、単語辞書がトークン化された単語リスト内のトークンの少なくとも一部を含む、定義することと、単語埋込みモデルをトレーニングすることであって、単語埋込みモデルが、単語辞書内の各単語または行をベクトルで表すニューラル・ネットワーク・モデルである、トレーニングすることとによって、テキスト文書の単語埋込みモデルをトレーニングすることを含む。
【0008】
さらなる実施形態によれば、テキスト文書を構文解析および前処理することは、テキスト文書内の各行からすべての句読点およびプリアンブルを削除することと、数値データを解析することと、トークン化された単語リストを形成するためにテキスト文書を単語でトークン化することであって、トークンが文書の単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、トークン化することと、トークン化された単語リストを返信することとを含む。
【0009】
さらなる実施形態によれば、テキスト文書はコンピュータ・システム・ログであり、数値データは10進数および16進アドレスを含む。
【0010】
さらなる実施形態によれば、方法は、入力クエリからすべての句読点を削除することと、数値データを解析することと、トークン化された単語リストを生成するために入力クエリを単語でトークン化することであって、トークンが入力クエリの単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、トークン化することと、トークン化された単語リストを返信することとによって、入力クエリを構文解析および前処理することを含む。
【0011】
さらなる実施形態によれば、クエリの集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得することは、類似性メトリックを使用して、クエリの集約された単語埋込み表現をテキスト文書の単語埋込みモデルと比較することと、クエリの集約された単語埋込み表現との類似性が所定の閾値よりも大きいテキスト文書の単語埋込みモデルのセグメントを返信することと、取得した文書セグメントを類似性に従ってランク付けすることとを含む。
【0012】
本発明の別の態様によれば、テキスト文書のコンテキスト・アウェア・データ・マイニングの方法であって、テキスト文書を構文解析および前処理し、トークン化された単語リストを生成することと、トークン化された単語リストから単語辞書を定義することであって、単語辞書がトークン化された単語リスト内のトークンの少なくとも一部を含む、定義することと、単語埋込みモデルをトレーニングすることであって、単語埋込みモデルが、単語辞書内の各単語または行をベクトルで表すニューラル・ネットワーク・モデルである、トレーニングすることとを含む方法が提供される。テキスト文書を構文解析および前処理することは、テキスト文書内の各行からすべての句読点およびプリアンブルを削除することと、数値データを解析することと、トークン化された単語リストを形成するためにテキスト文書を単語でトークン化することであって、トークンが文書の単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、トークン化することと、トークン化された単語リストを返信することとを含む。
【0013】
実施形態によれば、方法は、入力クエリから構文解析および前処理された単語のリストを受信することと、クエリされているテキスト文書の単語埋込みモデルを使用して、単語ごとの関連する分散埋込み表現を計算することと、単一の埋込みでクエリを表すために単語のリスト内のすべての単語の関連する分散埋込み表現を集約することと、クエリの集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得することと、取得したセグメントのリストをユーザに返信することとを含む。
【0014】
さらなる実施形態によれば、方法は、入力クエリからすべての句読点を削除することと、数値データを解析することと、トークン化された単語リストを生成するために入力クエリを単語でトークン化することであって、トークンが入力クエリの単一の単語、N個の連続した単語のNグラム、または行全体のうちの1つである、トークン化することと、トークン化された単語リストを返信することとによって、入力クエリを構文解析および前処理することを含む。
【0015】
さらなる実施形態によれば、クエリの集約された単語埋込み表現に類似したN行の文書セグメントのランク付けされたリストを取得することは、類似性メトリックを使用して、クエリの集約された単語埋込み表現をテキスト文書の単語埋込みモデルと比較することと、クエリの集約された単語埋込み表現との類似性が所定の閾値よりも大きいテキスト文書の単語埋込みモデルのセグメントを返信することと、取得した文書セグメントを類似性に従ってランク付けすることとを含む。
【0016】
さらなる実施形態によれば、テキスト文書はコンピュータ・システム・ログであり、数値データは10進数および16進アドレスを含む。
【0017】
さらなる実施形態によれば、関連する分散埋込み表現を集約することは、すべての関連する分散埋込み表現の平均またはすべての関連する分散埋込み表現の最大値のうちの一方を使用して実行される。
【0018】
さらなる実施形態によれば、Nはユーザによって提供される正の整数である。
【0019】
本発明の別の態様によれば、テキスト文書のコンテキスト・アウェア・データ・マイニングのための方法のステップを実行するためにコンピュータによって実行可能な命令のプログラムを有形に具体化するコンピュータによって読取り可能なプログラム記憶装置が提供される。
【0020】
以下で説明する例示的な実施形態は、ユーザが単語、行、段落などの任意の種類のテキストとしてクエリを表現することができ、特殊なNLPベースのアルゴリズムが、クエリに類似した単語コンテキストを有するコンピュータ・システム・ログ・データのセグメントを返信する、新規のインターフェースを対象とする。本開示の実施形態によるアプローチは、単純な文字列照合ではなく、クエリ内の単語のコンテキストに基づく。これにより、ユーザがログ内で意味のあるイベントを見つける能力が向上する。実施形態によるアプローチは、教師なし学習に基づく。このアプローチは、ログにすでに存在するテキスト情報に依存し、イベント、キーワード、またはログ・テキストの構造に関する既存の知識なしで適用することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施形態による、ユーザ・クエリを処理するための方法のブロック図である。
【
図2】本発明の実施形態による、モデルを作成するための方法のブロック図である。
【
図3】本発明の別の実施形態による方法のブロック図である。
【
図4】本発明の実施形態を実装する例示的なクラウド・コンピューティング・ノードの概略図である。
【
図5】本発明の実施形態で採用された例示的なクラウド・コンピューティング環境を示す図である。
【発明を実施するための形態】
【0022】
本明細書に記載の例示的な実施形態は、一般に、NLPベースのコンテキスト・アウェア・ログ・マイニングのための方法を提供する。実施形態は様々な修正および代替形態が可能であるが、その特定の実施形態が、例として図面に示され、本明細書において詳細に説明される。しかしながら、本開示を開示される特定の形態に限定する意図はなく、逆に、本開示は、本開示の思想および範囲内にあるすべての修正、等価物、および代替案を網羅するものであることを理解されたい。
【0023】
図1は、本開示の実施形態による、ユーザ・クエリを処理する方法のブロック図である。
図1は、ユーザがクエリ110を提供するユース・ケースを示し、クエリ110は、個々の単語111、行112、または段落113、行数を含む取得したセグメントのサイズ114、および返信されるべきセグメント数を定義する類似性の閾値であり得る。クエリ110および行数114は、コンピュータ・システム・ログから類似したログ・セグメントを取得する115ための実施形態による方法に対する入力である。実施形態による方法は、クエリ・テキストとの類似性によって順序付けされたセグメント120.1、120.2、…、120.mのセットを出力120として返信する。
【0024】
図2は、本開示の実施形態による、モデルを作成するための方法のブロック図である。
図2は、実施形態によりモデルを作成するために必要なステップを示す。左側は、単語埋込みモデルをトレーニングする方法210のフローチャートである。右上は、トークン化された単語リストを取得するためにシステム・ログ・ファイルを処理するための方法220のフローチャートであり、右下は、一般的な単語埋込み構造のブロック
図230である。
【0025】
フローチャート210を参照すると、モデルのトレーニングの方法は、コンピュータ・システム・ログの生データからのログ出力を構文解析および前処理すること211と、単語辞書を定義すること212と、単語埋込みモデルをトレーニングすること213とを含む。
【0026】
方法220は、生データからのログ出力を構文解析および前処理すること211に含まれるステップであり、各行のすべての句読点およびプリアンブルを削除すること222と、数値および16進アドレスを解析すること223と、ログを単語でトークン化すること224と、トークン化された単語リストを返信すること225とを含む。数値および16進アドレスは、特定のトークンを使用して解析される。実施形態によれば、10進数は1つのトークンで表され、16進アドレスは別のトークンで表され、数値またはアドレスの情報は、トークンと共にプレースホルダとして残すことができるが、コンテキストは特定の値に限定されない。テキスト処理技術は単語には使用されないが、任意のNLP技術を使用することができる。ログをトークン化することは、ログをトークンに分割することを意味し、トークンは、ログの単一の単語またはN個の連続した単語のNグラムとして、または行全体としても定義され得る。ログがトークン化されると、辞書はすべてのトークンのセット、または最も頻繁なトークンなどの選択されたトークンのサブセットになる。
【0027】
実施形態によれば、辞書は、単語埋込みモデルで考慮される単語(または行)を定義および表現するために使用される。
図2のステップ231を参照すると、入力単語w[t]は、要素の数を辞書のサイズとして有し、要素内のすべての0および1が単語(または行)に対応するワンホット・ベクトルとして表される。この目的で、これらのベクトルを作成するために、定義された辞書が必要である。例えば、V次元ベクトル空間における「ローマ」、「パリ」、「イタリア」、「フランス」のワンホット・ベクトル表現は以下の通りである。
ローマ=[1,0,0,0,0,…,0]、
パリ=[0,1,0,0,0,…,0]、
イタリア=[0,0,1,0,0,…,0]、
フランス=[0,0,0,1,0,…,0]。
【0028】
単語埋込みモデル230は、N行のログ・セグメント間の距離メトリックを使用し、ここでNはユーザ定義パラメータである。距離メトリックは、2つのログ・セグメントのコンテキストがどの程度類似しているか定義するために使用される。具体的には、メトリックは、ユーザ・クエリとの類似性が最も高い上位N個のセグメントを取得するために使用される。単語埋込みモデルは、単語(または行)を埋込みで、すなわちベクトルで表すニューラル・ネットワーク・モデルである。次に、単語[t]231は、ウィンドウ・サイズ5の場合、単語[t-2]、単語[t-1]、単語[t+1]、および単語[t+2]を含む単語埋込み233に投影される232。ウィンドウ・サイズは、ユーザが提供するモデルのパラメータのうちの1つである。単語埋込みモデルがトレーニングされると、距離メトリックをログのN行のセグメント間で使用することができ、ここでNはユーザ定義パラメータである。単語埋込み、すなわちベクトル間の典型的な距離メトリックは、コサイン類似度である。加えて、教師あり学習アプローチを使用することができる。これは、文書間の類似性を予測するために、長期短期記憶(LSTM)などの教師ありモデルをトレーニングすることを伴う。
【0029】
図3は、ユース・ケース中の検索のブロック図であり、クエリ・ユース・ケース310からの抽出とクエリ予測320とを示すフローチャートを含む。クエリ・ユース・ケース310を参照すると、ユーザ300は、対象の非構造化テキストの一部、および対象のセグメントごとの行数などのクエリを提供する。クエリ・ユース・ケース310はまた、モデルがシステム・ログ入力311からステップ312でトレーニングされてモデル313を作成することを示す。ステップ312でモデルをトレーニングするステップは、
図2のモデルをトレーニングする実施形態による方法210に対応する。
【0030】
クエリは、各行のすべての句読点およびプリアンブルを削除するステップと、数値および16進アドレスを解析するステップと、クエリを単語q=[w
1,w
2,…,w
N]でトークン化するステップとを含む、
図2のシステム・ログ・ファイルを処理するための方法220に基づいて、ステップ314で解析される。
【0031】
次に、出力qは、
図1のステップ115に対応し、ログ・セグメント316を出力する、類似したログ・セグメントを取得するステップ315への入力として提供される。モデルは、クエリに類似したセグメントの順序付けされたリストを取得し、ユーザに出力する。
【0032】
ブロック320は、クエリ予測に関与するステップのフローチャートであり、ステップ321で、入力から構文解析および前処理された単語のリストを受信することによって始まる。次に、ステップ322で、
図2の単語埋込みモデル230を使用して、関連する分散埋込み表現we
iが単語w
iごとに計算される。「分散埋込み表現」は、単語埋込みモデルによって与えられる単語(または行)の表現である。ステップ323で、関連する分散埋込み表現we
iが、単一の埋込みqeでクエリを表現するために、すべての分散単語埋込みwe
iの平均(または最大値)で集約される。ログ・データ内のN行の各セグメントは、同じ方法で表される。単語の埋込みは、単語または行ごとにベクトルによる表現を生成する。クエリは複数の単語または行を含むため、すべての表現を単一のベクトルに集約して、クエリ全体をベクトルとして表す必要があり、その後、コサイン類似度などの類似性メトリックを使用することができる。
【0033】
ステップ324で、クエリ表現に関して、集約された単語埋込みの類似性がより高いN行のログ・セグメントのランク付けされたリストが取得される。ログ・セグメントのランク付けされたリストは、類似性メトリックを使用して、クエリの集約された単語埋込み表現をログ・データの単語埋込みモデルと比較し、類似性が所定の閾値よりも大きいログ・データの単語埋込みモデルのセグメントを返信し、取得したセグメントを類似性の値に従ってランク付けすることによって取得される。取得したセグメントのリストはステップ325で返信され、ステップ316で出力される。
【0034】
本開示の実施形態によるユーザ・クエリを処理する方法の実例は以下の通りである。方法は、単語wqのユーザ入力クエリを受信することによって始まる。単語wqがw1、w2、wq、w3、w4のようなパターンで非常に頻繁に出現すると仮定する。完全マッチングでは、このパターンは、wqを検索することによって取得できる可能性がある。次に、w1、w5、w6、w3、w4のような単語の別のパターンが存在すると仮定する。字句マッチングでは、このパターンはクエリwqを含まないため取得されない。しかしながら、本開示の実施形態による提案されたNLP法では、これら2つのログ・セグメントのコンテキストは非常に類似しており、クエリ・パターンを取得し、ユーザに表示することができる。
【0035】
本開示の実施形態は、コンピュータ・システム・ログをクエリするコンテキストで説明されているが、本開示の実施形態による方法を、1人の人が検索または理解するには大きすぎる任意のテキスト文書をクエリするために適用できることが、当業者には明らかであろう。
【0036】
システムの実装
本開示の実施形態は、様々な形態のハードウェア、ソフトウェア、ファームウェア、専用プロセス、またはそれらの組合せで実装できることを理解されたい。一実施形態において、本開示の実施形態は、コンピュータ可読プログラム記憶装置上に有形に具体化されたアプリケーション・プログラムとしてソフトウェアに実装することができる。アプリケーション・プログラムは、任意の適切なアーキテクチャを含むマシンにアップロードして実行することができる。さらに、本開示は、クラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装形態はクラウド・コンピューティング環境に限定されるものではないことを予め理解されたい。むしろ、本開示の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と共に実装することができる。本開示の実施形態による自動トラブルシューティング・システムは、クラウド実装にも適している。
【0037】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの対話によって迅速にプロビジョニングおよびリリースされ得る構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの配備モデルとを含むことができる。
【0038】
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
広帯域ネットワーク・アクセス:機能はネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を通じてアクセスされる。
リソース・プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング・リソースがプールされ、需要に応じて異なる物理リソースおよび仮想リソースが動的に割当てられ、再割当てされる。消費者は一般に、提供されるリソースの正確な場所について制御することができないかまたは知らないが、より高い抽象化レベルの場所(例えば、国、州、またはデータセンタ)を指定できるという点で、場所独立感がある。
迅速な順応性:機能は、迅速かつ順応的に、場合によっては自動的にプロビジョニングされて、迅速にスケール・アウトすることができ、かつ迅速にリリースされて、迅速にスケール・インすることができる。消費者にとって、プロビジョニングのために利用可能な機能は多くの場合、無制限であるように見え、いつでも任意の量を購入することができる。
従量制サービス:クラウド・システムが、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適切な何らかの抽象化レベルの計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視、制御、および報告して、利用サービスのプロバイダおよび消費者の両方に透明性を提供することができる。
【0039】
サービス・モデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能も含む、基礎となるクラウド・インフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成アプリケーションまたは消費者取得アプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを配備および実行することができる。消費者は、基礎となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションを制御することができ、場合によっては選択されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)の限定的な制御を行うことができる。
【0040】
配備モデルは以下の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。これは、組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(例えば、任務、セキュリティ要件、ポリシ、およびコンプライアンス事項)を有する特定のコミュニティをサポートする。これは、組織または第3者によって管理されてよく、オンプレミスまたはオフプレミスに存在してよい。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般人または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体であり、それらのクラウドは、固有のエンティティのままであるが、データおよびアプリケーションの移植性を可能にする標準化技術または専有技術(例えば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって共に結合される。
【0041】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0042】
次に、
図4を参照して、クラウド・コンピューティング・ノードの例の概略を示す。クラウド・コンピューティング・ノード410は、適切なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載の本開示の実施形態の使用範囲または機能に関していかなる限定も示唆することを意図していない。それにもかかわらず、クラウド・コンピューティング・ノード410は、前述した機能のいずれかを実装するまたは実行するあるいはその両方を行うことができる。
【0043】
クラウド・コンピューティング・ノード410において、多数の他の汎用もしくは専用コンピューティング・システム環境または構成と共に動作するコンピュータ・システム/サーバ412がある。コンピュータ・システム/サーバ412と共に使用するのに適切であり得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例として、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち型デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのうちのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【0044】
コンピュータ・システム/サーバ412について、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバ412は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウド・コンピューティング環境で実施され得る。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモート両方のコンピュータ・システム記憶媒体内に配置され得る。
【0045】
図4に示すように、クラウド・コンピューティング・ノード410におけるコンピュータ・システム/サーバ412は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ412のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット416、システム・メモリ428、およびシステム・メモリ428を含む様々なシステム・コンポーネントをプロセッサ416に結合するバス418を含むことができるが、これらに限定されない。
【0046】
バス418は、様々なバス・アーキテクチャのうちのいずれかを使用する、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサまたはローカル・バスを含む、いくつかの種類のバス構造のうちのいずれかの1つまたは複数を表す。限定ではなく例として、このようなアーキテクチャとしては、業界標準アーキテクチャ(ISA)・バス、マイクロ・チャネル・アーキテクチャ(MCA)・バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)・ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)・バスが挙げられる。
【0047】
コンピュータ・システム/サーバ412は、通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ412によってアクセス可能な任意の利用可能な媒体であってよく、揮発性媒体および不揮発性媒体と、取外し可能媒体および取外し不能媒体との両方を含む。
【0048】
システム・メモリ428は、ランダム・アクセス・メモリ(RAM)430またはキャッシュ・メモリ432あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ412は、他の取外し可能/取外し不能、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含むことができる。単に例として、取外し不能の不揮発性磁気媒体(図示せず、通常「ハード・ドライブ」と呼ばれる)に対する読取りおよび書込みを行うために、ストレージ・システム434を設けることができる。図示しないが、取外し可能な不揮発性磁気ディスク(例えば、「フロッピ・ディスク」)に対する読取りおよび書込みを行うための磁気ディスク・ドライブと、CD-ROM、DVD-ROM、または他の光媒体などの、取外し可能な不揮発性光ディスクに対する読取りおよび書込みを行うための光ディスク・ドライブとを設けることができる。このような場合、それぞれを1つまたは複数のデータ媒体インターフェースによってバス418に接続することができる。以下でさらに図示し説明するように、メモリ428は、本開示の実施形態の機能を実行するように構成された1組の(例えば、少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含むことができる。
【0049】
限定ではなく例として、1組の(少なくとも1つの)プログラム・モジュール442を有するプログラム/ユーティリティ440、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを、メモリ428に格納することができる。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらのいくつかの組合せの各々が、ネットワーキング環境の実装形態を含むことができる。プログラム・モジュール442は、一般に、本明細書に記載の本開示の実施形態の機能または方法あるいはその両方を実行する。
【0050】
コンピュータ・システム/サーバ412は、キーボード、ポインティング・デバイス、ディスプレイ424などの1つまたは複数の外部デバイス414、ユーザがコンピュータ・システム/サーバ412と対話できるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ412が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信することもできる。そのような通信は、入出力(I/O)インターフェース422を介して行うことができる。さらに、コンピュータ・システム/サーバ412は、ネットワーク・アダプタ420を介して、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。図示のように、ネットワーク・アダプタ420は、バス418を介してコンピュータ・システム/サーバ412の他のコンポーネントと通信する。図示しないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ412と共に使用してもよいことを理解されたい。例として、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイバル・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0051】
次に
図5を参照して、例示的なクラウド・コンピューティング環境50を示す。図示のように、クラウド・コンピューティング環境50は、1つまたは複数のクラウド・コンピューティング・ノード400を含み、この1つまたは複数のクラウド・コンピューティング・ノード400と、例えば、パーソナル・デジタル・アシスタント(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどの、クラウド消費者によって使用されるローカル・コンピューティング・デバイスとが、通信することができる。ノード400は相互に通信することができる。ノード400は、前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはその組合せなどの1つまたは複数のネットワークにおいて、物理的または仮想的にグループ化(図示せず)され得る。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして提供することができる。
図5に示すコンピューティング・デバイス54A~54Nの種類は、例示に過ぎないことを意図したものであり、コンピューティング・ノード400およびクラウド・コンピューティング環境50が、(例えば、ウェブ・ブラウザを使用して)任意の種類のネットワークまたはネットワーク・アドレス可能接続あるいはその両方を介して任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0052】
本発明の実施形態について、例示的な実施形態を参照して詳細に説明したが、添付の特許請求の範囲に記載されている本発明の範囲から逸脱することなく、様々な修正および置換を行うことができることが、当業者には理解されよう。