(57)【要約】【課題】ソフトウェア・コンポーネントの性能を予め測定しておき、システム全体の性能を既に測定されたソフトウェア・コンポーネントの性能を組み合わせて予測する。【解決手段】コンポーネント性能測定手段２０は、各ソフトウェア・コンポーネントのシステム資源使用量を測定して測定結果を性能データベース１０に格納する。トランザクション性能予測手段３０は、性能データベース１０に蓄えられた各ソフトウェア・コンポーネントのシステム資源使用量からトランザクションのシステム資源使用量を予測する。システム性能予測手段４０は、トランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測する。【選択図】  図１
2004220453.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェア・コンポーネントを組み合わせる手法で構築されるシステムのシステム性能予測方式において、
システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄えるコンポーネント性能測定手段と、
システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して前記性能データベースを検索した結果から予測するトランザクション性能予測手段と、
前記トランザクション性能予測手段により予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測するシステム性能予測手段と
を有することを特徴とするソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項２】
前記コンポーネント性能測定手段が、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項１記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項３】
前記コンポーネント性能測定手段が、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項１記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項４】
前記システム性能予測手段が、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項１，請求項２または請求項３記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項５】
前記システム性能予測手段が、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項１，請求項２，請求項３または請求項４記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項６】
前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする請求項１，請求項２，請求項３，請求項４または請求項５記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式。
【請求項７】
複数のソフトウェア・コンポーネントを組み合わせる手法で構築されるシステムのシステム性能予測方法において、
システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄える工程と、
システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して性能データベースを検索した結果から予測する工程と、
予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測する工程と
を含むことを特徴とするソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項８】
前記ソフトウェア・コンポーネントのシステム資源使用量を測定する工程では、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項７記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項９】
前記ソフトウェア・コンポーネントのシステム資源使用量を測定する工程では、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項７記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項１０】
前記システム全体のシステム資源使用量を予測する工程では、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項７，請求項８または請求項９記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項１１】
前記システム全体のシステム資源使用量を予測する工程では、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項７，請求項８，請求項９または請求項１０記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項１２】
前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする請求項７，請求項８，請求項９，請求項１０または請求項１１記載のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法。
【請求項１３】
コンピュータを、システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄えるコンポーネント性能測定手段，システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して前記性能データベースを検索した結果から予測するトランザクション性能予測手段，および前記トランザクション性能予測手段により予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測するシステム性能予測手段として機能させるためのプログラム。
【請求項１４】
前記コンポーネント性能測定手段が、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記コンポーネント性能測定手段が、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする請求項１３記載のプログラム。
【請求項１６】
前記システム性能予測手段が、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項１３，請求項１４または請求項１５記載のプログラム。
【請求項１７】
前記システム性能予測手段が、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする請求項１３，請求項１４，請求項１５または請求項１６記載のプログラム。
【請求項１８】
前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする請求項１３，請求項１４，請求項１５，請求項１６または請求項１７記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式に関し、特に複数のソフトウェア・コンポーネントを組み合わせる手法で構築されるシステムにおけるソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式に関する。
【０００２】
【従来の技術】
従来のシステム構築においては、設計初期の段階で性能面の机上検討もしくはプロトタイプ・システムを構築しての性能測定が行われることはあったが、開発途中のシステムを測定しての性能評価が実施されることは稀であった。ほとんどの場合、開発システムの性能評価は、システム全体が動作し始める結合テスト段階になって初めて実施されていた（例えば、特許文献１参照）。
【０００３】
一方、システム構築における性能評価（予測）の方法論としては、プログラム実行に必要なシステム資源使用量を見積もり可能な程度にソフトウェア実行を分割した上で、各処理ステップについて見積もったシステム資源使用量からシステム性能を予測する手法が示されている（例えば、非特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−１０８６５６号公報（第８―１０頁、図１参照）
【非特許文献１】
Ｃｏｎｎｉｅ
Ｕ．  Ｓｍｉｔｈ，  Ｓｏｆｔｗａｒｅ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ，  ｐｐ１５７−２２４，  Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，  Ｒｅａｄｉｎｇ，  ＭＡ
【０００５】
【発明が解決しようとする課題】
上述したように、従来の前者の技術では、開発システムの性能評価は、ほとんどの場合、システム全体が動作し始める結合テスト段階になって初めて実施されていたため、ここで性能問題が発見されても、対応時間が制限されてしまうので、システムの基本アーキテクチャの変更といった大がかりな対応は不可能であり、効果の薄い小手先の対応しかできないという問題点があった。このため、場合によっては、性能が十分に改善できず、納期遅れやシステムインテグレーションベンダによるハードウエアの無償増強によって対応するといった事態も生じていた。
【０００６】
また、従来の後者の技術では、処理ステップ毎のシステム性能は、ソフトウェア開発者が見積もる方法が中心であり、系統だった性能測定についてはできないという問題点があった。
【０００７】
本発明の目的は、複数のソフトウェア・コンポーネントを組み合わせる手法（コンポーネント・ベース）で構築されるシステム全体の性能を評価する方法として、全ソフトウェア・コンポーネントが組み合わされた状態のシステム資源使用量を測定するのではなく、個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定しておき、システム全体のシステム資源使用量を既に測定されたソフトウェア・コンポーネントのシステム資源使用量を組み合わせて予測することを可能とするソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式および方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、複数のソフトウェア・コンポーネントを組み合わせる手法で構築されるシステムのシステム性能予測方式において、システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄えるコンポーネント性能測定手段と、システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して前記性能データベースを検索した結果から予測するトランザクション性能予測手段と、前記トランザクション性能予測手段により予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測するシステム性能予測手段とを有することを特徴とする。
【０００９】
また、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、前記コンポーネント性能測定手段が、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００１０】
さらに、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、前記コンポーネント性能測定手段が、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００１１】
さらにまた、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、前記システム性能予測手段が、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００１２】
また、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、前記システム性能予測手段が、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００１３】
さらに、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする。
【００１４】
一方、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、複数のソフトウェア・コンポーネントを組み合わせる手法で構築されるシステムのシステム性能予測方法において、システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄える工程と、システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して性能データベースを検索した結果から予測する工程と、予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測する工程とを含むことを特徴とする。
【００１５】
また、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、前記ソフトウェア・コンポーネントのシステム資源使用量を測定する工程では、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００１６】
さらに、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、前記ソフトウェア・コンポーネントのシステム資源使用量を測定する工程では、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００１７】
さらにまた、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、前記システム全体のシステム資源使用量を予測する工程では、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００１８】
また、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、前記システム全体のシステム資源使用量を予測する工程では、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００１９】
さらに、本発明のソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方法は、前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする。
【００２０】
他方、本発明のプログラムは、コンピュータを、システムを構成する個々のソフトウェア・コンポーネントのシステム資源使用量を予め測定して性能データベースに蓄えるコンポーネント性能測定手段，システムで処理することになるトランザクションのシステム資源使用量を該トランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求を考慮して前記性能データベースを検索した結果から予測するトランザクション性能予測手段，および前記トランザクション性能予測手段により予測されたトランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測するシステム性能予測手段として機能させることを特徴とする。
【００２１】
また、本発明のプログラムは、前記コンポーネント性能測定手段が、テスト・ドライバ内に挿入され測定対象コンポーネントで発生したイベントを検出するアプリケーション・プローブとオペレーティング・システム内に挿入され測定対象システムで発生したイベントを検出するカーネル・プローブとを併用した測定によって得られるイベント・トレースを分析してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００２２】
さらに、本発明のプログラムは、前記コンポーネント性能測定手段が、オペレーティング・システム等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用してソフトウェア・コンポーネントのシステム資源使用量を求めることを特徴とする。
【００２３】
さらにまた、本発明のプログラムは、前記システム性能予測手段が、システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求め、ソフトウェア・コンポーネントおよび動作条件をキーとして前記性能データバースを検索してシステム資源使用量を求め、システム性能上重要なトランザクションについて処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせてトランザクションのシステム資源使用量を予測し、得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００２４】
また、本発明のプログラムは、前記システム性能予測手段が、システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについて前記トランザクション性能予測手段により予測したシステム資源使用量をトランザクションの実行比率と一緒にシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測することを特徴とする。
【００２５】
さらに、本発明のプログラムは、前記システム資源使用量が、ＣＰＵ使用時間であることを特徴とする。
【００２６】
図１において、コンポーネント性能測定手段２０は、カーネル・プローブとアプリケーション・プローブとを併用するイベント・トレース手法により、各ソフトウェア・コンポーネントのシステム資源使用量を測定する。このとき、アプリケーション・プローブは性能テスト・ドライバ・プログラム（以下、テスト・ドライバという）と測定対象コンポーネントとの境界を示すためにテスト・ドライバ中に挿入されるプローブであり、カーネル・プローブはテスト・ドライバが消費したシステム資源使用量の分析を可能とするためにオペレーティング・システムのカーネル中に挿入されるプローブである。
【００２７】
このような測定を繰り返し、複数の動作条件下でのソフトウェア・コンポーネントのシステム資源使用量を調べ、ソフトウェア・コンポーネントおよび動作条件をキーとして、そのシステム資源使用量を性能予測の基礎となる性能データベース１０に蓄えておく。
【００２８】
システム性能の予測は、以下の手順により行う。
【００２９】
１）システムで処理することになるトランザクションの処理内容を構成するソフトウェア・コンポーネントおよび要求から各ソフトウェア・コンポーネントが動作する際の動作条件を求める。
【００３０】
２）ソフトウェア・コンポーネントおよび動作条件をキーとして性能データベース１０を検索してシステム資源使用量を求める。
【００３１】
３）システム性能上重要なトランザクションについて、処理に関与する全ソフトウェア・コンポーネントのシステム資源使用量を検索した結果を組み合わせ、そのトランザクションのシステム資源使用量を予測する。
【００３２】
４）前記３）で得られた結果を組み合わせてシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測する。
【００３３】
このようにして、ソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測を可能にする。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００３５】
［第１の実施の形態］
図１を参照すると、本発明の第１の実施の形態に係るシステム性能予測方式は、各ソフトウェア・コンポーネントのシステム資源使用量を蓄える性能データベース１０と、各ソフトウェア・コンポーネントのシステム資源使用量を測定して測定結果を性能データベース１０に格納するコンポーネント性能測定手段２０と、性能データベース１０に蓄えられた各ソフトウェア・コンポーネントのシステム資源使用量からトランザクションのシステム資源使用量を予測するトランザクション性能予測手段３０と、トランザクションのシステム資源使用量をシステム性能予測モデルに入力することによりシステム全体のシステム資源使用量を予測するシステム性能予測手段４０とからなる。
【００３６】
次に、このように構成された第１の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の動作について説明する。
【００３７】
図２に示すように、まず、評価対象システムによるトランザクションの処理には、通信コンポーネントＡ，適用コンポーネントＢおよびデータベースコンポーネントＣの３種類のソフトウェア・コンポーネントが関与するものとする。
【００３８】
図３は、通信コンポーネントＡの動作を示すフローチャートである。通信コンポーネントＡは、システム外部より処理要求メッセージの到着を待ち（ステップＳ１０１）、処理要求メッセージを受け取ると（ステップＳ１０２）、処理番号で示される処理を引数を付けて呼び出すことにより必要となる処理の一部を別のソフトウェア・コンポーネント（適用コンポーネントＢ）に依頼し（ステップＳ１０３）、処理の戻り値を応答メッセージとして要求元に送信する（ステップＳ１０４）。
【００３９】
図４は、適用コンポーネントＢの動作を示すフローチャートである。適用コンポーネントＢに用意されている処理は、処理Ｂ１および処理Ｂ２の２種類である。処理Ｂ１では、引数で渡される番号をｉｎｄｅｘとしてデータベースコンポーネントＣに検索要求を出し（ステップＳ２０１）、検索したレコードにあるｖａｌｕｅフィールドの値を戻り値とする（ステップＳ２０２）。また、処理Ｂ２では、第１引数で渡される番号をｉｎｄｅｘとするレコードのｖａｌｕｅフィールドを第２引数の値に変更するようにデータベースコンポーネントＣに更新要求を出し（ステップＳ２１１）、更新要求が成功したか失敗したかを示す値を戻り値とする（ステップＳ２１２）。適用コンポーネントＢの処理が完了すると、その処理結果が応答メッセージとして通信コンポーネントＡに戻され、そこからトランザクションの処理結果としてシステム外部に処理完了メッセージが送られる。
【００４０】
図５は、適用コンポーネントＢが用意している処理Ｂ１を外部から要求された際のトランザクション処理の全体動作を示すシーケンス図である。図５に示す通り、各ソフトウェア・コンポーネントとも、ソフトウェア・コンポーネント外（システム外部の場合もある）から処理要求を受け取ると処理を開始し、必要に応じて別のソフトウェア・コンポーネントに処理を依頼しならが自ソフトウェア・コンポーネントの処理を進め、これが完了すると要求元に処理結果を通知する、という動作を行う。
【００４１】
ここで、各ソフトウェア・コンポーネントの処理に必要となるシステム資源使用量（本実施の形態では、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用時間とする）は、以下の要因で決まることが分かっているものとする。
【００４２】
１）通信コンポーネントＡのＣＰＵ使用時間は、受信する処理要求メッセージに含まれる引数の数。
【００４３】
２）適用コンポーネントＢのＣＰＵ使用時間は、処理内容（本実施の形態では、処理Ｂ１または処理Ｂ２）。
【００４４】
３）データベースコンポーネントＣのＣＰＵ使用時間は、処理内容（本実施の形態では、検索または更新）。
【００４５】
図６は、各々のソフトウェア・コンポーネントについて、性能としてＣＰＵ使用時間を測定するコンポーネント性能測定手段２０の構成を示すブロック図である。コンポーネント性能測定手段２０による測定の対象となるソフトウェア・コンポーネント（以下、測定対象コンポーネントという）２２は、測定の対象となるシステム（以下、測定対象システムという）２１の一部を構成しており、測定対象システム２１は、測定対象システム２１で発生したイベントを検出するカーネル・プローブ２４が挿入されたオペレーティング・システム２３と、測定対象コンポーネント２２で発生したイベントを検出するアプリケーション・プローブ２６が挿入されたテスト・ドライバ２５と、アプリケーション・プローブ２６が検出したイベントを時系列的にイベント・トレース２８として記録するイベント記録手段２７と、イベント・トレース２８を分析して測定対象コンポーネント２２が要求を処理するときのＣＰＵ使用時間を求める性能分析手段２９とから構成されている。
【００４６】
カーネル・プローブ２４は、プログラムによるＣＰＵ使用開始（再開）イベントと使用終了（中断）イベントとを検出する。
【００４７】
テスト・ドライバ２５は、測定対象コンポーネント２２のＣＰＵ使用時間を左右する要因の内、処理要求を発行する側で制御可能な動作条件をパラメータとして入力した上で、測定対象コンポーネント２２に対して処理要求（要求ａ）を行い、その処理結果（応答ａ）を受け取る。さらに、テスト・ドライバ２５は、測定対象コンポーネント２２が別のソフトウェア・コンポーネントに対して処理要求を行う場合は、その処理要求（要求ｂ）を受け取り、それに対して擬似的な処理結果（応答ｂ）を返す。また、テスト・ドライバ２５内には、測定対象コンポーネント２２に制御を移すイベント（▲１▼，▲３▼）、および測定対象コンポーネント２２から制御が戻ったというイベント（▲２▼，▲４▼）を検出するアプリケーション・プローブ２６を埋め込んでおく。
【００４８】
図７は、適用コンポーネント測定用のテスト・ドライバ２５を用いて適用コンポーネントＢを駆動したときの動作を示すシーケンス図である。図７に示す通り、適用コンポーネントＢが動作している期間（区切り）は、テスト・ドライバ２５内に予め組み込まれているアプリケーション・プローブ２６が出力するイベントにより知ることができる。
【００４９】
性能測定においては、測定実施者が動作条件を与えてテスト・ドライバ２５を動作させ、測定対象コンポーネント２２を駆動する。この動作に伴って発生するイベントをイベント記録手段２７で逐次記録していくことで、イベント・トレース２８が作成される。
【００５０】
図８は、イベント・トレース２８の内容例を示す。このイベント・トレース２８を性能分析手段２９によって分析することにより、イベント▲１▼からイベント▲２▼までの間のプログラム実行，およびイベント▲３▼からイベント▲４▼までのプログラム実行についてＣＰＵ使用時間を求めることができる。すなわち、イベント▲１▼からイベント▲２▼までの時間は１００であるが、この間の１０はＣＰＵ使用を中断していたため、ＣＰＵ使用時間は９０であることがわかる。同様に、イベント▲３▼からイベント▲４▼までの期間についてのＣＰＵ使用時間は１９０であることが分かるので、前記動作条件下での測定対象コンポーネント２２のＣＰＵ使用時間は２９０であることが求まる。
【００５１】
同様に、テスト・ドライバ２５に異なる動作条件を与えて同様の測定および分析を行うことで、測定対象コンポーネント２２が異なる動作条件下で動作したときのＣＰＵ使用時間を求めることができる。
【００５２】
このようにして得られる動作条件およびＣＰＵ使用時間の組を、性能データベース１０に登録する。
【００５３】
以上がコンポーネント性能測定手段２０によって実行される性能測定手順である。
【００５４】
図９は、図２に示した通信コンポーネントＡ，適用コンポーネントＢおよびデータベースコンポーネントＣの３種類のソフトウェア・コンポーネントについて作成した性能データベース１０の内容例を示す。
【００５５】
なお、測定対象コンポーネント２２によっては、テスト・ドライバ２５の上位側（処理要求を行う側）が測定対象システムの外部に存在する場合（通信コンポーネントＡ）や、テスト・ドライバ２５の下位側（測定対象コンポーネント２２が出す処理要求を受け取り、擬似的な応答メッセージを返す側）が存在しない場合（データベースコンポーネントＣ）もある。
【００５６】
ソフトウェア・コンポーネントのシステム資源使用量を測定するとき、すなわち、テスト・ドライバ２５と組み合わされた場合、そのソフトウェア・コンポーネントに対して処理を要求する上位コンポーネントや、そのソフトウェア・コンポーネントからの要求を処理する下位コンポーネントの処理はテスト・ドライバ２５が代行するので、実システムでは必要となる上位コンポーネントおよび下位コンポーネントが未完成の状態でも性能測定が可能となる点が、本実施の形態の特徴の１つである。
【００５７】
次に、システム性能予測手段４０により実行される評価対象システムの性能予測について説明する。
【００５８】
一般に、システムの性能予測は、１トランザクションの処理に要するシステム資源使用量（ＣＰＵ使用時間など）を入力とし、複数のトランザクションを並行して実行した場合の性能（スループット，トランザクションのレスポンス時間，システム資源の使用率）を予測するもので、待ち行列網モデルやシミュレーションモデルを用いたツール（システム性能予測モデル）が既存技術として存在している（例えば、前記非特許文献１参照））。システム性能予測手段４０による性能予測で重要な点は、システム性能予測モデルに入力するデータ、すなわち１トランザクションの処理に要するシステム資源使用量を、性能データベース１０から作成する点にある。
【００５９】
まず、図２に示したトランザクションについて、ＣＰＵ使用時間を予測する手順を示す。図２より、通信コンポーネントＡ，適用コンポーネントＢ，データベースコンポーネントＣの各ソフトウェア・コンポーネントの動作条件は、以下の通りであることが分かる。
【００６０】
１）通信コンポーネントＡは、引数を１つ含む処理要求メッセージを受け取る。
【００６１】
２）適用コンポーネントＢは、処理Ｂ１を行う。
【００６２】
３）データベースコンポーネントＣは、検索処理を行う。
【００６３】
ソフトウェア・コンポーネントおよび動作条件をキーとして図９に示す性能データベース１０を検索すると、通信コンポーネントＡ，適用コンポーネントＢおよびデータベースコンポーネントＣのＣＰＵ使用時間は、それぞれ１０，５，５０であることがわかり、図１０に示すようなシーケンス図が得られる。図１０から明らかなとおり、トランザクション全体のＣＰＵ使用時間は各ソフトウェア・コンポーネントのＣＰＵ使用時間の和となることから、図２に示すトランザクションを処理するために必要なＣＰＵ使用時間は６５となることが予測される。
【００６４】
このようにして得られたトランザクションのＣＰＵ使用時間を、従来技術によるシステム性能予測モデルに入力し、システム全体の性能（主にはスループットとレスポンス時間との関係）を予測する。
【００６５】
また、図１１に示す別のトランザクションの性能も、前記の手順と同様に、トランザクションの処理内容より予測することができる。すなわち、各ソフトウェア・コンポーネントおよび動作条件（通信コンポーネントＡは引数を２つ含む処理要求メッセージを受け取る、適用コンポーネントＢは処理Ｂ２を行う、データベースコンポーネントＣは更新処理を行う）より、各ソフトウェア・コンポーネントのＣＰＵ使用時間はそれぞれ１５，１０，７０であり、図１２に示すシーケンス図からトランザクション全体の処理に要するＣＰＵ使用時間は９５であることが予測できる。
【００６６】
このようにして得られたトランザクションのＣＰＵ使用時間を、従来技術によるシステム性能予測モデルに入力し、システム全体の性能（主にはスループットとレスポンス時間との関係）を予測する。
【００６７】
このように、コンポーネント性能測定手段２０による性能測定を様々な動作条件下で行い、性能データベース１０を充実させておくと、新たなソフトウェア・コンポーネントの性能測定手順を行うことなく、様々なトランザクションを処理するシステム全体のＣＰＵ使用時間を迅速に予測することが可能となる。すなわち、システム設計時に規定されるトランザクションの処理内容から各ソフトウェア・コンポーネントの動作条件を抽出して性能データベース１０を検索し、その結果を合計すればトランザクション全体を処理するのに要するＣＰＵ使用時間を予測することができる。
【００６８】
第１の実施の形態によれば、各ソフトウェア・コンポーネントのシステム資源使用量を別個に測定した結果を組み合わせてシステム全体のシステム資源使用量を予測するため、複数のソフトウェア・コンポーネントを組み合わせて構築されるシステム全体のシステム資源使用量を、実システムを構築することなく予測できるという効果がある。
【００６９】
また、測定結果として性能データベース１０に格納されるのが、各種のトランザクションの処理で共通的に行われるソフトウェア・コンポーネントの基本動作の性能であるため、異なるトランザクションのシステム資源使用量を予測する際にも利用できることから、性能データベース１０を構築しておくことにより、様々なソフトウェア・コンポーネント構成のシステムや、様々なトランザクションを処理するシステムについてシステム資源使用量を予測することができるという効果がある。
【００７０】
［第２の実施の形態］
図１３は、本発明の第２の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。本実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、図１に示した第１の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式におけるアプリケーション・プローブ２６とカーネル・プローブ２４とを併用するイベント・トレース２８を利用するコンポーネント性能測定手段２０に代えて、オペレーティング・システム２３等の基本ソフトウェアが提供するシステム資源使用量計測機能を利用するコンポーネント性能測定手段２０’を用いるようにしたものである。システム資源使用量計測機能は、各プログラムが実行開始時点から消費しているＣＰＵ使用時間を累計しており、この値（以下、ＣＰＵ消費時間累計値という）をプログラム中から調べられるようになっているため、測定開始点（図７の▲１▼や▲３▼）および測定終了点（図７の▲２▼や▲４▼）でＣＰＵ消費時間累計値を調べればＣＰＵ使用時間を予測することができる。すなわち、▲２▼−▲１▼と▲４▼−▲３▼との和がＣＰＵ使用時間となるわけである（式中の▲１▼は、図７の▲１▼の時点で調べたＣＰＵ消費時間累計値を示す。▲２▼，▲３▼，▲４▼も同様）。
【００７１】
システムで処理するトランザクションが複数種類あり、それらの実行比率がシステム設計情報として予め規定されているときは、各々のトランザクションについてトランザクション性能予測手段３０により予測したＣＰＵ使用時間を、トランザクションの実行比率と一緒にシステム性能予測モデルに入力することにより性能予測を行う。
【００７２】
［第３の実施の形態］
図１４は、本発明の第３の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。本実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、図１に示した第１の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式を搭載するコンピュータ１００に対してシステム性能予測プログラム２００を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付して、それらの詳しい説明を省略する。
【００７３】
システム性能予測プログラム２００は、コンピュータ１００に読み込まれ、コンピュータ１００の動作を、性能データベース１０，コンポーネント性能測定手段２０，トランザクション性能予測手段３０，およびシステム性能予測手段４０として制御する。システム性能予測プログラム２００の制御によるコンピュータ１００の動作は、第１の実施の形態におけるソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の動作と全く同様になるので、その詳しい説明を割愛する。
【００７４】
［第４の実施の形態］
図１５は、本発明の第４の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。本実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式は、図１３に示した第２の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式を搭載するコンピュータ１００に対してシステム性能予測プログラム２００’を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付して、それらの詳しい説明を省略する。
【００７５】
システム性能予測プログラム２００’は、コンピュータ１００に読み込まれ、コンピュータ１００の動作を、性能データベース１０，コンポーネント性能測定手段２０’，トランザクション性能予測手段３０，およびシステム性能予測手段４０として制御する。システム性能予測プログラム２００’の制御によるコンピュータ１００の動作は、第２の実施の形態におけるソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の動作と全く同様になるので、その詳しい説明を割愛する。
【００７６】
【発明の効果】
第１の効果は、複数のソフトウェア・コンポーネントを組み合わせて構築されるシステム全体の性能を、実システムを構築することなく予測できることである。その理由は、各ソフトウェア・コンポーネントの性能を別個に測定した結果を組み合わせてシステム全体の性能を予測するためである。
【００７７】
第２の効果は、性能データベースを構築しておくことにより、様々なソフトウェア・コンポーネント構成のシステムや、様々なトランザクションを処理するシステムについて性能予測を行うことができることである。その理由は、測定結果として性能データベースに格納されるのが、各種のトランザクションの処理で共通的に行われるソフトウェア・コンポーネントの基本動作の性能であるため、異なるトランザクションの処理性能を予測する際にも利用できるためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。
【図２】通信コンポーネント，適用コンポーネントおよびデータベースコンポーネントが関与するトランザクションの処理の一例を説明する図である。
【図３】図２中の通信コンポーネントの動作を示すフローチャートである。
【図４】図２中の適用コンポーネントの動作を示すフローチャートである。
【図５】図２中の適用コンポーネントが用意している処理を外部から要求された際の全体動作を示すシーケンス図である。
【図６】図１中のコンポーネント性能測定手段の一例を示すブロック図である。
【図７】図６中のテスト・ドライバを用いて適用コンポーネントを駆動したときの動作を示すシーケンス図である。
【図８】図６中のイベント・トレースの内容例を示す図である。
【図９】図２に示した３種類のソフトウェア・コンポーネントについて作成した性能データベースの内容例を示す図である。
【図１０】図２に示したトランザクション全体のＣＰＵ使用時間が各ソフトウェア・コンポーネントのＣＰＵ使用時間の和となることを示すシーケンス図である。
【図１１】通信コンポーネント，適用コンポーネントおよびデータベースコンポーネントが関与するトランザクションの処理の他の例を説明する図である。
【図１２】図１１に示したトランザクション全体のＣＰＵ使用時間が各ソフトウェア・コンポーネントのＣＰＵ使用時間の和となることを示すシーケンス図である。
【図１３】本発明の第２の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。
【図１４】本発明の第３の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。
【図１５】本発明の第４の実施の形態に係るソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式の構成を示すブロック図である。
【符号の説明】
１０  性能データベース
２０，２０’  コンポーネント性能測定手段
２１  測定対象システム
２２  測定対象コンポーネント
２３  オペレーティング・システム
２４  カーネル・プローブ
２５  テスト・ドライバ
２６  アプリケーション・プローブ
２７  イベント記録手段
２８  イベント・トレース
２９  性能分析手段
３０  トランザクション性能予測手段
４０  システム性能予測手段
１００  コンピュータ
２００，２００’  システム性能予測プログラム
Ａ  通信コンポーネント
Ｂ  適用コンポーネント
Ｂ１，Ｂ２  処理
Ｃ  データベースコンポーネント
【図１】
2004220453.tif 000003
【図２】
2004220453.tif 000004
【図３】
2004220453.tif 000005
【図４】
2004220453.tif 000006
【図５】
2004220453.tif 000007
【図６】
2004220453.tif 000008
【図７】
2004220453.tif 000009
【図８】
2004220453.tif 000010
【図９】
2004220453.tif 000011
【図１０】
2004220453.tif 000012
【図１１】
2004220453.tif 000013
【図１２】
2004220453.tif 000014
【図１３】
2004220453.tif 000015
【図１４】
2004220453.tif 000016
【図１５】
2004220453.tif 000017