(57)【要約】【課題】実行中の業務処理に応じて、ＳＡＮ環境下におけるストレージリソースに関し、性能監視閾値の設定及び性能の監視を適切に実現することを課題とする。【解決手段】本発明は、ホスト計算機と、ストレージ装置０１０４と、ストレージネットワークと、管理サーバ０１０５と、を備えて構成されるストレージ管理システムである。管理サーバ０１０５は、ストレージ資源に関する現在の性能値を収集する性能情報収集部と、複数の業務処理の構成比率に対応する構成区分を判定する構成区分判定部と、１つ以上の前記ストレージ資源に対して、構成区分に応じて性能監視閾値を記憶する閾値情報記憶部と、現在の性能値、及び、性能監視閾値に基づいて、ストレージ資源の性能判定を行う性能判定部と、を備える。【選択図】図２
2009129134.tif 000002
【特許請求の範囲】
【請求項１】
業務処理を実行するホスト計算機と、
前記業務処理の実行時に使用される記憶領域を提供するストレージ装置と、
前記ホスト計算機と前記ストレージ装置との間のデータ通信に利用されるストレージネットワークと、
前記ホスト計算機と前記ストレージ装置とに接続された管理サーバと、を備えて構成されるストレージ管理システムであって、
前記管理サーバは、
前記業務処理に関するスループットまたはレスポンスタイムに基づく性能値に関係する前記ストレージ装置及び前記ストレージネットワークにおける性能情報収集対象であるストレージ資源に関する現在の性能値を収集する性能情報収集部と、
前記ストレージ資源を共用している複数の前記業務処理の処理量に基づいて、複数の前記業務処理の構成比率に対応する構成区分を判定する構成区分判定部と、
１つ以上の前記ストレージ資源に対して、前記構成区分に応じて前記性能値の閾値を性能監視閾値として記憶する閾値情報記憶部と、
前記性能情報収集部が収集した前記現在の性能値、及び、前記構成区分判定部が判定した現在の構成区分に対応して前記閾値情報記憶部から読み出した前記性能監視閾値に基づいて、前記ストレージ資源の性能判定を行う性能判定部と、を備える
ことを特徴とするストレージ管理システム。
【請求項２】
前記性能判定部は、
前記現在の性能値が、前記構成区分判定部が判定した現在の構成区分に対応した前記性能監視閾値を満たしていない場合であっても、
前記ストレージ資源を共用する各前記業務処理の性能値が、前記業務処理について予め設定された要求性能値をそれぞれ所定の余裕幅を持って満たしているときには、性能問題が発生していないと判定する
ことを特徴とする請求項１に記載のストレージ管理システム。
【請求項３】
前記性能判定部は、
前記要求性能値の絶対量又は前記要求性能値の比率に基づいて、前記所定の余裕幅を決定する
ことを特徴とする請求項２に記載のストレージ管理システム。
【請求項４】
前記構成区分判定部は、
複数の前記業務処理の処理量の絶対量に基づいて前記構成区分を判定する
ことを特徴とする請求項１に記載のストレージ管理システム。
【請求項５】
前記構成区分判定部は、
複数の前記業務処理の処理量の比率に基づいて前記構成区分を判定する
ことを特徴とする請求項１に記載のストレージ管理システム。
【請求項６】
前記性能判定部は
前記現在の性能値が、前記構成区分判定部が判定した現在の構成区分に対応した前記性能監視閾値を所定の余裕幅を持って満たしていない場合には、性能問題が発生する可能性があることを、前記管理サーバに接続された管理クライアントに通知する
ことを特徴とする請求項１に記載のストレージ管理システム。
【請求項７】
前記閾値情報記憶部は、前記業務処理について予め設定された要求性能値を過去に満たさなかったことと、前記満たさなかったことを検出可能な前記構成区分に対応した前記性能監視閾値と、を組み合わせて記憶しており、
前記性能判定部は、
性能問題が発生する可能性があることを前記管理クライアントに通知する際に、
前記閾値情報記憶部を検索して、前記構成区分及び前記性能監視閾値が同じで過去に性能問題が起きた業務処理をあわせて通知する
ことを特徴とする請求項６に記載のストレージ管理システム。
【請求項８】
前記性能判定部は
前記性能監視閾値の絶対量又は前記性能監視閾値の比率に基づいて、前記所定の余裕幅を決定する
ことを特徴とする請求項６に記載のストレージ管理システム。
【請求項９】
前記管理サーバは、前記ストレージ資源に対して前記構成区分に対応した性能監視閾値を設定する閾値設定部を、さらに備え、
前記閾値設定部は、前記性能情報収集部の収集した性能値と、前記ストレージ資源を使用する前記業務処理の予め設定された要求性能値と、に基づいて前記ストレージ資源の性能監視閾値を設定する
ことを特徴とする請求項１に記載のストレージ管理システム。
【請求項１０】
前記閾値設定部は、
前記ストレージ資源を使用する前記業務処理の前記性能値が前記要求性能値を満足しない場合に、前記性能判定部が前記ストレージ資源の性能の不足していることを検出しないときに、前記満足しなかった時点で前記閾値情報記憶部の前記性能監視閾値を強く設定し直し、
前記ストレージ資源を使用する前記業務処理の前記性能値が前記要求性能値を満足している場合に、前記性能判定部が前記ストレージ資源の性能の不足していることを検出するときに、前記満足している時点で前記閾値情報記憶部の前記性能監視閾値を緩く設定し直す
ことを特徴とする請求項９に記載のストレージ管理システム。
【請求項１１】
前記閾値設定部は、
前記閾値情報記憶部の前記性能監視閾値を強く設定し直す際に、前記満足しない時点での前記ストレージ資源の性能値を前記性能監視閾値とし、
前記閾値情報記憶部の前記性能監視資源の閾値を緩く設定し直す際に、前記満足している時点での前記ストレージ資源の性能値を前記性能監視閾値とする
ことを特徴とする請求項１０に記載のストレージ管理システム。
【請求項１２】
前記管理サーバは、前記性能情報収集部が収集した性能値を記憶する性能情報記憶部を、さらに備え、
前記閾値設定部は、
前記性能情報記憶部が記憶する性能情報及び前記要求性能値に基づいて、過去において前記業務処理が性能要件を満たさなかったこと全てを前記ストレージ資源の性能から検出できるように前記閾値情報記憶部の前記性能監視閾値を設定し直す
ことを特徴とする請求項９に記載のストレージ管理システム。
【請求項１３】
業務処理を実行するホスト計算機と、
前記業務処理の実行時に使用される記憶領域を提供するストレージ装置と、
前記ホスト計算機と前記ストレージ装置との間のデータ通信に利用されるストレージネットワークと、
前記ホスト計算機と前記ストレージ装置とに接続され、前記業務処理に関するスループットまたはレスポンスタイムに基づく性能値に関係する前記ストレージ装置及び前記ストレージネットワークにおける性能情報収集対象である１つ以上の前記ストレージ資源を共用している複数の前記業務処理の構成比率に対応する構成区分に応じて前記性能値の閾値を性能監視閾値として記憶している閾値情報記憶部を有する管理サーバと、
を備えて構成されるストレージ管理システムによる性能監視方法であって、
前記管理サーバにおいて、
性能情報収集部が、前記ストレージ資源に関する現在の性能値を収集し、
構成区分判定部が、前記ストレージ資源を共用している複数の前記業務処理の処理量に基づいて、複数の前記業務処理の現在の構成区分を判定し、
性能判定部が、前記性能情報収集部が収集した前記現在の性能値、及び、前記構成区分判定部が判定した前記現在の構成区分に対応して前記閾値情報記憶部から読み出した前記性能監視閾値、に基づいて、前記ストレージ資源の性能判定を行う
ことを特徴とする性能監視方法。
【請求項１４】
前記性能判定部は、
前記現在の性能値が、前記構成区分判定部が判定した現在の構成区分に対応した前記性能監視閾値を満たしていない場合であっても、
前記ストレージ資源を共用する各前記業務処理の性能値が、前記業務処理について予め設定された要求性能値をそれぞれ所定の余裕幅を持って満たしているときには、性能問題が発生していないと判定する
ことを特徴とする請求項１３に記載の性能監視方法。
【請求項１５】
前記性能判定部は、
前記要求性能値の絶対量又は前記要求性能値の比率に基づいて、前記所定の余裕幅を決定する
ことを特徴とする請求項１４に記載の性能監視方法。
【請求項１６】
前記構成区分判定部は、
複数の前記業務処理の処理量の絶対量に基づいて前記構成区分を判定する
ことを特徴とする請求項１３に記載の性能監視方法。
【請求項１７】
業務処理を実行するホスト計算機と、
前記業務処理の実行時に使用される記憶領域を提供するストレージ装置と、
前記ホスト計算機と前記ストレージ装置との間のデータ通信に利用されるストレージネットワークと、
前記ホスト計算機と前記ストレージ装置とに接続された管理サーバと、
を備えて構成されるストレージ管理システムにおける管理サーバであって、
前記管理サーバは、
前記業務処理に関するスループットまたはレスポンスタイムに基づく性能値に関係する前記ストレージ装置及び前記ストレージネットワークにおける性能情報収集対象であるストレージ資源に関する現在の性能値を収集する性能情報収集部と、
前記ストレージ資源を共用している複数の前記業務処理の処理量に基づいて、複数の前記業務処理の構成比率に対応する構成区分を判定する構成区分判定部と、
１つ以上の前記ストレージ資源に対して、前記構成区分に応じて前記性能値の閾値を性能監視閾値として記憶する閾値情報記憶部と、
前記性能情報収集部が収集した前記現在の性能値、及び、前記構成区分判定部が判定した現在の構成区分に対応して前記閾値情報記憶部から読み出した前記性能監視閾値、に基づいて、前記ストレージ資源の性能判定を行う性能判定部と、を備える
ことを特徴とする管理サーバ。
【請求項１８】
前記性能判定部は、
前記現在の性能値が、前記構成区分判定部が判定した現在の構成区分に対応した前記性能監視閾値を満たしていない場合であっても、
前記ストレージ資源を共用する各前記業務処理の性能値が、前記業務処理について予め設定された要求性能値をそれぞれ所定の余裕幅を持って満たしているときには、性能問題が発生していないと判定する
ことを特徴とする請求項１７に記載の管理サーバ。
【請求項１９】
前記性能判定部は、
前記要求性能値の絶対量又は前記要求性能値の比率に基づいて、前記所定の余裕幅を決定する
ことを特徴とする請求項１８に記載の管理サーバ。
【請求項２０】
前記構成区分判定部は、
複数の前記業務処理の処理量の絶対量に基づいて前記構成区分を判定する
ことを特徴とする請求項１７に記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージネットワークにおける性能を監視する技術に関する。
【背景技術】
【０００２】
近年、ディスク装置等からなる大規模記憶装置であるストレージ装置（以下、単に「ストレージ」ともいう。）とサーバとの間に専用ネットワークであるＳＡＮ（Storage Area Network）を構築することにより、ストレージ環境を統合し、ストレージの管理コストの低減やストレージ容量の有効利用が期待されている。
上記のＳＡＮ環境において業務システムの性能監視やチューニングをするためには、業務システムで利用しているストレージやＳＡＮ上のネットワーク装置といった、ネットワーク上に分散配置されるストレージリソース（ストレージ資源）の性能監視が重要となってきている。
【０００３】
これに対し、従来、ネットワーク（ＳＡＮ）上に分散したストレージやネットワーク装置等の性能監視対象の時系列の性能情報を、管理ネットワークにより接続された管理サーバ上の運用管理ソフトにおいて収集し、これを元に性能監視を行うのが一般的になっている。また、こうして収集した性能値を、事前に設定した閾値を基準に監視することで、性能問題を予測し事前に検出する方法が一般に用いられている。
なお、特許文献１では、ＳＡＮ環境におけるものではないが、ネットワーク上における複数サーバの性能情報を収集し監視、レポートする方法及びシステムが公開されている。
【特許文献１】米国特許第６５０５２４８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法において収集した性能情報におけるストレージリソースの性能値が適切であるか否かの判断は、ストレージ管理者にとっても困難なものであった。これは、以下のような理由による。
理由（１）  業務処理の性能要件に応じて、ストレージリソースに求める要求性能値が異なる。例えば、ストレージへの入出力処理が業務処理の処理時間の多くの割合を占める場合においては、ストレージへの要求性能は高まる。
【０００５】
理由（２）  業務処理によってストレージに対する入出力特性が異なるので、業務処理の性能要件を満足するストレージリソースの要求性能値は簡単には求められない。例えば、１回の入出力処理で扱うデータ量や、複数回の入出力処理間でのデータ領域へのアクセスパターン（ランダム領域や連続領域）に応じて、応答性能やスループット（データ量、入出力回数）に対する要求性能値は様々である。
理由（３）  複数種類の業務処理が同じストレージリソースを共用している場合、更に状況は複雑になる。何れの業務処理が主に性能監視対象のストレージリソースを使用しているか等について、各業務処理の処理量の構成は時間と共に動的に変化するため、現時点での適切な性能値を判断することは更に困難となる。
【０００６】
こうした理由から、業務処理の性能問題を引き起こすストレージ性能劣化を、ストレージリソースの性能値を監視することで予測して事前に検出するために適切な閾値を事前に決定することは難しい。
上記事情を鑑みて、本発明は、実行中の業務処理に応じて、ＳＡＮ環境下におけるストレージリソースに関し、性能監視閾値の設定及び性能の監視を適切に実現することを課題とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明は、ホスト計算機と、ストレージ装置と、ストレージネットワークと、管理サーバと、を備えて構成されるストレージ管理システムである。
管理サーバは、ストレージ資源に関する現在の性能値を収集する性能情報収集部と、複数の業務処理の構成比率に対応する構成区分を判定する構成区分判定部と、１つ以上の前記ストレージ資源に対して、構成区分に応じて性能監視閾値を記憶する閾値情報記憶部と、現在の性能値、及び、性能監視閾値に基づいて、ストレージ資源の性能判定を行う性能判定部と、を備える。その他の手段については後記する。
【発明の効果】
【０００８】
本発明によれば、実行中の業務処理に応じて、ＳＡＮ環境下におけるストレージリソースに関し、性能監視閾値の設定及び性能の監視を適切に実現することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照（言及図以外の図も適宜参照）して、まず、発明の概要について説明し、その後、本発明を実施するための最良の形態（以下、実施形態という。）について説明する。
【００１０】
＜概要＞
本発明は、上記課題を解決するために、以下の手段を用いて、ＳＡＮ環境における性能の監視を適切に実現するものである。
手段（１）  業務サーバ（ホスト計算機）から、性能監視対象であるストレージリソース（ストレージ資源）を使用する業務処理の性能情報（応答時間、実行回数などの処理量、等）を収集する。また、業務処理に対する性能要件を事前に設定する。
手段（２）  時系列に収集した業務処理の性能値、及び業務処理から使用するストレージリソースの性能値を用いて、業務処理の性能値が事前に設定した性能要件を満足する時、もしくは満足しない時のストレージリソースの性能値を特定し、ストレージリソースの性能監視閾値（以下、単に「閾値」ともいう。）として設定する。
【００１１】
手段（３）  複数種類の業務処理が同じストレージリソースを共用している場合、当該ストレージリソースを使用する業務処理の処理量を業務処理の種類毎に調べ、当該ストレージリソースを使用する複数種類の業務処理の処理量の構成区分（業務処理構成区分）を判定する。
手段（４）  前記判定された業務処理構成区分毎に、手段（２）におけるストレージリソースの性能監視閾値を保持する。ストレージリソースの性能監視閾値の設定は手段（２）に従うが、当該ストレージリソースを共用する全ての業務処理の性能値を考慮する。また、性能監視時には、現在の業務処理構成区分に設定された性能監視閾値を用いてストレージリソースの現在の性能値が適切か否かを判定する。
【００１２】
図１は、本発明の基本概念を、特に前記手段（３），（４）を中心に表したものである。
まず、「発明が解決しようとする課題」で示した理由（１），（２）を、具体例を挙げて説明する。
【００１３】
ここでは、図２に示すように、アプリケーションプログラム(以下、アプリケーションという。)０１１０は、業務サーバ０１０２において業務処理を実行するプログラムであり、必要に応じてストレージ装置０１０４におけるデータの記憶領域である論理ボリューム０１２１に読み書きのアクセスを行うものとする。
【００１４】
図１に戻って、アプリケーション０１１０は、種類の異なる業務処理Ａ０２１１と、業務処理Ｂ０２１２とからなる。
業務処理Ａ０２１１は、システム要件から業務処理あたりの業務処理要求性能０２１５ａ（０２１５）が２．８秒となっている。また、ある時点での業務処理Ａ０２１１の実処理時間（実際の処理時間）０２１３ａ（０２１３）は２秒であり、その処理中に論理ボリューム０１２１に対して入出力を行い、その実応答時間（実際の応答時間）０２１７ａ（０２１７）は１ミリ秒であったことを示している。
【００１５】
業務処理Ｂ０２１２は、システム要件から業務処理あたりの業務処理要求性能０２１５ｂ（０２１５）が７秒となっている。また、ある時点での業務処理Ｂ０２１２の実処理時間０２１３ｂ（０２１３）は５秒であり、その処理中に論理ボリューム０１２１に対して入出力を行い、その実応答時間０２１７ｂ（０２１７）は５ミリ秒であったことを示している。
【００１６】
ここで、例えば、業務処理Ｂ０２１２は業務処理Ａ０２１１と比べて論理ボリューム０１２１へ要求する一回の入出力のデータサイズが大きいため、入出力にかかる時間も業務処理Ａ０２１１の場合よりも長くなるとする。そして、実応答時間０２１７の違いは、論理ボリューム０１２１に対する入出力特性（この場合、一回の入出力のデータサイズ）のみによって生じており、業務処理の実処理時間０２１３とは直接の関連はない。また、業務処理におけるストレージ（論理ボリューム０１２１）への入出力サイズについて事前に情報を得ることは難しい。さらに、この例のように、業務処理の要求性能のみからストレージリソースの要求性能を判断することは、ストレージ（論理ボリューム０１２１）への入出力特性に大きく依存するために難しく、性能監視閾値の設定も困難となる。
【００１７】
次に、「発明が解決しようとする課題」で示した理由（３）を、具体例を挙げて説明する。
図１において、業務処理Ａ０２１１と業務処理Ｂ０２１２とは同一の論理ボリューム０１２１に対して入出力を行っている。この場合、論理ボリューム０１２１の実応答時間０２２１は、ある単位時間における両業務処理（業務処理Ａ、業務処理Ｂ）の入出力における平均応答時間として求められる。そのため、業務処理Ａ０２１１と、業務処理Ｂ０２１２との入出力が混在する論理ボリューム０１２１の実応答時間０２２１は、業務処理Ａ０２１１と、業務処理Ｂ０２１２のある単位時間における実行比率と、それぞれの業務処理が論理ボリューム０１２１に対して発行する入出力の実応答時間とによって決定される。しかしながら、業務処理Ａ０２１１と業務処理Ｂ０２１２の処理量は時間と共に変化し、したがって論理ボリューム０１２１の性能監視閾値（応答時間監視閾値０２２２）を、適切に決定することは難しい。
【００１８】
以上の理由による課題を解決する方法として、本発明では以下の３つの手法によってストレージリソースの性能監視を行う。
（ａ）過去に監視した業務処理とストレージリソースの性能情報と、業務処理に対するシステム要件とから、過去における業務処理のシステム要件違反の検出可否によって性能監視閾値を決定する。
（ｂ）ストレージリソースを使用する業務処理の構成区分毎に性能監視閾値を設定する。
（ｃ）ストレージリソースを使用している業務処理の構成区分毎に性能監視閾値を選択し、性能を監視する。
【００１９】
図１を用いて、本発明における（ｂ）と（ｃ）における性能監視閾値の設定と、性能監視閾値に基づいた性能監視の例を以下に記す。なお、（ａ）における、性能監視閾値の決定については図２２及び図２３を用いて後記する。
図１において、性能監視閾値は次の形で保持する。性能監視閾値テーブル０２２０は、業務処理Ａ０２１１と業務処理Ｂ０２１２の処理量の比率である業務処理Ａ比率０２２３及び業務処理Ｂ比率０２２４と、性能監視閾値０２２５と、閾値超過時影響業務処理０２２６とをカラムに持つテーブルである。
【００２０】
すなわち、本発明の基本的なアイデアの一つは、業務処理Ａ０２１１と業務処理Ｂ０２１２との処理量の比率の区分（業務処理構成区分）毎に、業務処理の処理量の構成によって変化する論理ボリューム０１２１の性能監視閾値０２２５を管理できるようにすることである。例えば、業務処理Ａ０２１１と業務処理Ｂ０２１２の処理量の比率が９：１の時の論理ボリューム０１２１の適切な性能値は１．４ｍｓ（ミリ秒）未満でなければならず、性能監視閾値０２２５（応答時間）は１．４ｍｓとなる。同様に、処理量の比率が８：２の場合には、性能監視閾値０２２５は１．８ｍｓとなる。
【００２１】
そのため、論理ボリューム０１２１の性能監視閾値の設定時（性能監視閾値テーブル０２２０の作成時）には、論理ボリューム０１２１を共有している業務処理Ａ０２１１と業務処理Ｂ０２１２の性能監視閾値を決定した時点での処理量の比率を調べ、該当する比率に対してその決定した性能監視閾値０２２５を設定する。
逆に、論理ボリューム０１２１の性能の監視は、論理ボリューム０１２１を共有している業務処理Ａ０２１１と業務処理Ｂ０２１２の現在の実行比率を調べ、該当する比率の性能監視閾値０２２５と論理ボリューム０１２１の実応答時間０２２１を比較することによって行う。実応答時間０２２１が性能監視閾値０２２５を上回った場合には、ユーザに通知する。
【００２２】
閾値超過時影響業務処理０２２６のカラムは、論理ボリューム０１２１の性能が性能監視閾値を違反した場合に、その違反がどの業務処理で起きた可能性が高いかを表すカラムである。過去に、論理ボリューム０１２１を共用する業務処理の何れかで実際の業務処理性能が要求性能を満たせなかった場合に、その時点の論理ボリューム０１２１の実応答時間を性能監視閾値として設定すると共に、性能要件を満たせなくなった業務処理を併せて記録しておく。これにより、論理ボリューム０１２１の実応答性能が性能監視閾値を満たせなかった場合に、性能問題を起こす可能性が高い業務処理を併せてユーザに通知することが可能となる。
【００２３】
次に、図２２及び図２３を用いて（ａ）の例を説明する。簡単のため一種類の業務処理しか論理ボリューム０１２１にアクセスしない例を用いることとする。この場合において、前記業務処理構成区分は１つとなる。図２２のストレージシステムにおいて、アプリケーション０１１０は業務処理Ａ０２１１からなる。また、論理ボリューム０１２１は、業務処理Ａ０２１１のみから入出力を受け付ける。業務処理Ａ０２１１の実処理時間０２１３に対してシステム要件より要求性能０２１５が要求されている。また、論理ボリューム０１２１の実応答時間０２２１に対しては、応答時間監視閾値０２２２を設定し性能の監視を行う。性能監視における状態を表したテーブル２２０１（以下、テーブル２２０１という。）は、業務処理Ａ０２１１の実処理時間０２１３及び要求性能０２１５の関係と、論理ボリューム０１２１の実応答時間０２２１及び応答時間監視閾値０２２２の関係とを表している。
【００２４】
テーブル２２０１のセル２２０２は、業務処理Ａ０２１１の実処理時間０２１３が要求性能０２１５を満たしており、且つ、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たしている場合を表し、両者の整合がとれているので、論理ボリューム０１２１の応答時間監視閾値０２２２が適切である（正しく性能監視できている）ことを表している。
【００２５】
セル２２０３は、業務処理Ａ０２１１の実処理時間０２１３が要求性能０２１５を満たしておらず、且つ、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たしている場合を表し、論理ボリューム０１２１の応答時間監視閾値０２２２が緩く設定されていることを表している。セル２２０３の場合においては、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たさないように、応答時間監視閾値０２２２を強く設定し直す。
【００２６】
セル２２０４は、業務処理Ａ０２１１の実処理時間０２１３が要求性能０２１５を満たしており、且つ、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たしていない場合を表し、論理ボリューム０１２１の応答時間監視閾値０２２２が強く設定されていることを表している。セル２２０４の場合においては、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たすように、応答時間監視閾値０２２２を緩く設定し直す。
【００２７】
セル２２０５は、業務処理Ａ０２１１の実処理時間０２１３が要求性能０２１５を満たしておらず、且つ、論理ボリューム０１２１の実応答時間０２２１が応答時間監視閾値０２２２を満たしていない場合を表し、両者の整合がとれているので、論理ボリューム０１２１の応答時間監視閾値０２２２が適切である（正しく性能監視できている）ことを表している。
【００２８】
図２３は、図２２のストレージシステムの性能を監視した際の監視結果を時系列で表した図である。図２３の２つの時系列グラフのうち、上側は業務処理Ａの実処理時間０２１３を表すグラフであり、下側は論理ボリューム０１２１の実応答時間０２２１を表すグラフである。
【００２９】
時点Ａ２３０１における性能監視閾値は応答時間監視閾値Ａ０２２２Ａであった。
時点Ｂ２３０２において、実応答時間０２２１は応答時間監視閾値Ａ０２２２Ａを上回っている（満たしていない）が、実処理時間０２１３は要求性能０２１５を満たしている。つまり、テーブル２２０１におけるセル２２０４の場合に該当し、時点Ｂ２３０２における実応答時間０２２１を性能監視閾値とする。応答時間監視閾値Ｂ０２２２Ｂは時点Ｂにおいて設定された性能監視閾値である。
【００３０】
時点Ｃ２３０３において、業務処理Ａ０２１１の実処理時間０２１３は要求性能０２１５を満たしておらず、要求性能違反２３１１が発生した。しかし、実応答時間０２２１は応答時間監視閾値Ｂ０２２２Ｂを満たしており、テーブル２２０１のセル２２０２の場合に該当し、時点Ｃ２３０３における実応答時間０２２１を性能監視閾値とする。
【００３１】
時点Ｃ２３０３において設定された応答時間監視閾値Ｃ０２２２Ｃを時点Ｄにおいて実応答時間０２２１は満たしておらず、且つ、要求性能０２１５は実処理時間０２１３を満たしている。テーブル２２０１におけるセル２２０４の場合にあたるが、時点Ｃ２３０３において応答時間監視閾値０２２２を一度強化したため、応答時間監視閾値０２２２を緩和しない（緩和してもよい）。この例のように、本発明では、性能監視閾値を緩和又は強化することによって適切な性能監視閾値を求めて設定（動的に設定）する。
【００３２】
＜実施形態＞
以下、本発明の実施形態を、図面を用いて詳細に説明する。
図２は、本実施形態のストレージシステムの全体構成を表した図である。ストレージシステムＳ（ストレージ管理システム）は、業務サーバ０１０２と、ストレージ装置０１０４と、管理サーバ０１０５と、管理クライアント０１０６と、ＳＡＮスイッチ０１０７とにより構成されている。そして、業務サーバ０１０２と、ストレージ装置０１０４とはＳＡＮ０１０３（ストレージネットワーク）によって接続されている。また、業務サーバ０１０２と、ストレージ装置０１０４と、管理サーバ０１０５と、管理クライアント０１０６とはＬＡＮ（Local Area Network)０１０１によって接続されている。
【００３３】
次に、業務サーバ０１０２の構成について詳述する。なお、図２のストレージシステムＳは１台の業務サーバ０１０２によって構成されているが、１台に限られるものではなく複数の業務サーバ０１０２によって構成されていてもよい。
業務サーバ０１０２は、アプリケーション０１１０を稼動させるためのものであり、ＣＰＵ（Central Processing Unit）０１０８と、メモリ０１０９を備える。業務サーバ０１０２はＳＡＮポート０１１６を有し、ＳＡＮポート０１１６によってＳＡＮ０１０３に接続されている。また、業務サーバ０１０２はＬＡＮポート０１３７を有し、ＬＡＮポート０１３７によってＬＡＮ０１０１に接続されている。
【００３４】
ＣＰＵ０１０８は、記憶部０１１４に格納されたプログラムを読み出してメモリ０１０９に展開して実行すること等によって、各種処理を行う。ただし、以下において、記載を簡略化するために、ＣＰＵ０１０８ではなく各プログラムを動作主体として記載することもある。
メモリ０１０９は、ＣＰＵ０１０８の動作領域である。
記憶部０１１４は、アプリケーション０１１０と、データベース管理ソフトウェア（以下、ＤＢＭＳ（Database Management System）という。）０１１１と、ＯＳ（Operating System）０１１２と、サーバ情報取得プログラム０１１３とを格納している。
【００３５】
アプリケーション０１１０は、業務処理を実行するプログラムであり、業務処理に応じてＤＢＭＳ０１１１にデータの追加や参照を要求する。
ＤＢＭＳ０１１１は、アプリケーション０１１０からの要求に応じ、ストレージ装置０１０４に格納されたデータの定義や操作を行う。
サーバ情報取得プログラム０１１３は、アプリケーション０１１０の実行する業務処理と、ＤＢＭＳ０１１１と、ＯＳ０１１２と、ＳＡＮポート０１１６とに関する情報を収集し、取得した情報を管理サーバ０１０５に送信する。
【００３６】
次に、ストレージ装置０１０４の構成について詳述する。なお、図２のストレージシステムＳは１台のストレージ装置０１０４によって構成されているが、１台に限られるものではなく複数のストレージ装置０１０４によって構成されていてもよい。
ストレージ装置０１０４は、ＣＰＵ０１１９と、メモリ０１２０と、論理ボリューム０１２１とを備える。ストレージ装置０１０４はＳＡＮポート０１１８を有し、ＳＡＮポート０１１８によってＳＡＮ０１０３に接続されている。また、ストレージ装置０１０４はＬＡＮポート０１２８を有し、ＬＡＮポート０１２８によってＬＡＮ０１０１に接続されている。
【００３７】
ＣＰＵ０１１９とメモリ０１２０は、ストレージ装置０１０４のディスク入出力（データの入出力）を司るともに、ＣＰＵ０１１９と、メモリ０１２０と、論理ボリューム０１２１に関する管理情報を収集し管理サーバ０１０５に送信する。
メモリ０１２０は、主にストレージ装置０１０４が入出力するデータを一時的に記憶する機能（キャッシュ)を提供する。
【００３８】
論理ボリューム０１２１は、ストレージ装置０１０４におけるデータの記憶領域であり、データをブロック単位によって読み書きが行われる。論理ボリューム０１２１は、実際には一つ又は複数の外部記憶装置０１２６からＲＡＩＤ（Redundant Arrays of Inexpensive Disks）グループ０１２２を構成し、一つ又は複数の論理的な記憶領域である論理ボリュームを構成する。外部記憶装置０１２６は、例えばＦＣ（Fibre Channel)ディスク等がある。
【００３９】
次に、ＳＡＮスイッチ０１０７の構成について詳述する。なお、図２のストレージシステムＳは１台のＳＡＮスイッチ０１０７によって構成されているが、１台に限られるものではなく複数のＳＡＮスイッチ０１０７によって構成されてもよい。
ＳＡＮスイッチ０１０７は、業務サーバ０１０２とストレージ装置０１０４間のデータ通信を中継するネットワークデバイスであり、ＳＡＮポート０１５１，０１５２を備える。また、ＳＡＮスイッチ０１０７はＬＡＮポート０１４８を有し、ＬＡＮポート０１４８によってＬＡＮ０１０１に接続されている。
【００４０】
次に、管理サーバ０１０５の構成について詳述する。
管理サーバ０１０５は、ＣＰＵ０１４５と、メモリ０１４６と、入力部０１４３と、表示部０１４４と、記憶部０１３５と、外部記憶装置０１２３とを備える。管理サーバ０１０５は、ＬＡＮポート０１２７を有し、ＬＡＮポート０１２７によってＬＡＮ０１０１に接続されている。
【００４１】
ＣＰＵ０１４５は、記憶部０１３５に格納されたプログラムを読み出してメモリ０１４６に展開して実行すること等によって、各種処理を行う。更に、ＣＰＵ０１４５は、各種処理過程でユーザとのインタラクションを必要とする情報を表示部０１４４に表示する。また、ＣＰＵ０１４５は、前記インタラクションを通じて、入力部０１４３から入力された情報を処理する。
【００４２】
記憶部０１３５は、性能管理ソフト０１３６と、ストレージ装置情報取得プログラム０１３３と、ＳＡＮスイッチ情報取得プログラム０１３４とを格納している。
外部記憶装置０１２３は、後記する性能管理ソフト０１３６が収集や管理する情報を格納している。
【００４３】
性能管理ソフト０１３６は、情報収集プログラム０１２４と、性能監視プログラム０１２５とによって構成されている。情報収集プログラム０１２４は、サーバ情報取得プログラム０１１３とストレージ装置情報取得プログラム０１３３と、ＳＡＮスイッチ情報取得プログラム０１３４から管理情報を受信し、外部記憶装置０１２３へその取得した管理情報を格納する。また、性能監視プログラム０１２５は、外部記憶装置０１２３に格納された管理情報に基づき監視対象に対して性能監視閾値を設定する機能と、性能監視閾値に基づき性能を監視する機能と、性能に問題が起きる可能性のある場合または問題が起きた場合に管理クライアント０１０６へ通知する機能とを有する。
【００４４】
ストレージ装置情報取得プログラム０１３３は、ストレージ装置０１０４から後記する情報を取得し、情報収集プログラム０１２４へ送信する。
ＳＡＮスイッチ情報取得プログラム０１３４は、ＳＡＮスイッチ０１０７から後記する情報を取得し、情報収集プログラム０１２４へ送信する。
【００４５】
次に、管理クライアント０１０６の構成について詳述する。なお、図２のストレージシステムＳは１台の管理クライアント０１０６によって構成されているが、１台に限られるものではなく複数の管理クライアント０１０６によって構成されてもよい。
管理クライアント０１０６は、管理サーバ０１０５のユーザインタフェースを提供する装置であり、ＣＰＵ０１３８と、メモリ０１３９を備える。また、管理クライアント０１０６は、ＬＡＮポート０１２９を有し、ＬＡＮポート０１２９によってＬＡＮ０１０１に接続されている。
【００４６】
ＣＰＵ０１３８は、メモリ０１３９に格納されている管理クライアント０１０６の情報をユーザに伝える処理を行う。例えば、Ｗｅｂブラウザを動作させることによりユーザインタフェースを提供する。
メモリ０１３９は、管理クライアント０１０６の情報と、ユーザインタフェースを提供するソフトに関する情報を格納する。
【００４７】
図３は、本実施形態におけるプログラムのモジュール構成を表す図である。図３を用いて、本実施形態におけるプログラムのモジュールの役割を説明する。
情報取得プログラム０３０１は、ストレージシステムＳにおける監視対象から情報を収集するプログラムで、構成情報取得部０３１１と、構成情報送出部０３１２と、性能情報取得部０３１３（性能情報収集部）と、性能情報送出部０３１４とを備える。また、情報取得プログラム０３０１は、図２におけるサーバ情報取得プログラム０１１３と、ストレージ装置情報取得プログラム０１３３と、ＳＡＮスイッチ情報取得プログラム０１３４における共通の構成を表したものであり、情報取得プログラム０３０１における情報取得方法や送出方法の詳細は取得対象の装置によって異なる。
【００４８】
構成情報取得部０３１１は、情報取得プログラム０３０１のスケジューリング設定から呼び出され処理を実行する。構成情報取得部０３１１は、呼び出された後に監視対象装置から構成情報を取得し、構成情報送出部０３１２へ前記構成情報を渡す。ここで、監視対象装置とは、図２における業務サーバ０１０２と、ストレージ装置０１０４と、ＳＡＮスイッチ０１０７とを指す。それぞれの監視対象装置から取得する構成情報の詳細については、図４〜図７を用いて後記する。
【００４９】
構成情報送出部０３１２は、構成情報取得部０３１１から渡されたデータを情報収集プログラム０１２４の構成情報取得部０３２１に送信する。
性能情報取得部０３１３は、情報取得プログラム０３０１のスケジューリング設定から呼び出され処理を実行する。性能情報取得部０３１３は、起動後に監視装置の性能情報を取得し、性能情報送出部０３１４へ前記性能情報を渡す。監視装置は構成情報取得部０３１１の場合と同様である。また、取得する性能情報の詳細については、図９と図１０とを用いて後記する。
【００５０】
性能情報送出部０３１４は、性能情報取得部０３１３から渡されたデータを情報収集プログラム０１２４の性能情報取得部０３２２（性能情報収集部）に送信する。
情報収集プログラム０１２４は、このように、構成情報取得部０３２１と性能情報取得部０３２２とを備え、情報取得プログラム０３０１が各監視対象装置から収集した情報を外部記憶装置０１２３の記憶部に格納する。
【００５１】
外部記憶装置０１２３は、構成情報記憶部０３３１と、性能情報記憶部０３３２と、閾値情報記憶部０３３３と、業務処理構成区分情報記憶部０３３４とを備える。情報収集プログラム０１２４の構成情報取得部０３２１は、情報取得プログラム０３０１から受信した各監視対象装置の構成情報を構成情報記憶部０３３１に格納し、前記格納した構成情報に基づいてストレージリソースを使用するアプリケーションとの関連を検索し、検索結果を構成情報記憶部０３３１に格納する。
【００５２】
性能情報取得部０３２２は、情報取得プログラム０３０１から受信した各監視対象装置の性能情報を性能情報記憶部０３３２に格納し、格納後に性能監視プログラム０１２５の性能判定部０３４１を起動させる。なお、性能情報記憶部０３３２に格納する性能情報の詳細は、図９と図１０とを用いて後記する。
性能監視プログラム０１２５は、性能判定部０３４１と、情報参照部０３４２と、業務処理構成区分判定部０３４３（構成区分判定部）と、閾値設定部０３４４と、クライアント通知部０３４５とを備える。性能監視プログラム０１２５は、性能監視閾値の設定と、前記性能監視閾値及び性能情報に基づく性能の判定と、問題の発生等のクライアントへの通知との機能を提供する。
【００５３】
性能判定部０３４１は、性能情報取得部０３２２によって起動され、ストレージリソースの性能に問題があるかの判定を現在の業務処理構成区分に応じた性能監視閾値を用いて判定する。また、性能判定部０３４１は、必要に応じて判定結果をクライアント通知部０３４５へ通知し、また、性能監視閾値を設定する場合に閾値設定部０３４４を呼び出す。性能判定部０３４１は、業務処理構成区分判定部０３４３を呼び出すことにより、業務処理構成区分判定部０３４３から業務処理構成区分の情報を取得する。また、性能判定部０３４１は、情報参照部０３４２からストレージリソースの性能情報と、ストレージリソースの現在の業務処理構成区分に応じた性能監視閾値を取得する。
【００５４】
性能判定部０３４１は、情報参照部０３４２と、業務処理構成区分判定部０３４３とから取得した情報に基づいて性能の判定を行い、問題があるもしくは起こりうると判定した場合にクライアント通知部０３４５を呼び出し、判定結果をクライアントへ通知する。また、性能判定部０３４１は、性能監視閾値が設定されていなかった場合と、性能監視閾値の修正が必要な場合とには、閾値設定部０３４４を呼び出し性能監視閾値の設定を行う。判定処理の詳細については、図１５〜図２１を用いて後記する。
【００５５】
情報参照部０３４２は、性能判定部０３４１と、業務処理構成区分判定部０３４３と、閾値設定部０３４４から呼び出され、構成情報記憶部０３３１と、性能情報記憶部０３３２と、閾値情報記憶部０３３３とから情報を取得する。取得する情報の詳細については後記する。
業務処理構成区分判定部０３４３は、性能判定部０３４１から呼び出され、ストレージリソースを使用している業務処理の処理量に応じて業務処理構成区分を判定する。業務処理構成区分判定部０３４３は、情報参照部０３４２からストレージリソースを使用する業務処理の処理量を取得する。業務処理構成区分判定部０３４３の詳細については、図１６を用いて後記する。
【００５６】
閾値設定部０３４４は、性能判定部０３４１から呼び出され、ストレージリソースの業務処理構成区分に応じた性能監視閾値を設定する。閾値設定部０３４４の詳細については、図１９と図２１とを用いて後記する。
クライアント通知部０３４５は、性能判定部０３４１から呼び出され、性能問題が発生したこともしくは、発生する可能性があることを管理クライアント０１０６に通知する。
管理クライアント０１０６は、クライアント通知部０３４５から通知された情報を受信し、ユーザインタフェース（表示部等）を用いてユーザに提示する。
【００５７】
外部記憶装置０１２３は、情報を格納し、格納した情報を読み出す機能を提供する。
構成情報記憶部０３３１は、構成情報取得部０３２１からの指示により構成情報を格納する機能と、構成情報を読み出す機能とを提供する。また、構成情報記憶部０３３１は、情報参照部０３４２の構成情報を読み出す機能を提供する。構成情報記憶部０３３１が格納する情報の詳細については、図４〜図８を用いて後記する。
【００５８】
性能情報記憶部０３３２は、性能情報取得部０３２２からの指示により性能情報を格納する機能と、情報参照部０３４２からの指示により性能情報を読み出す機能とを提供する。性能情報記憶部０３３２が格納する情報の詳細については、図９と図１０とを用いて後記する。
閾値情報記憶部０３３３は、閾値設定部０３４４からの指示により性能監視閾値を格納する機能と、情報参照部０３４２からの指示により性能監視閾値を読み出す機能とを提供する。閾値情報記憶部０３３３が格納する情報の詳細については、図１１〜図１３を用いて後記する。
【００５９】
業務処理構成区分情報記憶部０３３４は、業務処理構成区分判定部０３４３からの指示によりストレージリソースに関連する業務処理構成に応じた区分を格納及び読み出す機能を提供する。業務処理構成区分情報記憶部０３３４が格納する情報の詳細については、図１４を用いて後記する。
【００６０】
図４は、アプリケーションを構成する業務処理を表す、アプリケーションの業務処理テーブル０４０１である。アプリケーションの業務処理テーブル０４０１は、アプリケーション名０４０２と、業務処理名０４０３と、データ取得時刻０４０４とをカラムに持つテーブルである。アプリケーションの業務処理テーブル０４０１の情報は、アプリケーション０１１０〜構成情報取得部０３１１〜構成情報送出部０３１２〜構成情報取得部０３２１〜構成情報記憶部０３３１の経路で取得し格納されたものである。
【００６１】
図５は、アプリケーションとそのアプリケーションを構成するデバイスファイルの関連を表す、アプリケーションとデバイスファイルの関連テーブル０５０１である。アプリケーションとデバイスファイルの関連テーブル０５０１は、アプリケーション名０５０２と、デバイスファイルＩＤ（IDentification）０５０３と、データ取得時刻０５０４とをカラムに持つテーブルである。アプリケーションとデバイスファイルの関連テーブル０５０１の情報は、アプリケーション０１１０及びＤＢＭＳ０１１１〜構成情報取得部０３１１〜構成情報送出部０３１２〜構成情報取得部０３２１〜構成情報記憶部０３３１の経路で取得し格納されたものである。また、アプリケーションとデバイスファイルのマッピングは、サーバ情報取得プログラム０１１３がアプリケーション０１１０と、ＤＢＭＳ０１１１とから収集した構成情報に基づいて、構成情報取得部０３１１が作成する。
【００６２】
図６は、デバイスファイルと、ＷＷＮ（World Wide Name）及びＬＵＮ（Logical Unit Number）との関連を表す、デバイスファイルと（ＷＷＮ、ＬＵＮ）の関連テーブル０６０１である。デバイスファイルと（ＷＷＮ、ＬＵＮ）の関連テーブル０６０１は、デバイスファイルＩＤ０６０２と、ＷＷＮ０６０３と、ＬＵＮ０６０４と、データ取得時刻０６０５をカラムに持つテーブルである。デバイスファイルと（ＷＷＮ、ＬＵＮ）の関連テーブル０６０１の情報は、ＯＳ０１１２〜構成情報取得部０３１１〜構成情報送出部０３１２〜構成情報取得部０３２１〜構成情報記憶部０３３１の経路で取得し格納されたものである。
【００６３】
図７は、論理ボリューム０１２１と、ＷＷＮ及びＬＵＮとの関連を表す、論理ボリュームと（ＷＷＮ、ＬＵＮ）の関連テーブル０７０１である。論理ボリュームと（ＷＷＮ、ＬＵＮ）の関連テーブル０７０１は、論理ボリュームＩＤ０７０２と、ＷＷＮ０７０３と、ＬＵＮ０７０４と、データ取得時刻０７０５をカラムに持つテーブルである。論理ボリュームと（ＷＷＮ、ＬＵＮ）の関連テーブル０７０１の情報は、ストレージ装置０１０４〜構成情報取得部０３１１〜構成情報送出部０３１２〜構成情報取得部０３２１〜構成情報記憶部０３３１の経路で取得し格納されたものである。
【００６４】
図８は、アプリケーションとそのアプリケーションの使用するストレージリソースとの関連を表す、アプリケーションとリソースの関連テーブル０８０１である。アプリケーションとリソースの関連テーブル０８０１は、アプリケーション名０８０２と、リソースＩＤ０８０３と、デバイスファイルＩＤ０８０４と、データ取得時刻０８０５とをカラムに持つテーブルである。図８ではリソースとして論理ボリュームを示しており、構成情報取得部０３２１が構成情報記憶部０３３１から図５〜図７で示した情報を取得し、加工処理し、構成情報記憶部０３３１に格納した情報である。
【００６５】
図９は、アプリケーション０１１０の各業務処理における性能値の種別と性能値を表す、業務処理性能テーブル０９０１である。業務処理性能テーブル０９０１は、アプリケーション名０９０２と、業務処理名０９０３と、性能指標分類０９０７と、性能指標種別０９０４と、性能値０９０５と、データ取得時刻０９０６とをカラムに持つテーブルである。業務処理性能テーブル０９０１に格納される性能値は、処理量（業務処理構成区分を算出するための性能値）、もしくは、業務処理の要求性能、として指定する。処理量、または、業務処理の要求性能として指定可能か否かは、性能値の性能指標分類０９０７に依存している。
【００６６】
性能指標分類０９０７は３分類（応答時間（レスポンスタイム）、スループット、業務サーバ使用量）あり、分類毎に異なる性能指標種別０９０４がある。処理量として指定できる性能指標分類０９０７は、スループットと、業務サーバ使用量である。業務処理の要求性能として指定できる性能指標分類０９０７は、応答時間と、スループットと、業務サーバ使用量である。各性能指標分類０９０７の性能指標種別０９０４を以下に記す。
【００６７】
性能指標分類０９０７が応答時間の性能指標種別０９０４には、応答時間（業務処理あたりの応答時間）がある。性能指標分類０９０７がスループットの性能指標種別０９０４には、転送速度と処理回数（業務処理の単位時間あたりの実行数）がある。性能指標分類０９０７が業務サーバ使用量の性能指標種別０９０４には、ＣＰＵ利用時間と、ＣＰＵ使用率と、メモリ使用率と、ＣＰＵのキュー長（ＣＰＵの待ち行列にあるスレッド数）等がある。業務処理性能テーブル０９０１は、サーバ情報取得プログラム０１１３が取得する情報で、アプリケーション０１１０〜性能情報取得部０３１３〜性能情報送出部０３１４〜性能情報取得部０３２２〜性能情報記憶部０３３２の経路で取得し格納される。
【００６８】
図１０は、ストレージリソースにおける性能値の種別と性能値を表す、リソース性能テーブル１００１である。リソース性能テーブル１００１は、リソースＩＤ１００２と、性能指標種別１００３と、性能値１００４と、データ取得時刻１００５とをカラムに持つテーブルである。リソース性能テーブル１００１は、情報取得プログラム０３０１が取得する情報で、各監視対象装置〜性能情報取得部０３１３〜性能情報送出部０３１４〜性能情報取得部０３２２〜性能情報記憶部０３３２の経路で格納される。
【００６９】
図１１は、アプリケーションの業務処理毎に対するシステム要件を表す、業務処理要求性能テーブル１１０１である。業務処理要求性能テーブル１１０１は、アプリケーション名１１０２と、業務処理名１１０３と、性能指標種別１１０４と、要求性能１１０５とをカラムに持つテーブルである。業務処理要求性能テーブル１１０１は、サーバ情報取得プログラム０１１３が起動時にアプリケーション０１１０から業務処理の要求性能を取得する情報で、閾値情報記憶部０３３３に格納される。
【００７０】
図１２は、リソースの業務処理構成区分に応じた性能監視閾値を表す、リソース性能監視閾値テーブル１２０１である。リソース性能監視閾値テーブル１２０１は、リソースＩＤ１２０２と、業務処理構成区分１２０３と、性能指標種別１２０４と、性能監視閾値１２０５とをカラムに持つテーブルである。リソース性能監視閾値テーブル１２０１は、過去における業務処理のシステム要件を満たさなかったことをリソースの性能を監視することにより検出できるような性能監視閾値を、閾値設定部０３４４が閾値情報記憶部０３３３を呼び出し格納する。性能監視閾値の決定の詳細については、図１９と図２１とを用いて後記する。
【００７１】
図１３は、リソースのある業務処理構成区分において性能監視閾値の違反を検出した場合に、要求性能を違反している可能性の高い業務処理を表す、リソースの性能監視閾値と業務処理の要求性能違反の関連テーブル１３０１（以下、関連テーブル１３０１という。）である。関連テーブル１３０１は、リソースＩＤ１３０２と、業務処理構成区分１３０３と、性能指標種別１３０４と、アプリケーション名１３０５と、要求性能違反業務処理１３０６と、違反指標１３０７と、データ取得時刻１３０８とをカラムに持つテーブルである。関連テーブル１３０１は、過去のある時点において、業務処理がシステム要求性能を満たさなかったことを、性能監視閾値によって検出したこと、もしくは、検出可能であったことを、閾値設定部０３４４が閾値情報記憶部０３３３を呼び出し格納したものである。
【００７２】
図１４は、リソースの業務処理構成区分における業務処理の構成を表す、リソースの業務処理構成区分テーブル１４０１である。リソースの業務処理構成区分テーブル１４０１は、リソースＩＤ１４０２と、アプリケーション名１４０３と、業務処理種別１４０４と、業務処理種別構成１４０５と、業務処理構成区分１４０６とをカラムに持つテーブルである。リソースの業務処理構成区分テーブル１４０１は、過去のある時点においてリソースを使用していた業務処理の構成を区分し、業務処理構成区分判定部０３４３が業務処理構成区分情報記憶部０３３４を呼び出し格納したものである。
【００７３】
図１５は、性能監視閾値の設定及び性能監視閾値を用いた性能監視の処理全体をフローチャートで表したものである。本処理は、性能監視プログラム０１２５が行い、特に性能判定部０３４１が全体の流れを管理する。
【００７４】
まず、性能判定部０３４１は業務処理構成区分判定部０３４３を呼び出し、リソースの業務処理構成区分を取得する。業務処理構成区分判定部０３４３は、リソースを使用する各業務処理の処理量を取得する（ステップＳ１５０１）。ステップＳ１５０１では、アプリケーションとリソースの関連テーブル０８０１から、リソースに関連するアプリケーションを調べる。次に、前記アプリケーションの実行する業務処理を、アプリケーションの業務処理テーブル０４０１から調べる。前記アプリケーション及びその実行する業務処理の処理量を業務処理性能テーブル０９０１から取得する。なお、前記したように、処理量とは、業務処理性能テーブル０９０１の性能指標分類０９０７におけるスループットや業務サーバ使用量に関する量のことである。
【００７５】
次に、業務処理構成区分判定部０３４３はステップＳ１５０１で取得した業務処理の処理量を用いて、業務処理構成区分判定処理を行い（ステップＳ１５０２）、業務処理構成区分を取得し、前記取得した業務処理構成区分を性能判定部０３４１に渡す。ステップＳ１５０２の詳細な手順は、図１６を用いて後記する。
性能判定部０３４１は、ステップＳ１５０２にて取得した業務処理構成区分に該当する性能監視閾値を取得する（ステップＳ１５０３）。ステップＳ１５０３では、情報参照部０３４２を用い、リソース性能監視閾値テーブル１２０１から、リソースＩＤ及び前記業務処理構成区分が等しい（一致する）性能監視閾値を取得する。
【００７６】
性能判定部０３４１は、情報参照部０３４２を用いてリソースの性能値を取得する（ステップＳ１５０４）。ステップＳ１５０４では、情報参照部０３４２を用い、リソース性能テーブル１００１から、リソースＩＤが等しいリソースの性能値を取得する。
性能判定部０３４１は、ステップＳ１５０３及びＳ１５０４で取得した性能監視閾値及び性能値を用い、リソース閾値判定処理を行う（ステップＳ１５０５）。ステップＳ１５０５の詳細な手順は、図１７を用いて後記する。
ステップＳ１５０１〜Ｓ１５０５までの処理をリソース毎に実行する（ステップＳ１５１０〜Ｓ１５１１）。
【００７７】
性能判定部０３４１は、リソースの性能監視閾値によっては検出できなかった業務処理要求性能違反を検出できるように性能監視閾値を設定する、業務処理性能問題未検出判定処理（ステップＳ１５０６）を実行する。ステップＳ１５０６の詳細な手順は、図２０を用いて後記する。性能判定部０３４１は、ステップＳ１５０６の処理を業務処理毎に実行する（ステップＳ１５１２，Ｓ１５１３）。
【００７８】
図１６は、業務処理構成区分判定部０３４３がリソースを使用している業務処理の処理量から現在の業務処理構成区分を判定する処理（ステップＳ１５０２）を表したものである。業務処理構成区分判定部０３４３は、ステップＳ１５０１で取得した業務処理の処理量から業務処理種別構成を求め、業務処理種別構成から該当する業務処理構成区分を取得する。業務処理構成区分を決定する業務処理種別構成を求める方法としては、各業務処理種別の絶対量によって決定する方法、又は、各業務処理種別の処理量の比率によって決定する方法がある。本実施形態においては、各業務処理種別の処理量の比率を用いている。
【００７９】
業務処理構成区分判定部０３４３は、情報参照部０３４２を用い、前記求めた業務処理種別構成と同一の業務処理種別構成が、リソースの業務処理構成区分テーブル１４０１に定義されているかを調べる（ステップＳ１６０１）。ステップＳ１６０１で、同一の業務処理種別構成が定義されていた場合（Ｙｅｓ）には、リソースの業務処理構成区分テーブル１４０１の該当する業務処理構成区分１４０６を業務処理構成区分判定処理（ステップＳ１５０２）の戻り値とする（ステップＳ１６０２）。
【００８０】
ステップＳ１６０１において、同一の業務処理種別構成が定義されていなかった場合（Ｎｏ）には、業務処理構成区分判定部０３４３は、リソースの業務処理構成区分テーブル１４０１に、前記求めた業務処理種別構成とそれに対応する業務処理構成区分を新規に定義する（ステップＳ１６０３）。
ステップＳ１６０３において、ステップＳ１６０３で新規に定義した業務処理構成区分を業務処理構成区分判定処理（ステップＳ１５０２）の戻り値とする（ステップＳ１６０４）。
ステップＳ１６０２またはＳ１６０４で戻り値とした業務処理構成区分を、性能判定部０３４１に戻り値として返し、業務処理構成区分判定処理（ステップＳ１５０２）を終了する。
【００８１】
図１７は、リソースの性能を現在の業務処理構成区分の閾値と比較することにより、管理クライアント０１０６へ通知するか、または性能監視閾値を緩和するかを判定する、リソース閾値判定処理（ステップＳ１５０５）を表したものである。
【００８２】
性能判定部０３４１は、ステップＳ１５０３及びＳ１５０４で取得したリソースの性能値及び性能監視閾値を比較し、リソースの性能が性能監視閾値を満たしているか判定する（ステップＳ１７０１）。
性能判定部０３４１は、ステップＳ１７０１においてリソースの性能が性能監視閾値を満たしている場合（Ｙｅｓ）には、事前アラート判定処理（ステップＳ１７０２）を行う。事前アラート判定処理（ステップＳ１７０２）の詳細な手順は、図１８を用いて後記する。
【００８３】
ステップＳ１７０１でリソースの性能が性能監視閾値を満たしていない場合（Ｎｏ）は、リソースを使用する業務処理の要求性能を取得する（ステップＳ１７０３）。ステップＳ１７０３において、性能判定部０３４１は、ステップＳ１５０１で調べたリソースを使用する業務処理の要求性能を、情報参照部０３４２を用いて業務処理要求性能テーブル１１０１から取得する。
性能判定部０３４１は、ステップＳ１７０３で要求性能を取得した業務処理、且つステップＳ１７０３で取得した要求性能と同一の性能指標種別の性能値を、情報参照部０３４２を用いて業務処理性能テーブル０９０１から取得する（ステップＳ１７０４）。
【００８４】
性能判定部０３４１は、ステップＳ１７０３及びＳ１７０４で取得した要求性能及び性能値を比較し、業務処理の性能が要求性能を満たしているか判定する（ステップＳ１７０５）。
ステップＳ１７０５で、全ての業務処理において性能値が要求性能を満たしている場合（Ｙｅｓ）には、性能判定部０３４１は、ステップＳ１７０３及びＳ１７０４で取得した要求性能及び性能値を比較し、全ての業務処理の性能がそれぞれの要求性能を余裕幅を持って満たしているか判定する（ステップＳ１７０６）。ここで、余裕幅を持って満たしているとは、例えば、性能値が要求性能を要求性能の３０％分の余裕を持って満たしていること、あるいは、性能値及び要求性能の性能指標が応答時間であれば性能値が要求性能を２ミリ秒分の余裕をもって満たしていること、などを表す。
【００８５】
ステップＳ１７０６において、全ての業務処理の性能がそれぞれの要求性能を余裕幅をもって満たしていた場合（Ｙｅｓ）には、性能判定部０３４１は閾値設定部０３４４を用いて性能監視閾値の緩和処理（ステップＳ１７０７）を行い、性能監視閾値を緩和する。性能監視閾値の緩和処理（ステップＳ１７０７）の詳細な手順は、図１９を用いて後記する。
【００８６】
ステップＳ１７０５において、性能値が要求性能を満たしていない業務処理が一つでもあった場合（Ｎｏ）には、その業務処理を記録する（ステップＳ１７０８）。ステップＳ１７０８において、性能判定部０３４１は閾値設定部０３４４を用いて、関連テーブル１３０１に、性能監視閾値を満たしていないリソースと要求性能を違反している業務処理を関連付けて格納する。
【００８７】
ステップＳ１７０８の後、性能判定部０３４１は、クライアント通知部０３４５を呼び出し、管理クライアント０１０６へ問題発生アラートを発行する（ステップＳ１７０９）。ステップＳ１７０９において、クライアント通知部０３４５は、性能監視閾値を違反しているリソースと、要求性能を違反しているまたは要求性能に対し性能に余裕幅がない業務処理とを通知する。
【００８８】
図１８は、事前アラート判定処理（ステップＳ１７０２）を表しており、性能問題が起こりうるか判定し、問題が起こりうる場合にはクライアント通知部０３４５を呼び出すことで管理クライアント０１０６へ通知する。まず、ステップＳ１５０３及びＳ１５０４で取得したリソースの性能値及び性能監視閾値を用いて、リソースの性能値が性能監視閾値を余裕幅を持って満たしているか判定する（ステップＳ１８０１）。ここで、余裕幅を持って満たしているとは、例えば、性能値が性能監視閾値を性能監視閾値の３０％分の余裕を持って満たしていること、あるいは、性能値及び性能監視閾値の性能指標が応答性能であれば性能値が要求性能を２ミリ秒分の余裕をもって満たしていること、などを表す。
【００８９】
ステップＳ１８０１において満たしていると判定した場合（Ｙｅｓ）には、事前アラート判定処理（ステップＳ１７０２）を終了する。
ステップＳ１８０１において満たしていないと判定した場合（Ｎｏ）には、ステップＳ１８０１で満たしていないと判定した性能監視閾値及び業務処理構成区分によって、過去において要求性能違反を検出できた業務処理を取得する（ステップＳ１８０２）。ステップＳ１８０２は、リソースＩＤと、業務処理構成区分と、ステップＳ１８０１で満たしていなかった性能監視閾値の指標種別とが同一のレコードを、関連テーブル１３０１から検索し、要求性能違反業務処理と違反指標とを取得する。
ステップＳ１８０２で取得した要求性能違反業務処理と違反指標とを、管理クライアント０１０６へ問題予告アラートで通知する（ステップＳ１８０３）。ステップＳ１８０３は、クライアント通知部０３４５を用いて管理クライアント０１０６へ通知する。
【００９０】
図１９は、性能監視閾値の条件を緩和することにより、業務処理の性能が要求性能を下回っていない場合に、リソースの性能値及び性能監視閾値から性能問題が発生したと判断（余剰検出）することを減らし、性能監視閾値の精度を高めるための処理（ステップＳ１７０７）である。
【００９１】
まず、現在の性能監視閾値を用いてリソースの性能を監視することで、リソースを使用する業務処理が要求性能を満たさなかったことを検出できる過去の業務処理の要求性能違反、及び余剰検出した件数を調べる（ステップＳ１９０１）。ステップＳ１９０１では、性能判定部０３４１は、まず情報参照部０３４２を用いて、リソース性能テーブル１００１から、リソースＩＤが等しいリソースの性能値をある期間分取得する。
【００９２】
また、性能判定部０３４１は、業務処理性能テーブル０９０１から、情報参照部０３４２を用いて、ステップＳ１７０３で要求性能を取得した業務処理、且つステップＳ１７０３で取得した要求性能と同一の性能指標種別の性能値をある期間分取得する。ここで、前記のある期間分とは、閾値の緩和処理において過去の性能情報を考慮する期間を表しており、例えば１週間とすると、過去１週間分のリソース及び業務処理の性能を閾値の決定において考慮することを表す。次に、前記取得した業務処理の性能と要求性能を比較する。業務処理の性能が要求性能を満たしていた場合は、問題がなかったと判定し、業務処理の性能が要求性能を満たしていなかった場合には、問題があったと判定する。
【００９３】
また、リソースの性能も性能閾値と比較し、性能が性能閾値を満たしていた場合は、問題がなかったと判定し、満たしていなかった場合には、問題があったと判定する。ある時点において、リソースを使用する業務処理の一つ又は複数で問題があり、リソースでも問題があったと判定した場合は、業務処理の要求性能違反を検出したとする。また、リソースを使用する全ての業務処理で問題がないが、リソースで問題があったと判定した場合は、余剰検出したとする。上記、性能要求違反の検出と余剰検出をある期間にわたり調べ、それぞれの合計を求め、それぞれを性能要求違反検出の件数と、余剰検出の件数と定義する。
【００９４】
現在の閾値と比べ、ステップＳ１９０１で求めた検出可能な過去の業務処理の要求性能違反の件数が変わらない、且つ、余剰検出の件数が最も少なくなる性能監視閾値の範囲を調べる（ステップＳ１９０２）。ステップＳ１９０２は、下記（Ａ）における性能監視閾値を変更して下記（Ａ）から（Ｃ）を繰り返し、性能要求違反検出の件数がステップＳ１９０１で調べた件数と等しく、余剰検出の件数が最も少なくなる性能監視閾値の範囲を調べる。
【００９５】
（Ａ）現在の性能監視閾値の条件を緩める方向に変更し、ステップＳ１９０１と同様にして性能要求違反検出の件数と余剰検出の件数とを調べる。
（Ｂ）上記Ａにおいて調べた性能要求違反検出の件数がステップＳ１９０１で調べた性能要求違反検出の件数と同一であるか比較する。
（Ｃ）Ｂで同一であった場合には、Ａにおいて調べた余剰検出の件数がステップＳ１９０１で調べた余剰検出の件数より少ないか比較し、同じもしくは少なかった場合にＡで設定した性能監視閾値を性能監視閾値の範囲とする。
【００９６】
ステップＳ１９０２で調べた性能監視閾値の範囲の中で最も条件が緩い値を新しい性能監視閾値とする（ステップＳ１９０３）。ステップＳ１９０３は、ステップＳ１９０２で求めた性能監視閾値の範囲の中で最も条件が緩い値を用いて、リソース性能監視閾値テーブル１２０１のリソースＩＤと、業務処理構成区分と、性能指標種別とが等しいレコードの性能監視閾値１２０５を上書きする。性能監視閾値の範囲がなかった場合には性能監視閾値を変更しない。
【００９７】
図２０は、リソースの性能監視によって検出できなかった、業務処理が要求性能を満たさなかったことを判定して、リソースの性能監視閾値の条件を強化することにより検出できるようにする処理（ステップＳ１５０６）である。
【００９８】
性能判定部０３４１は、情報参照部０３４２を用いて、業務処理要求性能テーブル１１０１から要求性能を取得する（ステップＳ２００１）。
性能判定部０３４１は、情報参照部０３４２を用いて、業務処理性能テーブル０９０１から直近の業務処理の性能値を取得する（ステップＳ２００２）。
【００９９】
性能判定部０３４１は、ステップＳ２００１及びＳ２００２で取得した業務処理の要求性能及び性能値から、業務処理の性能が要求性能を満たしているか判定する（ステップＳ２００３）。
ステップＳ２００３において、業務処理の性能が要求性能を満たしている場合（Ｙｅｓ）には、業務処理性能問題未検出判定処理（ステップＳ１５０６）を終了する。
【０１００】
ステップＳ２００３において、業務処理の性能が要求性能を満たしていないと判定した場合（Ｎｏ）には、性能判定部０３４１は、関連テーブル１３０１に記録されているかを調べる（ステップＳ２００４）。ステップＳ２００４は、情報参照部０３４２を用いて、ステップＳ２００２で取得したアプリケーション名と、業務処理名と、性能指標種別と、データ取得時刻とが、関連テーブル１３０１において、アプリケーション名１３０５と、要求性能違反業務処理１３０６と、違反指標１３０７と、データ取得時刻１３０８との各カラムの情報に一致するレコードがあるかを調べる。
【０１０１】
ステップＳ２００４において、前記一致するレコードがなかった場合（Ｙｅｓ）には、閾値の強化処理を行う（ステップＳ２００５）。ステップＳ２００５の詳細な手順については、図２１を用いて後記する。
ステップＳ２００４において、前記一致するレコードがあった場合（Ｎｏ）には、業務処理性能問題未検出判定処理（ステップＳ１５０６）を終了する。
【０１０２】
図２１は、検出できなかった業務処理の要求性能違反を検出できたように、リソースの性能監視閾値を設定する、閾値設定部０３４４が実行する処理（ステップＳ２００５）を表している。
【０１０３】
まず、検出できなかった業務処理の要求性能違反を検出可能な、リソース及びその性能種別を調べる（ステップＳ２１０１）。例えば、ステップＳ２１０１は、要求性能を違反した性能指標種別の性能と、業務処理の使用するリソースの性能との最も相関の高いものを、業務処理性能問題を検出可能なリソース及び性能指標種別とする。
【０１０４】
ステップＳ２１０１で選択した、リソース及びその性能指標種別において、検出できなかった業務処理性能問題を検出可能で、且つ、余剰検出数が最も少なくなる性能監視閾値の範囲を調べる（ステップＳ２１０２）。ステップＳ２１０２は、下記（Ｄ）における性能監視閾値を変更してから下記（Ｄ）と（Ｅ）を繰り返し、余剰検出の件数が最も少なくなる性能監視閾値の範囲を調べる。
【０１０５】
（Ｄ）性能監視閾値について、前記検出できなかった業務処理の要求性能違反を検出できるか調べる。検出できなかった場合には、性能監視閾値を条件が厳しくなるように変更し、再びステップ（Ｄ）を行う。
（Ｅ）上記ステップ（Ｄ）において、前記検出できなかった業務処理を検出できた性能監視閾値に対して、余剰検出の件数を求める。余剰検出の件数が最小の性能監視閾値を性能監視閾値の範囲とする。
【０１０６】
ステップＳ２１０２で調べた性能監視閾値の範囲の中で、最も条件を満たすことが難しい値を閾値候補とする（ステップＳ２１０３）。
閾値設定部０３４４は、選択した閾値候補のリソース及び性能指標種別が、業務処理の要求性能違反が検出できなかった際の業務処理構成区分において既に設定されているかを調べる（ステップＳ２１０４）。ステップＳ２１０４において閾値設定部０３４４は、情報参照部０３４２を用いて、ステップＳ２１０３において選択した閾値候補のリソースの業務処理構成区分を取得する。閾値設定部０３４４は、情報参照部０３４２を用いて、前記取得した業務処理構成区分と、ステップＳ２１０３において閾値候補としたリソースと、閾値候補の性能指標種別とが同一のレコードがリソース性能監視閾値テーブル１２０１に格納されているかを調べる。
【０１０７】
ステップＳ２１０４において、既にリソース性能監視閾値テーブル１２０１に格納されている場合（Ｙｅｓ）には、閾値設定部０３４４は、リソース性能監視閾値テーブル１２０１に格納されているその性能監視閾値を閾値候補で更新する（ステップＳ２１０５）。
ステップＳ２１０４においてリソース性能監視閾値テーブル１２０１に格納されていない場合（Ｎｏ）には、閾値設定部０３４４は、リソース性能監視閾値テーブル１２０１に閾値候補を性能監視閾値として格納（追加）する（ステップＳ２１０６）。
【０１０８】
ステップＳ２１０５またはステップＳ２１０６の後、閾値設定部０３４４は、関連テーブル１３０１に、ステップＳ２１０５またはＳ２１０６で設定した性能監視閾値と要求性能違反をした業務処理とを関連付けて格納する、つまり、問題が発生した業務処理を記録する（ステップＳ２１０７）。
【０１０９】
このように、本実施形態のストレージシステムＳによれば、実行中の業務処理に応じて、ＳＡＮ環境下におけるストレージリソースに対して性能監視閾値の設定及び性能の監視を適切に実現することができる。つまり、論理ボリューム０１２１に関する性能監視閾値を適切に強化したり緩和したりすることで、業務サーバ０１０２とストレージ装置０１０４との間で、論理ボリューム０１２１に関する性能監視の結果についての整合がとれるようになる。
【０１１０】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、論理ボリューム０１２１を共有する業務処理は、２つではなく３つ以上であってもよい。
その他、ハードウェア、プログラムなどの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明の基本概念を示す図である。
【図２】本実施形態のストレージシステムの全体構成を示す図である。
【図３】本実施形態のプログラムのモジュールを示す図である。
【図４】本実施形態におけるアプリケーションの業務処理テーブルを示す図である。
【図５】本実施形態におけるアプリケーションとデバイスファイルの関連テーブルを示す図である。
【図６】本実施形態におけるデバイスファイルと（ＷＷＮ，ＬＵＮ）の関連テーブルを示す図である。
【図７】本実施形態における論理ボリュームと（ＷＷＮ，ＬＵＮ）の関連テーブルを示す図である。
【図８】本実施形態におけるアプリケーションとリソースの関連テーブルを示す図である。
【図９】本実施形態における業務処理性能テーブルを示す図である。
【図１０】本実施形態におけるリソース性能テーブルを示す図である。
【図１１】本実施形態における業務処理要求性能テーブルを示す図である。
【図１２】本実施形態におけるリソース性能監視閾値テーブルを示す図である。
【図１３】本実施形態におけるリソースの性能監視閾値と業務処理の要求性能違反の関連テーブルを示す図である。
【図１４】本実施形態におけるリソースの業務処理構成区分テーブルを示す図である。
【図１５】本実施形態における性能判定処理を示すフローチャートである。
【図１６】本実施形態における業務処理構成区分判定処理を示すフローチャートである。
【図１７】本実施形態におけるリソース閾値判定処理を示すフローチャートである。
【図１８】本実施形態における事前アラート処理を示すフローチャートである。
【図１９】本実施形態における性能監視閾値の緩和処理を示すフローチャートである。
【図２０】本実施形態における業務処理性能問題未検出判定処理を示すフローチャートである。
【図２１】本実施形態における閾値の強化処理を示すフローチャートである。
【図２２】本発明において性能監視閾値を設定し直す場合の説明図である。
【図２３】本発明において性能監視結果の例を時系列で表した図である。
【符号の説明】
【０１１２】
０１０２  業務サーバ
０１０３  ＳＡＮ
０１０４  ストレージ装置
０１０５  管理サーバ
０１０６  管理クライアント
０１２１  論理ボリューム
０３１３  性能情報取得部（性能情報収集部）
０３２２  性能情報取得部（性能情報収集部）
０３３２  性能情報記憶部
０３３３  閾値情報記憶部
０３４１  性能判定部
０３４３  業務処理構成区分判定部（構成区分判定部）
０３４４  閾値設定部
Ｓ        ストレージシステム（ストレージ管理システム）
【図１】
2009129134.tif 000003
【図２】
2009129134.tif 000004
【図３】
2009129134.tif 000005
【図４】
2009129134.tif 000006
【図５】
2009129134.tif 000007
【図６】
2009129134.tif 000008
【図７】
2009129134.tif 000009
【図８】
2009129134.tif 000010
【図９】
2009129134.tif 000011
【図１０】
2009129134.tif 000012
【図１１】
2009129134.tif 000013
【図１２】
2009129134.tif 000014
【図１３】
2009129134.tif 000015
【図１４】
2009129134.tif 000016
【図１５】
2009129134.tif 000017
【図１６】
2009129134.tif 000018
【図１７】
2009129134.tif 000019
【図１８】
2009129134.tif 000020
【図１９】
2009129134.tif 000021
【図２０】
2009129134.tif 000022
【図２１】
2009129134.tif 000023
【図２２】
2009129134.tif 000024
【図２３】
2009129134.tif 000025