(57)【要約】  本明細書に説明される方法及び装置は、ＩＴインフラストラクチャを管理し、かつそれらの上に、アプリケーションの完成度レベルを考慮に入れながらアプリケーションを配備する管理プログラムを対象とする。実装形態例はまた、アプリケーションのサイズ変更中に、アプリケーションの完成度レベル及び使用頻度を考慮しながらＩＴリソースの構成を変更する管理プログラムをも含む。
2019506682.tif 000002
【特許請求の範囲】
【請求項１】
情報技術（ＩＴ）リソースを管理するように構成された管理コンピュータであって、
アプリケーション開発リポジトリに通信可能に連結されており、
前記アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、前記ＩＴリソース上に配備されるアプリケーションを決定し、
前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定し、
前記配備されるアプリケーションの前記ＩＴリソースに基づいて１つ以上の構成を生成することであって、前記１つ以上の構成は前記完成度レベルによって生成され、
前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振り、
前記配備されるアプリケーションを前記割り振られたＩＴリソース上に配備するように構成されたプロセッサを備える、管理コンピュータ。
【請求項２】
１つ以上のアプリケーションの完成度レベルに利用可能な前記ＩＴリソースに関する情報を格納するように構成されたメモリをさらに備え、前記プロセッサが、前記１つ以上のアプリケーションの完成度レベルに利用可能な前記ＩＴリソースに関する前記情報に基づいて、前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振るように構成された、請求項１に記載の管理コンピュータ。
【請求項３】
１つ以上のアプリケーションの完成度レベルと１つ以上のタイムアウトとの間の関係性を記憶するように構成されたメモリをさらに備え、
前記プロセッサが、
前記１つ以上の構成の各々の配備に要する時間の計算と、
前記配備されるアプリケーションの前記アプリケーションの完成度レベル及び、前記１つ以上のアプリケーションの完成度レベルと前記１つ以上のタイムアウトとの間の前記関係性に基づく、前記１つ以上の構成に対する前記タイムアウトの決定と、によって、前記配備されるアプリケーションの前記ＩＴリソースに基づいて、１つ以上の構成を生成するように構成され、
前記決定されたタイムアウトを超過して前記配備に要する時間中、前記プロセッサが、前
記タイムアウトが超過しているという表示を提供するように構成され、
前記プロセッサが、前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振るように構成される、請求項１に記載の管理コンピュータ。
【請求項４】
前記プロセッサが、
前記アプリケーション開発リポジトリから前記情報を検索することであって、前記アプリケーション開発リポジトリからの前記情報は前記配備されるアプリケーションの１つ以上のアプリケーションログを備えるような検索と、
前記アプリケーションが配備される期間を通してなされた変更及び前記アプリケーションが配備される期間中の変更の合計数を計算することと、
１つ以上の完成度モデルを、前記アプリケーションが配備される前記期間を通してなされた前記変更及び前記アプリケーションが配備される前記期間中の前記変更の合計数に適用することとによって、前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定するように構成された、請求項１に記載の管理コンピュータ。
【請求項５】
前記プロセッサが、１つ以上のシステムテンプレートの使用を介して、前記ＩＴリソースを割り振るように構成され、
前記プロセッサが、
前記１つ以上のシステムテンプレートに基づいて、前記１つ以上の構成を作成し、
前記１つ以上の構成にわたり、よく使用されるリソースを前記ＩＴリソースから特定し、
前記よく使用されるリソースを前記ＩＴリソースから作成するように構成された、請求項１に記載の管理コンピュータ。
【請求項６】
別のアプリケーションを削除するための要求の受け付けについて、前記プロセッサが、前記ＩＴリソースが前記よく使用されるリソースではないという決定に対して、前記別のアプリケーションによって利用される前記ＩＴリソースを削除するように構成される、請求項５に記載の管理コンピュータ。
【請求項７】
別のアプリケーションをサイズ変更するための要求の受け付けについて、前記プロセッサが、
前記別のアプリケーションの完成度レベル及び使用頻度を決定し、
前記配備されるアプリケーションの前記ＩＴリソースに基づいて１つ以上の構成を生成するように構成され、前記１つ以上の構成は前記完成度レベル及び前記使用頻度によって生成される、請求項１に記載の管理コンピュータ。
【請求項８】
１つ以上のアプリケーションの完成度レベルと、１つ以上の使用頻度と、１つ以上のタイムアウトとの間の関係性を記憶するように構成されたメモリをさらに備え、
前記プロセッサが、
前記１つ以上の構成の各々の配置に要する時間の計算と、
前記サイズ変更されるアプリケーションの前記アプリケーション完成度レベル、前記サイズ変更されるアプリケーションの前記使用頻度、及び前記１つ以上のアプリケーションの完成度レベルと前記１つ以上の使用頻度と前記１つ以上のタイムアウトとの間の前記関係性に基づく、前記１つ以上の構成に対するタイムアウトの決定とによって、前記サイズ変更されるアプリケーションの前記ＩＴリソースに基づいて、１つ以上の構成を生成するように構成され、
前記決定されたタイムアウトを超過して前記配備に要する時間中、前記プロセッサが、前記タイムアウトが超過しているという表示を提供するように構成され、
前記プロセッサが、前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記サイズ変更されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振るように構成される、請求項１に記載の管理コンピュータ。
【請求項９】
情報技術（ＩＴ）リソースを管理するように構成された管理コンピュータの命令を格納する非一時的なコンピュータ可読媒体であって、前記管理コンピュータはアプリケーション開発リポジトリに通信可能に連結されており、前記命令が、
前記アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、
前記ＩＴリソース上に配備されるアプリケーションを決定することと、
前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定することと、
前記配備されるアプリケーションの前記ＩＴリソースに基づいて１つ以上の構成を生成することであって、前記１つ以上の構成は前記完成度レベルによって生成されことと、
前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振ることと、
前記配備されるアプリケーションを前記割り振られたＩＴリソース上に配備することと、を備える、非一時的なコンピュータ可読媒体。
【請求項１０】
前記命令が、１つ以上のアプリケーションの完成度レベルに利用可能な前記ＩＴリソースに関する情報を格納することをさらに備え、前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースの割り振りが、前記１つ以上のアプリケーションの完成度レベルに利用可能な前記ＩＴリソースに関する前記情報に基づく、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１１】
前記命令が、１つ以上のアプリケーションの完成度レベルと１つ以上のタイムアウトとの間の関係性を格納することをさらに備え、
前記配備されるアプリケーションの前記ＩＴリソースに基づく前記１つ以上の構成の前記生成が、
前記１つ以上の構成の各々の配置に要する時間を計算することと、
前記配備されるアプリケーションの前記アプリケーションの完成度レベル及び前記１つ以上のアプリケーションの完成度レベルと前記１つ以上のタイムアウトとの間の前記関係性に基づいて、前記１つ以上の構成の前記タイムアウトを決定することと、を備え、
前記決定されたタイムアウトを超過して前記配備に要する時間中、前記プロセッサが、前記タイムアウトが超過しているという表示を提供するように構成され、
前記配備されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースの前記割り振りが、前記配備に要する時間が前記決定されたタイムアウトを超過していないときに遂行される、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１２】
前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルの前記決定が、
前記アプリケーション開発リポジトリから前記情報を検索することであって、前記アプリケーション開発リポジトリからの前記情報は前記配備されるアプリケーションの１つ以上のアプリケーションログを備えるような検索と、
前記アプリケーションが配備される期間を通してなされた変更及び前記アプリケーショ
ンが配備される前記期間中の変更の合計数を計算することと、
１つ以上の完成度モデルを、前記アプリケーションが配備される前記期間を通してなされた前記変更及び前記アプリケーションが配備される前記期間中の前記変更の合計数
に適用することと、を備える、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１３】
前記命令が、別のアプリケーションを削除するための要求の受け付けについて、前記ＩＴリソースが前記よく使用されるリソースではないという決定に対して、前記別のアプリケーションによって利用される前記ＩＴリソースを削除することをさらに含む、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１４】
前記命令が、別のアプリケーションをサイズ変更するための要求の受け付けについて、
前記別のアプリケーションの完成度レベル及び使用頻度を決定することと、
前記配備されるアプリケーションの前記ＩＴリソースに基づいて１つ以上の構成を生成することであって、前記１つ以上の構成は前記完成度レベル及び前記使用頻度によって生成されことと、をさらに含む、請求項９に記載の非一時的なコンピュータ可読媒体。
【請求項１５】
前記命令が、１つ以上のアプリケーションの完成度レベルと、１つ以上の使用頻度と、１つ以上のタイムアウトとの間の関係性を格納することと、
前記１つ以上の構成の各々の配置に要する時間の計算と、前記サイズ変更されるアプリケーションの前記アプリケーションの完成度レベル、前記サイズ変更されるアプリケーションの前記使用頻度、及び前記１つ以上のアプリケーションの完成度レベルと前記１つ以上の使用頻度と前記１つ以上のタイムアウトとの間の前記関係性に基づいて、前記１つ以上の構成に対する前記タイムアウトの決定とによって、前記サイズ変更されるアプリケーションの前記ＩＴリソースに基づいて、１つ以上の構成を生成することと、をさらに含み、
前記決定されたタイムアウトを超過して前記配備に要する時間中、前記タイムアウトが超過しているという表示を提供し、
前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記サイズ変更されるアプリケーションの前記１つ以上の構成に対して指定された前記ＩＴリソースを割り振る、請求項９に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、情報技術（ＩＴ）システムに関し、より具体的には、適切なＩＴリソース上へのアプリケーションの配備に関する。
【背景技術】
【０００２】
関連技術の実装では、即時のホスト構成のための方法及び装置が存在する。そのような関連技術の実装では、ネットワークでアクセス可能なサービスのリソースインスタンスに対して構成可能な複数のインスタンスホストと、インスタンスホストのリモート構成を管理するための制御サーバとを含むシステムが存在する。そのような実装例では、選択された制御サーバは、クライアントからのインスタンス構成要求に応答して、1つ以上のコマンドのシーケンスを、選択されたインスタンスホストに伝送する。選択されたインスタンスホストは、リモートコマンド実行部をインスタンス化する。リモートコマンド実行部は、コマンドシーケンスに対応する構成の動作を開始して終結する。選択された制御サーバは、実行部によって開始された動作の結果の少なくとも部分的に基づいて、インスタンス構成要求への応答を提供する。そのような関連技術の実施例は、全ての目的のために、参照によりその全体が本明細書に組み込まれる米国特許公開第２０１４／０２０７９１８ Ａ１号に記載されている。
【発明の概要】
【課題を解決するための手段】
【０００３】
関連技術の実装は、ＩＴインフラストラクチャ及びリソースが配備されるときに、アプリケーションの完成度及びアプリケーションの使用頻度を考慮しない。本明細書に記載されている実装例は、ＩＴインフラストラクチャを管理し、かつそれらの上に、アプリケーションの完成度を考慮しながらアプリケーションを配備する管理プログラムを提供することを目的とする。さらにまた、実装例は、アプリケーションの完成度及び使用頻度を考慮してアプリケーションをサイズ変更するために、ＩＴリソースの構成を変更する管理プログラムを含む。
【０００４】
本開示の態様は、ＩＴリソースを管理するように構成された管理コンピュータを含み、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。管理コンピュータは、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ＩＴリソース上に配備されるアプリケーションを決定し、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定し、配備されるアプリケーションのＩＴリソースに基づいて１つ以上の構成を生成し、この１つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの１つ以上の構成に対して指定されたＩＴリソースを割り振り、配備されるアプリケーションを割り振られたＩＴリソース上に配備するように構成されたプロセッサを含むことができる。
【０００５】
本開示の態様は、情報技術（ＩＴ）リソースを管理するように構成された管理コンピュータの命令を格納する非一時的なコンピュータ可読媒体を含むことができ、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。この命令は、アプリケーション開発リポジトリ内のアプリケーションを配備する要求から、ＩＴリソース上に配備されるアプリケーションを決定することと、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定することと、配備されるアプリケーションのＩＴリソースに基づいて、１つ以上の構成を生成することを含むことができ、この１つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの１つ以上の構成に対して指定されたＩＴリソースを割り振ることと、配備されるアプリケーションを、割り振られたＩＴリソース上に配備することと、を含むことができる。
【０００６】
本開示の態様は、情報技術（ＩＴ）リソースを管理するように構成された管理コンピュータのための方法を含むことができ、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。本方法は、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ＩＴリソース上に配備されるアプリケーションを決定することと、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定することと、配備されるアプリケーションのＩＴリソースに基づいて、1つ以上の構成を生成することを含むことができ、この1つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの1つ以上の構成に対して指定されたＩＴリソースを割り振ることと、配備されるアプリケーションを割り振られたＩＴリソース上に配備することと、を含むことができる。
【図面の簡単な説明】
【０００７】
【図１Ａ】実施形態の本方法及び装置が適用され得るシステムの論理構成の一例を例示する。
【０００８】
【図１Ｂ】ＩＴインフラストラクチャの例示的な論理構成を例示する。
【０００９】
【図１Ｃ】第1の実施形態例のＩＴ環境の例示的な物理構成を例示する。
【００１０】
【図２】実装形態例に従って、管理コンピュータの構成を例示する。
【００１１】
【図３】実装形態例に従って、システムテンプレートを例示する。
【００１２】
【図４】実装形態例に従って、テンプレートのサイズ定義を例示する。
【００１３】
【図５】実装形態例に従って、物理ストレージテーブルを例示する。
【００１４】
【図６】実装形態例に従って、ストレージボリュームテーブルを例示する。
【００１５】
【図７】実装形態例に従って、物理サーバテーブルを例示する。
【００１６】
【図８】実装形態例に従って、仮想サーバテーブルを例示する。
【００１７】
【図９】実装形態例に従って、マッピングテーブルを例示する。
【００１８】
【図１０】実装形態例に従って、ストレージ性能テーブルを例示する。
【００１９】
【図１１】実装形態例に従って、サーバ性能テーブルを例示する。
【００２０】
【図１２】実装形態例に従って、リソースグループテーブルを例示する。
【００２１】
【図１３】実装形態例に従って、タイムアウト定義テーブルを例示する。
【００２２】
【図１４】実装形態例に従って、セルフサービスポータルのグラフィカルユーザインターフェース（ＧＵＩ）を例示する。
【００２３】
【図１５】実装形態例に従って、アプリケーションを配備するための管理プログラムのフローチャートを例示する。
【００２４】
【図１６】実装形態例に従って、アプリケーションの完成度を計算するための管理プログラムのフローチャートを例示する。
【００２５】
【図１７】実装形態例に従って、アプリケーションの完成度モデルを例示する。
【００２６】
【図１８】実装形態例に従って、構成のバリエーションを作成するための管理プログラムのフローチャートを例示する。
【００２７】
【図１９】実装形態例に従って、ＩＴリソースを準備するための管理プログラムのフローチャートを例示する。
【００２８】
【図２０】実装形態例に従って、ＩＴリソースを削除するための管理プログラムのフローチャートを例示する。
【００２９】
【図２１】第２の実施形態例に従って、管理コンピュータの構成を例示する。
【００３０】
【図２２】実装形態例に従って、リソースグループテーブルを例示する。
【００３１】
【図２３】実装形態例に従って、タイムアウト定義テーブルを例示する。
【００３２】
【図２４】実装形態例に従って、セルフサービスポータルのＧＵＩを例示する。
【００３３】
【図２５】実装形態例に従って、アプリケーションをサイズ変更するための管理プログラムのフローチャートを例示する。
【００３４】
【図２６】実装形態例に従って、構成のバリエーションを作成するための管理プログラムのフローチャートを例示する。
【発明を実施するための形態】
【００３５】
以下の詳細な説明は、本出願の図面及び実装形態例のさらなる詳細を提供する。図面間の冗長な要素の参照番号及び説明は、明確にするために省略されている。明細書全体にわたって使用されている用語は、例として提供されており、限定を意図するものではない。例えば、「自動」という用語の使用は、本出願の実装形態を履行する当業者の所望の実装形態に応じて、実装形態の特定の態様によるユーザまたは管理者の制御を含む完全自動または半自動の実装形態を含んでいてもよい。
【００３６】
第１の実施形態例
【００３７】
第１の実施形態例では、ＩＴインフラストラクチャを管理して、アプリケーションの完成度を考慮に入れながらインフラストラクチャ上にアプリケーションを配備するための管理プログラムが存在する。
【００３８】
図１Ａは、実施形態の方法及び装置が適用され得るシステムの論理構成の実施例を例示する。ＩＴ環境１０００は、管理プログラム１２００、アプリケーション配備リポジトリ１１００、セルフサービスポータル１３００、ＩＴインフラストラクチャ管理ＵＩ１４００、及びＩＴインフラストラクチャ１５００を含むことができる。アプリケーション開発者１０１０は、アプリケーションを開発し、アプリケーションの要素（例えば、ソースコード、構成ファイル、及び他のドキュメントまたは画像）をアプリケーション開発リポジトリ１１００に格納する。アプリケーション開発者１０１０及びアプリケーション管理者１０２０は、セルフサービスポータル１３００を介してＩＴ環境１０００にアクセスする。ＩＴインフラストラクチャ管理者１０３０は、ＩＴインフラストラクチャ管理ＵＩ１４００を介してＩＴ環境１０００にアクセスする。
【００３９】
図１Ｂは、ＩＴインフラストラクチャ１５００の論理構成例を示す。ＩＴインフラストラクチャ１５００は、１つ以上のサーバ及び／またはストレージアレイを含む。図１Ｂの実施例では、２つのサーバ（１５４０と１５５０）及び２つのストレージアレイ（１５１０と１５２０）が存在するが、本開示はそれに限定されず、かつ所望の実装形態によって任意の数のサーバ及びストレージアレイを含むことができる。アプリケーション１５４４、ＯＳ（オペレーティングシステム）１５４３及びＶＭ（仮想マシン）１５４２は、ハイパーバイザー１５４１上で実行される。ハイパーバイザー１５４１は、サーバ１５４０上で実行される。ＯＳ１５５４、ＶＭ１５５２、及びＶＭ１５５３は、ハイパーバイザー１５５１上で実行される。ハイパーバイザー１５５１は、サーバ上で実行される。アプリケーション１５４４は、ストレージアレイ１５１０のストレージボリューム１５１１及びストレージボリューム１５１２を使用する。ストレージアレイ１５２０のストレージボリューム１５２１は、ＶＭ１５５２及びＯＳ１５５４に割り振られるが、図１Ｂの実施例では、ＯＳ１５５４上のアプリケーションはボリュームを使用していない。ストレージアレイ１５２２のストレージボリューム１５２２は、ＶＭ１５５３に割り振られる。
【００４０】
図１Ｃは、第１の実施形態例のためのＩＴ環境の物理構成例を例示する。ＩＴ環境１０００は、管理コンピュータ２０００、サーバ３０００、ストレージアレイ４０００、管理ネットワーク５０００、及びデータネットワーク６０００を含む。サーバ３０００及びストレージアレイ４０００は、データネットワーク６０００を介して接続される。このネットワークはＬＡＮ（ローカルエリアネットワーク）であってもよいが、所望の実装形態に応じて他のネットワークもまた利用されてもよい。管理コンピュータ２０００、サーバ３０００、及びストレージアレイ４０００は、管理ネットワーク５０００を介して接続され、またＬＡＮまたは任意の他の所望のネットワークの実装形態としも実装され得る。この実施形態例では、管理ネットワーク５０００及びデータネットワーク６０００が分離されているが、それらは、所望の実装形態に応じて、単一の集束ネットワークで置き換えることができる。この実施形態例では、管理コンピュータ２０００及びサーバ３０００は分離されるが、所望の実装形態によって他の方法で実装され得る。例えば、任意のサーバが管理プログラムをホストすることができる。さらにまた、サーバ３０００及びストレージアレイ４０００は、この実施形態例では分離されているが、サーバ及びストレージアレイを１つのシステムに集束させることができ、または他の所望の実装形態を利用することもできる。
【００４１】
図２は、実装形態例に従って、管理コンピュータの構成を例示する。管理ネットワークインターフェース２１００は、管理コンピュータ２０００を管理ネットワーク５０００に接続するために利用されるインターフェースである。入力及び出力デバイス２３００は、モニター、キーボード、及びマウスなどのユーザインターフェースである。ローカルディスク２４００は、管理プログラム２４１０、システムテンプレート２４２０、及びアプリケーションの完成度モデル２４３０を含む。管理プログラム２４１０は、メモリ２５００にロードされ、１つ以上の物理的な中央処理装置（ＣＰＵ）の形態とすることができるプロセッサ２２００によって実施される。管理プログラム２４１０の手順の詳細は、本開示全体を通じて提供される。管理プログラム２４１０は、図１Ａの管理プログラム１２００のような同じエンティティであることができる。
【００４２】
システムテンプレート２４２０及びアプリケーションの完成度モデル２４３０は、メモリ２５００にロードされて管理プログラム２４１０によって使用される。これらのテンプレート及びモデルを以下に開示する。メモリ２５００は、ストレージアレイボリューム２５１０、ストレージボリュームテーブル２５２０、物理サーバテーブル２５３０、仮想サーバテーブル２５４０、マッピングテーブル２５５０、ストレージ性能テーブル２５６０、サーバ性能テーブル２５７０、リソースグループテーブル２５８０、及びタイムアウト定義テーブル２５９０を含み、これらのさらなる詳細は、本開示全体を通じて提供される。
【００４３】
実装形態例では、管理コンピュータ２０００は、サーバ３０００及びストレージアレイ／ストレージシステム４０００などのＩＴリソースを管理するように構成され、管理ネットワーク５０００を介してアプリケーション開発リポジトリ１１００に通信可能に連結され、管理ネットワーク５０００に接続されたデータベースの形態で実装され得る。
【００４４】
管理プログラム２４１０は、プロセッサ２２００内にロードされ得る命令の形態であってもよく、その結果、プロセッサ２２００は、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ＩＴリソース上に配備されるアプリケーションを決定し、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定し、配備されるアプリケーションのＩＴリソースに基づいて、１つ以上の構成を生成し、この１つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの１つ以上の構成に対して指定されたＩＴリソースを割り振り、図１５にさらなる詳細が説明されるように、配備されるアプリケーションを、割り振られたＩＴリソース上に配備するよう構成される。プロセッサ２２００は、例えば、図１８に説明されているように、ＩＴリソースからのストレージボリューム及び仮想ＶＭのうちの少なくとも1つの作成により配備されるアプリケーションの１つ以上の構成に対して指定されるＩＴリソースを割り振るように構成されている。
【００４５】
実装形態例では、リソースグループテーブル２５８０は、１つ以上のアプリケーションの完成度レベルに利用可能なＩＴリソースに関する情報を含み、１つ以上のアプリケーションの完成度レベルに利用可能なＩＴリソースに関する情報に基づいて配備されるアプリケーションの１つ以上の構成に対して指定されたＩＴリソースを割り振るために、プロセッサ２２００によって使用され得る。タイムアウト定義テーブル２５９０はまた、1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性を表す情報も含むことができ、プロセッサ２２００は、１つ以上の構成の各々の配備に要する時間の計算によって、配備されるアプリケーションのＩＴリソースに基づいて、１つ以上の構成を生成するように構成され、配備されるアプリケーションの、アプリケーションの完成度及び１つ以上のアプリケーションの完成度レベルと１つ以上のタイムアウトとの間の関係性に基づいて、１つ以上の構成に対するタイムアウトの決定も含む。
決定されたタイムアウトを超過して配備に要する時間中、プロセッサ２２００は、タイムアウトが超過しているという表示を提供するように構成され、プロセッサ２２００は、図１３及び１５に説明されているように、配備に要する時間が決定されたタイムアウトを超過していないとき、配備されるアプリケーションの１つ以上の構成に対して指定されるＩＴリソースを割り振るように構成されている。
【００４６】
実装形態例では、例えば、図１６及び１７に説明されているように、プロセッサ２２００は、アプリケーション開発リポジトリから情報を検索することによって、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定するように構成され、アプリケーション開発リポジトリからの情報は配備されるアプリケーションの１つ以上のアプリケーションログと、アプリケーションが配備される期間を通してなされた変更及びアプリケーションが配備される期間中の変更の合計数を計算することと、１つ以上の完成度モデルを、アプリケーションが配備される期間を通してなされた変更及びアプリケーションが配備される期間中の変更の合計数に適用することと、を備える。
【００４７】
実装形態例では、プロセッサ２２００は、例えば、図１９に説明されているように、１つ以上のシステムテンプレートの使用を介してＩＴリソースを割り振るように構成され、プロセッサ２２００は、１つ以上のシステムテンプレートに基づいて１つ以上の構成を作成し、１つ以上の構成にわたってＩＴリソースからよく使用されるリソースを特定し、よく使用されるリソースをＩＴリソースから作成するように構成されている。
【００４８】
別のアプリケーションを削除するための要求を受け付ける実装形態例では、プロセッサ２２００は、例えば、図２０に説明されているように、ＩＴリソースがよく使用されるリソースではないという決定に対して、別のアプリケーションによって利用されるＩＴリソースを削除するように構成されている。
【００４９】
別のアプリケーションをサイズ変更するための要求を受け付ける実装形態例では、例えば、図２４及び図２５に説明されているように、プロセッサは、別のアプリケーションの完成度レベル及び使用頻度を決定し、配備されるアプリケーションのＩＴリソースに基づいて１つ以上の構成を生成するように構成され、この１つ以上の構成は完成度レベル及び使用頻度によって生成される。
【００５０】
図３は、実装形態例に従って、システムテンプレート２４２０を例示する。これらのテンプレートは、ローカルディスク２４００からメモリ２５００にロードされ、管理コンピュータ２０００の使用されるプロセッサ２２００。アプリケーション開発者１０１０は、アプリケーションを作成し、かつこのアプリケーションを、セルフサービスポータル１３００を介してシステムテンプレートを選択することによりＩＴインフラストラクチャ１５００上に配備する。
【００５１】
具体的には、図３は、「モバイルアプリテンプレート＃１」と名付けられたシステムテンプレートの例を示す。このテンプレートは、一組の構成要素が配備されていることを示す配備ターゲット２４２１を有する。このテンプレートの配備ターゲット２４２１は、アプリケーション２４２２、及びアプリケーションサーバ２４２３、及びＮｏＳＱＬ  ＤＢ（データベース）２４２４を含む。このテンプレートを使用することによって作成されたシステムは、モバイルデバイス２４２５上のウェブブラウザを含むことができるが、そのようなウェブブラウザは配備されていない。この例示的なテンプレートはまた、サイズ定義２４２６も有する。
【００５２】
図４は、実装形態例に従って、テンプレートのサイズ定義２４２６を例示する。サイズ定義は、配備されるシステムのサイズの利用可能なオプションを説明する。つまり、図４は、「モバイルアプリテンプレート＃１」と名付けられたシステムテンプレートのサイズ定義の実施例を示す。実装形態例では、このシステムに対して小サイズまたは中サイズが選択され得る。
【００５３】
図５は、実装形態例に従って、物理ストレージテーブル２５１０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５１１は、ストレージアレイのＩＤを示す。列２５１２は、ストレージアレイのプロセッサを示す。列２５１３は、ストレージアレイのポートを示す。列２５１４は、ストレージアレイのキャッシュリソースを示す。列２５１５は、ストレージアレイのリソースのプール（通常は容量）を示す。各行（２５１Ａ、２５１Ｂ、２５１Ｃ、２５１Ｄ）は、各物理ストレージアレイの構成を示す。例えば、行２５１Ａ及び２５１Ｂは、ストレージアレイ０１の構成を示す。ストレージアレイは、各々８個のコアを備えた２つのプロセッサ、ポートＡ、Ｂ、Ｃ、及びＤの８Ｇｂｐｓ、キャッシュＣ−０１の１６０ＧＢ及びキャッシュＣ−０２の１２８ＧＢ、プールＰｏｏｌ−０１及びＰｏｏｌ−０２の３００ＴＢ、及びプールＰｏｏｌ−０３及びＰｏｏｌ−０４の５００ＴＢを有する。
【００５４】
図６は、実装形態例に従って、ストレージボリュームテーブル２５２０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５２１は、ストレージボリュームを所有するストレージアレイのＩＤを示す。列２５２２は、ストレージボリュームのＩＤを示す。列２５２３は、各ストレージボリューム容量を示す。列２５２４は、ストレージボリュームが湾曲しているプールのＩＤを示す。列２５２５は、各ボリュームが特定のユーザまたは特定のシステムのために予約されているか否かを表すフラグを示す。列２５２６は、ストレージボリュームのメディアタイプを示す。
【００５５】
各行（２５２Ａ、２５２Ｂ、２５２Ｃ、２５２Ｄ、２５２Ｅ）は、各ストレージボリュームの構成を示す。例えば、行２５２Ａは、ストレージアレイ０１のストレージボリューム０１の構成を示す。このストレージボリュームは、１０ＴＢの容量を有し、Ｐｏｏｌ−０１から湾曲し、特定のユーザまたは特定のシステムのために予約され、そのメディアタイプは半導体ドライブ（ＳＳＤ）である。
【００５６】
図７は、実装形態例に従って、物理サーバテーブル２５３０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５３１は、物理サーバのＩＤを示す。列２５３２は、各物理サーバのＣＰＵのコアの数及びタイプを示す。列２５３３は、各物理サーバのメモリリソースの容量を示す。列２５３４は、各物理サーバのポートを示す。
【００５７】
各行（２５３Ａ、２５３Ｂ、２５３Ｃ、２５３Ｄ）は、各物理サーバの構成を示す。例えば、行２５３Ａは、物理サーバ０１の構成を示す。物理サーバは、正常なＣＰＵの１２個のコア、３２ＧＢのメモリ、及び４ＧｂｐｓのポートＡ及びＢを有する。
【００５８】
図８は、実装形態例に従って、仮想サーバテーブル２５４０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５４１は、仮想サーバのＩＤを示す。列２５４２は、仮想サーバが動作している物理サーバのＩＤを示す。列２５４３は、各仮想サーバに割り当てられたＣＰＵコアの数を示す。列２５４４は、各仮想サーバに割り当てられたメモリリソースの容量を示す。列２５４５は、各仮想サーバに割り当てられたポートを示す。列２５４６は、各仮想サーバが特定のユーザまたは特定にシステムのために予約されているか否かを表すフラグを示す。列２５４７は、各仮想サーバに割り振られた記憶容量を示す。
【００５９】
各行（２５４Ａ、２５４Ｂ、２５４Ｃ、２５４Ｄ）は、各仮想サーバの構成を示す。例えば、行２５４Ａは、仮想サーバ０１の構成を示す。この仮想サーバは、物理サーバ０１でホストされ、２つのＣＰＵコア、４ＧＢのメモリ及び４ＧｂｐｓのポートＡ、５００ＧＢの記憶容量を有し、かつ特定のユーザまたは特定のシステムのために予約されている。
【００６０】
図９は、実装形態例に従って、マッピングテーブル２５５０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５５１は、アプリケーションのＩＤを示す。列２５５２は、アプリケーション名を示す。この名前は、アプリケーション開発者１０１０によってセルフサービスポータル１６００のＧＵＩ  １６００−Ａのアプリケーション名フィールド１６２０−Ａで指定されている。
【００６１】
列２５５３は、テンプレートのＩＤを示す。テンプレートのこのＩＤは、アプリケーション開発者によってセルフサービスポータルのＧＵＩ  １６００−Ａのテンプレートドロップダウンリスト１６３０−Ａで指定されている。列２５５４は、アプリケーションが動作している仮想サーバのＩＤを示す。列２５５５は、仮想サーバ名を示す。この実装形態例では、これらの名前は管理プログラムによるアプリケーション名に基づいて自動的に作成されるが、所望の実装形態に応じて他の実装が可能である。例えば、アプリケーション管理者が各仮想サーバ名を指定することができる。列２５５６は、仮想サーバのポートのＩＤを示す。列２５５７は、ストレージアレイのＩＤを示す。列２５５８は、ストレージアレイのポートのＩＤを示す。列２５５９は、ストレージボリュームのＩＤを示す。
【００６２】
各行（２５５Ａ、２５５Ｂ、２５５Ｃ、２５５Ｄ、２５５Ｅ、２５５Ｆ、２５５Ｇ）は、アプリケーションとストレージボリュームとの間のエンドツーエンドのマッピングを示す。例えば、行２５５Ｂは、アプリケーション２が「Ｗｅｂ−Ｃ」という名前を有し、テンプレート４から作成され、「ＷｅｂＤＢ」という名前の仮想サーバ０３上で動作し、さらに２つのストレージボリューム０５２及び０５５がアプリケーションの仮想サーバ０３に割り当てられていることを示す。ストレージアレイ０２のストレージボリューム０５２は、ストレージアレイのポートＢ及び仮想サーバポートＡを介して仮想サーバ０３に割り当てられる。ストレージアレイ０１のストレージボリューム０５５は、ストレージアレイのポートＡ及び仮想サーバポートＡを介して仮想サーバ０３に割り当てられる。
【００６３】
図１０は、実装形態例に従って、ストレージ性能テーブル２５６０を例示する。このテーブルは管理プログラム２４１０によってメモリ２５００内に作成される。列２５６１は、ストレージアレイのＩＤを示す。列２５６２は、ストレージボリュームのＩＤを示す。列２５６３は、ストレージボリュームの性能データの履歴のＩＤを示す。タイムスタンプが履歴ＩＤ２５６３として使用され得る。列２５６４は、プロセッサの使用率を示す。列２５６５は、ストレージボリュームに割り当てられたキャッシュリソースの使用率を示す。列２５６６は、ストレージボリュームが湾曲しているプールの使用率を示す。列２５６７は、ストレージボリュームに割り当てられたポートの使用率を示す。各行（２５６Ａ、２５６Ｂ）は、各ストレージボリュームの性能データの履歴を示す。例えば、列２５６Ａは、履歴データのうちの少なくとも３つの記録（０〜２）を有するストレージアレイ０１のストレージボリューム０１の性能データを示す。
【００６４】
図１１は、実装形態例に従って、サーバ性能テーブル２５７０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５７１は、物理及び／または仮想サーバのＩＤを示す。列２５７２は、サーバが物理サーバであるか否かを表すフラグを示す。値が「はい」の場合は、そのサーバは物理サーバである。値が「いいえ」の場合は、そのサーバは仮想サーバである。列２５７３は、サーバの性能データの履歴のＩＤを示す。タイムスタンプが履歴ＩＤ２５７３として使用され得る。列２５７４は、サーバのＣＰＵの使用率を示す。列２５７５は、サーバのメモリリソースの使用率を示す。列２５７６は、サーバのディスクの使用率を示す。列２５７７は、サーバのポートの使用率を示す。
【００６５】
各行は、各サーバの性能データの履歴を示す。例えば、行２５７Ａは、物理サーバであり、少なくとも３つの履歴データ（０〜２）を有するサーバ０１の性能データを示す。
【００６６】
図１２は、実装形態例に従って、リソースグループテーブル２５８０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５８１は、リソースのタイプを示す。列２５８２は、リソースのＩＤを示す。列２５８３は、対応するアプリケーションの完成度を示す。
【００６７】
各行（２５８Ａ、２５８Ｂ、２５８Ｃ、２５８Ｄ、２５８Ｅ、２５８Ｆ、２５８Ｇ）は、完成度の定義に割り当てられたリソースを示す。例えば、行２５８Ａは、ストレージアレイ０１が「高い」完成度に割り当てられていることを示す。これは、ストレージアレイ０１が高い完成度を有するアプリケーションにのみ使用され得ることを意味する。図１２に示すリソースグループテーブルの実施例は、ストレージアレイ及び物理サーバのみを含むが、このテーブルは所望の実装形態に応じて他のタイプのリソースを含んでいてもよい。
【００６８】
図１３は、実装形態例に従って、タイムアウト定義テーブル２５９０を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５９１は、アプリケーションの完成度レベルを示す。列２５９２は、アプリケーションの配備プロセス中に構成のバリエーションを作成するためのタイムアウトを示す。各行（２５９Ａ、２５９Ｂ）は、各完成度に定義されたタイムアウト値を示す。例えば、行２５９Ａは、低い完成度のアプリケーションに定義された６０秒のタイムアウト値を示す。タイムアウト値は、他の方法で表示され得る。例えば、タイムアウトは、作成される構成のバリエーションの数として、または所望の実装形態による他の方法として表示され得る。
【００６９】
図１４は、実装形態例に従って、セルフサービスポータル１６００のＧＵＩ  １６００−Ａを例示する。このＧＵＩは、アプリケーション開発者１０１０がアプリケーションを配備するときに使用される。アプリケーション開発者は、アプリケーション１６１０−Ａ、システムテンプレート１６３０−Ａ及びサイズ１６４０−Ａを選択し、かつアプリケーション名１６２０−Ａを入力する。アプリケーションフィールド１６１０−Ａに示すＩＤは、アプリケーション開発リポジトリ１１００内のアプリケーションのＩＤである。
【００７０】
配備ボタン１６５０−Ａがクリックされると、管理プログラム２４１０は、指定されたシステムテンプレートを使用することにより、指定されたアプリケーションを配備する。取り消しボタン１６６０−Ａがクリックされると、管理プログラム２４１０はアプリケーションの配備プロセスを取り消す。
【００７１】
図１５は、実装形態例に従って、アプリケーションを配備するための管理プログラム２４１０のフローチャートを示す。このフローは、手順が開始される１００１０で始まる。１００２０において、管理プログラム２４１０はアプリケーションを配備するための要求をセルフサービスポータル１６００から受け付ける。図１４に示すパラメータは管理プログラム２４１０に渡される。１００３０において、管理プログラム２４１０は、以下でさらに詳細に開示される「アプリケーションの完成度の計算」のサブシーケンスを呼び出す。１００４０において、管理プログラム２４１０は、以下でさらに詳細に開示される「構成のバリエーションの作成」のサブシーケンスを呼び出す。１００５０において、１００４０のフローで作成された各構成のバリエーションについて、管理プログラム２４１０は、作成されなければならないリソースを特定して、作成に要する時間（「ｔ１」と呼ばれる）を推定する。例えば、構成のバリエーションが４つのＣＰＵコア、８１９２ＧＢのＲＡＭと５００ＧＢのＨＤＤ、及び４ＴＢのＳＳＤストレージボリュームを有するＶＭを含むことができ、要件を満たすストレージボリュームが存在する場合、次に管理プログラム１４１０はＶＭのみが作成されなければならないと判断する。管理プログラム１４１０は、図６のストレージボリュームテーブル２５２０または図８の仮想サーバテーブル２５１０を参照することによって、そのようなストレージボリュームまたはＶＭが存在するか否かを判断することができる。つまり、管理プログラム２４１０は、４ＴＢの容量、予約したフラグの０値及びＳＳＤメディアタイプを有するストレージボリュームがストレージボリュームテーブル２５２０内に存在するか否かを確認する。行２５２Ｄに示すストレージボリュームは要件と一致するので、管理プログラム２４１０はその容量が使用できると判断する。管理プログラム２４１０はまた、４つのＣＰＵコア、８１９２ＧＢのＲＡＭ、５００ＧＢのＨＤＤ及び０値の予約されたフラグを有するＶＭが、図８の仮想サーバテーブル２５４０内に存在するか否かを確認する。図８の仮想サーバテーブル２５４０には要件を満たすＶＭを有していないので、管理プログラム２４１０は、ＶＭが作成されなければならないと判断する。管理プログラム２４１０は、所定の作成時間（例えば、１ＶＭの作成に５分かかる）または以前に行われた平均作成時間に基づいて、ｔ１を推定することができる。上記の実施例では、管理プログラム２４１０は、例えば、ｔ１を５分と推定することができる。
【００７２】
１００６０において、管理プログラム２４１０は、指定されたシステムテンプレートに定義された構成要素全てを配置するのに要する時間を推定する。その時間は「ｔ２」と呼ばれる。管理プログラム２４１０は、所定の配備時間（例えば、アプリケーションサーバの配備は１分かかる）または以前に行われた平均配備時間に基づいて、ｔ２を推定することができる。１００７０において、管理プログラム２４１０は、ｔ１ ＋ｔ２が所定のタイムアウトよりも短い構成のバリエーションが存在するか否かを判断する。その結果が「いいえ」の場合、次にプロセスは１００８０のフローに進む。その結果が「はい」の場合、次にプロセスは１００９０のフローに進む。
【００７３】
１００８０において、管理プログラム２４１０は、構成のバリエーション及び合計時間（すなわち、ｔ１＋ｔ２）をユーザに通知して、彼らに構成のバリエーションを１つ選択させる。１００９０において、管理プログラム２４１０は、構成のバリエーションに基づいてＩＴリソースを作成して、アプリケーションを配備する。管理プログラム２４１０は、ストレージアレイテーブル２５１０、ストレージボリュームテーブル２５２０、物理サーバテーブル２５３０、仮想サーバテーブル２５４０、及びマッピングテーブル２５５０内のアプリケーションからＩＴリソースまでのマッピング情報で作成されたＩＴリソースの記録を作成する。１０１００において、管理プログラム２４１０は、アプリケーションの配備プロセスを修了する。
【００７４】
図１６は、実装形態例に従って、アプリケーションの完成度を計算するための管理プログラム２４１０のフローチャートを例示する。手順が開始されると、フローが１１０１０で始まる。１１０２０において、管理プログラム２４１０は、アプリケーション開発リポジトリ１１００からログを検索する。このログは、ファイル（例えば、ソースコード、バイナリまたは構成ファイル）をリポジトリにコミットするログ、アプリケーションのＩＤ及び各コミットのタイムスタンプを含むことができる。１１０３０において、管理プログラム２４１０は、１日当たりの変更数及び１日当たりの全変更量を計算する。前者はコミットの数に基づいて計算され、後者はソースコードの変更された行の数に基づいて計算される。１１０４０において、管理プログラム２４１０は、計算された１日当たりの変更数と、１日当たりの全変更量を比較することによって、アプリケーションの完成度をアプリケーションの完成度モデルで推定する。１１０５０において、管理プログラム２４１０は、アプリケーションの完成度が高いか低いかを判断する。これは、１１０４０のフローで推定された完成度を所定の閾値と比較することによって行われ得る。１１０６０において、管理プログラム２４１０はプロセスを修了する。
【００７５】
図１７は、実装形態例に従って、アプリケーションの完成度モデルを例示する。アプリケーションの完成度モデルの２つの実施例が図１７にある。各モデルは、１日当たりの変更数及び１日当たりの全変更量の組み合わせと、アプリケーションの完成度レベルとの間の関係性を示す。
【００７６】
図１８は、実装形態例に従って、構成のバリエーションを作成するための管理プログラム２４１０のフローチャートを例示する。手順が始まると、フローが１２０１０で開始される。１２０２０において、管理プログラム２４１０は指定されたサイズのサイズ定義を取得する。１２０３０において、管理プログラム２４１０はリソースグループテーブル２５８０を参照することにより、アプリケーションの完成度に基づいて、利用可能なリソースを特定する。図１２に示すリソースグループテーブル２５８０の実施例に基づいて、アプリケーションの完成度が高い場合、その結果ストレージアレイ０１、０２及び０３、及び物理サーバ０２及び０３が利用可能となる。管理プログラム２４１０は、ストレージアレイテーブル２５１０及びストレージボリュームテーブル２５２０から、利用可能なストレージアレイ及びこれらのストレージアレイによって保持されたストレージボリュームの詳細と、物理サーバテーブル２５３０及び仮想サーバテーブル２５４０から、利用可能な物理サーバ及びこれらの物理サーバ上で動作している仮想サーバの詳細とを取得することができる。
【００７７】
１２０４０において、管理プログラム２４１０はアプリケーションの完成度によって、
タイムアウト定義テーブル２５９０からタイムアウト値を取得する。図１３に示すタイ
ムアウト定義テーブル２５９０の実施例に基づいて、アプリケーションの完成度が高い
場合、その結果タイムアウト値は１２０秒に構成される。１２０５０において、管理プログラム２４１０はタイムアウト内で指定されたサイズに必要なリソース全てをセットアップするために構成のバリエーションを作成する。管理プログラム２４１０は、サーバ及びストレージアレイの性能情報に基づいて構成のバリエーションを作成して、各サーバ及びストレージアレイの負担のバランスを取ることができる。管理プログラム２４１０は、記憶メディアのタイプまたはサーバあるいはストレージアレイの容量に基づいて構成のバリエーションを作成してもよい。
【００７８】
例えば、管理プログラム２４１０は、図１０のストレージ性能テーブル２５６０から
最低平均プロセッサの使用量を有する１つ以上のストレージアレイ、及び図１１のサーバ性能テーブル２５７０から最低平均ＣＰＵの使用量を有する１つ以上の物理サーバを取り上げる。
【００７９】
管理プログラム２４１０は、ストレージアレイ０１及び０２と、物理サーバ０１を取得すると仮定する。次いで、管理プログラム２４１０は、１つ以上のプロセッサ、キャッシュ、平均使用量に基づいて選択されたストレージアレイ（上記の実施例では０１及び０２）のプール及びポートを取得する。管理プログラム２４１０は、プロセッサ、キャッシュ、選択されたストレージアレイ及び選択された物理サーバのプール及びポートの組み合わせ全てに基づいて、構成のバリエーションを作成する。
【００８０】
構成のバリエーション例は、以下のようなものであってもよい。
・構成のバリエーション＃１
物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＡを介してストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリュームに接続され、かつプロセッサＰ−０２は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０１から湾曲し、かつキャッシュＣ−０１はストレージボリュームに割り振られる。
・構成のバリエーション＃２
物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＣを介してストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリュームに接続され、かつプロセッサＰ−０３は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０２から湾曲し、かつキャッシュＣ−０２はストレージボリュームに割り振られる。
・構成のバリエーション＃３
物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＢを介してストレージアレイ０２の（１００ＧＢの容量を備えた）ストレージボリュームへの接続。かつプロセッサＰ−０１は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０１から湾曲し、かつキャッシュＣ−０１はストレージボリュームに割り振られる。
【００８１】
１２０６０において、管理プログラム２４１０はプロセスを終了する。
【００８２】
図１９は、実装形態例に従って、ＩＴリソースを準備するための管理プログラム
２４１０のフローチャートを例示する。このプロセスは、図１５のアプリケーションの
シーケンスを配備することとは無関係に、かつ並行して実行され得る。フローは１３１
０において開始され、手順が始まる。１３０２０において、管理プログラム２４１０は
システムテンプレート全てを読み出す。１３０３０において、管理プログラム２４１０
は管理プログラム２４１０によって確認されていないシステムテンプレートが残って
いるか否かを判断する。その結果が「はい」の場合、次にプロセスは１３０４０のフロ
ーに進む。その結果が「いいえ」の場合、次にプロセスは１３０８０のフローに進む。
【００８３】
１３０４０において、管理プログラム２４１０は未確認のシステムテンプレートを選択して、確認したときに印を付ける。１３０５０において、システムテンプレートに定義された各サイズについて、管理プログラム２４１０は構成のバリエーションを作成するサブシーケンスを呼び出す。このフローでは、管理プログラム２４１０はアプリケーションの完成度が低いと仮定する。１３０６０において、システムテンプレートに定義された各サイズについて、管理プログラム２４１０は構成のバリエーションを作成するサブシーケンスを呼び出す。このフローでは、管理プログラム２４１０はアプリケーションの完成度が高いと仮定する。１３０７０において、各構成のバリエーションについて、管理プログラム２４１０は作成されなければならないリソースを特定して作成に要する時間（ｔ１）を推定する。作成されなければならないリソースを特定し、かつｔ１を推定するための方法は、図１５の１００５０におけるフローと同じである。
【００８４】
１３０８０において、管理プログラム２４１０は構成のバリエーション全ての結合を計算して、よく使用されるリソースを特定する。管理プログラム２４１０は、リソースが所定の数よりも多いバリエーションに出現する場合、リソースがよく使用されると判定することができる。管理プログラム２４１０は、アプリケーション開発リポジトリ１１００に格納されているアプリケーション全ての完成度に基づいて、リソースの出現回数を重み付けすることができる。低い完成度のアプリケーションが１０個、高い完成度のアプリケーションが５個ある場合、次に管理プログラム２４１０は、１３０５０のフローで作成された構成のバリエーションに出現するリソースの数を２倍にカウントすることができる。
【００８５】
構成のバリエーション例は、以下のようなものであってもよい。
・構成のバリエーション＃１
物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＡを介してストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリュームに接続され、かつプロセッサＰ−０２は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０１から湾曲し、かつキャッシュＣ−０１はストレージボリュームに割り振られる。
・構成のバリエーション＃２
物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＣを介してストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリュームに接続され、かつプロセッサＰ−０３は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０２から湾曲し、かつキャッシュＣ−０２はストレージボリュームに割り振られる。
・構成のバリエーション＃３
物理サーバ０１上の（２ＣＰＵコア及び４０９６ＧＢ  ＲＡＭを備えた）ＶＭは、ポートＢを介してストレージアレイ０２の（２００ＧＢの容量を備えた）ストレージボリュームへの接続。かつプロセッサＰ−０１は、ＶＭからストレージボリュームへのＩ／Ｏを制御する。ストレージボリュームはＰｏｏｌ−０１から湾曲し、かつキャッシュＣ−０１はストレージボリュームに割り振られる。
【００８６】
上記の例によれば、管理プログラム２４１０は、所定の出現の数が２である場合、よく使用されるリソースとして「物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭ」及び「ストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリューム」を決定してもよい。
【００８７】
１３０９０において、よく使用される各リソースについて、管理プログラム２４１０はｔ１が所定の値よりも大きい場合、リソースを作成して、作成されたリソースの予約されたフラグを０に構成する。これは、作成されたリソースが特定のユーザまたは特定のシステム用に予約されていないため、あらゆるユーザが作成されたリソースを使用することができることを表す。作成されたリソースがユーザによって使用されるようになると、予約されたフラグは１に構成される必要がある。１３１００において、管理プログラム２４１０はプロセスを終了する。
【００８８】
図２０は、実装形態例に従って、ＩＴリソースを削除するための管理プログラム２４１０のフローチャートを例示する。セルフサービスポータル１３００は、アプリケーション及び基礎となるＩＴリソースを削除するためのＧＵＩを有することができる。フローは１４０１０で開始され、手順が始まる。１４０２０において、管理プログラム２４１０はアプリケーションを削除するための要求をセルフサービスポータル１３００から受け付ける。１４０３０において、管理プログラム２４１０は指定されたアプリケーション及びアプリケーションを配備するために使用されるシステムテンプレート内に含まれる構成要素全てを削除する。１４０４０において、管理プログラム２４１０は指定されたアプリケーションに使用されるリソース全て及びシステムテンプレート内に含まれる構成要素全てをリストアップする。このプロセスは、マッピングテーブル２５５０を参照することによって行われる。図９の行２５５Ｂに示すアプリケーションが削除指定されている場合、管理プログラム２４１０は指定されたアプリケーションに使用されるリソースとして、仮想サーバポートＡ、ストレージアレイ０２のストレージポートＢ、ストレージアレイ０１のストレージポートＡ、ストレージアレイ０２のストレージボリューム０５２及びストレージアレイ０１のストレージボリューム０５５をリストアップする。
【００８９】
１４０５０において、管理プログラム２４１０は未確認のリソースが残っているか否かを判断する。その結果が「はい」の場合、次にプロセスは１４０６０のフローに進む。その結果が「いいえ」の場合、次にプロセスは１４０９０のフローに進む。
【００９０】
１４０６０において、管理プログラム２４１０は未確認のリソースを選択して確認したときに印を付ける。１４０７０において、管理プログラム２４１０はそのリソースがよく使用されるか否かを判断する。このプロセスは、１４０４０のフローでリスト化されたリソースの情報を図１９の１３０８０のフローで決定されたよく使用されるリソースの情報と比較することによって行われ得る。１４０４０のフローでリスト化されたリソースは、ストレージアレイテーブル２５１０、ストレージボリュームテーブル２５２０、物理サーバテーブル２５３０、及び仮想サーバテーブル２５４０から取得されてもよい。
【００９１】
例えば、管理プログラム２４１０が「物理サーバ０１上の（１ＣＰＵコア及び２０４８ＧＢ  ＲＡＭを備えた）ＶＭ」及び「ストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリューム」を、図１９の１３０８０におけるフローでよく使用されるリソースとして決定し、かつステップ１４０４０でリストアップされたリソースが、ストレージアレイ０１の（１００ＧＢの容量を備えた）ストレージボリュームを含む場合、管理プログラム２４１０はそのストレージボリュームがよく使用されると判断する。
【００９２】
その結果が「はい」の場合、次にプロセスは１４０５０のフローに進む。その結果が「いいえ」の場合、次にプロセスは１４０８０のフローに進む。１４０８０において、管理プログラム２４１０はリソースを削除する。１４０９０において、管理プログラム２４１０はプロセスを終了する。
【００９３】
この第１の実施形態例では、管理プログラムはＩＴリソースを作成して、アプリケーションを、そのアプリケーションの完成度レベルに基づいてＩＴリソース上に配備する。管理プログラムはまた、よく使用されるＩＴリソースを準備して、さらにあまり使用されないリソースのみを削除する。このような実装形態によって、管理プログラムは、アプリケーションをアジャイル手法で適切なＩＴリソース上に配備することができる。
【００９４】
第２の実施形態例では、管理プログラムは、アプリケーションの完成度及び使用頻度を考慮に入れながらアプリケーションのサイズを変更するために、ＩＴリソースの構成を変更する。
【００９５】
図２１は、第２の実施形態例に従って、管理コンピュータ２０００’の構成を例示する。管理コンピュータ２０００’の構成は、図２の管理コンピュータ２０００の構成に類似しているが、以下に示す差異がある。
【００９６】
管理コンピュータ２０００’は、第１の実施形態例からのリソースグループテーブル２５８０とは異なる構造を有するリソースグループテーブル２５８０’、及び第１の実施形態例のタイムアウト定義テーブル２５９０とは異なる構造を有するタイムアウト定義テーブル２５９０’を有する。管理コンピュータ２０００’は、アプリケーションをサイズ変更するために、アプリケーションの使用量の監視及びＩＴリソースの構成の変更を含む追加機能を有する管理プログラム２４１０’を有する。アプリケーションの使用量の監視については、既存の技術が使用可能である。
【００９７】
例示的な実装形態では、１つ以上のアプリケーションの完成度レベルと、１つ以上の使用頻度と、１つ以上のタイムアウトとの関係性は、タイムアウト定義テーブル２５９０’で概要が説明されており、プロセッサ２２００は、１つ以上の構成の各々の配備に要する時間の計算によって、配備されるまたはサイズ変更されるアプリケーションに対するＩＴリソースに基づく１つ以上の構成、及び配備されるまたはサイズ変更されるアプリケーションの、アプリケーションの完成度レベル、配備されるまたはサイズ変更されるアプリケーションの１つ以上の使用頻度、及び１つ以上のアプリケーションの完成度レベルと１つ以上のタイムアウトとの間の関係性に基づく１つ以上の構成に対するタイムアウトの決定を生成するように構成されている。決定されたタイムアウトを超過して配備に要する時間中、プロセッサ２２００は、タイムアウトが超過しているという表示を提供するように構成され、プロセッサ２２００は、配備に要する時間が以下に説明するように決定されたタイムアウトを超過していないとき、配備されるまたはサイズ変更されるアプリケーションの１つ以上の構成に対して指定されたＩＴリソースを割り振るように構成されている。
【００９８】
図２２は、実装形態例に従って、リソースグループテーブル２５８０’を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５８１’はリソースタイプを示す。列２５８２’は、リソースのＩＤを示す。列２５８３’は、対応するアプリケーションの完成度を示す。列２５８４’は、対応するアプリケーションの使用頻度を示す。
【００９９】
各行（２５８Ａ’、２５８Ｂ’、２５８Ｃ’、２５８Ｄ’、２５８Ｅ’、２５８Ｆ’、２５８Ｇ’）は、完成度の定義及び使用頻度に割り当てられたリソースを示す。例えば、行２５８Ａ’は、ストレージアレイ０１が「高い」完成度及び「高い」使用頻度に割り当てられていることを示す。これは、ストレージアレイ０１が高い完成度及び高い使用頻度を有するアプリケーションにのみ使用され得ることを意味する。図２２に示すリソースグループテーブルの実施例は、ストレージアレイ及び物理サーバのみを含むが、このテーブルは、所望の実装形態に応じて他のタイプのリソースを含んでいてもよい。
【０１００】
図２３は、実装形態例に従って、タイムアウト定義テーブル２５９０’を例示する。このテーブルは、管理プログラム２４１０によってメモリ２５００内に作成される。列２５９１’は、アプリケーションの完成度レベルを示す。列２５９２’は、アプリケーションの使用頻度を示す。列２５９３’は、アプリケーションの配備プロセス中に構成のバリエーションを作成するためのタイムアウトを示す。各行（２５９Ａ’、２５９Ｂ’、２５９Ｃ’、２５９Ｄ’）は、各組の完成度レベル及び使用頻度に定義されているタイムアウト値を示す。例えば、行２５９Ａ’は、低い完成度及び低い使用頻度を有するアプリケーションに定義された６０秒のタイムアウト値を示す。このタイムアウト値は、所望の実装形態に応じて、他の方法で表示され得る。これらは、作成される構成のバリエーションの数として表示され得る。
【０１０１】
図２４は、実装形態例に従って、セルフサービスポータル１６００のＧＵＩ１６００−Ｂを例示する。このＧＵＩは、アプリケーション開発者１０１０またはアプリケーション管理者１０２０がアプリケーションのサイズを変更したときに使用される。アプリケーション開発者またはアプリケーション管理者は、アプリケーションリスト１６１０−Ｂからアプリケーションを選択する。選択されたアプリケーションの配備に使用されるＩＤ、名前、テンプレート及びサイズを１６２０−Ｂ、１６３０−Ｂ、１６４０−Ｂ及び１６５０−Ｂでそれぞれ示す。アプリケーション開発者またはアプリケーション管理者は、新たなサイズをドロップダウンリスト１６５０−Ｂから選択する。図２４は、「モバイルアプリＡ」という名前のアプリケーションが選択されてそのサイズが「小」から「中」に変更されている場合の実施例を示す。配備ボタン１６６０−Ｂがクリックされると、管理プログラム２４１０’は指定されたアプリケーションのサイズ変更をする。取り消しボタン１６７０−Ｂがクリックされると、管理プログラム２４１０’はアプリケーションのサイズ変更プロセスを取り消す。
【０１０２】
図２５は、実装形態例に従って、アプリケーションをサイズ変更するための管理プログラム２４１０’のフローチャートを例示する。このフローは、２００１０で開始されて、手順が始まる。２００２０において、管理プログラム２４１０’はアプリケーションをサイズ変更するための要求をセルフサービスポータル１６００から受け付ける。図２４に示すパラメータが管理プログラム２４１０’に渡される。２００３０において、管理プログラム２４１０’は、アプリケーションが配備さえたときに計算されるアプリケーションの完成度を取得する。管理プログラム２４１０’はまた、それ自身の監視機能を介して、アプリケーションの使用頻度を取得する。２００４０において、管理プログラム２４１０’は以下により詳細に開示される「構成のバリエーションの作成」のサブシーケンスを呼び出す。２００５０、２００６０、２００７０、２００８０、２００９０及び２０１００のフローは、図１５の１００５０、１００６０、１００７０、１００８０、１００９０及び１０１００のフローとそれぞれ同様である。
【０１０３】
図２６は、実装形態例に従って、構成のバリエーションを作成するための管理プログラム２４１０’のフローチャートを例示する。図２６に示すフローチャートは、図１８に示すフローチャートと類似している。これら２つの違いは２２０３０及び２２０４０のプロセスである。
【０１０４】
２２０１０、２２０２０、２２０６０及び２２０６０のフローは、図１８の１２０１０、１２０２０、１２０５０及び１２０６０のフローとそれぞれ同様である。２２０３０において、管理プログラム２４１０’はリソースグループテーブル２５８０’を参照することによってアプリケーションの完成度レベル及び使用頻度に基づいて利用可能なリソースを識別する。２２０４０において、管理プログラム２４１０’は、選択されたアプリケーションの完成度レベル及び使用頻度によってタイムアウト定義テーブルからタイムアウト値を取得する。
【０１０５】
したがって、第２の実施形態例では、管理プログラムは、アプリケーションの完成度及び使用頻度を考慮してアプリケーションをサイズ変更するために、構成のバリエーションを作成する。このような実装形態によって、管理プログラムは、アプリケーションをアジャイル手法で、サイズを適切なＩＴリソース上で変更することができる。
【０１０６】
詳細な記述の一部は、コンピュータ内の動作のアルゴリズム及び記号表現の観点から提示されている。これらのアルゴリズム的記述及び記号表現は、データ処理技術の当業者が彼らの技術革新の神髄を他の当業者に伝えるために使用される手段である。アルゴリズムは、所望の終了状態または結果をもたらす一連の定義されたステップである。実装形態例では、具体的な結果を達成するための具体的な量の物理的操作を必要とする。
【０１０７】
特に断りのない限り、説明から明らかなように、この説明を通して、「処理」、「演算」、「計算」、「決定」、「表示」などの用語を用いる説明は、コンピュータシステムまたはコンピュータシステムのレジスタ及びメモリ内で物理（電子）量として表示されるデータを操作して、コンピュータシステムのメモリまたはレジスタあるいは他の情報記憶機器、変換機器または表示機器内で物理量として同じように表示される他のデータに変換する他の情報処理機器のアクション及びプロセスを含み得ることが理解される。
【０１０８】
実装形態例はまた、本明細書の動作を行うための装置に関連していてもよい。この装置は、必要な目的のために特別に構築されてもよく、または１つ以上のコンピュータプログラムによって選択的に起動または再構成された１つ以上の汎用コンピュータを含んでいてもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体内に格納され得る。コンピュータ可読記憶媒体は、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、固体デバイス及びドライブなどの有形的表現媒体、または電子情報を格納するのに適したあらゆる他のタイプの有形的または非一時的媒体を含んでいてもよいが、その限りではない。コンピュータ可読信号媒体は、搬送波などの媒体を含むことができる。本明細書に提示されたアルゴリズム及びディスプレイは、特定のコンピュータまたは他の装置に本質的に関連するものではない。コンピュータプログラムは、所望の実装の動作を行う命令を含む純粋なソフトウェアの実装を含むことができる。
【０１０９】
様々な汎用システムは、本明細書の実施例に従ってプログラム及びモジュールと共に使用されてもよく、また
は、所望の方法ステップを行うためにより専門化された装置を構築するのに好都合であることが判明し得る。加えて、実装形態例は、特定のプログラム言語を参照して記載されていない。本明細書に記載された実装形態例の教示を実施するために様々なプログラム言語を使用され得ることが理解されるであろう。プログラム言語の命令は、１つ以上の処理機器、例えば、中央処理装置（ＣＰＵ）、プロセッサ、またはコントローラによって実施され得る。
【０１１０】
当技術分野で知られているように、上述の動作は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアのいくつかの組み合わせによって行うことができる。実装例の様々な態様は、回路及び論理デバイス（ハードウェア）を用いて実装することができるが、他の態様はプロセッサによって実施される場合、本出願の実装を実行するための方法を当該プロセッサに行わせることになる、機械可読媒体に格納された命令を用いて実装されてもよい。さらにまた、本出願のいくつかの実装例は、ハードウェアでのみ実行されてもよく、他の実装例は、ソフトウェアでのみ実行されてもよい。そのうえ、説明された様々な機能は、単一のユニット内で行うことができ、またはいろいろな方法で複数の構成要素にわたって分散されることができる。ソフトウェアによって行われるとき、本方法は、コンピュータ可読媒体に格納されている命令に基づいて、汎用コンピュータなどのプロセッサによって実施することができる。必要に応じて、この命令は、圧縮された及び／または暗号化されたフォーマットで媒体に格納することができる。
【０１１１】
さらに、本出願の他の実装形態は、本明細書の考察及び本出願の教示の履行から当業者には明らかであろう。説明された実装例の様々な態様及び／または構成要素は、単独で、または任意の組み合わせで使用され得る。本明細書及び実装例は、単なる例として考えられるものであり、本出願の真の範囲及び精神は、以下の特許請求の範囲によって表されることを意図している。
【図１Ａ】
2019506682.tif 000003
【図１Ｂ】
2019506682.tif 000004
【図１Ｃ】
2019506682.tif 000005
【図２】
2019506682.tif 000006
【図３】
2019506682.tif 000007
【図４】
2019506682.tif 000008
【図５】
2019506682.tif 000009
【図６】
2019506682.tif 000010
【図７】
2019506682.tif 000011
【図８】
2019506682.tif 000012
【図９】
2019506682.tif 000013
【図１０】
2019506682.tif 000014
【図１１】
2019506682.tif 000015
【図１２】
2019506682.tif 000016
【図１３】
2019506682.tif 000017
【図１４】
2019506682.tif 000018
【図１５】
2019506682.tif 000019
【図１６】
2019506682.tif 000020
【図１７】
2019506682.tif 000021
【図１８】
2019506682.tif 000022
【図１９】
2019506682.tif 000023
【図２０】
2019506682.tif 000024
【図２１】
2019506682.tif 000025
【図２２】
2019506682.tif 000026
【図２３】
2019506682.tif 000027
【図２４】
2019506682.tif 000028
【図２５】
2019506682.tif 000029
【図２６】
2019506682.tif 000030
【国際調査報告】
2019506682.tif 000031