JP2006048703A - トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正 - Google Patents

トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正 Download PDF

Info

Publication number
JP2006048703A
JP2006048703A JP2005224584A JP2005224584A JP2006048703A JP 2006048703 A JP2006048703 A JP 2006048703A JP 2005224584 A JP2005224584 A JP 2005224584A JP 2005224584 A JP2005224584 A JP 2005224584A JP 2006048703 A JP2006048703 A JP 2006048703A
Authority
JP
Japan
Prior art keywords
error
model
workload
determining
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005224584A
Other languages
English (en)
Inventor
David E Guimbellot
イー.ギムベロット デビッド
Efstathios Papaefstathiou
パパエフスタシオウ エフスタシオス
Jonathan C Hardwick
シー.ハードウィック ジョナサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006048703A publication Critical patent/JP2006048703A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】トランザクションベースのパフォーマンスプラニングを正確に実行する。
【解決手段】インフラストラクチャのモデル110が、そのインフラストラクチャを監視するように設計された既存管理ツール120によって供給されるデータ123を使用して作成され、自動的に構成される。これらの自動的に構成されたモデル103を使用して、現在の構成または他の潜在的な構成でインフラストラクチャのパフォーマンスをシミュレートする。シミュレーションからの結果と測定されたデータを比較することによって、自動的に妥当性検査および較正を行う。
【選択図】図1

Description

