JPH09311782A - パフォーマンスの予測を行うための機構および方法 - Google Patents

パフォーマンスの予測を行うための機構および方法

Info

Publication number
JPH09311782A
JPH09311782A JP9045118A JP4511897A JPH09311782A JP H09311782 A JPH09311782 A JP H09311782A JP 9045118 A JP9045118 A JP 9045118A JP 4511897 A JP4511897 A JP 4511897A JP H09311782 A JPH09311782 A JP H09311782A
Authority
JP
Japan
Prior art keywords
display
objects
performance
application
parameters
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
JP9045118A
Other languages
English (en)
Inventor
Richard Denison Mcdonald
リチャード・デニスン・マクドナルド
Anita Krista Rass
アニタ・クリスタ・ラス
Bin Qin
ビン・チン
Brighid Anne Thompson
ブリジッド・アン・トムソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09311782A publication Critical patent/JPH09311782A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】 ユーザが分散システムの諸要素(ホスト、ネ
ットワーク、応答時間)を定義し、アプリケーション設
計の早期段階でシステムによるアプリケーション・プロ
セスの各種分散のパフォーマンスに対する影響を検査で
きるようにするためのパフォーマンス・モデリング・ツ
ールおよび方法を提供する。 【解決手段】 ユーザがパフォーマンス・シナリオを定
義すると、そのシナリオは、様々な表示から特定のパフ
ォーマンス・シナリオ用のアプリケーションの分散を示
す複数の相互依存持続オブジェクトとしてデータ・モデ
ルに保管される。各オブジェクトの複数の選択肢を格納
することができる。ユーザは、格納したオブジェクトか
ら分析用の各種パフォーマンス・シナリオを構築するこ
とができる。分析としては、ユーザがパフォーマンス・
ワークロードの各種分散により1つのアプリケーション
・プロセスまたは複数のアプリケーション・プロセス用
のパフォーマンスの予測を得ることができるパフォーマ
ンス・シミュレーションを含むことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にアプリケー
ション設計の分野に関し、より具体的にはパフォーマン
ス・モデリングと分析のためにパフォーマンスの指定を
単純化するツールに関する。
【0002】
【従来の技術】分散マルチプロセッサ・システムでは、
複数のハードウェア・サーバとその常駐ソフトウェアが
リンクされ、協力してシステムのソフトウェア・プロセ
スの実行に必要な資源を提供する。このようなシステム
のソフトウェア・プロセスは、ハードウェア資源を共用
しながら、クライアントとソフトウェア・サーバの両方
の働きをすることができる。分散システムの典型的な例
としては、トランザクション処理システムやデータ収集
システムなどがある。
【0003】このタイプの分散システムでは、ハードウ
ェアおよびソフトウェア資源を求めてプロセス同士が競
合するので、実行時に遅延が発生する可能性がある。シ
ステム・パフォーマンスの挙動は容易に予測できるもの
ではなく、プロセス間のサービス要求の変化、プロセス
のインスタンスの数、プロセス内の並列性の内部レベ
ル、プロセッサ上のプロセスの配置は、いずれもシステ
ム・パフォーマンスに大幅な影響をもたらす可能性のあ
る要因である。
【0004】パフォーマンス・モデリングは、予測モデ
ルで表すことにより、システムの多くの特徴のうちのど
れがパフォーマンスに制約を加えるかを発見するための
分析方法である。プロセッサ時間要件や他のプロセスか
らのサービス要求など、システム内の各プロセスの資源
需要を数量化し、モデルの定義に使用する。予測される
パフォーマンスの尺度は、閉鎖待ち行列化ネットワーク
・モデル用の尺度のスーパー・セットであり、以下のも
のを含む。 1.プロセス・スループットと応答時間 2.プロセスの使用状況と、各対応プロセスで待ち行列
化されたプロセスの平均数 3.装置の使用状況と、平均待ち行列長
【0005】モデル・パラメータを変更すると、修正さ
れた状況下でシステム・パフォーマンスの予測が可能に
なる。このようなモデルを使用すると、検討中のシステ
ムを実際に変更せずに、所定の範囲のシステム・シナリ
オを調べることができる。
【0006】"The Method of Layers"(Rolia, J. A.お
よびSevcik, K. C.、IEEE Transactions on Software E
ngineering, Vol. 21, No. 8, pp. 689-700、1995
年8月)は、分散システムのパフォーマンス推定値を得
るためのモデルの1つである。階層方法の手法では、閉
鎖ネットワークでの待ち行列化のパフォーマンスの推定
値、個々のソフトウェア・プロセス・タイプの訪問の平
均数、スケジューリング規律は、分散システムの構成要
素のモデル(階層待ち行列化モデルすなわちLQMとい
う)のための入力パラメータとして使用する。階層方法
では、1つのLQMを2つの相補モデル(1つはソフト
ウェア用で1つは装置用)に分割し、その結果を結合し
て検討中のシステム用のパフォーマンス推定値を提供す
る。
【0007】ソフトウェア競合モデルという1つのモデ
ルは、ソフトウェア・プロセス・アーキテクチャにおけ
る関係を記述するもので、ソフトウェア競合遅延を予測
するために使用する。
【0008】装置競合モデルという第2のモデルは、ハ
ードウェア装置での待ち行列化遅延を決定するために使
用する。ソフトウェアと装置の競合サブモデル間で交代
することにより、非対応グループ応答時間推定値の差を
縮小することができるので、これらの差が何らかの許容
度未満の時点では、予測可能なモデルが達成されるよう
にLQMのパフォーマンス・メトリックスがすでに一定
の点に達している。
【0009】標準を改善するためにプログラムを設計す
る際にユーザを支援するためのコンピュータ・ツールが
存在するが、これらは、階層方法などの分析方法を使用
するパフォーマンス分析ツールではなく、主にコンピュ
ータ支援ソフトウェア・エンジニアリング(CASE)
タイプのものである。
【0010】たとえば、"Graphics System for Automat
ic Computer Code Generation"という名称で、空軍長官
によって代表される米国の米国特許第5187788号
には、一元処理環境内の半オブジェクト指向言語である
Adaプログラミング言語用の自動コード生成ツールが
記載されている。初期プログラム設計から、このプログ
ラムについて3通りの視覚表現が生成される。すなわ
ち、プログラム構成要素の概要と、データ構造およびロ
ーカル変数の表現と、プログラムのフロー制御の表現で
ある。これらの表示のいずれかでプログラマがプログラ
ムの態様を変更すると、残りの表現で一貫性が維持され
る。
【0011】"Computer-Aided Software Engineering F
acility”という名称でSeer Technologies, Inc.の米国
特許第5295222号には、分散アプリケーションを
作成するためのCASE機構が記載されている。記載さ
れているシステムはそのものがオブジェクト指向である
可能性もあるが、同特許では、アプリケーション設計に
関するオブジェクト指向手法ではない、エンティティや
関係によって入力アプリケーションを説明している。記
載されている機構は、その機構を使用して作成したすべ
てのアプリケーション・プログラムに関する情報を格納
するために関係データベースを使用している。このデー
タベースの内容は、後続のアプリケーションで必要に応
じて再使用することができる。この機構は、分散設計を
支援するために単一アプリケーションに関する複数の一
貫した表示もユーザに提供する。アプリケーションの設
計とコードの生成後、デバッグ・テスト機構により、ユ
ーザは生成されたアプリケーションのパフォーマンスを
評価することができる。
【0012】最後に、"Selecting and Locating Graphi
cal Icon Objects to Define and Configure the Works
tations in Data Processing Networks"という名称の本
出願人の米国特許第5394522号は、ネットワーク
の諸要素を視覚的に表現するためにグラフィカル・ユー
ザ・インタフェースを有する通信およびデータベース・
ネットワークを構成するためのツールに関する。各アイ
コン表現には構成パラメータを備えたファイルが関連付
けられており、これらのファイルは中央のネットワーク
管理者が配備または修正することができる。この機構
は、通信動作モードとデータベース動作モードとの間で
容易に切り替えることができる。
【0013】上記の特許に記載されたツールはプログラ
ム設計や、分散ネットワークでのプログラム・モジュー
ルまたはオブジェクトの配備に役立つ可能性があるが、
いずれのツールも、ユーザが選択したネットワークのパ
フォーマンス特性に基づいて最適分散プログラムを設計
する場合には役に立たない。プログラマは、実用レベル
でパフォーマンスをテストするためにそのプログラム用
に各種分散構成を選択することができるが、コード生成
の前に各種モデルの重要な分析パフォーマンス比較を行
うための手段は提供されない。
【0014】
【発明が解決しようとする課題】したがって、本発明の
一目的は、階層方法などのパフォーマンス分析モデルを
様々な設計選択肢を比較するためのツールに自動的に変
換できるようなツールをアプリケーション開発者に提供
することにある。
【0015】本発明の他の目的は、プログラム・コード
の作成または生成の前にオブジェクトの最適分散を決定
するために、クライアント・サーバ環境用のアプリケー
ション設計の最も早い段階で使用すべきパフォーマンス
分析ツールを提供することにある。
【0016】本発明の他の目的は、アプリケーション開
発者が様々な角度からパフォーマンスの指定を調べ理解
するための機構を提供することにある。
【0017】上記以外の本発明の目的は、以下の開示内
容および特許請求の範囲を検討することにより明らかに
なるだろう。
【0018】
【課題を解決するための手段】したがって、本発明は、
分散システムによるアプリケーションの設計のためにパ
フォーマンスの予測を行うための機構を提供する。この
機構は、アプリケーションおよび分散システムの各種パ
ラメータを定義する手段と、定義したパラメータを持続
オブジェクトとして格納する手段と、格納した持続オブ
ジェクトを修正する手段と、各種パフォーマンス・シナ
リオを定義するような格納した持続オブジェクトの指定
のグループ化の分析を行う手段とを含む。
【0019】アプリケーションおよび分散システムの各
種パラメータを定義する手段には、ユーザから入力を受
け取り、分散システムからの分散オブジェクトおよびネ
ットワークと、アプリケーションからの分散オブジェク
ト間の対話リンクの概略を表示できるようになっている
グラフィカル・ユーザ・インタフェースが設けられてい
ることが好ましく、定義したパラメータを持続オブジェ
クトとして格納する手段は、分散オブジェクトの代替分
散と分散オブジェクト間の代替対話リンクとを個別のオ
ブジェクトとして格納する手段を含むことが好ましい。
【0020】また、本発明は、複数のリンク済みプロセ
ッサを有し、分散プロセッサ間のミドルウェア接続を含
む分散システムでのアプリケーション・プロセスのパフ
ォーマンスベースの分散を決定するための方法を提供す
る。この方法は、 i)a)分散システム内のホスト、ネットワーク、接続
と、 b)少なくとも1つのアプリケーション・プロセスを実
行するためのホスト間のやりとりとを定義するパラメー
タを選択するステップと、 ii)選択したパラメータに応じて上記少なくとも1つの
アプリケーション・プロセスのシミュレーションを実行
するステップと、 iii)シミュレーションのパフォーマンス分析を行うス
テップとを含む。
【0021】また、本発明は、上記の方法を実行するた
めにコンピュータが使用可能な媒体で実現されたコンピ
ュータが読取り可能なコード手段を有するコンピュータ
・プログラム製品も提供する。
【0022】本発明の実施例については、添付図面に関
連して以下に詳しく説明する。
【0023】
【発明の実施の形態】図1は、混合ハードウェアおよび
プラットフォームの「ホスト」システムが各種タイプの
ハードウェアにより相互接続された典型的な分散システ
ムを示している。図示の例では、AIX(商標)ホスト
2(RS/6000(商標)コンピュータ上に常駐する
IBM(商標)AIXオペレーティング・システム)
は、複数のクライアント・アプリケーション4a、4
b、4cと、オペレーティング・システム用のアプリケ
ーション・ランタイム6と、分散呼出しを連絡するため
のミドルウェア・ランタイム8とを含む。AIXホスト
2は、イーサネット・ネットワーク10により、単独で
サーバとして機能するメインフレーム・コンピュータま
たはMVSホスト・サーバ12にリンクされている。こ
のため、MVSホスト12は、常駐のサーバ・プロセス
・ソフトウェア14と、オペレーティング・システム用
のランタイム16と、着信分散通信に対処し応答するた
めのミドルウェア・ランタイム18とを有する。また、
OS/2(商標)ホスト20(IBMOS/2オペレー
ティング・システムを搭載したIBM PS/2(商
標)システムなどのパーソナル・コンピュータ)にも、
複数のクライアント・アプリケーション22a、22
b、22cと、アプリケーション・ランタイム24と、
ミドルウェア・ランタイム26とが設けられている。O
S/2ホスト20は、トークン・リング・ネットワーク
28によりMVSホスト/サーバにリンクされている。
【0024】図1に示し、前述した分散システムの3つ
の構成要素システムは、いずれも互いにまったく異なる
パフォーマンス特性を備えており、このようなパフォー
マンス特性はシステムがやりとりする際に使用する2通
りのタイプのネットワークの諸機能に左右される可能性
がある。パフォーマンスを左右しそうな要因がいくつか
あるので、コードの作成および「その試行」に先だって
アプリケーションの最適分散構成のために直観的意思決
定を行うことは不可能である。本発明のツールおよび方
法が理想的に適しているのは、このようなタイプの設計
状況である。
【0025】好ましい実施例では、本発明のパフォーマ
ンス・モデリング・ツールは、グラフィカル・ユーザ・
インタフェース(GUI)と、内部データ・モデルと、
パフォーマンス・モデリング分析エンジンとから構成さ
れている。
【0026】パフォーマンス・モデリング・ツールの動
作の概要は図2および図3に概略で示す。まず、図3の
流れ図を参照すると、ユーザはパフォーマンス・モデリ
ング・ツールを呼び出させる(ブロック40)。図2に
示すように、ユーザ30がパフォーマンス・モデリング
・ツールとやりとりする際にそのツールのグラフィカル
・ユーザ・インタフェース(GUI)32を使用する
が、このGUIにより、ユーザは、アプリケーションと
ターゲット分散システムのパフォーマンス指定である、
ハードウェア構成と、ソフトウェア構成要素の対話と、
入力特性と、ソフトウェア配置とを指定するために入力
を行うことができる(図3のブロック42)。本発明の
好ましい実施例には、区分表示、シナリオ表示、トポロ
ジ表示、ワークロード表示という4つの表示またはウィ
ンドウが設けられている。アプリケーションの内部構造
は区分ウィンドウとシナリオ・ウィンドウにより指定さ
れ、アプリケーションへの入力はワークロード・ウィン
ドウにより指定され、アプリケーションの実行のための
ハードウェア構成はトポロジ・ウィンドウにより指定さ
れる。パフォーマンス指定をツールに入力する場合、こ
れらを使用して4つの表示用の副次指定を準備する(図
3のブロック44、46、48、50)。各副次指定の
準備については、以下に詳述する。
【0027】このような各種表示を設けると、ユーザは
提案した分散設計をより十分に理解することができる。
これにより、ユーザは一度に1つずつこの設計の態様に
集中することができる。これらの表示はいずれもデータ
・モデル34に個別に格納される(図2)。ユーザは、
データ・モデルに個別のオブジェクトとして格納される
各表示の複数の選択肢を設けることもできる。
【0028】好ましい実施例のデータ・モデルは、各種
表示用のオブジェクトの持続性サポートを行うようなフ
ァイル・フォーマットになっている。データベースな
ど、他のフォーマットも使用できることは、当業者には
明らかなはずである。
【0029】パフォーマンス分析(図3のブロック5
2)のために、ユーザは、各表示から選択肢を選び、こ
れらのオブジェクトをパフォーマンス・モデリング・ツ
ールに提示する。これについては、図8に関連して以下
に詳述する。所与の表示から各種選択肢を選ぶことによ
り、ユーザは異なる設計選択肢を指定する。これは、ユ
ーザが1組の設計選択肢から最適設計を見つけるための
プロセスを単純化するものである。このツールはアプリ
ケーションの設計時に使用するためのものなので、これ
は非常に有用である。
【0030】パフォーマンス・モデリング・ツールは、
ユーザの指定に基づくパフォーマンス・モデルを構築す
る。このモデルは、ホスト、通信装置、クライアント・
プロセス、サーバ・プロセスを表す各エンティティを含
む1組のエンティティである。プロセスは、他のプロセ
スによって呼び出されない場合にはクライアント・プロ
セスである。また、プロセスは、メソッドを表す各項目
を備えた複数の項目を有することができる。このモデル
では、メソッドの呼出しと資源の使用法を表すためにリ
ンクを使用する。1つのプロセスの1つの項目から別の
プロセスの別の項目へのリンクは、メソッドの呼出しを
示す。1つのプロセスの1つの項目から1つのホストま
たは通信装置へのリンクは、プロセスからの資源の使用
法を示す。ホスト・エンティティ間および通信装置エン
ティティ間では、リンクは存在し得ない。
【0031】好ましい実施例のパフォーマンス・エンジ
ンは、ユーザのパフォーマンス・モデルを分析するため
に階層方法の手法(前述)を使用する。
【0032】パフォーマンス・モデリング・ツールは、
多くの各種パフォーマンス結果を報告する(図3のブロ
ック54)。このような結果としては、使用状況、応答
時間、到着間時間、スループット、待ち行列長、遊休時
間などがある。ユーザには、使用状況分析、分析方法、
シミュレーション方法という3つの分析選択肢が提示さ
れる。使用状況分析は、設計内の1つの構成要素が使い
すぎである(またはボトルネックになる)かどうかをユ
ーザが判断するための迅速なやり方である。分析方法と
シミュレーション方法は、好ましい実施例で階層方法の
手法を使用して構築済みのパフォーマンス・モデルを分
析するための2通りの方法である。
【0033】好ましい実施例のパフォーマンス・モデリ
ング・ツールは、分散オブジェクト指向アプリケーショ
ンを取り扱う。ユーザのアプリケーションの実行をサポ
ートする環境は、通信装置を使用して相互接続した1組
のホストから構成される。オブジェクトは区分内にカプ
セル化される。区分はホスト上に配置してプロセスにな
ることがある。プロセスは複数のスレッドを備えること
ができる。メソッドは互いに呼び出すことができる。た
だし、循環呼出しは一切使用することができない。メソ
ッドが異なるホスト上の別のメソッドを呼び出す場合、
このような呼出しは、Open Software Foundationの分散
コンピューティング環境(商標)(DCE)などのミド
ルウェアにより行われる。アプリケーションに関するパ
フォーマンス・モデリングおよび分析を行うため、ユー
ザは、アプリケーション内の区分、ホスト上での区分の
配置方法、各ホストの容量、各通信装置の容量、ハード
ウェア構成の接続性、メソッド間の対話、各メソッドの
資源需要、メソッドの呼出し回数、アプリケーションに
対して行う外部要求の頻度などを指定する必要がある。
【0034】各副次指定の準備について以下に詳しく説
明する。副次指定の準備の順序は以下の点で重要であ
る。すなわち、区分表示(オブジェクトを定義するも
の)を定義しなければシナリオ表示を定義することがで
きない。また、残りの3つの表示で定義したパラメータ
をインポートするワークロード表示は最後に定義しなけ
ればならない。これらについては順に述べるが、実際は
ユーザが準備の順序を決定し、使用するオペレーティン
グ・システムが許すならば、ユーザは、1つのウィンド
ウ上の作業を中断するかまたは他のウィンドウ上で作業
するために表示し、いつでも元のウィンドウ上で作業を
続行するために復帰することができる。
【0035】区分表示 区分表示により、ユーザは、区分という論理エンティテ
ィに新しいオブジェクトとグループ・オブジェクトを定
義することができる。このオブジェクトは、区分表示に
インポートされるクラス定義のインスタンス化である。
区分表示により、オブジェクト、関連、区分、ミドルウ
ェア・デフォルトが定義され、操作される。図4は、区
分表示用の副次指定の準備を示す流れ図である。
【0036】図4を参照すると、ユーザは区分ウィンド
ウをオープンする(ブロック60)。好ましい実施例に
よる区分ウィンドウについては、図9に示すが、本発明
のパフォーマンス・モデリング・ツールの動作を例示す
るために示した銀行業務例に関連して以下に詳述する。
【0037】ユーザは、新しい区分オブジェクトを定義
することを選ぶことができ(ブロック62)、そのため
に、まず区分を、次にオブジェクトを、最後に関連を定
義する情報を入力することができる(ブロック64、6
6、68)。ミドルウェア・デフォルトは、残りのパラ
メータの定義中にいつでも定義することができる(ブロ
ック70)。
【0038】定義により、分散アプリケーションは、サ
ーバ区分とクライアント区分という少なくとも2つの区
分を含むことになるが、任意の数の区分がサポートされ
る。サーバ区分は、その区分内の各種オブジェクトによ
って提示されるサービスの集合を含んでいる。クライア
ント区分は、サーバ区分によって提示されるサービスに
対して要求を行うオブジェクトを含んでいる。
【0039】区分は、ホスト上に配置してプロセスにす
ることができる。区分がホスト上に配置されると、その
区分内のすべてのオブジェクトもそのホスト上に配置さ
れる。1つの区分を複数のホスト上に配置することがで
きる。これは、様々なホストからサービス要求を出すか
または様々なホスト上でサービスを重複させて信頼性を
改善できることを意味する。
【0040】オブジェクトと区分の定義に加え、ユーザ
は、区分表示により区分間の対話も定義することができ
る。通常、区分は様々なホスト上に配置される。2つの
区分間の対話は、通常、何らかのタイプのミドルウェア
によるメソッドの呼出しを意味する。区分表示により、
ユーザは、ミドルウェアのタイプと、各対話ごとに使用
すべき他のミドルウェア固有の値を指定することができ
る。所与の対話について、複数タイプのミドルウェアを
指定することができる。これは、クライアント区分とサ
ーバ区分が通信用のミドルウェアのうちの任意の1つま
たは複数を使用できることを意味する。また、ミドルウ
ェア値または特性はいずれのレベルでも定義することが
できる。たとえば、任意の区分用のミドルウェア特性
は、アプリケーション用に定義されたミドルウェア特性
から(オブジェクト指向の継承により)継承されるが、
区分ミドルウェアの特性は修正することができる。同様
に、任意の区分に常駐するオブジェクト用のミドルウェ
ア特性はその区分から継承され、関連用のミドルウェア
特性はそのオブジェクトから継承される。これらはそれ
ぞれのレベルでさらに修正することができる。
【0041】ユーザは、既存の区分オブジェクトも修正
することができる(ブロック72)。区分オブジェクト
はデータ・モデルから取り出され(ブロック74)、区
分ウィンドウに表示される。その後、ユーザは、区分
(ブロック76、78)、オブジェクト(ブロック8
0、82)、関連(ブロック84、86)、および、ま
たはミドルウェア・デフォルト値(ブロック88、9
0)を修正することができる。また、ユーザは、新たに
定義した区分オブジェクトを持続オブジェクトとして保
管する前に、そのオブジェクトの任意のパラメータも修
正することができる。現行区分オブジェクトをユーザの
要望通りに定義すると(ブロック92)、そのオブジェ
クトはデータ・モデルに保管することができ(ブロック
94)、ユーザは別の区分オブジェクトについて作業す
るかまたは別の区分オブジェクトを定義するか(ブロッ
ク96)、あるいはそのウィンドウを終了する(ブロッ
ク98)ことができる。
【0042】シナリオ表示 シナリオ表示では、ユーザは、ユーザの設計に含まれる
オブジェクトが互いにどのように対話するかを指定す
る。これについては、図5の流れ図に示す。好ましい実
施例では、図10に示すようなシナリオ・ウィンドウを
使用して、ユーザがシナリオ表示を定義するのを支援す
る。(図10については以下に詳述する。)オブジェク
ト内のメソッドともにそのオブジェクトがまず区分表示
から抽出される。次にこれらのオブジェクトが視覚化の
ためにシナリオ・ウィンドウに配置される。
【0043】シナリオは、一連のシナリオ事象から構成
される。シナリオは、顧客がATMマシンに行って現金
の引出しを行うなどの外部事象から始まる。このような
外部事象により、一連の内部事象の発生が誘発される。
シナリオとは、どのような内部事象が誘発されるか、ど
のオブジェクトとメソッドが応答するか、それらがどの
ように互いに対話するか、どのくらいの量の資源を必要
とするか、ならびにメソッド間で転送されるデータの量
を記述するものである。
【0044】アプリケーションは複数のシナリオを備え
ることができ、それぞれのシナリオはそのアプリケーシ
ョンがどのように外部事象を処理するかを記述する。こ
れは、ユーザのアプリケーションにN通りの外部事象が
ある場合にN個のシナリオが必要になることを意味す
る。
【0045】本発明により、シナリオ表示の副次指定を
定義する際に、ユーザはまずシナリオ・ウィンドウをオ
ープンし(図5のブロック100)、新しいシナリオ・
オブジェクトを定義するか(ブロック102)またはデ
ータ・モデルからの既存のオブジェクトを修正するか
(ブロック110)を選ぶ。ユーザが新しいシナリオ・
オブジェクトを定義する場合は、ユーザは、まずオブジ
ェクトを定義し(ブロック104)、次にオブジェクト
対話を定義し(ブロック106)、最後に資源需要を定
義する(ブロック108)ことができる。ユーザが既存
のシナリオ・オブジェクトの修正を必要とする場合は、
そのシナリオ・オブジェクトがデータ・モデルから取り
出される(ブロック112)。オブジェクト(ブロック
114、116)、オブジェクト対話(ブロック11
8、120)、および、または資源需要(ブロック12
2、124)に対して修正を行ってから、シナリオ・オ
ブジェクトをデータ・モデルに保管するか、または戻す
(ブロック126、128)ことができる。また、ユー
ザは、別のシナリオ・オブジェクトについて作業するか
(ブロック130)またはウィンドウを終了する(ブロ
ック132)ことができる。
【0046】シナリオ表示では、指示されたリンクを使
用してメソッド呼出しを表す(図10を参照)。リンク
の開始点は呼出し側メソッドを表し、リンクの終点は呼
出され側メソッドを表す。このような呼出しをシナリオ
に入力すると、ユーザは、呼出しカウントと、潜在的な
ホスト・タイプ上での呼出され側メソッドの資源需要を
指定するよう要求される。呼出し側メソッドと呼出され
側メソッドが別々のホスト上にある場合、ユーザは、こ
のような呼出しのためにメソッド呼出しで転送すべきデ
ータのサイズを指定する必要がある。この情報は、呼出
しによって使用されるミドルウェア・オーバヘッドを見
積もるためにパフォーマンス・モデリング・ツールが使
用する。
【0047】ユーザが潜在的なホスト・タイプ上での資
源需要を指定できるようにするだけで、本発明のパフォ
ーマンス・モデリング・ツールはシナリオ表示をトポロ
ジ表示とは無関係のものにする。ユーザは、所与のシナ
リオを1組のトポロジ選択肢にマッピングし、そのシナ
リオに対する各種トポロジ選択肢の影響(ならびに最終
的には設計全体に対する影響)を調査することができ
る。所与の外部事象の場合でも、ユーザは、潜在的な設
計選択肢ごとに1つずつ、複数のシナリオを定義するこ
とができる。このようにして、ユーザは、1つの設計に
対する各種シナリオ選択肢の影響を容易に調査すること
ができる。
【0048】トポロジ表示 トポロジ表示は、ハードウェア構成と、ユーザのハード
ウェア構成間でのソフトウェア構成要素の分散との表示
をユーザに提供するものである。ユーザは、図11に示
し以下に詳述するようなトポロジ・ウィンドウを使用す
ることによってトポロジ表示を定義する。トポロジ表示
を作成または修正するための諸ステップは図6に示す。
【0049】トポロジ表示内に入ると(すなわち、トポ
ロジ・ウィンドウのオープン後、ブロック140)、ユ
ーザは、ユーザのアプリケーションが常駐するハードウ
ェア構成を作成し修正することができる(ブロック14
2、152〜154)。
【0050】ホストとネットワークをトポロジ表示に配
置する(ブロック144、146)。ホストは0個また
はそれ以上のネットワークに接続することができ、ネッ
トワークは0個またはそれ以上の他のネットワークに接
続することができる。パフォーマンス・モデリング・ツ
ールはホストの複数のコピーを表す能力をユーザに与
え、それにより、大型で複雑なハードウェア構成のため
の便宜や使いやすさをもたらす。
【0051】ユーザがトポロジ表示でホストを作成する
と、次にこれらのホスト上に区分を配備することができ
る。ホストへの区分の配備、またはその作用により、プ
ロセスというエンティティがホスト上に作成される(ブ
ロック148)。同じトポロジ表示内の複数のホスト上
に1つの区分を配備することができる。これは、信頼
性、保守性、可用性を高めるために各種サイト上にサー
ビスを複写する状況を表している。さらに、クライアン
トは、このパラダイム下の各種サイトからサービスを要
求することができる。
【0052】同様に、ホスト上のプロセスは、同一ホス
ト内のプロセスの複数のインスタンスを表すことができ
る。
【0053】ユーザのアプリケーションの一部分を実行
するような追加の活動がホストおよびネットワーク上で
発生する可能性がある。ユーザは、これらの関与ホスト
およびネットワーク上の追加のワークロードの割合を関
連付けることができる(ブロック144〜146)。こ
の割合は、パフォーマンス・モデリングおよび分析段階
時に考慮される。関与ホストおよびネットワーク上で動
作するすべての活動を正確に評価すると、そのユーザの
アプリケーション環境用のより現実的なパフォーマンス
・データが得られる。
【0054】ホストおよびネットワークが定義される
と、ユーザは両者の間の接続を定義することができる
(ブロック150)。
【0055】ユーザは、トポロジ・オブジェクトの定義
後、そのパラメータのうちのどのパラメータでも修正す
ることができ(ブロック154〜170)、終了すると
(ブロック172)、新たに定義または修正したトポロ
ジ・オブジェクトをデータ・モデルに保管する(ブロッ
ク174)。
【0056】ユーザは、トポロジ・ウィンドウにより複
数のトポロジ・オブジェクトを定義することができる
(ブロック176)。各トポロジ・オブジェクトは1つ
のトポロジ選択肢を表し、すべてのトポロジ・オブジェ
クトが個別にデータ・モデルに格納される。パフォーマ
ンス・モデリングおよび分析段階では、ユーザは、どの
トポロジを使用すべきかを決定する。複数のトポロジ選
択肢を格納することにより、ユーザは、ユーザの要件に
適した最善トポロジを見つけるために様々なトポロジ状
況を調査することができる。
【0057】ワークロード表示 ワークロード表示は、ユーザがユーザのアプリケーショ
ンへの入力の特性を指定できるようにするものであり、
図12に示すタイプのウィンドウにより操作することが
できる。(図12については、銀行業務の例に関連して
以下に詳述する。)
【0058】銀行業務の例の場合、サービス要求(すな
わち、外部事象)は、様々な速度で自動預金支払機(A
TM)と銀行の出納係に到着する可能性がある。サービ
ス要求によっては出納係だけが処理する場合もある。ワ
ークロード表示により、ユーザは、どのタイプのサービ
ス要求が各クライアント・プロセスに到着するか、なら
びにどの程度の頻度でこの要求が到着するかを定義する
ことができる。定義されたワークロード表示は、区分表
示、シナリオ表示、トポロジ表示と相俟って、ユーザの
アプリケーションのための完全な指定を構成する。
【0059】ワークロード副次指定を定義または修正す
るための諸ステップについては、図7に示す。ユーザは
ワークロード・ウィンドウをオープンし(ブロック18
0)、次に新しいワークロード・オブジェクトを定義す
るか(ブロック182)または既存のワークロード・オ
ブジェクトを修正するか(ブロック190)を決定す
る。ユーザが既存のワークロード・オブジェクトを修正
する場合は、そのオブジェクトがデータ・モデルから取
り出される(ブロック192)。
【0060】ワークロード表示は、プロセス・ワークロ
ード・コンテナと、クライアント・プロセス・コンテナ
と、ワークロード要素コンテナから構成される。ワーク
ロード要素コンテナの内容は、プロセス・ワークロード
・コンテナ内の指定のプロセス・ワークロード・オブジ
ェクトを記述するために使用する(ブロック184)。
各ワークロード要素オブジェクトは、ATMの例の「現
金引出し」シナリオなどの外部サービス要求の到着速度
と、任意で必要な応答時間とを定義する(ブロック18
6)。ユーザは、複数のサービス要求をプロセス・ワー
クロード・オブジェクトにグループ化し、1つまたは複
数のクライアント・プロセスをそれに関連付けることが
できる。クライアント・プロセスがプロセス・ワークロ
ード・オブジェクトに関連付けられると(ブロック18
8)、クライアント・プロセスのワークロードがプロセ
ス・ワークロード・オブジェクトによって定義されるこ
とを意味する。クライアント・プロセス・コンテナは、
プロセス・ワークロード・コンテナ内の指定のプロセス
・ワークロード・オブジェクトによって定義されるのと
同じプロセス・ワークロード特性を有するすべてのクラ
イアント・プロセスをリストする。
【0061】ユーザは、単一ワークロード・オブジェク
トの定義を完了する(ブロック206)前に、これらの
パラメータのうちのどのパラメータでも修正することが
でき(ブロック194〜204)、それをデータ・モデ
ルに保管させることができる(ブロック208)。
【0062】ユーザは、複数のワークロード表示を定義
してから(ブロック210)、ワークロード表示を終了
することができる(ブロック212)。各ワークロード
表示は1つの入力選択肢を表している。すべてのワーク
ロード表示は個別のアプリケーション・ワークロード・
オブジェクトとしてデータ・モデルに格納される。ユー
ザは、パフォーマンス・モデリング・ツールを使用し
て、ユーザのアプリケーション・パフォーマンスに対す
る様々なワークロード選択肢の影響を調査することがで
きる。
【0063】ワークロード表示の定義に加え、ワークロ
ード・ウィンドウによりパフォーマンス・モデリングを
活動化することができる。ユーザは、分析メソッドまた
はシミュレーション・メソッドを使用して、迅速な使用
状況分析を行うかまたはパフォーマンス分析を行うこと
ができる。
【0064】指定からのパフォーマンス・モデルの構築 ユーザが提供するように、4つの表示のそれぞれのパフ
ォーマンス副次指定を使用して、パフォーマンス・モデ
ルが構築される。これらのパフォーマンス副次指定が完
全なパフォーマンス指定に統合され、分析のためにパフ
ォーマンス・モデルが構築される。ユーザが提供するパ
フォーマンス副次指定は独立して準備できるので、重複
または競合する情報を含む場合があるか、または情報を
省略してしまう場合もある。
【0065】ユーザのアプリケーションを表すためのパ
フォーマンス・モデルを構築するため、本発明のパフォ
ーマンス・モデリング・ツールは、まずユーザのアプリ
ケーションで実際にどのホスト、区分、プロセス、メソ
ッドを使用するかを決定する。未使用オブジェクトは、
所与のパフォーマンス副次指定で参照される場合でもパ
フォーマンス・モデルには含まれない。
【0066】パフォーマンス分析の呼出し(図3のブロ
ック52、図8のブロック220)から、特定のワーク
ロード・オブジェクトが選択され、取り出される(図8
のブロック222、224)。選択したワークロード表
示から、どのシナリオを使用するか、どのプロセスがク
ライアント・プロセスであるか、各クライアント・プロ
セスでの各外部事象の到着速度、外部事象を処理するた
めの各クライアント・プロセス用の外部資源の使用法な
どを決定することができ、これから、適切なシナリオ・
オブジェクトが選択され、データ・モデルから取り出さ
れる(ブロック226、228)。
【0067】次に、パフォーマンス・モデリング・ツー
ルは、使用する各シナリオを調べ、使用するすべての区
分、使用するすべてのオブジェクト、使用するすべての
メソッド、使用する可能性のあるすべてのホスト・タイ
プ、各種メソッド間の対話、メソッドの呼出し後の様々
なホスト・タイプ上でのメソッドによる資源の使用法な
どを決定する。この情報から、区分オブジェクトが選択
され、データ・モデルから取り出される(ブロック23
0、232)。
【0068】1組の潜在的なホスト・タイプ上に常駐す
る区分の場合、トポロジ表示を探索してその区分に対応
する実際のプロセスを見つける。区分は、様々なホスト
・タイプを備えた様々なホスト上に配置することができ
る。この探索により、ユーザのアプリケーションで使用
するすべてのプロセスとすべてのホストが得られる。ユ
ーザのアプリケーション用のパフォーマンス・モデルに
は、これらのホストが接続するすべての通信装置も含ま
れる。この情報に基づいて適切なトポロジ・オブジェク
トが選択され(ブロック234)、取り出される(ブロ
ック236)。
【0069】4つのパフォーマンス表示から取り出され
たオブジェクトを使用して、パフォーマンス・モデルを
構築する(ブロック238)。
【0070】あるプロセスが別のプロセスを呼び出し、
この2つのプロセスが異なるホスト上に常駐する場合、
ミドルウェア・オーバヘッドを表すための適切な値が検
出され、このミドルウェア・オーバヘッド値が自動的に
パフォーマンス・モデルに挿入される(ブロック24
0)。
【0071】本発明の好ましい実施例では、DCE、T
CP/IP、MQIの3つのタイプのミドルウェアがサ
ポートされる。各ミドルウェアのオーバヘッドは1組の
キー・パラメータによって特徴づけられる。このパラメ
ータを使用して、パフォーマンス・モデリングおよび分
析時にどのオーバヘッド値を使用すべきかを決定する。
ユーザが修正すべきアプリケーションを定義する場合、
ユーザはこのパラメータを指定するだけでよく、パフォ
ーマンス・モデリング・ツールはこのパラメータを使用
して、対応するミドルウェア・オーバヘッド値を検出
し、その値をパフォーマンス・モデリングで使用する。
【0072】DCEを一例とすると、DCEのオーバヘ
ッドを指定するために、クライアント・ホスト・タイ
プ、サーバ・ホスト・タイプ、通信装置タイプ、データ
転送サイズ、保護レベルの5つのパラメータを使用す
る。DCEオーバヘッドは、クライアント・ミドルウェ
ア・オーバヘッド、サーバ・ミドルウェア・オーバヘッ
ド、通信オーバヘッドの3つの部分に分割される。クラ
イアント・ミドルウェア・オーバヘッドは、クライアン
ト・ホスト・タイプと、データ転送サイズと、保護レベ
ルとを使用して指定する。サーバ・ミドルウェア・オー
バヘッドは、サーバ・ホスト・タイプと、データ転送サ
イズと、保護レベルとを使用して指定する。通信オーバ
ヘッドは、通信装置タイプとデータ転送サイズによって
指定する。この3組のオーバヘッドは、3通りのオーバ
ヘッド・テーブルに保持される。
【0073】区分Partit1内のメソッドM1が区分Partit
2内のメソッドM2を呼び出すことをユーザが示す場合、
ユーザは、この2つの区分用のプロセスが別々のホスト
上に常駐する場合にはデータ転送サイズも示さなければ
ならない。区分ウィンドウでユーザは、この2つの区分
間の通信に使用するミドルウェアのタイプ(現行例では
DCEであると想定する)と、使用すべき保護のレベル
を指定する。
【0074】この例の場合、Partit1はクライアントと
して機能し、Partit2はサーバとして機能する。Partit1
内の各プロセスProc1と、Partit2内の各プロセスProc2
ごとに、Proc1用のホストのホスト・タイプ(クライア
ント・ホスト・タイプ)とProc2用のホストのホスト・
タイプ(サーバ・ホスト・タイプ)が決定される。この
呼出し用のデータ転送サイズは、シナリオ・ウィンドウ
でメソッド呼出しを定義するときにユーザによって提供
される。ユーザは、区分ウィンドウで2つの区分を定義
して保護レベルを指定することができる。このパラメー
タは、クライアント・ミドルウェア・オーバヘッド値と
サーバ・ミドルウェア・オーバヘッド値を見つけるため
に使用する。通信オーバヘッドについては、パフォーマ
ンス・モデリング・ツールがトポロジを探索し、この2
つのプロセスがどの通信リンクを使用するかを検出す
る。対応する通信装置タイプとデータ転送サイズは、通
信オーバヘッド値を獲得するためのパラメータとして使
用する。
【0075】ユーザは、ツール内に位置するミドルウェ
ア・オーバヘッド・テーブルに直接アクセスすることが
できる。このため、ユーザは、自身の環境をさらに十分
表すために、既存のデータを修正するか、またはこのテ
ーブルに新しいデータを追加することができる。
【0076】また、好ましい実施例は、推定ミドルウェ
ア・オーバヘッド値がミドルウェア・オーバヘッド・テ
ーブルにないときにこのような値も提供する。たとえ
ば、各ホスト・タイプにはパフォーマンス率が関連付け
られている。所与のホスト・タイプHT1用のミドルウ
ェア・オーバヘッド値がない場合、ツールはミドルウェ
ア・オーバヘッド・テーブルを探索して、互換性のある
ミドルウェア・オーバヘッド値を有する別のホスト・タ
イプを検出し、この2つのホスト・タイプのパフォーマ
ンス率を使用してHT1用の推定値を予測する。同様
に、データ・サイズ用のミドルウェア・オーバヘッド値
がない場合は、曲線あてはめメソッドを使用して、その
データ・サイズの推定値を予測する。
【0077】1つの区分が複数のプロセスになる場合も
ある。各プロセスはモデル内の個別のエンティティによ
って表されるので、シナリオ副次指定に指定するメソッ
ド呼出しの結果、このようなメソッドを含む各プロセス
が呼び出されることもある。シナリオ副次指定に指定し
たメソッドの呼出し回数は、これらのプロセスすべてに
等しく分散される。これは、サービスが重複し、呼出し
側がサービスのために使用可能なサーバを任意に選択す
るような状況を表す。
【0078】様々な副次指定によってユーザはその設計
選択肢をより十分理解し管理することができるが、パフ
ォーマンス・モデル構築の問題が提起される。副次指定
は独立して定義されるので、互いに競合したり、または
パフォーマンス・モデルを完成するための何らかの重要
な情報が欠落する可能性もある。パフォーマンス・モデ
ル構築の一部として、様々な表示用の様々なオブジェク
ト間で一貫性が検査される。また、ユーザの設計に競合
またはエラーがあるかどうかにかかわらず、ツールがデ
フォルトまたは推定値を供給できないような情報の欠落
があるかどうかの検査も行われる。これは、パフォーマ
ンス・モデルの検証と呼ばれる(ブロック242)。最
後に、構築したパフォーマンス・モデルは分析のために
パフォーマンス・エンジンに供給される(ブロック24
4)。
【0079】完了すると(ブロック246)、ツール
は、ユーザのアプリケーションで使用するホスト、通信
装置、プロセスについてパフォーマンス分析結果を報告
する。この結果としては、以下の例に示すように、使用
状況、応答時間、到着間時間、スループット、待ち行列
長、遊休時間などがある(ブロック248)。
【0080】銀行業務の例 単純な銀行用アプリケーションについて検討する。この
アプリケーションは、小規模都市周辺の少なくとも10
00台の自動預金支払機(ATM)をサポートする必要
がある。顧客は、ATMにより自分の口座にアクセス
し、預金、現金の引出し、残高照会を行えなければなら
ない。各取引ごとに、顧客は権限として銀行用カードを
提示する。銀行は、PS/2およびRS/6000のホ
ストからなるネットワークを備えている。
【0081】この銀行用アプリケーションでは、ATM、P
rocessCentre、Account、CardDatabaseという4つのク
ラスを必要とする。図9の区分表示またはウィンドウに
示すように、ATMオブジェクト250はATMクライアント
区分252に常駐し、ProcessCentreオブジェクト25
4はProcessCentreエージェント区分256に常駐し、A
ccountオブジェクト258はAccountサーバ区分260
に常駐し、CardDatabaseオブジェクト262はCardData
baseサーバ区分264に常駐する。このアプリケーショ
ンは、区分間の関連用のミドルウェアとしてDCEを使
用する。
【0082】図11のトポロジ・ウィンドウでは、ユー
ザは、ホスト、ネットワーク、ネットワークとホストと
の接続を追加する。図11には、PS/2ホスト290
と、RS/6000ホスト292と、ネットワーク29
4が設けられている。ユーザは、個々のホストおよびネ
ットワークに固有の情報を指定する能力を備えている。
これは、他のワークロードと他のパフォーマンス特性を
含むこともできる。ホストとネットワークを視覚的に記
述した後、ユーザはどの区分(図9の区分ウィンドウで
定義したもの)をホスト上に配置できるかを指定するこ
とができる。単一ホスト上に複数の区分を配置すること
ができる。この例では、ATMクライアント区分がPS/
2ホスト290に配置され、ProcessCentreエージェン
ト区分がRS/6000ホスト_1 292aに配置さ
れ、Accountサーバ区分がRS/6000ホスト_2
292bに配置され、CardDatabase区分がRS/600
0ホスト_3 292cに配置される。ホスト上に区分
が配置されると、プロセスが作成される。この銀行用ア
プリケーションでは、ATMクライアント・プロセス、Pro
cessCentreプロセス、Accountプロセス、CardDatabase
プロセスという4つのプロセスが作成される。
【0083】本発明によるトポロジ・ウィンドウでは、
1つのホストで多くの同一ホストを表すこともできる。
この例では、PS/2ホスト290が1つ示されている
が、これは1000台のPS/2ホストを表すことにな
る。ATMクライアント区分がPS/2ホストに関連付け
られると、1000個のATMクライアント・プロセスが
作成される。これは、多くの同一ホストとプロセスを容
易に記述するための簡略操作方法をユーザに提供するも
のである。
【0084】
【表1】
【0085】
【表2】
【0086】図10のシナリオ・ウィンドウでは、ユー
ザは、外部ノード270からATM引出しシナリオが開
始されたときにアプリケーションで発生しそうなシナリ
オを指定する必要がある。このシナリオでは、ユーザ
は、シナリオに必要なオブジェクトとメソッドを指定す
る。この例のATM引出しというシナリオは、ATM_1(A
TM)272、ProcessCentre_1(ProcessCentre)27
4、Account_1(Account)276、CardDatabase_1(Ca
rdDatabase)278という4つのオブジェクトと、ATM
で開始されるATM_Withdraw280、ProcessCentreで発
生するprocessCentre_withdraw282、CardDatabaseで
発生するvalidata_card284、Accountで発生するenou
gh_money検証286とupdate_account288、ATMで発
生するdispense_money、同じくATMで発生するissue_rec
eiptという7つのメソッドによって記述される。最後の
2つのメソッドは、ローカルであるが完璧を期すために
この説明に含まれているので、図10には示していな
い。また、アプリケーションの論理を完全に示すため
に、復帰も含まれている。
【0087】ユーザは、クライアント・オーバヘッドお
よびメソッド資源需要に関するパフォーマンス情報を指
定することができる。クライアント・オーバヘッドは、
ATM引出し事象280を呼び出す前にクライアントが
行わなければならない追加作業を表す。メソッド資源需
要は、メソッドに対応するのに必要なCPU時間の量、
メソッドに対応するのに必要な装置時間の量、ネットワ
ークにより転送されるデータの量(適用可能な場合)な
どの情報を収集する。ユーザは、ホスト・タイプごとに
この情報を入力する。資源需要は多くの様々なホスト・
タイプについて入力することができる。これにより、ユ
ーザは、シナリオ・ウィンドウに戻って資源需要情報を
更新する必要もなく、様々なホスト・タイプ上に区分を
移動させることができる。実行時には、どのホスト・タ
イプがシナリオを実行するかを決定することによって、
正確な資源の使用状況が得られる。この決定を行う方法
については、ワークロード・ウィンドウを説明するとき
にこの例で後述する。
【0088】
【表3】 シナリオ名 メソッド CPU時間 データの量 ホスト・ (msec) (バイト) タイプ ATM引出し ATM Withdraw 6 0 PS/2 processCentre_withdraw 5 300 RS/6000 validate_card 5 200 RS/6000 enough_money 5 200 RS/6000 update_account 5 200 RS/6000 dispense_money 2 0 PS/2 issue_receipt 2 0 PS/2 ATM預金 ATM Deposit 6 0 PS/2 processCentre_deposit 5 300 RS/6000 validate_card 5 200 RS/6000 get_money 2 0 PS/2 processCentre_update 5 200 RS/6000 update_account 5 200 RS/6000 issue_receipt 2 0 PS/2 ATM残高照会 ATM Query Balance 8 0 PS/2 processCentre_query 5 300 RS/6000 validate_card 5 200 RS/6000 get_balance 5 200 RS/6000 display_balance 2 0 PS/2
【0089】ワークロード・ウィンドウ(図12)で
は、ユーザは、プロセス・ワークロードを構成するシナ
リオを指定する必要がある。プロセス・ワークロード
は、シナリオと、時間単位当たりのシナリオを到着速度
のリストであり、任意でユーザはユーザ要求応答時間を
指定することもできる。プロセス・ワークロードの例は
以下の通りである。
【0090】
【表4】
【0091】このプロセス・ワークロード域300に
は、3つのワークロード要素が用意されている。各ワー
クロード要素は、シナリオと、到着速度と、ユーザ要求
応答時間とを含む。到着速度は各シナリオごとに異な
り、ユーザ要求応答時間は各シナリオごとに指定されて
いる。
【0092】ユーザは、プロセス・ワークロード域30
2に多くの各種プロセス・ワークロードを指定すること
ができる。各プロセス・ワークロードは、クライアント
・プロセス域304内のクライアント・プロセスに関連
している必要がある。可能なクライアント・プロセスは
トポロジ・ウィンドウに指定されている。この例には、
1つのクライアント・プロセス(ATMクライアント・プ
ロセス)が用意されている。したがって、上記で定義し
たプロセス・ワークロードがATM Processクライアント
・プロセスに関連付けられる。パフォーマンス・モデリ
ング・ツールは、このATM Processから、それぞれのプ
ロセスがどのホスト上で動作するかを決定することがで
きる。この例では、ATM Processクライアント・プロセ
スがPS/2ホスト290上で動作し、ProcessCentre
プロセスがRS/6000ホスト_1 292a上で動
作し、AccountプロセスがRS/6000ホスト_2
292b上で動作し、CardDatabaseプロセスがRS/6
000ホスト_3 292c上で動作する。これからシ
ナリオ実行ターゲットを決定することができる。
【0093】ユーザがプロセス・ワークロード、クライ
アント・プロセス、ワークロード要素の定義を終了する
と、ユーザはパフォーマンス・エンジンを実行すること
ができる。好ましい実施例では、ワークロード・ウィン
ドウで実行308を選択することにより、ユーザは、用
意された3つのタイプのパフォーマンス分析、すなわ
ち、使用状況分析、パフォーマンス分析、パフォーマン
ス・シミュレーションから、必要なタイプのパフォーマ
ンス分析を選ぶことができる。(これは、パフォーマン
ス分析の実行が実際に含まれる前に、ポップアップ・ダ
イアログ・メニューなどから選択項目をユーザが選択す
ることによって決定されるはずである。)好ましい実施
例では、ユーザは、シミュレーション分析の許容度や遮
断前にシミュレーションを実行する時間の長さなどの所
与のパラメータも指定することができる。
【0094】使用状況分析は、アプリケーション用の使
用状況ベンチマークを決定するだけである。パフォーマ
ンス分析では、公式とアルゴリズムを使用して、すべて
のパフォーマンス・ベンチマークを決定する。パフォー
マンス・シミュレーションでは、アプリケーションのシ
ミュレーションと理論モデルの組合せを使用して、パフ
ォーマンス・ベンチマークを決定する。ワークロード表
示は、このプロセス・ワークロード域306からのプロ
セス・ワークロードと、そのクライアント・プロセス域
内の項目からの実行環境を示す。
【0095】この例では、使用状況分析が選ばれてい
る。パフォーマンス実行の実行後、結果がユーザに返さ
れる。上記の例を使用すると、結果は以下の通りであ
る。
【0096】
【表5】 エンティティ 使用状況 PS/2(ATM) 5.04% RS/6000(ProcessCentre) 51.49% RS/6000(Account) 45.69% RS/6000(CardDatabase) 37.93% Bankネットワーク 183.65%
【0097】上記の結果から、ネットワークが使いすぎ
であることは明らかである。ユーザはネットワークの使
用状況を低減する必要がある。ネットワークでの使いす
ぎ問題を解決するためのオプションは以下の通りであ
る。 1.より高速のネットワークを使用する。 2.クライアント区分とエージェント区分を同一ホスト
上に配置することによって、ネットワーク・トラフィッ
クの低減を試みる。 3.サーバ区分の1つと同じホスト上にエージェント区
分を配置することによって、ネットワーク・トラフィッ
クの低減を試みる。 4.エージェント区分と両方のサーバ区分を同一ホスト
上に配置することによって、ネットワーク・トラフィッ
クの低減を試みる。
【0098】ProcessCentreエージェント区分と、Accou
ntサーバ区分と、CardDatabaseサーバ区分が同一ホスト
上に配置されていると想定する(オプション4)。この
変更は区分表示に影響しないが、ユーザは新しいトポロ
ジ・オブジェクトを修正または定義しなければならな
い。トポロジ表示では、ユーザは、RS/6000ホス
ト_2からAccountプロセスを削除し、RS/6000
ホスト_3からCardDatabaseプロセスを削除し、RS/
6000ホスト_1上にこれらのプロセスを作成し直す
必要がある。これで、RS/6000ホスト_1上に
は、ProcessCentreプロセス、Accountプロセス、CardDa
tabaseプロセスという3つのプロセスが常駐することに
なる。ATMクライアント区分は、ATMクライアント・プロ
セスとして引き続きPS/2ホスト上に常駐することに
なる。これは、ネットワーク・トラフィックを大幅に削
減するものである。というのは、ATMクライアント区分
とProcessCentreエージェント区分との間には、ネット
ワーク使用メソッド呼出しだけが存在するからである。
区分、ホスト、プロセスの新しい関係は以下の通りであ
る。
【0099】
【表6】
【0100】資源需要値がホスト・タイプに関して与え
られているので、上記のシナリオは変更する必要がな
い。エージェント(ProcessCentre)とサーバ(Accoun
t、CardDatabase)間の呼出しはもはや分散されないの
で、シナリオ内のデータ・フィールドの量は無視され
る。したがって、シナリオ表示またはワークロード表示
の変更は一切不要である。パフォーマンス・エンジンの
呼出し後、以下の結果が得られる。
【0101】
【表7】 エンティティ 使用状況 応答時間(秒) RS/6000 59.59% PS/2 51.89% Bankネットワーク 59.03% ATMプロセス 0.28% .169 Accountプロセス 23.64% ProcessCentreプロセス 51.08% CardDatabaseプロセス 15.72%
【0102】上記の結果から、使用状況値は受け入れら
れるものになっている。したがって、このアプリケーシ
ョンでは、ネットワーク・トラフィックを低減するため
に1つのホスト上に3つの区分(ProcessCentre区分、A
ccount区分、CardDatabase区分)を設けることがより優
れた解決策であると想定することができる。この解決策
では、既存のホストとネットワークを使用し、依然とし
て受け入れられるパフォーマンスを達成することができ
る。
【0103】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0104】(1)分散システムによるアプリケーショ
ンの設計のためにパフォーマンスの予測を行うための機
構であって、アプリケーションおよび分散システムの各
種パラメータを定義する手段と、定義した上記パラメー
タを持続オブジェクトとして格納する手段と、格納した
上記持続オブジェクトを修正する手段と、各種パフォー
マンス・シナリオを定義する、格納した上記持続オブジ
ェクトの指定のグループ化の分析を行う手段とを含むこ
とを特徴とする機構。 (2)アプリケーションおよび分散システムの各種パラ
メータを定義する手段が、ユーザから入力を受け取り、
分散システムからの分散オブジェクトおよびネットワー
クと、アプリケーションからの分散オブジェクト間の対
話リンクの概略を表示できるようになっているグラフィ
カル・ユーザ・インタフェースを含み、定義したパラメ
ータを持続オブジェクトとして格納する手段が、上記分
散オブジェクトの代替分散と上記分散オブジェクト間の
代替対話リンクとを個別のオブジェクトとして格納する
手段を含むことを特徴とする、上記(1)に記載の機
構。 (3)格納した上記持続オブジェクトを修正する手段
が、格納した上記持続オブジェクトをグラフィカル・ユ
ーザ・インタフェースに再呼出しする手段を含むことを
特徴とする、上記(2)に記載の機構。 (4)上記分析を行う手段が、格納した持続オブジェク
トから分散システムを定義する1組のパラメータを選択
する手段と、1組のパラメータによりアプリケーション
・プロセスをシミュレートする手段と、シミュレーショ
ンのパフォーマンス結果を供給する手段とを含むことを
特徴とする、上記(1)に記載の機構。 (5)上記アプリケーションおよび分散システムの各種
パラメータを定義する手段が、アプリケーションおよび
分散システムの複数の表示を有するグラフィカル・ユー
ザ・インタフェースを含み、少なくとも1つの表示が、
ユーザから入力を受け取り、複数の分散オブジェクト
と、分散オブジェクト間の対話リンクの概略を表示でき
るようになっている区分表示を表すことを特徴とする、
上記(1)に記載の機構。 (6)上記区分表示が、対話リンク内のミドルウェア通
信値を定義する手段をさらに含むことを特徴とする、上
記(5)に記載の機構。 (7)上記複数の表示が、ユーザから入力を受け取り、
アプリケーション・プロセスを実行するために上記分散
オブジェクト間の対話の概略を表示できるようになって
いるシナリオ表示を表す少なくとも1つの表示をさらに
含むことを特徴とする、上記(5)に記載の機構。 (8)上記アプリケーションおよび分散システムの各種
パラメータを定義する手段が、アプリケーションおよび
分散システムの複数の表示を有するグラフィカル・ユー
ザ・インタフェースを含み、少なくとも1つの表示が、
入力を受け取り、複数のホストと分散システム内のホス
ト間のネットワークとの表現を表示できるようになって
いるトポロジ表示を表すことを特徴とする、上記(1)
に記載の機構。 (9)上記複数の表示が、入力を受け取り、複数のホス
トと分散システム内のホスト間のネットワークとの表現
を表示できるようになっている上記トポロジ表示を表す
少なくとも1つの表示をさらに含むことを特徴とする、
上記(7)に記載の機構。 (10)上記複数の表示は、入力を受け取り、アプリケ
ーション・プロセス用の到着速度を表示できるようにな
っているワークロード表示を表す少なくとも1つの表示
をさらに含むことを特徴とする、上記(9)に記載の機
構。 (11)複数のリンク済みプロセッサを有し、分散プロ
セッサ間のミドルウェア接続を含む分散システムでのア
プリケーション・プロセスのパフォーマンスベースの分
散を決定するための方法であって、 i)a)分散システム内のホスト、ネットワーク、接続
と、 b)少なくとも1つのアプリケーション・プロセスを実
行するためのホスト間のやりとりとを定義するパラメー
タを選択するステップと、 ii)選択したパラメータに応じて上記少なくとも1つの
アプリケーション・プロセスのシミュレーションを実行
するステップと、 iii)シミュレーションのパフォーマンス分析を行うス
テップとを含むことを特徴とする方法。 (12)ホスト、ネットワーク、接続、またはホスト間
のやりとりのうちの少なくとも1つのための代替パラメ
ータを定義するために入力を受け取るステップと、上記
代替パラメータを個別のデータ・オブジェクトとして保
管するステップとをさらに含むことを特徴とする、上記
(11)に記載の方法。 (13)パラメータを選択するステップが、保管したデ
ータ・オブジェクトからパラメータを選択することを含
むことを特徴とする、上記(12)に記載の方法。 (14)パラメータの代替選択のためにステップii)お
よびiii)を繰り返すステップをさらに含むことを特徴
とする、上記(11)に記載の方法。 (15)上記代替パラメータを定義するために入力を受
け取るステップが、少なくとも区分と、区分内のオブジ
ェクトと、オブジェクト間の関連と、ミドルウェア・デ
フォルトとを有する区分表示と、オブジェクト間のやり
とりと、分散システム上の資源需要とを有するシナリオ
表示と、ホストと、ネットワークと、ホストとネットワ
ークとの接続と、ホスト上でのプロセスとを有するトポ
ロジ表示と、外部事象のための到着速度の値を有するワ
ークロード表示とを定義するために入力を受け取ること
を含むことを特徴とする、上記(12)に記載の方法。 (16)上記ワークロード表示が、外部サービス要求の
ための要求応答時間をさらに含むものとして定義される
ことを特徴とする、上記(15)に記載の方法。 (17)代替パラメータを定義するために入力を受け取
るステップが、上記表示の1つの少なくとも1つの選択
肢を定義するために入力を受け取ることを含むことを特
徴とする、上記(15)に記載の方法。 (18)グラフィック表示装置で使用するためのコンピ
ュータ・プログラム製品であって、コンピュータが使用
可能な媒体であって、上記媒体で実現されたコンピュー
タが読取り可能なプログラム・コード手段を有し、分散
システムによるアプリケーションの設計のためにパフォ
ーマンスの予測を行うための媒体を含み、グラフィック
表示装置によるユーザ入力に応答して、アプリケーショ
ンおよび分散システムの各種パラメータを定義するよう
にコンピュータに指示する、コンピュータが読取り可能
なコード手段と、定義したパラメータを持続オブジェク
トとして格納するようにコンピュータに指示する、コン
ピュータが読取り可能なコード手段と、グラフィック表
示装置によるユーザ入力に応答して、格納した持続オブ
ジェクトを修正する、コンピュータが読取り可能なコー
ド手段と、ユーザ入力が選択したように、格納した持続
オブジェクトのグループ化の分析を行うようにコンピュ
ータに指示する、コンピュータが読取り可能なコード手
段であって、上記グループ化が各種パフォーマンス・シ
ナリオを定義する手段とを有することを特徴とする、コ
ンピュータ・プログラム製品。 (19)分析を行うようにコンピュータに指示する、コ
ンピュータが読取り可能な上記コード手段が、格納した
上記持続オブジェクトから分散システムを定義する1組
のパラメータを選択し、上記1組のパラメータによりア
プリケーション・プロセスをシミュレートし、シミュレ
ーションのパフォーマンス結果を供給するようにさらに
コンピュータに指示することを特徴とする、上記(1
8)に記載のコンピュータ・プログラム製品。 (20)マシンが読取り可能なプログラム記憶装置にお
いて、複数のリンク済みプロセッサを有し、分散プロセ
ッサ間のミドルウェア接続を含む分散システムでのアプ
リケーション・プロセスのパフォーマンスベースの分散
を決定するための方法ステップを実行するためにマシン
が実行可能な命令からなるプログラムを具体的に実現す
るプログラム記憶装置であって、上記方法ステップが、 i)a)分散システム内のホスト、ネットワーク、接続
と、 b)少なくとも1つのアプリケーション・プロセスを実
行するためのホスト間のやりとりとを定義するパラメー
タを選択するステップと、 ii)選択したパラメータに応じて少なくとも1つの上記
アプリケーション・プロセスのシミュレーションを実行
するステップと、 iii)シミュレーションのパフォーマンス分析を行うス
テップとを含むことを特徴とするプログラム記憶装置。 (21)マシンが読取り可能なプログラム記憶装置にお
いて、複数のリンク済みプロセッサを有し、分散プロセ
ッサ間のミドルウェア接続を含む分散システムでのアプ
リケーション・プロセスのパフォーマンスベースの分散
を決定するための方法ステップを実行するためにマシン
が実行可能な命令を有するプログラムを具体的に実現す
るプログラム記憶装置であって、上記方法ステップが、 i)代替パラメータを定義するために入力を受け取るス
テップであって、区分と、区分内のオブジェクトと、オ
ブジェクト間の関連と、ミドルウェア・デフォルトとを
有する区分表示と、オブジェクト間のやりとりと、分散
システム上の資源需要とを有するシナリオ表示と、ホス
トと、ネットワークと、ホストとネットワークとの接続
と、ホスト上でのプロセスとを有するトポロジ表示と、
外部事象のための到着速度の値を有するワークロード表
示とを定義するためのステップと、 ii)上記代替パラメータを個別のデータ・オブジェクト
として保管するステップと、 iii)選択したパラメータに応じて少なくとも1つの上
記アプリケーション・プロセスのシミュレーションを実
行するステップと、 iv)シミュレーションのパフォーマンス分析を行うステ
ップとを含むことを特徴とするプログラム記憶装置。
【図面の簡単な説明】
【図1】典型的なターゲット分散システムの概略図であ
る。
【図2】本発明の好ましい実施例の諸要素とユーザとの
やりとりの概略図である。
【図3】本発明によるパフォーマンス・モデリング・ツ
ールの一般的な動作ステップを示す流れ図である。
【図4】本発明による代替区分表示の副次指定を準備す
るための諸ステップを示す流れ図である。
【図5】本発明による代替シナリオ表示の副次指定を準
備するための諸ステップを示す流れ図である。
【図6】本発明による代替トポロジ表示の副次指定を準
備するための諸ステップを示す流れ図である。
【図7】本発明による代替ワークロード表示の副次指定
を準備するための諸ステップを示す流れ図である。
【図8】上記の4通りの表示の副次指定の選択のパフォ
ーマンスを分析するための諸ステップを示す流れ図であ
る。
【図9】本発明の好ましい実施例による区分表示のウィ
ンドウ・プレゼンテーションの概略図である。
【図10】本発明の好ましい実施例によるシナリオ表示
のウィンドウ・プレゼンテーションの概略図である。
【図11】本発明の好ましい実施例によるトポロジ表示
のウィンドウ・プレゼンテーションの概略図である。
【図12】本発明の好ましい実施例によるワークロード
表示のウィンドウ・プレゼンテーションの概略図であ
る。
【符号の説明】 30 ユーザ 32 グラフィカル・ユーザ・インタフェース 34 データ・モデル 36 パフォーマンス・モデリング分析エンジン 38 結果
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アニタ・クリスタ・ラス カナダ エム2エイチ 3エイ6 オンタ リオ州 ウィローデール スパイア・ヒル ウェイ 102 (72)発明者 ビン・チン カナダ エル1ダブリュー 3エム3 オ ンタリオ州ピカリング ハンプトン・コー ト 759 (72)発明者 ブリジッド・アン・トムソン カナダ エム4ジー 3エックス9 オン タリオ州 イースト・ヨーク レアド・ド ライブ 346

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】分散システムによるアプリケーションの設
    計のためにパフォーマンスの予測を行うための機構であ
    って、 アプリケーションおよび分散システムの各種パラメータ
    を定義する手段と、 定義した上記パラメータを持続オブジェクトとして格納
    する手段と、 格納した上記持続オブジェクトを修正する手段と、 各種パフォーマンス・シナリオを定義する、格納した上
    記持続オブジェクトの指定のグループ化の分析を行う手
    段とを含むことを特徴とする機構。
  2. 【請求項2】アプリケーションおよび分散システムの各
    種パラメータを定義する手段が、ユーザから入力を受け
    取り、分散システムからの分散オブジェクトおよびネッ
    トワークと、アプリケーションからの分散オブジェクト
    間の対話リンクの概略を表示できるようになっているグ
    ラフィカル・ユーザ・インタフェースを含み、定義した
    パラメータを持続オブジェクトとして格納する手段が、
    上記分散オブジェクトの代替分散と上記分散オブジェク
    ト間の代替対話リンクとを個別のオブジェクトとして格
    納する手段を含むことを特徴とする、請求項1に記載の
    機構。
  3. 【請求項3】格納した上記持続オブジェクトを修正する
    手段が、格納した上記持続オブジェクトをグラフィカル
    ・ユーザ・インタフェースに再呼出しする手段を含むこ
    とを特徴とする、請求項2に記載の機構。
  4. 【請求項4】上記分析を行う手段が、 格納した持続オブジェクトから分散システムを定義する
    1組のパラメータを選択する手段と、 1組のパラメータによりアプリケーション・プロセスを
    シミュレートする手段と、 シミュレーションのパフォーマンス結果を供給する手段
    とを含むことを特徴とする、請求項1に記載の機構。
  5. 【請求項5】上記アプリケーションおよび分散システム
    の各種パラメータを定義する手段が、アプリケーション
    および分散システムの複数の表示を有するグラフィカル
    ・ユーザ・インタフェースを含み、少なくとも1つの表
    示が、ユーザから入力を受け取り、複数の分散オブジェ
    クトと、分散オブジェクト間の対話リンクの概略を表示
    できるようになっている区分表示を表すことを特徴とす
    る、請求項1に記載の機構。
  6. 【請求項6】上記区分表示が、対話リンク内のミドルウ
    ェア通信値を定義する手段をさらに含むことを特徴とす
    る、請求項5に記載の機構。
  7. 【請求項7】上記複数の表示が、ユーザから入力を受け
    取り、アプリケーション・プロセスを実行するために上
    記分散オブジェクト間の対話の概略を表示できるように
    なっているシナリオ表示を表す少なくとも1つの表示を
    さらに含むことを特徴とする、請求項5に記載の機構。
  8. 【請求項8】上記アプリケーションおよび分散システム
    の各種パラメータを定義する手段が、アプリケーション
    および分散システムの複数の表示を有するグラフィカル
    ・ユーザ・インタフェースを含み、少なくとも1つの表
    示が、入力を受け取り、複数のホストと分散システム内
    のホスト間のネットワークとの表現を表示できるように
    なっているトポロジ表示を表すことを特徴とする、請求
    項1に記載の機構。
  9. 【請求項9】上記複数の表示が、入力を受け取り、複数
    のホストと分散システム内のホスト間のネットワークと
    の表現を表示できるようになっている上記トポロジ表示
    を表す少なくとも1つの表示をさらに含むことを特徴と
    する、請求項7に記載の機構。
  10. 【請求項10】上記複数の表示は、入力を受け取り、ア
    プリケーション・プロセス用の到着速度を表示できるよ
    うになっているワークロード表示を表す少なくとも1つ
    の表示をさらに含むことを特徴とする、請求項9に記載
    の機構。
  11. 【請求項11】複数のリンク済みプロセッサを有し、分
    散プロセッサ間のミドルウェア接続を含む分散システム
    でのアプリケーション・プロセスのパフォーマンスベー
    スの分散を決定するための方法であって、 i)a)分散システム内のホスト、ネットワーク、接続
    と、 b)少なくとも1つのアプリケーション・プロセスを実
    行するためのホスト間のやりとりとを定義するパラメー
    タを選択するステップと、 ii)選択したパラメータに応じて上記少なくとも1つの
    アプリケーション・プロセスのシミュレーションを実行
    するステップと、 iii)シミュレーションのパフォーマンス分析を行うス
    テップとを含むことを特徴とする方法。
  12. 【請求項12】ホスト、ネットワーク、接続、またはホ
    スト間のやりとりのうちの少なくとも1つのための代替
    パラメータを定義するために入力を受け取るステップ
    と、 上記代替パラメータを個別のデータ・オブジェクトとし
    て保管するステップとをさらに含むことを特徴とする、
    請求項11に記載の方法。
  13. 【請求項13】パラメータを選択するステップが、保管
    したデータ・オブジェクトからパラメータを選択するこ
    とを含むことを特徴とする、請求項12に記載の方法。
  14. 【請求項14】パラメータの代替選択のためにステップ
    ii)およびiii)を繰り返すステップをさらに含むこと
    を特徴とする、請求項11に記載の方法。
  15. 【請求項15】上記代替パラメータを定義するために入
    力を受け取るステップが、少なくとも区分と、区分内の
    オブジェクトと、オブジェクト間の関連と、ミドルウェ
    ア・デフォルトとを有する区分表示と、 オブジェクト間のやりとりと、分散システム上の資源需
    要とを有するシナリオ表示と、 ホストと、ネットワークと、ホストとネットワークとの
    接続と、ホスト上でのプロセスとを有するトポロジ表示
    と、 外部事象のための到着速度の値を有するワークロード表
    示とを定義するために入力を受け取ることを含むことを
    特徴とする、請求項12に記載の方法。
  16. 【請求項16】上記ワークロード表示が、外部サービス
    要求のための要求応答時間をさらに含むものとして定義
    されることを特徴とする、請求項15に記載の方法。
  17. 【請求項17】上記代替パラメータを定義するために入
    力を受け取るステップが、上記表示の1つの少なくとも
    1つの選択肢を定義するために入力を受け取ることを含
    むことを特徴とする、請求項15に記載の方法。
  18. 【請求項18】グラフィック表示装置で使用するための
    コンピュータ・プログラム製品であって、 コンピュータが使用可能な媒体であって、上記媒体で実
    現されたコンピュータが読取り可能なプログラム・コー
    ド手段を有し、分散システムによるアプリケーションの
    設計のためにパフォーマンスの予測を行うための媒体を
    含み、 グラフィック表示装置によるユーザ入力に応答して、ア
    プリケーションおよび分散システムの各種パラメータを
    定義するようにコンピュータに指示する、コンピュータ
    が読取り可能なコード手段と、 定義したパラメータを持続オブジェクトとして格納する
    ようにコンピュータに指示する、コンピュータが読取り
    可能なコード手段と、 グラフィック表示装置によるユーザ入力に応答して、格
    納した持続オブジェクトを修正する、コンピュータが読
    取り可能なコード手段と、 ユーザ入力が選択したように、格納した持続オブジェク
    トのグループ化の分析を行うようにコンピュータに指示
    する、コンピュータが読取り可能なコード手段であっ
    て、上記グループ化が各種パフォーマンス・シナリオを
    定義する手段とを有することを特徴とする、コンピュー
    タ・プログラム製品。
  19. 【請求項19】分析を行うようにコンピュータに指示す
    る、コンピュータが読取り可能な上記コード手段が、 格納した上記持続オブジェクトから分散システムを定義
    する1組のパラメータを選択し、 上記1組のパラメータによりアプリケーション・プロセ
    スをシミュレートし、 シミュレーションのパフォーマンス結果を供給するよう
    にさらにコンピュータに指示することを特徴とする、請
    求項18に記載のコンピュータ・プログラム製品。
  20. 【請求項20】マシンが読取り可能なプログラム記憶装
    置において、複数のリンク済みプロセッサを有し、分散
    プロセッサ間のミドルウェア接続を含む分散システムで
    のアプリケーション・プロセスのパフォーマンスベース
    の分散を決定するための方法ステップを実行するために
    マシンが実行可能な命令からなるプログラムを具体的に
    実現するプログラム記憶装置であって、上記方法ステッ
    プが、 i)a)分散システム内のホスト、ネットワーク、接続
    と、 b)少なくとも1つのアプリケーション・プロセスを実
    行するためのホスト間のやりとりとを定義するパラメー
    タを選択するステップと、 ii)選択したパラメータに応じて少なくとも1つの上記
    アプリケーション・プロセスのシミュレーションを実行
    するステップと、 iii)シミュレーションのパフォーマンス分析を行うス
    テップとを含むことを特徴とするプログラム記憶装置。
  21. 【請求項21】マシンが読取り可能なプログラム記憶装
    置において、複数のリンク済みプロセッサを有し、分散
    プロセッサ間のミドルウェア接続を含む分散システムで
    のアプリケーション・プロセスのパフォーマンスベース
    の分散を決定するための方法ステップを実行するために
    マシンが実行可能な命令を有するプログラムを具体的に
    実現するプログラム記憶装置であって、上記方法ステッ
    プが、 i)代替パラメータを定義するために入力を受け取るス
    テップであって、 区分と、区分内のオブジェクトと、オブジェクト間の関
    連と、ミドルウェア・デフォルトとを有する区分表示
    と、 オブジェクト間のやりとりと、分散システム上の資源需
    要とを有するシナリオ表示と、 ホストと、ネットワークと、ホストとネットワークとの
    接続と、ホスト上でのプロセスとを有するトポロジ表示
    と、 外部事象のための到着速度の値を有するワークロード表
    示とを定義するためのステップと、 ii)上記代替パラメータを個別のデータ・オブジェクト
    として保管するステップと、 iii)選択したパラメータに応じて少なくとも1つの上
    記アプリケーション・プロセスのシミュレーションを実
    行するステップと、 iv)シミュレーションのパフォーマンス分析を行うステ
    ップとを含むことを特徴とするプログラム記憶装置。
