"記憶領域ネットワーク内のファブリックのセットから情報を集めるためにエージェントを選択する方法であって、前記方法は、前記記憶領域ネットワークに接続された各エージェントを用いて前記ファブリックのセットに対してファブリック発見動作を行うステップであって、前記ファブリック発見動作は前記ファブリックのセット内の各エージェントの能力情報を生成する、ステップと、前記ファブリックのセットに対する情報を収集できるエージェントの等価サブセットのグループを生成するステップであって、エージェントの前記等価サブセットは前記記憶領域ネットワーク内の各ファブリックに関するエージェント能力に基づいてグループ化される、ステップとを含み、前記等価サブセットのグループを生成するステップは、各ファブリックに対して、前記ファブリックについて報告する各エージェントに対するデータを能力マトリックスに投入するステップであって、前記能力マトリックスは前記ファブリックに対する各エージェントの能力のセットの指示を提供する、ステップと、前記能力マトリックスに示されるとおりに前記ファブリックに対する重複した能力を有するエージェントのサブセットを識別するステップと、識別されたエージェントの各サブセット内の各エージェントに対する通信チェックを行うステップと、識別されたエージェントの前記サブセットに対する前記通信チェックが成功したことに応答して、識別されたエージェントの各サブセットを前記等価サブセットのグループ内のグループに追加するステップとを含み、前記方法はさらに、前記ファブリックのセットに対して、エージェントの前記等価サブセットのグループからエージェントの等価サブセットを選択するステップと、前記選択された等価サブセットを用いて前記ファブリックのセットに対するファブリック探索を実行するステップとを含む、方法。等価サブセットを選択するステップおよび前記ファブリックのセットに対する前記ファブリック探索を実行するステップは、各ファブリックに対して1つの等価エージェントサブセットを用いてファブリック探索を試みるための第1のジョブを生成するステップであって、前記1つの等価エージェントサブセットは等価エージェントサブセットのランク付きリストから選択される、ステップと、前記第1のジョブが完了するのを待つステップと、前記第1のジョブの実行が成功しなかったことに応答して、等価エージェントサブセットの前記ランク付きリストから選択された他の等価サブセットを用いてファブリック探索を試みるための第2のジョブを生成するステップと、前記第2のジョブが完了するのを待つステップと、もし前記第1のジョブまたは前記第2のジョブにおいて1つまたはそれ以上のエージェントの実行が成功しなければ、等価エージェントサブセットの前記ランク付きリストを更新するステップとをさらに含む、請求項1に記載の方法。識別されたエージェントの各サブセットを前記等価サブセットのグループに追加するステップは、等価サブセットの各グループ内の等価サブセットをランク付けするステップを含む、請求項1または2に記載の方法。等価サブセットの各グループ内の等価サブセットは、エージェントタイプまたはエージェント固有識別子に基づいて分類される、請求項1から3のいずれか1項に記載の方法。等価サブセットの各グループ内の等価サブセットは、ほとんどのセルをカバーするセット、CIMOMエージェントのみを有するサブセット、CIMOMおよびSNMPエージェントのみを有するサブセット、CIMOM、SNMPおよび帯域内エージェントのみを有するサブセット、ネイティブAPIを有するサブセット、コマンドラインインタフェースを有するサブセット、およびすべてのエージェントの順序でランク付けされる、請求項1から4のいずれか1項に記載の方法。ファブリック発見動作を行うステップは、現在探索されるファブリックの部分であるスイッチのリストを得るステップをさらに含む、請求項1から5のいずれか1項に記載の方法。各等価サブセット内の識別されたエージェントサブセットの複合能力を定めることによって、前記ファブリックから収集できる情報の限界を定めるステップをさらに含む、請求項1から6のいずれか1項に記載の方法。エージェントを選択する前記方法は、1つまたはそれ以上のファブリックに対するファブリック探索のスケジューリングに応答して行われる、請求項1から7のいずれか1項に記載の方法。エージェントを選択する前記方法は、ファブリックイベントの受け取り、および前記ファブリックイベントによるファブリック変化の可能性を検出するための自動ファブリック探索の開始に応答して行われる、請求項1から8のいずれか1項に記載の方法。記憶管理システムであって、ファブリックのセットを提供するように構成された記憶領域ネットワークと、前記記憶管理システム内の少なくとも1つのプロセッサと、前記記憶領域ネットワーク内の前記ファブリックのセットから情報を集めるためにエージェントを選択するために前記少なくとも1つのプロセッサとともに動作可能な命令を有する、前記記憶管理システム内の少なくとも1つのメモリ記憶装置とを含み、前記命令は前記記憶管理システム内のハードウェア構成要素において実行されることによって、前記記憶領域ネットワークに接続された各エージェントを用いて前記ファブリックのセットに対してファブリック発見動作を行うステップであって、前記ファブリック発見動作は前記ファブリックのセット内の各エージェントの能力情報を生成する、ステップと、前記ファブリックのセットに対する情報を収集できるエージェントの等価サブセットのグループを生成するステップであって、エージェントの前記等価サブセットは前記記憶領域ネットワーク内の各ファブリックに関するエージェント能力に基づいてグループ化される、ステップを行い、前記等価サブセットのグループを生成するステップは、各ファブリックに対して、前記ファブリックについて報告する各エージェントに対するデータを能力マトリックスに投入するステップであって、前記能力マトリックスは前記ファブリックに対する各エージェントの能力のセットの指示を提供する、ステップと、前記能力マトリックスに示されるとおりに前記ファブリックに対する重複した能力を有するエージェントのサブセットを識別するステップと、識別されたエージェントの各サブセット内の各エージェントに対する通信チェックを行うステップと、識別されたエージェントの前記サブセットに対する前記通信チェックが成功したことに応答して、識別されたエージェントの各サブセットを前記等価サブセットのグループ内のグループに追加するステップとを含み、前記命令はさらに、前記ファブリックのセットに対して、エージェントの前記等価サブセットのグループからエージェントの等価サブセットを選択するステップと、前記選択された等価サブセットを用いて前記ファブリックのセットに対するファブリック探索を実行するステップとを行う、記憶管理システム。等価サブセットを選択するステップおよび前記ファブリックのセットに対する前記ファブリック探索を実行するステップは、各ファブリックに対して1つの等価エージェントサブセットを用いてファブリック探索を試みるための第1のジョブを生成するステップであって、前記1つの等価エージェントサブセットは等価エージェントサブセットのランク付きリストから選択される、ステップと、前記第1のジョブが完了するのを待つステップと、前記第1のジョブの実行が成功しなかったことに応答して、等価エージェントサブセットの前記ランク付きリストから選択された他の等価サブセットを用いてファブリック探索を試みるための第2のジョブを生成するステップと、前記第2のジョブが完了するのを待つステップと、もし前記第1のジョブまたは前記第2のジョブにおいて1つまたはそれ以上のエージェントの実行が成功しなければ、等価エージェントサブセットの前記ランク付きリストを更新するステップとをさらに含む、請求項10に記載の記憶管理システム。識別されたエージェントの各サブセットを前記等価サブセットのグループに追加するステップは、等価サブセットの各グループ内の等価サブセットをランク付けするステップを含む、請求項10または11に記載の記憶管理システム。等価サブセットの各グループ内の等価サブセットは、エージェントタイプまたはエージェント固有識別子に基づいて分類される、請求項10から12のいずれか1項に記載の記憶管理システム。等価サブセットの各グループ内の等価サブセットは、ほとんどのセルをカバーするセット、CIMOMエージェントのみを有するサブセット、CIMOMおよびSNMPエージェントのみを有するサブセット、CIMOM、SNMPおよび帯域内エージェントのみを有するサブセット、ネイティブAPIを有するサブセット、コマンドラインインタフェースを有するサブセット、およびすべてのエージェントの順序でランク付けされる、請求項10から13のいずれか1項に記載の記憶管理システム。ファブリック発見動作を行うステップは、現在探索されるファブリックの部分であるスイッチのリストを得るステップをさらに含む、請求項10から14のいずれか1項に記載の記憶管理システム。エージェントのサブセットを決定してランク付けする改善された技術、およびファブリック内のノードに関する情報を集めるためにこれらのサブセットを用いるための改善された技術が必要とされている。したがって本発明は第1の側面において、記憶領域ネットワーク内のファブリックのセットから情報を集めるためにエージェントを選択する方法を提供し、この方法は、記憶領域ネットワークに接続された各エージェントを用いてファブリックのセットに対してファブリック発見動作を行うステップであって、ファブリック発見動作はファブリックのセット内の各エージェントの能力情報を生成する、ステップと、ファブリックのセットに対する情報を収集できるエージェントの等価サブセットのグループを生成するステップであって、エージェントの等価サブセットは記憶領域ネットワーク内の各ファブリックに関するエージェント能力に基づいてグループ化される、ステップとを含み、このステップは各ファブリックに対して、そのファブリックについて報告する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスはファブリックに対する各エージェントの能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりにファブリックに対する重複した能力を有するエージェントのサブセットを識別するステップと、識別されたエージェントの各サブセット内の各エージェントに対する通信チェックを行うステップと、識別されたエージェントのサブセットに対する通信チェックが成功したことに応答して、識別されたエージェントの各サブセットを等価サブセットのグループ内のグループに追加するステップとを含み、この方法はさらに、ファブリックのセットに対して、エージェントの等価サブセットのグループからエージェントの等価サブセットを選択するステップと、選択された等価サブセットを用いてファブリックのセットに対するファブリック探索を実行するステップとを含む。好ましくは、等価サブセットを選択するステップおよびファブリックのセットに対するファブリック探索を実行するステップは、各ファブリックに対して1つの等価エージェントサブセットを用いてファブリック探索を試みるための第1のジョブを生成するステップであって、この1つの等価エージェントサブセットは等価エージェントサブセットのランク付きリストから選択される、ステップと、第1のジョブが完了するのを待つステップと、第1のジョブの実行が成功しなかったことに応答して、等価エージェントサブセットのランク付きリストから選択された他の等価サブセットを用いてファブリック探索を試みるための第2のジョブを生成するステップと、第2のジョブが完了するのを待つステップと、もし第1のジョブまたは第2のジョブにおいて1つまたはそれ以上のエージェントの実行が成功しなければ、等価エージェントサブセットのランク付きリストを更新するステップとをさらに含む。好ましくは、識別されたエージェントの各サブセットを等価サブセットのグループに追加するステップは、等価サブセットの各グループ内の等価サブセットをランク付けするステップを含む。好ましくは、等価サブセットの各グループ内の等価サブセットは、エージェントタイプまたはエージェント固有識別子に基づいて分類される。好ましくは、等価サブセットの各グループ内の等価サブセットは、次の順序でランク付けされる。すなわち、ほとんどのセルをカバーするセット、CIMOMエージェントのみを有するサブセット、CIMOMおよびSNMPエージェントのみを有するサブセット、CIMOM、SNMPおよび帯域内エージェントのみを有するサブセット、ネイティブAPIを有するサブセット、コマンドラインインタフェースを有するサブセット、およびすべてのエージェントである。好ましくは、ファブリック発見動作を行うステップは、現在探索されるファブリックの部分であるスイッチのリストを得るステップをさらに含む。好ましくはこの方法は、各等価サブセット内の識別されたエージェントサブセットの複合能力を定めることによって、そのファブリックから収集できる情報の限界を定めるステップをさらに含む。好ましくは、エージェントを選択する方法は、1つまたはそれ以上のファブリックに対するファブリック探索のスケジューリングに応答して行われる。好ましくは、エージェントを選択する方法は、ファブリックイベントの受け取り、およびそのファブリックイベントによるファブリック変化の可能性を検出するための自動ファブリック探索の開始に応答して行われる。動的能力グリッドを用いて規定の能力を有するエージェントの等価セットを選択する方法が具現化されてもよく、この方法は、規定の環境内の各エージェントを用いて発見動作を行うことによってエージェント能力情報を定めるステップと、発見動作から収集されたエージェント能力情報に基づいて、エージェントの等価サブセットのグループを生成するステップであって、エージェントの等価サブセットは規定の環境において発見された各エージェント能力によってグループ化される、ステップとを含み、このステップは、規定の環境内で動作する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスは規定の環境内の項目に関する各エージェントに対する能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりに規定の環境内で重複した能力を有するエージェントのセットを識別するステップと、識別されたエージェントのセットのスコア付けおよびランク付けを行うステップと、識別されたエージェントの各セットを等価サブセットのグループ内のグループに追加するステップとを含み、この方法はさらに、等価サブセットに関連する能力に基づいて規定の環境内で動作を行うために等価サブセットのグループから等価サブセットを選択するステップと、選択された等価サブセットを用いて規定の環境内で動作を実行するステップとを含む。第2の側面においては、記憶管理システムが提供され、この記憶管理システムは、ファブリックのセットを提供するように構成された記憶領域ネットワークと、記憶管理システム内の少なくとも1つのプロセッサと、記憶領域ネットワーク内のファブリックのセットから情報を集めるためにエージェントを選択するために少なくとも1つのプロセッサとともに動作可能な命令を有する、記憶管理システム内の少なくとも1つのメモリ記憶装置とを含み、この命令は記憶管理システム内のハードウェア構成要素において実行されることによって以下のステップを行う。すなわち、記憶領域ネットワークに接続された各エージェントを用いてファブリックのセットに対してファブリック発見動作を行うステップであって、ファブリック発見動作はファブリックのセット内の各エージェントの能力情報を生成する、ステップと、ファブリックのセットに対する情報を収集できるエージェントの等価サブセットのグループを生成するステップであって、エージェントの等価サブセットは記憶領域ネットワーク内の各ファブリックに関するエージェント能力に基づいてグループ化される、ステップとを行い、このステップは各ファブリックに対して、そのファブリックについて報告する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスはファブリックに対する各エージェントの能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりにファブリックに対する重複した能力を有するエージェントのサブセットを識別するステップと、識別されたエージェントの各サブセット内の各エージェントに対する通信チェックを行うステップと、識別されたエージェントのサブセットに対する通信チェックが成功したことに応答して、識別されたエージェントの各サブセットを等価サブセットのグループ内のグループに追加するステップとを含み、この命令はさらに、ファブリックのセットに対して、エージェントの等価サブセットのグループからエージェントの等価サブセットを選択するステップと、選択された等価サブセットを用いてファブリックのセットに対するファブリック探索を実行するステップとを行う。好ましくは、等価サブセットを選択するステップおよびファブリックのセットに対するファブリック探索を実行するステップは、各ファブリックに対して1つの等価エージェントサブセットを用いてファブリック探索を試みるための第1のジョブを生成するステップであって、この1つの等価エージェントサブセットは等価エージェントサブセットのランク付きリストから選択される、ステップと、第1のジョブが完了するのを待つステップと、第1のジョブの実行が成功しなかったことに応答して、等価エージェントサブセットのランク付きリストから選択された他の等価サブセットを用いてファブリック探索を試みるための第2のジョブを生成するステップと、第2のジョブが完了するのを待つステップと、もし第1のジョブまたは第2のジョブにおいて1つまたはそれ以上のエージェントの実行が成功しなければ、等価エージェントサブセットのランク付きリストを更新するステップとをさらに含む。好ましくは、識別されたエージェントの各サブセットを等価サブセットのグループに追加するステップは、等価サブセットの各グループ内の等価サブセットをランク付けするステップを含む。好ましくは、等価サブセットの各グループ内の等価サブセットは、エージェントタイプまたはエージェント固有識別子に基づいて分類される。好ましくは、等価サブセットの各グループ内の等価サブセットは、次の順序でランク付けされる。すなわち、ほとんどのセルをカバーするセット、CIMOMエージェントのみを有するサブセット、CIMOMおよびSNMPエージェントのみを有するサブセット、CIMOM、SNMPおよび帯域内エージェントのみを有するサブセット、ネイティブAPIを有するサブセット、コマンドラインインタフェースを有するサブセット、およびすべてのエージェントである。好ましくは、ファブリック発見動作を行うステップは、現在探索されるファブリックの部分であるスイッチのリストを得るステップをさらに含む。好ましくはこの記憶管理システムは、各等価サブセット内の識別されたエージェントサブセットの複合能力を定めることによって、そのファブリックから収集できる情報の限界を定めるステップを行うための命令をさらに含む。好ましくは、エージェントを選択する方法は、1つまたはそれ以上のファブリックに対するファブリック探索のスケジューリングに応答して行われる。好ましくは、エージェントを選択する方法は、ファブリックイベントの受け取り、およびそのファブリックイベントによるファブリック変化の可能性を検出するための自動ファブリック探索の開始に応答して行われる。よって、以下のものを含むシステムが具現化されてもよい。すなわちこのシステムは、システム内の少なくとも1つのプロセッサと、動的能力グリッドを用いて規定の能力を有するエージェントの等価セットを選択するために少なくとも1つのプロセッサとともに動作可能な命令を有する、システム内の少なくとも1つのメモリ記憶装置とを含み、この命令はシステム内のハードウェア構成要素において実行されることによって以下のステップを行う。すなわち、規定の環境内の各エージェントを用いて発見動作を行うことによってエージェント能力情報を定めるステップと、発見動作から収集されたエージェント能力情報に基づいて、エージェントの等価サブセットのグループを生成するステップであって、エージェントの等価サブセットは規定の環境において発見された各エージェント能力によってグループ化される、ステップとを行い、このステップは、規定の環境内で動作する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスは規定の環境内の項目に関する各エージェントに対する能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりに規定の環境内で重複した能力を有するエージェントのセットを識別するステップと、識別されたエージェントのセットのスコア付けおよびランク付けを行うステップと、識別されたエージェントの各セットを等価サブセットのグループ内のグループに追加するステップとを含み、この命令はさらに、等価サブセットに関連する能力に基づいて規定の環境内で動作を行うために等価サブセットのグループから等価サブセットを選択するステップと、選択された等価サブセットを用いて規定の環境内で動作を実行するステップとを行う。すなわち、本発明のさまざまな実施形態は、記憶領域ネットワークファブリックまたはその他の規定の環境に対する情報を最も効果的に集めるために用いられ得るエージェントの等価またはいくつかの制限を伴う等価サブセットを定めるための技術を提供する。本明細書に開示される技術はさらに、エージェントの混合が与えられたときにファブリックに対して集められる情報を最大化するための解決策を提供し、ファブリックに対して集められる情報の限界を定める能力を提供し、かつエージェントの追加および除去の影響を分析するためのwhatif仮定分析を行う一方で、集められる情報の限界を克服するために追加すべきエージェントを定める能力を提供する。一実施形態においては、アルゴリズムを用いて等価サブセットを計算し、次いでエージェント割り当てを行う。エージェント割り当ては、ファブリックに対する情報を集めるために、エージェントの1つまたはそれ以上の最高ランクが付けられた等価サブセットからのエージェントを利用する。こうした割り当ては、収集される情報を最大化したまま、より少数のエージェントを用いてファブリックに対する情報を集める可能性がある。割り当てられたエージェントは、次いでファブリックから情報を集めるために動作してもよく、適切に実行または機能できなかったあらゆるエージェントは、好適なエージェントの他の等価サブセットに置換されてもよい。本発明のさらなる側面は、等価サブセットの概念を拡張して、ファブリックに対する情報の可用性の機能向上を提供する。たとえば、いくつかのwhatifシナリオを行って、エージェントまたはエージェントタイプの追加または除去の影響を分析することが可能である。加えて、ファブリックに対する完全な情報を収集できるようにするためにはどのタイプのエージェントまたは特定の単数もしくは複数のエージェントを追加する必要があるかを定め、一方でエージェントのどのサブセットが情報収集に成功しそうかを定めることも可能である。さらに、等価サブセットの使用によって、情報を集めている間にいくつかのサブセットが失敗したときに、追加の等価サブセットを試みることが可能になり、それによってファブリックに対する情報収集の可能性が高くなる。先行技術において公知の技術に対する本開示技術の利点のいくつかは以下を含む。1最小数のエージェントを用いて収集される情報の最大化、および情報のいくつかが必要とされないか、または他のエージェントによって収集される場合に、部分的な情報を収集するためにエージェントを使用する能力、2エージェントの混合に基づいてファブリックに対する完全な情報を収集できるかどうかの判定、および部分的情報しか収集できない場合に収集されない特定の情報を判定すること、3失敗が起こったときに、情報を集めるために使用すべき特定の代替エージェントを定めるステップと、誤りのアラートが生成されることを防ぐステップとを含む失敗シナリオを操作する能力、および第1の実行における成功の可能性を改善するために事前チェックを行う能力、ならびに4エージェント/エージェントタイプの追加/除去の効果、および情報のカバレッジを改善するためにどのエージェント/エージェントタイプを追加する必要があるかのwhatif分析を支持し、代替アルゴリズムを用いて等価エージェントサブセットを並行して呼び出すことによって、全体の処理時間を低減させながら同時に頑強性を改善する能力。本明細書に開示される1つの特定の実施形態において、記憶領域ネットワーク内のファブリックから情報を集めるためにエージェントを定めるための方法は、記憶領域ネットワークに接続されたエージェントを用いてファブリックのセットに対してファブリック発見動作を行うステップと、ファブリック発見動作から識別された能力情報を用いて、ファブリックに対する情報を収集できるエージェントの等価サブセットのグループを生成するステップと、探索される各ファブリックに対してエージェントの等価サブセットを選択するステップと、最終的に、選択された等価サブセットを用いてファブリックのセットに対するファブリック探索を実行するステップとを含む。より特定的には、ファブリック発見動作からエージェントの等価サブセットのグループを生成するときに、エージェントの等価サブセットは記憶領域ネットワーク内の各ファブリックに関するエージェント能力に基づいてグループ化されてもよい。たとえば、これらの能力はトポロジ、ブレード、性能管理のためのスイッチポート情報、および物理インフラストラクチャを含んでもよい。次いで、各ファブリックに対して次のステップが繰り返されてもよい。すなわち、ファブリックについて報告する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスはファブリックに対する各エージェントの能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりにファブリックに対する重複した能力を有するエージェントのサブセットを識別するステップと、識別されたエージェントの各サブセット内の各エージェントに対する通信チェックを行うステップと、識別されたエージェントのサブセットに対する通信チェックが成功したことに応答して、識別されたエージェントの各サブセットを等価サブセットのグループ内のグループに追加するステップとである。生成されるこれらの等価サブセットは、ファブリック内のすべてのスイッチに対するすべてのカテゴリの情報を最大限にカバーするサブセットの組み合わせである。動的能力グリッドを用いて規定の能力を有するエージェントの等価セットを選択するための別の特定の実施形態も本明細書に記載されており、それはより一般的な環境からの等価サブセットの選択および使用を可能にする。この実施形態においては類似のステップが行われ、そのステップには規定の環境内で情報を収集できる各エージェントを用いて発見動作を行うステップと、発見動作からエージェントの等価サブセットのグループを生成するステップと、等価サブセットに関連するエージェント能力および特性に基づいて、動作を行うために等価サブセットのグループから等価サブセットを選択するステップと、選択された等価サブセットを用いて規定の環境内で動作を実行するステップとが含まれる。エージェントの等価サブセットは規定の環境において発見されたエージェント能力のタイプに基づいてグループ化され、このステップは、規定の環境内で動作する各エージェントに対するデータを能力マトリックスに投入するステップであって、能力マトリックスは規定の環境内の項目に関する各エージェントに対する能力のセットの指示を提供する、ステップと、能力マトリックスに示されるとおりに規定の環境内で重複した能力を有するエージェントのセットを識別するステップと、識別されたエージェントのセットのスコア付けおよびランク付けを行うステップと、識別されたエージェントの各セットを等価サブセットのグループ内のグループに追加するステップとを含む。本発明の別の実施形態は、本明細書に記載される技術と整合性のあるプロセッサと、メモリユニットと、記憶領域ネットワーク内のファブリックのセットまたはより一般的に規定される環境から情報を集めるためにメモリユニット内に保存される命令とを含む記憶管理システムを提供する。加えて、本発明の別の実施形態は、記憶領域ネットワーク内のファブリックのセットまたはより一般的に規定される環境から情報を集めるためのコンピュータプログラム製品を提供し、このコンピュータプログラム製品は、本明細書に記載される技術を実装するためにともに具現化されるコンピュータ可読プログラムコードを有するコンピュータ可読記憶媒体を含む。添付の図面を参照して、単なる例として本発明の好ましい実施形態を説明する。本開示発明の実施形態は、記憶領域ネットワークファブリックまたはその他の複合項目構成から情報を集めるためのエージェントの効率的な識別および使用を容易にするためのさまざまな技術および構成を提供する。たとえば既存のSANファブリック管理シナリオにおいては、複数のエージェントがファブリックに関する冗長な情報を集める。本開示発明の一実施形態は、エージェントのサブセットを用いて、それらのエージェントの各々が探索すべきファブリックの割り当てを行うことによって管理負荷を低減し、かつ必要な処理の量を低減するように動作する。以下の開示は、記憶領域ネットワークおよびこうしたネットワーク内のさまざまなファブリック管理技術に関する非限定的な実施例のセットを提供する。当業者が認識するとおり、本発明の実施形態は、複合構成たとえばファブリックなどに関する情報を報告または収集できるエージェントまたは類似のデータ収集ソースが存在するあらゆる環境において用いられてもよい。SANにおいて、エージェントはファブリックに関する何らかの情報を報告できるデータソースの役割をする。SANファブリックを探索できるエージェントの混合が与えられるとき、本発明の一実施形態は、ファブリック探索の際に収集できる情報の限界もしあればを定めるために動作してもよい。さらに、本発明のさまざまな実施形態は、もしエージェントの1つまたはそれ以上が適切に動作できなければ、ファブリックから情報を収集できる等価エージェントおよびエージェントの等価サブセットを定めるために動作してもよい。あるファブリックに対して等価エージェントサブセットが競合するときは、いくつかのwhat-ifシナリオが実行されてもよく、このシナリオはエージェントの除去の影響を定めるステップと、等価サブセット内の複数のサブセットからエージェントを呼び出すステップと、探索に用いられるエージェントの数を減らすと同時にファブリック探索の頑強性を改善するための他のやり方を算出するステップとを含む。図1は、本発明のさまざまな実施形態の側面を実装し得る記憶領域ネットワークSANの例を示す。図1に示されるSAN100は、相互接続された計算デバイス、記憶装置およびネットワーキングデバイスのネットワークを示す。特定的には、SAN100は複数のノード102、104、106、108、110、112を含む。これらのノードはSANの記憶能力にアクセスするホストであってもよいし、ノードはSANのデータ記憶能力を提供するために用いられる記憶サブシステムであってもよい。SANには、たとえばテープライブラリおよび記憶バーチャライザなどの他のタイプのノードも存在してもよい。図1に示されるとおり、これらのノードは計算システム102、104および112に加えて記憶ユニット106、108および110を含んでもよい。図1に示されるとおり、SAN100内の複数のノード間に存在する交換ネットワークは第1のファブリック120によって設定される。ファブリックはノードおよびノードに接続される交換ネットワークを包含し、SANは1つまたはそれ以上のファブリックおよびネットワーク構成全体のより大きな集合体である。したがってファブリック120は、SAN100内の複数のスイッチ122および124に加えて、SAN100内で接続されるすべてのノードを含む。ファブリック120内に示されるとおり、スイッチ122および124は接続131、132、133、134、135、136を介してさまざまなネットワークノードに接続されることによって、ファブリック接続に冗長性を有さないライントポロジネットワークを有するネットワークを生成するスイッチ122および124はインタスイッチリンク152を通じて直接接続される。加えて図1は、スイッチ126および128を含む第2のファブリック125のオーバーレイ図も提供する。つまり、第2のファブリック125もネットワークノード102、104、106、108、110、112をカバーするが、それはスイッチ126および128を通じた接続141、142、143、144、145、146を介したものであるスイッチ126および128はインタスイッチリンク154を通じて直接接続される。図1のSAN100には2つのファブリックのみが示されているが、異なるサイズの記憶領域ネットワーク内に多数のファブリックが構成されてもよいことを当業者は認識するであろう。同様にSANの構成は、たとえばSAN内のスイッチ間に追加のインタスイッチリンクを生成して部分的または完全に接続されたメッシュトポロジを生成することなどによって異なっていてもよい。たとえば、SAN100内の接続はファイバチャネル接続であってもよく、スイッチ122、124、126、128はファイバチャネルスイッチであってもよい。代替的な実施形態において、SAN100内で用いられるネットワークタイプは、シリアル接続SCSIserialattachedSCSI:SAS、iSCSI、ファイバチャネルオーバイーサネットRFibreChanneloverEthernet:FCoE、またはその他の好適な記憶領域ネットワークデータ転送技術であってもよい。よって、SAN内のファブリックに接続される記憶装置、スイッチおよびサブシステムは、ファイバチャネル記憶装置、SAS記憶装置、単一記憶装置、または記憶装置および適切なネットワークトポロジにおいて動作可能なエンクロージャのその他の組み合わせであってもよい。以下の開示は、記憶領域ネットワークにおける使用が普及していることから、概してファイバチャネルトポロジを用いるファブリックを示すが、本発明は他のネットワークプロトコルおよび技術にも等しく適用可能であることを当業者は認識するであろう。SANまたはあらゆるその他の分散処理システムの動作の成功は、ネットワークの構成要素がうまく通信して常時機能することに依存している。SANの正しい継続的な動作を確認するために、ファブリックのさまざまな構成要素を探索するためにエージェントが配置されてもよい。たとえば、ファブリックの探索を用いて、たとえばファブリック内のスイッチ、スイッチ内のポート、およびこれらのスイッチポートが接続されるポートのリストなどの詳細を含むトポロジ情報を集めてもよい。すなわち、エージェントは探索動作を用いてSANの構成を定め、すべてのネットワーク接続が完全かつ動作可能であることを確認してもよい。しかし、エージェントがファブリックに配置されて探索を進行できるようになる前の重要なタスクは、ファブリック発見を行って、利用可能なエージェントのどの選択が将来の動作においてファブリックを最も完全かつ効率的に探索するかを識別することである。エージェントを用いる既存の技術は、ファブリック発見および最も適切なファブリックモニタリングエージェントの識別に対する包括的な解決策を提供していない。たとえば、エージェントを識別するための限定されたアプローチの1つがナガラジラオNagarajraoらの米国特許出願第10/666,046号複数の情報収集エージェントからのネットワーク情報の知的発見Intelligentdiscoveryofnetworkinformationfrommultipleinformationgatheringagentsに記載されており、本明細書においてその全体が引用により援用される。以下の考察から明らかであるとおり、本開示発明はこの技術およびその他の技術に対する顕著な改善を提供する。1.米国特許出願第10/666,046号に開示されるものなどの技術において、候補エージェントは一般的に、特定のエンティティをカバーできる最初のエージェントを見出すことによって捜し出される。このアプローチは資格のあるエージェントを識別するが、それは複数のエンティティから情報を検索する必要があるシナリオにおいて、必ずしも最も効率的な解を提供しない。なぜならそれは複数のエンティティをカバーできるエージェントを計算に入れないからである。このアプローチの重要な問題の1つは、各構成要素の解集合が別々であるために最小解が定められないおそれがあることである。簡単な例として、たとえエージェントA1およびA2が両方ともエンティティE1およびE2を見ることができたとしても、解集合はA1またはA2だけを用いるのではなく、E1に対してA1を、E2に対してA2を用いるという結果をもたらすことがある。2.米国特許出願第10/666,046号に開示されるものなどの技術によって認識されるとおり、あるエンティティについて報告できるエージェントの能力には細分性がない。そうではなくて、すべてのエージェントはあるエンティティについて報告できるか否かで分類される。これは以下のいくつかの問題をもたらす。a各々がエンティティに対する部分的な情報を提供する2つのエージェントがそのエンティティに対する完全解として一緒にグループ化されることができず、代わりに無視されなければならないことによって、何らかの情報が収集されないことになる。bもしあるエージェントが情報検索の途中で失敗し、そのエンティティに対する完全なデータセットを提供できる他のエージェントがなければ、その失われたデータのみを収集するために使用できるエージェントがあるかどうかを判断する方法がない。この制限によって、部分的なデータのみを収集する必要があるときにもエンティティに対する完全なデータセットを収集することがエージェントに求められる可能性があり、よってその解は最適でなくなる。c同様に、利用可能な情報のサブセットのみが必要な場合に、エンティティに対するすべての情報を報告できないエージェントがその所望のサブセットを報告できるかどうかを判断することができない。この制限によって、特定のデータが収集されなくなるか、または必要以上のデータを収集することがエージェントに求められる可能性がある。dエージェントの混合に基づいて、収集されない可能性のある特定の部分的情報を定めることができない。e使用されるエージェントの数が必要数より多くなることがある。3.既存の技術は、ファブリックをモニタする責を負う個々のエージェントにおいて起こる失敗に関する問題の多くに完全に対処していない。実行のために選択された1つまたはそれ以上のエージェントが失敗して、代替エージェントが情報収集に用いられるとき、その遷移によって誤りのアラートがトリガされるべきではない。たとえば、エージェント1が失敗したときにファブリックの状態遷移がミッシングとマーク付けされ、次いでファブリックが所定の期間にわたって少なくとも1つのエージェントに対して可視であるときに検出可能とマーク付けされることが、代替エージェントが用いられたという事実のみによってもたらされる。こうした誤りのアラートは回避されるべきである。加えて、呼び出される前の1つまたはそれ以上のエージェントと通信できないとき、または1つまたはそれ以上のエージェントが後に失敗したときには、情報を集めるためにもし使用できるものがあれば代替エージェントを定め得るべきである。これらの問題に応答して、本開示発明はエージェントの等価サブセットの識別および使用を提供する。等価サブセットを捜し出すことによって、whatifシナリオのセットを実行して、エージェントの異なるセットが収集されるデータをどのように増加もしくは低減させるかという点で、または使用されるエージェントの総数の点で、エージェントまたはエージェントタイプの追加または除去の影響を分析することが可能である。さらに、本開示の実施形態を用いて、あるファブリックに対する完全な情報を収集できるようにするためにはどのタイプのエージェントまたはどの特定の単数/複数のエージェントを追加する必要があるかを定めることが可能である。加えて、事前チェックを行って、エージェントのどのサブセットが情報収集に成功しそうかを見出すたとえば、エージェントの使用を試みる前にサブセット内のエージェントにある種のpingを用いることによって、失敗が起こった後ではなくその事実より前に失敗を処理し得るようにすることも可能である。加えて、情報を集めているときにもしいくつかのサブセットが失敗すれば、追加の等価サブセットを試みることによってファブリックに対する情報収集の可能性を増加させることも可能である。たとえば2つ以上の等価サブセットを並行して用いることこれによって1つのサブセットが失敗した場合に他のサブセットによって情報が集められ、処理が同時であるために経過時間が低減されるなど、本開示の実施形態に対する代替的アプローチおよび変形を用いて処理時間を速くしてもよい。加えて、等価サブセット間のデルタを計算することによって、第1のサブセットが失敗したときに代替等価サブセットによる最小数のエージェントを代わりに用い得るようにすることも可能である。ファブリック発見および探索以下の実施例およびアルゴリズムにおいて、ファブリック発見および探索を詳細に考察する。以下の技術は、たとえばファブリックにゾーン変更を加えるなどの他のネットワーク動作または他のタイプの問題ドメインに対して適用可能であってもよいし、別様に適合されてもよい。ファブリック発見は、エージェントが自身が報告できるファブリックを発見するプロセスである。ファブリック発見によって報告される情報は、ファブリックおよびこうしたファブリックの部分であるスイッチに対する識別子を含む。ファブリック発見が行われると、ファブリックを発見したエージェントの能力も既知となる。能力とは、あるエージェントが収集できるファブリックに関する情報の種類を説明するものである。ファブリック探索は、エージェントが1つまたはそれ以上のファブリックに対する詳細なトポロジおよびゾーン分け情報を報告する実際のプロセスである。これはファブリック内のスイッチ、ファブリックの各スイッチ内のポート、それらのスイッチポートが接続されるポート、ファブリックに対するゾーン分け構成、ならびにファブリック内の物理的および論理的エンティティのその他の詳細のリストを含んでもよい。エージェントが報告できるファブリック内のスイッチの点から、もしくはファブリック内の1つもしくはそれ以上のスイッチに対してエージェントが報告できる情報のカテゴリの点から、またはその両方の点から、重複する能力が識別されてもよい。たとえば、エージェントA1はファブリック内のスイッチS1およびS2について報告でき、エージェントA2はスイッチS1についてのみ報告できることを識別するか、またはエージェントA1はスイッチS1およびS2に対するトポロジ情報を報告でき、エージェントA2はスイッチS1およびS2に対するゾーン分け情報を報告できることを識別することなどによる。図2は、スイッチSW1221、SW2222を有するファブリックF1210、ならびにエージェントC1230、C2240およびSRA1250の構成例を示す。ファブリックF1210のファブリック発見において定められるとおり、エージェントC1230はF1->SW1について報告でき、エージェントC2240はF1->SW2について報告でき、エージェントSRA1250はF1->SW1,SW2について報告できる。C1、C2およびSRA1の各々はゾーン分けについて報告できる。ファブリックF1210はトポロジについて探索されるため、ファブリックのトポロジに対する等価サブセットは{{C1,C2},{SRA1}}と定められる。さらに、ファブリックのゾーン分けに対する等価サブセットは{{C1},{C2},{SRA1}}と定められる。この例において、もしC1がトポロジおよびゾーン分け情報を得るために割り当てられ、C2がトポロジ情報を得るために割り当てられれば、ファブリックF1の探索は成功し得る。情報はすべてのカテゴリに対して収集されてもよいため、ファブリック内の収集されていない情報に関する警告メッセージはない。一実施形態においては、エージェントの能力を表すために能力グリッドが用いられる。図3は、SANファブリックに関連する動的能力グリッド300の図を提供する。グリッドの行305の数は、ファブリック内のスイッチの数にファブリックについて報告できるエージェントの数を乗じたものに対応する。さらに、エージェント310、ファブリック320およびスイッチ330に対する保存情報に加えて、グリッドはいくつかのカスタム能力を追跡してもよい。たとえば、トポロジ、全ゾーンデータベース、活動中のゾーン分け構成などの特定の能力が、列340、350、360において追跡されてもよい。動的能力グリッドの使用は、さまざまな他の設定のためのデータ収集に適用されてもよい。たとえば、電気エネルギグリッドをネットワーク化構成とみなして、エネルギシンクに対するエネルギソースをエージェントと考え、動作をエネルギシンクに対する潜在的エネルギソースの決定にしてもよい。エージェントの選択のためのアルゴリズムエージェントの選択に用いられ得る以下のアルゴリズムは一般的なものであり、問題に関連するあらゆる種類の能力を含む能力グリッドを入力として取ることができる。しかしその主要な要求は、すべてのエージェントに対する能力グリッドの寸法が等しいすなわち同数の能力になることである。1ファブリック探索を開始する。これはユーザが1つまたはそれ以上のファブリックのファブリック探索をスケジュールすることの結果として行われてもよいし、ファブリックイベントが受け取られて、システムがそのイベントによるあらゆるファブリック変化の可能性を検出するために自動ファブリック探索を行うことを決定したことに応答して行われてもよい。2現在探索されるファブリックの部分であるスイッチのリストを得るこのステップは一変形であり、不可欠なステップではない。3すべてのエージェントを用いてファブリック発見を行う。4発見を実行する前に得られたリストを用いてスイッチが部分をなすファブリックを見出すことによって探索されるべきファブリックのリストを構築するこのステップも変形であり、不可欠なステップではない。5探索されるべき各ファブリックに対して以下のステップを行う。A.そのファブリックについて報告するさまざまなエージェントに対する能力マトリックスを構築し、分類された等価サブセットリストを構築する。本明細書において用いられるエージェントの等価サブセットとは、ただ1つのサブセットを用いれば十分であるほどの等価累積能力を有するエージェントのサブセットのことである。たとえば、もし{A1,A2}、{A3}、{A4}が等価サブセットであれば、aA1およびA2の組み合わせ、bA3、またはcA4のいずれかがファブリック探索に用いられてもよい。B.エージェントを等価サブセットに含める前に通信事前チェックを行うことによって、エージェントが等価サブセットに含まれたときに、選択されたエージェントサブセットに非活動/非機能エージェントが含まれないようにする。C.等価サブセットに加えられる各エージェントおよび各エージェントサブセットにスコアを割り当てることによって、すべてのリストが常に分類されて優先順位付きであるようにする。分類は割り当てを示すために有用である。加えて分類は、同じエージェントが別のファブリックを探索するためにすでに選択されているときに、ファブリックを探索するために同じエージェントを潜在的に選択することを助ける。D.等価サブセットリスト内の各サブセットの複合能力を定めることによって、収集できる情報に対する限界もしあればが識別されるようにする。より特定的には、ステップ5に用いられるステップは以下の技術を用いる。各エージェントタイプに対して、ファブリックを管理するために用いられるエージェントのリストが戻される。このリストはいくつかの規則を用いて選別および分類されてもよく、こうしたリスト内の各エージェントに対して能力グリッドが戻される。各スイッチに対して、ファブリックを管理する各エージェントに対する能力グリッドを用い、収集される情報の各カテゴリを追跡して、そのスイッチに対するそのカテゴリに対する情報を収集できるエージェントのリストを構築する。次いで、そのスイッチに対するすべてのカテゴリに対する情報をともに収集できるエージェントのさまざまな組み合わせを生成する。次に、ファブリック内の各スイッチに対する情報を集めるサブセットのクロス積を行うことによって、等価セットのすべての組み合わせを見出す。次いで等価サブセットがランク付けされる。ステップ5に対する一変形は、戻されたエージェントのリストに対して、たとえばエージェントタイプ、またはエージェントの固有IDのアルファベット順などの分類基準を適用するステップを含む。戻された各エージェントは固有の順序番号を有する。等価サブセットに対するスコア付けは、ほとんどのセルをカバーするセットを最も高くランク付けし、その後にサブセットのエージェントタイプの組み合わせCIMOMエージェントのみを有するサブセット、CIMOMおよびSNMPエージェントのみを有するサブセット、CIMOM、SNMPおよび帯域内エージェントのみを有するサブセット、ネイティブAPIを有するサブセット、コマンドラインインタフェースを有するサブセット、およびすべてのエージェントを続けることによって適用されてもよい。サブセット内のエージェントの順序番号の合計がタイブレーカの役割をしてもよい。6識別された等価サブセットを用いて、探索されるファブリックの各々に対するエージェント割り当てを示し、ファブリック探索を実行する。このステップに対する一変形は、もしあれば各ファブリックに対する1つの等価エージェントサブセットを含むジョブを生成するステップを含む。選択されるであろう等価エージェントサブセットは、リスト内の第1のサブセットである。リストは分類済みのため、第1のサブセットを選ぶことによって、最高のスコアを有するサブセットが選ばれることになる。新しく生成されたジョブが完了した後に、もしいずれかのファブリックに対して等価サブセットが用いられていて、そのサブセットを用いた探索が失敗していれば、こうしたファブリックの各々に対する残りすべての利用可能な等価サブセットを含む別の新たなジョブが生成される。もし適用可能であればこの第2の新たなジョブが完了した後に、どのファブリックエンティティがさまざまなエージェントに対してなおも可視であるかに関する判定をもたらすあらゆる論理、およびエージェント割り当てのために実行されなかったエージェントによるファブリックエンティティの可視性を処理するためのあらゆる論理を行う。このステップは最後に行われることによって、選択された等価サブセットが失敗して代替サブセットが用いられるときに遷移が適切に処理されるようにする。遷移のこうした処理は、あらゆる誤りのアラートが生成されることを防ぐ。たとえば、ファブリック情報を集めるためにエージェント割り当てによって最初に選択されたエージェントA1が失敗し、その後用いられた代替エージェントA2が処理のこのウィンドウにわたってファブリック情報を集めたとき、ファブリックエンティティは検出可能であるとみなされることが望ましい。エージェントによるファブリックエンティティの可視性を取り扱う処理が、もしすべての代替エージェントがファブリック探索に用いられるまで延期されなければ、遷移の際にファブリックエンティティがミッシングとマーク付けされる可能性があり、その結果システムに対してファブリックが可視でないという望ましくないアラートがもたらされた後に、一旦代替エージェントがファブリック情報を集めると、システムに対してファブリックエンティティが可視であるというアラートがもたらされることが起こり得る。以下の実施例は、本明細書に記載されるエージェントを識別するためのさまざまな技術のいくつかを示すものである。ファブリックおよびファブリックについて報告できるエージェントのセットが与えられて、以下の図面は動的能力グリッドの使用と、等価サブセットの計算とを示す。SANファブリックにおいて使用されるときの実施例に挙げられた能力トポロジ、スイッチポート情報などは例示の目的のためのみのものであり、あらゆる数の同様の能力に置換されてもよい。等価サブセットを計算するための実際のアルゴリズムは一般的なものであり、能力のあらゆるリストを処理してもよい。同様にファブリック内のスイッチは、エージェントがそれに対する情報を報告できるファブリックの構成要素とみなされる。エージェントがそれに対する1つまたはそれ以上の能力/カテゴリの情報を報告できるファブリックのその他の関連構成要素があるときには、それらの構成要素が加えられてもよい。アルゴリズムへの入力は、各々が2次元グリッドに1つの軸におけるスイッチまたは情報が収集されるファブリックのあらゆるその他の構成要素および能力その構成要素に対して収集され得る情報のカテゴリを投入するエージェントのセットである。図4は、本発明によって提供されるさまざまな技術を用いて探索され得る第1のファブリック構成の例を提供する。ユーザはファブリックF1410のトポロジを探索する。エージェントC1430は、ファブリックF1410に対するトポロジおよびゾーン分け情報を得るために割り当てられる。エージェントO1440およびO2460も呼び出される。C1430に対する探索は成功して終了する。選択された候補サブセットはファブリックF1410の探索に成功する。エージェントSRA450は実行されなかったため、内部テーブルはそれに従って更新される。この構成において、エージェントC1430はファブリックF1410内のすべてのスイッチに対する性能管理のためのトポロジ、ブレードおよびスイッチポート情報を報告できること、エージェントSRA1はファブリックF1内のすべてのスイッチに対するトポロジを報告できること、エージェントC1430はゾーン分けを報告できること、ならびにエージェントO1440およびO2460はそれぞれSW1421およびSW2422に対するトポロジ情報を報告できることが判定されてもよい。したがってトポロジに対する等価サブセットは、ファブリックF1410に対して{C1}、{C1,O1}、{C1,O2}、{C1,O1,O2}、{C1,SRA1}、{C1,O1,SRA1}、{C1,O2,SRA1}である。ゾーン分けに対する等価サブセットは、ファブリックF1410に対して{{C1}}である。図5は、図4で行われたファブリック探索を用いて集められた情報に基づく動的能力グリッド500の例を提供する。図示されるとおり、行501はスイッチSW1に接続されたエージェントに対して収集された情報を詳述し、行502はスイッチSW2に接続されたエージェントに対して収集された情報を詳述する。グリッド500内で追跡されるネットワーク特有情報は、エージェントの識別子510、ファブリック520、スイッチ530、トポロジ540、ブレード情報550、性能管理performancemanagement:PMのためのスイッチポート情報560、およびたとえばCISCO物理インフラストラクチャなどの特定の物理インフラストラクチャ570が存在するかどうかの表示を含む。グリッド500内で、スイッチSW1に対して保存された情報は以下を含む。トポロジ-C1、O1、SRA1。ブレード-C1。PM-C1。物理インフラストラクチャ-。したがってSW1をカバーし得るサブセットは{C1}、{C1,O1}、{C1,SRA1}である。スイッチSW2に対して保存された情報は以下を含む。トポロジ-C1、O2、SRA1。ブレード-C1。PM-C1。物理インフラストラクチャ-。SW2をカバーし得るサブセットは{C1}、{C1,O2}、{C1,SRA1}である。ここでも等価サブセットは、ファブリック内のすべてのスイッチに対する情報のすべてのカテゴリをカバーするサブセットの組み合わせである。エージェントに対する順序番号を用いると、C1は1、O1は2、O2は3、SRA1は4である。よって順序は{C1}、{C1,O1}、{C1,O2}、{C1,O1,O2}、{C1,SRA1}、{C1,O1,SRA1}、{C1,O2,SRA1}となる。ゾーン分けに対する等価サブセットは{{C1}}である。図4に示されるファブリック構成の第2の実施例において、C1はファブリックF1に対するトポロジおよびゾーン分け情報を得るために割り当てられてもよい。O1およびO2も呼び出されてもよい。C1に対する探索が失敗したと仮定する。SRA1も呼び出される。その結果、PMおよびブレード情報に対するデータが収集されなかったという警告メッセージがもたらされる。ユーザはF1のトポロジを探索する。エージェントC1はファブリックF1内のすべてのスイッチに対する性能管理のためのトポロジ、ブレードおよびスイッチポート情報を報告でき、エージェントSRA1はファブリックF1内のすべてのスイッチに対するトポロジを報告できる。エージェントC1はゾーン分けを報告できる。エージェントO1およびO2はそれぞれスイッチSW1およびSW2に対するトポロジを報告できる。C1の失敗後のトポロジに対する等価サブセットは、F1に対して{O1,O2}、{SRA1}、{O1,SRA1}、{O2,SRA1}である。C1が失敗したことが既知となった後のゾーン分けに対する等価サブセットは、F1に対して{}である。動的能力グリッド内には以下の値が記録されてもよい。スイッチSW1に対して、トポロジ-O1、SRA1。ブレード-ブランク。PM-ブランク。物理インフラストラクチャ-ブランク。SW1をカバーし得るサブセットは{O1}、{SRA1}である。スイッチSW2に対して、トポロジ-O2、SRA1。ブレード-ブランク。PM-ブランク。物理インフラストラクチャ-ブランク。SW2をカバーし得るサブセットは{O2}、{SRA1}である。エージェントに対する順序番号-C1は1、O1は2、O2は3、SRA1は4である。よって順序は{O1,O2}、{SRA1}、{O1,SRA1}、{O2,SRA1}となる。ゾーン分けに対する等価サブセットのリストはブランク{}である。図6は、スイッチSW1421およびSW2422を有するファブリックF1410、ならびにエージェントC1430、C2470、O1440、SRA1450およびO2460の別の構成を提供する。図6に示される構成を用いた第1の実施例において、エージェントO1440およびO2460はトポロジおよび物理インフラストラクチャ情報を得るために割り当てられ、C1およびC2はスイッチポート情報を得るために割り当てられ、SRA1はファブリックF1に対するゾーン分けを得るために割り当てられる。O1、O2、C1、C2およびSRA1に対する各々の探索は成功する。ユーザはF1のトポロジを探索する。エージェントC1およびC2は、それぞれスイッチSW1およびSW2に対する性能管理のためのスイッチポート情報を報告できる。エージェントSRA1はファブリックF1内のすべてのスイッチに対するトポロジおよびゾーン分けを報告できる。エージェントO1およびO2は、それぞれSW1およびSW2に対するトポロジおよび物理インフラストラクチャを報告できる。動的能力グリッド内では、スイッチSW1に対して次のとおりである。トポロジ-O1、SRA1。ブレード-ブランク。PM-C1。物理インフラストラクチャ-O1。SW1をカバーし得るサブセットは{O1,C1}、{O1,C1,SRA1}である。スイッチSW2に対しては次のとおりである。トポロジ-O2、SRA1。ブレード-ブランク。PM-C2。物理インフラストラクチャ-O2。SW2をカバーし得るサブセットは{O2,C2}、{O2,C2,SRA1}である。等価サブセットは各スイッチをカバーするサブセットのクロス積である。エージェントに対する順序番号-C1は1、C2は2、O1は3、O2は4、SRA1は5であることから、ファブリックF1に対して{O1,O2,C1,C2}、{O1,O2,C1,C2,SRA1}がもたらされる。ゾーン分けに対する等価サブセットはファブリックF1に対して{{SRA1}}である。図6に示される構成を用いた第2の実施例において、ファブリックF1に対する性能管理のために、O1およびO2はトポロジを得るために割り当てられ、SRA1はゾーン分け情報を得るために割り当てられ、C1およびC2はスイッチポート情報を得るために割り当てられる。O1、O2、SRA1、C1、C2に対する探索は成功する。ユーザはF1のトポロジを探索する。この構成において、エージェントC1およびC2はそれぞれスイッチSW1およびSW2に対するスイッチポート情報を報告できる。エージェントSRA1はF1に対するトポロジおよびゾーン分けを報告できる。エージェントO1およびO2は、それぞれSW1およびSW2に対するトポロジを報告できる。動的能力グリッド内では、スイッチSW1に対して次のとおりである。トポロジ-O1、SRA1。ブレード-ブランク。PM-C1。物理インフラストラクチャ-ブランク。SW1をカバーし得るサブセットは{O1,C1}、{C1,SRA1}である。スイッチSW2に対しては次のとおりである。トポロジ-O2、SRA1。ブレード-ブランク。PM-C2。物理インフラストラクチャ-ブランク。SW2をカバーし得るサブセットは{O2,C2}、{C2,SRA1}である。等価サブセットは各スイッチをカバーするサブセットのクロス積である。エージェントに対する順序番号-C1は1、C2は2、O1は3、O2は4、SRA1は5であることから、ファブリックF1に対するトポロジに対して{{O1,O2,C1,C2},{C1,C2,SRA1},{O1,C1,C2,SRA1},{O2,C1,C2,SRA1}}の順序がもたらされる。ゾーン分けに対する等価サブセットはファブリックF1に対して{{SRA1}}である。当業者に認識されるとおり、記憶領域ネットワーク内のプロセス、ファブリックおよびエージェントの使用に対して、本開示ステップの変形が追加または省略されてもよい。さらに、本明細書に記載される技術の多くの部分は、たとえば非ファイバチャネルネットワークなど、他のタイプのネットワークトポロジにも適用可能である。さらに、示されたネットワークトポロジおよび記載されたネットワークの特徴は顕著に変動してもよい。当業者にさらに認識されるとおり、本発明の側面はシステム、方法またはコンピュータプログラム製品として具現化されてもよい。したがって本発明の側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、またはソフトウェアおよびハードウェアの側面を組み合わせた実施形態の形を取ってもよく、本明細書においてこれらはすべて一般的に回路、モジュールまたはシステムと呼ばれることがある。さらに、本発明の側面は、媒体において具現化されるコンピュータ可読プログラムコードを有する1つまたはそれ以上のコンピュータ可読媒体単数または複数において具現化されるコンピュータプログラム製品の形を取ってもよい。1つまたはそれ以上のコンピュータ可読媒体単数または複数のあらゆる組み合わせが使用されてもよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、たとえば電子、磁気、光学、電磁気、赤外、または半導体のシステム、装置、もしくはデバイス、または前述のもののあらゆる好適な組み合わせなどであってもよいがそれに限定されない。コンピュータ可読記憶媒体のより特定的な例非網羅的なリストは以下を含む。すなわち、1つまたはそれ以上のワイヤを有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリrandomaccessmemory:RAM、読出し専用メモリread-onlymemory:ROM、消去可能プログラマブル読出し専用メモリerasableprogrammableread-onlymemoryEPROMまたはフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読出し専用メモリcompactdiscread-onlymemory:CD-ROM、光学記憶装置、磁気記憶装置、または前述のもののあらゆる好適な組み合わせである。この文書の状況において、コンピュータ可読記憶媒体は、命令実行システム、装置またはデバイスによる使用、またはそれに関連する使用のためのプログラムを含有または保存できるあらゆる有形の媒体であってもよい。コンピュータ可読信号媒体は、たとえばベースバンド内または搬送波の部分などとして媒体内で具現化されるコンピュータ可読プログラムコードを有する伝播データ信号を含んでもよい。こうした伝播信号は、電磁気信号、光学信号、またはそのあらゆる好適な組み合わせを含むがそれに限定されないさまざまな形のいずれかを取ってもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、かつ命令実行システム、装置またはデバイスによる使用、またはそれに関連する使用のためのプログラムを通信、伝播または移送できるあらゆるコンピュータ可読媒体であってもよい。コンピュータ可読媒体において具現化されるプログラムコードは、ワイヤレス、ワイヤライン、光ファイバケーブル、RFなど、または前述のもののあらゆる好適な組み合わせを含むがそれに限定されないあらゆる適切な媒体を用いて伝送されてもよい。本発明の側面に対する動作を行うためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語、たとえばJavaR、SmalltalkR、Cなど、および従来の手続き型プログラミング言語、たとえばCプログラミング言語または類似のプログラミング言語などを含む、1つまたはそれ以上のプログラミング言語のあらゆる組み合わせで書かれていてもよい。プログラムコードは、すべてがユーザのコンピュータで実行されてもよいし、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータで実行されてもよいし、一部がユーザのコンピュータで、一部がリモートコンピュータで実行されてもよいし、すべてがリモートコンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワークlocalareanetwork:LANまたは広域ネットワークwideareanetwork:WANを含むあらゆるタイプのネットワークを通じてユーザのコンピュータに接続されてもよいし、たとえば、インターネットサービスプロバイダを用いてインターネットを通じて外部コンピュータへの接続が行われてもよい。本発明の実施形態に従う方法、装置システムおよびコンピュータプログラム製品の流れ図もしくはブロック図またはその両方を参照して、本発明の側面を上述した。流れ図もしくはブロック図またはその両方の各ブロック、および流れ図もしくはブロック図またはその両方におけるブロックの組み合わせは、コンピュータプログラム命令によって実装され得ることが理解されるだろう。これらのコンピュータプログラム命令が、汎用コンピュータもしくは特定目的のコンピュータのプロセッサ、またはマシンを生成するためのその他のプログラマブルデータ処理装置に与えられることによって、そのコンピュータのプロセッサまたはその他のプログラマブルデータ処理装置を介して実行された命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実装するための手段を生成するようにしてもよい。これらのコンピュータプログラム命令は、コンピュータ、その他のプログラマブルデータ処理装置またはその他のデバイスに特定の態様で機能するよう指示できるコンピュータ可読媒体の中にも保存されることによって、コンピュータ可読媒体中に保存された命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実装する命令を含む製造品を生成するようにしてもよい。さらに、コンピュータプログラム命令は、コンピュータ、その他のプログラマブルデータ処理装置またはその他のデバイスにロードされることによって、そのコンピュータ、その他のプログラマブル装置またはその他のデバイスにおいて一連の動作ステップを行わせることにより、コンピュータまたはその他のプログラマブル装置において実行される命令が、流れ図もしくはブロック図またはその両方の単数または複数のブロックにおいて指定された機能/動作を実装するためのプロセスを提供するような、コンピュータに実装されるプロセスを生成してもよい。図面中の流れ図およびブロック図は、本発明のさまざまな実施形態に従うシステム、方法およびコンピュータプログラム製品の実装可能なアーキテクチャ、機能および動作を例示するものである。これに関して、流れ図またはブロック図における各ブロックは、指定された論理関数単数または複数を実装するための1つまたはそれ以上の実行可能な命令を含むモジュール、セグメント、またはコードの部分を表していてもよい。さらに、いくつかの代替的な実装においては、ブロック中に示される機能が図面に示される以外の順序で起こることがあることに留意すべきである。たとえば、連続して示される2つのブロックは、伴われる機能に依存して、実際には実質的に同時に実行されてもよいし、それらのブロックがときには逆の順序で実行されてもよい。さらに、ブロック図もしくは流れ図またはその両方の各ブロック、およびブロック図もしくは流れ図またはその両方のブロックの組み合わせは、指定された機能もしくは動作を行う特定目的のハードウェアに基づくシステム、または特定目的のハードウェアとコンピュータ命令との組み合わせによって実装され得ることが注目される。本発明のさまざまな代表的実施形態をある程度特定的に上述したが、当業者は明細書および請求項に示される発明の主題の範囲から逸脱することなく、開示される実施形態に多数の変更を加えることができるだろう。"