(57)【要約】【課題】  ストレージ・パフォーマンス監視のためにストレージ・エリア・ネットワーク・コンポーネントの組を動的に判断するための装置、システム及び方法を提供すること。【解決手段】  パフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するための装置、システム及び方法が開示される。コンピュータ・プログラムは、各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、予め定められたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視する。組内のＳＡＮコンポーネントによる閾値違反に応答して、ＳＡＮコンポーネントの組の少なくとも１つの属性が変更される。変更された組のＳＡＮコンポーネントは、監視フィードバック・ループの一部として、変更された組内の各々のＳＡＮコンポーネントについての監視データ構造体に従って監視される。【選択図】      図１
2009528585.tif 000002
【特許請求の範囲】
【請求項１】
パフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するためのシステムであって、
ＳＡＮ内の複数のＳＡＮコンポーネントと通信し、かつ、それらの動作を指示するように構成されたストレージ管理モジュールと、
各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、前記ＳＡＮ内の予め定められたＳＡＮコンポーネントの組を監視するように構成されたストレージ監視モジュールと、
前記組内の前記ＳＡＮコンポーネントの１つによる少なくとも１つの閾値違反に応答して、前記ＳＡＮコンポーネントの組の属性を変更し、かつ、前記ストレージ監視モジュールに、前記変更されたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視させるように構成された、フィードバック監視ユーティリティと
を備えるシステム。
【請求項２】
監視履歴情報に基づいて、ＳＡＮコンポーネント分析基準を前記変更されたＳＡＮコンポーネントの組のメンバーに適用し、かつ、分析結果に基づいて応答するように構成された、分析モジュールをさらに備える、請求項１に記載のシステム。
【請求項３】
前記フィードバック監視ユーティリティは、
前記監視データ構造体と関連した接続データ構造体を用いて、前記閾値違反の原因である前記ＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを識別するように構成された決定モジュールと、
前記ＳＡＮコンポーネントの組を修正して、前記識別された１つ又は複数の接続されたＳＡＮコンポーネントを含ませるように構成された修正モジュールと
を含む、請求項１及び請求項２に記載のシステム。
【請求項４】
前記少なくとも１つのＳＡＮコンポーネントは、前記閾値違反の原因である前記ＳＡＮコンポーネントに物理的に接続されている、請求項３に記載のシステム。
【請求項５】
ＳＡＮコンポーネントに照会して、前記閾値違反の原因である前記ＳＡＮコンポーネントに論理的に接続された少なくとも１つのＳＡＮコンポーネントを判断するように構成された検出モジュールをさらに備え、前記少なくとも１つの論理的に接続されたＳＡＮコンポーネントは、前記閾値違反の原因である前記ＳＡＮコンポーネントを含むＳＡＮゾーンのメンバーである、請求項３に記載のシステム。
【請求項６】
動的に焦点が当てられたパフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断する方法であって、
フィードバック監視ユーティリティとターゲットＳＡＮとの間に通信リンクを確立するステップと、
各々が監視データ構造体によって表される、ＳＡＮコンポーネントの組を判断するステップと、
前記組を入力として用いてフィードバック監視ユーティリティを実行するステップであって、前記フィードバック監視ユーティリティは、
各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、前記ＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視し、
前記組内のＳＡＮコンポーネントによる少なくとも１つの閾値違反に応答して、前記ＳＡＮコンポーネントの組の属性を変更し、
前記変更された組内の各々のＳＡＮコンポーネントについての監視データ構造体に従って、前記変更された組のＳＡＮコンポーネントを監視する、
ように構成される、ステップと、
前記フィードバック監視ユーティリティからの情報出力に基づいて、前記ターゲットＳＡＮのＳＡＮ特性を報告するステップと
を含む方法。
【請求項７】
前記ＳＡＮ特性は、ＳＡＮボトルネックに関与するＳＡＮコンポーネントと、十分に利用されていないＳＡＮコンポーネントと、ストレージ容量の限界に近づいているＳＡＮコンポーネントとからなる群から選択される、請求項６に記載の方法。
【請求項８】
前記通信リンクを確立するステップは、前記ターゲットＳＡＮへの遠隔通信リンクを作製するステップを含む、請求項６又は請求項７に記載の方法。
【請求項９】
前記フィードバック監視ユーティリティは、ＳＡＮコンポーネント分析基準に基づいて、前記変更された組のＳＡＮコンポーネントを分析し、かつ、前記ＳＡＮコンポーネント分析基準の結果に基づいて応答するようにさらに構成される、請求項６乃至請求項８のいずれかに記載の方法。
【請求項１０】
コンピュータ・システムにロードされ、そこで実行されるとき、前記コンピュータ・システムに、請求項６乃至請求項９のいずれかに記載の方法の全てのステップを実行させるためのコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストージ・エリア・ネットワーク（ＳＡＮ）の管理に関し、より特定的には、パフォーマンス監視のためにＳＡＮコンポーネントの組を判断することに関する。
【背景技術】
【０００２】
ストレージ・パフォーマンスの管理及び分析は、コンピュータ・ハードウェア、ハードウェア・コントローラ及びソフトウェアの著しい改善をもたらした。ストレージ・パフォーマンスの管理及び分析は、データのＩ／Ｏボトルネック及び十分に利用されていない問題の識別を容易にする。特に、ハードウェア装置、ファームウェア及びハードウェア制御ソフトウェアを監視し、分析することは、大きな技術的進歩をもたらした。そのような進歩の１つが、ストレージ・エリア・ネットワーク（ＳＡＮ）の設計、標準化及び採用である。
【０００３】
ＳＡＮは、多くのサーバ及び多くのストレージ装置を有する企業環境のような大きな組織において用いられることが多い。ＳＡＮは、ディスク・ドライブ、テープ・ドライブ、光ドライブ等のようなストレージ装置が、エンドユーザ・アプリケーション及び／又はデータの格納及び取り出し専用のサーバとストレージ・データを交換するのを可能にする、相互接続されたハードウェア装置の組である。典型的なＳＡＮは、ホスト・バス・アダプタ、ポート、迷路のようなスイッチ（多くの場合、インタースイッチ・リンク（ＩＳＬ）を介して接続される）、視覚化ソリューション、ストレージ・サブシステム・ポート、及びデータを生み出すアプリケーションと実際にデータを格納しているハードウェア・ストレージ装置との間のストレージ・サブシステム・ボリュームの複雑なネットワークを含むことができる。
【０００４】
ストレージ・データは、データ・ストレージ・パスに沿って、ＳＡＮの一方の端部にあるアプリケーションからＳＡＮの他方の端部にあるストレージ装置に伝えられる。典型的には、ＳＡＮの複雑さのために、データがＳＡＮにわたって経路指定されるとき、データ・ストレージ・パスは、各々のＩ／Ｏによって変化する。データ・ストレージ・パスに沿って、種々のＳＡＮコンポーネント及びパラメータは、ストレージ・データが、ＳＡＮを通してどれだけ効率的にかつ成功裏に伝えられるかに影響を及ぼすことがある。全体としてＳＡＮのパフォーマンス監視のことにより、処置を取り、ストレージ・データのボトルネック、又はＳＡＮコンポーネントの利用が不十分であることを回避できるようになる。ＳＡＮへの全ての入口点及び出口点を制御する単一のアプリケーションは存在しないので、アプリケーション・レベルでこのような監視を行うことはできない。従って、ＳＡＮコンポーネントは、ファームウェア、通信ポート及びハードウェア装置レベルで監視される。
【０００５】
残念なことに、ＳＡＮコンポーネントの数が多く、これらのＳＡＮコンポーネントによって生成されるストレージ監視データの容量が大きいため、こうした低レベルでのＳＡＮコンポーネントの監視は、困難になりつつある。収集された監視データの全ては、分析及びトラブルシューティング照会を行うことができるように格納される。残念なことに、収集された監視データの大部分は、特定のボトルネック又は調査されるストレージの管理問題に関連していないことさえある。さらに、ＳＡＮコンポーネントの監視は、ＳＡＮを通して伝えられるストレージＩ／Ｏとの干渉を最小にするような方法で行うべきである。収集されたＳＡＮストレージ・パフォーマンスのデータが多いほど、全体的なＳＡＮパフォーマンスに与えるパフォーマンス監視の影響が大きくなる。最終的には、ＳＡＮコンポーネントのパフォーマンス監視は、一般に、異常としてではなく処置を必要とする問題としてエラー状態を検出できるように、何日間にもわたる監視を必要とする。
【０００６】
典型的なＳＡＮにおける全てのＳＡＮコンポーネントを監視することによって生成された全ての監視データを収集し、格納することができたとしても、そのような大容量のデータを分析するのは困難である。ＳＡＮ及びその構成要素コンポーネントの複雑さにより、分析者が、因果関係を判断し、問題を改善するために処置を取り得るようにすることが困難になる。困難の一部は、正常なパフォーマンス・データと異常なパフォーマンス・データを区別することにある。監視の閾値を設定し、その閾値を超えることが多いが、作動の文脈は、閾値を超える活動が正常であることを示す。こうした低レベルでの監視は、多くの場合、監視されるイベントに関連する文脈上の情報が失われることを意味する。このことは、ＳＡＮにおけるパフォーマンス監視タスクをさらに複雑にする。
【０００７】
従って、ＳＡＮのオペレータ及び管理者は、どのＳＡＮコンポーネントを監視するかの判断を選択的なものにしなければならない、その結果、監視されるＳＡＮコンポーネントの組の定義において、パフォーマンスの結果に関与した一部のＳＡＮコンポーネントが見逃される心配があるため、このように手作業で定められたＳＡＮコンポーネントの監視の結果は、疑わしいものとなる。
【０００８】
さらに、ＳＡＮの構成は、一般的に、非常に動的なものである。ＳＡＮに接続されたハードウェア及びソフトウェア・デバイス、又はＳＡＮのメンバーは、日ごとに非常に急速に変化し得る。このような動的環境は、監視のためにＳＡＮコンポーネントの組の手作業による定義を絶えず更新することを要求する。ＳＡＮコンポーネントの検出を自動化するストレージ管理システムでさえ、分析及び問題解決を実行可能にするために、十分な期間、十分なＳＡＮコンポーネントから十分なデータを適切に収集する能力の不足に悩まされる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記の説明から、ストレージのパフォーマンス監視の際に含ませられるストレージ・エリア・ネットワーク・コンポーネントの組を動的に判断する装置、システム及び方法に対する必要性が存在することは明らかである。有利なことに、このような装置、システム及び方法は、監視されるＳＡＮコンポーネントの組のメンバー、及び／又は、組内のＳＡＮコンポーネントの各々と関連した監視属性を動的に調整する。このような装置、システム及び方法は、監視履歴情報に基づいて、組のどのメンバーがより詳細な分析に値するのかを判断し、問題領域を特定する。
【課題を解決するための手段】
【００１０】
従って、本発明は、第１の態様において、ＳＡＮ内の複数のＳＡＮコンポーネントと通信し、その動作を指示するように構成されたストレージ管理モジュールと、各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、ＳＡＮ内の予め定められたＳＡＮコンポーネントの組を監視するように構成されたストレージ監視モジュールと、組内のＳＡＮコンポーネントの１つによる少なくとも１つの閾値違反に応答して、ＳＡＮコンポーネントの組の属性を変更するように構成され、かつ、ストレージ監視モジュールに、変更されたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視させるように構成されたフィードバック監視ユーティリティとを含む、パフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するためのシステムを提供する。
【００１１】
このシステムは、監視履歴情報に基づいて、ＳＡＮコンポーネント分析基準をＳＡＮコンポーネントの変更された組のメンバーに適用するように構成され、かつ、分析結果に基づいて応答するように構成された分析モジュールをさらに含むことが好ましい。
【００１２】
フィードバック監視ユーティリティは、監視データ構造体と関連した接続性データ構造体を用いて、閾値違反の原因であるＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを識別するように構成された判断モジュールと、ＳＡＮコンポーネントの組を修正して、識別された１つ又は複数の接続されたＳＡＮコンポーネントを含ませるように構成された修正モジュールとを含むことが好ましい。
【００１３】
少なくとも１つのＳＡＮコンポーネントは、閾値違反の原因であるＳＡＮコンポーネントに物理的に接続されていることが好ましい。
【００１４】
システムは、ＳＡＮコンポーネントに照会して、閾値違反の原因であるＳＡＮコンポーネントに論理的に接続された少なくとも１つのＳＡＮコンポーネントを判断するように構成された検出モジュールを更に含み、少なくとも１つの論理的に接続されたＳＡＮコンポーネントは、閾値違反の原因であるＳＡＮコンポーネントを含むＳＡＮゾーンのメンバーであることが好ましい。
【００１５】
フィードバック監視ユーティリティは、ＳＡＮコンポーネントの組と関連した少なくとも１つの監視データ構造体の少なくとも１つの監視属性を変更し、閾値違反の頻度が変わるようの構成されることが好ましい。
【００１６】
第２の態様においては、フィードバック監視ユーティリティとターゲットＳＡＮとの間に通信リンクを確立するステップと、各々が監視データ構造体によって表されるＳＡＮコンポーネントの組を判断するステップと、組を入力として用いてフィードバック監視ユーティリティを実行するステップであって、フィードバック監視ユーティリティは、各々のＳＡＮコンポーネントと関連した監視データ構造体に従ってＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視し、組内のＳＡＮコンポーネントによる少なくとも１つの閾値違反に応答して、ＳＡＮコンポーネントの組の属性を変更し、変更された組内の各々のＳＡＮコンポーネントについての監視データ構造体に従って、変更された組のＳＡＮコンポーネントを監視するように構成されるステップと、フィードバック監視ユーティリティからの情報出力に基づいて、ターゲットＳＡＮの特性を報告するステップとを含む、動的に焦点が当てられたパフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断する方法が提供される。
【００１７】
ＳＡＮ特性は、ＳＡＮボトルネックに関与するＳＡＮコンポーネントと、十分に利用されていないＳＡＮコンポーネントと、ストレージ容量の限界に近づいているＳＡＮコンポーネントとからなる群から選択されることが好ましい。
【００１８】
通信リンクを確立するステップは、ターゲットＳＡＮへの遠隔通信リンクを作製するステップを含むことが好ましい。
【００１９】
フィードバック監視ユーティリティは、ＳＡＮコンポーネント分析基準に基づいて、変更された組のＳＡＮコンポーネントを分析し、かつ、ＳＡＮコンポーネント分析基準の結果に基づいて応答するように、さらに構成されることが好ましい。
【００２０】
ＳＡＮコンポーネントの組を判断するステップは、ユーザによるＳＡＮコンポーネントの指定を含むことが好ましい。
【００２１】
ＳＡＮコンポーネントの組を判断するステップは、ターゲットＳＡＮを走査して作動可能なＳＡＮコンポーネントを探し、作動可能なＳＡＮコンポーネントを組に付加するステップを含むことが好ましい。
【００２２】
フィードバック監視ユーティリティは、閾値違反の原因であるＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを判断し、ＳＡＮコンポーネントの組を、判断された１つ又は複数の接続されたＳＡＮコンポーネントを含ませるように修正するように構成されることが好ましい。
【００２３】
１つ又は複数のＳＡＮコンポーネントは、閾値違反の原因であるＳＡＮコンポーネントに論理的に接続されていることが好ましい。
【００２４】
第３の態様において、コンピュータ・システムにロードされ、そこで実行されたとき、コンピュータ・システムに第２の態様による方法の全てのステップを実行させるためのコンピュータ・プログラム・コードを含むコンピュータ・プログラムが提供される。
【００２５】
本発明の幾つかの実施形態は、当技術分野の現在の状態に応答して、特に、現在のところ利用可能なストレージ・パフォーマンス監視システムによって、まだ完全には解決されていない、当技術分野における問題及び必要性に応答して開発されてきた。従って、本発明の好ましい実施形態は、上述の当技術分野における欠点の多く又は全てを克服するパフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するための装置、システム及び方法を提供するために開発された。
【００２６】
パフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するためのシステムには、ＳＡＮコンポーネントの組に対する属性の修正を判断するための必要な操作を機能的に実行するように構成された複数のモジュールを含む論理ユニットが設けられることが好ましい。説明される実施形態におけるこれらのモジュールは、ストレージ管理モジュールと、ストレージ監視モジュールと、フィードバック監視ユーティリティとを含む。随意的に、論理ユニットは、分析モジュールと、判別モジュールと、修正モジュールと、検出モジュールとを含むことができる。
【００２７】
ストレージ管理モジュールは、ＳＡＮ内の複数のＳＡＮコンポーネントと通信し、かつそれを指示するように構成されることが好ましい。ストレージ監視モジュールは、各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、ＳＡＮ内の予め定められたＳＡＮコンポーネントの組を監視するように構成されることが好ましい。フィードバック監視ユーティリティは、ＳＡＮコンポーネントの組内のＳＡＮコンポーネントの１つによる少なくとも１つの閾値違反に応答して、ＳＡＮコンポーネントの組の属性を変更し、かつ、ストレージ監視モジュールに、変更されたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視させる。フィードバック監視ユーティリティは、ＳＡＮコンポーネントの組のメンバーシップを変更し、及び／又は、ＳＡＮコンポーネントの組と関連した少なくとも１つの監視データ構造体の少なくとも１つの監視属性を変更し、閾値違反の頻度が変更されるようにすることができる。
【００２８】
さらに、随意的な分析モジュールは、監視履歴情報に基づいて、ＳＡＮコンポーネント分析基準を変更されたＳＡＮコンポーネントの組のメンバーに適用し、分析結果に基づいて応答することができる。特定の実施形態においては、決定モジュールは、閾値違反の原因であるＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを識別する。接続は、物理的なものあってもよく、又は論理的なものであってもよい。修正モジュールは、ＳＡＮコンポーネントの組を修正して、識別された１つ又は複数の接続されたＳＡＮコンポーネントを含ませることができる。検出モジュールは、ＳＡＮコンポーネントに照会し、閾値違反の原因であるＳＡＮコンポーネントに論理的に接続された少なくとも１つのＳＡＮコンポーネントを判断することができ、少なくとも１つの論理的に接続されたＳＡＮコンポーネントは、閾値違反の原因であるＳＡＮコンポーネントを含むＳＡＮゾーンのメンバーである。
【００２９】
更に別の実施形態において、本発明の作動は、各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、予め定められたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視するステップと、組内のＳＡＮコンポーネントによる少なくとも１つの閾値違反に応答して、ＳＡＮコンポーネントの組の属性を変更するステップと、変更された組内の各々のＳＡＮコンポーネントについての監視データ構造体に従って、変更された組のＳＡＮコンポーネントを監視するステップとを含むことができる。
【００３０】
特徴、利点、又は類似した語に対する本明細書全体の言及は、本発明によって実現できる特徴及び利点の全てが本発明のいずれかの単一の実施形態の中に存在すべきであること、又は、存在することを意味するものではない。むしろ、特徴及び利点に言及する語は、ある実施形態と関連して説明される特定の特徴、利点、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味するものと理解される。したがって、本明細書全体にわたる特徴及び利点並びに類似した語の説明が、必ずしもそうであるわけではないが、同じ実施形態を指す場合がある。
【００３１】
さらに、本発明の好ましい実施形態の説明される特徴、利点、及び特性は、１つ又は複数の実施形態においていずれかの適切な方法で組み合わせることができる。当業者であれば、本発明は、特定の実施形態の特定の特徴、又は利点のうちの１つ又は複数を用いることなく実施できることが分かるであろう。他の場合には、本発明の全ての実施形態に存在するわけではない特定の実施形態において、付加的な特徴及び利点を認識することができる。
【００３２】
本発明のこれらの特徴及び利点は、以下の説明及び特許請求の範囲からより完全に明らかとなるか、又は、以下に記載される本発明の実施によって知ることかできるであろう。
【発明を実施するための最良の形態】
【００３３】
ここで、添付の図面を参照して、本発明の好ましい実施形態が、ほんの一例として説明される。
【００３４】
本明細書において説明される機能ユニットの多くは、それらの実装独立性をより著しく強調するために、モジュールと表記されている。例えば、モジュールは、カスタムＶＬＳＩ回路若しくはゲート・アレイを含むハードウェア回路、論理チップなどの既製の半導体、トランジスタ、又は他の別個のコンポーネントとして実装することができる。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理装置等のようなプログラム可能なハードウェア装置に実装することもできる。
【００３５】
モジュールは、種々のタイプのプロセッサによって実行するためのソフトウェアに実装することもできる。例えば、実行可能コードの識別モジュールは、例えば、オブジェクト、手順、又は機能として編成することができる、コンピュータ命令の１つ又は複数の物理的ブロック又は論理ブロックを含むことができる。それにもかかわらず、識別モジュールの実行ファイルは、物理的に一緒に配置する必要はなく、論理的に結合されたときにモジュールを含み、該モジュールのための前述の目的を達成する、異なる場所に格納された別々の命令を含むことができる。
【００３６】
実際には、実行可能コードのモジュールは、単一の命令若しくは多数の命令とすることができ、又は、幾つかの異なるコード・セグメントにわたって、異なるプログラムの間で、及び幾つかの記憶装置間にわたって、分散させることさえできる。同様に、動作データは、本明細書においてはモジュール内で特定して示すことができ、いずれかの適切な形態で組み込み、いずれかの適切なタイプのデータ構造体内で編成することができる。動作データは、単一のデータ・セットとしてまとめるか、又は異なる記憶装置を含む、異なる場所にわたって分散させることができ、単なるシステム又はネットワーク上の電気信号として、少なくとも部分的に存在することができる。
【００３７】
さらに、本発明の好ましい実施形態の説明される特徴、構造、又は特性は、１つ又は複数の実施形態においていずれかの適切な方法で組み合わせることができる。以下の説明においては、本発明の実施形態の完全な理解をもたらすために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップ等の例といった多数の特定の詳細が提供される。しかしながら、当業者であれば、特定の詳細の１つ又は複数を用いることなく、又は、他の方法、コンポーネント、材料等を用いて、本発明の好ましい実施形態を実施できることが分かるであろう。他の場合には、本発明の好ましい実施形態の態様を不明瞭なものにしないように、周知の構造、材料、又は動作は、示すことも、又は詳細に説明することもない。
【００３８】
ここに記載される概略的なフロー・チャート図は、一般に、論理フロー・チャート図として記載される。従って、示される順序及び表記されるステップは、本方法の一実施形態を示すものである。機能、論理、又は効果が、示される方法の１つ又は複数のステップ或いはその一部と同等な他のステップ及び方法を、着想することができる。さらに、使用される形式及び記号は、この方法の論理ステップを説明するために与えられるものであり、本方法の範囲を制限するものではないことが理解される。フロー・チャート図には、種々の矢印のタイプ及び線のタイプが使用される場合があるが、これらは、対応する方法の範囲を制限するものではないことが理解される。実際には、幾つかの矢印又は他のコネクタを用いて、本方法の論理フローのみを示すことができる。例えば、矢印は、示される方法の列挙されたステップ間の不特定な継続時間の待ち時間又は監視時間を示すことができる。さらに、特定の方法を行う順序は、示される対応ステップの順序に厳密に順守してもしなくてもよい。
【００３９】
図１は、パフォーマンス監視のためにストレージ・エリア・ネットワーク（「ＳＡＮ」）コンポーネントの組を動的に判断するためのシステム１００を示す概略的なブロック図である。システム１００は、ストレージ・エリア・ネットワーク（「ＳＡＮ」）１０２と、コンピュータ１０４とを含む。ＳＡＮ１０２は、Ｉｎｔｅｒｎｅｔ  Ｓａｍｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（ｉＳＣＳＩ）及び／又はファイバー・チャネルのような共通のＳＡＮプロトコルを実装するための適切なハードウェアを含む。コンピュータ１０４は、プロセッサ１０６と、メモリ１０８とを含む。メモリ１０８は、ＳＡＮコンポーネントを監視することができるストレージ管理モジュール１１０を含み、後の図面で説明される。ＳＡＮ１０２は、少なくとも１つのデータ・ストレージ装置１１２に接続されるが、他のＳＡＮコンポーネント、ストレージ・サブシステム、及び仮想テープ・サーバ（「ＶＴＳ」）１１４、又はＩＢＭ（登録商標）からのＥｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（登録商標）（「ＥＳＳ」）１１６のようなシステムを含むこともできる。ＳＡＮ１０２は、ホスト１１８又は他のネットワーク可能装置に接続することもできる。
【００４０】
ホスト１１８は、インターネット１２２を通して１つ又は複数のコンピュータ１２０に接続することができ、又はローカル・エリア・ネットワーク１３０を通して、ワークステーション１２４、パーソナル・コンピュータ１２６、プリンタ１２８等の装置に接続することができる。ストレージ管理モジュール１１０を有するコンピュータ１０４はまた、ローカル・エリア・ネットワーク（「ＬＡＮ」）１３０、及び／又はインターネット１２２に接続することもできる。ストレージ管理モジュール１１０は、ホスト１１８、インターネット１２２にアクセスできるコンピュータ１２０、データ・ストレージ装置１１２、ＶＴＳ１１４、ＥＳＳ１１６、又はＳＡＮ１０２にアクセスできるローカル・エリア・ネットワーク１３０上の他の装置といった、有線で又は無線でＳＡＮ１０２にアクセスできるいずれかの装置又はコンピュータ上に常駐することができる。ストレージ管理モジュール１１０は、単一のコンピュータ又は装置上で実行することができ、或いは複数のコンピュータ装置の間で分散させることができる。
【００４１】
図１はまた、特定の入力／出力（Ｉ／Ｏ）データ・パケットについてのデータ・ストレージ・パスを追跡することに伴う複雑さも示している。上述のように、ＳＡＮ１０２のハードウェア・コンポーネント及びソフトウェア・コンポーネントが相互接続され、ＳＡＮ１０２の一方の側から他方の側に多くのパスが存在するので、ＳＡＮ１０２は、ＬＡＮ１３０及びインターネット１２２と同様に、星雲状のものとして示される。述べられたように、ＳＡＮ１０２は、ホスト１１８又はコンピュータ１２６、１０４上で実行されているストレージ・サーバに接続される種々のルータ、スイッチ、ハブ、ホスト・バス・アダプタ等を含むことができる。多くのハードウェア装置は、種々のサブシステムと、装置、システム及びサブシステム上のポートとを含む。例えば、典型的なスイッチは、約３２個のスイッチ・ポートを含む。相互接続されたＳＡＮ装置は、ＳＡＮ１０２内のコンポーネントの故障があった場合でも、ストレージ・データ・パケットが宛先に成功裡に送付されることを保証する冗長性を提供する。ここで用いられる「ＳＡＮコンポーネント」という用語は、スイッチ、サーバ、アプリケーション、ルータ、テープ・ライブラリ、ストレージ装置、ホスト・バス・アダプタ、アレイ・コントローラ、及びＳＡＮ１０２と関連した同様のものを含む、ＳＡＮ１０２内に見出される、又はＳＡＮ１０２のメンバーに接続される、いずれかの仮想の又は物理的なハードウェア装置又はソフトウェア装置、システム、若しくはサブシステムを意味する。
【００４２】
データ・ストレージ・パスは、送信元と宛先との間のストレージ・データ・メッセージの転送を開始する、完了する、又はこれに関与するＳＡＮコンポーネントのコレクションである。図１を参照すると、例示的なデータ・ストレージ・パスは、データ・ストレージの書き込みメッセージをデータ・ストレージ装置１１２に送る、パーソナル・コンピュータ１２６上で実行されているアプリケーション（図示せず）を含むことができる。例示的なデータ・ストレージ・パスは、書き込みメッセージを転送するＬＡＮ１３０内に、書き込みメッセージが通るパーソナル・コンピュータのポート、及びルータ及び／又はスイッチ（図示せず）、並びにそれらのポートを含む。例示的なデータ・ストレージ・パスは、ホスト１１８と、ホスト１１８上のポートと、ホスト１１８によって管理されるホスト・バス・アダプタ（図示せず）とをさらに含むことができる。例示的なデータ・ストレージ・パスは、ＳＡＮ１０２と、ＳＡＮ１０２内のスイッチ上のポートと、ＳＡＮ１０２に接続されたストレージ・サブシステム又はストレージ・コントローラのポート及びボリュームとをさらに含むことができる。
【００４３】
その結果、単一のデータ・ストレージ・パスは、典型的には、多数の装置、ポート、ファームウェア、ソフトウェア等を含む。データ・ストレージ・パスのＳＡＮコンポーネントは、物理的に接続され、例えば、ＳＡＮゾーン内の他のＳＡＮコンポーネントと論理的に関連付けることもできる。ここで用いられる「物理的に接続される」及び「物理的接続」という用語は、送信元ＳＡＮコンポーネントと宛先ＳＡＮコンポーネントとの間の直接的な通信リンクを含む。直接的な通信リンクは、有線のものであっても、又は無線のものであってもよい。
【００４４】
ＳＡＮ１０２は、物理的に又は論理的にゾーン（図示せず）に分割することができる。ＳＡＮゾーン内のＳＡＮコンポーネントは、特定のデータ・ストレージ・パスには直接関与しないこともあるが、同じ送信元アプリケーション又は装置からの後続のデータ・ストレージ・パスに関与することもある。これらのＳＡＮコンポーネントは、ここでは「論理的に接続される」と言われる。
【００４５】
ゾーンは、ＳＡＮ１０２内の物理的に及び／又は論理的に分離したグループに編成された、ＳＡＮコンポーネント、スイッチ、ポート等のコレクションを含む。ゾーンは、ＳＡＮ１０２への入口点及びＳＡＮ１０２からの出口点、ＳＡＮ内のスイッチの数及び／又はタイプ、ＳＡＮ１０２内の特定の装置のユーザの優先順位等といった種々の基準に基づいて編成することができる。安全目的のため、リソースを共有するため、アクセスを容易にするため、パフォーマンスを向上させるなどのために、ゾーン分け（zoning）を行うことができる。ゾーンの各々のメンバーは、他のＳＡＮコンポーネント・メンバーの各々に論理的に接続される。単一のスイッチ上にある２つのポートが、異なるＳＡＮゾーンに属することもある。
【００４６】
図２は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断するためのシステム２００を示す。ここで用いられる「動的に」という用語は、助け、入力、支援、又はユーザ、オペレータ等が出すコマンドなしに、関連した機能が実行されることを意味する。有利なことに、システム２００は、パフォーマンス監視に関与するＳＡＮコンポーネントの組の設定された属性を動的に調整するだけでなく、組の属性を動的に判断する。システム２００は、ストレージ管理モジュール１１０と、ストレージ監視モジュール２０２と、フィードバック監視ユーティリティ２０４とを含む。システム２００は、パフォーマンスが監視されるＳＡＮコンポーネントの組内にどのＳＡＮコンポーネントを含ませるかを動的に判断するように構成される。有利なことに、システム２００は、監視フィードバック・ループ２０６を実装し、監視されるＳＡＮコンポーネントの組が動的に変わるようにする。
【００４７】
一実施形態におけるストレージ管理モジュール１１０は、ＳＡＮ１０２内の複数のＳＡＮコンポーネントと通信し、その動作を指示するように構成される。本発明と共に用いるのに適したストレージ管理モジュール１１０の一例は、ニューヨーク州アーモンク所在のＩＢＭ社から入手可能なＴｏｔａｌＳｔｏｒａｇｅ（登録商標）Ｐｒｏｄｕｃｔｉｖｉｔｙ  Ｃｅｎｔｅｒ（ＴＰＣ）である。ストレージ管理モジュール１１０は、ＳＡＮ１０２の編成、動作、利用、可用性、計画、及びパフォーマンスを助けるための様々な管理機能を含む。当業者であれば、ストレージ管理モジュール１１０は、その管理機能の全てを実行するためにより多くの又はより少ないモジュールを含み得ること、及び、本発明の好ましい実施形態の態様及びモジュールを明瞭にするために、特定の機能モジュールが省略されていることを認識するであろう。
【００４８】
ストレージ監視モジュール２０２は、ＳＡＮ１０２内の特定のＳＡＮコンポーネントのパフォーマンスを監視する。一実施形態においては、ストレージ監視モジュール２０２は、予め定められたＳＡＮコンポーネントの組２０８を監視するように構成される。企業におけるような典型的なＳＡＮ１０２は、パフォーマンスを監視することができる何百何千ものＳＡＮコンポーネントを含むことができる。収集され、監視されるデータ量を管理可能なレベルに低減させることができるので、予め定められたＳＡＮコンポーネントの組２０８を監視することには有利である。予め定められたＳＡＮコンポーネントの組２０８は、単一のＳＡＮコンポーネントを含むことができる。勿論、予め定められたＳＡＮコンポーネントの組２０８は、ＳＡＮ１０２の全てのＳＡＮコンポーネント、又はＳＡＮ１０２のＳＡＮコンポーネントのサブセットを含むこともできる。
【００４９】
一実施形態においては、ストレージ監視モジュール２０２は、監視される各々のＳＡＮコンポーネントと関連した監視構成データに基づいて構成され、開始され、再設定され、及び／又はトリガされる、種々の監視機能を含む。監視構成データは、監視されるＳＡＮコンポーネント活動のタイプ、及び、そのタイプのＳＡＮコンポーネント活動の境界を定める。
【００５０】
一実施形態においては、監視データ構造体が、監視構成データを格納する。当業者であれば、監視データ構造体が、種々の形態、形式及び構成を持ち得ることを認識する。例えば、監視データ構造体は、永続型ストレージ又は非永続型ストレージ内にオブジェクト、記録、ファイル、表、アレイ、リンクリスト等を含むことができる。
【００５１】
一実施形態においては、単一の監視データ構造体は、単一のＳＡＮコンポーネントに関連する。ストレージ監視モジュール２０２は、監視構成データを用いて、関連したＳＡＮコンポーネントに関する監視サービスを開始する。監視サービスは、データＩ／Ｏ処理量、Ｉ／Ｏ効率、Ｉ／Ｏエラー、Ｉ／Ｏ完全性エラー、Ｉ／Ｏ可用性、Ｉ／Ｏ使用率、ストレージ容量、ストレージ使用率等といった、各々のＳＡＮコンポーネントに関係する種々の特性を監視することができる。
【００５２】
監視される特性の各々は、閾値又は設定を含むことができる。増減によって、監視されるＳＡＮコンポーネントにおけるＩ／Ｏ活動が閾値又は設定を超えた場合、ストレージ監視モジュール２０２により、閾値違反２１０のようなイベントが検出される。場合によっては、閾値又は設定は、単に監視基準を満たすことだけを含むことがある。言い換えれば、監視条件（即ち、装置のオフライン）が一回生じることにより、閾値違反２１０がトリガされることがある。閾値違反２１０は、単に、監視される特性が閾値を超えたことを示すにすぎない。閾値違反２１０が問題であるかどうかは、文脈によって決まる。典型的には、ＳＡＮの動的性質のために、閾値違反２１０は、異なるＳＡＮコンポーネントについて異なる割合で生じ、アプリケーション、ストレージ・サーバ及びストレージ装置１１２の間で渡す動作のタイプに影響される。
【００５３】
一実施形態においては、予め定められたＳＡＮコンポーネントの組２０８は、システム管理者などのユーザにより手作業で定められる。代替的に、ストレージ管理モジュール１１０は、ＳＡＮコンポーネントの組２０８を自動的に生成するように構成される。例えば、ユーザ入力、又は定められていないＳＡＮコンポーネントの組２０８に応答して、ストレージ管理モジュール１１０又はストレージ監視モジュール２０２は、ＳＡＮコンポーネントを求めて、ＳＡＮを自動的に走査することができる。ＳＡＮの走査結果は、予め定められたＳＡＮコンポーネントの組を定めるのに用いられるＳＡＮコンポーネントの識別子を含むことができる。ＳＡＮ走査結果内のＳＡＮコンポーネントの全て又はサブセットを、予め定められた組２０８内に含ませることができる。別の実施形態においては、ユーザは、予め定められたＳＡＮコンポーネントの組２０８を定めるように、自動的に生成されたＳＡＮコンポーネントの組を修正する。
【００５４】
ここで「ＳＡＮコンポーネントの組（SAN component set）」又は「ＳＡＮコンポーネントの組（set ofSAN component）」とも呼ばれる、予め定められたＳＡＮコンポーネントの組は、ストレージ監視モジュール２０２によるパフォーマンス監視のために指定されたＳＡＮコンポーネントの組である。一実施形態においては、予め定められたＳＡＮコンポーネントの組２０８は、各々が各ＳＡＮコンポーネントと関連付けられた監視データ構造体のコレクションである。ストレージ監視モジュール２０２は、監視データ構造体を、自動的に、又は、例えばユーザ・インターフェースを用いるユーザの助けを借りて、ポピュレートすることができる。
【００５５】
代替的な実施形態においては、予め定められたＳＡＮコンポーネントの組２０８は、監視されるＳＡＮコンポーネントについての識別子を含む。各々のＳＡＮコンポーネントを監視する方法の詳細を取り出し、及び／又は、関連する監視情報についてＳＡＮコンポーネントに質問するために、識別子を用いることができる。当業者であれば、予め定められたＳＡＮコンポーネントの組２０８を実装できる他の方法を認識するであろう。
【００５６】
典型的には、閾値違反２１０は、違反のタイムスタンプ、原因であるＳＡＮコンポーネントの識別子等のような違反の文脈についての詳細を含む。この違反情報は、データ構造体に格納することができる。ストレージ監視モジュール２０２は、違反の詳細を有するデータ構造体、又はそれへのポインタを渡すことによって、閾値違反２１０をフィードバック監視ユーティリティ２０４に知らせることができる。
【００５７】
フィードバック監視ユーティリティ２０４は、閾値違反２１０に応答して、ＳＡＮコンポーネントの組２０８の属性を変更する。さらに、フィードバック監視ユーティリティ２０４は、一実施形態において、変更されたＳＡＮコンポーネントの組２１２のＳＡＮコンポーネントを監視するよう、ストレージ監視モジュール２０２に指示する。次いで、有利なことに、予め定められたＳＡＮコンポーネントの組２０８に代わりに、変更されたＳＡＮコンポーネントの組２１２のＳＡＮコンポーネントが監視される。
【００５８】
少なくとも１つの閾値違反２１０に基づいて予め定められたＳＡＮコンポーネントの組２０８の属性を変更するフィードバック監視ユーティリティ２０４の能力が、監視フィードバック・ループ２０６を定める。監視フィードバック・ループ２０６は、ＳＡＮ１０２が実際に使用される方法に応答して、監視される予め定められたＳＡＮコンポーネントの組２０８を動的に修正することを可能にする。次に、変更されたＳＡＮコンポーネントの組２１２は、パフォーマンス監視を停止することにより、又はユーザの介入により、プロセスが中断されるまで、監視フィードバック・ループ２０６を繰り返し続ける。分析基準及び閾値違反２１０の性質によって、変更されたＳＡＮコンポーネントの組２１２のサイクルが、変更されたＳＡＮコンポーネントの組２１２の属性への何らかの変更をもたらすことも、又はもたらさないこともある。
【００５９】
フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネントを組２０８のメンバーとして除去すること、ＳＡＮコンポーネントの組２０８の現在のメンバーの監視属性を変更すること、ＳＡＮコンポーネントを組２０８のメンバーとして付加することなどを含む、ＳＡＮコンポーネントの組２０８の種々の属性を変更することができる。一実施形態においては、フィードバック監視ユーティリティ２０４は、違反分析基準を閾値違反２１０に適用する。違反分析基準は、ユーザ定義のもの、及びユーザ構成可能なものにすることができる。違反分析基準は、閾値違反２１０に応答して、ＳＡＮコンポーネントの組２０８の特定の属性に対してなされる変更のタイプを定める。違反分析基準は、特定のタイプの閾値違反２１０、閾値違反２１０に関する履歴情報などに関連することができる。
【００６０】
例えば、ＳＡＮコンポーネントの組２０８は、１６個のスイッチと、それらの関連したポートとを含むことができる。閾値違反２１０が特定のスイッチ内のスイッチ・ポートについて生じた場合には、フィードバック監視ユーティリティ２０４は、組２０８のメンバーシップを変更して、変更されたＳＡＮコンポーネントの組２１２が特定のスイッチ及び特定のスイッチ上のポートだけを含むことを、違反分析基準が指示することができる。変更されたＳＡＮコンポーネントの組２１２は、今や単一のスイッチ及びそのポートを含むので、ストレージ監視モジュール２０２の監視タスクは、大幅に低減される（１６個のスイッチ及びポートから１個のスイッチ及びポートに）。
【００６１】
付加的に又は代替的に、フィードバック監視ユーティリティ２０４は、違反分析基準を含むことができ、この違反分析基準により、該フィードバック監視ユーティリティ２０４が、ＳＡＮコンポーネントの組２０８に、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを付加させる。このように、ストレージ監視モジュール２０２への変更されたＳＡＮコンポーネントの組２１２の入力により、他の潜在的に問題のあるＳＡＮコンポーネントが含まれるようになることがある。フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネントの組２０８に直接アクセスし、これを変更して、変更されたＳＡＮコンポーネントの組２１２を形成することができる。ＳＡＮコンポーネントの組２０８の属性を変更することによって、フィードバック監視ユーティリティ２０４は、監視フィードバック・ループ２０６を動的に変更し、ストレージ監視モジュール２０２によって行われるストレージ・パフォーマンスの監視の対象（focus）を制限し、拡大し、又はシフトさせる。
【００６２】
一実施形態においては、変更されたＳＡＮコンポーネントの組２１２をストレージ監視モジュール２０２に与える前に、フィードバック監視ユーティリティ２０４は、変更されたＳＡＮコンポーネントの組２１２を分析モジュール２１４に渡す。代替的に、フィードバック監視ユーティリティ２０４は、変更されたＳＡＮコンポーネントの組２１２のコピーを分析モジュール２１４に渡す。別の実施形態においては、フィードバック監視ユーティリティ２０４が、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを付加した場合、フィードバック監視ユーティリティ２０４は、原因であるＳＡＮコンポーネントだけ、又は原因であるＳＡＮコンポーネントに物理的に接続されているＳＡＮコンポーネントだけを、分析モジュール２１４に渡すことができる。
【００６３】
分析モジュール２１４は、ＳＡＮコンポーネント分析基準を用いて、変更されたＳＡＮコンポーネントの組２１２のメンバーの分析を行う。代替的に、分析モジュール２１４は、監視履歴情報に基づいて、フィードバック監視ユーティリティ２０４によってマーク付けされた変更されたＳＡＮコンポーネントの組２１２のメンバーの分析を行う。監視履歴情報は、例えば、特定のＳＡＮコンポーネントについての閾値違反２１０の勘定（tally）、閾値違反の頻度等を含むことができる。
【００６４】
一実施形態においては、分析モジュール２１４は、ＳＡＮコンポーネント分析基準を用いて、閾値違反２１０の原因である１つ又は複数のＳＡＮコンポーネントに関連する分析を行う。ＳＡＮコンポーネント分析基準は、具体的には、特定のＳＡＮコンポーネント、又はＳＡＮコンポーネントのタイプに関連することができる。ＳＡＮコンポーネント分析基準は、フィードバック監視ユーティリティ２０４から受け取ったＳＡＮコンポーネントに対して行われる付加的なテスト又は照会を含むことができる。ＳＡＮコンポーネント分析基準を適用した結果に基づいて、分析モジュール２１４は、処置を取るか、又は適切な応答をトリガする。
【００６５】
一実施形態においては、分析モジュール２１４は通知を出し、システム管理者に、潜在的な問題を警告することができる。別の実施形態においては、分析モジュール２１４は、変更されたＳＡＮコンポーネントの組２１２内のＳＡＮコンポーネントのメンバーシップをさらに増減させることができる。別の実施形態においては、ＳＡＮコンポーネント分析基準の結果が、処置を取らないことを示すこともある。当業者であれば、分析モジュール２１４が、ＳＡＮコンポーネント分析基準の結果に応答してトリガできる種々の他の処置及び／又は応答を認識するであろう。
【００６６】
図３は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断するための装置３００の一実施形態を示す概略的なブロック図である。装置３００は、閾値違反２１０を受け取り、図２に関して説明されたものと実質的に同じように機能する、フィードバック監視ユーティリティ２０４を含む。フィードバック監視ユーティリティ２０４は、キャプチャ・モジュール３０２と、フィードバック・モジュール３０４と、組属性変更モジュール３０６とを含む。
【００６７】
キャプチャ・モジュール３０２は、ストレージ監視モジュール２０２から閾値違反２１０を受け取る。一実施形態においては、閾値違反２１０は、キャプチャ・モジュール３０２が受け取り、処理した閾値違反データ構造体に編成されたデータの組である。閾値違反データ構造体は、閾値違反についてのタイムスタンプ、ＳＡＮ装置及び／又はＳＡＮコンポーネントについての識別子、違反した閾値のタイプ、データを収集した時間間隔などの情報を含む。別の実施形態においては、閾値違反データ構造体に格納された情報を組み合わせて、各々のＳＡＮコンポーネントと関連した監視データ構造体にすることができる。
【００６８】
特定の実施形態においては、ストレージ監視モジュール２０２は、ＳＡＮコンポーネントの組２０８、又は変更されたＳＡＮコンポーネントの組２１２についての全ての閾値違反２１０をキャプチャ・モジュール３０２に送る。キャプチャ・モジュール３０２は、閾値違反２１０をキューに入れることができる。フィードバック監視ユーティリティ２０４が定期的に動作し、変更されたＳＡＮコンポーネントの組２１２に対して繰り返し変更が行われることを監視する際のオーバーヘッドを低減する場合、閾値違反２１０をキューに入れることは有利である。
【００６９】
フィードバック・モジュール３０４は、ストレージ監視モジュール２０２に、変更されたＳＡＮコンポーネントの組２１２のＳＡＮコンポーネントを監視させる。当業者であれば、フィードバック・モジュール３０４が、変更されたＳＡＮコンポーネントの組２１２を入力として、又は予め定められたＳＡＮコンポーネントの組２０８の代わりに用いるように、ストレージ監視モジュール２０２に指示できる種々の方法を認識する。例えば、フィードバック・モジュール３０４は、予め定められたＳＡＮコンポーネントの組２０８を直接定めるデータ構造体又はリポジトリを変更することができる。一実施形態においては、予め定められたＳＡＮコンポーネントの組２０８を変更することは、付加されるＳＡＮコンポーネント、又は予め定められたＳＡＮコンポーネントの組２０８から除去されるＳＡＮコンポーネントに関連する監視データ構造体を付加又は除去することを含むことができる。新たに付加されるＳＡＮコンポーネントについての監視データ構造体は、予め定めてもよく、又はデフォルト値のベースライン監視構成データと共にポピュレートしてもよい。代替的に、フィードバック・モジュール３０４は、変更されたＳＡＮコンポーネントの組２１２を表す新しい組を生成する。
【００７０】
組属性変更モジュール３０６は、閾値違反２１０に基づいて、予め定められたＳＡＮコンポーネントの組２０８又は変更されたＳＡＮコンポーネントの組２１２の属性を変更する。特定の実施形態においては、特定のタイプの閾値違反２１０の存在により、組属性変更モジュール３０６が、変更されたＳＡＮコンポーネントの組２１２内のＳＡＮコンポーネント・メンバーシップを劇的に変更することが可能である。代替的に、組属性変更モジュール３０６は、更なる分析を行うこともできる。以下に説明されるように、この更なる分析の結果に基づいて、変更されたＳＡＮコンポーネントの組２１２の他の属性を変更することができる。
【００７１】
組属性変更モジュール３０６は、決定モジュール３０８と、修正モジュール３１０と、属性変更モジュール３１２とを含む。組属性変更モジュール３０６は、予め定められたＳＡＮコンポーネントの組２０８又は変更されたＳＡＮコンポーネントの組２１２に対して、どのタイプの属性変更を行うかを決定する。一実施形態においては、決定モジュール３０８は、受け取った閾値違反２１０に応答して、ＳＡＮコンポーネント分析基準を適用する。
【００７２】
ＳＡＮコンポーネント分析基準は、１組の条件を含むことができる。管理者は、これらの条件を構成することができる。一実施形態においては、分析条件は、予め定められたＳＡＮコンポーネントの組２０８又は変更されたＳＡＮコンポーネントの組２１２の現在のＳＡＮコンポーネント・メンバーが、組２０８又は２１２内に保持されるかどうかを判断する。別の実施形態においては、組属性変更モジュール３０６は、組のメンバーシップを決定するために、１組の違反分析基準を適用することができる。他の特定のＳＡＮコンポーネント分析基準は、更なる分析を制御し、随意的な分析モジュール２１４に関して上述されたように応答することができる。
【００７３】
一実施形態においては、組属性変更モジュール３０６は、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを、変更されたＳＡＮコンポーネントの組２１２に付加することを決定する。別の実施形態においては、組属性変更モジュール３０６は、ＳＡＮコンポーネント分析基準に基づいてこの判断を行う。組属性変更モジュール３０６は、決定モジュール３０８を用いて、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを特定し、これを付加する。
【００７４】
決定モジュール３０８は、修正モジュール３１０と協働して、変更されたＳＡＮコンポーネントの組２１２内により多くのＳＡＮコンポーネントを含ませるようにする。一実施形態においては、決定モジュール３０８は、監視データ構造体を用いて、閾値違反２１０の原因であるＳＡＮコンポーネントを特定する。代替的に、決定モジュール３０８は、特定のために閾値違反データ構造体を用いることができる。
【００７５】
閾値違反２１０の原因であるＳＡＮコンポーネントが特定されると、決定モジュール３０８は、種々の技術を用いて、どのＳＡＮコンポーネントが、原因であるＳＡＮコンポーネントに接続されているかを判断することができる。一実施形態においては、決定モジュール３０８は、原因であるＳＡＮコンポーネントと関連した接続データ構造体３１４を参照する。接続データ構造体３１４は、記録、ファイル、表などを含むことができる。接続データ構造体３１４は、予め定めてリポジトリに格納してもよく、或いは、必要に応じて生成して将来の参照に備えて格納してもよい。接続データ構造体３１４は、原因であるＳＡＮコンポーネントから、該原因であるＳＡＮコンポーネントに接続されている他のＳＡＮコンポーネントの各々へのマッピングを含む。一実施形態による接続データ構造体３１４の一例が、図５に関連して以下に説明される。
【００７６】
一実施形態においては、接続データ構造体３１４は、閾値違反２１０の原因であるＳＡＮコンポーネントに物理的にも論理的にも接続されたＳＡＮコンポーネントを示す。上に定められたように、物理的に接続されたＳＡＮコンポーネントは、直接的な接続を有するのに対し、論理的に接続されたＳＡＮコンポーネントは、それらが、原因であるＳＡＮコンポーネントと同じＳＡＮゾーンのメンバーであるため、データ・ストレージ・パスに関与することがある。
【００７７】
代替的に、接続データ構造体３１４は、論理的に接続されたＳＡＮコンポーネントを特定するのに十分な情報を提供できないことがある。その結果、決定モジュール３０８は、検出モジュール３１６と協働して、論理的に接続されたＳＡＮコンポーネントを特定することができる。一実施形態において、検出モジュール３１６は、ＳＡＮコンポーネントに照会し、どのＳＡＮコンポーネントが、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されているかを判断する。代替的に、検出モジュール３１６は、ＳＡＮゾーンのメンバーシップ情報を保持するリポジトリに照会する。別の実施形態においては、検出モジュール３１６は、ＳＡＮゾーンの情報を管理するように構成された他のストレージ管理モジュールに照会する。検出モジュール３１６は、必要に応じて、又はＳＡＮの接続発見段階中にクエリを出すことができる。
【００７８】
判断モジュール３０８が、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを特定すると、修正モジュール３１０は、判断された接続されたＳＡＮコンポーネントの少なくとも１つを含ませるように、予め定められたＳＡＮコンポーネントの組２０８又は変更されたＳＡＮコンポーネントの組２１２を修正する。一実施形態においては、接続されたＳＡＮコンポーネントを付加することは、接続されたＳＡＮコンポーネントの各々に関する監視データ構造体を取り出すこと、又は定めることを含むことができる。監視データ構造体は、リポジトリ内に予め定めることができ、又は閾値のタイプ、データ収集間隔などに関するデフォルト値を用いて定めることができる。
【００７９】
一実施形態においては、修正モジュール３１０は、決定モジュール３０８によって特定された接続されたＳＡＮコンポーネントの全てを含む。代替的に、修正モジュール３１０は、決定モジュール３０８によって特定された、選択された数の接続されたＳＡＮコンポーネントを、予め定められたＳＡＮコンポーネントの組２０８又は変更されたＳＡＮコンポーネントの組２１２に付加する。例えば、修正モジュール３１０は、原因であるＳＡＮコンポーネントに関して、閾値違反２１０を受け取る場合ごとに、２つの付加的な接続されたＳＡＮコンポーネントをＳＡＮコンポーネントの組２０８、２１２に付加することができる。
【００８０】
ＳＡＮ１０２内では、因果関係が常に容易に明らかであるわけではない。特定のＳＡＮコンポーネントからの閾値違反２１０が、そのＳＡＮコンポーネントに伴う問題によって生じるのではないこともある。代わりに、原因が、特定のＳＡＮコンポーネントに接続された別のＳＡＮコンポーネントにあることもある。有利なことに、決定モジュール３０８及び修正モジュール３１０は、監視されるＳＡＮコンポーネントの組２１２が動的に変更し、監視の範囲を、閾値違反２１０についての文脈を提供できるＳＡＮコンポーネントに拡大することを可能にする。特定の実施形態においては、決定モジュール３０８は、監視履歴情報を用いて、ＳＡＮコンポーネントの組２０８、２１２の接続されたＳＡＮコンポーネントの除去を決定することができる。
【００８１】
さらに、決定モジュール３０８は、ＳＡＮ１０２内の全てのＳＡＮコンポーネントではなく、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを付加する。このように、大容量のデータを収集し、分析する問題が回避される。
【００８２】
フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネント・パフォーマンスの問題の検出及び解決を容易にする可能性が最も高いＳＡＮ１０２の領域（ＳＡＮコンポーネントの組）に、監視の対象を選択的にシフトさせる。一実施形態においては、組属性変更モジュール３０６は、閾値違反２１０に基づいて、ＳＡＮコンポーネントの組２０８、２１２のメンバーである１つ又は複数の監視データ構造体の１つ又は複数の属性を変更することができる。組属性変更モジュール３０６は、監視データ構造体のどの属性を、どれだけ変更するかを判断するための基準及び／又は規則を含むことができる。基準は、変更が行われないことを示すこともできる。代替的に、監視データ構造体は、組属性変更モジュール３０６が、どの属性を何倍変更すべきかを示す属性を含むことかできる。当業者であれば、組属性変更モジュール３０６によって変更することができる種々の監視データ構造体の属性を認識するであろう。
【００８３】
一実施形態においては、組属性変更モジュール３０６は、属性変更モジュール３１２と協働する。属性変更モジュール３１２は、監視データ構造体が実装される方法に従って、監視データ構造体の属性又はフィールドに関する値を取り出し、操作するように構成される。一実施形態においては、属性変更モジュール３１２は、監視データ構造体を表すオブジェクトにメソッド呼び出しを出すことができる。別の実施形態においては、属性変更モジュール３１２は、監視データ構造体を格納するデータベース又はファイルに、書き込みコマンドを出すことができる。
【００８４】
ＳＡＮコンポーネントの組２０８、２１２内のＳＡＮコンポーネントの監視データ構造体の監視属性を変更し、かつ、これらの監視データ構造体を再びストレージ監視モジュール２０２に与えることによって、監視フィードバック・ループ２０６を通る監視データ構造体の各々のパスと共に、ＳＡＮコンポーネントのパフォーマンス監視のプロセスが効率的且つ動的に調整される。例えば、一実施形態においては、属性変更モジュール３１２は、閾値違反の頻度が変わるように、閾値属性を変える。閾値属性は、ＳＡＮコンポーネントの監視特性についての境界を定める値である。監視特性についての値が、閾値属性の値より上下するときに、問題が存在し得る。属性変更モジュール３１２が変更できるＳＡＮコンポーネントの監視に関する属性の例は、データ収集の頻度、閾値属性レベルなどを含む。
【００８５】
典型的な例示的な監視特性は、データ処理量である。閾値属性は、毎秒２００メガバイトとすることができる。閾値違反２１０は、データ処理量が毎秒２００メガバイトを超えたときに生じる。閾値違反２１０と、特定の実施形態においては、閾値属性の変更に関する規則とに基づいて、属性変更モジュール３１２は、閾値属性を１０メガバイトといった一定量だけ増加させることによって、データ処理量に関する閾値属性を変更する。勿論、一定量は、ユーザ定義のもの、及び／又はユーザ構成可能なものにすることができ、監視データ構造体から取り出すことができる。代替的に、属性変更モジュール３１２は、データ処理量に関する閾値属性を一定量だけ減少させることができる。
【００８６】
このように、この特定のＳＡＮコンポーネントに関する監視感度が動的に調整される。閾値属性を増大させることによって、このＳＡＮコンポーネントに関する将来の閾値違反２１０の数が減少される。閾値属性を減少させることによって、このＳＡＮコンポーネントに関する将来の閾値違反２１０の数が増大され、逆もまた同様である。言い換えれば、これらの調整は、特定のＳＡＮコンポーネントについての閾値違反２１０の頻度を変更する。
【００８７】
図４は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法に用いるのに適したデータ構造体４００の一実施形態を示す。一実施形態においては、データ構造体４００は、監視データ構造体及び閾値違反データ構造体の両方に関するフィールドを保持するように構成される。代替的に、監視データ構造体及び閾値違反データ構造体のフィールドは、別個のデータ構造体に格納され、渡される。
【００８８】
例示的なデータ構造体４００は、予め定められたデータ型４０４を保持するフィールド４０２を含む。データ構造体４００は、ＴｉｍｅＳｔａｍｐフィールド４０６、Ｄｅｖ＿Ｔｙｐｅフィールド４０８、Ｄｅｖ＿ＩＤフィールド４１０、Ｃｏｍｐ＿Ｔｙｐｅフィールド４１２、及びＣｏｍｐ＿ＩＤフィールド４１４を含むことができる。ＴｉｍｅＳｔａｍｐフィールド４０６は、いつ閾値違反が生じたかを表す時間値を保持することができる。ＴｉｍｅＳｔａｍｐフィールド４０６は、ＳＡＮコンポーネントのデバイス・クロックに従った時間、ＳＡＮサーバ・クロックに従った時間、及び／又は世界時コードをキャプチャするように、複数のフィールドを含むことができる。別の実施形態においては、例示的なデータ構造体４００と関連したＳＡＮコンポーネントの監視が開始した時間を表すように、第２のＴｉｍｅＳｔａｍｐフィールド４０６を含ませることもできる。ＴｉｍｅＳｔａｍｐフィールド４０６についてのデータ型４０４は、文字型（character type）とすることができる。
【００８９】
Ｄｅｖ＿Ｔｙｐｅフィールド４０８はＳＡＮ装置の型を表し、Ｃｏｍｐ＿Ｔｙｐｅフィールド４１２はＳＡＮコンポーネントの型を表す。上に説明されたように、パフォーマンスが監視されているＳＡＮコンポーネントは、ＳＡＮハードウェア装置、ＳＡＮソフトウェア又はファームウェア・モジュール、或いはＳＡＮ装置の個々の物理的ポート又は仮想ポートとすることができる。ＳＡＮ装置の型及びＳＡＮコンポーネントの型は、どのタイプのＳＡＮコンポーネントが監視されているかの特定を容易にする。
【００９０】
Ｄｅｖ＿ＩＤフィールド４１０及びＣｏｍｐ＿ＩＤフィールド４１４は、それぞれＳＡＮ装置の型内のＳＡＮ装置及びＳＡＮコンポーネントの型内のＳＡＮコンポーネントを固有に識別するための識別子の値を保持する。上述のように、ＳＡＮ１０２は、何百何千もの特定の型のＳＡＮ装置及びＳＡＮコンポーネントを含むことができる。ＳＡＮ装置のＩＤ及びＳＡＮコンポーネントのＩＤは、処置を取ることができるように、特定のＳＡＮコンポーネントの特定を可能にする。
【００９１】
データ構造体４００は、Ｔｈｒｅｓｈ＿Ｖａｌｕｅフィールド４１６、Ｔｈｒｅｓｈ＿Ｔｙｐｅフィールド４１８、ＤＣ＿Ｉｎｔｅｒｖａｌ＿Ｌｅｎフィールド４２０、Ｃｒｉｔ＿Ｓｔｒｅｓｓフィールド４２２、Ｗａｒｎ＿Ｓｔｒｅｓｓフィールド４２４、及びｍａｇｎｉｔｕｄｅフィールドを含むことができる。Ｔｈｒｅｓｈ＿Ｖａｌｕｅフィールド４１６は、ＳＡＮコンポーネントについての閾値属性を表す値を保持することができる。監視される特性の値は、Ｍａｇｎｉｔｕｄｅフィールド４２６に格納される。Ｔｈｒｅｓｈ＿Ｔｙｐｅフィールド４１８は、監視される閾値の型を識別する。例示的な閾値の型は、処理量、エラー率、ストレージ容量、ストレージ使用率等を含むことができる。ＤＣ＿Ｉｎｔｅｒｖａｌ＿Ｌｅｎフィールド４２０は、関連したＳＡＮコンポーネントからのデータ収集の時間間隔を格納する。一実施形態においては、ＤＣ＿Ｉｎｔｅｒｖａｌ＿Ｌｅｎの時間間隔が満了すると、ストレージ監視モジュール２０２は、更新されたｍａｇｎｉｔｕｄｅフィールドの値についてＳＡＮコンポーネントに照会する。属性変更モジュール３１２は、必要に応じて、Ｔｈｒｅｓｈ＿Ｖａｌｕｅフィールド４１６及び／又はＤＣ＿Ｉｎｔｅｒｖａｌ＿Ｌｅｎフィールド４２０の値を調整することができる。
【００９２】
Ｃｒｉｔ＿Ｓｔｒｅｓｓフィールド４２２及びＷａｒｎ＿Ｓｔｒｅｓｓフィールド４２４は、閾値違反２１０に関する重大度レベルを表すフラグ値を含むことができる。Ｃｒｉｔ＿Ｓｔｒｅｓｓフィールド４２２が設定された場合には、閾値違反の重大度は大きい。Ｗａｒｎ＿Ｓｔｒｅｓｓフィールド４２４が設定された場合には、閾値違反の重大度はほんのわずかである。Ｃｒｉｔ＿Ｓｔｒｅｓｓフィールド４２２及びＷａｒｎ＿Ｓｔｒｅｓｓフィールド４２４の値は、組属性変更モジュール３０６が行う変更に繰り込むことができる。フィールドに関するデータ型４０４は、図４に述べられるものにすることができる。
【００９３】
当業者であれば、異なる実施形態において、異なるデータ型４０４及び付加的な又はより少ないデータ・フィールド４０２を用い得ることを認識する。有利なことに、例示的なデータ構造体４００は、監視されるＳＡＮコンポーネントを特定し、閾値違反が生じる時間を識別し、閾値監視の感度を調整するのに十分な情報を含む。
【００９４】
図５は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法に用いるのに適したデータ構造体の一実施形態を示す。図５は、閾値違反２１０の原因であるＳＡＮコンポーネントに接続された１つ又は複数のＳＡＮコンポーネントを判断するために、決定モジュール３０８が用いるのに適した接続データ構造体３１４の一例を示す。接続データ構造体３１４は、Ｐｏｒｔ２Ｐｏｒｔ  ＩＤフィールド４２８、Ｐｏｒｔ＿ＩＤ１フィールド４３０、Ｐｏｒｔ＿ＩＤ２フィールド４３２、検出可能（Ｄｅｔｅｃｔａｂｌｅ）フィールド４３４及びＯｐ＿Ｓｔａｔｕｓフィールド４３６を含むことができる。
【００９５】
Ｐｏｒｔ２Ｐｏｒｔ  ＩＤフィールド４２８は、ＳＡＮ内の接続されたポートを突き止めるための索引フィールドとして働く。Ｐｏｒｔ＿ＩＤ１フィールド４３０及びＰｏｒｔ＿ＩＤ２フィールド４３２は、ＳＡＮコンポーネント間のＳＡＮ接続の両側にあるポートの識別子として働く。この接続は、物理的なものであっても、又は論理的なものであってもよい。Ｐｏｒｔ＿ＩＤ１フィールド４３０及び／又はＰｏｒｔ＿ＩＤ２フィールド４３２の値は、Ｃｏｍｐ＿ＩＤフィールド４１４内のＣｏｍｐ＿ＩＤ値に対応する。接続データ構造体３１４を成功裏に走査することによって、決定モジュール３０８は、閾値違反の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを特定することができる。接続されたＳＡＮコンポーネントを特定することにより、フィードバック監視ユーティリティ２０４が、変更されたＳＡＮコンポーネントの組２１２のメンバーシップを変更することが可能になり、接続されたＳＡＮコンポーネントとの関連で、閾値違反２１０を動的に監視できるようになる。
【００９６】
検出可能フィールド４３４は、Ｐｏｒｔ＿ＩＤ１フィールド４３０において特定されたＳＡＮコンポーネントについてパフォーマンス監視が可能であるかどうかを識別することができる。可能でない場合には、Ｐｏｒｔ＿ＩＤ１フィールド４３０において特定されたＳＡＮコンポーネントを、「接続された」ＳＡＮコンポーネントと見なすことはできない。Ｏｐ＿Ｓｔａｔｕｓフィールド４３６は、Ｐｏｒｔ＿ＩＤ１フィールド４３０において特定されたＳＡＮコンポーネントが動作可能であるかどうかを示すフラグ値を含むことができる。動作可能でない場合には、Ｐｏｒｔ＿ＩＤ１フィールド４３０において特定されたＳＡＮコンポーネントを、「接続された」ＳＡＮコンポーネントと見なすことはできない。
【００９７】
図６は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法５００の一実施形態を示す。有利なことに、この方法５００は、ＳＡＮコンポーネントの組の属性、すなわち、組のメンバーと、組の１又は複数のメンバーの監視属性とを含む属性を動的に調整する。方法５００が開始し（５０２）、ストレージ監視モジュール２０２が、ＳＡＮコンポーネントの組内のＳＡＮコンポーネントの監視（５０４）を開始する。監視フィードバック・ループ２０６を通る最初のパスにおいて、ＳＡＮコンポーネントの組は、予め定められたＳＡＮコンポーネントの組２０８を含む。監視フィードバック・ループ２０６を通るその後のパスにおいて、ＳＡＮコンポーネントの組は、変更されたＳＡＮコンポーネントの組２１２を含む。
【００９８】
次に、フィードバック監視ユーティリティ２０４は、閾値違反２１０が生じたかどうかを判断することができる（５０６）。閾値違反２１０が生じていない場合には、ストレージ監視モジュール２０２は、監視を続ける（５０４）。閾値違反２１０が生じた場合には、フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネントの組２０８の組属性を変更する（５１０）。ある場合においては、フィードバック監視ユーティリティ２０４は、監視履歴情報の収集を開始するために、単に、ＳＡＮコンポーネントに関して閾値違反２１０が生じたことだけを記録するといった小さな変更を行うことができる。別の場合においては、フィードバック監視ユーティリティ２０４は、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントを付加又は除去するといった大きな変更を行うことができる。
【００９９】
ＳＡＮコンポーネントの組２０８（又は、その後のパスにおける変更されたＳＡＮコンポーネントの組２１２）の１つ又は複数の組属性が変更されると、フィードバック・モジュール３０４は、ＳＡＮコンポーネントの組２０８、２１２が空であるかどうかを判断する（５１６）。空である場合には、現在監視されているＳＡＮコンポーネントがないので、方法５００は終了する（５２０）。ＳＡＮコンポーネントの組２０８、２１２が空でない場合には、フィードバック・モジュール３０４は、変更されたＳＡＮコンポーネントの組２１２を、ストレージ監視モジュール２０２に与える。
【０１００】
図７は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法６００の別の実施形態を示す。方法６００が開始し（６０２）、ストレージ管理モジュール１１０は、最初にストレージ監視モジュール２０２に与えられるＳＡＮコンポーネントの組２０８を自動的に定める（６０４）。ストレージ管理モジュール１１０は、フィードバック監視モジュール２０４を用いて、ＳＡＮコンポーネントの組２０８を自動的に定めることができる。
【０１０１】
当業者であれば、フィードバック監視モジュール２０４は、フィードバック監視モジュール２０４に接続された、ＳＡＮ内のＳＡＮコンポーネントに質問するように構成された随意的な走査モジュール（図示せず）を含み得ることを認識するであろう。質問に基づいて、ＳＡＮ１０２内のＳＡＮコンポーネントのアイデンティティを判断することができる。フィードバック監視モジュール２０４は、ＳＡＮコンポーネントのアイデンティティを有するＳＡＮコンポーネントの各々についての監視データ構造体を定めることができる。代替的に、ストレージ管理モジュール１１０は、他の既存のスキャナを実行して、ＳＡＮコンポーネントの組２０８に関するＳＡＮコンポーネントを識別することができる。別の実施形態においては、ストレージ管理モジュール１１０は、ＳＡＮコンポーネントの識別情報を先に収集し、その情報を、ストレージ監視モジュール２０２にアクセス可能なリポジトリに記録することができる。
【０１０２】
さらに、組２０８内のＳＡＮコンポーネントのサイズ及び数は、実施形態によって、場合によっては管理者が定めたストレージ管理モジュール１１０のポリシー規則によって変わり得る。例えば、一実施形態においては、ＳＡＮコンポーネントの組２０８は、最初に、単一のＳＡＮコンポーネントを含む。別の実施形態においては、ＳＡＮコンポーネントの組２０８は、最初に、ＳＡＮ走査モジュールが発見した全てのＳＡＮコンポーネントを含む。代替的に、ＳＡＮコンポーネントの組２０８は、最初に、１つ又は複数のＳＡＮゾーン内の１つのＳＡＮコンポーネントを含む。有利なことに、ＳＡＮコンポーネントの組２０８は、比較的少数のＳＡＮコンポーネントから自動的に増えることができる。一実施形態においては、ストレージ管理モジュール１１０を操作しているユーザが、自動的に定められたＳＡＮコンポーネントの組２０８を編集することができる。
【０１０３】
次に、ストレージ監視モジュール２０２は、ＳＡＮコンポーネントの組２０８内のＳＡＮコンポーネントを監視し始める（６０６）。キャプチャ・モジュール３０２は、ＳＡＮ１０２のほぼ全体についての閾値違反２１０をキャプチャすることができる（６０８）。次いで、キャプチャ・モジュール３０２は、キャプチャされた閾値違反２１０が、ＳＡＮコンポーネントの組２０８内で識別されたＳＡＮコンポーネントと関連付けられているかどうかを判断することができる（６１０）。関連付けられていない場合には、キャプチャ・モジュール３０２は、閾値違反２１０を無視することができる。関連付けられている場合には、キャプチャ・モジュール３０２は、閾値違反２１０及び／又は関連した監視データ構造体を、組属性変更モジュール３０６に通信することができる。
【０１０４】
組属性変更モジュール３０６は、閾値違反２１０に基づいて、ＳＡＮコンポーネントの組２０８の１つ又は複数の組属性を変更することができる（６１２）。述べられたように、監視フィードバック・ループ２０６を通る特定のパスにおいて、違反分析基準及び／又はＳＡＮコンポーネント分析基準は、ＳＡＮコンポーネントの組２０８、２１２のいずれの属性に対しても変更をなすべきではないことを示す場合がある。
【０１０５】
次に、決定モジュール３０８は、閾値違反２１０の原因であるＳＡＮコンポーネントに接続されたＳＡＮコンポーネントが存在するかどうか、及び、これらの接続されたＳＡＮコンポーネントがＳＡＮコンポーネントの組２０８、２１２のメンバーであるかどうかを判断する（６１４）。現在のところＳＡＮコンポーネントの組２０８、２１２内にはない、接続されたＳＡＮコンポーネントが存在する場合には、修正モジュール３１０が、接続されたＳＡＮコンポーネントを、ＳＡＮコンポーネントの組２０８、２１２に付加する（６１６）。存在しない場合又は接続されたＳＡＮコンポーネントが付加された（６１６）場合には、フィードバック・モジュール３０４は、入力として、変更されたＳＡＮコンポーネントの組２１２をストレージ監視モジュール２０２に送る。方法６００は、ユーザ入力に応答して、或いは、組属性変更モジュール３０６がＳＡＮコンポーネントを除去し、変更されたＳＡＮコンポーネントの組２１２が空になった場合に終了することができる。
【０１０６】
図８は、パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法７００の一実施形態を示す。特定的には、方法７００は、フィードバック監視ユーティリティ２０４の実施形態を有するユーザにより実施することができる。ユーザは、ＳＡＮ１０２又はＳＡＮコンポーネントを所有していても、所有していなくてもよい。しかしながら、ユーザは、サービスを提供するために、フィードバック監視ユーティリティ２０４を作動させ、ＳＡＮ１０２及び／又はＳＡＮコンポーネントの所有者に貴重な情報を提供することができる。
【０１０７】
方法７００は、フィードバック監視ユーティリティ２０４とターゲットＳＡＮとの間に通信リンクを確立するステップ（７０４）で開始する（７０２）。通信リンクは、フィードバック監視ユーティリティ２０４が閾値違反２１０を受け取るように確立される。ＳＡＮコンポーネントの組内のＳＡＮコンポーネントの監視は、他のＳＡＮ管理ユーティリティによって行うこともできる。フィードバック監視ユーティリティ２０４は、直接的接続、ログイン・アカウント、無線接続等を用いることにより、ターゲットＳＡＮにアクセスできるようになる。代替的に、通信リンクは、フィードバック監視ユーティリティ２０４とターゲットＳＡＮとの間の遠隔通信リンクを含むことができる。ターゲットＳＡＮは、パフォーマンスを監視する組を判断するために監視されるコンポーネントを有するＳＡＮである。
【０１０８】
次に、どのＳＡＮコンポーネントがＳＡＮコンポーネントの組２０８のメンバーであるかについての判断（７０６）が行われる。これは、ユーザ入力、自動化ツール、又はこれらの組み合わせを用いて行うことができる。次に、フィードバック監視ユーティリティ２０４が実行され（７０８）、ターゲットＳＡＮにおいて生じる閾値違反２１０の受信を開始する。一実施形態においては、フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネントの組２０８が、少なくとも１回変更されて、変更されたＳＡＮコンポーネントの組２１２になり、ストレージ監視モジュール２０２にフィードバックされるのに十分な時間実行される。フィードバック監視ユーティリティ２０４は、何時間、何日、何週間もの間実行することができる。
【０１０９】
フィードバック監視ユーティリティ２０４の実行中、又は実行後、方法７００は、ターゲットＳＡＮのＳＡＮ特性について報告すること（７１０）により継続する。ＳＡＮボトルネックに関与するＳＡＮコンポーネント、十分に利用されていないＳＡＮコンポーネント、ストレージ容量の限界に近づいているＳＡＮコンポーネント等を含む種々のＳＡＮ特性を報告することができる。ＳＡＮ特性が報告されると、方法７００は終了する（７１２）。
【０１１０】
一実施形態においては、フィードバック監視ユーティリティ２０４は、ＳＡＮコンポーネント分析基準に基づいて、変更された組のＳＡＮコンポーネントを分析し、ＳＡＮコンポーネント分析基準の結果に基づいて応答する。応答は、より詳細な分析のために特定のＳＡＮコンポーネントを送ることを含むことができる。別の応答は、ＳＡＮコンポーネントの組２０８から１つ又は複数のＳＡＮコンポーネントを除去することとすることができる。
【０１１１】
有利なことに、本発明の好ましい実施形態は、ストレージのパフォーマンスを監視する際に含められるストレージ・エリア・ネットワーク・コンポーネントの組を動的に判断するための装置、システム、及び方法を提供するものである。監視される少なくとも１つのＳＡＮコンポーネントの最初の組が与えられた場合、本発明の好ましい実施形態は、組のＳＡＮコンポーネント・メンバーシップ、及び／又は、その組内のＳＡＮコンポーネントの各々と関連した属性を動的に調整する。次に、調整されたＳＡＮコンポーネントの組は、監視プロセスにフィードバックされる。このように、監視されるＳＡＮコンポーネントの組の属性が動的に変わり、適切なレベルの監視データをキャプチャする。付加的に、本発明の好ましい実施形態は、監視履歴情報に基づいて、組内のどのメンバーがより詳細な分析に価するのかを判断し、問題領域を識別することができる。
【図面の簡単な説明】
【０１１２】
【図１】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断するためのシステムを示す概略的なブロック図である。
【図２】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断するためのシステムの一実施形態を示す概略的なブロック図である。
【図３】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断するためのフィードバック監視ユーティリティの一実施形態を示す概略的なブロック図である。
【図４】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法に用いるのに適したデータ構造体の一実施形態を示す概略的なブロック図である。
【図５】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法に用いるのに適したデータ構造体の一実施形態を示す概略的なブロック図である。
【図６】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法の別の実施形態を示す概略的なフロー・チャート図である。
【図７】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法の一実施形態を示す概略的なフロー・チャート図である。
【図８】パフォーマンス監視のためにＳＡＮコンポーネントの組を動的に判断する方法の一実施形態を示す概略的なフロー・チャート図である。
【図１】
2009528585.tif 000003
【図２】
2009528585.tif 000004
【図３】
2009528585.tif 000005
【図４】
2009528585.tif 000006
【図５】
2009528585.tif 000007
【図６】
2009528585.tif 000008
【図７】
2009528585.tif 000009
【図８】
2009528585.tif 000010
【手続補正書】
【提出日】平成21年3月23日(2009.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断するためのシステムであって、
ＳＡＮ内の複数のＳＡＮコンポーネントと通信し、かつ、それらの動作を指示するように構成されたストレージ管理モジュールと、
各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、前記ＳＡＮ内の予め定められたＳＡＮコンポーネントの組を監視するように構成されたストレージ監視モジュールと、
前記組内の前記ＳＡＮコンポーネントの１つによる少なくとも１つの閾値違反に応答して、前記ＳＡＮコンポーネントの組の属性を変更し、かつ、前記ストレージ監視モジュールに、前記変更されたＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視させるように構成された、フィードバック監視ユーティリティと
を備え、
前記フィードバック監視ユーティリティは、
前記監視データ構造体と関連した接続データ構造体を用いて、前記閾値違反の原因である前記ＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを識別するように構成された決定モジュールと、
前記ＳＡＮコンポーネントの組を修正して、前記識別された１つ又は複数の接続されたＳＡＮコンポーネントを含ませるように構成された修正モジュールと
を含む、システム。
【請求項２】
監視履歴情報に基づいて、ＳＡＮコンポーネント分析基準を前記変更されたＳＡＮコンポーネントの組のメンバーに適用し、かつ、分析結果に基づいて応答するように構成された、分析モジュールをさらに備える、請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのＳＡＮコンポーネントは、前記閾値違反の原因である前記ＳＡＮコンポーネントに物理的に接続されている、請求項１又は請求項２に記載のシステム。
【請求項４】
ＳＡＮコンポーネントに照会して、前記閾値違反の原因である前記ＳＡＮコンポーネントに論理的に接続された少なくとも１つのＳＡＮコンポーネントを判断するように構成された検出モジュールをさらに備え、前記少なくとも１つの論理的に接続されたＳＡＮコンポーネントは、前記閾値違反の原因である前記ＳＡＮコンポーネントを含むＳＡＮゾーンのメンバーである、前記請求項のいずれかに記載のシステム。
【請求項５】
動的に焦点が当てられたパフォーマンス監視のためにストレージ・エリア・ネットワーク（ＳＡＮ）コンポーネントの組を動的に判断する方法であって、
フィードバック監視ユーティリティとターゲットＳＡＮとの間に通信リンクを確立するステップと、
各々が監視データ構造体によって表される、ＳＡＮコンポーネントの組を判断するステップと、
前記組を入力として用いてフィードバック監視ユーティリティを実行するステップであって、前記フィードバック監視ユーティリティは、
各々のＳＡＮコンポーネントと関連した監視データ構造体に従って、前記ＳＡＮコンポーネントの組のＳＡＮコンポーネントを監視し、
前記組内のＳＡＮコンポーネントによる少なくとも１つの閾値違反に応答して、前記ＳＡＮコンポーネントの組の属性を変更し、
前記変更された組内の各々のＳＡＮコンポーネントについての監視データ構造体に従って、前記変更された組のＳＡＮコンポーネントを監視する、
ように構成される、ステップと、
前記フィードバック監視ユーティリティからの情報出力に基づいて、前記ターゲットＳＡＮのＳＡＮ特性を報告するステップと
を含み、
前記フィードバック監視ユーティリティを実行するステップは、
決定モジュールにより、前記監視データ構造体と関連した接続データ構造体を用いて、前記閾値違反の原因である前記ＳＡＮコンポーネントに接続された少なくとも１つのＳＡＮコンポーネントを識別するステップと、
修正モジュールにより、前記ＳＡＮコンポーネントの組を修正して、前記識別された１つ又は複数の接続されたＳＡＮコンポーネントを含ませるステップと
を含む、方法。
【請求項６】
前記ＳＡＮ特性は、ＳＡＮボトルネックに関与するＳＡＮコンポーネントと、十分に利用されていないＳＡＮコンポーネントと、ストレージ容量の限界に近づいているＳＡＮコンポーネントとからなる群から選択される、請求項５に記載の方法。
【請求項７】
前記通信リンクを確立するステップは、前記ターゲットＳＡＮへの遠隔通信リンクを作製するステップを含む、請求項５又は請求項６に記載の方法。
【請求項８】
前記フィードバック監視ユーティリティは、ＳＡＮコンポーネント分析基準に基づいて、前記変更された組のＳＡＮコンポーネントを分析し、かつ、前記ＳＡＮコンポーネント分析基準の結果に基づいて応答するようにさらに構成される、請求項５乃至請求項７のいずれかに記載の方法。
【請求項９】
コンピュータ・システムにロードされ、そこで実行されるとき、前記コンピュータ・システムに、請求項５乃至請求項８のいずれかに記載の方法の全てのステップを実行させるためのコンピュータ・プログラム・コードを含むコンピュータ・プログラム。
【国際調査報告】
2009528585.tif 000011
2009528585.tif 000012