トランザクションベースのパフォーマンスモデルの自動構成に関する。
コンピュータシステムインフラストラクチャは、多くの会社の最も重要な資産の1つになってきた。これは、ネットワークベースのサービスに強く頼る会社について特にそうである。円滑で信頼できる動作を保証するために、かなりの量のリソースが、コンピュータシステムインフラストラクチャの獲得および維持に投資される。通常、コンピュータシステムインフラストラクチャの各サブシステムは、パフォーマンスカウンタなど、そのサブシステムに特化したコンポーネントによって監視される。その特化したコンポーネントによって生成されるデータを、そのサブシステムの専門知識を有する管理者が分析して、そのサブシステムが円滑に動作していることを保証することができる。
成功している会社は、多くの場合、顧客の需要についていくためにその能力を改善し、拡張しなければならない。理想的には、そのような会社のコンピュータシステムインフラストラクチャは、この変化するビジネス環境に常に適合できなければならない。実際には、既存インフラストラクチャのパフォーマンスを分析し、査定できるようになるのに、大量の労力と専門知識を要する。たとえば、ある会社が、ある種のトランザクションの増加を期待する場合、しばしば、この増加を処理するために既存インフラストラクチャのパフォーマンスをどのように拡張するかを判定するために、パフォーマンスプラニングが必要である。
パフォーマンスプラニングを実行する形の1つが、アナリストに相談することである。ワークロードデータが、サブシステムごとに入手可能である場合があるが、アナリストが、既存インフラストラクチャのパフォーマンスを高めるためにどのコンポーネントを追加または再構成する必要があるかを予測できるようになるために、各システムのかなりの知識および大量の労力が必要である。専門知識および労力に関するかなりの要件のゆえに、パフォーマンスプラニングを実行するためにアナリストを雇うことは、通常は、高価な提案である。
パフォーマンスプラニングを実行するもう1つの形が、使用可能な分析ツールを使用して、ワークロード増大に関する要件を予測することである。しかし、現在使用可能な普通のツールの多くは、ヒストリカルデータから単純に外挿するプログラムであり、全く正確でも柔軟でもない。また、予測された要件を引き渡すコンポーネントを選択するために、主観的決定を行わなければならない。
パフォーマンスプラニングを正確に実行できるユーザフレンドリなツールは、これまで当業者によって発見されていなかった。
本発明の上記および他の特徴および利益は、添付図面に鑑みて読まれる次の詳細な説明からよりよく理解される。
本明細書に記載のシステム、方法、およびデータ構造は、トランザクションベースのパフォーマンスモデルの自動構成に関する。インフラストラクチャを監視するように設計された既存管理ツールによって提供されるデータを使用して、インフラストラクチャのモデルが、作成され、自動的に構成される。これらの自動的に構成されるモデルを使用して、現在の構成または他の潜在的な構成でインフラストラクチャのパフォーマンスをシミュレートすることができる。
以下で説明する自動化パフォーマンスモデル構成システムは、パフォーマンスモデリングを効率的で正確に実行することを可能にする。このシステムは、ユーザが、さまざまな種類の分析を素早く、コスト効率のよい形で実行することを可能にする。たとえば、本明細書で説明するシステムを使用して、ハードウェアコンポーネントとソフトウェアコンポーネントの両方を含む現在のインフラストラクチャに関するパフォーマンス分析を実行することができる。このシステムは、情報テクノロジ(IT)インフラストラクチャの最新のまたは過去の配備を表すデータをさまざまな構成データベースからインポートすることができる。このモデル構成は、システムのパフォーマンス分析のベースラインとして働くことができる。分析の種類に、キャパシティプラニング、ボトルネック分析等を含めることができる。キャパシティプラニングに、システムの将来の使用量要件を予測し、システムがこれらの要件を満足するのに十分なキャパシティを有することを保証するプロセスが含まれる。ボトルネック分析に、システムのどのコンポーネントが最大キャパシティに最も近い状態で動作しているかを判定するために既存システムを分析するプロセスが含まれる。これらは、通常、システム全体のキャパシティを増やさなければならない場合に最初に交換される必要があるコンポーネントである。
本明細書で説明するシステムは、what−if分析の実行にも使用することができる。ベースラインモデルを使用することによって、ユーザは、構成に対する1つまたは複数の変更を伴うインフラストラクチャのパフォーマンスを予測することができる。what−ifシナリオの例に、ワークロードの増加、ハードウェア構成パラメータおよび/またはソフトウェア構成パラメータに対する変更、および類似物が含まれる。
本明細書で説明するシステムは、さらに、自動化キャパシティレポート作成に使用することができる。たとえば、ユーザは、システムが自動キャパシティプラニングレポートを作る特定のタイムインターバルを定義することができる。このタイムインターバルが経過した時に、システムは、最後のレポート作成期間のデータをインポートし、自動的にモデルを構成する。次に、システムは、構成されたモデルを使用してシミュレーションを実行し、システムの将来のキャパシティに関するレポートを作成する。システムは、システムのキャパシティが次のレポート作成期間に不十分になる場合にアラームを送出することができる。
本明細書で説明するシステムは、動作トラブルシューティングに使用することができる。たとえば、IT管理者に、パフォーマンス閾値を超えたことを動作管理アプリケーションによって通知することができる。管理者は、本明細書に記載のシステムを使用して、システムの現在の構成を表すことができる。次に、管理者は、シミュレーションを実行して、パフォーマンスアラームがキャパシティ問題の原因であるか否かを識別することができる。具体的に言うと、管理者は、パフォーマンスアラームが、システムの固有のキャパシティ限度によってまたは、追加のアプリケーションが他のユーザによってシステムで実行されているなど、他の要因によって引き起こされたか否かを判定することができる。
図1に、トランザクションベースパフォーマンスモデルを自動的に構成する例のシステムを示す。一実施形態で、この例のシステムに、自動化モデル構成モジュール100およびシミュレーションモジュール130が含まれ、これらは、図1では例示のために別々のモジュールとして示されている。実際の実施形態では、自動化モデル構成モジュール100およびシミュレーションモジュール130を、単一のコンポーネントに組み合わせることができる。この例のシステムは、さまざまな構成でインフラストラクチャ110のパフォーマンスをシミュレートするために、インフラストラクチャ110をモデリングし、イベントおおよびトランザクションをエミュレートするように構成されている。
インフラストラクチャ110は、1つまたは複数のネットワークによって接続された装置のシステムである。インフラストラクチャ110は、ビジネスエンティティが、従業員、顧客、ベンダ、パートナ等へネットワークベースのサービスを提供するのに使用することができる。図1からわかるように、インフラストラクチャ110に、サーバ111、ストレージ112、ルータおよびスイッチ113、ロードバランサ114等、さまざまな種類の装置を含めることができる。装置111〜114のそれぞれに、アプリケーション、オペレーティングシステム、または他の種類のソフトウェアなど、1つまたは複数の論理コンポーネントを含めることもできる。
管理モジュール120は、インフラストラクチャ110を管理するように構成されている。管理モジュールに、変更および構成管理(CCM)アプリケーションまたは動作管理(OM)アプリケーションなど、インフラストラクチャ110に関連するデータを収集し、処理するハードウェアコンポーネントまたはソフトウェアコンポーネントを含めることができる。たとえば、管理モジュール120に、MICROSOFT(登録商標)Operation Manager(MOM)、System Management Server(SMS)、System Centerスイートの製品等、MICROSOFT(登録商標)社によって開発されたサーバ管理ツールを含むことができる。通常、管理モジュールによって提供されるデータは、インフラストラクチャ110の管理および監視に使用される。たとえば、システム管理者は、管理モジュール120によって提供されるデータを使用して、通常の基準でシステムパフォーマンスを保守することができる。この例では、管理モジュールによって供給されるデータが、シミュレーション用のモジュールの自動作成にも使用される。
管理モジュール120は、インフラストラクチャ110に関連するさまざまな種類のデータを提供するように構成されている。たとえば、管理モジュール120を、インフラストラクチャ110の論理トポロジからのアプリケーションコンポーネントのリスト、トランザクションワークフロー、ユーザワークロードからのパラメータ名のリスト、アクションコスト等の定数入力を提供するように構成することができる。管理モジュール120を、インフラストラクチャ110の物理トポロジ、論理トポロジから物理ハードウェアへのアプリケーションコンポーネントの論理マッピング、またはユーザワークロードからのパラメータの値等の構成可能入力を提供するように構成することができる。
管理モジュール120に、特定の分散サーバアプリケーションの構成に関する情報を返すように特に記述されたディスカバリアプリケーションを含めることもできる。たとえば、ディスカバリアプリケーションに、MICROSOFT(登録商標)Exchange Server、およびMICROSOFT(登録商標)WINDOWS(登録商標)Server用のWMIイベントコンシューマ等を含めることができる。これらのディスカバリアプリケーションは、特定の応用例のためのCCM/OMの特化されたバージョンと考えることができる。しかし、これらのアプリケーションは、通常、CCM/OMサービスとしてではなく、オンデマンドで実行される。ディスカバリアプリケーションを使用して、CCM/OMデータベースについて説明されたものに類似する形でパフォーマンスモデルを構成するのに必要な物理トポロジ、論理マッピング、およびパラメータ値を入手することができる。CCM/OMデータベースを、各ディスカバリアプリケーション用にカスタマイズされた変換ステップと共に使用することができる。データは、データベースから抽出されるのではなく、直接に返すことができる。しかし、この方法は、ディスカバリアプリケーションが実行される間の余分な遅延を伴う可能性がある。
データストア123は、管理モジュール120によって供給されるデータを格納するように構成されている。データは、1つまたは複数の動作データベース、またはデータウェアハウス等、いかなる種類のデータ構造で編成することができる。データストア123に、インフラストラクチャ110の物理トポロジおよび論理トポロジに関するデータを含めることができる。データストア123に、ワークロード、トランザクションワークフロー、またはアクションコストに関するデータも含めることができる。そのようなデータは、Event Tracing for WINDOWS(登録商標)(ETW)またはMicrosoft SQL Tracesなど、イベントトレーシング技法によって作られたトレースの形で実施することができる。
自動化モデル構成モジュール100は、インフラストラクチャ110に関する情報を入手し、シミュレーションのためにインフラストラクチャ110の各コンポーネントのモデル103を自動的に作成し、構成するように構成されている。モデル103は、シミュレーションモジュール130への入力として働く。
自動化モデル構成モジュール100は、インフラストラクチャ110と相互作用し、ネットワークディスカバリを実行して、モデルを構成するデータを取り出すことができる。しかし、自動化モデル構成モジュール100は、通常、インフラストラクチャ110の管理コンポーネントによって収集された情報をストアする動作データベースおよびデータウェアハウスからデータを入手するように構成される。たとえば、自動化モデル構成モジュール100は、データストア123からデータを取り出すことができ、このデータストア123には、管理モジュール120によって供給されるデータが含まれる。
自動化モデル構成モジュール100は、シミュレーションモジュール130への入力のための任意の種類のモデルを提供することができる。一実施形態で、自動化モデル構成は、物理トポロジ、論理トポロジ、ワークロード、トランザクションワークフロー、およびアクションコストに関する、インフラストラクチャ110のモデルを生成する。
インフラストラクチャ110の物理トポロジをモデリングするデータに、各コンポーネントの機能およびコンポーネントを相互接続する方法を含む、シミュレートされるハードウェアのリストを含めることができる。詳細のレベルは、通常、パフォーマンスデータを簡単入手できるレベルと一致するように選択される。たとえば、MICROSOFT(登録商標)WINDOWS(登録商標)オペレーティングシステムは、パフォーマンスカウンタを使用して、パフォーマンスデータを表すことができる。これらのカウンタは、通常、CPU、ネットワークインターフェースカード、およびディスクドライブのレベルまで列挙される。自動化モデル構成モジュール100は、物理トポロジ記述内の個々のCPU、ネットワークインターフェースカード、およびディスクドライブとしてシステムを表すことによって、そのようなシステムをモデリングすることができる。各コンポーネントタイプは、そのコンポーネントでのイベントに要する時間を計算するのに使用される、一致するハードウェアモデルを有することができる。したがって、CPUコンポーネント型は、CPUハードウェアモデルによって表され、このモデルでは、計算など、CPUアクションに要する時間が計算される。
自動化モデル構成モジュール100は、階層的なExtensible Markup Language(XML)フォーマットを使用して、ハードウェア情報をエンコードし、サーバに物理的に含まれる装置のコンテナとしてサーバを表すことができる。コンポーネントは、テンプレートを用いて記述することができ、このテンプレートは、そのコンポーネントの機能をエンコードすることができる。たとえば、「PIII Xeon 700MHz」テンプレートは、700MHzのクロックスピードで動作するIntel社のPIII Xeon CPUのパフォーマンスおよび機能をエンコードする。コンポーネントが、命名され、この階層的な形で記述された後に、物理トポロジ記述に、コンポーネントの間のネットワークリンクも含めることができる。物理トポロジ記述は、対応するネットワークのプロパティによってタグ付けされたコンポーネント名の対のリストとして表現することができる。1台のサーバに複数のネットワークインターフェースカード(NIC)が存在する場合に、使用される特定のNICを指定することもできる。下は、例示的な物理トポロジモデリングに関するコードである。
Figure 2006048703
インフラストラクチャ110の論理トポロジのデータモデリングに、モデリングされるアプリケーションのソフトウェアコンポーネント(またはサービス)のリストと、コンポーネントが物理トポロジに記述されたハードウェアにどのようにマッピングされるかの記述を含めることができる。ソフトウェアコンポーネントのリストは、アプリケーションモデルの一部として供給することができる。たとえば、e−コマースウェブサイトのアプリケーションモデルに、MICROSOFT(登録商標)Internet Information Servicesなどのウェブサーバを表す1つのアプリケーションコンポーネントと、MICROSOFT(登録商標)SQL Serverなどのデータベースサーバを表すもう1つのアプリケーションコンポーネントを含めることができる。各アプリケーションコンポーネントの記述に、アプリケーションコンポーネントが実行のために必要とするハードウェアアクションを含めることができる。
ハードウェアへのアプリケーションコンポーネントの論理−物理マッピングは、各アプリケーションコンポーネントを実行するサーバ(物理トポロジで記述された)の、ロードバランシングがサーバ間でどのように実行されるかの記述を伴うリストを使用して表すことができる。これが、必ずしも1対1マッピングでないことに留意されたい。単一のアプリケーションコンポーネントが、複数のサーバに広がる場合があり、単一のサーバが、複数のアプリケーションコンポーネントをホスティングする場合がある。下は、例示的な論理トポロジモデリングに関するコードである。
Figure 2006048703
インフラストラクチャ110のワークロードをモデリングするデータに、シミュレートされるシステムのパフォーマンスに影響する数値パラメータを定義する、名前/値対のリストを含めることができる。たとえば、上で説明したe−コマースウェブサイトに、同時ユーザ数、異なるトランザクションを実行する頻度などのパラメータを含めることができる。下は、ワークロードモデリングに関する例のコードである。
Figure 2006048703
一実施形態で、自動化モデル構成モジュール100は、管理モジュール120によって供給されたデータストア123内の既存データを用いてインフラストラクチャ110のモデルを自動的に構成するように構成されている。たとえば、自動化モデル構成モジュール100は、物理トポロジ、論理トポロジから物理ハードウェアへのアプリケーションコンポーネントの論理マッピング、およびワークロードからのパラメータの値を自動的に構成することができる。通常、自動化モデル構成モジュール100は、まず、一般的な項目でハードウェアまたはソフトウェアを記述したテンプレートとして、モデルを作成することができる。次に、自動化モデル構成モジュール100は、ハードウェアモデルがどのように接続されるか、ソフトウェアモデルがどのように構成され、または使用されるか等、モデリングされるアイテムの特定のインスタンスを反映するようにモデルを構成する。
シミュレーションモジュール130は、自動化モデル構成モジュール100によって生成され、および構成されたモデルを使用するインフラストラクチャ110によって実行されるアクションをシミュレートするように構成される。シミュレーションモジュール130は、インフラストラクチャ110のイベントをシミュレートするイベントベースのシミュレーションエンジンを含むことができる。たとえば、イベントに、ソフトウェアコンポーネントのアクションを含めることができる。イベントは、ユーザロードに従って生成され、その後、基礎になるハードウェアによって実行される。各イベントに要する時間を計算し、イベント間の依存性を考慮に入れることによって、モデリングされるハードウェアおよびソフトウェアのパフォーマンスの諸態様がシミュレートされる。
上で図1に関して説明したシステムは、どのITインフラストラクチャにおいても使用することができる。たとえば、通常のエンタープライズIT環境は、複数の全世界スケールのデータセンタを有し、数百台のサーバが複雑なネットワークに編成されている。ユーザが、そのような環境の構成を手動でキャプチャすることは、多くの場合困難である。通常、ユーザは、その環境の小さいサブセットをモデリングすることだけを要求される。この状況であっても、モデリングプロセスは、労働集約的である。本明細書に記載のシステムは、イベントベースシミュレーションに関するパフォーマンスモデリングを、広範囲のユーザの基礎が使用できるようにする。このシステムは、エンタープライズ管理ソフトウェアから入手可能な既存の情報を使用することによって、パフォーマンスモデルを自動的に構成する。
モデルの構成を自動化し、単純化することによって、本明細書に記載のシステムは、ユーザがさまざまな状況でパフォーマンスプラニングを実行することを可能にする。たとえば、ユーザが、現在の配備を表すモデルを素早く構成できるようにすることによって、このシステムは、ユーザが、素早く変化する環境内であっても、毎週または毎日のキャパシティレポートを作成できるようにする。頻繁なキャパシティレポート作成によって、ITプロフェッショナルが、発生する前にパフォーマンス問題を予測し、訂正するなど、インフラストラクチャを積極的に管理できるようになる。
上記で説明したシステムは、ユーザが、広範囲のパフォーマンス要因を分析するために組織のより大きい部分を簡単にモデル化することも可能にする。たとえば、メールサーバ配備が、複数のデータセンタに影響する可能性がある。関連する構成データが使用可能である場合に、メールサーバを有する既存インフラストラクチャのモデルを自動的に構成することができ、そのモデルを使用して、たとえばアジアのオフィスからアメリカ本社へ電子メールが送信されるまでの待ち時間の判定など、エンドツーエンドのトランザクションの待ち時間を予測することができる。そのような分析の利点のもう1つの例が、アジア/アメリカWANリンクのメールトラフィックに起因する使用率の計算である。
本明細書に記載のシステムを使用するパフォーマンス分析は、データセンタの動作のトラブルシューティングにも使用することができる。たとえば、MOMなどの動作管理ソフトウェアが、メールサーバでの遅い応答に関してアラートを発行することができる。ITプロフェッショナルは、このシステムを使用して、システムの現在の状態を表すモデルを自動的に構成し、期待されるパフォーマンスをシミュレートし、その問題がキャパシティ問題に起因するか他の原因に起因するかを判定することができる。
図2に、図1に示された自動化モデリングモジュール100の例示的なコンポーネントを示す。図2に示すように、自動化モデリングモジュール100に、物理トポロジモデリングモジュール201、論理トポロジモデリングモジュール202、およびイベント分析モジュール203を含めることができる。モジュール201〜203は、例示のみのために示されている。実際の実施形態では、モジュール201〜203が、通常は1つのコンポーネントに統合される。
物理トポロジモジュール201は、インフラストラクチャの物理トポロジをモデリングするように構成されている。物理トポロジは、CCMアプリケーション、OMアプリケーション、またはディスカバリアプリケーションから直接に取り出されたデータから導出することができる。たとえば、データを、図1の管理モジュール120から取り出すことができる。通常、物理トポロジは、管理モジュール120の動作データベースまたはデータウェアハウスから取り出されたデータを使用することによって導出される。
取り出されたデータに、通常、サーバおよびそれに含まれるハードウェアコンポーネントのリスト、およびネットワークの物理トポロジ(たとえば、サーバ間の相互接続)等、インフラストラクチャのモデルを構成する情報が含まれる。物理トポロジモジュール201を、取り出されたデータをシミュレーションに使用可能なモデルを作成するためのフォーマットに変換するように構成することもできる。たとえば、取り出されたデータを、XMLフォーマットに変換することができる。物理トポロジモジュール201を、余分な情報をフィルタリングするように構成することもできる。たとえば、メモリサイズが通常はシミュレーションについて直接にモデル化されない場合であっても、取り出されたデータにインフラストラクチャのコンポーネントのメモリサイズが含まれる場合がある。物理トポロジモジュール201を、さらに、取り出されたデータの「セマンティック拡張(semantic expansion)」を実行するように構成することができる。たとえば、物理トポロジモジュール201が、単純なストリングとして表すことができるディスクドライブの名前を、ディスクサイズ、アクセスタイム、回転速度、または類似物の値を有する適当なテンプレートに変換することができる。物理トポロジモジュール201を、異なるディスカバリアプリケーションからのさまざまな型のフォーマットのデータを変換するように構成することができる。
論理トポロジモデリングモジュール202は、ソフトウェアコンポーネントを、管理モジュール120によって供給されるデータから導出された物理ハードウェアモデルにマッピングするように構成されている。CCMアプリケーションとOMアプリケーションの両方からのデータを使用することができる。たとえば、CCMアプリケーションは、MICROSOFT(登録商標)Exchange ServerがExchangeシステムでの複数の別個の役割の1つを有する場合であっても、Exchange Serverの単純な存在または不在を記録することができる。対照的に、Exchange Serverの監視に使用されているOMアプリケーションに、Exchange Serverの役割などのフル構成情報を含めることもでき、この情報を使用して、Exchangeのパフォーマンスモデルが対応するアプリケーションコンポーネントを宣言することができる。論理トポロジモデリングモジュール202を、基礎になるフォーマットのデータをシミュレーションモデルに使用可能なフォーマットに変換し、モデリングされていないアプリケーションの存在など、不要な情報をフィルタリングするように構成することができる。
ワークロードモデリングモジュール203は、ユーザワークロードからパラメータの値を導出するように構成されている。通常、値は、管理モジュール120から取り出されたデータから導出される。取り出されたデータに、監視されている1つまたは複数のアプリケーションが経験したワークロードに関する現在の情報またはヒストリカル情報が含まれる場合がある。通常のパフォーマンスカウンタに、同時ユーザ数、要求されている異なるトランザクションの個数等を含めることができる。必要な場合に、変換ステップを実行して、取り出されたデータの基礎になるフォーマットからシミュレーション用のモデルに使用可能なフォーマットに変換し、数学的変換を実行することができる。たとえば、OMデータベースが、1時間の間に要求された異なる種類のトランザクションの個々の個数を記録する場合があるが、モデルが、この同一の情報を、1時間のトランザクションの総数と、異なる種類のそれぞれのトランザクションの比率とで表す場合がある。
図3に、インフラストラクチャのパフォーマンスをシミュレートする例のプロセス300を示す。ブロック301で、インフラストラクチャに関連するトポロジデータおよびパフォーマンスデータを識別する。識別されるデータを、インフラストラクチャの1つまたは複数の管理アプリケーションによって供給することができる。データは、管理アプリケーションによって直接に、または動作データベースもしくはデータウェアハウスを介して供給することができる。
ブロック303で、識別されたデータを処理して、インフラストラクチャのモデルの入力を入手する。たとえば、トポロジデータを、XMLフォーマットなど、モデリングモジュールまたはシミュレーションモジュールによって使用可能なフォーマットに変換することができる。パフォーマンスデータを、ワークロードを表すのにすぐに使用されるフォーマットに変換することができる。
ブロック305で、モデリング入力を使用して、インフラストラクチャのモデルを自動的に構成する。インフラストラクチャのモデルを自動的に構成する例のプロセスを、図4で説明する。短く言うと、モデルは、物理トポロジ、論理トポロジ、ワークロード、トランザクションワークフロー、アクションコスト等に関するデータなど、管理アプリケーションからの既存データを使用して構成される。
ブロック307で、モデルに基づいて1つまたは複数のシミュレーションを実行する。このシミュレーションは、インフラストラクチャの物理コンポーネントおよび論理コンポーネントのモデルを用いてイベントおよびアクションをエミュレートすることに基づいて実行される。シミュレーションは、インフラストラクチャの現在の構成または潜在的な構成に対して実行することができる。自動的に構成されたモデルを使用してインフラストラクチャをシミュレートする例示的なプロセスを、図5で説明する。ブロック309で、シミュレーションの結果を出力する。
図4に、インフラストラクチャのモデルを自動的に構成する例のプロセス400を示す。プロセス400は、図1および2に示された自動化モデル構成モジュール100によって実施することができる。ブロック401で、インフラストラクチャの管理アプリケーションによって供給された物理トポロジデータを使用して、ハードウェアモデルを構成する。物理トポロジデータに、インフラストラクチャの装置のハードウェア構成およびこれらの装置のコンポーネントを含めることができる。物理トポロジデータに、装置がどのように接続されるかに関する情報も含めることができる。
ブロック403で、インフラストラクチャの管理アプリケーションによって供給された論理トポロジデータからソフトウェアモデルを決定する。論理トポロジデータに、インフラストラクチャの装置のソフトウェアコンポーネントおよびソフトウェアコンポーネントの構成に関する情報を含めることができる。ブロック405で、ソフトウェアモデルをハードウェアモデルにマッピングする。
ブロック407で、インフラストラクチャの管理アプリケーションから、ワークロードデータ、トランザクションワークフローデータ、およびアクションコストデータを決定する。具体的に言うと、このデータは、ハードウェアコンポーネントおよびソフトウェアコンポーネントによって実行されるイベントおよびアクションと、これらのイベントおよびアクションに関連する時間およびワークロードを定義することができる。ブロック409で、データをモデルに統合する。たとえば、ソフトウェアモデルとハードウェアモデルとを、定義されたイベントおよびアクションを実行する時のモデルのパフォーマンスを反映するように構成することができる。
図5に、自動的に構成されたモデルを使用してインフラストラクチャをシミュレートする例のプロセス500を示す。プロセス500は、図1に示されたシミュレーションモジュール130によって実施することができる。ブロック501で、シミュレーションを実行する命令を受け取る。この命令に、シミュレーションをどのように実行するかに関する情報を含めることができる。たとえば、この命令によって、インフラストラクチャの既存の構成または変更された構成を使用してシミュレーションを実行することを指定することができる。この命令によって、インフラストラクチャの現在のワークロードまたはインフラストラクチャの1つまたは複数のコンポーネントの異なるワークロードを使用するなど、シミュレーションのワークロードを指定することができる。
ブロック503で、既存インフラストラクチャのモデルを決定する。通常、モデルは、モデリングモジュールによって提供され、インフラストラクチャの現在の状態を反映するように自動的に構成される。判断ブロック505で、インフラストラクチャモデルの構成を変更するか否かに関する判定を行う。変更された構成を用いるインフラストラクチャのシミュレーションを実行して、その変更を実際に実施する前にパフォーマンス影響を予測することができる。構成変更がない場合には、プロセス500はブロック513に移動する。
判断ブロック505に戻って、変更を行うという判定が行われた場合に、プロセス500は、ブロック507に移動し、インフラストラクチャに対する変更を識別する。変更は、物理トポロジ、論理トポロジ、またはパフォーマンスパラメータなど、インフラストラクチャの任意の態様に関するものとすることができる。ブロック509で、識別された変更に従ってモデルを変更する。ブロック513で、変更されたモデルを使用してシミュレーションを実行する。
図6に、本明細書で説明するシステムおよび方法を実施する例示的なコンピュータ装置600を示す。最も基本的な構成で、コンピューティング装置600に、通常、少なくとも1つの中央処理装置(CPU)605およびメモリ610が含まれる。
コンピューティング装置の正確な構成およびタイプに応じて、メモリ610を、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)、またはこの2つの組合せとすることができる。さらに、コンピューティング装置600は、追加の特徴/機能性も有することができる。たとえば、コンピューティング装置600に、複数のCPUを含めることができる。本明細書で説明する方法は、コンピューティング装置600の任意の処理装置によって任意の形で実行することができる。たとえば、本明細書で説明するプロセスを、両方の複数のCPUによって並列に実行することができる。
コンピューティング装置600に、磁気ディスク、磁気テープ、光ディスク、または光テープを含むがこれに限定されない追加ストレージ(取り外し可能および/または固定)も含めることができる。そのような追加ストレージが、図6ではストレージ615によって示されている。コンピュータストレージ媒体に、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納の方法または技術で実施された、揮発性および不揮発性、取り外し可能および固定の媒体が含まれる。メモリ610およびストレージ615は、すべて、コンピュータストレージ媒体の例である。コンピュータストレージ媒体に、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージ装置、あるいは、所望の情報を格納するために使用でき、コンピューティング装置600によってアクセスできる他のすべての媒体が含まれるが、これらに制限はされない。そのようなコンピュータストレージ媒体のどれでも、コンピューティング装置600の一部とすることができる。
コンピューティング装置600に、この装置が他の装置と通信できるようにする通信装置640も含めることができる。通信装置640は、通信媒体の一例である。通信媒体は、通常、搬送波または他のトランスポート機構などの変調されたデータ信号内でコンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータを実施し、すべての情報配布媒体を含む。用語「変調されたデータ信号」は、信号内で情報を符号化する形でその特性の1つまたは複数を設定または変更された信号を意味する。限定ではなく例として、通信媒体に、有線ネットワークまたは直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。本明細書で使用される用語コンピュータ読み取り可能媒体に、コンピュータストレージ媒体と通信媒体の両方が含まれる。本明細書で説明する方法を、データ、コンピュータ実行可能命令、および類似物など、任意の形でコンピュータ読み取り可能媒体に符号化することができる。
コンピューティング装置600は、キーボード、マウス、ペン、音声入力装置、接触入力装置などの入力装置635も有することができる。ディスプレイ、スピーカ、プリンタなどの出力装置630も含めることができる。これらの装置のすべてが、当技術分野で周知であり、詳細な説明を必要としない。
上述したように、本明細書で説明するシステム、方法、およびデータ構造は、使用可能な管理アプリケーションからのデータを使用して、インフラストラクチャモデルを自動的に構成することができる。これらのシステム、方法、およびデータ構造を、さらに、自動妥当性検査較正特徴を組み込むことによって機能強化することができる。モデルを、ユーザによって選択される正確さの度合まで妥当性検査し、較正することができる。
インフラストラクチャのモデルを自動的に構成した後に、妥当性検査を実行して、モデルのパフォーマンス予測がユーザ指定の範囲まで正確であることを確認することができる。指定された正確さの範囲が達成されない場合には、較正を実行して、指定された精度を達成するためにモデルの非構成可能な態様を変更することができる。ハードウェア、トポロジ、ワークロード、または類似物の表現などのモデルの構成可能な態様は、通常、較正によって変更されない。較正は、アクションコスト、バックグラウンドロード、またはモデルテンプレートの一部である他のパラメータなど、モデルに関連するパラメータを変更することができる。
アクションコストは、特定のハードウェアリソースでの特定のトランザクションステップのリソース要件を表す数値である。アクションコストは、使用されるハードウェア装置の種類に固有の項で測定される。通常、アクションコストは、装置の特定のインスタンスと独立である。たとえば、CPUのアクションコストは、計算のメガサイクル単位で測定でき、ディスクのアクションコストは、必要なディスク転送の回数および転送されるデータの量に関して測定することができる。異なるCPUおよびディスクは、同一のアクションコストを必要とするアクションを処理するのに、異なる量のシミュレートされた時間を要する可能性がある。アクションコストは、通常、パフォーマンスラボラトリでシミュレートされるアプリケーションのベンチマークを行うことによって、インフラストラクチャモデルの開発中に入手される。
理想的には、特定の装置の種類(たとえば、CPU)のすべてのアクションコストを、単一の数値(たとえば、メガサイクル)を使用して記述でき、その装置の種類のすべてのインスタンスにまたがって正確にスケーリングすることができる。実際には、スケーリングが単純でない場合がある。たとえば、2倍のクロックスピードを有するCPUで同一のアクションを実行することが、半分の時間でのアクションの完了をもたらさない場合がある。この非線形スケーリングに影響するすべての要因を考慮に入れることは、多くの場合非実用的である。すべての可能な要因を考慮に入れた非常に複雑なモデルが提供される場合であっても、そのモデルが、さまざまな理由から使用されない場合がある。たとえば、最終的な結果を完了するのに必要な時間および/またはメモリが、単純なモデルよりはるかに多くなり、極端に長いシミュレーション時間がもたらされる可能性がある。また、必要な入力変数の数が、単純なデータ収集およびモデル構成には多すぎる可能性がある。アプリケーションおよびハードウェアに指示するのに大量の時間または労力を費やすことは、望ましくない可能性がある。
モデルの精度と複雑さとの間の難しいトレードオフを多少なりとも解決するために、較正を行って、この両方の利益を得ることができ、たとえば、単純で高速なモデルを、さまざまな範囲の入力に関する指定された最低限の精度で使用することができる。妥当性検査を実施して、モデリング精度が十分であるか否かを判定することができる。較正を実施して、使用される入力の特定の組をよりよく反映するようにアクションコストを調整することができる。
バックグラウンドロードは、実際面においてしばしば出会うが、通常は普通のモデルで実施されないもう1つの変数である。バックグラウンドロードは、ワークロードモデルの一部でない、アプリケーションによるハードウェアリソースの使用率を指す。たとえば、ウィルスチェッカが、ウィルスシグネチャについてディスクの内容をスキャンするために、すべてのディスク読み取りに対する余分なCPUオーバーヘッドを課す可能性がある。ローカルエリアネットワーク(LAN)が、もう1つの例である。というのは、LANが、単一のアプリケーション専用であることが非常に稀であるからである。しばしば、LANは、複数のアプリケーションを実行する複数のコンピュータの間で共有され、これらのアプリケーションのそれぞれが、ネットワークに対するそれ自体の影響を有する。時々、ユーザが、このバックグラウンドロードに気付く場合があり、たとえばLANの使用率を固定値として指定することにより、最初のモデル構成の一部としてこのロードを含める場合がある。しかし、より多くの場合、ユーザは、これらの余分な影響を知らず、パフォーマンスモデルが不正確に見えることだけを知っている。
さらに、あるバックグラウンドロードが、一定ではなく、ワークロードに依存する場合がある。ウィルスチェッカがその例である。通常、ディスク動作は、CPUと独立にモデリングされる。ディスクモデルで「CPUコスト」フィールドが提供されない場合がある。ウィルスチェッカの影響は、ディスクアクセスアクションを含むすべてのトランザクションに関するCPUコストの増加として捉えることができる。
パフォーマンスモデルの精度の妥当性検査を行うために、モデリングされるアプリケーションのパフォーマンスをキャプチャすることができる。パフォーマンスデータは、アプリケーションおよびそのアプリケーションが実行されるハードウェア装置のパフォーマンス態様を測定する統計カウンタを使用してキャプチャすることができる。たとえば、MICROSOFT(登録商標)WINDOWS(登録商標)によって公開される「パフォーマンスカウンタ」を使用することができる。他の例に、ハードウェア測定値(たとえば、CPUによって使用されるCPU時間の量)と、平均トランザクションレートなどのパフォーマンスを測定するためにアプリケーションによって作成されるカウンタとが含まれる。
モデルは、通常、モデルの構成情報の一部としてパフォーマンスカウンタ測定値を使用するように開発される。モデルの抽象化のレベルは、パフォーマンス情報の可用性と一致するように選択することができる。モデルの出力は、これらのパフォーマンスカウンタに関して表すこともできる。たとえば、出力に、シミュレートされる一連のトランザクション中に特定のCPUにおいて、CPU時間がどれだけ使用されるか、およびアプリケーションが維持する平均トランザクションレートを含めることができる。
上記で説明したように、自動構成中に、モデリングされるアプリケーションに関する情報を、OMデータベースからインポートすることができる。そのようなデータベースの例が、Microsoft Operation Manager(MOM)であり、このMOMには、モデリングされるアプリケーションのパフォーマンスカウンタのヒストリカル値が含まれる。これらのカウンタは、入力ワークロード(たとえば、処理されるトランザクションの個数)および観察された結果(たとえば、消費されたCPU時間)の両方をキャプチャすることができる。
妥当性検査に、自動的に構成されたモデルを使い、OMデータベースからヒストリカルに観察されたパフォーマンスカウンタ値(たとえば、1時間あたりのトランザクション数)をモデルへの入力にセットし、パフォーマンスシミュレーションを実行し、予測された出力をヒストリカルに観察されたパフォーマンスカウンタ値(たとえば、消費されたCPU時間)と比較することを含めることができる。予測されたパフォーマンスカウンタ値について、パフォーマンスモデルの精度を、相対項(すなわち、パーセンテージ)と絶対項(たとえば、メガサイクル数)の両方で表すことができる。必要な精度を、これらの項のいずれかで表すことができる。さらに、パフォーマンスカウンタをグループ化することができる。必要な精度を、グループに全体として適用することができる。たとえば、ユーザは、すべてのディスク帯域幅予測が20%以内の精度であること、またはフロントエンドウェブサーバでのすべてのCPUメガヘルツ予測が5%以内の精度であることを要求することができる。
パフォーマンスカウンタを、カウンタのスコープに基づいて2つのカテゴリに編成することができる。一部のカウンタは、特定のアプリケーションに適用される。たとえば、メールサーバアプリケーションは、そのアプリケーションによって引き起こされるCPU使用量を公開することができる。これらのカウンタを、アプリケーション固有カウンタとして定義することができる。オペレーティングシステム(OS)は、システムの総合パフォーマンスを監視し、総CPU使用量などのカウンタを公開する責任も負う。これらのシステムワイドカウンタに、システムで実行されるすべてのアプリケーションの使用量を含めることができる。モデルに誤差がある場合に、これらのカウンタを使用して、誤差の源を判定することができる。誤差は、ワークロード依存誤差およびワークロード独立誤差として特徴を表すことができる。
ワークロード依存誤差に、アプリケーションワークロードの関数として変化する大きさを有する誤差が含まれる。たとえば、ワークロード依存誤差は、不正なモデリング仮定、スタートアップ効果(たとえば、コールドキャッシュ)、アプリケーション飽和(たとえば、ロック)、または欠けているトランザクションクラス等から生じる可能性がある。欠けているトランザクションクラスは、非常に一般的である。というのは、通常、サポートされるすべてのトランザクションではなく、最も一般的なトランザクションだけがモデリングされるからである。ワークロード依存誤差の効果は、アプリケーション固有カウンタをモデリング結果と比較することによって計算することができる。たとえば、メールサーバアプリケーションの予測されたCPU使用率が10%であり、そのアプリケーションの実際のCPU使用量が15%である場合に、5%の差が、ワークロード依存誤差である。
ワークロード独立誤差は、ワークロードと独立である大きさを有する誤差を含む。ワークロード依存誤差は、通常、OSからのオーバーヘッドから、またはモデルに含まれない他のワークロードから生じる。たとえば、単一のサーバ装置が、メールサーバアプリケーションとファイルサーバアプリケーションとの両方を実行する場合がある。メールサーバアプリケーションモデルは、ファイルサーバアプリケーションによって引き起こされる装置使用を考慮に入れていない可能性がある。ワークロード独立誤差の影響は、システムワイドカウンタをアプリケーション固有カウンタと比較することによって計算することができる。たとえば、メールサーバアプリケーションのCPU使用量が25%であり、総CPU使用量が35%である場合に、10%の差が、一定のロードまたはバックグラウンドロードに起因するワークロード独立誤差である。
必要な精度限度のデフォルト値を、基礎になるモデルの一部として供給することができる。たとえば、ディスクモデルが、実際に特に正確であることがわかっている場合に、デフォルトの必要精度を5%に設定することができる。というのは、この範囲外の値が、バックグラウンドロードなどの隠れた基礎になる要因の結果である可能性が高いからである。逆に、CPUモデルが、より不正確であることがわかっている場合に、デフォルトの必要精度を20%に設定して、結果からの不正確な結論を避けることができる。
精度をグループ化して、情報の表示を単純にし、ユーザロードを減らすことができる。たとえば、データセンタ内のすべてのフロントエンドウェブサーバの精度を示すのではなく、妥当性検査ユーザインターフェースに、ある範囲の精度(たとえば、「−6%〜7%」)を有する、フロントエンドウェブサーバの単一の表現を示すことができる。さらに、カラーコーディングによって、インターフェースの可用性をさらに高めることができる。たとえば、十分にユーザが指定した限度内にある精度を有するパフォーマンスカウンタを緑で表示し、限度に近いものをオレンジで表示し、限度を超えるものを赤で表示することができる。
ユーザが、すべてのパフォーマンスカウンタの観察に対する予測精度に満足した場合に妥当性検査プロセスは完了し、ユーザは、そのモデルを使用して、最終的な結果でより高い信頼性を有するwhat−if分析を実行することができる。そうでない場合に、1つまたは複数のサイクルの較正およびそれに続く妥当性検査を実行することができる。
較正には、基礎になるパフォーマンスモデルのアクションコストまたはバックグラウンドロードのいずれかを調整して、モデル妥当性検査の精度を改善することが含まれる。不正確さの基礎になる原因がワークロードに依存する(すなわちワークロード依存誤差)場合、アクションコストの調整によって望みの効果をもたらすことができる。基礎になる原因が、たとえば別のアプリケーションがある比率のLAN帯域幅を使用しているなど、ワークロードに依存しない場合、アクションコストの調整は、妥当性検査のために選択されたものを除くワークロードのすべてのレベルについて不正確な結果をもたらす可能性がある。
バックグラウンドロードの調整を行って、ワークロード依存バックグラウンドロードの概念を含めることにより、モデル妥当性検査の精度を高めることができる。バックグラウンドロードは、定数または現在のワークロードを乗じられるスカラとすることができる。バックグラウンドロードは、アクションごとのレベルではなく、装置ごとのレベルで適用することができる。しかし、モデルがアプリケーションのパフォーマンスを低く見積もる事例をキャプチャするために、バックグラウンドロードを拡張して、負のロードを含めることができる(すなわち、装置のキャパシティを調整し、その結果、モデルに基づき、あるべき値より高くなるようにする)。負のロードは、装置がモデルの結果よりよくスケーリングされる事例を考慮に入れるために使用することができる。
バックグラウンドロードの概念を、シミュレーションに使用されている基礎になるハードウェアモデルのリソースキャパシティに適用することができる。バックグラウンドロードは、一定(すなわち、ワークロード独立誤差)とするか、ワークロード依存とすることができ、正または負の係数として働くことができる。バックグラウンドロードを調整する訂正量は、基礎になるモデルに依存する。モデルが線形である場合、訂正係数による乗算で十分である場合がある。しかし、より複雑なモデルは、適当な訂正係数を決定するために、独自の計算を必要とする場合がある。デフォルトの精度値と同様に、これらの計算を、ハードウェアモデル内の較正機能として提供することができる。この較正機能を、観察された不正確さを有する装置の種類毎に呼び出すことができる。較正機能は、不正確さを0にするためにリソースコストを変更する適当な係数または定数量を返すことができる。
不正確さ誤差が観察された後に、分析を実行して、不正確さのどの部分が定数効果に起因し、どの部分がワークロード依存効果に起因するかを判定することができる。この判定は、2つのシミュレーションの結果を比較することによって行うことができる。この判定は、アプリケーション固有カウンタの結果とシステムワイドパフォーマンスカウンタの結果を比較することによって行うことができる。
シミュレーションによる不正確さの査定に、2つの異なるワークロード値を使用して2つのシミュレーションを実行するステップと、この2つのシミュレーションの不正確さが同一であるか変化するかを判定するステップとが含まれる。第2のシミュレーションに関して、前のワークロードの半分または2倍など、任意のワークロード変更を行うことができる。ワークロードを2倍にすることによって、個々のコンポーネントが飽和に近いので、非線形パフォーマンス効果がもたらされる可能性がある。たとえば、システム全体の挙動が普通は線形である場合であっても、挙動が指数関数的になる場合がある。したがって、第2のシミュレーションで半分のワークロードを使用することによって、多くの場合に、よりよい結果をもたらすことができる。しかし、第2のシミュレーションでワークロードを半分にすることは、最初のワークロードが非常に小さく、モデルがパフォーマンスカウンタの粒度のレベルに近づき、パフォーマンス効果がノイズで失われる可能性がある場合には望ましくない可能性がある。したがって、この解決策を使用する較正は、次のステップからなる。
a)異なるワークロード強度を用いて(たとえばワークロードを半分にして)シミュレーションを2回実行する。
b)較正を必要とするモデリングされたハードウェア装置ごとに、
i)観察されたパフォーマンスカウンタと第1および第2のシミュレーションの予測されたパフォーマンスカウンタを比較して、装置に定数バックグラウンドロードまたは変数バックグラウンドロードのどちらを適用しなければならないかを判定する。
ii)適当なハードウェアモデルの較正機能を呼び出し、定数または変数のバックグラウンドロード誤差を供給し、対応する定数または変数のバックグラウンドロード係数を得る。
iii)ロード係数を基礎になる装置に適用する。
シミュレーションによる不正確さの査定は、次のように表すことができる。
e=I・ev+ec⇒um−up=I・ev+e
ここで、Iはロードを表し、eは総誤差を表し、ecは定数誤差(たとえば、バックグラウンドロードに起因する)を表し、evはロードに起因する可変誤差を表し、upは予測された装置使用率を表し、umは測定された装置使用率を表す。
上の式では、um、up、およびIが既知である。2つのロードを用いてシミュレーションを実行することによって、2つの未知数を有する2つの式という単純な系がもたらされる。したがって、evおよびecを簡単に決定することができる。
パフォーマンスカウンタを使用することによる不正確さの査定は、通常、同一の装置の使用率レベルの特徴を表す、アプリケーション固有パフォーマンスカウンタおよびシステムワイドパフォーマンスカウンタの対の可用性を必要とする。較正は、下記によって実行することができる。
a)バックグラウンドロードに起因する誤差を決定する(たとえば、予測された使用率カウンタからシステムワイドカウンタを引く)。その結果が、装置に適用される定数バックグランドロードである。
b)ワークロード依存誤差を決定する(たとえば、予測された使用率カウンタからアプリケーション固有カウンタを引く)。その結果が、ロードの関数として適用されるバックグラウンドロードである。
c)組み合わされたロード係数を基礎になる装置に適用する。
較正ステップを完了した後に、妥当性検査をもう一度実行することができる。
図7に、妥当性検査されたモデルを使用してインフラストラクチャのパフォーマンスをシミュレートする例示的なプロセス700を示す。プロセス700は、図3に示されたプロセス300に類似するが、ブロック307以降に余分なステップを含む。
判断ブロック703で、自動的に構成されたモデルの妥当性検査を実行するか否かの判定を行う。行わない場合に、プロセス700は、ブロック309で継続される。妥当性検査を実行する場合には、プロセス700は、ブロック707に移動し、ここで、モデルの妥当性検査を行う。モデルを妥当性検査する例示的なプロセスを、図8に関して説明する。このプロセスは、次に、ブロック707に移動し、シミュレーションの結果を出力する。
図8に、インフラストラクチャのモデルを妥当性検査する例のプロセス800を示す。ブロック803で、シミュレーションからの結果を識別する。ブロック805で、測定値からワークロードデータを判定する。測定されたワークロードデータは、インフラストラクチャの管理モジュールによって供給することができる。ブロック807で、シミュレーション結果を、測定されたワークロードデータと比較する。この比較から誤差を計算することができる。判断ブロック809で、誤差が許容可能なレベルであるか否かを判定する。そうである場合に、処理800は、ブロック815に移動し、モデルの妥当性検査を行う。
判断ブロック809に戻って、誤差が許容可能なレベルでない場合に、処理800は、ブロック811に移動し、インフラストラクチャの各装置のロード係数を決定する。ロード係数は、総合パフォーマンスカウンタによって供給されるデータとアプリケーション固有カウンタによって供給されるデータを比較することによって判定することができる。ロード係数は、2つの異なるワークロードレベルを用いて実行された2つのシミュレーションによって生成された結果から決定することもできる。これらの方法の例を、図9および10に関して説明する。
ブロック813で、ロード係数を用いてモデルを較正する。たとえば、モデルを構成して、定数バックグラウンドロードとしてシミュレーション中のワークロード独立誤差を考慮に入れ、ワークロードレベルに基づいてワークロード依存誤差をスケーリングすることができる。ブロック815で、較正の後にモデルの妥当性検査を行う。ブロック809、811、および813のステップが、誤差が許容可能なレベルになるまで繰り返されることを理解されたい。
図9に、アプリケーション固有カウンタによって提供されるデータを使用して装置モデルを較正する例示的なプロセス900を示す。ブロック903で、装置の使用率値をシミュレーションから識別する。ブロック907で、システムワイドカウンタによって供給されるデータを使用して、総誤差を決定する。たとえば、総誤差は、システムワイドカウンタによって供給される使用率値から、シミュレーションからの装置の使用率値を引くことによって決定することができる。総誤差は、ワークロード依存成分(たとえば、モデリングされていないアプリケーションロード)およびワークロード独立成分(たとえば、装置のOSによって生成されるロード)を含むバックグラウンドロードを表すことができる。このバックグラウンドロードが、シミュレーション中にモデルによって考慮されなかったので、このロードは誤差をもたらした。
ブロック909で、アプリケーション固有カウンタによって供給されるデータを使用して、ワークロード依存誤差を決定する。アプリケーション固有カウンタによって、アプリケーションの使用率が判定される。ワークロード依存誤差は、アプリケーションに関連するシミュレートされた使用率値と実際の使用率値の間の差から決定することができる。残りの総誤差は、ワークロード独立である定数誤差である。ブロック911で、定数誤差およびワークロード依存誤差から較正のロード係数を計算する。
図10に、異なるワークロードレベルを用いて繰り返されたシミュレーションによって提供されるデータを使用して装置モデルを較正する例示的なプロセス1000を示す。ブロック1005で、2つのワークロードレベルからの測定された使用率値を識別する。ブロック1007で、2つのワークロードレベルのシミュレートされた使用率値を決定する。ブロック1009で、2つのワークロードレベルの総誤差を計算する。たとえば、総誤差は、測定されたデータからシミュレーション結果を引くことによって計算することができる。総誤差は、モデルによって考慮されていないバックグランドロードを表す。
ブロック1015で、ワークロード依存誤差を、2つのワークロードレベルの総誤差を比較することによって計算する。たとえば、総誤差が、2つのワークロードレベルで異なる場合に、その差は、ワークロードに依存する誤差を表す。残りの誤差は、ワークロード独立である。ブロック1017で、ワークロード独立誤差およびワークロード依存誤差からロード係数を決定する。
自動的に構成されたモデルの妥当性検査および較正を実施するために、図1および2に示された自動化モデリングモジュール100を構成して、上で述べたプロセス800、900、および1000を実施することができる。
本発明の好ましい実施形態を図示し、説明したが、本発明の趣旨および範囲から逸脱せずに、さまざまな変更を行えることを理解されたい。
トランザクションベースパフォーマンスモデルを自動的に構成する例のシステムを示す図である。 図1に示された自動化モデリングモジュールの例のコンポーネントを示す図である。 インフラストラクチャのパフォーマンスをシミュレートする例のプロセスを示す図である。 インフラストラクチャのモデルを自動的に構成する例のプロセスを示す図である。 自動的に構成されたモデルを使用してインフラストラクチャをシミュレートする例のプロセスを示す図である。 本明細書で説明するシステムおよび方法を実施する例示的なコンピュータ装置を示す図である。 妥当性検査されたモデルを使用してインフラストラクチャのパフォーマンスをシミュレートする例のプロセスを示す図である。 インフラストラクチャのモデルの妥当性検査を行う例のプロセスを示す図である。 アプリケーション固有カウンタによって提供されるデータを使用して装置モデルを較正する例のプロセスを示す図である。 異なるワークロードレベルを用いて繰り返されたシミュレーションによって提供されるデータを使用して装置モデルを較正する例のプロセスを示す図である。

