(57)【要約】      （修正有）【課題】コンピュータインフラストラクチャの性能プランニングを正確に履行できるようにする。【解決手段】インフラストラクチャのモデル１１０が、インフラストラクチャをモニタするように設計された既存の管理ツール１２０によって提供されるデータ１２３を用いて、作成され、自動的に構成される。このような自動的に構成されたモデル１０３を使用して、現在の構成または他の可能な構成におけるインフラストラクチャの性能をシミュレートする。【選択図】図１
2006048702.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを含むインフラストラクチャをモデル化するためのコンピュータによって実施される方法であって、前記インフラストラクチャは管理アプリケーションによってモニタされ、
前記インフラストラクチャに関連付けられるデータを前記管理アプリケーションから取り出すことと、
前記データを、イベントベースのシミュレーションに使用できるフォーマットに変換することと、
前記インフラストラクチャのモデルを生成することと、
前記変換されるデータを使用して前記モデルを自動的に構成することと、
前記モデルをシミュレーションエンジンに提供することと
を備えることを特徴とするコンピュータによって実施される方法。
【請求項２】
前記インフラストラクチャ中の前記デバイスに対応するデバイスモデルを特定することと、
前記生成されるデバイスモデルにソフトウェアモデルを自動的にマップすることと
をさらに備えることを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記管理アプリケーションによって提供されるイベントベースのデータを判定することと、
前記イベントベースのデータを用いて、前記マップされるデバイスモデルを自動的に構成することと、
前記構成されるデバイスモデルを、前記インフラストラクチャの前記モデルに組み込むことと
をさらに備えることを特徴とする請求項1に記載のコンピュータによって実施される方法。
【請求項４】
前記生成されるモデルは、前記インフラストラクチャの現在の状態を表すことを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項５】
前記インフラストラクチャの前記状態の変更を特定することと、
前記特定される変更に従って前記モデルを自動的に修正することと
をさらに備えることを特徴とする請求項４に記載のコンピュータによって実施される方法。
【請求項６】
前記変更は、デバイス、ソフトウェアコンポーネント、またはワークロードの少なくとも１つの修正を含むことを特徴とする請求項５に記載のコンピュータによって実施される方法。
【請求項７】
前記管理アプリケーションは、変更および構成管理（ＣＣＭ）アプリケーション、オペレーション管理（ＯＭ）アプリケーション、またはシステムもしくはネットワークディスカバリアプリケーションの少なくとも１つを含むことを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項８】
前記インフラストラクチャに関連付けられる前記データは、物理トポロジー、論理トポロジー、ワークロード、トランザクションワークフロー、またはアクションコストの少なくとも１つに関係することを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項９】
前記インフラストラクチャに関係付けられる前記データは、イベントのトレースを含むことを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項１０】
前記インフラストラクチャに関係付けられる前記データを取り出すことは、前記データを、前記管理アプリケーションによって提供されるデータを収容するデータストアから取り出すことを含むことを特徴とする請求項１に記載のコンピュータによって実施される方法。
【請求項１１】
前記データストア中のデータは、オペレーショナルデータベースまたはデータウェアハウスの少なくとも１つに含まれることを特徴とする請求項５に記載のコンピュータによって実施される方法。
【請求項１２】
請求項１に記載の前記コンピュータによって実施される方法を行うためのコンピュータ実行可能な命令がエンコードされたことを特徴とする１つまたは複数のコンピュータ可読の媒体。
【請求項１３】
請求項１に記載の前記コンピュータによって実施される方法を行うように構成されたことを特徴とする装置。
【請求項１４】
インフラストラクチャの性能にアクセスするためのコンピュータによって実施される方法であって、
前記インフラストラクチャに関連付けられる構成および性能データを取り出すことであって、前記構成および性能データは前記インフラストラクチャをモニタするように構成される管理アプリケーションによって提供されることと、
前記構成および性能データから前記インフラストラクチャのモデルを特定することと、
前記構成および性能データを用いて前記モデルを自動的に構成することと、
前記モデルを用いて前記インフラストラクチャの前記性能をシミュレートすることと
を備えることを特徴とするコンピュータによって実施される方法。
【請求項１５】
前記インフラストラクチャへの変更を特定することと、
前記モデルを自動的に再構成して前記インフラストラクチャへの前記変更を表すことと、
前記再構成されるモデルを使用して前記インフラストラクチャの性能をシミュレートすることと
をさらに備えることを特徴とする請求項１４に記載のコンピュータによって実施される方法。
【請求項１６】
前記変更は、デバイス、ソフトウェアコンポーネント、またはワークロードの少なくとも１つに対する修正を含むことを特徴とする請求項１５に記載のコンピュータによって実施される方法。
【請求項１７】
インフラストラクチャの構成および性能に関連付けられたデータを提供するように構成された管理モジュールと、
前記管理モジュールによって提供された前記データを使用して前記インフラストラクチャのイベントベースのモデルを生成し、前記データを使用して前記イベントベースのモデルを自動的に構成するように構成されたモデリングモジュールと
を備えたことを特徴とするシステム。
【請求項１８】
前記モデリングモジュールは、前記管理モジュールによって提供された物理トポロジーデータを特定し、前記物理トポロジーデータに少なくとも部分的に基づいて前記インフラストラクチャ中のデバイスモデルを作成し、前記デバイスモデルに少なくとも部分的に基づいて前記インフラストラクチャの前記イベントベースのモデルを作成するようにさらに構成されたことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記モデリングモジュールは、前記管理モジュールによって提供された論理トポロジーデータを特定し、前記論理トポロジーデータに少なくとも部分的に基づいて前記インフラストラクチャ中のソフトウェアコンポーネントのモデルを前記デバイスモデルに自動的にマップするようにさらに構成されたことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記モデリングモジュールは、前記インフラストラクチャに関連付けられたイベントベースデータを特定し、前記イベントベースデータを使用して前記モデルを自動的に構成するようにさらに構成されたことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記イベントベースデータは、Ｅｖｅｎｔ  Ｔｒａｃｉｎｇ  ｆｏｒ  ＷＩＮＤＯＷＳ（登録商標）（ＥＴＷ）またはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｔｒａｃｅｓの少なくとも１つのイベントトレース技術によって生成されたことを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記管理モジュールによって生成されたデータを受け取り、前記モデリングモジュールが前記受け取られたデータにアクセスできるように構成されたデータストアをさらに備えたことを特徴とする請求項１７に記載のシステム。
【請求項２３】
前記受け取られたデータは、物理トポロジー、論理トポロジー、ワークロード、トランザクションワークフロー、またはアクションコストの少なくとも１つを含む前記インフラストラクチャの態様に関連付けられたことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記受け取られたデータは、オペレーショナルデータベースまたはデータウェアハウスの少なくとも１つに収容されたことを特徴とする請求項２２に記載のシステム。
【請求項２５】
前記インフラストラクチャは、サーバ、ストレージ、ルータ、スイッチ、またはロードバランサの少なくとも１つを含むことを特徴とする請求項１７に記載のシステム。
【請求項２６】
前記サーバは、アプリケーションまたはオペレーティングシステムの少なくとも１つで構成されたことを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記管理モジュールは、ＭＩＣＲＯＳＯＦＴ（登録商標）Ｏｐｅｒａｔｉｏｎ  Ｍａｎａｇｅｒ（ＭＯＭ）、Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ（ＳＭＳ）、Ｓｙｓｔｅｍ  Ｃｅｎｔｅｒ、ＷｉｎＲｏｕｔｅ  ｆｏｒ  ＭＩＣＲＯＳＯＦＴ（登録商標）Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒ、またはＷＭＩ  ｅｖｅｎｔ  ｃｏｎｓｕｍｅｒｓ  ｆｏｒ  ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）Ｓｅｒｖｅｒの少なくとも１つを含むことを特徴とする請求項１７に記載のシステム。
【請求項２８】
インフラストラクチャをモニタするように構成された管理アプリケーションから前記インフラストラクチャに関連付けられたデータを取り出すための手段と、
前記インフラストラクチャのモデルを特定するための手段と、
前記データを用いて前記モデルを自動的に構成するための手段と、
前記モデルを使用してイベントベースのシミュレーションを実行するための手段と
を備えたことを特徴とするシステム。
【請求項２９】
ボトルネック分析、ｗｈａｔ−ｉｆ分析、オペレーション上のトラブルシューティング、または自動キャパシティレポートの少なくとも１つを行うための手段をさらに備えたことを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記インフラストラクチャ中のデバイスのモデルを作成するための手段をさらに備えたことを特徴とする請求項２８に記載のシステム。
【請求項３１】
前記デバイスモデルにソフトウェアコンポーネントモデルをマップするための手段をさらに備えたことを特徴とする請求項２８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクションベースの性能モデルの自動構成に関する。
【背景技術】
【０００２】
本出願は、「SYSTEM AND METHOD FOR PROCESSING PERFORMANCE MODELS TO REFLECT ACTUAL COMPUTER SYSTEM DEPLOYMENT SCENARIOS」と題する、２００４年８月２日出願の米国特許仮出願第６０／５９８５６８号明細書の利益を主張するものであり、この内容を参照により本明細書に組み込む。
【０００３】
本出願は、「A PERFORMANCE TECHNOLOGY INFRASTRUCTURE FOR MODELING THE PERFORMANCE OF COMPUTER SYSTEMS」と題する、米国特許出願第０９／６３２５２１号明細書に関連し、この内容を参照により本明細書に組み込む。
【０００４】
本出願は、「LATE BINDING OF RESOURCES ALLOCATION IN A PERFORMANCE SIMULATION INFRASTRUCTURE」と題する、米国特許出願第１０／０５３７３３号明細書に関連し、この内容を参照により本明細書に組み込む。
【０００５】
本出願は、「EVALUATING HARDWARE MODELS HAVING RESOURCE CONTENTION」と題する、米国特許出願第１０／０５３７３１号明細書に関連し、この内容を参照により本明細書に組み込む。
【０００６】
本出願は、「ACTION BASED SERVICES IN A PERFORMANCE SIMULATION INFRASTRUCTURE」と題する、米国特許出願第１０／３０４６０１号明細書に関連し、この内容を参照により本明細書に組み込む。
【０００７】
コンピュータシステムのインフラストラクチャは、多くのビジネスにとって最も重要な資産の１つになっている。これは、ネットワークベースのサービスに強く依拠するビジネスにとっては、特にそうである。円滑で信頼性のあるオペレーションを確実にするために、相当量のリソースを投資して、コンピュータシステムインフラストラクチャを確保し、維持している。通常、コンピュータシステムインフラストラクチャの各サブシステムは、性能カウンタなど、そのサブシステムに特化したコンポーネントによってモニタされる。特化したコンポーネントによって生成されたデータは、そのサブシステムが円滑に稼働することを保証するためにそのサブシステムの専門的知識を有する管理者によって分析されることがある。
【０００８】
成功しているビジネスは、その能力を改善し拡張して、顧客の要求に追随しなければならないことが多い。理想的には、このようなビジネスのコンピュータシステムインフラストラクチャは、この変化するビジネス環境に絶えず適合できなければならない。現実に、既存のインフラストラクチャの性能を分析し、査定できるようになるには、多くの作業と専門知識が必要になる。例えば、あるビジネスで、ある特定のタイプのトランザクションの増大が予想される場合に、既存のインフラストラクチャの性能をどのように拡張してこの増大を管理するかを判定するためには、性能プランニングが必要になることが多い。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
性能プランニングを実行する１つの方法は、アナリストに相談することである。ワークロードデータが各サブシステムについて利用可能であるとしても、既存のインフラストラクチャの性能を増大させるためにどのコンポーネントを追加または再構成する必要があるであろうかについて、アナリストが予測できるようになるには、各システムについての相当な知識と多くの作業が必要になる。専門知識と労力が相当に必要となるので、アナリストを雇って性能プランニングを履行するのは、通常、費用のかかる提案になる。
【００１０】
性能プランニングを実行する他の方法は、利用可能な分析ツールを使用してワークロードの増大に対する要求を予測することである。しかし、今日利用できる従来型のツールの多くは、履歴データから単純に外挿するプログラムであり、あまり正確でも、フレキシブルでもない。また、予測された要求を達成するコンポーネントを選ぶためには、やはり主観的な判断を行う必要があるであろう。
【００１１】
性能プランニングを正確に履行できる、使いやすいツールは、当業者には不明である。
【課題を解決するための手段】
【００１２】
本発明の一態様によれば、複数のデバイスを含むインフラストラクチャをモデル化するためのコンピュータによって実施される方法が提供され、前記インフラストラクチャは管理アプリケーションによってモニタされる。この方法は、前記インフラストラクチャに関連付けられるデータを前記管理アプリケーションから取り出すことと、前記データを、イベントベースのシミュレーションに使用できるフォーマットに変換することと、前記インフラストラクチャのモデルを生成することと、前記変換されるデータを使用して前記モデルを自動的に構成することと、前記モデルをシミュレーションエンジンに提供することとを備えることを特徴とする。
【００１３】
また、本発明の別の一態様によれば、インフラストラクチャの性能にアクセスするためのコンピュータによって実施される方法が提供される。この方法は、前記インフラストラクチャに関連付けられる構成および性能データを取り出すことであって、前記構成および性能データは前記インフラストラクチャをモニタするように構成される管理アプリケーションによって提供されることと、前記構成および性能データから前記インフラストラクチャのモデルを特定することと、前記構成および性能データを用いて前記モデルを自動的に構成することと、前記モデルを用いて前記インフラストラクチャの前記性能をシミュレートすることとを備えることを特徴とする。
【００１４】
また、本発明のさらに別の一態様によれば、インフラストラクチャの構成および性能に関連付けられたデータを提供するように構成された管理モジュールと、前記管理モジュールによって提供された前記データを使用して前記インフラストラクチャのイベントベースのモデルを生成し、前記データを使用して前記イベントベースのモデルを自動的に構成するように構成されたモデリングモジュールとを備えたシステムが提供される。
【００１５】
また、本発明のさらに別の一態様によれば、インフラストラクチャをモニタするように構成された管理アプリケーションから前記インフラストラクチャに関連付けられたデータを取り出すための手段と、前記インフラストラクチャのモデルを特定するための手段と、前記データを用いて前記モデルを自動的に構成するための手段と、前記モデルを使用してイベントベースのシミュレーションを実行するための手段とを備えたシステムが提供される。
【００１６】
本発明のこれらおよびその他の特徴および利点は、以下の詳細な説明を添付の図面に照らして解釈することで、より良く理解されよう。
【発明を実施するための最良の形態】
【００１７】
本明細書に記載のシステム、方法、およびデータ構造は、トランザクションベースの性能モデルの自動構成に関するものである。インフラストラクチャをモニタするように設計された既存の管理ツールによって提供されるデータを用いてインフラストラクチャのモデルが作成され、自動的に構成される。この自動的に構成されたモデルを使用して、現在の構成または他の可能な構成におけるインフラストラクチャの性能をシミュレートすることができる。
【００１８】
以下で説明する自動性能モデル構成システムにより、性能のモデリングを効率的で正確に実行できるようになる。このシステムにより、ユーザが様々なタイプの分析を迅速に、そしてコスト効率よく行うことができるようになる。例えば、記載のシステムを使用して、ハードウェアとソフトウェアの両コンポーネントを含む現在のインフラストラクチャの性能分析を実行することができる。このシステムでは、様々な構成データベースからデータをインポートして、情報技術（ＩＴ）インフラストラクチャの最新または過去の配置を表現することができる。このモデル構成は、システムの性能を分析するためのベースラインとして役立つことがある。分析のタイプには、キャパシティプランニング、ボトルネック分析などがある。キャパシティプランニングは、システムの将来の使用要求を予測し、システムがそれらの要求を満たす十分なキャパシティを有することを確実にするプロセスを含む。ボトルネック分析は、既存のシステムを分析して、システム中のどのコンポーネントが最大キャパシティの近くで動作しているかを判定するプロセスを含む。これらは、通常、システム全体のキャパシティを増強すべき場合に最初に置き換える必要があるコンポーネントである。
【００１９】
記載のシステムはｗｈａｔ−ｉｆ分析を実行するために使用することもできる。ベースラインモデルを使用して、ユーザは、その構成に１つまたは複数の変更をした場合のインフラストラクチャの性能を予測することができる。ｗｈａｔ−ｉｆシナリオには、ワークロードの増大、ハードウェアおよび／またはソフトウェア構成パラメータの変更などが含まれる。
【００２０】
記載のシステムはさらに、自動キャパシティレポートに使用することもできる。例えば、ユーザは、システムに対する特定の時間間隔を定義して、自動的にキャパシティプランニングレポートを生成することができる。この時間間隔が経過すると、システムは最新のレポート期間のデータをインポートし、自動的にモデルを構成する。次に、システムは、構成されたモデルを使用してシミュレーションを実行し、そのシステムの将来のキャパシティについてのレポートを生成する。システムキャパシティが次のレポート期間について不足することになる場合、システムはアラームを発することができる。
【００２１】
記載のシステムは、オペレーション上のトラブルシューティングに使用することができる。例えば、ＩＴ管理者は、オペレーション管理アプリケーションによって、性能閾値を越えたことを通知されることができる。管理者は、記載のシステムを使用してシステムの現在の構成を表すことができる。次いで、管理者は、シミュレーションを実行して、その性能アラームがキャパシティ問題の原因であるかどうかを特定することができる。詳細には、管理者は、その性能アラームが、そのシステムの固有のキャパシティ限界によって引き起こされたものか、あるいは追加のアプリケーションが他のユーザによってシステム上で実行されているなど、他の要因によって引き起こされたものかを判定することができる。
【００２２】
図１に、トランザクションベースの性能モデルを自動的に構成するためのシステムの一例を示す。一実施形態では、例示のシステムは、自動モデル構成モジュール１００およびシミュレーションモジュール１３０を含むことができ、これらのモジュールは、図１では、例示のために個別のモジュールとして記載されている。実際の実装では、自動モデル構成モジュール１００およびシミュレーションモジュール１３０は単一のコンポーネントに一体化することができる。例示のシステムは、インフラストラクチャ１１０をモデル化し、様々な構成でのインフラストラクチャ１１０の性能をシミュレートするためにイベントおよびトランザクションをエミュレートするように構成される。
【００２３】
インフラストラクチャ１１０は、１つまたは複数のネットワークによって接続されたデバイスからなるシステムである。インフラストラクチャ１１０は、ビジネスエンティティによって使用されて、ネットワークベースのサービスを、従業員、顧客、ベンダ、パートナーなどに提供することができる。図１に示したように、インフラストラクチャ１１０は、サーバ１１１、ストレージ１１２、ルータおよびスイッチ１１３、ロードバランサ１１４など、各種のデバイスを含むことができる。デバイス１１１〜１１４のそれぞれは、アプリケーション、オペレーティングシステム、他の種類のソフトウェアなど、１つまたは複数の論理コンポーネントを含むこともできる。
【００２４】
管理モジュール１２０は、インフラストラクチャ１１０を管理するように構成される。管理モジュールは、変更および構成管理（ＣＣＭ）アプリケーション、オペレーション管理（ＯＭ）アプリケーションなど、インフラストラクチャ１１０に関連付けられたデータを収集し、処理する任意のハードウェアまたはソフトウェアコンポーネントを含むことができる。例えば、管理モジュール１２０は、ＭＩＣＲＯＳＯＦＴ（登録商標）Ｏｐｅｒａｔｉｏｎ  Ｍａｎａｇｅｒ（ＭＯＭ）、Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｅｒ（ＳＭＳ）、Ｓｙｓｔｅｍ  Ｃｅｎｔｅｒスイート製品など、ＭＩＣＲＯＳＯＦＴ（登録商標）によって開発されたサーバ管理ツールを含むことができる。通常、管理モジュールによって提供されるデータは、インフラストラクチャ１１０を管理し、モニタするために使用することができる。例えば、システム管理者は、管理モジュール１２０によって提供されるデータを使用して、定期的にシステム性能を保守することができる。この例では、管理モジュールによって提供されるデータがシミュレーション用のモデルを自動的に作成するためにも使用される。
【００２５】
管理モジュール１２０は、インフラストラクチャ１１０に関連付けられた各種のデータを提供するように構成される。例えば、管理モジュール１２０は、インフラストラクチャ１１０の論理トポロジーからのアプリケーションコンポーネントのリスト、トランザクションワークフロー、ユーザワークロードからのパラメータ名のリスト、アクションコストなど、一定の入力を提供するように構成することができる。また、管理モジュール１２０は、インフラストラクチャ１１０の物理トポロジー、論理トポロジーから物理ハードウェア上へのアプリケーションコンポーネントの論理マッピング、ユーザワークロードからのパラメータの値など、構成可能な入力を提供するように構成することができる。
【００２６】
管理モジュール１２０は、ディスカバリアプリケーションを含むこともでき、これは、特定の分散サーバアプリケーションの構成についての情報を返すように特別に書かれている。例えば、ディスカバリアプリケーションには、ＷｉｎＲｏｕｔｅ  ｆｏｒ  ＭＩＣＲＯＳＯＦＴ（登録商標）Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒ、ＷＭＩ  ｅｖｅｎｔ  ｃｏｎｓｕｍｅｒｓ  ｆｏｒ  ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）Ｓｅｒｖｅｒなどが含まれ得る。これらのディスカバリアプリケーションは、特定のアプリケーション用のＣＣＭ／ＯＭの特化したバージョンと見なすことができる。しかし、これらのアプリケーションは通常、ＣＣＭ／ＯＭサービスとしてではなく、オンデマンドで実行される。ディスカバリアプリケーションを使用して、ＣＣＭ／ＯＭデータベースについて説明したのと同様の方法で性能モデルを構成するのに必要な物理トポロジー、論理マッピング、およびパラメータを取得することができる。ＣＣＭ／ＯＭデータベースは、各ディスカバリアプリケーション用にカスタマイズされた翻訳ステップとともに使用することができる。データは、データベースから抽出されるのではなく、直接返すことができる。しかし、この方法は、ディスカバリアプリケーションが実行されている間に余分の遅延を伴うことがある。
【００２７】
データストア１２３は、管理モジュール１２０によって提供されたデータを格納するように構成される。データは、１つまたは複数のオペレーショナルデータベース、データウェアハウスなど、任意の種類のデータ構造で編成することができる。データストア１２３は、インフラストラクチャ１１０の物理および論理トポロジーに関係するデータを含むことができる。データストア１２３は、ワークロード、トランザクションワークフロー、アクションコストに関係するデータを含むこともできる。このようなデータは、Ｅｖｅｎｔ  Ｔｒａｃｉｎｇ  ｆｏｒ  ＷＩＮＤＯＷＳ（登録商標）（ＥＴＷ）またはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｔｒａｃｅｓなどのイベントトレーシング技術によって生成されるトレースの形態で具体化することができる。
【００２８】
自動モデル構成モジュール１００は、インフラストラクチャ１１０についての情報を取得し、シミュレーションのためにインフラストラクチャ１１０の各コンポーネントのモデル１０３を自動的に作成し構成するように構成される。モデル１０３は、シミュレーションモジュール１３０への入力として機能する。
【００２９】
自動モデル構成モジュール１００は、インフラストラクチャ１１０と対話し、ネットワークディスカバリを行って、モデルを構築するためのデータを取り出すことができる。ただし、自動モデル構成モジュール１００は通常、インフラストラクチャ１１０の管理コンポーネントによって集められた情報を格納するオペレーショナルデータベースおよびデータウェアハウスからデータを取得するように構成される。例えば、自動モデル構成モジュール１００は、管理モジュール１２０によって提供されたデータを収容するデータストア１２３からデータを取り出すことができる。
【００３０】
自動モデル構成モジュール１００は、シミュレーションモジュール１３０に入力するための任意の種類のモデルを提供することができる。一実施形態では、自動モデル構成は、物理トポロジー、論理トポロジー、ワークロード、トランザクションワークフロー、およびアクションコストに関係するインフラストラクチャ１１０のモデルを生成する。
【００３１】
インフラストラクチャ１１０の物理トポロジーをモデル化するためのデータは、シミュレートされるハードウェアのリストを含むことができる。このリストには、各コンポーネントの能力、およびこれらコンポーネントがどのように相互接続されているかが含まれる。詳細さのレベルについては、普通、性能データが容易に得ることができるレベルにマッチするように選ばれる。例えば、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムは、性能カウンタを使用して性能データを表すことができる。これらのカウンタは、通常、ＣＰＵ、ネットワークインタフェースカード、およびディスクドライブのレベルにまで列挙される。自動モデル構成モジュール１００は、そのようなシステムを、物理トポロジー記述中で個々のＣＰＵ、ネットワークインタフェースカード、およびディスクドライブとして表すことによって、このシステムをモデル化することができる。各コンポーネントタイプは、そのコンポーネント上のイベントにかかった時間を計算するために使用されるマッチするハードウェアモデルを有することができる。このように、ＣＰＵコンポーネントタイプはＣＰＵハードウェアモデルによって表され、そのモデルによって、計算などのＣＰＵアクションにかかった時間を計算する。
【００３２】
自動モデル構成モジュール１００は、階層的なＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）フォーマットを用いてサーバを、そのサーバが物理的に収容するデバイスのコンテナとして表すハードウェア情報をエンコードすることができる。コンポーネントはテンプレートを用いて記述することができ、このテンプレートはそのコンポーネントの能力をエンコードできる。例えば、「ＰＩＩＩ  Ｘｅｏｎ  ７００ＭＨｚ」テンプレートは、７００ＭＨｚのクロック速度で動作するＩｎｔｅｌ社のＰＩＩＩ  Ｘｅｏｎ  ＣＰＵの性能および能力をエンコードする。コンポーネントに名前が付けられ、この階層様式で記述された後、この物理トポロジー記述は、コンポーネント間のネットワークリンクを含むことができる。物理トポロジー記述は、対応するネットワークのプロパティでタグ付けされたコンポーネント名のペアのリストとして表現することができる。サーバに複数のネットワークインタフェースカード（ＮＩＣ）が存在する場合は、使用されている特定のＮＩＣを指定することもできる。以下のコードは、物理トポロジーモデル化に関するコードの一例である。
【００３３】
【表１】
2006048702.tif 000003
【００３４】
インフラストラクチャ１１０の論理トポロジーのデータモデル化には、モデル化されるアプリケーションのソフトウェアコンポーネント（またはサービス）のリスト、およびコンポーネントが、物理トポロジーに記述されたハードウェア上にどのようにマップされるかについての記述を含めることができる。ソフトウェアコンポーネントのリストは、アプリケーションモデルの一部として供給することができる。例えば、ｅコマースウェブサイトのアプリケーションモデルは、ＭＩＣＲＯＳＯＦＴ（登録商標）Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅｓなどのウェブサーバを表す１つのアプリケーションコンポーネントと、ＭＩＣＲＯＳＯＦＴ  ＳＱＬ  Ｓｅｒｖｅｒなどのデータベースサーバを表すもう１つのアプリケーションコンポーネントとを含むことができる。各アプリケーションコンポーネントの記述は、そのアプリケーションコンポーネントを実行するために必要なハードウェアアクションを含むことができる。
【００３５】
アプリケーションコンポーネントのハードウェア上への論理対物理マッピングは、各アプリケーションコンポーネントが稼働する（物理トポロジーに記述された）サーバのリストと共に、サーバにわたるロードバランスがどのように行われるかについての記述を用いて表現することができる。このマッピングは、必ずしも１対１のマッピングではないことに留意されたい。単一のアプリケーションコンポーネントが複数のサーバにわたって分散されている場合もあれば、単一のサーバがいくつかのアプリケーションコンポーネントをホストする場合もある。以下のコードは、論理トポロジーのモデル化に関するコードの一例である。
【００３６】
【表２】
2006048702.tif 000004
【００３７】
インフラストラクチャ１１０のワークロードをモデル化するためのデータは、シミュレートされるシステムの性能に影響を与える数値パラメータを定義する名前／値ペアのリストを含むことができる。例えば、上記のe−コマースウェブサイトは、同時ユーザの数、同時ユーザが異なるトランザクションを行う頻度などについてのパラメータを含むことができる。以下のコードは、ワークロードのモデル化に関するコードの一例である。
【００３８】
【表３】
2006048702.tif 000005
【００３９】
一実施形態では、自動モデル構成モジュール１００は、管理モジュール１２０によって提供されるデータストア１２３中の既存のデータでインフラストラクチャ１１０のモデルを自動的に構成するように構成される。例えば、自動モデル構成モジュール１００は、物理トポロジー、論理トポロジーから物理ハードウェア上へのアプリケーションコンポーネントの論理マッピング、およびワークロードからのパラメータの値を自動的に構成することができる。通常、自動モデル構成モジュール１００は、最初に、一般的な用語でハードウェアまたはソフトウェアを記述するテンプレートとしてモデルを作成することができる。次に、自動モデル構成モジュール１００は、例えば、ハードウェアモデルがどのように接続されるか、ソフトウェアモデルがどのように構成され、または使用されるかなど、モデル化されるアイテムの特定のインスタンスを反映するようにモデルを構成する。
【００４０】
シミュレーションモジュール１３０は、自動モデル構成モジュール１００によって生成され構成されたモデルを用いて、インフラストラクチャ１１０によって行われるアクションをシミュレートするように構成される。シミュレーションモジュール１３０は、インフラストラクチャ１１０のイベントをシミュレートするイベントベースのシミュレーションエンジンを含むことができる。例えば、イベントは、ソフトウェアコンポーネントのアクションを含むことができる。これらのイベントは、ユーザ負荷に従って生成され、次いで、基礎をなすハードウェアによって実行される。各イベントにかかった時間を計算し、イベント間の依存関係を考慮することによって、モデル化されるハードウェアとソフトウェアの性能に関する態様がシミュレートされる。
【００４１】
図１に関して上で説明したシステムは、任意のＩＴインフラストラクチャに関して使用することができる。例えば、典型的なエンタープライズＩＴ環境は、何百ものサーバが複雑なネットワーク内で組織化された複数の地球規模のデータセンタを有している。ユーザが、このような環境の構成をマニュアルでキャプチャすることは困難なことが多い。通常、ユーザには、このような環境の小さなサブセットをモデル化することだけが必要になる。この状況でも、モデル化の処理は、労働集約的なものである。記載のシステムにより、イベントベースのシミュレーションのための性能モデル化を広範なユーザベースで利用可能になる。このシステムは、エンタープライズ管理ソフトウェアから利用可能な既存の情報を使用することによって、性能モデルを自動的に構成する。
【００４２】
モデルの構成を自動化し、単純化することによって、記載のシステムは、ユーザが様々なコンテクストで性能プランニングを実行できるようにする。例えば、ユーザが迅速にモデルを構成して現在の配置を表せるようにすることによって、ユーザは、急激に変化する環境下でも、このシステムによって、週毎または日毎のキャパシティレポートを作成できるようになる。頻繁なキャパシティレポートにより、ＩＴ専門家は、性能問題が発生する前にそれらを予想し、修正するなど、先んじてインフラストラクチャを管理することができるようになる。
【００４３】
上記のシステムは、ユーザが、組織のより大きな部分を容易にモデル化してより広い範囲の性能ファクタを分析できるようにする。例えば、あるメールサーバの配備により、複数のデータセンタが影響を受けることがある。適切な構成データが利用可能な場合、そのメールサーバを有する既存のインフラストラクチャのモデルを自動的に構成することができ、そのモデルを使用して、例えば、アジアの事務所からアメリカの本社に電子メールを送信する際の待ち時間を求めるなど、エンドツーエンドのトランザクションの待ち時間を予測することもできる。このような分析の他の例示的な利点は、アジア／アメリカＷＡＮリンクのメールトラフィックによる使用率を算出することである。
【００４４】
記載のシステムを用いた性能分析を使用して、データセンタのオペレーションをトラブルシュートすることもできる。例えば、ＭＯＭなどのオペレーション管理ソフトウェアは、メールサーバの応答時間の遅さについてのアラームを発行することができる。ＩＴ専門家は、このシステムを使用して、システムの現在の状態を表すモデルを自動的に構成し、予想される性能をシミュレートし、その問題がキャパシティの事柄に起因するのか、あるいはその他の原因によるものかを判定することができる。
【００４５】
図２に、図１に示された自動モデルリングモジュール１００のコンポーネントの例を示す。図２に示したように、自動モデルリングモジュール１００は、物理トポロジーモデリングモジュール２０１、論理トポロジーモデリングモジュール２０２、およびイベント分析モジュール２０３を含むことができる。モジュール２０１〜２０３は、例示のためだけに示したものである。実際の実装では、モジュール２０１〜２０３は通常、１つのコンポーネントに統合される。
【００４６】
物理トポロジーモジュール２０１は、インフラストラクチャの物理トポロジーをモデル化するように構成される。物理トポロジーは、ＣＣＭアプリケーション、ＯＭアプリケーション、またはディスカバリアプリケーションから直接取り出されたデータから導き出すことができる。例えば、データは図１の管理モジュール１２０から取り出すことができる。通常、物理トポロジーは、管理モジュール１２０のオペレーショナルデータベースまたはデータウェアハウスから取り出されたデータを使用して導き出される。
【００４７】
取り出されたデータには、通常、サーバおよびそのサーバを収容するハードウェアコンポーネントのリスト、ネットワークの物理トポロジー（例えば、サーバ間の相互接続）など、インフラストラクチャのモデルの構築のための情報が含まれる。物理トポロジーモジュール２０１は、取り出されたデータを、シミュレーションで使用できるモデルを作成するための形式に変換するように構成することもできる。例えば、取り出されたデータは、ＸＭＬフォーマットに変換することができる。物理トポロジーモジュール２０１は、無関係な情報を取り除くように構成することもできる。例えば、取り出されるデータは、インフラストラクチャのコンポーネントのメモリサイズを収容することができる。ただし、メモリサイズは、通常、シミュレーションのために直接モデル化されない。物理トポロジーモジュール２０１はさらに、取り出されたデータの「意味拡張（ｓｅｍａｎｔｉｃ  ｅｘｐａｎｓｉｏｎ）」を行うように構成することもできる。例えば、物理トポロジーモジュール２０１は、単純な文字列として表されているかもしれないディスクドライブの名前を、ディスクサイズ、アクセス時間、回転速度などの値を有する適当なテンプレートに変換することができる。物理トポロジーモジュール２０１は、様々なディスカバリアプリケーションからの様々な種類の形式のデータを変換するように構成することもできる。
【００４８】
論理トポロジーモデリングモジュール２０２は、ソフトウェアコンポーネントを、管理モジュール１２０によって提供されたデータから導出された物理ハードウェアモデル上にマップするように構成される。ＣＣＭアプリケーションおよびＯＭアプリケーションの両方からのデータを使用することができる。例えば、ＭＩＣＲＯＳＯＦＴ（登録商標）Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒには、Ｅｘｃｈａｎｇｅシステムのいくつかの異なる役割の１つを有することがあるか、ＣＣＭアプリケーションはＥｘｃｈａｎｇｅ  Ｓｅｒｖｅｒの単純な有無だけを記録することがある。対照的に、Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒをモニタするために使用されるＯＭアプリケーションは、Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒの役割など完全な構成情報を含むこともでき、その情報を使用して、Ｅｘｃｈａｎｇｅの性能モデルが対応するアプリケーションコンポーネントを宣言することができる。論理トポロジーモデリングモジュール２０２は、基礎となる形式のデータをシミュレーションモデルに使用できる形式に変換し、モデル化されないアプリケーションの存在など、不必要な情報を取り除くように構成することができる。
【００４９】
ワークロードモデリングモジュール２０３は、ユーザワークロードからパラメータの値を導き出すように構成される。通常、この値は、管理モジュール１２０から取り出されたデータから導出される。取り出されたデータには、モニタされている１つまたは複数のアプリケーションによって経験されるワークロードに関する現在または過去の情報を収容することができる。代表的な性能カウンタは、同時ユーザの数、要求されている異なるトランザクションタイプの数などを含むことができる。翻訳ステップでは、取り出されたデータの基礎となる形式からシミュレーションのモデルで使用できる形式へ変換し、必要な場合には、数学的な変換を行うように実施することができる。例えば、ＯＭデータベースは、１時間の間に要求された異なるタイプのトランザクションの個々の数を記録することができ、またこのモデルは、この同一の情報を、１時間のトランザクションの総数に加えて、異なるタイプのそれぞれについてのこれらのトランザクションの割合を表現することができる。
【００５０】
図３は、インフラストラクチャの性能をシミュレートするためのプロセス３００の一例を示す。ブロック３０１で、インフラストラクチャに関連付けられたトポロジーおよび性能データが特定される。特定されたデータは、インフラストラクチャの１つまたは複数の管理アプリケーションによって提供することができる。データは、管理アプリケーションによって直接、あるいはオペレーショナルデータベースまたはデータウェアハウスを介して提供することができる。
【００５１】
ブロック３０３で、特定されたデータを処理して、インフラストラクチャのモデルの入力を得る。例えば、トポロジーデータは、モデリングモジュールまたはシミュレーションモジュールによって使用できる形式、例えば、ＸＭＬ形式に変換することができる。性能データは、ワークロードを表すために直ぐに使用できる形態に変換することができる。
【００５２】
ブロック３０５で、インフラストラクチャのモデルがモデリング入力を使用して自動的に構成される。インフラストラクチャのモデルを自動的に構成するためのプロセスの一例については、図４で論ずることにする。簡単に述べると、管理アプリケーションからの既存のデータ、例えば、物理トポロジー、論理トポロジー、ワークロード、トランザクションワークフロー、アクションコストなどに関するデータを使用して、モデルが構成される。
【００５３】
ブロック３０７で、１つまたは複数のシミュレーションがモデルに基づいて実行される。シミュレーションは、インフラストラクチャの物理および論理コンポーネントのモデルによりイベントおよびアクションをエミュレートすることに基づいて実行される。シミュレーションは、インフラストラクチャの現在の構成または可能な構成に関して行うことができる。自動的に構成されたモデルを使用して、インフラストラクチャをシミュレートするためのプロセスの一例については、図５で論ずることにする。ブロック３０９で、シミュレーションの結果が出力される。
【００５４】
図４は、インフラストラクチャのモデルを自動的に構成するためのプロセス４００の一例を示す。プロセス４００は、図１および図２に示された自動モデル構成モジュール１００によって実施される。ブロック４０１で、ハードウェアがインフラストラクチャの管理アプリケーションによって提供される物理トポロジーデータを用いて構成される。物理トポロジーデータは、インフラストラクチャのデバイスおよびこれらデバイスのコンポーネントのハードウェア構成を含むことができる。物理トポロジーデータは、これらのデバイスがどのように接続されるかに関する情報を含むこともできる。
【００５５】
ブロック４０３で、ソフトウェアモデルがインフラストラクチャの管理アプリケーションによって提供される論理トポロジーデータから判定される。論理トポロジーデータは、インフラストラクチャのデバイス上のソフトウェアコンポーネントおよびこれらソフトウェアコンポーネントの構成に関する情報を含むことができる。ブロック４０５で、ソフトウェアモデルはハードウェアモデルにマップされる。
【００５６】
ブロック４０７で、ワークロードデータ、トランザクションワークフローデータおよびアクションコストデータが、インフラストラクチャの管理アプリケーションから判定される。詳細には、これらのデータは、ハードウェアおよびソフトウェアコンポーネントによって行われるイベントおよびアクション、ならびにこれらイベントおよびアクションに関連付けられた時間およびワークロードを定義することができる。ブロック４０９で、データはモデルと統合される。例えば、ソフトウェアおよびハードウェアモデルは、定義されたイベントおよびアクションを行うときに、モデルの性能を反映するように構成することができる。
【００５７】
図５は、自動的に構成されたモデルを使用して、インフラストラクチャをシミュレートするためのプロセス５００の一例を示す。プロセス５００は、図１に示されたシミュレーションモジュール１３０によって実施することができる。ブロック５０１で、シミュレーションを行うための命令が受け取られる。命令は、シミュレーションがどのように実行されるべきかに関する情報を含むことができる。例えば、命令は、インフラストラクチャの既存の構成、または修正された構成を用いてシミュレーションが行われるべきことを指示することができる。命令は、例えば、インフラストラクチャの現在のワークロード、あるいはインフラストラクチャの１つまたは複数のコンポーネントの異なるワークロードを使用するなど、シミュレーションのワークロードを指定することができる。
【００５８】
ブロック５０３で、既存のインフラストラクチャのモデルが判定される。通常、モデルはモデリングモジュールによって提供され、インフラストラクチャの現在の状態を反映するように自動的に構成される。決定ブロック５０５で、インフラストラクチャモデルの構成を変更すべきかどうかについて判定がなされる。変更された構成を有するインフラストラクチャのシミュレーションは、その変更が実際に実施される前に、性能への影響を予測するために行うことができる。構成の変更がない場合、プロセス５００はブロック５１３に移る。
【００５９】
決定ブロック５０５に戻って、構成を変更するという判定がなされた場合、プロセス５００はブロック５０７に移動し、ここでインフラストラクチャの変更が特定される。変更は、物理トポロジー、論理トポロジー、性能パラメータなど、インフラストラクチャの任意の態様に関係することがある。ブロック５０９で、モデルが特定された変更にしたがって修正される。ブロック５１３で、シミュレーションが修正されたモデルを用いて行われる。
【００６０】
図６に、記載のシステムおよび方法を実施するための例示的なコンピューティングデバイス６００を示す。その最も基本的な構成では、コンピューティングデバイス６００は通常、少なくとも１つのＣＰＵ（中央演算処理装置）６０５とメモリ６１０を含む。
【００６１】
コンピューティングデバイスの厳密な構成および種類に応じて、メモリ６１０は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリ他）、あるいはそれら２つの両者の組合せとすることができる。さらに、コンピューティングデバイス６００は、追加の特徴／機能を有してもよい。例えば、コンピューティングデバイス６００は、複数のＣＰＵを有することがある。記載の方法は、コンピューティングデバイス６００の任意の処理ユニットによって、任意の方法で実行することができる。例えば、記載のプロセスは、複数のＣＰＵによって並列に実行することができる。
【００６２】
コンピューティングデバイス６００は、これらに限定されるわけではないが、磁気または光ディスクまたはテープを含む（リムーバブルおよび／または非リムーバブルの）追加のストレージを含んでもよい。このような追加のストレージは、図６ではストレージ６１５によって示されている。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報の格納のための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体が含まれる。メモリ６１０およびストレージ６１５はすべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、これらに限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）などの光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージなどの磁気ストレージデバイス、あるいは所望の情報を格納するために使用でき、コンピューティングデバイス６００によってアクセスできる任意の他の媒体が含まれる。このようなコンピュータ記憶媒体はいずれも、コンピューティングデバイス６００の一部とすることができる。
【００６３】
コンピューティングデバイス６００は、他のデバイスとの通信を可能にする通信デバイス６４０を含むこともできる。通信デバイス６４０は、通信媒体の一例である。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどを、搬送波もしくは他のトランスポート機構などの変調データ信号で具体化し、任意の情報送達媒体を含む。「変調データ信号」という用語は、情報を信号中にエンコードするようにその特性の１つまたは複数を設定または変更した信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク、直接配線接続などの有線媒体、ならびに音響、ＲＦ、赤外などの無線媒体を含む。本明細書で使用するコンピュータ可読媒体という用語は、コンピュータ記憶媒体と通信媒体の両方を含む。記載の方法は、任意のコンピュータ可読媒体中に、データ、コンピュータ実行可能な命令など任意の形態でエンコードすることができる。
【００６４】
コンピューティングデバイス６００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス６３５を含むこともできる。ディスプレイ、スピーカ、プリンタなどの出力デバイス６３０を含めることもできる。すべてのこれらのデバイスは、当技術分野では周知のものであり、詳細に論じる必要はない。
【００６５】
本発明の好ましい実施形態について図示し説明してきたが、このような実施形態に関して、本発明の趣旨および範囲を逸脱することなく様々な変更がなし得ることが理解されるであろう。
【図面の簡単な説明】
【００６６】
【図１】トランザクションベースの性能モデルを自動的に構成するためのシステムの一例を示す図である。
【図２】図１に示された自動モデリングモジュールのコンポーネントの例を示す図である。
【図３】インフラストラクチャの性能をシミュレートするためのプロセスの一例を示す図である。
【図４】インフラストラクチャのモデルを自動的に構成するためのプロセスの一例を示す図である。
【図５】自動的に構成されたモデルを使用してインフラストラクチャをシミュレートするためのプロセスの一例を示す図である。
【図６】記載のシステムおよび方法を実施するための例示的なコンピューティングデバイスを示す図である。
【符号の説明】
【００６７】
１００  自動モデル構成モジュール
１０３  モデル
１１０  インフラストラクチャ
１１１  サーバ
１１２  ストレージ
１１３  ルータ／スイッチ
１１４  ロードバランサ
１２０  管理モジュール
１２３  データストア
１３０  シミュレーションモジュール
１００  自動モデリングモジュール
２０１  物理トポロジーモデリングモジュール
２０２  論理トポロジーモデリングモジュール
２０３  ワークロードモデリングモジュール
６００  コンピューティングデバイス
６０５  中央処理ユニット（ＣＰＵ）
６１０  メモリ
６１５  ストレージ
６３０  出力デバイス
６３５  入力デバイス
６４０  通信デバイス
【図１】
2006048702.tif 000006
【図２】
2006048702.tif 000007
【図３】
2006048702.tif 000008
【図４】
2006048702.tif 000009
【図５】
2006048702.tif 000010
【図６】
2006048702.tif 000011