JP9045118A 1996-03-14 1997-02-28 パフォーマンスの予測を行うための機構および方法 Pending JPH09311782A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002171802A CA2171802C (en) 1996-03-14 1996-03-14 Comparative performance modeling for distributed object oriented applications
CA2171802 1996-03-14

Publications (1)

Publication Number Publication Date
JPH09311782A true JPH09311782A (ja) 1997-12-02

Family

ID=4157748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9045118A Pending JPH09311782A (ja) 1996-03-14 1997-02-28 パフォーマンスの予測を行うための機構および方法

Country Status (3)

Country Link
US (1) US5881268A (ja)
JP (1) JPH09311782A (ja)
CA (1) CA2171802C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222269B2 (en) 2001-12-06 2007-05-22 Ns Solutions Corporation Performance evaluation device, performance evaluation information managing device, performance evaluation method, performance evaluation information managing method, performance evaluation system
US7496476B2 (en) 2006-05-16 2009-02-24 International Business Machines Corporation Method and system for analyzing performance of an information processing system
JP2013242899A (ja) * 2013-07-18 2013-12-05 Nec Corp 監視制御システム、監視制御方法、監視制御サーバ及び監視制御プログラム

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042733B2 (en) 1996-11-27 2011-10-25 Diebold, Incorporated Automated banking machine that operates responsive to data bearing records
US20050038747A1 (en) * 1996-11-27 2005-02-17 Diebold, Incorporated Automated banking machine configuration system
US8121914B1 (en) 1996-11-27 2012-02-21 Diebold, Incorporated Automated banking machine customer profile method
US6970846B1 (en) 1996-11-27 2005-11-29 Diebold, Incorporated Automated banking machine configuration method
US7266526B1 (en) * 1996-11-27 2007-09-04 Diebold, Incorporated Automated banking machine system with multiple browsers
US7080036B1 (en) 1996-11-27 2006-07-18 Diebold, Incorporated Automated banking machine development method
US7603302B1 (en) 1996-11-27 2009-10-13 Diebold, Incorporated Automated banking machine system with multiple entity interface
US6223306B1 (en) * 1998-02-27 2001-04-24 Hewlett-Packard Company Method and apparatus for testing X servers
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
US7389211B2 (en) * 1998-05-13 2008-06-17 Abu El Ata Nabil A System and method of predictive modeling for managing decisions for business enterprises
US6990437B1 (en) 1999-07-02 2006-01-24 Abu El Ata Nabil A Systems and method for determining performance metrics for constructing information systems
US20020049573A1 (en) * 1998-05-13 2002-04-25 El Ata Nabil A. Abu Automated system and method for designing model based architectures of information systems
US7783468B2 (en) * 1998-05-13 2010-08-24 Accretive Technologies, Inc. Automated system and method for service and cost architecture modeling of enterprise systems
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
US7031901B2 (en) * 1998-05-13 2006-04-18 Abu El Ata Nabil A System and method for improving predictive modeling of an information system
US6205413B1 (en) * 1998-06-11 2001-03-20 Chatschik Bisdikian End-user oriented performance monitoring system for interactive end-to-end data communications
US6173313B1 (en) * 1998-06-24 2001-01-09 Oracle Corporation Methodology for hosting distributed objects at a predetermined node in a distributed system
US6199199B1 (en) * 1998-09-16 2001-03-06 International Business Machines Corporation Presentation of visual program performance data
US6170081B1 (en) * 1998-09-17 2001-01-02 Unisys Coporation Method and system for interfacing to a variety of software development tools
US6178395B1 (en) * 1998-09-30 2001-01-23 Scientific Learning Corporation Systems and processes for data acquisition of location of a range of response time
US6988271B2 (en) * 1998-10-02 2006-01-17 Microsoft Corporation Heavyweight and lightweight instrumentation
US7039919B1 (en) * 1998-10-02 2006-05-02 Microsoft Corporation Tools and techniques for instrumenting interfaces of units of a software program
US6983463B1 (en) 1998-10-02 2006-01-03 Microsoft Corporation Network independent profiling of applications for automatic partitioning and distribution in a distributed computing environment
US6381628B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Summarized application profiling and quick network profiling
AR029173A1 (es) * 1999-07-20 2003-06-18 Diebold Inc Metodo para el desarrollo de cajeros automaticos
US6772107B1 (en) * 1999-11-08 2004-08-03 J.D. Edwards World Source Company System and method for simulating activity on a computer network
US7013251B1 (en) * 1999-12-15 2006-03-14 Microsoft Corporation Server recording and client playback of computer network characteristics
US6477483B1 (en) 2000-01-17 2002-11-05 Mercury Interactive Corporation Service for load testing a transactional server over the internet
US6845352B1 (en) * 2000-03-22 2005-01-18 Lucent Technologies Inc. Framework for flexible and scalable real-time traffic emulation for packet switched networks
GB0007898D0 (en) * 2000-03-31 2000-05-17 British Telecomm Apparatus for optimising configuration parameters of a network
US20020103631A1 (en) * 2000-04-21 2002-08-01 Anja Feldmann Traffic engineering system and method
JP3511620B2 (ja) * 2000-05-17 2004-03-29 日本電気株式会社 大規模ネットワーク監視系の性能解析方法およびそのシステム
US20010049658A1 (en) * 2000-05-31 2001-12-06 Hays David Allen Method and system for providing an online collections services marketplace
US6996517B1 (en) * 2000-06-06 2006-02-07 Microsoft Corporation Performance technology infrastructure for modeling the performance of computer systems
US7062771B2 (en) * 2000-07-03 2006-06-13 Oculus Technologies Corporation Method and apparatus for generating a decentralized model on a computer network
US7881920B2 (en) 2000-08-29 2011-02-01 Abu El Ata Nabil A Systemic enterprise management method and apparatus
US20020073141A1 (en) 2000-12-12 2002-06-13 Dewhurst Sebastian John Computational fluid dynamics software
DE10158853A1 (de) * 2001-11-30 2003-06-12 Univ Braunschweig Tech Carolo Wilhelmina Verfahren zur Analyse des Zeitverhaltens komplexer verteilter Systeme
US7099816B2 (en) * 2002-06-17 2006-08-29 International Business Machines Corporation Method, system and article of manufacture for an analytic modeling technique for handling multiple objectives
US8056046B2 (en) * 2002-10-22 2011-11-08 The Boeing Company Integrated system-of-systems modeling environment and related methods
US7797141B2 (en) * 2002-10-22 2010-09-14 The Boeing Company Predictive analysis of availability of systems and/or system components
JP4787460B2 (ja) * 2003-01-17 2011-10-05 日本電気株式会社 ソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式および方法
US7296256B2 (en) * 2003-10-20 2007-11-13 International Business Machines Corporation Method and apparatus for automatic modeling building using inference for IT systems
US7526421B2 (en) * 2004-02-27 2009-04-28 International Business Machines Corporation System and method for modeling LPAR behaviors in a simulation tool
US20060025984A1 (en) * 2004-08-02 2006-02-02 Microsoft Corporation Automatic validation and calibration of transaction-based performance models
US7725901B2 (en) * 2005-04-14 2010-05-25 International Business Machines Corporation Method and system for performance balancing in a distributed computer system
US8335794B1 (en) 2005-04-28 2012-12-18 Progress Software Corporation Optimizing performance of database middleware
US20070046282A1 (en) * 2005-08-31 2007-03-01 Childress Rhonda L Method and apparatus for semi-automatic generation of test grid environments in grid computing
US20070083630A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for performance testing framework
GB2431744A (en) * 2005-10-28 2007-05-02 Hewlett Packard Development Co System design using nodes in tree structures
US8401882B2 (en) * 2005-11-08 2013-03-19 International Business Machines Corporation Aligning information technology with business objectives through automated feedback control
US7739099B2 (en) * 2005-12-22 2010-06-15 International Business Machines Corporation Method and system for on-line performance modeling using inference for real production IT systems
US8073671B2 (en) * 2006-03-31 2011-12-06 Microsoft Corporation Dynamic software performance models
US7756973B2 (en) * 2006-04-27 2010-07-13 International Business Machines Corporation Identifying a configuration for an application in a production environment
US7921453B2 (en) * 2006-12-22 2011-04-05 Intel Corporation Authenticated distributed detection and inference
US9432443B1 (en) 2007-01-31 2016-08-30 Hewlett Packard Enterprise Development Lp Multi-variate computer resource allocation
US7996204B2 (en) * 2007-04-23 2011-08-09 Microsoft Corporation Simulation using resource models
US7877250B2 (en) 2007-04-23 2011-01-25 John M Oslake Creation of resource models
US7974827B2 (en) * 2007-04-23 2011-07-05 Microsoft Corporation Resource model training
US20090006071A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Methods for Definition and Scalable Execution of Performance Models for Distributed Applications
US20090112668A1 (en) * 2007-10-31 2009-04-30 Abu El Ata Nabil A Dynamic service emulation of corporate performance
US8140319B2 (en) * 2008-02-05 2012-03-20 International Business Machines Corporation Method and system for predicting system performance and capacity using software module performance statistics
US8086437B2 (en) * 2008-04-02 2011-12-27 Microsoft Corporation Modeling and simulating software contention
US20120232880A1 (en) * 2011-03-13 2012-09-13 International Business Machines Corporation Performance assessment of a program model
US8713152B2 (en) * 2012-03-02 2014-04-29 Microsoft Corporation Managing distributed applications using structural diagrams
US9229771B2 (en) 2012-03-08 2016-01-05 Microsoft Technology Licensing, Llc Cloud bursting and management of cloud-bursted applications
US9444896B2 (en) 2012-12-05 2016-09-13 Microsoft Technology Licensing, Llc Application migration between clouds
WO2014116862A1 (en) * 2013-01-25 2014-07-31 Amazon Technologies, Inc. Distribution of application components among devices
US9184979B2 (en) 2013-01-25 2015-11-10 Amazon Technologies, Inc. Communication between application components distributed among devices
GB2512847A (en) 2013-04-09 2014-10-15 Ibm IT infrastructure prediction based on epidemiologic algorithm
CN108596415B (zh) 2017-12-15 2023-11-24 创新先进技术有限公司 一种模型整合方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69132012T2 (de) * 1990-10-16 2000-11-16 Consilium, Inc. Objektorientierte architektur für fabrikverwaltung
US5652789A (en) * 1994-09-30 1997-07-29 Wildfire Communications, Inc. Network based knowledgeable assistant

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222269B2 (en) 2001-12-06 2007-05-22 Ns Solutions Corporation Performance evaluation device, performance evaluation information managing device, performance evaluation method, performance evaluation information managing method, performance evaluation system
US7496476B2 (en) 2006-05-16 2009-02-24 International Business Machines Corporation Method and system for analyzing performance of an information processing system
JP2013242899A (ja) * 2013-07-18 2013-12-05 Nec Corp 監視制御システム、監視制御方法、監視制御サーバ及び監視制御プログラム