Claims (32)

  1. 複数の装置を含むインフラストラクチャをモデリングするコンピュータによって実施される方法であって、前記インフラストラクチャは、管理アプリケーションによって監視され、
    前記インフラストラクチャのモデルを生成するステップと、
    前記管理アプリケーションによって提供される情報を使用して前記モデルを構成するステップと、
    前記モデルを用いたシミュレーションを実行するステップと、
    前記シミュレーションからパフォーマンスデータを識別するステップと、
    前記シミュレートされたパフォーマンスデータと前記管理アプリケーションによって提供される測定されたパフォーマンスデータとの比較に少なくとも部分的に基づいて、誤差を計算するステップと、
    前記誤差が閾値以内である場合に前記モデルを妥当とするステップと
    を備えたことを特徴とするコンピュータによって実施される方法。
  2. 前記インフラストラクチャ内の装置のシミュレートされた使用率値を決定するステップと、
    前記装置に関連するシステムカウンタから前記装置の測定された使用率値を決定するステップと、
    前記シミュレートされた使用率値と前記測定された使用率値とを比較することによって、総装置誤差を決定するステップと、
    前記総装置誤差を用いて前記モデルを較正するステップと
    をさらに備えたことを特徴とする請求項1に記載のコンピュータによって実施される方法。
  3. 前記モデルの較正は、アクションコストまたは前記装置に関連するバックグラウンドロードの少なくとも1つを調整することによって実行されることを特徴とする請求項2に記載のコンピュータによって実施される方法。
  4. 前記インフラストラクチャ内の装置で実行されるアプリケーションに関連するアプリケーション固有カウンタから測定された、アプリケーション使用率値を決定するステップと、
    前記アプリケーションのシミュレートされたアプリケーション使用率値を決定するステップと、
    前記測定されたアプリケーション使用率値と前記シミュレートされたアプリケーション使用率値との比較に少なくとも部分的に基づいて、ワークロード依存誤差を決定するステップと、
    前記ワークロード依存誤差に少なくとも部分的に基づく前記モデルを較正するステップと
    をさらに備えたことを特徴とする請求項1に記載のコンピュータによって実施される方法。
  5. 前記装置のシミュレートされた使用率値を決定するステップと、
    前記装置に関連するシステムカウンタから前記装置の測定された使用率値を決定するステップと、
    前記シミュレートされた使用率値と前記測定された使用率値との比較に少なくとも部分的に基づく総装置誤差を決定するステップと、
    前記総装置誤差および前記ワークロード依存誤差から定数誤差を決定するステップと、
    前記定数誤差に少なくとも部分的に基づく前記モデルを較正するステップと
    をさらに備えたことを特徴とする請求項4に記載のコンピュータによって実施される方法。
  6. 前記シミュレーションから前記インフラストラクチャ内の装置の第1のシミュレートされた使用率値を決定するステップと、
    前記装置に関連するシステムカウンタから前記装置の測定された使用率値を決定するステップと、
    前記第1のシミュレートされた使用率値と前記測定された使用率値とを比較することによって第1装置誤差を決定するステップと
    をさらに備えたことを特徴とする請求項1に記載のコンピュータによって実施される方法。
  7. 前記モデルを用いる第2シミュレーションを実行するステップと
    前記第2シミュレーションから前記装置の第2のシミュレートされた使用率値を決定するステップと、
    前記第2のシミュレートされた使用率値と前記測定された使用率値とを比較することによって第2装置誤差を決定するステップと
    をさらに備えたことを特徴とする請求項6に記載のコンピュータによって実施される方法。
  8. 前記第1装置誤差と前記第2装置誤差とを比較することによって、前記装置に関連するワークロード独立誤差およびワークロード依存誤差を決定するステップと、
    前記ワークロード独立誤差およびワークロード依存誤差に少なくとも部分的に基づく前記モデルを較正するステップと
    をさらに備えたことを特徴とする請求項6に記載のコンピュータによって実施される方法。
  9. 前記ワークロード独立誤差は、前記第1装置誤差と前記第2装置誤差との間の差に少なくとも部分的に基づく判定を行うことを特徴とする請求項8に記載のコンピュータによって実施される方法。
  10. 前記モデルの較正は、アクションコストまたは前記装置に関連するバックグラウンドロードの少なくとも1つを調整することによって実行されることを特徴とする請求項8に記載のコンピュータによって実施される方法。
  11. 請求項1に記載のコンピュータによって実施される方法を実行するコンピュータ実行可能命令を符号化されたことを特徴とする1つまたは複数のコンピュータ読み取り可能媒体。
  12. 請求項1に記載のコンピュータによって実施される方法を実行するように構成されたことを特徴とする装置。
  13. インフラストラクチャモデルを自動的に較正するコンピュータによって実施される方法であって、
    前記インフラストラクチャモデルを用いてシミュレーションを実行するステップと、
    前記インフラストラクチャモデルに含まれる装置モデルを識別するステップであって、前記装置モデルが、前記インフラストラクチャ内の装置に関連する識別するステップと、
    前記装置で実行されるアプリケーションの第1使用率レベルを前記シミュレーションから判定するステップと、
    前記アプリケーションの第2使用率レベルを測定から判定するステップと、
    前記第1使用率レベルと前記第2使用率レベルとを比較することによってワークロード依存誤差を決定するステップと、
    前記ワークロード依存誤差に少なくとも部分的に基づく前記装置モデルを較正するステップと
    を備えたことを特徴とするコンピュータによって実施される方法。
  14. 前記ワークロード誤差に少なくとも部分的に基づく前記装置モデルの較正は、ワークロードに伴ってスケーリングされる係数を用いて前記装置モデルを訂正することを含むことを特徴とする請求項13に記載のコンピュータによって実施される方法。
  15. 前記第2使用率レベルは、前記アプリケーションに関連するアプリケーション固有カウンタから判定されることを特徴とする請求項13に記載のコンピュータによって実施される方法。
  16. 前記装置の第3使用率レベルをシミュレーションから判定するステップと、
    前記装置の第4使用率レベルを測定から判定するステップと、
    前記第3使用率レベルと前記第4使用率レベルとを比較することによって装置誤差を決定するステップと、
    前記装置誤差および前記ワークロード依存誤差から定数誤差を決定するステップと、
    前記定数誤差に少なくとも部分的に基づく前記装置モデルを較正するステップと
    をさらに備えたことを特徴とする請求項13に記載のコンピュータによって実施される方法。
  17. 前記定数誤差に少なくとも部分的に基づく前記装置モデルの較正は、ワークロードに伴って変化しない定数係数を用いて前記装置モデルを訂正することを含むことを特徴とする請求項16に記載のコンピュータによって実施される方法。
  18. 前記インフラストラクチャ内の各装置の妥当性検査を行うステップと、
    妥当とされない装置毎に前記識別ステップ、前記判定ステップ、および前記較正ステップを実行するステップと
    をさらに備えたことを特徴とする請求項16に記載のコンピュータによって実施される方法。
  19. 請求項13に記載のコンピュータによって実施される方法を実行するコンピュータ実行可能命令を符号化されたことを特徴とする1つまたは複数のコンピュータ読み取り可能媒体。
  20. 請求項13に記載のコンピュータによって実施される方法を実行するように構成されていることを特徴とする装置。
  21. インフラストラクチャのモデルを自動的に較正するコンピュータによって実施される方法であって、
    第1ワークロードを有する第1シミュレーションを実行するステップと、
    前記第1ワークロードと異なる第2ワークロードを有する第2シミュレーションを実行するステップと、
    前記インフラストラクチャモデル内の装置モデルとして表された装置の第1のシミュレートされた使用率レベルを前記第1シミュレーションから判定するステップと、
    前記装置の第2のシミュレートされた使用率レベルを前記第2シミュレーションから判定するステップと、
    前記第1ワークロードに関連する、前記装置の第1の実際の使用率レベルを測定から判定するステップと、
    前記第2ワークロードに関連する、前記装置の第2の実際の使用率レベルを測定から判定するステップと、
    前記第1シミュレーションに関連する第1誤差を計算するステップであって、前記第1誤差が、前記第1のシミュレートされた使用率レベルと前記第1の実際の使用率レベルとの間の差を表す計算するステップと、
    前記第2シミュレーションに関連する第2誤差を計算するステップであって、前記第2誤差が、前記第2のシミュレートされた使用率レベルと前記第2の実際の使用率レベルとの間の差を表す計算するステップと、
    前記第1誤差と前記第2誤差との間の差を表すワークロード依存誤差を計算するステップと、
    前記ワークロード依存誤差を用いて前記装置モデルを較正するステップと
    を備えたことを特徴とするコンピュータによって実施される方法。
  22. 前記第1誤差と前記第2誤差との共通成分を表すワークロード独立誤差を決定するステップと、
    前記ワークロード独立誤差を用いて前記装置モデルを較正するステップと
    をさらに備えたことを特徴とする請求項21に記載のコンピュータによって実施される方法。
  23. 前記インフラストラクチャ内の各装置モデルの妥当性検査を行うステップと、
    妥当とされない装置毎に前記判定ステップ、前記計算ステップ、および前記較正ステップを実行するステップと
    をさらに備えたことを特徴とする請求項21に記載のコンピュータによって実施される方法。
  24. 請求項21に記載のコンピュータによって実施される方法を実行するコンピュータ実行可能命令を符号化されたことを特徴とする1つまたは複数のコンピュータ読み取り可能媒体。
  25. 請求項21に記載のコンピュータによって実施される方法を実行するように構成されたことを特徴とする装置。
  26. インフラストラクチャのモデルを用いるシミュレーションを実行する手段と、
    前記インフラストラクチャモデルで表される装置モデルを識別する手段と、
    装置のシミュレートされた装置使用率レベルを判定する手段と、
    前記装置の実際の装置使用率レベルを判定する手段と、
    前記シミュレートされた装置使用率レベルと前記実際の装置使用率レベルとの比較に少なくとも部分的に基づく装置誤差を計算する手段と、
    前記装置誤差に少なくとも部分的に基づき、前記装置モデルの妥当性検査を行う手段と
    を備えたことを特徴とするシステム。
  27. 前記装置のシミュレートされたアプリケーション使用率レベルを判定する手段と、
    前記装置の実際のアプリケーション使用率レベルを判定する手段と、
    前記シミュレートされたアプリケーション使用率レベルと前記実際のアプリケーション使用率レベルとの比較に少なくとも部分的に基づきワークロード依存係数を決定する手段と、
    前記ワークロード依存係数を用いて前記装置を較正する手段と
    をさらに備えたことを特徴とする請求項26に記載のシステム。
  28. 前記装置誤差および前記ワークロード依存係数に少なくとも部分的に基づき、ワークロード依存係数を計算する手段と、
    ワークロード独立係数を使用して前記装置を較正する手段と
    をさらに備えたことを特徴とする請求項27に記載のシステム。
  29. 異なるワークロードを用いてもう1つのシミュレーションを実行する手段と、
    前記もう1つのシミュレーションのもう1つの装置誤差を計算する手段と、
    前記2つの装置誤差の比較に少なくとも部分的に基づきワークロード依存係数を決定する手段と、
    前記ワークロード依存係数を用いて前記装置を較正する手段と
    をさらに備えたことを特徴とする請求項27に記載のシステム。
  30. 前記2つの装置誤差の比較に少なくとも部分的に基づき、ワークロード独立係数を計算する手段と、
    前記ワークロード独立係数を用いて前記装置を較正する手段と
    をさらに備えたことを特徴とする請求項29に記載のシステム。
  31. インフラストラクチャのモデルに少なくとも部分的に基づきシミュレーションを実行する手段と、
    前記インフラストラクチャに関連するパフォーマンスカウンタからデータを自動的に収集する手段と、
    前記シミュレーションからの結果と前記収集されたデータとの比較によって前記モデルの妥当性検査を自動的に行う手段と
    を備えたことを特徴とするシステム。
  32. 前記シミュレーションからの結果と前記収集されたデータとの間の誤差を計算する手段と、
    前記誤差に少なくとも部分的に基づき前記モデルを自動的に較正する手段と
    をさらに備えたことを特徴とする請求項31に記載のシステム。
