(57)【要約】【課題】ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする技術を提供する。【解決手段】一例では、システムは、学習コンポーネントとハイブリッド・クラウド構成コンポーネントとを含む。学習コンポーネントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習する。ハイブリッド・クラウド構成コンポーネントは、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成する。ハイブリッド・クラウド構成コンポーネントは、資源定義のセットに基づいてクラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントの修正も行う。【選択図】図２
2021507356.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能コンポーネントを記憶するメモリと、
前記メモリに記憶されたコンピュータ実行可能コンポーネントを実行するプロセッサと
を含み、前記コンピュータ実行可能コンポーネントは、
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習する学習コンポーネントと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成し、前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正するハイブリッド・クラウド構成コンポーネントと
を含む、システム。
【請求項２】
前記コンピュータ実行可能コンポーネントは、
前記ブループリントから前記１つまたは複数のブループリント・レベル・アスペクトを抽出するブループリント・コンポーネントをさらに含み、前記ブループリントは、前記１つまたは複数のコンピューティング資源の機械可読表現を示す、請求項１に記載のシステム。
【請求項３】
前記コンピュータ実行可能コンポーネントは、
前記１つまたは複数のコンピューティング資源の旧バージョンを修正して、前記クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を生成するコンピューティング資源コンポーネントをさらに含む、請求項１に記載のシステム。
【請求項４】
前記コンピューティング資源コンポーネントは、ハイブリッド・クラウド・ベースのコンピューティング・プラットフォーム、パブリック・クラウド・ベースのコンピューティング・プラットフォーム、またはプライベート・クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を生成する、請求項３に記載のシステム。
【請求項５】
前記コンピュータ実行可能コンポーネントは、
前記ブループリント内の資源定義部のための前記１つまたは複数のブループリント・レベル・アスペクトを判断するブループリント・コンポーネントをさらに含む、請求項１に記載のシステム。
【請求項６】
前記ブループリント・コンポーネントは、サービス・レベル・アグリーメント・データと、ソフトウェア・データと、配備環境データと、コスト・データと、セキュリティ・データと、応答時間データと、依存関係データと、デッドライン・データと、記述データと、ベンチマーク・データと、維持管理者データとからなるグループから前記１つまたは複数のブループリント・レベル・アスペクト内の符号化データを判断する、請求項５に記載のシステム。
【請求項７】
前記ハイブリッド・クラウド構成コンポーネントは、前記資源定義のセットに基づいて、前記ブループリント内の資源定義部を修正する、請求項５に記載のシステム。
【請求項８】
前記ブループリント・コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームまたは別のクラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のブループリント・レベル・アスペクトを判断する、請求項５に記載のシステム。
【請求項９】
前記学習コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームまたは別のクラウド・ベースのコンピューティング・プラットフォームに関連付けられた、以前に判断されたパフォーマンス・データに基づいて、前記１つまたは複数のブループリント・レベル・アスペクトを判断する、請求項１に記載のシステム。
【請求項１０】
ハイブリッド・クラウド構成コンポーネントは、前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記資源定義のセットに資源データを動的に代入する、請求項１に記載のシステム。
【請求項１１】
前記ハイブリッド・クラウド構成コンポーネントは、前記資源定義のセットに関連付けられたデータを前記ブループリントに挿入する、請求項１に記載のシステム。
【請求項１２】
前記ハイブリッド・クラウド構成コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームのパフォーマンス向上を促すように前記資源定義のセットを判断する、請求項１に記載のシステム。
【請求項１３】
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、プロセッサに動作可能に結合されたシステムによって学習することと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記システムによって生成することと、
前記資源定義のセットに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを前記システムによって修正することと
を含む、コンピュータ実装方法。
【請求項１４】
前記学習することは、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたパフォーマンス・データに基づいて前記１つまたは複数のブループリント・レベル・アスペクトを学習することを含む、請求項１３に記載のコンピュータ実装方法。
【請求項１５】
前記修正することは、前記資源定義のセットに基づいて前記ブループリントの資源定義部を修正することを含む、請求項１３に記載のコンピュータ実装方法。
【請求項１６】
前記システムによって、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数の特徴を学習するために、前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームをモニタリングすることをさらに含む、請求項１３に記載のコンピュータ実装方法。
【請求項１７】
前記修正することは、前記クラウド・ベースのコンピューティング・プラットフォームのパフォーマンスを向上させることを含む、請求項１３に記載のコンピュータ実装方法。
【請求項１８】
オーケストレーション・エンジン・プロセスを容易にするコンピュータ・プログラム製品であって、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、前記プログラム命令は、プロセッサに、
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のためのブループリントに関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、前記プロセッサによって学習させ、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記プロセッサによって判断させ、
前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームのための修正ブループリントを、前記プロセッサによって生成させる
ように前記プロセッサによって実行可能である、コンピュータ・プログラム製品。
【請求項１９】
前記プログラム命令は、さらに、前記プロセッサに、
前記資源定義のセットに基づいて、前記ブループリントの１つまたは複数の部分を前記プロセッサによって修正させる
ように前記プロセッサによってさらに実行可能である、請求項１８に記載のコンピュータ・プログラム製品。
【請求項２０】
前記プログラム命令は、前記プロセッサに、
前記資源定義のセットに基づいて、前記ブループリント内の資源定義部を前記プロセッサによって修正させる
ように前記プロセッサによってさらに実行可能である、請求項１８に記載のコンピュータ・プログラム製品。
【請求項２１】
コンピュータ実行可能コンポーネントを記憶するメモリと、
前記メモリに記憶されたコンピュータ実行可能コンポーネントを実行するプロセッサと
を含み、前記コンピュータ実行可能コンポーネントは、
クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数の第１のコンピューティング資源を修正して前記クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数の第２のコンピューティング資源を生成するコンピューティング資源コンポーネントと、
前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習する学習コンポーネントと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成し、前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正するハイブリッド・クラウド構成コンポーネントと
を含む、システム。
【請求項２２】
前記コンピューティング資源コンポーネントは、ハイブリッド・クラウド・ベースのコンピューティング・プラットフォーム、パブリック・クラウド・ベースのコンピューティング・プラットフォーム、またはプライベート・クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数の第２のコンピューティング資源を生成する、請求項２１に記載のシステム。
【請求項２３】
１つまたは複数のコンピューティング資源の旧バージョンを修正することによって、クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を、プロセッサに動作可能に結合されたシステムによって生成することと、
前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、前記システムによって学習することと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記システムによって生成することと、
前記資源定義のセットに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを、前記システムによって修正することと
を含む、コンピュータ実装方法。
【請求項２４】
前記ブループリントを修正することは、前記資源定義のセットに基づいて前記ブループリント内の資源定義部を修正することを含む、請求項２３に記載のコンピュータ実装方法。
【請求項２５】
前記ブループリントを修正することは、前記資源定義のセットに関連付けられたデータを前記ブループリントに挿入することを含む、請求項２３に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、クラウド・コンピューティング・システムに関し、より詳細には、クラウド・コンピューティング・システムのためのコンピューティング資源に関する。
【背景技術】
【０００２】
クラウド・コンピューティング・システムが知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトのためのシステム、コンピュータ実装方法およびコンピュータ・プログラム製品を提供できる。
【課題を解決するための手段】
【０００４】
以下に、本発明の１つまたは複数の実施形態についての基本的理解を得られるように概要を示す。この概要は、主要または重要な要素を特定すること、あるいは、特定の実施形態の任意の範囲または特許請求の任意の範囲を区切ることを意図していない。その唯一の目的は、後で示すより詳細な説明の前置きとして、概念を簡略にした形で示すことである。本明細書に記載の１つまたは複数の実施形態では、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする、デバイス、システム、コンピュータ実装方法、装置、またはコンピュータ・プログラム製品あるいはこれらの組合せについて説明する。
【０００５】
一実施形態によると、システムは、学習コンポーネントとハイブリッド・クラウド構成コンポーネントとを含むことができる。学習コンポーネントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習することができる。ハイブリッド・クラウド構成コンポーネントは、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成することができ、資源定義のセットに基づいてクラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正する。
【０００６】
別の実施形態によると、コンピュータ実装方法が提供される。コンピュータ実装方法は、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、プロセッサに動作可能に結合されたシステムによって学習することを含み得る。コンピュータ実装方法は、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットをシステムによって生成することも含み得る。また、コンピュータ実装方法は、資源定義のセットに基づいてクラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを、システムによって修正することを含み得る。
【０００７】
さらに別の実施形態によると、オーケストレーション・エンジン・プロセスを容易にするためのコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み得る。プログラム命令は、プロセッサによって実行可能とすることができ、プロセッサに、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のためのブループリントに関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、プロセッサによって学習させることができる。プログラム命令は、プロセッサに、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、プロセッサによって判断させることもできる。また、プログラム命令は、プロセッサに、資源定義のセットに基づいてクラウド・ベースのコンピューティング・プラットフォームのための修正ブループリントを、プロセッサによって生成させることができる。
【０００８】
さらに別の実態によると、システムは、コンピューティング資源コンポーネントと、学習コンポーネントと、ハイブリッド・クラウド構成コンポーネントとを含み得る。コンピューティング資源コンポーネントは、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数の第１のコンピューティング資源を修正してクラウド・ベースの・コンピューティング・プラットフォームのための１つまたは複数の第２のコンピュータ資源を生成することができる。学習コンポーネントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習することができる。ハイブリッド・クラウド構成コンポーネントは、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成することができ、資源定義のセットに基づいてクラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正する。
【０００９】
さらに別の実施形態によると、コンピュータ実装方法が提供される。コンピュータ実装方法は、１つまたは複数のコンピューティング資源の旧バージョンを修正することによって、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数のコンピューティング資源を、プロセッサに動作可能に結合されたシステムによって生成することを含み得る。コンピュータ実装方法は、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、システムによって学習することも含み得る。また、コンピュータ実装方法は、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、システムによって生成することを含み得る。コンピュータ実装方法は、資源定義のセットに基づいて、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを、システムによって修正することも含み得る。
【００１０】
次に、本発明の実施形態について、例示のみを目的として、添付図面を参照しながら説明する。
【図面の簡単な説明】
【００１１】
【図１】本明細書に記載の１つまたは複数の実施形態による、オーケストレーション・エンジン・コンポーネントを含む例示の非限定的なシステムのブロック図である。
【図２】本明細書に記載の１つまたは複数の実施形態による、オーケストレーション・エンジン・コンポーネントを含む別の例示の非限定的なシステムのブロック図である。
【図３】本明細書に記載の１つまたは複数の実施形態による、クラウド・ベースのコンピューティング・プラットフォームとブループリントとを含む例示の非限定的なシステムを示す図である。
【図４】本明細書に記載の１つまたは複数の実施形態による、オーケストレーション・エンジン・コンポーネントと、ブループリントと、資源定義のセットとを含む例示の非限定的なシステムを示す図である。
【図５】本明細書に記載の１つまたは複数の実施形態による、オーケストレーション・エンジン・コンポーネントと、資源定義のセットと、修正ブループリントとを含む例示の非限定的なシステムを示す図である。
【図６】本明細書に記載の１つまたは複数の実施形態による、クラウド・ベースのコンピューティング・プラットフォームと修正ブループリントとを含む例示の非限定的なシステムを示す図である。
【図７】本明細書に記載の１つまたは複数の実施形態による、ブループリントと修正ブループリントとを含む例示の非限定的なシステムを示す図である。
【図８】本明細書に記載の１つまたは複数の実施形態による、ブループリントと修正ブループリントとを含む別の例示の非限定的なシステムを示す図である。
【図９】本明細書に記載の１つまたは複数の実施形態による、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする例示の非限定的なコンピュータ実装方法の流れ図である。
【図１０】本明細書に記載の１つまたは複数の実施形態による、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする別の例示の非限定的なコンピュータ実装方法の流れ図である。
【図１１】本明細書に記載の１つまたは複数の実施形態を容易にすることができる例示の非限定的な動作環境のブロック図である。
【図１２】本発明の１つまたは複数の実施形態による、例示の非限定的なクラウド・コンピューティング環境のブロック図である。
【図１３】本発明の１つまたは複数の実施形態による、例示の非限定的な抽象モデル層のブロック図である。
【発明を実施するための形態】
【００１２】
以下の詳細な説明は例示に過ぎず、実施形態、または実施形態の適用もしくは使用、あるいはその両方を限定することを意図していない。また、上記の「背景技術」の項または「発明の概要」の項、または「発明を実施するための形態」の項に示されているいかなる明示または暗黙の情報にも制約されることを意図していない。
【００１３】
次に、図面を参照しながら１つまたは複数の実施形態について説明するが、全体を通じて同様の要素を指すために同様の参照番号を使用する。以下の説明では、説明を目的として、１つまたは複数の実施形態をよりよく理解することができるように、多くの具体的な詳細が記載される。しかし、様々な場合において１つまたは複数の実施形態はこれらの具体的詳細がなくても実施可能であることは明らかである。
【００１４】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載されている教示の実装はクラウド・コンピューティング環境には限定されないことを理解するべきである。むしろ、本発明の実施形態は、現在知られているか、または今後開発される任意の他の種類のコンピューティング環境とともに実装することができる。
【００１５】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング資源（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配布のモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの配備モデルとを含み得る。
【００１６】
特徴は以下の通りである。
オンデマンド・セルフサービス：クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに一方的に、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能をプロビジョニングすることができる。
広いネットワーク・アクセス：機能は、ネットワークを介して利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム（例えば携帯電話、ラップトップ、およびＰＤＡ）による使用を促進する標準機構を介してアクセスされる。
資源プール：マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング資源がプールされ、需要に応じて、異なる物理資源および仮想資源が動的に割り当てられ、再割り当てされる。消費者は一般に、提供される資源の厳密な場所について管理しないかまたは知らないが、より高い抽象レベルで場所（例えば、国、州、またはデータセンター）を指定する場合があるという点で、位置独立感がある。
迅速な伸縮性：迅速かつ伸縮性をもって、場合によっては自動的に、機能をプロビジョニングして迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
従量制サービス：クラウド・システムが、サービスの種類（例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント）に応じて適切ないくらかの抽象化レベルの計量機能を利用することによって、資源利用を自動的に制御し、最適化する。資源使用量を監視、制御および報告することができ、利用されたサービスのプロバイダと消費者の両方に透明性を与えることができる。
【００１７】
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス（Software as a Service（ＳａａＳ））：消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェースを介して様々なクライアント・デバイスからアクセス可能である（例えばウェブ・ベースのＥメール）。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能までも含めて、基礎にあるクラウド・インフラストラクチャを管理または制御しない。
プラットフォーム・アズ・ア・サービス（Platform as a Service（ＰａａＳ））：消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者により作成または取得されたアプリケーションを配備することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理または制御しないが、配備されたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御する。
インフラストラクチャ・アズ・ア・サービス（Infrastructure as a Service（ＩａａＳ））：消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング資源をプロビジョニングすることであり、その際、消費者は、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアを配備し、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システムと、ストレージと、配備されたアプリケーションとを制御し、場合によっては選択されたネットワーク・コンポーネント（例えばホスト・ファイアウォール）の限定的な制御を行う。
【００１８】
配備モデルは以下の通りである。
プライベート・クラウド：このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理可能であり、オンプレミスまたはオフプレミスに存在可能である。
コミュニティ・クラウド：このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事（例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項）を有する特定のコミュニティをサポートする。組織または第三者が管理することができ、オンプレミスまたはオフプレミスに存在可能である。
パブリック・クラウド：このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド：このクラウド・インフラストラクチャは、独自の実体のままであるが、データおよびアプリケーション可搬性を可能にする標準化技術または専有技術（例えば、クラウド間のロード・バランシングのためのクラウド・バースティング）によって共に結合された、２つ以上のクラウド（プライベート、コミュニティまたはパブリック）の複合体である。
【００１９】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【００２０】
オーケストレーション・エンジンは、クラウド・コンピューティング環境におけるコンピューティング資源またはワークフローあるいはその両方を管理することができる。例えば、オーケストレーション・エンジンは、例えばインフラストラクチャ・コンピューティング資源、仮想マシン・コンピューティング資源、ハードウェア・コンピューティング資源、ソフトウェア・アプリケーション・コンピューティング資源などのコンピューティング資源の作成、修正、構成または削除あるいはこれらの組合せを行うことができる。しかし、現在採用されているオーケストレーション・エンジンでは、一般に、クラウド・コンピューティング環境の要件を、クラウド・コンピューティング環境のためのハードウェア・プロパティまたはソフトウェア・プロパティあるいはその両方に変換することは困難である。例えば、現在採用されているオーケストレーション・エンジンでは、一般に、クラウド・コンピューティング環境のためのオペレーティング・システム要件、メモリ要件、処理要件、またはその他の要件あるいはこれらの組合せを判断するのは難しい。したがって、改良されたオーケストレーション・エンジンが必要である。
【００２１】
本明細書に記載の実施形態は、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする、システム、コンピュータ実装方法、およびコンピュータ・プログラム製品を含む。例えば、１つまたは複数のブループリント・レベル・アスペクトを、オーケストレーション・エンジン・ブループリントに組み込むことができる。本明細書で使用する「ブループリント」および「オーケストレーション・エンジン・ブループリント」とは、クラウド・コンピューティング環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）のための１つまたは複数のコンピューティング資源を宣言するテンプレートまたはパターンであると定義付けられる。オーケストレーション・エンジンのためのブループリントは、機械可読形式および人間可読形式でフォーマットされたワークロードの宣言的な表現とすることもできる。また、オーケストレーション・エンジンのためのブループリントは、クラウド・コンピューティング環境のために作成されるコンピューティング資源の種類、またはコンピューティング資源のプロパティあるいはその両方を記述する。また、本明細書で使用する、「アスペクト」および「ブループリント・レベル・アスペクト」とは、ブループリントに含まれるコンピューティング資源の特徴または品質の仕様と定義付けられる。ブループリント・レベル・アスペクトは、例えば、環境アスペクト、モニタリング・アスペクト、通知アスペクト、アラート・アスペクト、自動スケーリング・アスペクト、ロード・バランシング・アスペクト、セキュリティ・アスペクト、別の種類のアスペクトなどとすることができる。一実施形態では、システムは、クラウド・ベースのコンピューティング・プラットフォームとオーケストレーション・エンジンとを含み得る。オーケストレーション・エンジンは、１つまたは複数のコンピューティング資源を宣言するためにブループリントを採用することができる。例えば、オーケストレーション・エンジンは、１つまたは複数のコンピューティング資源の修正または構成あるいはその両方を行うことができる。１つまたは複数のコンピューティング資源は、仮想マシン、ストレージ、ミドルウェア、その他のハードウェア、またはその他のソフトウェアあるいはこれらの組合せのためのコンピューティング資源とすることができる。また、１つまたは複数のブループリントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた目標を達成するために、コンピューティング資源またはソリューションの構成あるいはその両方を指定（例えば宣言）することができる。１つまたは複数のブループリント・レベル・アスペクトを判断することもできる。ブループリントおよびブループリント・レベル・アスペクトに基づいて、資源定義または資源プロパティあるいはその両方を判断することができる。一態様では、資源定義または資源プロパティあるいはその両方をブループリントに代入することもできる。したがって、クラウド・ベースの環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）のための１つまたは複数のコンピューティング資源要件を、そのクラウド・ベースの環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）のためのハードウェア・プロパティまたはソフトウェア・プロパティあるいはその両方に変換することができる。例えば、クラウド・ベースの環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）のためのオペレーティング・システム要件、メモリ要件、処理要件、またはその他の要件あるいはこれらの組合せを効率的に決定することができる。また、クラウド・ベースの環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）の効率またはパフォーマンスあるいはその両方を向上させることができる。例えば、クラウド・ベースの環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）におけるハードウェアまたはソフトウェアあるいはその両方の効率またはパフォーマンスあるいはその両方を向上させることができる。
【００２２】
図１に、本明細書に記載の１つまたは複数の実施形態による、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする例示の非限定的なシステム１００のブロック図を示す。様々な実施形態において、システム１００は、クラウド・コンピューティング技術、コンピュータ技術、サーバ技術、情報技術、機械学習技術、人工知能技術、デジタル技術、データ解析技術、またはその他のコンピュータ技術あるいはこれらの組合せなどであるがこれらには限定されない技術に関連付けられたオーケストレーション・エンジン・システムとすることができる。システム１００は、ハードウェアまたはソフトウェアあるいはその両方を採用して、高度に技術的な性質の、抽象的ではない、人間による一連の知能的行為として行うことができない問題を解決することができる。また、実行されるプロセスの一部が、機械学習に関連する定義されたタスクを行うために特化された１つまたは複数のコンピュータ（例えば、オーケストレーション・エンジン・コンポーネントを備えた１つまたは複数の特化された処理ユニット、特化されたコンピュータなど）によって実行されてもよい。システム１００またはシステムのコンポーネントあるいはその両方を採用して、上述の技術、クラウド・コンピューティング・システムの採用またはコンピュータ・アーキテクチャあるいはこれらの組合せなどにおける進歩によって生じる新たな問題を解決することができる。システム１００の１つまたは複数の実施形態は、クラウド・コンピューティング・システム、コンピュータ・システム、サーバ・システム、情報技術システム、機械学習システム、人工知能システム、デジタル、システム、データ解析システム、またはその他のシステムあるいはこれらの組合せに、技術的改良をもたらすことができる。システム１００の１つまたは複数の実施形態は、処理ユニットの処理パフォーマンスを向上させること、処理ユニットの処理効率を向上させること、または処理ユニットがパッチ管理プロセスを実行する時間を短縮すること、あるいはこれらの組合せによって、オーケストレーション・エンジン・プロセスに関連付けられた処理ユニット（例えばプロセッサ）に技術的改良をもたらすことができる。システム１００の１つまたは複数の実施形態は、クラウド・コンピューティング環境（例えばクラウド・ベースのコンピューティング・プラットフォーム）の処理パフォーマンスを向上させることまたはクラウド・コンピューティング環境の処理効率を向上させることあるいはその両方によっても、クラウド・コンピューティング環境に技術的改良をもたらすこともできる。一例では、システム１００をオーケストレーション・エンジン・プロセスに関連付けることができる。
【００２３】
図１に示す実施形態では、システム１００はオーケストレーション・エンジン・コンポーネント１０２を含むことができる。図１に示すように、オーケストレーション・エンジン・コンポーネント１０２は、コンピューティング資源コンポーネント１０４と、ブループリント・コンポーネント１０６と、ハイブリッド・クラウド構成コンポーネント１０８とを含むことができる。オーケストレーション・エンジン・コンポーネント１０２の態様は、マシン内で具現化される、例えば１つもしくは複数のマシンに関連付けられた１つまたは複数のコンピュータ可読媒体（または複数の媒体）で具現化される、機械実行可能コンポーネントを構成することができる。このようなコンポーネントは、１つまたは複数のマシン、例えばコンピュータ、コンピューティング・デバイス、仮想マシンなどによって実行されると、記載されている動作をそのマシンに実行させることができる。一態様では、オーケストレーション・エンジン・コンポーネント１０２は、コンピュータ実行可能コンポーネントおよび命令を記憶するメモリ１１０も含むことができる。また、オーケストレーション・エンジン・コンポーネント１０２は、オーケストレーション・エンジン・コンポーネント１０２による命令（例えばコンピュータ実行可能コンポーネントおよび対応する命令）の実行を容易にするためにプロセッサ１１２を含むことができる。図のように、コンピューティング資源コンポーネント１０４、ブループリント・コンポーネント１０６、ハイブリッド・クラウド構成コンポーネント１０８、メモリ１１０、またはプロセッサ１１２あるいはこれらの組合せは、１つまたは複数の実施形態では電気的または通信可能に、あるいはその両方の方式で互いに結合することができる。特定の実施形態では、オーケストレーション・エンジン・コンポーネント１０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４と通信することができる。クラウド・ベースのコンピューティング・プラットフォーム１１４は、クラウド・コンピューティング環境とすることができる。一例では、クラウド・ベースのコンピューティング・プラットフォーム１１４は、ハイブリッド・クラウド・ベースのコンピューティング・プラットフォームとすることができる。別の例では、クラウド・ベースのコンピューティング・プラットフォーム１１４は、パブリック・クラウド・ベースのコンピューティング・プラットフォームとすることができる。さらに別の例では、クラウド・ベースのコンピューティング・プラットフォーム１１４は、プライベート・クラウド・ベースのコンピューティング・プラットフォームとすることができる。
【００２４】
コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を判断することができる。クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアのための１つもしくは複数のコンピューティング資源、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたソフトウェアのための１つもしくは複数のコンピューティング資源、あるいはその両方を含むことができる。非限定的な一例では、１つまたは複数のコンピューティング資源は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたプロセッサのための１つもしくは複数のコンピューティング資源、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた仮想マシンのための１つもしくは複数のコンピューティング資源、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージのための１つもしくは複数のコンピューティング資源、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたミドルウェアのための１つもしくは複数のコンピューティング資源、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数のその他のコンピューティング資源、あるいはこれらの組合せを含み得る。
【００２５】
一実施形態では、コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントを受け取ることができる。クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントは、例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つもしくは複数のコンピューティング資源を宣言するテンプレートまたはパターンとすることができる。クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントは、クラウド・ベースのコンピューティング・プラットフォーム１１４のために作成されるコンピューティング資源の種類またはコンピューティング資源のプロパティあるいはその両方を記述することもできる。一態様では、ブループリントは、クラウド・ベースのコンピューティング・プラットフォーム１１４から、可読テキスト・ファイルとしてエクスポートすることができる。ブループリントに関連付けられた可読テキスト・ファイルは、機械可読形式および人間可読形式でフォーマットすることができる。例えば、ブループリントは、１つまたは複数のコンピューティング資源の機械可読表現および人間可動表現とすることができる。一例では、ブループリントに関連付けられた可読テキスト・ファイルは、データ・シリアル化言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の例では、ブループリントに関連付けられた可読テキスト・ファイルは、データ配列言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。さらに別の例では、ブループリントに関連付けられた可読テキスト・ファイルは、自動ドキュメンテーションに関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。したがって、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントは、機械可読形式および人間可読形式でフォーマットされたクラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源の宣言的な表現とすることができる。一態様では、コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を判断するためにブループリントの内容を解釈することができる。例えば、コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を判断するために機械可読内容または人間可読内容あるいはその両方を解釈することができる。一実施形態では、コンピューティング資源コンポーネント１０４は、ブループリントの内容に基づいて、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つもしくは複数のコンピューティング資源間の１つまたは複数の依存関係を判断することができる。別の実施形態では、コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のために判断された１つまたは複数のコンピューティング資源を修正することができる。例えば、コンピューティング資源コンポーネント１０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントから判断された１つまたは複数のコンピューティング資源を修正することによって、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数の修正コンピューティング資源を生成することができる。一例では、コンピューティング資源コンポーネント１０４は、１つまたは複数のコンピューティング資源の旧バージョンを修正して、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を生成することができる。
【００２６】
ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントのための１つまたは複数のブループリント・レベル・アスペクトを判断することができる。１つまたは複数のブループリント・レベル・アスペクトは、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つもしくは複数のコンピューティング資源に関連付けられた１つまたは複数の特徴のための符号化情報を示すことができる。一実施形態では、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントは、１つまたは複数のブループリント・レベル・アスペクトを含むことができる。また、ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントから、１つまたは複数のブループリント・レベル・アスペクトを抽出することができる。一例では、ブループリント・コンポーネント１０６は、ブループリント内の資源定義部のための１つまたは複数のブループリント・レベル・アスペクトを判断することができる。別の例では、ブループリント・コンポーネント１０６は、１つまたは複数のブループリント・レベル・アスペクト内の符号化データを判断することができる。１つまたは複数のブループリント・レベル・アスペクト内の符号化データは、例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた、サービス・レベル・アグリーメント・データ、ソフトウェア・データ、配備環境データ、コスト・データ、セキュリティ・データ、応答時間データ、依存関係データ、デッドライン・データ、記述データ、ベンチマーク・データ、維持管理者データ、またはその他のデータあるいはこれらの組合せを含むことができる。別の実施形態では、ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリント内の１つまたは複数のブループリント・レベル・アスペクトを特定するためにアスペクト・ナレッジ・データベースを採用することができる。アスペクト・ナレッジ・データベースは、前に特定されたブループリント・レベル・アスペクトの集合、または前に特定されたブループリント・レベル・アスペクトのための情報あるいはその両方とすることができる。一例では、アスペクト・ナレッジ・データベースは、メモリ１１０または別のメモリに記憶することができる。さらに別の例では、ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた履歴データに基づいて１つまたは複数のブループリント・レベル・アスペクトを判断することができる。これに加えて、またはこれに代えて、ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４とは異なる別のクラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、１つまたは複数のブループリント・レベル・アスペクトを判断することができる。例えば、履歴データは、クラウド・ベースのコンピューティング・プラットフォーム１１４または別のクラウド・ベースのコンピューティング・プラットフォームあるいはその両方に関連付けられた、前に判断されたパフォーマンス・データを含むことができる。
【００２７】
ハイブリッド・クラウド構成コンポーネント１０８は、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォーム１１４のための資源定義のセットを判断することができる。資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた、モニタリング、自動スケーリング、ロード・バランシング、イベント管理またはパーシステンスあるいはこれらの組合せを容易にするための１つまたは複数の定義を含むことができる。例えば、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたモニタリング、自動スケーリング、ロード・バランシング、イベント管理またはパーシステンスあるいはこれらの組合せを容易にする資源データを含むことができる。一態様では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェア、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたソフトウェア、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた仮想マシン、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージ、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたミドルウェア、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた別の資源あるいはこれらの組合せのための、１つまたは複数の定義を含むことができる。一例では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのメモリ容量またはメモリの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４のネットワーク速度を含むことができる。ただし、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたその他の資源のための定義も含み得ることを理解されたい。一実施形態では、ハイブリッド・クラウド構成コンポーネント１０８は、１つまたは複数のブループリント・レベル・アスペクトに基づいて、資源定義のセットに関連付けられた資源データを動的に判断することができる。例えば、ハイブリッド・クラウド構成コンポーネント１０８は、１つまたは複数のブループリント・レベル・アスペクトに基づいて、資源定義のセットに資源データを動的に代入することができる。特定の実施形態では、ブループリント・コンポーネント１０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントを修正して修正ブループリントを生成することができる。修正ブループリントは、ハイブリッド・クラウド構成コンポーネント１０８によって判断された資源定義のセットを含むことができる。また、特定の実施形態では、ブループリント・コンポーネント１０６は、修正ブループリントのクラウド・ベースのコンピューティング・プラットフォーム１１４による採用を容易にするために、修正ブループリントをクラウド・ベースのコンピューティング・プラットフォーム１１４に送信することができる。一実施形態では、修正ブループリントまたは１つもしくは複数のブループリント・レベル・アスペクトあるいはその両方は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアまたはソフトウェアあるいはその両方の最適実行経路を判断するために採用することができる。
【００２８】
特定の実施形態では、ブループリント・コンポーネント１０６またはハイブリッド・クラウド構成コンポーネント１０８あるいはその両方は、修正ブループリントまたは資源定義のセットあるいはその両方の表示を容易にすることができる。例えば、ブループリント・コンポーネント１０６またはハイブリッド・クラウド構成コンポーネント１０８あるいはその両方は、修正ブループリントまたは資源定義のセットあるいはその両方をディスプレイ・デバイス上に視覚表示することができる。ディスプレイ・デバイスは、例えば、ディスプレイを備えたコンピューティング・デバイス、コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モニタ・デバイス、スマート・デバイス、スマートフォン、モバイル・デバイス、ハンドヘルド・デバイス、タブレット、ウエアラブル・デバイス、携帯型コンピューティング・デバイスまたはディスプレイ付随の別の種類のデバイスとすることができる。一態様では、ブループリント・コンポーネント１０６またはハイブリッド・クラウド構成コンポーネント１０８あるいはその両方は、修正ブループリントまたは資源定義のセットあるいはその両方の少なくとも一部を人間が解釈可能な形式で表示するために、ユーザ・インターフェースを生成することができる。特定の実施形態では、ブループリント・コンポーネント１０６またはハイブリッド・クラウド構成コンポーネント１０８あるいはその両方は、修正ブループリントまたは資源定義のセットあるいはその両方を、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアまたはソフトウェアあるいはその両方に適用することができる。
【００２９】
オーケストレーション・エンジン・コンポーネント１０２（例えば、コンピューティング資源コンポーネント１０４、ブループリント・コンポーネント１０６、またはハイブリッド・クラウド構成コンポーネント１０８あるいはこれらの組合せ）は、人間によって実行することができない（例えば１人の人間の頭脳の能力を超える）オーケストレーション・エンジン・プロセスを実行することを理解されたい。例えば、ある期間にわたってオーケストレーション・エンジン・コンポーネント１０２（例えば、コンピューティング資源コンポーネント１０４、ブループリント・コンポーネント１０６、またはハイブリッド・クラウド構成コンポーネント１０８あるいはこれらの組合せ）によって処理されるデータの量、データの処理速度、または処理されるデータの種類あるいはこれらの組合せは、同じ期間にわたって１人の人間の頭脳によって処理することができるデータの量、速度、およびデータの種類に比べて、大量であり、高速であり、異なり得る。オーケストレーション・エンジン・コンポーネント１０２（例えば、コンピューティング資源コンポーネント１０４、ブループリント・コンピューティング資源コンポーネント１０６、またはハイブリッド・クラウド構成コンポーネント１０８あるいはこれらの組合せ）は、上記のオーケストレーション・エンジン・プロセスも実行しながら、１つまたは複数の他の機能の実行のために完全に動作可能（例えば完全に電力投入、完全に実行されるなど）とすることができる。また、オーケストレーション・エンジン・コンポーネント１０２（例えば、コンピューティング資源コンポーネント１０４、ブループリント・コンポーネント１０６、またはハイブリッド・クラウド構成コンポーネント１０８あるいはこれらの組合せ）は、ユーザが手作業で取得することが不可能な情報を含むことができる。例えば、資源定義のセットに含まれる情報の種類、資源定義のセットに含まれる情報の量、または資源定義のセットに含まれる情報の多様性あるいはこれらの組合せは、ユーザが手作業で取得する情報より複雑であり得る。
【００３０】
図２に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム２００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００３１】
システム２００は、オーケストレーション・エンジン・コンポーネント１０２を含む。オーケストレーション・エンジン・コンポーネント１０２は、コンピューティング資源コンポーネント１０４と、ブループリント・コンポーネント１０６と、ハイブリッド・クラウド構成コンポーネント１０８と、学習コンポーネント２０２とを含むことができる。学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方の学習を容易にするために、クラウド・ベースのコンピューティング・プラットフォーム１１４をモニタリングすることができる。例えば、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習するために、１つまたは複数のブループリント・レベル・アスペクトに基づいてクラウド・ベースのコンピューティング・プラットフォーム１１４をモニタリングすることができる。一実施形態では、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習するために、機械学習または人工知能の原理あるいはその両方を採用することができる。学習コンポーネント２０２は、明示的または暗黙的に、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習することに関して学習を行うことができる。一態様では、学習コンポーネント２０２は、人工知能の原理に関連付けられた分類、相関関係、推論または表現あるいはこれらの組合せに基づいて、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習することができる。例えば、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報を学習するために、自動分類システムまたは自動分類プロセスあるいはその両方を採用することができる。一例では、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関する推論の学習または生成あるいはその両方のために、確率論的解析または統計的解析あるいはその両方を（例えば解析の有用度とコストとを考慮に入れて）採用することができる。一態様では、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習するために、部分的に推論に基づく方法を使用して学習コンポーネント２０２の自動化態様をさらに強化することができる、推論コンポーネント（図示せず）を含むことができる。
【００３２】
学習コンポーネント２０２は、任意の適切な機械学習に基づく技法、統計に基づく技法、または確率論に基づく技法あるいはこれらの組合せを採用することができる。例えば、学習コンポーネント２０２は、エキスパート・システム、ファジー理論、ＳＶＭ、隠れマルコフ・モデル（ＨＭＭ）、欲張り検索アルゴリズム、ルール・ベース・システム、ベイズ・モデル（例えばベイズ・ネットワーク）、ニューラル・ネットワーク、その他の非線形トレーニング技法、データ・フュージョン、有用性ベースの解析システム、ベイズ・モデルを使用したシステムなどを採用することができる。別の態様では、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関連する１つもしくは複数の特徴または情報あるいはその両方を学習することに関連付けられた１組の機械学習計算を行うことができる。例えば、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の資源に関する１つもしくは複数の特徴または情報あるいはその両方を学習するために、１組のクラスタリング機械学習計算、１組のロジスティック回帰学習計算、１組の決定木機械学習計算、１組のランダム・フォレスト機械学習計算、１組の回帰ツリー機械学習計算、１組の最小二乗機械学習計算、１組のインスタンス・ベースの機械学習計算、１組の回帰機械学習計算、１組のサポート・ベクター回帰機械学習計算、１組のｋ平均機械学習計算、１組のスペクトラル・クラスタリング機械学習計算、１組のルール学習機械学習計算、１組のベイズ機械学習計算、１組のディープ・ボルツマン機械計算、１組のディープ・ビリーフ・ネットワーク計算、または１組の異なる機械学習計算、あるいはこれらの組合せを実行することができる。特定の実施形態では、学習コンポーネント２０２を採用して、ブループリント・レベル・アスペクトの１つまたは複数のパラメータを学習するために１つまたは複数のブループリント・レベル・アスペクトにある程度の不規則変動を適用することができる。例えば、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のワークロード・パフォーマンスをモニタリングするために、モニタリング・アスペクト・パラメータ、アラーム・アスペクト・パラメータ、ロード・バランシング・アスペクト・パラメータ、または別のアスペクト・パラメータあるいはこれらの組合せに変更を加えることができる。したがって、学習コンポーネント２０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントの１つまたは複数のアスペクト・パラメータの学習または修正あるいはその両方を行うことができる。一実施形態では、学習コンポーネント２０２は、１つまたは複数のブループリント・レベル・アスペクトの不規則変動の量を動的に変更または制御あるいはその両方を行うことができる。別の実施形態では、学習コンポーネント２０２は、第１の資源に関連付けられた推定リスク・レベル、第２の資源を使用する推定利益（例えば、コスト、パフォーマンス、セキュリティ、信頼性、堅牢性、ビジネス・インパクトなど）などに基づいて、ブループリント内の第１の資源を第２の資源に変更することができる。一例では、第１の資源に関連付けられた推定リスク・レベルは、スカラ値とすることができる。別の例では、第１の資源に関連付けられた推定リスク値は、多次元ベクトルとすることができる。さらに別の例では、第１の資源に関連付けられた推定リスク・レベルは、信頼値を含むことができる。また、ブループリント内の資源のブループリント・レベル・アスペクトの内容に基づいて、ブループリント内の第１の資源を第２の資源に変更することもできる。
【００３３】
図３に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム３００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００３４】
システム３００は、クラウド・ベースのコンピューティング・プラットフォーム１１４を含む。クラウド・ベースのコンピューティング・プラットフォーム１１４に基づいてブループリント３０２を生成することができる。一実施形態では、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４によって提供可能である。別の実施形態では、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４を解析することによって生成可能である。ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を宣言するテンプレートまたはパターンとすることができる。ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のために作成されるコンピューティング資源の種類またはプロパティを記述することもできる。一態様では、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４から可読テキスト・ファイルとしてエクスポートすることができる。別の態様では、ブループリント３０２は機械可読形式および人間可読形式でフォーマットすることができる。例えば、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源の機械可読表現および人間可読表現とすることができる。一例では、ブループリント３０２は、データ・シリアル化言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の例では、ブループリント３０２は、データ配列言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。さらに別の例では、ブループリント３０２は、自動ドキュメンテーションに関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の態様では、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４の１つもしくは複数の属性またはクラウド・ベースのコンピューティング・プラットフォーム１１４の１つもしくは複数の設定あるいはその両方を記述することができる。これに加えて、またはこれに代えて、ブループリント３０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４の１組の相互に関係するクラウド資源を記述することができる。
【００３５】
ブループリント３０２は、１つまたは複数のブループリント・レベル・アスペクト３０４を含むことができる。１つまたは複数のブループリント・レベル・アスペクト３０４は、ブループリント３０２内の１つまたは複数の資源定義のために指定することができる。例えば、１つまたは複数のブループリント・レベル・アスペクト３０４は、ブループリント３０２で記述されている１つまたは複数の資源に関連付けられた１つもしくは複数の特徴または１つもしくは複数の品質あるいはその両方の記述とすることができる。資源定義は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための資源定義とすることができる。あるいは、１つまたは複数のブループリント・レベル・アスペクト３０４をブループリント３０２の全体の部分について指定することができる。一実施形態では、１つまたは複数のブループリント・レベル・アスペクト３０４は、１つまたは複数の資源定義のための符号化データを含むことができる。例えば、１つまたは複数のブループリント・レベル・アスペクト３０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた、例えばサービス・レベル・アグリーメント・データ、ソフトウェア・データ、配備環境データ、コスト・データ、セキュリティ・データ、応答時間データ、依存関係データ、デッドライン・データ、記述データ、ベンチマーク・データ、維持管理者データ、またはその他のデータ、あるいはこれらの組合せなどの符号化データを含むことができる。
【００３６】
１つまたは複数のブループリント・レベル・アスペクト３０４は、ブループリント３０２内のプロパティまたは資源に作用し、変更し、または追加あるいはこれらの組合せを行うことができる。ブループリント３０２内のプロパティまたは資源は、例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた情報に基づく、固有環境、モニタリング機能、アラート機能または自動スケーリング機能あるいはこれらの組合せを含むことができる。一実施形態では、１つまたは複数のブループリント・レベル・アスペクト３０４は、モニタリング・アスペクトを含むことができる。モニタリング・アスペクトは、例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたメトリクスの収集または追跡あるいはその両方を行い、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたログ・ファイルの収集またはモニタリングあるいはその両方を行い、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数のアラームを設定し、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた変更に自動的に反応し、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数のその他のモニタリング機能を容易にし、あるいはこれらの組合せを行うことができる。一例では、モニタリング・アスペクトのためのデータは、クラウド・ベースのコンピューティング・プラットフォーム１１４のために採用されるアプリケーション・パフォーマンス・モニタリング・ツールに関連付けることができる。これに加えて、またはこれに代えて、１つまたは複数のブループリント・レベル・アスペクト３０４は、通知アスペクトを含むことができる。通知アスペクトは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたアラーム構成を追跡し、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の統計値にアクセスし、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたメトリクスを収集し、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたメトリック・データのために１つまたは複数のアラームを設定し、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の傾向を特定し、クラウド・ベースのコンピューティング・プラットフォーム１１４の状態に基づいて自動化アクションを促し、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数のその他の通知機能を促し、あるいはこれらの組合せを行うことができる。これに加えて、またはこれに代えて、１つまたは複数のブループリント・レベル・アスペクト３０４は自動スケーリング・アスペクトを含むことができる。自動スケーリング・アスペクトは、クラウド・ベースのコンピューティング・プラットフォーム１１４のスケジュールに基づくスケーリング、またはクラウド・ベースのコンピューティング・プラットフォーム１１４の資源に基づくスケーリング、あるいはその両方を容易にすることができる。スケジュールに基づくスケーリングは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたデータ・トラフィックの予測増加に関連付けることができる。資源に基づくスケジュールは、クラウド・ベースのコンピューティング・プラットフォーム１１４によって提供されるデータの応答時間基準に関連付けることができる。一態様では、クラウド・ベースのコンピューティング・プラットフォーム１１４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための、同一サーバの自動スケール・グループ、または開始（Launch）構成によって定義されたロード・バランサ、あるいはその両方を含むことができる。一例では、自動スケール・グループは、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた負荷、またはクラウド・ベースのコンピューティング・プラットフォーム１１４による、観察された処理利用率、あるいはその両方に応答して修正することができる。これに加えて、またはこれに代えて、１つまたは複数のブループリント・レベル・アスペクト３０４はロード・バランシング・アスペクトを含むことができる。ロード・バランシング・アスペクトは、クラウド・ベースのコンピューティング・プラットフォーム１１４によるトラフィック負荷の分散を管理することができる。ロード・バランシング・アスペクトは、クラウド・ベースのコンピューティング・プラットフォーム１１４により１つもしくは複数のサーバ・ノードのトラフィックまたは資源使用あるいはその両方を管理することもできる。
【００３７】
図４に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム４００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明を省く。
【００３８】
システム４００はオーケストレーション・エンジン・コンポーネント１０２を含む。オーケストレーション・エンジン・コンポーネント１０２は、１つまたは複数のブループリント・レベル・アスペクト３０４を含むブループリント３０２を受け取ることができる。このブループリント３０２に含まれる１つまたは複数のブループリント・レベル・アスペクト３０４に基づいて、オーケストレーション・エンジン・コンポーネント１０２は資源定義のセット４０２を生成することができる。例えば、オーケストレーション・エンジン・コンポーネント１０２は、ブループリント３０２から１つまたは複数のブループリント・レベル・アスペクト３０４を抽出することができる。また、オーケストレーション・エンジン・コンポーネント１０２は、資源定義のセット４０２を生成するために１つまたは複数のブループリント・レベル・アスペクト３０４を解析することができる。資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数の資源、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数のプロパティあるいはその両方の、１つまたは複数の定義を含むことができる。一態様では、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた、モニタリング、自動スケーリング、ロード・バランシング、イベント管理、またはパーシステンスあるいはこれらの組合せを容易にするための１つまたは複数の定義を含むことができる。一実施形態では、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアのための１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたソフトウェアのための１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数の仮想マシンのための１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージのための１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたミドルウェアのための１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた別の資源のための１つもしくは複数の定義、あるいはこれらの組合せを含むことができる。一例では、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのメモリ容量またはメモリの種類を含むことができる。これに加えて、またはこれに代えて、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のネットワーク速度を含むことができる。ただし、資源定義のセット４０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたその他の資源の定義を含むことができることを理解されたい。
【００３９】
図５に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム５００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００４０】
システム５００は、オーケストレーション・エンジン・コンポーネント１０２を含む。オーケストレーション・エンジン・コンポーネント１０２は、オーケストレーション・エンジン・コンポーネント１０２によって生成された資源定義のセット４０２を採用してブループリント３０２を修正することができる。例えば、オーケストレーション・エンジン・コンポーネント１０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための修正ブループリント５０２を生成することができる。修正ブループリント５０２は、ブループリント３０２の修正版とすることができる。修正ブループリント５０２は、１つまたは複数のブループリント・レベル・アスペクト３０４と資源定義のセット４０２とを含むことができる。例えば、オーケストレーション・エンジン・コンポーネント１０２は、１つまたは複数のブループリント・レベル・アスペクト３０４と資源定義のセット４０２とを含む修正ブループリント５０２の生成を容易にするために、資源定義のセット４０２をブループリント３０２に挿入することができる。一態様では、資源定義のセット４０２に含まれる情報に基づいて、修正ブループリント５０２内の資源プロパティの１つまたは複数の部分をオートコンプリートすることができる。例えば、資源定義のセット４０２に含まれる情報に基づいて、修正ブループリント５０２内の資源プロパティの１つまたは複数の部分の追加、更新または削除あるいはこれらの組合せを行うことができる。
【００４１】
図６に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム６００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００４２】
システム６００は、クラウド・ベースのコンピューティング・プラットフォーム１１４を含む。一実施形態では、１つまたは複数のブループリント・レベル・アスペクト３０４を含む修正ブループリント５０２および資源定義のセット４０２をクラウド・ベースのコンピューティング・プラットフォーム１１４によって採用することができる。一実施形態では、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアまたはソフトウェアあるいはその両方のための最適実行経路を判断するために、クラウド・ベースのコンピューティング・プラットフォーム１１４によって修正ブループリント５０２を採用することができる。特定の実施形態では、クラウド・ベースのコンピューティング・プラットフォーム１１４による修正ブループリント５０２の採用を容易にするために、修正ブループリント５０２をクラウド・ベースのコンピューティング・プラットフォーム１１４に送信することができる。したがって、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源要件を、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのハードウェア・プロパティまたはソフトウェア・プロパティあるいはその両方に変換することができる。例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４のオペレーティング・システム要件、メモリ要件、処理要件またはその他の要件あるいはこれらの組合せを効率的に判断することができる。また、クラウド・ベースのコンピューティング・プラットフォーム１１４の効率またはパフォーマンスあるいはその両方を向上させることができる。例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４に含まれるハードウェアまたはソフトウェアあるいはその両方の効率またはパフォーマンスあるいはその両方を向上させることができる。
【００４３】
図７に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム７００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００４４】
システム７００はブループリント７０２を含む。ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたブループリントとすることができる。また、ブループリント７０２は、オーケストレーション・エンジン・コンポーネント１０２によって採用されるブループリントとすることができる。例えば、ブループリント７０２は、ブループリント３０２に対応し得る。ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のために作成する１つまたは複数の資源を定義することができる。ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数の資源間の関係または依存関係あるいはその両方を定義することができる。例えば、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージが、クラウド・ベースのコンピューティング・プラットフォーム１１４の仮想マシンとの関連付けを必要とすることがあり、それによってストレージのための依存関係を作成する必要がある場合がある。クラウド・ベースのコンピューティング・プラットフォーム１１４の資源間の依存関係は、正しい順序での１つまたは複数の資源の作成を容易にすることができる。また、１つまたは複数の資源にブループリント７０２内で一意に命名することができる。ブループリント７０２内の資源は、定義された値に明示的に設定されるプロパティ値を含むことができる。これに加えて、またはこれに代えて、ブループリント７０２内の資源は、ブループリント７０２内の異なる資源からのプロパティの参照を介して暗黙的に設定されるプロパティ値を含むことができる。これに加えて、またはこれに代えて、ブループリント７０２内の資源は、ブループリント７０２への入力パラメータへの参照を介して暗黙的に設定されるプロパティ値を含むことができる。一実施形態では、ブループリント７０２はネストされたデータ構造とすることができる。また、ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数の他のブループリントとデータを交換することができる。
【００４５】
一実施形態では、ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源を宣言するテンプレートまたはパターンとすることができる。ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のために作成されるコンピューティング資源の種類またはコンピューティング資源のプロパティを記述することもできる。一態様では、ブループリント７０２は、可読テキスト・ファイルとしてクラウド・ベースのコンピューティング・プラットフォーム１１４からエクスポートすることができる。別の態様では、ブループリント７０２は、機械可読形式および人間可読形式でフォーマットすることができる。例えば、ブループリント７０２は、クラウド・ベースのコンピューティング・プラットフォーム１１４のための１つまたは複数のコンピューティング資源の機械可読テキスト表現および人間可読テキスト表現とすることができる。一例では、ブループリント７０２は、データ・シリアル化言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の例では、ブループリント７０２は、データ配列言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。さらに別の例では、ブループリント７０２は、自動ドキュメンテーションに関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。
【００４６】
ブループリント７０２は、修正ブループリント７０４に変換することができる。修正ブループリント７０４は、オーケストレーション・エンジン・コンポーネント１０２によって生成された修正ブループリントとすることができる。例えば、修正ブループリント７０４は修正ブループリント５０２に対応し得る。修正ブループリント７０４は、ブループリント７０２と新規情報７０６とからの情報を含み得る。新規情報７０６は、例えば、オーケストレーション・エンジン・コンポーネント１０２によって生成された資源定義のセット（例えば資源定義のセット４０２）に関連付けられた情報とすることができる。例えば、新規情報７０６は、ブループリント７０２に含まれる１つまたは複数のブループリント・レベル・アスペクトに基づいて動的に追加されるクラウド・ベースのコンピューティング・プラットフォーム１１４のためのプロパティのセットとすることができる。
【００４７】
一実施形態では、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたソフトウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数の仮想マシンの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたミドルウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた別の資源の１つもしくは複数の定義、あるいはこれらの組合せを含むことができる。非限定的な例では、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた領域を含むことができる。これに加えて、またはこれに代えて、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのメモリ容量またはメモリの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４のネットワーク速度を含むことができる。ただし、新規情報７０６は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の他の資源の定義を含み得ることを理解されたい。
【００４８】
図８に、本明細書に記載の１つまたは複数の実施形態による、例示の非限定的なシステム８００のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００４９】
システム８００は、ブループリント７０２と修正ブループリント８０２とを含む。ブループリント７０２は、修正ブループリント８０２に変換することができる。修正ブループリント８０２は、オーケストレーション・エンジン・コンポーネント１０２によって生成された修正ブループリント８０２とすることができる。例えば、修正ブループリント８０２は、修正ブループリント５０２に対応し得る。修正ブループリント８０２は、ブループリント７０２と新規情報８０４とからの情報を含むことができる。新規情報８０４は、例えば、オーケストレーション・エンジン・コンポーネント１０２によって生成された資源定義のセット（例えば資源定義のセット４０２）に関連付けられた情報とすることができる。例えば、新規情報８０４は、ブループリント７０２に含まれる１つまたは複数のブループリント・レベル・アスペクトに基づいて動的に追加される、クラウド・ベースのコンピューティング・プラットフォーム１１４の資源定義のセットおよびプロパティのセットとすることができる。
【００５０】
一実施形態では、新規情報８０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたハードウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたソフトウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つもしくは複数の仮想マシンの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたミドルウェアの１つもしくは複数の定義、またはクラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた別の資源の１つもしくは複数の定義、あるいはこれらの組合せを含むことができる。非限定的な例では、新規情報８０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた領域を含むことができる。これに加えて、またはこれに代えて、新規情報８０４はクラウド・ベースのコンピューティング・プラットフォーム１１４のためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、新規情報８０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のためのメモリ容量またはメモリの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、新規情報８０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４のネットワーク速度を含むことができる。新規情報８０４は、これに加えて、またはこれに代えて、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられたストレージ（例えばデータベース）の資源定義および対応するプロパティを含むことができる。ただし、新規情報８０４は、クラウド・ベースのコンピューティング・プラットフォーム１１４に関連付けられた１つまたは複数の他の資源のための定義も含み得ることを理解されたい。
【００５１】
図９に、本明細書に記載の１つまたは複数の実施形態による、ハイブリッド・クラウド構成のためのオーケストレーション・エンジンのブループリント・アスペクトを簡便にする例示の非限定的なコンピュータ実装方法の流れ図を示す。９０２で、プロセッサに動作可能に結合されたシステムによって（例えばコンピューティング資源コンポーネント１０４によって）、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられたブループリントから１つまたは複数のブループリント・レベル・アスペクトが特定される。ブループリントは、例えば、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数のコンピューティング資源を宣言するテンプレートまたはパターンとすることができる。ブループリントは、クラウド・ベースのコンピューティング・プラットフォームのために作成されるコンピューティング資源の種類またはコンピューティング資源のプロパティあるいはその両方を記述することもできる。一態様では、ブループリントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数のコンピューティング資源の機械可読表現および人間可読表現とすることができる。一例では、ブループリントは、データ・シリアル化言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の例では、ブループリントは、データ配列言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。さらに別の例では、ブループリントは、自動ドキュメンテーションに関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。１つまたは複数のブループリント・レベル・アスペクトは、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数のコンピューティング資源に関連付けられた１つまたは複数の特徴のための符号化情報を示すことができる。１つまたは複数のブループリント・レベル・アスペクト内の符号化データは、例えば、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた、サービス・レベル・アグリーメント・データ、ソフトウェア・データ、配備環境データ、コスト・データ、セキュリティ・データ、応答時間データ、依存関係データ、デッドライン・データ、記述データ、またはベンチマーク・データ、または維持管理者データ、またはその他のデータあるいはこれらの組合せを含むことができる。一実施形態では、１つまたは複数のブループリント・レベル・アスペクトは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて特定することができる。
【００５２】
９０４で、システム（例えばブループリント・コンポーネント１０６）によって、１つまたは複数のブループリント・レベル・アスペクトに基づいてクラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットが生成される。資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた、モニタリング、自動スケーリング、ロード・バランシング、イベント管理、またはパーシステンス、あるいはこれらの組合せを容易にする、１つまたは複数の定義を含むことができる。一態様では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたハードウェア、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたソフトウェア、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた仮想マシン、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたストレージ、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたミドルウェア、またはクラウド・ベースのコンピューティング・プラットフォームに関連付けられた別の資源、あるいはこれらの組合せの、１つまたは複数の定義を含むことができる。一例では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのためのメモリ容量またはメモリの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのネットワーク速度を含むことができる。
【００５３】
９０６で、他のブループリント・レベル・アスペクトが特定されるか否かが判断される。特定される場合、コンピュータ実装方法９００は資源定義のセットを更新するために９０４に戻る。特定されない場合、コンピュータ実装方法９００は９０８に進む。
【００５４】
９０８で、システム（例えばハイブリッド・クラウド構成コンポーネント１０８）によって資源定義のセットに基づいてブループリントが修正される。例えば、資源定義のセットをブループリントに挿入することができる。一実施形態では、資源定義のセットに基づいて、ブループリント内の資源定義部を修正することができる。例えば、資源定義のセットに基づいて、ブループリント内の資源定義部の作成、更新、構成、または削除あるいはこれらの組合せを行うことができる。特定の実施形態では、コンピュータ実装方法９００は、システムによって、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数の特徴を学習するために、１つまたは複数のブループリント・レベル・アスペクトに基づいて、クラウド・ベースのコンピューティング・プラットフォームをモニタリングすることも含むことができる。
【００５５】
図１０に、本明細書に記載の１つまたは複数の実施形態による、ハイブリッド・クラウド構成のためのオーケストレーション・エンジン・ブループリント・アスペクトを簡便にする例示の非限定的なシステム１０００の流れ図を示す。１００２で、クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトが、プロセッサに動作可能に結合されたシステムによって（例えば学習コンポーネント２０２によって）、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて学習される。１つまたは複数のブループリント・レベル・アスペクトは、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数のコンピューティング資源に関連付けられた１つまたは複数の特徴のための符号化情報を示すことができる。１つまたは複数のブループリント・レベル・アスペクト内の符号化データは、例えば、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた、サービス・レベル・アグリーメント・データ、ソフトウェア・データ、配備環境データ、コスト・データ、セキュリティ・データ、応答時間データ、依存関係データ、デッドライン・データ、記述データ、ベンチマーク・データ、維持管理者データ、またはその他のデータあるいはこれらの組合せを含むことができる。一実施形態では、履歴データは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた以前に判断されたパフォーマンス・データ、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたコンピューティング資源のための以前に判断された情報、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた以前に判断された特徴、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた、前に判断されたブループリント・レベル・アスペクトに関する情報、またはクラウド・ベースのコンピューティング・プラットフォームに関連付けられたその他の履歴データあるいはこれらの組合せを含むことができる。
【００５６】
１００４で、システムによって（例えばブループリント・コンポーネント１０６によって）、１つまたは複数のブループリント・レベル・アスペクトに基づいてクラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットが生成される。資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた、モニタリング、自動スケーリング、ロード・バランシング、イベント管理、またはパーシステンスあるいはこれらの組合せを容易にするための１つまたは複数の定義を含むことができる。一態様では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたハードウェア、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたソフトウェア、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた仮想マシン、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたストレージ、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたミドルウェア、またはクラウド・ベースのコンピューティング・プラットフォームに関連付けられた別の資源あるいはこれらの組合せのための、１つまたは複数の定義を含むことができる。一例では、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのためのプロセッサの数またはプロセッサの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのためのメモリ容量またはメモリの種類あるいはその両方を含むことができる。これに加えて、またはこれに代えて、資源定義のセットは、クラウド・ベースのコンピューティング・プラットフォームのネットワーク速度を含むことができる。
【００５７】
１００６で、別のブループリント・レベル・アスペクトが特定されるか否かが判断される。特定される場合、コンピュータ実装方法１０００は資源定義のセットを更新するために１００４に戻る。特定されない場合、コンピュータ実装方法１０００は１００８に進む。
【００５８】
１００８で、クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントが、システムによって（例えばハイブリッド・クラウド構成コンポーネント１０８によって）、資源定義のセットに基づいて修正される。例えば、資源定義のセットに関連付けられたデータをブループリントに挿入することができる。ブループリントは、例えば、クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数のコンピューティング資源を宣言するテンプレートまたはパターンとすることができる。ブループリントは、クラウド・ベースのコンピューティング・プラットフォームのために作成されるコンピューティング資源の種類またはコンピューティング資源のプロパティあるいはその両方を記述することもできる。一態様では、ブループリントは、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数のコンピューティング資源の機械可読表現および人間可読表現とすることができる。一実施形態では、ブループリントは、データ・シリアル化言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。別の例では、ブループリントは、データ配列言語に関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。さらに別の例では、ブループリントは、自動ドキュメンテーションに関連付けられた機械可読形式および人間可読形式でフォーマットすることができる。一実施形態では、ブループリント内の資源定義部は、資源定義のセットに基づいて修正することができる。例えば、資源定義のセットに基づいてブループリント内の資源定義部の作成、更新、構成または削除あるいはこれらの組合せを行うことができる。特定の実施形態では、コンピュータ実装方法１０００は、システムによって、クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数の特徴を学習するために、１つまたは複数のブループリント・レベル・アスペクトに基づいてクラウド・ベースのコンピューティング・プラットフォームをモニタリングすることも含むことができる。
【００５９】
説明を簡単にするために、コンピュータ実装方法について、一連の動作として図示し、説明している。本主題の革新的技術は、例示されている動作によって、または動作の順序あるいはその両方によって限定されず、例えば動作は様々な順序で、または並行して、あるいはその組合せで行われてもよく、本明細書で提示も記載もされていない他の動作とともに行われてもよいことを理解されたい。また、開示されている主題によるコンピュータ実装方法を実装するために、例示されているすべての動作が必要ではない場合がある。さらに、当業者は、コンピュータ実装方法は、代わりに状態遷移図またはイベントにより、一連の相互に関連する状態として表すこともできることが理解でき、わかるであろう。さらに、以下および本明細書全体を通して開示されているコンピュータ実装方法は、そのようなコンピュータ実装方法をコンピュータに伝送および移送するのを容易にするために製造品に記憶できることを理解されたい。本明細書で使用する製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータ・プログラムを包含することが意図されている。
【００６０】
また、少なくとも、資源定義のセットを生成することは、電気的および機械的なコンポーネントおよび回路との組合せから成立するため、人間は、本明細書で開示されているオーケストレーション・エンジン・コンポーネント１０２（例えばコンピューティング資源コンポーネント１０４、ブループリント・コンポーネント１０６、ハイブリッド・クラウド構成コンポーネント１０８、または学習コンポーネント２０２、あるいはそれらの組合せ）によって実行される処理を再現または実行することはできない。例えば、人間は、１つまたは複数のブループリント・レベル・アスペクトに基づいて資源定義のセットを生成することはできず、人間は資源定義のセットに基づいてブループリントを修正することができない、などである。
【００６１】
開示の主題の様々な態様に状況を与えるため、図１１および以下の説明は、開示の主題の様々な態様を実装可能な適切な環境の概要を示すことを意図している。図１１は、本明細書に記載の１つまたは複数の実施形態を容易にすることができる例示の非限定的な動作環境のブロック図を示す。簡潔にするために、本明細書に記載の他の実施形態で採用されている同様の要素の繰り返しの説明は省く。
【００６２】
図１１を参照すると、本開示の様々な態様を実装するのに適した動作環境１１００は、コンピュータ１１１２も含むことができる。コンピュータ１１１２は、処理ユニット１１１４と、システム・メモリ１１１６と、システム・バス１１１８も含むことができる。システム・バス１１１８は、システム・メモリ１１１６を含むがこれには限定されないシステム・コンポーネントを処理ユニット１１１４に結合する。処理ユニット１１１４は、様々な利用可能なプロセッサのいずれかとすることができる。処理ユニット１１１４として、デュアル・マイクロプロセッサおよびその他のマルチプロセッサ・アーキテクチャも採用することができる。システム・バス１１１８は、業界標準アーキテクチャ（Industry Standard Architecture（ＩＳＡ））、マイクロ・チャネル・アーキテクチャ（Micro Channel Architecture（ＭＣＡ））、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェント・ドライブ・エレクトロニクス（Intelligent Drive Electronics（ＩＤＥ））、ＶＥＳＡローカル・バス（ＶＬＢ）、ペリフェラル・コンポーネント・インターコネクト（Peripheral Component Interconnect（ＰＣＩ））バス、カード・バス、ユニバーサル・シリアル・バス（ＵＳＢ）、アドバンスト・グラフィックス・ポート（Advanced Graphics Port（ＡＧＰ））、Ｆｉｒｅｗｉｒｅ（ＩＥＥＥ１３９４）、およびスモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）を含むがこれらには限定されない任意の様々な利用可能なバス・アーキテクチャを使用する、メモリ・バスまたはメモリ・コントローラ、周辺機器用バスまたは外部バス、またはローカル・バスあるいはこれらの組合せを含む、いくつかの種類のバス構造のうちのいずれかとすることができる。
【００６３】
システム・メモリ１１１６は、揮発性メモリ１１２０と不揮発性メモリ１１２２も含むことができる。起動時などにコンピュータ１１１２内の要素間で情報を伝送するための基本ルーチンを含むベーシック・インプット／アウトプット・システム（ＢＩＯＳ）が、不揮発性メモリ１１２２に記憶される。コンピュータ１１１２は、取り外し可能／取り外し不能な揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。図１１は、例えば、ディスク・ストレージ１１２４を示している。ディスク・ストレージ１１２４は、磁気ディスク・ドライブ、フロッピィ・ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カード、またはメモリ・スティックなどのデバイスも含み得るが、これらには限定されない。ディスク・ストレージ１１２４は、他の記憶媒体とは別個に、または他の記憶媒体と組み合わせて記憶媒体を含むこともできる。システム・バス１１１８へのディスク・ストレージ１１２４の接続を容易にするために、典型的には、インターフェース１１２６などの取り外し可能または取り外し不能なインターフェースが使用される。図１１は、ユーザと、適切な動作環境１１００内に記載されている基本コンピュータ資源との間に介在するものとしての役割を果たすソフトウェアも図示している。このようなソフトウェアは、例えば、オペレーティング・システム１１２８も含み得る。オペレーティング・システム１１２８は、ディスク・ストレージ１１２４に記憶することができ、コンピュータ１１１２の資源を制御し、割り当てる役割を果たす。
【００６４】
システム・アプリケーション１１３０は、例えばシステム・メモリ１１１６またはディスク・ストレージ１１２４のいずれかに記憶されているプログラム・モジュール１１３２およびプログラム・データ１１３４を介してオペレーティング・システム１１２８による資源の管理を利用する。本開示は、様々なオペレーティング・システムまたはオペレーティング・システムの組合せとともに実装可能であることを理解されたい。ユーザが入力デバイス１１３６を介してコンピュータ１１１２にコマンドまたは情報を入力する。入力デバイス１１３６は、ポインティング・デバイス、例えばマウス、トラック・ボール、スタイラス、タッチ・パッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星放送受信アンテナ、スキャナ、ＴＶチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラなどを含むがこれらには限定されない。上記およびその他の入力デバイスは、インターフェース・ポート１１３８を介してシステム・バス１１１８により処理ユニット１１１４に接続する。インターフェース・ポート１１３８は、例えば、シリアル・ポート、パラレル・ポート、ゲーム・ポート、およびユニバーサル・シリアル・バス（ＵＳＢ）を含む。出力デバイス１１４０は、入力デバイス１１３６と同じ種類のポートのうちのいくつかを使用する。したがって、コンピュータ１１１２に入力を提供し、コンピュータ１１１２から出力デバイス１１４０に情報を出力するために、例えばＵＳＢポートを使用することができる。モニタ、スピーカ、およびプリンタなどのいくつかの出力デバイス１１４０があることを例示するために出力アダプタ１１４２が示されているが、このように専用のアダプタを必要とする出力デバイス１１４０は他にもある。出力アダプタ１１４２には、例示であって限定的ではないが、出力デバイス１１４０とシステム・バス１１１８との間に接続の手段を提供するビデオ・カードおよびサウンド・カードが含まれる。リモート・コンピュータ１１４４などの他のデバイスまたはデバイスのシステムあるいはその両方も、入力機能と出力機能の両方を提供することに留意されたい。
【００６５】
コンピュータ１１１２は、リモート・コンピュータ１１４４などの１つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化環境で動作することができる。リモート・コンピュータ１１４４は、コンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサ使用機器、ピア・デバイスまたはその他の一般的なネットワーク・ノードなどとすることができ、典型的には、コンピュータ１１１２に関連して説明した要素の多くまたはすべても含み得る。簡潔にするために、リモート・コンピュータ１１４４とともにメモリ・ストレージ・デバイス１１４６のみが図示されている。リモート・コンピュータ１１４４は、ネットワーク・インターフェース１１４８を介してコンピュータ１１１２に論理的に接続され、次に、通信接続部１１５０を介して物理的に接続される。ネットワーク・インターフェース１１４８は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、セルラ・ネットワークなどの、有線または無線あるいはその両方の通信ネットワークに対応する。ＬＡＮ技術は、ファイバ分散データ・インターフェース（ＦＤＤＩ）、銅線分散データ・インターフェース（ＣＤＤＩ）、Ｅｔｈｅｒｎｅｔ、トークン・リングなどを含む。ＷＡＮ技術は、ポイント・ツー・ポイント・リンク、統合サービス・デジタル通信網（ＩＳＤＮ）およびその変形、パケット交換網、ならびにデジタル加入者回線（ＤＳＬ）などの回線交換ネットワークを含むがこれらには限定されない。通信接続部１１５０とは、ネットワーク・インターフェース１１４８をシステム・バス１１１８に接続するために採用されるハードウェア／ソフトウェアを指す。通信接続部１１５０は、説明を明確にするためにコンピュータ１１１２内部に示されているが、コンピュータ１１１２の外部にあってもよい。ネットワーク・インターフェース１１４８への接続のためのハードウェア／ソフトウェアは、例示に過ぎないが、通常の電話級モデム、ケーブル・モデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、およびＥｔｈｅｒｎｅｔカードなどの内蔵および外付け技術も含み得る。
【００６６】
次に図１２を参照すると、例示のクラウド・コンピューティング環境１２５０が図示されている。図のように、クラウド・コンピューティング環境１２５０は、例えばパーソナル・デジタル・アシスタント（ＰＤＡ）または携帯電話１２５４Ａ、デスクトップ・コンピュータ１２５４Ｂ、ラップトップ・コンピュータ１２５４Ｃ、または自動車コンピュータ・システム１２５４Ｎあるいはこれらの組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、１つまたは複数のクラウド・コンピューティング・ノード１２１０を含む。ノード１２１０は互いに通信することができる。ノードは、上述のプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウドまたはハイブリッド・クラウドあるいはこれらの組合せなどの１つまたは複数のネットワークにおいて物理的または仮想的にグループ化（図示せず）されてもよい。これによって、クラウド・コンピューティング環境１２５０は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはこれらの組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上で資源を維持する必要がないサービスとして提供することができる。なお、図１２に示すコンピューティング・デバイス１２５４Ａないし１２５４Ｎの種類は、例示を意図したものに過ぎず、コンピューティング・ノード１２１０およびクラウド・コンピューティング環境１２５０は、（例えばウェブ・ブラウザを使用して）任意の種類のネットワーク接続またはネットワーク・アドレス指定可能接続あるいはその両方を介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【００６７】
次に、図１３を参照すると、クラウド・コンピューティング環境１２５０（図１２）によって提供される１組の機能抽象化層が示されている。なお、図１３に示すコンポーネント、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【００６８】
ハードウェアおよびソフトウェア層１３６０は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム１３６１、縮小命令セットコンピュータ（Reduced Instruction Set Computer（ＲＩＳＣ））アーキテクチャ・ベースのサーバ１３６２、サーバ１３６３、ブレード・サーバ１３６４、ストレージ・デバイス１３６５、およびネットワークおよびネットワーキング・コンポーネント１３６６がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア１３６７およびデータベース・ソフトウェア１３６８を含む。
【００６９】
仮想化層１３７０は、以下のような仮想実体の例を与えることができる抽象化層を提供する。すなわち、仮想サーバ１３７１と、仮想ストレージ１３７２と、仮想プライベート・ネットワークを含む仮想ネットワーク１３７３と、仮想アプリケーションおよびオペレーティング・システム１３７４と、仮想クライアント１３７５である。
【００７０】
一例では、管理層１３８０は、以下に記載の機能を提供することができる。資源プロビジョニング１３８１は、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング資源およびその他の資源の動的調達を行う。メータリングおよびプライシング１３８２は、クラウド・コンピューティング環境内で資源が利用されるときのコスト追跡と、これらの資源の消費に対する対価の請求またはインボイス処理を行う。一例ではこれらの資源にはアプリケーション・ソフトウェア・ライセンスが含まれてもよい。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他の資源の保護とを行う。ユーザ・ポータル１３８３は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理１３８４は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング資源割り当ておよび管理を行う。サービス・レベル・アグリーメント（Service Level Agreement（ＳＬＡ））計画および履行１３８５は、ＳＬＡに従って将来の要求が予想されるクラウド・コンピューティング資源のための事前取り決めおよび調達を行う。
【００７１】
ワークロード層１３９０は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の非限定的な例には、マッピングおよびナビゲーション１３９１、ソフトウェア開発およびライフサイクル管理１３９２、仮想教室教育配信１３９３、データ分析処理１３９４、トランザクション処理１３９５、およびオーケストレーション・エンジン・プロセス・ソフトウェア１３９６が含まれる。
【００７２】
本発明は、任意の可能な技術詳細度の統合でのシステム、方法、装置、またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体（または複数の媒体）を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のものも含み得る。すなわち、可搬コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、可搬コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が記録された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波もしくはその他の自由に伝播する電磁波、導波路もしくはその他の伝送媒体を伝播する電磁波（例えば光ファイバ・ケーブルを通る光パルス）、または電線を介して伝送される電気信号などの、一過性の信号自体であると解釈すべきではない。
【００７３】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、交換機、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語、または同様のプログラム言語などの手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上でもしくは一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータもしくはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータを、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができるか、または接続を、（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに対して行うことができる。実施形態によっては、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【００７４】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書に説明されている。フローチャート図またはブロック図あるいはその両方の各ブロックおよび、フローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装可能であることが理解されよう。これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装する手段を形成するように、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに供給されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはこれらの組合せに対して特定の方式で機能するように指示することができるものであってもよい。コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方の１つまたは複数のブロックで規定されている機能／動作を実装するように、コンピュータ実装プロセスを生成するようにするために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作を実行させるものであってもよい。
【００７５】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。なお、フローチャートまたはブロック図の各ブロックは、規定されている論理機能を実装するための１つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表すことがある。ある別の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。例えば、連続して示されている２つのブロックは、関与する機能に応じて、実際には実質的に並行して実行されてよく、またはそれらのブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、規定されている機能または動作を実行する特殊目的ハードウェア・ベースのシステムによって実装可能であるか、または特殊目的ハードウェアとコンピュータ命令との組合せとして機能するかまたは実施することができることも理解されよう。
【００７６】
主題について、コンピュータまたは複数のコンピュータ上で稼働するコンピュータ・プログラム製品のコンピュータ実行可能命令の一般的文脈で上述したが、当業者は、本開示が他のプログラム・モジュールと組み合わせて実装できることも理解するものとなる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ・タイプを実装するかあるいはその両方を行う、ルーチン、プログラム、コンポーネント、データ構造などを含む。また、当業者は、本発明のコンピュータ実装方法が、シングル・プロセッサまたはマルチプロセッサ・コンピュータ・システム、ミニコンピューティング・デバイス、メインフレーム・コンピュータを含む他のコンピュータ・システム構成、およびコンピュータ、ハンドヘルド・コンピューティング・デバイス（例えばＰＤＡ、電話）、マイクロプロセッサ・ベースまたはプログラマブル消費者向けまたは産業用電子機器などでも実装可能であることを理解するものとなる。例示の態様は、通信ネットワークによって接続されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実装可能である。ただし、本開示の全部の態様ではないが一部の態様は、スタンドアロン・コンピュータ上で実装可能である。分散コンピューティング環境では、プログラム・モジュールは、ローカル・メモリ・ストレージ・デバイスとリモート・ストレージ・デバイスの両方に配置可能である。
【００７７】
本願で使用する際に、「コンポーネント」、「システム」、「プラットフォーム」、「インターフェース」などの用語は、コンピュータ関連実体、または１つもしくは複数の特定の機能を備えた実働マシンに関連する実体を指すか、または含み得るか、あるいはその両方である。本明細書で開示されている実体は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行時のソフトウェアとすることができる。例えば、コンポーネントは、プロセッサ上で稼働するプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、またはコンピュータあるいはこれらの組合せのいずれかとすることができるが、これには限定されない。例として、サーバ上で稼働するアプリケーションとサーバの両方がコンポーネントであり得る。１つまたは複数のコンポーネントが、プロセスまたは実行のスレッドあるいはその両方内にあってよく、コンポーネントを１つのコンピュータ上に局在させるか、または２つ以上のコンピュータに分散させるかあるいはその両方を行うことができる。別の例では、それぞれのコンポーネントは、様々なデータ構造が記憶されている様々なコンピュータ可読媒体から実行することができる。コンポーネントは、１つまたは複数のデータ・パケット（例えば、ローカル・システム、分散システムにおける別のコンポーネントと対話するか、またはインターネットなどのネットワークを通して信号を介して他のシステムと対話するか、あるいはその両方を行う１つのコンポーネントからのデータ）を有する信号に従うなど、ローカル・プロセスまたはリモート・プロセスあるいはその両方を介して通信することができる。別の例として、コンポーネントは、プロセッサによって実行されるソフトウェア・アプリケーションまたはファームウェア・アプリケーションによって動作させられる電気回路または電子回路によって動作させられる機械的部品によって提供される特定の機能を備えた装置とすることができる。そのような場合、プロセッサは、その装置の内部または外部にあってよく、ソフトウェア・アプリケーションまたはファームウェア・アプリケーションの少なくとも一部を実行することができる。さらに別の例として、コンポーネントは、機械的部品のない電子コンポーネントを介して特定の機能を提供する装置とすることができ、電子コンポーネントは、電子コンポーネントの機能を少なくとも部分的に与えるソフトウェアまたはファームウェアを実行するプロセッサまたはその他の手段を含み得る。一態様では、コンポーネントは、例えばクラウド・コンピューティング・システム内の仮想マシンを介して電子コンポーネントをエミュレートすることができる。
【００７８】
また、「または」という用語は、排他的な「または」ではなく包含的な「または」を意味することを意図している。すなわち、特に明記しない限り、または文脈から明らかでない限り、「ＸはＡまたはＢを採用する」は自然な包含的置換のいずれも意味することを意図している。すなわち、ＸがＡを採用するか、ＸがＢを採用するか、またはＸがＡとＢの両方を採用する場合、「ＸはＡまたはＢを採用する」は上記の場合のいずれにおいても満たされる。また、本明細書および添付図面で使用する冠詞「ａ」および「ａｎ」は、一般に、特に明記されているかまたは文脈から単数形が指示されていることが明らかでない限り、「１つまたは複数」を意味するものと解釈するべきである。本明細書で使用する「例」または「例示の」あるいはその両方の用語は、例、事例または例示となることを意味するために使用されている。誤解を避けるために、本明細書で開示されている主題は、このような例によって限定されない。さらに、本明細書に「例」または「例示の」あるいはその両方として記載されているいずれの態様または設計も、必ずしも他の態様または設計よりも好ましいかまたは有利であるものと解釈すべきではなく、当業者に知られている同等の例示の構造および技術を排除することも意味していない。
【００７９】
本明細書で採用される際に、「プロセッサ」という用語は、シングルコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を備えたシングル・プロセッサ、マルチコア・プロセッサ、ソフトウェア・マルチスレッド実行機能を備えたマルチコア・プロセッサ、ハードウェア・マルチスレッド技術を備えたマルチコア・プロセッサ、パラレル・プラットフォーム、および分散共用メモリを備えたパラレル・プラットフォームを含むがこれらには限定されない、実質的にあらゆるコンピューティング処理ユニットまたはデバイスを指し得る。また、プロセッサは、本明細書に記載の機能を実行するように設計された、集積回路、特定用途向け集積回路（application specific integrated circuit（ＡＳＩＣ））、デジタル・シグナル・プロセッサ（digital signal processor（ＤＳＰ））、フィールド・プログラマブル・ゲート・アレイ（field programmable gate array（ＦＰＧＡ））、プログラマブル・ロジック・コントローラ（programmable logic controller（ＰＬＣ））、コンプレックス・プログラマブル・ロジック・デバイス（complex programmable logic device（ＣＰＬＤ））、ディスクリート・ゲートもしくはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、またはこれらの任意の組合せを指し得る。また、プロセッサは、ユーザ機器の空間利用を最適化するため、またはパフォーマンスを向上させるために、分子および量子ドット・ベースのトランジスタ、スイッチ、ならびにゲートなどであるがこれらには限定されないナノスケール・アーキテクチャを利用することができる。プロセッサは、コンピューティング処理ユニットの組合せとして実装することもできる。本開示では、「ストア」、「ストレージ」、「データ・ストア」、「データ・ストレージ」、「データベース」、およびコンポーネントの動作および機能に関連する実質的にあらゆるその他の情報記憶コンポーネントなどの用語を使用して、「メモリ・コンポーネント」、「メモリ」において具現化される実体、またはメモリを含むコンポーネントを指す。本明細書に記載のメモリまたはメモリ・コンポーネントあるいはその両方は、揮発性メモリもしくは不揮発性メモリのいずれかとすることができ、または揮発性と不揮発性の両方のメモリを含み得ることを理解するべきである。例として、限定的ではなく、不揮発性メモリは、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（programmable ROM（ＰＲＯＭ））、電気的プログラマブルＲＯＭ（electrically programmable ROM（ＥＰＲＯＭ））、電気的消去可能ＲＯＭ（electrically erasable ROM（ＥＥＰＲＯＭ））、フラッシュ・メモリ、不揮発性ランダム・アクセス・メモリ（ＲＡＭ）（例えば強誘電ＲＡＭ（ＦｅＲＡＭ））を含み得る。揮発性メモリは、例えば外部キャッシュ・メモリとして機能することができるＲＡＭを含み得る。例として、限定的ではなく、ＲＡＭは、同期ＲＡＭ（synchronous RAM（ＳＲＡＭ））、ダイナミックＲＡＭ（dynamic RAM（ＤＲＡＭ））、同期ＤＲＡＭ（synchronous DRAM（ＳＤＲＡＭ））、ダブル・データ・レートＳＤＲＡＭ（double data rate SDRAM（ＤＤＲ  ＳＤＲＡＭ））、エンハンストＳＤＲＡＭ（enhanced SDRAM（ＥＳＤＲＡＭ））、シンクリンクＤＲＡＭ（Synchlink DRAM（ＳＬＤＲＡＭ））、ダイレクトＲａｍｂｕｓ  ＲＡＭ（ＤＲＲＡＭ）、ダイレクトＲａｍｂｕｓダイナミックＲＡＭ（ＤＲＤＲＡＭ）、およびＲａｍｂｕｓダイナミックＲＡＭ（ＲＤＲＡＭ）などの多くの形態で入手可能である。また、本明細書のシステムまたはコンピュータ実装方法の開示のメモリ・コンポーネントは、上記および任意のその他の適切な種類のメモリを含むことを意図しているが、これらを含むことには限定されない。
【００８０】
上記に記載の内容は、システムおよびコンピュータ実装方法の例を含むに過ぎない。当然ながら、本開示を説明するためにコンポーネントまたはコンピュータ実装方法の考えられるあらゆる組合せを記載することは不可能であるが、当業者には、本開示の多くの他の組合せおよび置換が可能であることを認識することができる。また、詳細な説明、特許請求の範囲、添付書類、および図面で「含む（ｉｎｃｌｕｄｅｓ）」、「有する（ｈａｓ）」、「保有する（ｐｏｓｓｅｓｓｅｓ）」などの用語が使用されている限りにおいて、これらの用語は、「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語が請求項で移行語として採用されている場合に解釈される「含む（ｃｏｍｐｒｉｓｉｎｇ）」と同様に包含的であることを意図している。
【００８１】
本発明の様々な実施形態の説明を例示のために示したが、これらは網羅的であること、または開示されている実施形態に限定することを意図したものではない。記載されている実施形態の範囲および趣旨から逸脱することなく、多くの変更および変形が当業者には明らかとなる。本明細書で使用されている用語は、実施形態の原理、実際の適用、または市場に見られる技術に優る技術的改良を最もよく説明するために、あるいは当業者が本明細書で開示されている実施形態を理解することができるように選定された。
【図１】
2021507356.tif 000003
【図２】
2021507356.tif 000004
【図３】
2021507356.tif 000005
【図４】
2021507356.tif 000006
【図５】
2021507356.tif 000007
【図６】
2021507356.tif 000008
【図７】
2021507356.tif 000009
【図８】
2021507356.tif 000010
【図９】
2021507356.tif 000011
【図１０】
2021507356.tif 000012
【図１１】
2021507356.tif 000013
【図１２】
2021507356.tif 000014
【図１３】
2021507356.tif 000015
【手続補正書】
【提出日】令和2年8月26日(2020.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実行可能コンポーネントを記憶するメモリと、
前記メモリに記憶されたコンピュータ実行可能コンポーネントを実行するプロセッサと
を含み、前記コンピュータ実行可能コンポーネントは、
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習する学習コンポーネントと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成し、前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正するハイブリッド・クラウド構成コンポーネントと
を含む、システム。
【請求項２】
前記コンピュータ実行可能コンポーネントは、
前記ブループリントから前記１つまたは複数のブループリント・レベル・アスペクトを抽出するブループリント・コンポーネントをさらに含み、前記ブループリントは、前記１つまたは複数のコンピューティング資源の機械可読表現を示す、請求項１に記載のシステム。
【請求項３】
前記コンピュータ実行可能コンポーネントは、
前記１つまたは複数のコンピューティング資源の旧バージョンを修正して、前記クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を生成するコンピューティング資源コンポーネントをさらに含む、請求項１に記載のシステム。
【請求項４】
前記コンピューティング資源コンポーネントは、ハイブリッド・クラウド・ベースのコンピューティング・プラットフォーム、パブリック・クラウド・ベースのコンピューティング・プラットフォーム、またはプライベート・クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を生成する、請求項３に記載のシステム。
【請求項５】
前記コンピュータ実行可能コンポーネントは、
前記ブループリント内の資源定義部のための前記１つまたは複数のブループリント・レベル・アスペクトを判断するブループリント・コンポーネントをさらに含む、請求項１に記載のシステム。
【請求項６】
前記ブループリント・コンポーネントは、サービス・レベル・アグリーメント・データと、ソフトウェア・データと、配備環境データと、コスト・データと、セキュリティ・データと、応答時間データと、依存関係データと、デッドライン・データと、記述データと、ベンチマーク・データと、維持管理者データとからなるグループから前記１つまたは複数のブループリント・レベル・アスペクト内の符号化データを判断する、請求項５に記載のシステム。
【請求項７】
前記ハイブリッド・クラウド構成コンポーネントは、前記資源定義のセットに基づいて、前記ブループリント内の資源定義部を修正する、請求項５に記載のシステム。
【請求項８】
前記ブループリント・コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームまたは別のクラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のブループリント・レベル・アスペクトを判断する、請求項５に記載のシステム。
【請求項９】
前記学習コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームまたは別のクラウド・ベースのコンピューティング・プラットフォームに関連付けられた、以前に判断されたパフォーマンス・データに基づいて、前記１つまたは複数のブループリント・レベル・アスペクトを判断する、請求項１に記載のシステム。
【請求項１０】
ハイブリッド・クラウド構成コンポーネントは、前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記資源定義のセットに資源データを動的に代入する、請求項１に記載のシステム。
【請求項１１】
前記ハイブリッド・クラウド構成コンポーネントは、前記資源定義のセットに関連付けられたデータを前記ブループリントに挿入する、請求項１に記載のシステム。
【請求項１２】
前記ハイブリッド・クラウド構成コンポーネントは、前記クラウド・ベースのコンピューティング・プラットフォームのパフォーマンス向上を促すように前記資源定義のセットを判断する、請求項１に記載のシステム。
【請求項１３】
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、プロセッサに動作可能に結合されたシステムによって学習することと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記システムによって生成することと、
前記資源定義のセットに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを前記システムによって修正することと
を含む、コンピュータ実行可能な方法。
【請求項１４】
前記学習することは、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたパフォーマンス・データに基づいて前記１つまたは複数のブループリント・レベル・アスペクトを学習することを含む、請求項１３に記載のコンピュータ実行可能な方法。
【請求項１５】
前記修正することは、前記資源定義のセットに基づいて前記ブループリントの資源定義部を修正することを含む、請求項１３に記載のコンピュータ実行可能な方法。
【請求項１６】
前記システムによって、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた１つまたは複数の特徴を学習するために、前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームをモニタリングすることをさらに含む、請求項１３に記載のコンピュータ実行可能な方法。
【請求項１７】
前記修正することは、前記クラウド・ベースのコンピューティング・プラットフォームのパフォーマンスを向上させることを含む、請求項１３に記載のコンピュータ実行可能な方法。
【請求項１８】
オーケストレーション・エンジン・プロセスを容易にするコンピュータ・プログラムであって、前記プログラムは、プロセッサに対し、
クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームの１つまたは複数のコンピューティング資源のためのブループリントに関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、前記プロセッサによって学習させ、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記プロセッサによって判断させ、
前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームのための修正ブループリントを、前記プロセッサによって生成させる、コンピュータ・プログラム。
【請求項１９】
前記プログラムは、さらに、前記プロセッサに、
前記資源定義のセットに基づいて、前記ブループリントの１つまたは複数の部分を修正させる
ように前記プロセッサによってさらに実行可能である、請求項１８に記載のコンピュータ・プログラム。
【請求項２０】
前記プログラムは、前記プロセッサに、
前記資源定義のセットに基づいて、前記ブループリント内の資源定義部を修正させる、
請求項１８に記載のコンピュータ・プログラム。
【請求項２１】
コンピュータ実行可能コンポーネントを記憶するメモリと、
前記メモリに記憶されたコンピュータ実行可能コンポーネントを実行するプロセッサと
を含むシステムであって、前記システムは、前記コンピュータ実行可能コンポーネントは、
クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数の第１のコンピューティング資源を修正して前記クラウド・ベースのコンピューティング・プラットフォームのための１つまたは複数の第２のコンピューティング資源を生成するコンピューティング資源コンポーネントと、
前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを学習する学習コンポーネントと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを生成し、前記資源定義のセットに基づいて前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを修正するハイブリッド・クラウド構成コンポーネントと
を含む、システム。
【請求項２２】
前記コンピューティング資源コンポーネントは、ハイブリッド・クラウド・ベースのコンピューティング・プラットフォーム、パブリック・クラウド・ベースのコンピューティング・プラットフォーム、またはプライベート・クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数の第２のコンピューティング資源を生成する、請求項２１に記載のシステム。
【請求項２３】
１つまたは複数のコンピューティング資源の旧バージョンを修正することによって、クラウド・ベースのコンピューティング・プラットフォームのための前記１つまたは複数のコンピューティング資源を、プロセッサに動作可能に結合されたシステムによって生成することと、
前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられた履歴データに基づいて、前記１つまたは複数のコンピューティング資源のための情報に関連付けられた１つまたは複数のブループリント・レベル・アスペクトを、前記システムによって学習することと、
前記１つまたは複数のブループリント・レベル・アスペクトに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームのための資源定義のセットを、前記システムによって生成することと、
前記資源定義のセットに基づいて、前記クラウド・ベースのコンピューティング・プラットフォームに関連付けられたブループリントを、前記システムによって修正することと
を含む、コンピュータ実行可能な方法。
【請求項２４】
前記ブループリントを修正することは、前記資源定義のセットに基づいて前記ブループリント内の資源定義部を修正することを含む、請求項２３に記載のコンピュータ実行可能な方法。
【請求項２５】
前記ブループリントを修正することは、前記資源定義のセットに関連付けられたデータを前記ブループリントに挿入することを含む、請求項２３に記載のコンピュータ実行可能な方法。
【請求項２６】
請求項１３から１７のいずれか１項に記載の実行可能な方法のすべてのステップまたは請求項１８から２０のいずれか１項に記載のコンピュータ・プログラムのすべてのステップを実行するための命令を含む、記憶媒体。
【国際調査報告】
2021507356.tif 000016
2021507356.tif 000017