Also Published As

Publication number Publication date
CA2171802C (en) 2001-06-05
US5881268A (en) 1999-03-09
CA2171802A1 (en) 1997-09-15

Similar Documents

Publication Publication Date Title
JPH09311782A (ja) パフォーマンスの予測を行うための機構および方法
Bao et al. Performance modeling and workflow scheduling of microservice-based applications in clouds
US9507634B1 (en) Methods and system for distributing technical computing tasks to technical computing workers
Hrischuk et al. Automatic generation of a software performance model using an object-oriented prototype
AU2003204420B2 (en) Systems and methods for work list prediction
US20110167425A1 (en) Instrument-based distributed computing systems
CN113454614A (zh) 用于分布式计算中的资源划分的系统和方法
US8041790B2 (en) Dynamic definition for concurrent computing environments
Halliday et al. Flexible workflow management in the OPENflow system
Mahmoud et al. Multiobjective task scheduling in cloud environment using decision tree algorithm
Lin et al. ABS-YARN: A formal framework for modeling Hadoop YARN clusters
Sundas et al. An introduction of CloudSim simulation tool for modelling and scheduling
Petriu et al. Analysing software requirements specifications for performance
Kounev et al. Introduction to queueing petri nets: modeling formalism, tool support and case studies
Williams et al. Information requirements for software performance engineering
Lin et al. A configurable and executable model of Spark Streaming on Apache YARN
Zhu et al. RDOF: deployment optimization for function as a service
Zheng et al. Heuristic optimization of scheduling and allocation for distributed systems with soft deadlines
JP2002157386A (ja) ワークフロー管理方法および装置並びにその処理プログラム並びにその処理プログラムを格納した記録媒体
Mao et al. Hierarchical model-based associate tasks scheduling with the deadline constraints in the cloud
Rak et al. Distributed internet systems modeling using tcpns
JPH1049504A (ja) 負荷分散バッチシステム
KR20190143595A (ko) 동시병행 일정 최적화 방법 및 시스템
Sheikh et al. Layered performance modelling of a CORBA-based distributed application design
Ammar et al. Online Heuristics for the Dynamic Assignment of Workers in Contextaware Manufacturing Systems with Random Times and Fluctuating Demands