JP2005224584A 2004-08-02 2005-08-02 トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正 Pending JP2006048703A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59856804P 2004-08-02 2004-08-02
US11/003,998 US20060025984A1 (en) 2004-08-02 2004-12-02 Automatic validation and calibration of transaction-based performance models

Publications (1)

Publication Number Publication Date
JP2006048703A true JP2006048703A (ja) 2006-02-16

Family

ID=34940329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005224584A Pending JP2006048703A (ja) 2004-08-02 2005-08-02 トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正

Country Status (4)

Country Link
US (1) US20060025984A1 (ja)
EP (1) EP1624397A1 (ja)
JP (1) JP2006048703A (ja)
KR (1) KR20060061759A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017506843A (ja) * 2014-01-29 2017-03-09 華為技術有限公司Huawei Technologies Co.,Ltd. 可視化されたネットワーク運用及び保守のための方法及び装置

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US7797147B2 (en) * 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US20060235664A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Model-based capacity planning
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) * 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US20070016393A1 (en) * 2005-06-29 2007-01-18 Microsoft Corporation Model-based propagation of attributes
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US20070005320A1 (en) * 2005-06-29 2007-01-04 Microsoft Corporation Model-based configuration management
US7693699B2 (en) * 2005-08-19 2010-04-06 Opnet Technologies, Inc. Incremental update of virtual devices in a modeled network
US7774657B1 (en) * 2005-09-29 2010-08-10 Symantec Corporation Automatically estimating correlation between hardware or software changes and problem events
US7941309B2 (en) * 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7743090B1 (en) * 2006-02-08 2010-06-22 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure validation
US8494924B2 (en) * 2006-03-09 2013-07-23 International Business Machines Corporation Method, system and program product for processing transaction data
US8826228B2 (en) * 2006-03-27 2014-09-02 Coherent Logix, Incorporated Programming a multi-processor system
US8073671B2 (en) * 2006-03-31 2011-12-06 Microsoft Corporation Dynamic software performance models
US20080109390A1 (en) * 2006-11-03 2008-05-08 Iszlai Gabriel G Method for dynamically managing a performance model for a data center
KR100877193B1 (ko) 2006-12-12 2009-01-13 (주)프레이맥스 선형보간방법을 이용한 최적설계 방법
KR100888418B1 (ko) * 2007-03-27 2009-03-11 (주)프레이맥스 그래픽 사용자 인터페이스를 이용한 설계 장치, 방법 및이를 구현하기 위한 프로그램을 기록한 기록매체
US7877250B2 (en) * 2007-04-23 2011-01-25 John M Oslake Creation of resource models
US7996204B2 (en) * 2007-04-23 2011-08-09 Microsoft Corporation Simulation using resource models
US7974827B2 (en) * 2007-04-23 2011-07-05 Microsoft Corporation Resource model training
US20080288622A1 (en) * 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US8489525B2 (en) 2010-05-20 2013-07-16 International Business Machines Corporation Automatic model evolution
US9875174B1 (en) * 2011-09-21 2018-01-23 Amazon Technologies, Inc. Optimizing the execution of an application executing on a programmable execution service
KR101665962B1 (ko) 2013-11-06 2016-10-13 주식회사 엘지씨엔에스 모델링 코드 검증 방법, 이를 수행하는 모델링 코드 검증 장치 및 이를 저장하는 기록매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143400A (ja) * 1996-11-07 1998-05-29 Fuji Electric Co Ltd 制御用計算機システムの性能評価方法
JP2001044993A (ja) * 1999-07-26 2001-02-16 Fujitsu Ltd ネットワークのシミュレーションモデル生成装置、その方法、及びその方法を実現するプログラムを記録した記録媒体

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325505A (en) * 1991-09-04 1994-06-28 Storage Technology Corporation Intelligent storage manager for data storage apparatus having simulation capability
US5285494A (en) * 1992-07-31 1994-02-08 Pactel Corporation Network management system
US5598532A (en) * 1993-10-21 1997-01-28 Optimal Networks Method and apparatus for optimizing computer networks
US5485574A (en) * 1993-11-04 1996-01-16 Microsoft Corporation Operating system based performance monitoring of programs
US6209033B1 (en) * 1995-02-01 2001-03-27 Cabletron Systems, Inc. Apparatus and method for network capacity evaluation and planning
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5832503A (en) * 1995-02-24 1998-11-03 Cabletron Systems, Inc. Method and apparatus for configuration management in communications networks
JPH08265367A (ja) * 1995-03-20 1996-10-11 Fujitsu Ltd ネットワーク管理・情報収集方式
US6421719B1 (en) * 1995-05-25 2002-07-16 Aprisma Management Technologies, Inc. Method and apparatus for reactive and deliberative configuration management
US5809282A (en) * 1995-06-07 1998-09-15 Grc International, Inc. Automated network simulation and optimization system
JP3574231B2 (ja) * 1995-08-21 2004-10-06 富士通株式会社 計算機ネットワークのシミュレータ装置
US5751978A (en) * 1995-11-13 1998-05-12 Motorola, Inc. Multi-purpose peripheral bus driver apparatus and method
US5960181A (en) * 1995-12-22 1999-09-28 Ncr Corporation Computer performance modeling system and method
US5726979A (en) * 1996-02-22 1998-03-10 Mci Corporation Network management system
CA2171802C (en) * 1996-03-14 2001-06-05 Richard Denison Mcdonald Comparative performance modeling for distributed object oriented applications
US5754831A (en) * 1996-05-30 1998-05-19 Ncr Corporation Systems and methods for modeling a network
US5887156A (en) * 1996-09-30 1999-03-23 Northern Telecom Limited Evolution planning in a wireless network
US6182134B1 (en) * 1997-08-25 2001-01-30 Intel Corporation Configurable system for remotely managing computers
EP0910194A2 (en) * 1997-09-24 1999-04-21 At&T Wireless Services, Inc. Network test system
DE19746904B4 (de) * 1997-10-23 2004-09-30 Telefonaktiebolaget L M Ericsson (Publ) Verkehrsdaten-Bewertungsgerät und zugeordnetes Verfahren für ein Netzwerk mit dynamischer Vermittlung
US6178426B1 (en) * 1998-01-15 2001-01-23 Symbol Technologies, Inc. Apparatus with extended markup language data capture capability
US6086618A (en) * 1998-01-26 2000-07-11 Microsoft Corporation Method and computer program product for estimating total resource usage requirements of a server application in a hypothetical user configuration
US6678245B1 (en) * 1998-01-30 2004-01-13 Lucent Technologies Inc. Packet network performance management
US6430615B1 (en) * 1998-03-13 2002-08-06 International Business Machines Corporation Predictive model-based measurement acquisition employing a predictive model operating on a manager system and a managed system
US7031901B2 (en) * 1998-05-13 2006-04-18 Abu El Ata Nabil A System and method for improving predictive modeling of an information system
US6311144B1 (en) * 1998-05-13 2001-10-30 Nabil A. Abu El Ata Method and apparatus for designing and analyzing information systems using multi-layer mathematical models
JP3449923B2 (ja) * 1998-06-02 2003-09-22 富士通株式会社 ネットワークトポロジー設計装置及びネットワークトポロジー設計方法並びにネットワークトポロジー設計プログラムを記録した記録媒体
US6920112B1 (en) * 1998-06-29 2005-07-19 Cisco Technology, Inc. Sampling packets for network monitoring
US6606585B1 (en) * 1998-10-13 2003-08-12 Hewlett-Packard Development Company, L.P. Acceptability testing for capacity planning of data storage system
US6349306B1 (en) * 1998-10-30 2002-02-19 Aprisma Management Technologies, Inc. Method and apparatus for configuration management in communications networks
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US6542854B2 (en) * 1999-04-30 2003-04-01 Oracle Corporation Method and mechanism for profiling a system
US6393432B1 (en) * 1999-06-02 2002-05-21 Visionael Corporation Method and system for automatically updating diagrams
US6408312B1 (en) * 1999-08-30 2002-06-18 Visionael Corporation Method and system for supporting multiple, historical, and future designs in a relational database
US6772107B1 (en) * 1999-11-08 2004-08-03 J.D. Edwards World Source Company System and method for simulating activity on a computer network
AU2579701A (en) * 1999-12-15 2001-06-25 Rensselaer Polytechnic Institute Network management and control using collaborative on-line simulation
US6477483B1 (en) * 2000-01-17 2002-11-05 Mercury Interactive Corporation Service for load testing a transactional server over the internet
US7353262B2 (en) * 2000-01-21 2008-04-01 Scriptlogic Corporation Validation of configuration settings prior to configuration of a local run-time environment
US6560604B1 (en) * 2000-03-10 2003-05-06 Aether Systems, Inc. System, method, and apparatus for automatically and dynamically updating options, features, and/or services available to a client device
US6845352B1 (en) * 2000-03-22 2005-01-18 Lucent Technologies Inc. Framework for flexible and scalable real-time traffic emulation for packet switched networks
JP3511620B2 (ja) * 2000-05-17 2004-03-29 日本電気株式会社 大規模ネットワーク監視系の性能解析方法およびそのシステム
US7167821B2 (en) * 2000-06-06 2007-01-23 Microsoft Corporation Evaluating hardware models having resource contention
US6996517B1 (en) * 2000-06-06 2006-02-07 Microsoft Corporation Performance technology infrastructure for modeling the performance of computer systems
US7278103B1 (en) * 2000-06-28 2007-10-02 Microsoft Corporation User interface to display and manage an entity and associated resources
US7219332B2 (en) * 2000-07-07 2007-05-15 Microsoft Corporation Configuring software components(merge) with transformation component using configurable and non-configurable data elements
US6735553B1 (en) * 2000-07-13 2004-05-11 Netpredict, Inc. Use of model calibration to achieve high accuracy in analysis of computer networks
US7246045B1 (en) * 2000-08-04 2007-07-17 Wireless Valley Communication, Inc. System and method for efficiently visualizing and comparing communication network system performance
US7085697B1 (en) * 2000-08-04 2006-08-01 Motorola, Inc. Method and system for designing or deploying a communications network which considers component attributes
US6622221B1 (en) * 2000-08-17 2003-09-16 Emc Corporation Workload analyzer and optimizer integration
US6973622B1 (en) * 2000-09-25 2005-12-06 Wireless Valley Communications, Inc. System and method for design, tracking, measurement, prediction and optimization of data communication networks
US7054924B1 (en) * 2000-09-29 2006-05-30 Cisco Technology, Inc. Method and apparatus for provisioning network devices using instructions in extensible markup language
US6978301B2 (en) * 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US20020124064A1 (en) * 2001-01-12 2002-09-05 Epstein Mark E. Method and apparatus for managing a network
US6876941B2 (en) * 2001-04-12 2005-04-05 Arm Limited Testing compliance of a device with a bus protocol
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
FR2830094B1 (fr) * 2001-09-27 2004-12-10 Cit Alcatel Procede et dispositif de simulation du comportement d'un reseau, permettant un dimensionnement a la demande
WO2003039070A2 (en) * 2001-11-01 2003-05-08 British Telecommunications Public Limited Company Method and apparatus for analysing network robustness
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US7418484B2 (en) * 2001-11-30 2008-08-26 Oracle International Corporation System and method for actively managing an enterprise of configurable components
US20030145294A1 (en) * 2002-01-25 2003-07-31 Ward Julie Ann Verifying interconnect fabric designs
US7107191B2 (en) * 2002-05-02 2006-09-12 Microsoft Corporation Modular architecture for optimizing a configuration of a computer system
US7373399B2 (en) * 2002-05-09 2008-05-13 Hewlett-Packard Development Company, L.P. System and method for an enterprise-to-enterprise compare within a utility data center (UDC)
US6990433B1 (en) * 2002-06-27 2006-01-24 Advanced Micro Devices, Inc. Portable performance benchmark device for computer systems
US7533008B2 (en) * 2002-08-19 2009-05-12 General Electric Capital Corporation System and method for simulating a discrete event process using business system data
US7292969B1 (en) * 2002-09-27 2007-11-06 Emc Corporation Method and system for simulating performance on one or more data storage systems
US7356452B1 (en) * 2002-09-27 2008-04-08 Emc Corporation System and method for simulating performance of one or more data storage systems
US7640342B1 (en) * 2002-09-27 2009-12-29 Emc Corporation System and method for determining configuration of one or more data storage systems
US20040064531A1 (en) * 2002-10-01 2004-04-01 Wisner Steven P. System and process for projecting hardware requirements for a web site
US7155534B1 (en) * 2002-10-03 2006-12-26 Cisco Technology, Inc. Arrangement for aggregating multiple router configurations into a single router configuration
US7076397B2 (en) * 2002-10-17 2006-07-11 Bmc Software, Inc. System and method for statistical performance monitoring
US7457864B2 (en) * 2002-11-27 2008-11-25 International Business Machines Corporation System and method for managing the performance of a computer system based on operational characteristics of the system components
WO2004056041A1 (en) * 2002-12-16 2004-07-01 Telecom Italia S.P.A. Method and device for designing a data network
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7904583B2 (en) * 2003-07-11 2011-03-08 Ge Fanuc Automation North America, Inc. Methods and systems for managing and controlling an automation control module system
US7529814B2 (en) * 2003-10-15 2009-05-05 International Business Machines Corporation Autonomic computing algorithm for identification of an optimum configuration for a web infrastructure
US7296256B2 (en) * 2003-10-20 2007-11-13 International Business Machines Corporation Method and apparatus for automatic modeling building using inference for IT systems
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7275020B2 (en) * 2003-12-23 2007-09-25 Hewlett-Packard Development Company, L.P. Method and system for testing a computer system by applying a load
US7673027B2 (en) * 2004-05-20 2010-03-02 Hewlett-Packard Development Company, L.P. Method and apparatus for designing multi-tier systems
US20060235664A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Model-based capacity planning
US7934660B2 (en) * 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US8005945B2 (en) * 2006-06-02 2011-08-23 Opnet Technologies, Inc. Aggregating policy criteria parameters into ranges for efficient network analysis
US8374929B1 (en) * 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
JP5026212B2 (ja) * 2007-09-28 2012-09-12 株式会社日立製作所 計算機システム並びに管理装置及び管理方法
US8055739B2 (en) * 2008-09-09 2011-11-08 International Business Machines Corporation Sharing performance data between different information technology product/ solution deployments
US8767688B2 (en) * 2008-09-23 2014-07-01 Lu Qian Virtual network image system for wireless local area network services
US8819561B2 (en) * 2008-11-12 2014-08-26 Citrix Systems, Inc. Tool for visualizing configuration and status of a network appliance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143400A (ja) * 1996-11-07 1998-05-29 Fuji Electric Co Ltd 制御用計算機システムの性能評価方法
JP2001044993A (ja) * 1999-07-26 2001-02-16 Fujitsu Ltd ネットワークのシミュレーションモデル生成装置、その方法、及びその方法を実現するプログラムを記録した記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017506843A (ja) * 2014-01-29 2017-03-09 華為技術有限公司Huawei Technologies Co.,Ltd. 可視化されたネットワーク運用及び保守のための方法及び装置
US10057136B2 (en) 2014-01-29 2018-08-21 Huawei Technologies Co., Ltd. Method and apparatus for visualized network operation and maintenance

Also Published As

Publication number Publication date
KR20060061759A (ko) 2006-06-08
EP1624397A1 (en) 2006-02-08
US20060025984A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
JP2006048703A (ja) トランザクションベースのパフォーマンスモデルの自動的な妥当性検査および較正
US7996204B2 (en) Simulation using resource models
CN100465918C (zh) 基于事务处理的性能模型的自动化确认和校准系统和方法
US6311144B1 (en) Method and apparatus for designing and analyzing information systems using multi-layer mathematical models
US7974827B2 (en) Resource model training
US7031901B2 (en) System and method for improving predictive modeling of an information system
EP1631002A2 (en) Automatic configuration of network performance models
Li et al. Architectural technical debt identification based on architecture decisions and change scenarios
US7177774B1 (en) System and methods for quantitatively evaluating complexity of computing system configuration
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
US8621080B2 (en) Accurately predicting capacity requirements for information technology resources in physical, virtual and hybrid cloud environments
US20170060108A1 (en) Roi based automation recommendation and execution
WO2008134143A1 (en) Resource model training
US20060184410A1 (en) System and method for capture of user actions and use of capture data in business processes
US20170109667A1 (en) Automaton-Based Identification of Executions of a Business Process
US20170109636A1 (en) Crowd-Based Model for Identifying Executions of a Business Process
Kim et al. A framework for analytics and simulation of accounting information systems: A Petri net modeling primer
Happe et al. Statistical inference of software performance models for parametric performance completions
US11934288B2 (en) System and method for assessing performance of software release
Troya et al. Specification and simulation of queuing network models using domain-specific languages
US20170109670A1 (en) Crowd-Based Patterns for Identifying Executions of Business Processes
Lenhard et al. Portability of executable service-oriented processes: metrics and validation
Zimmermann Metrics for Architectural Synthesis and Evaluation--Requirements and Compilation by Viewpoint. An Industrial Experience Report
Müller et al. Capacity management as a service for enterprise standard software
Müller et al. Collaborative software performance engineering for enterprise applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121005

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130308