(57)【要約】【課題】  ＳＡＮトポロジのパースペクティブを生成できることを含むＳＡＮ管理システムを提供することにある。【解決手段】  このＳＡＮ管理システムは、ＳＡＮをモニターするためのＳＡＮマネージャ・プログラムを含む。ＳＡＮ管理システムは、ＳＡＮマネージャ・プログラムとリンクされたＳＡＮ管理データベースをさらに含み、そのＳＡＮ管理データベースはＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別する情報を維持する。加えて、ＳＡＮ管理システムは、ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントを含み、そのセンサ・エージェントはデバイス間の接続に関する情報を収集し、ＳＡＮ管理データベース内に含めるために収集した情報をＳＡＮマネージャ・プログラムに提供する。その上、ＳＡＮ管理システムは、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するためにＳＡＮマネージャにリンクされたトポロジ・ビューアを含む。【選択図】  図７
2007509384.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク（ＳＡＮ）トポロジのパースペクティブを生成ためのＳＡＮ管理システムにおいて、前記ＳＡＮ管理システムが、ストレージ・エリア・ネットワーク（ＳＡＮ）をモニターするためのＳＡＮマネージャ・プログラムと、前記ＳＡＮマネージャ・プログラムとリンクされたＳＡＮ管理データベースであって、前記ＳＡＮ内に含まれるデバイスおよび前記デバイス間の接続を識別する情報を維持するＳＡＮ管理データベースと、前記ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントであって、前記ＳＡＮ内で発生するイベントに関連する情報を収集し、前記ＳＡＮ管理データベース内に含めるために収集した前記情報を前記ＳＡＮマネージャに提供する複数のセンサ・エージェントと、前記ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するために前記ＳＡＮマネージャにリンクされたトポロジ・ビューアとを含む、ＳＡＮ管理システム。
【請求項２】
前記ＳＡＮが、ホストと、ストレージ・デバイスと、スイッチとを含む、請求項１に記載のシステム。
【請求項３】
前記ホストが、データベース・サーバまたはファイル・サーバを有する、請求項２に記載のシステム。
【請求項４】
前記トポロジ・パースペクティブが、特定のホストにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項１ないし３のいずれかに記載のシステム。
【請求項５】
前記トポロジ・パースペクティブが、特定のストレージ・デバイスにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項１ないし４のいずれかに記載のシステム。
【請求項６】
前に要求されたトポロジ・パースペクティブが、新しいユーザ要求トポロジ・パースペクティブを生成する際に前記トポロジ・ビューアによって使用される、請求項１ないし５のいずれかに記載のシステム。
【請求項７】
前記トポロジ・ビューアが、前に要求された前記トポロジ・パースペクティブに関する情報を保管するためのメモリを含む、請求項６に記載のシステム。
【請求項８】
前に要求されたトポロジ・パースペクティブに関する前記情報が、前記ＳＡＮ内のデバイス間のアクセスを可能にするパスを含む、請求項７に記載のシステム。
【請求項９】
ＳＡＮトポロジのパースペクティブを生成するための方法において、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するステップと、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されたものを識別するステップと、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するステップと、前に計算された前記データ・パスとここで計算された前記データ・パスの両方に応じて要求された前記パースペクティブを生成するステップとを有する方法。
【請求項１０】
前記パースペクティブが、識別されたＳＡＮデバイスに接続された前記ＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別された前記ＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別された前記ＳＡＮデバイスが前記ＳＡＮトポロジ内に含まれる、請求項９に記載の方法。
【請求項１１】
前記パースペクティブが、識別された前記デバイスにとって見える前記ＳＡＮトポロジ内のすべてのデバイスのグラフィカル・マップを含み、前記すべてのデバイス間の接続が前記グラフィカル・マップ内に含まれる、請求項１０に記載の方法。
【請求項１２】
識別された前記ＳＡＮデバイスが、ホストと、ストレージ・デバイスと、スイッチとを含む、請求項１０または請求項１１に記載の方法。
【請求項１３】
前記ホストがデータベース・サーバまたはファイル・サーバを有し、前記ストレージ・デバイスがＪＢＯＤとストレージ・コントローラとを有する、請求項１２に記載の方法。
【請求項１４】
ＳＡＮトポロジのパースペクティブを生成するためにサーバ・システムによって読取り可能なシステム可読コードを含むＳＡＮ管理システム・デバイスにおいて、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するための論理手段と、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されたものを識別するための論理手段と、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するための論理手段と、前に計算された前記データ・パスとここで計算された前記データ・パスの両方に応じて要求された前記パースペクティブを生成するための論理手段とを有し、それにより、前記パースペクティブが、識別されたＳＡＮデバイスに接続された前記ＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別された前記ＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別された前記ＳＡＮデバイスが前記ＳＡＮトポロジ内に含まれ、それにより、前記ＳＡＮデバイスが、ホストと、ストレージ・デバイスと、スイッチとを含む、ＳＡＮ管理システム・デバイス。
【請求項１５】
ＳＡＮの構成に対する変更または前記ＳＡＮの構成から外れるデバイスの識別に基づいて、前記ＳＡＮ内のホスト、デバイス、およびスイッチのパースペクティブを含むキャッシュのそれぞれを更新する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ・エリア・ネットワーク（ＳＡＮ：StorageArea Network）の分野に関し、より具体的には、前のＳＡＮトポロジ・パースペクティブに関する情報が使用されるＳＡＮトポロジのパースペクティブ（perspective）を提供する方法に関する。
【背景技術】
【０００２】
１９８０年代の初期および中期にメインフレーム環境でストレージ管理が必要であったのと同じ理由で、現在、産業界はオープン環境でのストレージ管理を必要としている。企業は、データ記憶およびデータ管理能力が圧倒されるほど高速でデータを生成している。これらの能力がその増加を処理できない場合、何らかの時点で、次のトランザクションが収集されない危険性があり、事業が停止することになる。この状況に影響するものとしては、ストレージ・コストとストレージ管理コストという２つの問題がある。ストレージ・エリア・ネットワーク（ＳＡＮ）は、直接接続ストレージ・モデルと比べて、ブロック・ストレージ・システムのための好ましいストレージ・アーキテクチャ・モデルになっている。このように直接接続ストレージ・モデルよりＳＡＮが好まれるのは、ＳＡＮによって複数のサーバがブロック・ストレージ・デバイスを直接共用することができ、ＳＡＮユーザが記憶容量を増加するためにだけサーバを購入する必要がなく、サーバとストレージ管理を分離できることの結果である。
【０００３】
ＳＡＮの利点を利用するために、ＳＡＮを容易に管理できることが必要である。ＳＡＮ管理は、ストレージ・エリア・ネットワーク（ＳＡＮ）内のデバイスに関する情報を提供し、そのデバイスをモニターする、ツール、ポリシー、およびプロセスのセットである。ＳＡＮ管理ツールは概して、すべてのＳＡＮインストールとともに配備される。
【０００４】
あるＳＡＮを管理するためには、トポロジ・パースペクティブを生成できるＳＡＮ管理ツールを有し、このようなパースペクティブがそのＳＡＮ内に含まれるホスト、ストレージ・デバイス、スイッチ、および任意のその他の必要なデバイスを識別することは有用である。特定のホストに接続されたすべてのストレージ・デバイスのトポロジ・パースペクティブ（たとえば、ホスト中心パースペクティブ）、特定のストレージ・デバイスにアクセスしているすべてのホストのトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ）を提供するＳＡＮ管理ツールを有することはさらに有益である。その上、あるＳＡＮ内の特定のノードによってアクセス可能なそのＳＡＮ内のすべてのノード（たとえば、ホスト、ストレージ・デバイス、スイッチ、相互接続デバイスなど）を識別するパースペクティブ（たとえば、ＳＡＮノード・パースペクティブ）を有することはさらに有益である。
【０００５】
現在、システム管理者が特定のタイプのＳＡＮパースペクティブを要求するたびに、ＳＡＮ管理ツールは、ＳＡＮ管理ツールに関連するデータベースから複数の照会を呼び出し、検索されたデータを特定のタイプのＳＡＮパースペクティブ（たとえば、ホスト・パースペクティブ、ストレージ・デバイス・パースペクティブなど）に編成することにより、要求を満足するために必要なデータを検索する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明により、ＳＡＮトポロジのパースペクティブを生成するためのＳＡＮ管理システムが提供される。このＳＡＮ管理システムは、ＳＡＮをモニターするためのＳＡＮマネージャ・プログラムを含む。加えて、ＳＡＮ管理システムは、ＳＡＮマネージャ・プログラムとリンクされたＳＡＮ管理データベースを含み、そのＳＡＮ管理データベースはＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別する情報を維持する。また、ＳＡＮ管理システムは、ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェント（sensor agent）を含み、そのセンサ・エージェントはデバイス間の接続に関する情報を収集し、ＳＡＮ管理データベース内に含めるために収集した情報をＳＡＮマネージャ・プログラムに提供する。その上、ＳＡＮ管理システムは、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するためにＳＡＮマネージャにリンクされたトポロジ・ビューア（topologyviewer）を含む。
【課題を解決するための手段】
【０００７】
第１の態様によれば、ストレージ・エリア・ネットワーク（ＳＡＮ）トポロジのパースペクティブを生成ためのＳＡＮ管理システムにおいて、このＳＡＮ管理システムが、ストレージ・エリア・ネットワーク（ＳＡＮ）をモニターするためのＳＡＮマネージャ・プログラムと、ＳＡＮマネージャ・プログラムとリンクされたＳＡＮ管理データベースであって、ＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別する情報を維持するＳＡＮ管理データベースと、ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントであって、ＳＡＮ内で発生するイベントに関連する情報を収集し、ＳＡＮ管理データベース内に含めるために収集した情報をＳＡＮマネージャに提供する複数のセンサ・エージェントと、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するためにＳＡＮマネージャにリンクされたトポロジ・ビューアとを含む、ＳＡＮ管理システムが提供される。
【０００８】
好ましくは、ＳＡＮは、ホストと、ストレージ・デバイスと、スイッチとを含む。より好ましくは、ホストは、データベース・サーバまたはファイル・サーバを有する。好ましい一実施形態では、トポロジ・パースペクティブは、特定のホストにとって見えるＳＡＮ内のすべてのデバイスについて生成される。他の好ましい実施形態では、トポロジ・パースペクティブは、特定のストレージ・デバイスにとって見えるＳＡＮ内のすべてのデバイスについて生成される。
【０００９】
好ましくは、前に要求されたトポロジ・パースペクティブは、新しいユーザ要求トポロジ・パースペクティブを生成する際にトポロジ・ビューアによって使用される。より好ましくは、トポロジ・ビューアは、前に要求されたトポロジ・パースペクティブに関する情報を保管するためのメモリを含む。さらにより好ましくは、前に要求されたトポロジ・パースペクティブに関する情報は、ＳＡＮ内のデバイス間のアクセスを可能にするパスを含む。
【００１０】
第２の態様によれば、ＳＡＮトポロジのパースペクティブを生成するための方法において、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するステップと、要求されたパースペクティブ内のデータ・パスのうち、前に計算されたものを識別するステップと、要求されたパースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するステップと、前に計算されたデータ・パスとここで計算されたデータ・パスの両方に応じて要求されたパースペクティブを生成するステップとを有する方法が提供される。
【００１１】
好ましくは、パースペクティブは、識別されたＳＡＮデバイスに接続されたＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別されたＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別されたＳＡＮデバイスはＳＡＮトポロジ内に含まれる。より好ましくは、パースペクティブは、識別されたデバイスにとって見えるＳＡＮトポロジ内のすべてのデバイスのグラフィカル・マップを含み、すべてのデバイス間の接続はグラフィカル・マップ内に含まれる。さらにより好ましくは、識別されたＳＡＮデバイスは、ホストと、ストレージ・デバイスと、スイッチとを含む。さらにより好ましくは、ホストはデータベース・サーバまたはファイル・サーバを有し、ストレージ・デバイスはＪＢＯＤとストレージ・コントローラとを有する。
【００１２】
第３の態様によれば、ＳＡＮトポロジのパースペクティブを生成するためにサーバ・システムによって読取り可能なシステム可読コードを含むＳＡＮ管理システム・デバイスにおいて、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するための論理手段と、要求されたパースペクティブ内のデータ・パスのうち、前に計算されたものを識別するための論理手段と、要求されたパースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するための論理手段と、前に計算されたデータ・パスとここで計算されたデータ・パスの両方に応じて要求されたパースペクティブを生成するための論理手段とを有し、それにより、パースペクティブが、識別されたＳＡＮデバイスに接続されたＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別されたＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別されたＳＡＮデバイスがＳＡＮトポロジ内に含まれ、それにより、ＳＡＮデバイスが、ホストと、ストレージ・デバイスと、スイッチとを含む、ＳＡＮ管理システム・デバイスが提供される。
【００１３】
第４の態様によれば、ＳＡＮの構成に対する変更またはＳＡＮの構成から外れるデバイスの識別に基づいて、ＳＡＮ内のホスト、デバイス、およびスイッチのパースペクティブを含むキャッシュのそれぞれを更新する方法が提供される。
【発明を実施するための最良の形態】
【００１４】
主に、ＳＡＮトポロジのパースペクティブ（たとえば、ホスト中心パースペクティブ、デバイス中心パースペクティブなど）を生成するためのシステムおよび方法として、本発明について説明する。以下の説明では、説明の目的で、本発明を完全に理解するために多数の具体的な詳細が示されている。しかし、これらの具体的な詳細なしに本発明を実施できることは、当業者には明らかになるであろう。
【００１５】
当業者であれば、ＣＰＵ、メモリ、入出力、プログラム・ストレージ、接続バス、およびその他の適切なコンポーネントを含むデータ処理システムなどの装置が、本発明の実施を容易にするようにプログラミングされるかまたはその他の設計が施されることが可能であることを認識するであろう。このようなシステムは、本発明の動作を実行するための適切なプログラム手段を含むことになるであろう。
【００１６】
データ処理システムで使用するための事前記録ディスクまたはその他の同様のコンピュータ・プログラム（computer program product）などの製品（article of manufacture）は、本発明の方法の実施を容易にするようデータ処理システムに指図するためのストレージ・メディアおよびそこに記録されたプログラム手段を含むことができるであろう。このような装置および製品も本発明の精神および範囲に含まれる。
【００１７】
図１は、複数のサーバを複数のストレージ・システムに接続するＳＡＮ１０の層化した概要を示している。長い間、プレゼンテーションと、処理と、データ記憶との分割が認識されてきた。クライアント／サーバ・アーキテクチャは、この３層化モデルに基づくものである。この手法では、コンピュータ・ネットワークは複数の層に分割することができ、すなわち、最上層はデータ・プレゼンテーションのためにデスクトップを使用する。デスクトップは通常、パーソナル・コンピュータ（ＰＣ）に基づくものである。中間層であるアプリケーション・サーバは処理を実行する。アプリケーション・サーバは、デスクトップによってアクセスされ、最下層に保管されたデータを使用する。最下層は、データを収容するストレージ・デバイスからなる。
【００１８】
ＳＡＮ１０では、最下層内のストレージ・デバイスは集中化され相互接続されるが、これは事実上、ホストまたはメインフレームの中央ストレージ・モデルへの後退を表す。ＳＡＮは、ファイバ・チャネルによってサポートされる距離内のストレージ・デバイスとプロセッサ（サーバ）との間の直接接続の確立を可能にする高速ネットワークである。ＳＡＮは、ストレージ・バス概念への拡張と見なすことができ、これにより、ローカル・エリア・ネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）内と同様のエレメント、すなわち、ルータ、ハブ、スイッチ、ディレクタ、ゲートウェイを使用してストレージ・デバイスとサーバを相互接続することができる。ＳＡＮは、複数サーバ間で共用するか、１つのサーバに専用のものにするか、あるいはその両方にすることができる。これは、ローカルのものにするか、または地理的距離を超えて拡張することができる。
【００１９】
ＳＡＮ１０などのＳＡＮは、サーバにストレージを接続する新しい方法を作り出す。これらの新しい方法は、可用性およびパフォーマンスの両方において大幅な改善を可能にすることができる。ＳＡＮ１０は、共用ストレージ・アレイおよびテープ・ライブラリを複数サーバに接続するために使用され、フェイルオーバのためにクラスタ化サーバによって使用される。これらは、メインフレーム・ディスクまたはテープをメインフレーム・サーバに相互接続することができ、そこでＳＡＮデバイスはオープン・システム（Ｗｉｎｄｏｗｓ、ＡＩＸなど）とメインフレーム・トラフィックの混合を可能にする。
【００２０】
ＳＡＮ１０は、伝統的なネットワーク・ボトルネックを迂回するために使用することができる。これは、潜在的に以下の３通りのいずれかで、サーバとストレージ・デバイスとの間の直接的な高速データ転送を容易にするものである。サーバからストレージへ：これは、ストレージ・デバイスとの相互作用の伝統的なモデルである。その利点は、複数のサーバによって逐次または同時に同じストレージ・デバイスにアクセスできることである。サーバからサーバへ：ＳＡＮは、サーバ間の高速大容量通信に使用することができる。ストレージからストレージへ：この外部データ移動機能により、サーバの介入なしにデータを移動することができ、それにより、サーバ・プロセッサ・サイクルをアプリケーション処理のような他の活動に使える状態にする。例としては、サーバの介入なしにテープ装置にそのデータをバックアップするディスク装置、またはＳＡＮを越えてミラーリングするリモート・デバイスを含む。加えて、ＩＢＭ（ＩＢＭはインターナショナル・ビジネス・マシーンズ社の登録商標である）のストレージ・タンク技術などの分散ファイル・システムを使用すると、クライアントはストレージ・デバイスと直接通信することができる。
【００２１】
ＳＡＮは、たとえば、最小限のサーバの介入によりソース・デバイスからターゲット・デバイスにデータを直接送信させることにより、データを移動するアプリケーションの実行を改善することができる。また、ＳＡＮは、複数のホストが同じネットワークに接続された複数のストレージ・デバイスにアクセスする新しいネットワーク・アーキテクチャも可能にする。ＳＡＮ１０は潜在的に以下の利点を提供することができる。アプリケーションの可用性に対する改良：信頼性、可用性、および保守性の向上のために、ストレージはアプリケーションから独立し、複数のデータ・パスによりアクセス可能である。アプリケーション・パフォーマンスの向上：ストレージ処理は、サーバからオフロードされ、個別のネットワーク上に移動される。ストレージの集中化および統合：より単純な管理、スケーラビリティ、柔軟性、および可用性。リモート・サイトへのデータ転送およびボールト：災害保護のためならびに悪意のある攻撃に対抗して使用可能になっているデータのリモート・コピー。集中管理の簡略化：ストレージ・メディアの単一イメージにより管理を簡略化する。
【００２２】
ファイバ・チャネルは、ｚ／ＯＳシステム用の標準プロトコルとしてのＦＩＣＯＮ（ｚ／ＯＳはインターナショナル・ビジネス・マシーンズ社の登録商標である）およびオープン・システム用の標準プロトコルとしてのＦＣＰにより、ほとんどのＳＡＮ実現例が構築されるアーキテクチャである。
【００２３】
すべてのＳＡＮソリューションについて背後にある理由はサーバ・インフラストラクチャである。このインフラストラクチャは、Ｗｉｎｄｏｗｓ（マイクロソフト、Ｗｉｎｄｏｗｓ、Ｗｉｎｄｏｗｓ  ＮＴ、およびＷｉｎｄｏｗｓロゴは、米国、その他の国々、またはその両方におけるマイクロソフト社の商標である）、ＵＮＩＸ（ＵＮＩＸは、米国およびその他の国々におけるＴｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの登録商標である）（およびその様々な変種）、およびｚ／ＯＳなどのサーバ・プラットフォームの混合を含む。サーバ統合およびｅ−ビジネスなどのイニシアチブにより、ＳＡＮの必要性が増大し、ネットワーク内のストレージの重要性がより大きくなる。
【００２４】
ストレージ・インフラストラクチャは、情報が頼りにする基礎であり、したがって、企業のビジネス目標およびビジネス・モデルをサポートしなければならない。この環境では、より高速のストレージ・デバイスをより多く配備するだけでは十分ではない。ＳＡＮインフラストラクチャは、強化したネットワーク可用性、データ・アクセシビリティ、およびシステム管理の容易性を提供する。ＳＡＮは、それが特定のサーバ・バス上に存在しないようにストレージ・デバイスを解放し、それをネットワークに直接接続する。換言すれば、ストレージは、外部化され、組織全域で機能的に分散することができる。また、ＳＡＮは、ストレージ・デバイスの集中化およびサーバのクラスタ化も可能にし、これは総所有コスト（ＴＣＯ：total cost of ownership）を低下させる、より容易かつ安価な集中管理を助長する潜在能力を持っている。
【００２５】
パフォーマンス、可用性、コスト、スケーラビリティ、およびインターオペラビリティなどのＳＡＮの様々な利点および特徴を達成するために、ＳＡＮのインフラストラクチャ（スイッチ、ディレクタなど）ならびに接続されたストレージ・システムを効果的に管理しなければならない。ＳＡＮ管理を簡略化するため、ＳＡＮベンダは概して、それ自体の管理ソフトウェアおよびツールを開発する。ＳＡＮ管理ソフトウェアおよびツール（たとえば、Ｔｉｖｏｌｉ（Ｔｉｖｏｌｉはインターナショナル・ビジネス・マシーンズ社の登録商標である））内に含まれる有用な特徴は、ＳＡＮトポロジを提供できることである。ＳＡＮトポロジは、デバイス（たとえば、ホスト、ストレージ・デバイス、スイッチなど）間の相互接続のパターン（たとえば、物理および論理）を提供する。ＳＡＮトポロジを提供することに加えて、ＳＡＮトポロジの様々なパースペクティブを提供することは有用である。このようなパースペクティブは、ＳＡＮトポロジのサブセットを識別する。この例示的な実施形態では、ＳＡＮトポロジのパースペクティブは、ＳＡＮ内の特定のデバイスにとってアクセス可能であるかまたは見えるデバイスの図形表示を提供する。たとえば、このようなパースペクティブは、特定のホストに接続されたすべてのストレージ・デバイス、特定のストレージ・デバイスに接続されたすべてのホスト、ホストに接続されたすべてのスイッチなどを識別するために使用される。
【００２６】
図２は、本発明の一態様による例示的なＳＡＮトポロジ２４を示している。ＳＡＮトポロジ２４は、ＩＴＳＯＳＷ１スイッチ２６と、ＩＴＳＯＳＷ２スイッチ２８と、ＩＴＳＯＳＷ３スイッチ３０と、ＩＴＳＯＳＷ４スイッチ３２とを含む。また、ＳＡＮトポロジ２４は、ＳＡＮデータ・ゲートウェイ３４も含む。ＳＡＮトポロジ２４は、サーバＡ３６と、サーバＢ３８と、サーバＣ４０と、サーバＤ４２と、サーバＥ４４と、サーバＦ４６と、サーバＧ４８と、サーバＨ５０と、サーバＩ５２と、サーバＪ５４と、サーバＫ５５とをさらに含む。その上、ＳＡＮトポロジ２４は、テープ・ライブラリ５６と、ストレージ・サーバＡ５８と、ストレージ・サーバＢ５９とを含む。
【００２７】
図３は、ＳＡＮトポロジ（たとえば、ＳＡＮトポロジ２４）を表示するための例示的なユーザ・インターフェース６０である。ユーザ・インターフェース６０は、サブマップ・スタック６２と、サブマップ・ウィンドウ６４と、子サブマップ・エリア６６とを含む。サブマップ・スタック６２内には、ルート・マップ６８が含まれる。この例示的な実施形態では、マップおよびサブマップを使用して、ネットワーク・トポロジ内を移動し、トポロジ・パースペクティブなどの詳細を検索することができる。ＳＡＮトポロジに関しては、ルート・マップ６８は主マップであり、各従属マップはサブマップである。サブマップ・ウィンドウ６４は例示的なＳＡＮトポロジを含む。
【００２８】
サブマップ・ウィンドウ６４は相互接続エレメント７０を含む。相互接続エレメント７０は、スイッチ１  ２６とスイッチ２  ２８との間の接続を容易にするものである。相互接続エレメント７０、スイッチ１  ２６、またはスイッチ２  ２８のいずれかは、他のサブマップまたはデバイスになる可能性がある。
【００２９】
サブマップ・スタック６２は、ルート・マップ６８と、ストレージ・マップ７６と、ファブリック１  ７８とを含む親サブマップを表すアイコンのスタックを表示し、そのいずれも前に表示されたものである。この例示的な実施形態では、サブマップ・スタックは、特定のマップのために開かれたサブマップの階層を示している。
【００３０】
子サブマップ・エリア６６は、サブマップ・ウィンドウ６４内に現在開かれているサブマップから前に開かれたサブマップを示している。この例示的な実施形態では、サブマップは子サブマップ・エリア６６から開くか、またはすでに画面上の他のウィンドウ内にそれが開かれている場合に視界に入れることができる。サブマップ・ウィンドウ６４内に提供されるビューは、発見されたＳＡＮファブリック１  ７８に関するトポロジ・ビュー８０である。この例示的な実施形態では、複数のＳＡＮファブリック（たとえば、ＳＡＮファブリック１  ７８、ＳＡＮファブリック２、・・・ＳＡＮファブリックｎ）が存在する可能性がある。
【００３１】
図４は、スイッチ・サブマップ８１を示すための例示的なユーザ・インターフェースである。スイッチ・サブマップ８１は、本発明の例示的な一実施形態により、スイッチ１  ２６に接続された、ＳＡＮファブリック１  ７８内のすべてのデバイスを含む。スイッチ１  ２６というスイッチの選択により、ユーザには、スイッチ１  ２６に接続されたすべてのホストおよびデバイスの表示が提供される。スイッチ１  ２６と、スイッチ１  ２６が接続されている各デバイス（たとえば、スイッチ、ホスト、デバイス、および相互接続）との間の線は論理接続を表している。論理接続の選択により、２つのポイント間の物理接続の数が提供される。
【００３２】
図５は、本発明の一実施形態により、ＳＡＮに接続されたストレージ・デバイスと、それらとＳＡＮ内のホストとの関係の例示的なデバイス中心パースペクティブ８２が示されているユーザ・インターフェースである。デバイス中心パースペクティブ８２は、特定のホストに接続されたすべてのストレージ・デバイスのトポロジを提供する。デバイス中心ビューは、ストレージ・マップ７６の選択により選択することができる（図３を参照）。ＳＡＮファブリックは、複数のストレージ・サーバを有することができる。デバイス中心パースペクティブ８２により、ユーザは、ＳＡＮ内のストレージ・デバイスと、それらとＳＡＮ内に含まれるホストとの関係を見ることができる。たとえば、デバイス中心パースペクティブ８２には、ホスト１Ｔ１４８５９６６８について１２個のＬＵＮが定義されている。依存関係ツリー８４は、ＳＡＮトポロジ２４内の管理対象ホストから検索された情報から統合される。
【００３３】
図６は、ＳＡＮトポロジ２４内に含まれるホストと、それに関連するローカルおよびＳＡＮ接続ストレージ・デバイスのホスト中心パースペクティブ８６が示されているユーザ・インターフェースである。ホスト中心パースペクティブ８６は、特定のストレージ・デバイスにアクセスしているすべてのホストのトポロジを提供する。
【００３４】
ユーザ・インターフェース（図示せず）を使用して、ＳＡＮノード・パースペクティブを選択することもできる。ＳＡＮノード・パースペクティブは、ＳＡＮ内の特定のノードによってアクセス可能であるＳＡＮ内のすべてのノード（たとえば、ホスト、ストレージ・デバイス、スイッチ、相互接続デバイスなど）を識別するものである。
【００３５】
図７は、ＳＡＮ管理プログラム９０と、トポロジ・ビューア９１と、トポロジ・ビューア・キャッシュ９２と、センサ・データベース９３とを含むＳＡＮ管理システム８９のブロック図である。ＳＡＮ管理ツールは管理者ディスプレイ９４に接続されている。トポロジ・ビューア９１は、管理者ディスプレイ９４で（たとえば、システム管理者によって）表示することができるＳＡＮトポロジ２４の様々なパースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を提供する。ＳＡＮ管理プログラム９０の特徴の１つは、（たとえば、管理者ディスプレイ９４で）ＳＡＮトポロジ２４の種々のパースペクティブを提供することである。ＳＡＮ管理プログラム９０は、複数のトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を提供する。
【００３６】
ＳＡＮ管理プログラム９０は、ＳＡＮトポロジ２４内に含まれるデバイス（たとえば、ストレージ・デバイス、ホスト、スイッチ、相互接続デバイスなど）内に配置されたセンサ・エージェント（図示せず）と通信する。センサ・エージェントは、それらが常駐するデバイスに関する状況情報（たとえば、接続、状態など）を収集し、その状況情報をセンサ・データベース９３に提供する。トポロジ・ビューア９１は、センサ・データベース９３内の状況情報を使用して、ＳＡＮの様々なグラフィカル・パースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を生成する。センサ・エージェントは、ＳＡＮの構成の変更についてＳＡＮをモニターする。センサ・エージェントによって識別された変更はＳＡＮ管理プログラム９０に報告される。ＳＡＮの構成の変更を識別する情報を受信すると、ＳＡＮ管理プログラム９０は、ＳＡＮマネージャ・キャッシュ９２内の現行パースペクティブを無効にし、ＳＡＮの構成に対する識別された変更を含む新しいパースペクティブを生成する。ＳＡＮの構成の変更の一例としては、ＳＡＮ内に含まれるデバイスの障害を含む。ＳＡＮ管理プログラム９０は、インバンド操作またはアウトバンド操作を実行することにより、デバイス障害を検証することができる。
【００３７】
図８は、本発明の例示的な一実施形態によるＳＡＮのホストとスイッチとストレージ・デバイスとの間の接続の一例を示すＳＡＮトポロジ図である。図８のホストには、１００、１０２、１０４、および１０６という番号が付けられている。スイッチには、１０８、１１０、１１２、１１４、１１６、１１８、１２０、および１２２という番号が付けられている。ストレージ・デバイスには、１２４、１２６、１２８、および１３０という番号が付けられている。ホストとスイッチとストレージ・デバイスとの間の線は論理接続を示している。
【００３８】
本発明の例示的な一実施形態によれば、トポロジ・パースペクティブ（たとえば、デバイス中心８２、ホスト中心８６など）を生成するための要求に応答して、ＳＡＮ管理プログラム９０は、前のＳＡＮトポロジ・パースペクティブを生成するときに収集された情報を使用する（すなわち、リサイクルする）。前のパースペクティブ情報（たとえば、ストレージ・デバイスとスイッチとホストとの間のパス）の使用により、現行要求に関連するトポロジ・パースペクティブ内に含まれるパスのトラバース（traversing）を低減または最小化することができる。
【００３９】
図９は、要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースを低減または最小化することができるトポロジ・パースペクティブを生成するために図８のＳＡＮトポロジ図をトラバースする方法１４０を示している。
【００４０】
ブロック１４２で方法１４０が始まる。ブロック１４４でユーザは、ホスト１０４に関連するデバイス中心パースペクティブ８２要求を開始する。デバイス中心パースペクティブ要求は、システム管理デバイス９４で入力され、ＳＡＮ管理プログラム９０によって受信される。ＳＡＮ管理プログラム９０は、その要求をトポロジ・ビューア９１に提供する。
【００４１】
ブロック１４６でトポロジ・ビューア９１は、ＳＡＮ管理プログラム９０およびセンサ・データベース９３との相互作用により、デバイス中心パースペクティブ８２内に含まれるストレージ・デバイス（たとえば、１２４、１２６、１２８、および１３０）を識別する。したがって、ストレージ・デバイス１２６、１２８、および１３０は、要求されたデバイス中心パースペクティブ８２内に含まれる。
【００４２】
ブロック１４８でトポロジ・ビューア９１は、デバイス中心パースペクティブ８２内に含まれるパスを識別する。したがって、パス１０４−１１２−１１８−１２６、１０４−１１２−１２０−１２８、１０４−１１２−１１８−１３０、および１０２−１１０−１１８は、要求されたデバイス中心パースペクティブ８２内に含まれる。要求されたデバイス中心パースペクティブは、グラフィカル・ユーザ・インターフェース（たとえば、システム管理デバイス９４）でユーザ（たとえば、システム管理者）に対して提示することができる。
【００４３】
ブロック１５０でユーザは、ストレージ・デバイス１３０に関連するホスト中心パースペクティブ８６を要求する。
【００４４】
ブロック１５２でトポロジ・ビューア９１は、要求されたホスト中心パースペクティブ８６内に含まれるホストおよびパスを識別する。ホスト・デバイス１０２、１０４、および１０６は要求されたホスト中心パースペクティブ８６内に含まれる。パス１２２−１１４−１０６、１１８−１１０−１０２、および１１８−１１２−１０４は、要求されたホスト中心パースペクティブ８６内に含まれる。しかし、ブロック１５２でホスト中心パースペクティブ８６が生成されると、トポロジ・ビューア９１は、パス１１８−１１０−１０２または１１８−１１２−１０４をトラバースしない。その代わりに、上記で行われた前のデバイス中心パースペクティブ８２要求（ブロック１４４〜１４８を参照）からパス１１８−１１０−１０２および１１８−１１２−１０４が検索される。ブロック１５４で方法１４０が終了する。前のデバイス中心パースペクティブから得られたパス１１８−１１０−１０２および１１８−１１２−１０４に関する情報を使用すると、その結果として、トポロジ・ビューア９１は、パス１１８−１１０−１０２および１１８−１１２−１０４を再トラバースする必要がなくなる。ブロック１５２で生成されたホスト中心トポロジ・パースペクティブ８６は、管理ディスプレイ９４で要求側に提示される。
【００４５】
図８および図９で紹介されたトポロジ・パースペクティブを生成するための手法は、結果的に、トポロジ・パースペクティブを生成する際にトポロジ・ビューア９１からＳＡＮ管理プログラム９０へのデータ要求の数を低減することができる。
【００４６】
図１０は、要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースを低減または最小化することができるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする、より詳細な方法１５６を示している。
【００４７】
ブロック１５８で方法１５６が始まる。ブロック１６０でトポロジ・ビューア９１は、特定の入力ノード（すなわち、ホスト）に対応するトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ、ホスト中心パースペクティブなど）の生成を要求する照会を受信する。照会を受信すると、トポロジ・ビューアは、要求されたトポロジ・パースペクティブを決定するために、入力ノードから反復幅優先処理を開始する。ブロック１６０の入力ノードはホストとして識別されるが、入力ノードは、ＳＡＮのトポロジによって含まれるストレージ・デバイス、スイッチ、相互接続デバイス、または任意のその他のデバイスにすることができる。
【００４８】
ブロック１６２でトポロジ・ビューア９１は、その照会を分析し、それに関してトポロジ・パースペクティブが要求された特定の入力ノードに関連する１組の隣接ノードを提供するための要求をＳＡＮ管理プログラム９０に送信する。
【００４９】
ブロック１６４でＳＡＮ管理プログラム９０は、ＳＡＮ管理データベースをサーチし、その入力ノードに関連する隣接ノードのリストを検索する。
【００５０】
ブロック１６６でＳＡＮ管理プログラム９０から隣接ノードのリストを受信すると、トポロジ・ビューア９１は、それをトポロジ・ビューア・キャッシュ９２に保管された隣接マトリックス（adjacency matrix）（表１を参照）と比較して、どのノードがすでに隣接マトリックス内に含まれているかを判定する。また、トポロジ・ビューア９１は、隣接マトリックス内に入っていてはならないノードも識別する。隣接マトリックス内に含まれていてはならないノードとしては、前のパースペクティブ要求の一部として検索されなかった新しいノードと、もはやセンサ・データベース９３内に保管されていない（たとえば、現在通用していない）ノードを含む。
【表１】
2007509384.tif 000003
【００５１】
上記の表１に示されている隣接マトリックスは、Ｇ＝（Ｖ，Ｅ）をグラフとし、Ｖが｛１，２，・・・，ｎ｝によってインデックスが付けられる隣接マトリックスとして記載されている。Ｇのｎ×ｎの隣接マトリックスは、Ａ［ｖ，ｗ］＝｛｛ｖ，ｗ｝がＥに属す場合に１，そうではない場合に０｝というデータ構造によって定義される。隣接リストは、ポインタのアレイＡｄｊ［１・・・ｎ］であり、Ａｄｊ［ｕ］は、｛ｕ，ｖ｝（無向）または（ｕ，ｖ）（有向）が辺になるような頂点ｕを含む連結リストを指し示す。有向グラフＧは、ｐからｑへの辺が存在する場合のみ、項目Ｘｐ，ｑ＝１になり、そうではない場合にＸｐ，ｑ＝０になるような、ＳＡＮトポロジ２４に対応する隣接マトリックスＸによって表される。
【００５２】
ブロック１６８でトポロジ・ビューア９１は、失効した隣接マトリックスからこれらのノードを削除する。
【００５３】
ブロック１７０で、分析すべき追加の新しいノードが存在するかどうかに関する判定が行われる。ＹＥＳであり、そのノードがホスト・ノード（たとえば、ホスト１００、１０２、１０４、および１０６）またはストレージ・デバイス・ノード（たとえば、１２４、１２６、１２８、および１３０）ではない場合、方法１５６はブロック１６２に戻る。前のパースペクティブから隣接マトリックス内にすでに存在する隣接ノードまたはホスト・ノードまたはストレージ・デバイス・ノードとして識別されたノードについては、処理は実行されない。したがって、前のパースペクティブ照会から既存のデータを利用することにより、ブロック１７０で新規として識別されたノードのみ、追加の処理を必要とする。この結果として、トポロジ・パースペクティブを生成するために必要な時間を最小限にすることができる。ホスト・ノードまたはストレージ・デバイス・ノードとして識別されたノードはＳＡＮ１０内のエンドポイントであるので、これらのノードについては追加の処理は不要である。
【００５４】
ブロック１７０に戻り、ＮＯである場合、ブロック１７２でトポロジ・ビューア９１は、要求されたトポロジ・パースペクティブを生成し、それを管理ディスプレイ９４でユーザに提示する。ブロック１７４で方法１５６は終了する。
【００５５】
このようにして、ＳＡＮのトポロジ・パースペクティブを提供するための方法およびシステムについて説明してきた。特定の例示的な諸実施形態に関連して本発明を説明してきたが、本発明の範囲を逸脱せずに、このような実施形態に対して様々な修正および変更を行うことができることは明白になるであろう。したがって、本明細書および添付図面は、限定的なものではなく、例示的なものであると見なすべきである。
【図面の簡単な説明】
【００５６】
【図１】複数のサーバを複数のストレージ・システムに接続するＳＡＮの層化した概要を示す図である。
【図２】本発明の一態様による例示的なＳＡＮトポロジを示す図である。
【図３】ＳＡＮトポロジを表示するための例示的なユーザ・インターフェースを示す図である。
【図４】スイッチ・サブマップを示すための例示的なユーザ・インターフェースを示す図である。
【図５】ＳＡＮに接続されたストレージ・デバイスと、それらとＳＡＮ内のホストとの関係のデバイス中心パースペクティブが示されているユーザ・インターフェースを示す図である。
【図６】ＳＡＮに接続されたホストと、それに関連するローカルおよびＳＡＮ接続ストレージ・デバイスのホスト中心パースペクティブが示されているユーザ・インターフェースを示す図である。
【図７】トポロジ・ビューアとセンサ・データベースとを含むＳＡＮ管理ツールのブロック図である。
【図８】本発明の例示的な一実施形態によるＳＡＮのホストとスイッチとストレージ・デバイスとの間の接続の一例を示すＳＡＮトポロジ図である。
【図９】要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースが低減または最小化されるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする方法を示す図である。
【図１０】要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースが最小化されるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする、より詳細な方法を示す図である。
【図１】
2007509384.tif 000004
【図２】
2007509384.tif 000005
【図３】
2007509384.tif 000006
【図４】
2007509384.tif 000007
【図５】
2007509384.tif 000008
【図６】
2007509384.tif 000009
【図７】
2007509384.tif 000010
【図８】
2007509384.tif 000011
【図９】
2007509384.tif 000012
【図１０】
2007509384.tif 000013
【手続補正書】
【提出日】平成17年7月26日(2005.7.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  ＳＡＮトポロジのパースペクティブを生成するためのシステムおよび方法
【技術分野】
【０００１】
本発明は、ストレージ・エリア・ネットワーク（ＳＡＮ：Storage Area Network）の分野に関し、より具体的には、前のＳＡＮトポロジ・パースペクティブに関する情報が使用されるＳＡＮトポロジのパースペクティブ（perspective）を提供する方法に関する。
【背景技術】
【０００２】
１９８０年代の初期および中期にメインフレーム環境でストレージ管理が必要であったのと同じ理由で、現在、産業界はオープン環境でのストレージ管理を必要としている。企業は、データ記憶およびデータ管理能力が圧倒されるほど高速でデータを生成している。これらの能力がその増加を処理できない場合、何らかの時点で、次のトランザクションが収集されない危険性があり、事業が停止することになる。この状況に影響するものとしては、ストレージ・コストとストレージ管理コストという２つの問題がある。ストレージ・エリア・ネットワーク（ＳＡＮ）は、直接接続ストレージ・モデルと比べて、ブロック・ストレージ・システムのための好ましいストレージ・アーキテクチャ・モデルになっている。このように直接接続ストレージ・モデルよりＳＡＮが好まれるのは、ＳＡＮによって複数のサーバがブロック・ストレージ・デバイスを直接共用することができ、ＳＡＮユーザが記憶容量を増加するためにだけサーバを購入する必要がなく、サーバとストレージ管理を分離できることの結果である。
【０００３】
ＳＡＮの利点を利用するために、ＳＡＮを容易に管理できることが必要である。ＳＡＮ管理は、ストレージ・エリア・ネットワーク（ＳＡＮ）内のデバイスに関する情報を提供し、そのデバイスをモニターする、ツール、ポリシー、およびプロセスのセットである。ＳＡＮ管理ツールは概して、すべてのＳＡＮインストールとともに配備される。
【０００４】
あるＳＡＮを管理するためには、トポロジ・パースペクティブを生成できるＳＡＮ管理ツールを有し、このようなパースペクティブがそのＳＡＮ内に含まれるホスト、ストレージ・デバイス、スイッチ、および任意のその他の必要なデバイスを識別することは有用である。特定のホストに接続されたすべてのストレージ・デバイスのトポロジ・パースペクティブ（たとえば、ホスト中心パースペクティブ）、特定のストレージ・デバイスにアクセスしているすべてのホストのトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ）を提供するＳＡＮ管理ツールを有することはさらに有益である。その上、あるＳＡＮ内の特定のノードによってアクセス可能なそのＳＡＮ内のすべてのノード（たとえば、ホスト、ストレージ・デバイス、スイッチ、相互接続デバイスなど）を識別するパースペクティブ（たとえば、ＳＡＮノード・パースペクティブ）を有することはさらに有益である。
【０００５】
現在、システム管理者が特定のタイプのＳＡＮパースペクティブを要求するたびに、ＳＡＮ管理ツールは、ＳＡＮ管理ツールに関連するデータベースから複数の照会を呼び出し、検索されたデータを特定のタイプのＳＡＮパースペクティブ（たとえば、ホスト・パースペクティブ、ストレージ・デバイス・パースペクティブなど）に編成することにより、要求を満足するために必要なデータを検索する。
【０００６】
米国特許出願第２００３／０１４６９２９Ａ１号は、たとえば、ストレージ・エリア・ネットワーク（ＳＡＮ）の管理の際に使用されるタイプのデジタル・データ・プロセッサを開示し、ＳＡＮトポロジまたは少なくともその属性の表現を維持するためのプロセス（「マネージャ」プロセス）を実行する。図形出力装置はそのＳＡＮ表現を表示する。その表現を表示する目的で、他のプロセス（「ユーザ・インターフェース」）がその出力装置を制御する。インターフェース・エレメントは、たとえば、ユーザ・インターフェース・プロセスからの要求に応答して、そのＳＡＮ表現の検索を実施する。そのエレメントは、図形出力装置上に表示するためにその表現をユーザ・インターフェース・プロセスに伝送する。
【０００７】
国際出願ＷＯ  ０３／０４０８９０Ａ２号は、コンピュータ・ユーザ・インターフェースにおいてネットワーク・デバイスの可視化を描画するための方法、システム、およびプログラムを提供する。描画は、ネットワーク内の複数のデバイスのデバイス表現およびデバイス間の接続の接続表現から行われ、各対の接続デバイス間の接続表現は、２つの接続デバイス間に延びる線であって、約９０度の角度を形成する線を有する。
【０００８】
国際出願ＷＯ  ０１／０１２４１Ａ２号は、ネットワークに結合されたストレージ・システム内のデータの可用性および割当てを管理するための方法および装置を開示する。ネットワークによりストレージ・システムに結合されたホスト・プロセッサ上で実行されるユーザ・インターフェースが提供される。このユーザ・インターフェースはストレージ・システム内の構成データベースと通信して、ネットワークによりストレージ・システムにログインされたホスト・プロセッサを識別し、ストレージ・システム上のストレージ・ボリュームを識別し、ストレージ・システム上の特定のストレージ・ボリュームへのアクセスが特定のホスト・プロセッサから許可されるかどうかを識別し、それによりホスト・プロセッサがネットワークによりストレージ・システムにログインされるネットワーク・パスを識別する。一実施形態では、ホスト・プロセッサ、ホスト・バス・アダプタ、ストレージ・システム、ストレージ・システム・アダプタ、およびストレージ・システム上のストレージ・ボリュームをグラフィックで表現するために使用できるグラフィカル・ユーザ・インターフェースが提供される。グラフィカル・ユーザ・インターフェースによって提供されるグラフィカル表現により、ユーザは、ユーザによって選択可能な可変詳細レベルでネットワークのトポロジをグラフィックで表示することができる。また、このグラフィカル・ユーザ・インターフェースにより、ユーザは、そのグラフィカル表現を選択し操作することにより、ホスト・プロセッサ、ホスト・バス・アダプタなどのうちの１つまたは複数からのストレージ・システムまたはストレージ・システム上の特定のストレージ・ボリュームへのアクセスを許可または拒否することができる。他の実施形態では、コマンド行ユーザ・インターフェースに同様の機能が提供される。
【特許文献１】  米国特許出願第２００３／０１４６９２９Ａ１号
【特許文献２】  国際出願ＷＯ  ０３／０４０８９０Ａ２号
【特許文献３】  国際出願ＷＯ  ０１／０１２４１Ａ２号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明により、ＳＡＮトポロジのパースペクティブを生成するためのＳＡＮ管理システムが提供される。このＳＡＮ管理システムは、ＳＡＮをモニターするためのＳＡＮマネージャ・プログラムを含む。加えて、ＳＡＮ管理システムは、ＳＡＮマネージャ・プログラムとリンクされたＳＡＮ管理データベースを含み、そのＳＡＮ管理データベースはＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別する情報を維持する。また、ＳＡＮ管理システムは、ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントを含み、そのセンサ・エージェントはデバイス間の接続に関する情報を収集し、ＳＡＮ管理データベース内に含めるために収集した情報をＳＡＮマネージャ・プログラムに提供する。その上、ＳＡＮ管理システムは、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するためにＳＡＮマネージャにリンクされたトポロジ・ビューアを含む。
【課題を解決するための手段】
【００１０】
第１の態様によれば、ストレージ・エリア・ネットワーク（ＳＡＮ）トポロジのパースペクティブを生成ためのＳＡＮ管理システムにおいて、このＳＡＮ管理システムが、ストレージ・エリア・ネットワーク（ＳＡＮ）をモニターするように配置されたＳＡＮマネージャ・プログラムと、ＳＡＮマネージャ・プログラムとリンク可能なＳＡＮ管理データベースであって、ＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別するデータを維持するように配置されたＳＡＮ管理データベースと、ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントであって、ＳＡＮ内で発生するイベントに関連するデータを収集し、ＳＡＮ管理データベース内に含めるために収集したデータをＳＡＮマネージャに提供するように配置された複数のセンサ・エージェントと、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するように配置されたＳＡＮマネージャにリンク可能なトポロジ・ビューアとを有する、ＳＡＮ管理システムが提供される。
【００１１】
好ましくは、ＳＡＮは、ホストと、ストレージ・デバイスと、スイッチとを含む。より好ましくは、ホストは、データベース・サーバまたはファイル・サーバを有する。好ましい一実施形態では、トポロジ・パースペクティブは、特定のホストにとって見えるＳＡＮ内のすべてのデバイスについて生成される。他の好ましい実施形態では、トポロジ・パースペクティブは、特定のストレージ・デバイスにとって見えるＳＡＮ内のすべてのデバイスについて生成される。
【００１２】
好ましくは、前に要求されたトポロジ・パースペクティブは、新しいユーザ要求トポロジ・パースペクティブを生成する際にトポロジ・ビューアによって使用される。より好ましくは、トポロジ・ビューアは、前に要求されたトポロジ・パースペクティブに関する情報を保管するためのメモリを含む。さらにより好ましくは、前に要求されたトポロジ・パースペクティブに関する情報は、ＳＡＮ内のデバイス間のアクセスを可能にするパスを含む。
【００１３】
好ましくは、ＳＡＮトポロジのパースペクティブを生成するためにサーバ・システムによって読取り可能なシステム可読コードを含むＳＡＮ管理システム・デバイスにおいて、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するための論理手段と、要求されたパースペクティブ内のデータ・パスのうち、前に計算されたものを識別するための論理手段と、要求されたパースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するための論理手段と、前に計算されたデータ・パスとここで計算されたデータ・パスの両方に応じて要求されたパースペクティブを生成するための論理手段とを有し、それにより、パースペクティブが、識別されたＳＡＮデバイスに接続されたＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別されたＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別されたＳＡＮデバイスがＳＡＮトポロジ内に含まれ、それにより、ＳＡＮデバイスが、ホストと、ストレージ・デバイスと、スイッチとを含む、ＳＡＮ管理システム・デバイスが提供される。
【００１４】
第２の態様によれば、ＳＡＮトポロジのパースペクティブを生成するための方法において、ストレージ・エリア・ネットワーク（ＳＡＮ）をモニターするステップと、ＳＡＮ内に含まれるデバイスおよびそのデバイス間の接続を識別するデータをＳＡＮ管理データベースに維持するステップと、ＳＡＮ内で発生するイベントに関連するデータを収集し、ＳＡＮ管理データベース内に含めるために収集したデータを提供するステップと、ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータに応じてユーザ要求トポロジ・パースペクティブを生成するステップとを有する方法が提供される。
【００１５】
好ましくは、ＳＡＮトポロジのパースペクティブを生成するための方法において、ＳＡＮトポロジのパースペクティブを提供するための要求を受信するステップと、要求されたパースペクティブ内のデータ・パスのうち、前に計算されたものを識別するステップと、要求されたパースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するステップと、前に計算されたデータ・パスとここで計算されたデータ・パスの両方に応じて要求されたパースペクティブを生成するステップとを有する方法が提供される。
【００１６】
好ましくは、パースペクティブは、識別されたＳＡＮデバイスに接続されたＳＡＮトポロジ内のすべてのＳＡＮデバイスと、識別されたＳＡＮデバイスにとってアクセス可能なすべてのＳＡＮデバイスとを含み、識別されたＳＡＮデバイスはＳＡＮトポロジ内に含まれる。より好ましくは、パースペクティブは、識別されたデバイスにとって見えるＳＡＮトポロジ内のすべてのデバイスのグラフィカル・マップを含み、すべてのデバイス間の接続はグラフィカル・マップ内に含まれる。さらにより好ましくは、識別されたＳＡＮデバイスは、ホストと、ストレージ・デバイスと、スイッチとを含む。さらにより好ましくは、ホストはデータベース・サーバまたはファイル・サーバを有し、ストレージ・デバイスはＪＢＯＤとストレージ・コントローラとを有する。
【００１７】
第３の態様によれば、ＳＡＮの構成に対する変更またはＳＡＮの構成から外れるデバイスの識別に基づいて、ＳＡＮ内のホスト、デバイス、およびスイッチのパースペクティブを含むキャッシュのそれぞれを更新する方法が提供される。
【発明を実施するための最良の形態】
【００１８】
主に、ＳＡＮトポロジのパースペクティブ（たとえば、ホスト中心パースペクティブ、デバイス中心パースペクティブなど）を生成するためのシステムおよび方法として、本発明について説明する。以下の説明では、説明の目的で、本発明を完全に理解するために多数の具体的な詳細が示されている。しかし、これらの具体的な詳細なしに本発明を実施できることは、当業者には明らかになるであろう。
【００１９】
当業者であれば、ＣＰＵ、メモリ、入出力、プログラム・ストレージ、接続バス、およびその他の適切なコンポーネントを含むデータ処理システムなどの装置が、本発明の実施を容易にするようにプログラミングされるかまたはその他の設計が施されることが可能であることを認識するであろう。このようなシステムは、本発明の動作を実行するための適切なプログラム手段を含むことになるであろう。
【００２０】
データ処理システムで使用するための事前記録ディスクまたはその他の同様のコンピュータ・プログラム（computer program product）などの製品（article of manufacture）は、本発明の方法の実施を容易にするようデータ処理システムに指図するためのストレージ・メディアおよびそこに記録されたプログラム手段を含むことができるであろう。このような装置および製品も本発明の精神および範囲に含まれる。
【００２１】
図１は、複数のサーバを複数のストレージ・システムに接続するＳＡＮ１０の層化した概要を示している。長い間、プレゼンテーションと、処理と、データ記憶との分割が認識されてきた。クライアント／サーバ・アーキテクチャは、この３層化モデルに基づくものである。この手法では、コンピュータ・ネットワークは複数の層に分割することができ、すなわち、最上層はデータ・プレゼンテーションのためにデスクトップを使用する。デスクトップは通常、パーソナル・コンピュータ（ＰＣ）に基づくものである。中間層であるアプリケーション・サーバは処理を実行する。アプリケーション・サーバは、デスクトップによってアクセスされ、最下層に保管されたデータを使用する。最下層は、データを収容するストレージ・デバイスからなる。
【００２２】
ＳＡＮ１０では、最下層内のストレージ・デバイスは集中化され相互接続されるが、これは事実上、ホストまたはメインフレームの中央ストレージ・モデルへの後退を表す。ＳＡＮは、ファイバ・チャネルによってサポートされる距離内のストレージ・デバイスとプロセッサ（サーバ）との間の直接接続の確立を可能にする高速ネットワークである。ＳＡＮは、ストレージ・バス概念への拡張と見なすことができ、これにより、ローカル・エリア・ネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）内と同様のエレメント、すなわち、ルータ、ハブ、スイッチ、ディレクタ、ゲートウェイを使用してストレージ・デバイスとサーバを相互接続することができる。ＳＡＮは、複数サーバ間で共用するか、１つのサーバに専用のものにするか、あるいはその両方にすることができる。これは、ローカルのものにするか、または地理的距離を超えて拡張することができる。
【００２３】
ＳＡＮ１０などのＳＡＮは、サーバにストレージを接続する新しい方法を作り出す。これらの新しい方法は、可用性およびパフォーマンスの両方において大幅な改善を可能にすることができる。ＳＡＮ１０は、共用ストレージ・アレイおよびテープ・ライブラリを複数サーバに接続するために使用され、フェイルオーバのためにクラスタ化サーバによって使用される。これらは、メインフレーム・ディスクまたはテープをメインフレーム・サーバに相互接続することができ、そこでＳＡＮデバイスはオープン・システム（Ｗｉｎｄｏｗｓ、ＡＩＸなど）とメインフレーム・トラフィックの混合を可能にする。
【００２４】
ＳＡＮ１０は、伝統的なネットワーク・ボトルネックを迂回するために使用することができる。これは、潜在的に以下の３通りのいずれかで、サーバとストレージ・デバイスとの間の直接的な高速データ転送を容易にするものである。サーバからストレージへ：これは、ストレージ・デバイスとの相互作用の伝統的なモデルである。その利点は、複数のサーバによって逐次または同時に同じストレージ・デバイスにアクセスできることである。サーバからサーバへ：ＳＡＮは、サーバ間の高速大容量通信に使用することができる。ストレージからストレージへ：この外部データ移動機能により、サーバの介入なしにデータを移動することができ、それにより、サーバ・プロセッサ・サイクルをアプリケーション処理のような他の活動に使える状態にする。例としては、サーバの介入なしにテープ装置にそのデータをバックアップするディスク装置、またはＳＡＮを越えてミラーリングするリモート・デバイスを含む。加えて、ＩＢＭ（ＩＢＭはインターナショナル・ビジネス・マシーンズ社の登録商標である）のストレージ・タンク技術などの分散ファイル・システムを使用すると、クライアントはストレージ・デバイスと直接通信することができる。
【００２５】
ＳＡＮは、たとえば、最小限のサーバの介入によりソース・デバイスからターゲット・デバイスにデータを直接送信させることにより、データを移動するアプリケーションの実行を改善することができる。また、ＳＡＮは、複数のホストが同じネットワークに接続された複数のストレージ・デバイスにアクセスする新しいネットワーク・アーキテクチャも可能にする。ＳＡＮ１０は潜在的に以下の利点を提供することができる。アプリケーションの可用性に対する改良：信頼性、可用性、および保守性の向上のために、ストレージはアプリケーションから独立し、複数のデータ・パスによりアクセス可能である。アプリケーション・パフォーマンスの向上：ストレージ処理は、サーバからオフロードされ、個別のネットワーク上に移動される。ストレージの集中化および統合：より単純な管理、スケーラビリティ、柔軟性、および可用性。リモート・サイトへのデータ転送およびボールト：災害保護のためならびに悪意のある攻撃に対抗して使用可能になっているデータのリモート・コピー。集中管理の簡略化：ストレージ・メディアの単一イメージにより管理を簡略化する。
【００２６】
ファイバ・チャネルは、ｚ／ＯＳシステム用の標準プロトコルとしてのＦＩＣＯＮ（ｚ／ＯＳはインターナショナル・ビジネス・マシーンズ社の登録商標である）およびオープン・システム用の標準プロトコルとしてのＦＣＰにより、ほとんどのＳＡＮ実現例が構築されるアーキテクチャである。
【００２７】
すべてのＳＡＮソリューションについて背後にある理由はサーバ・インフラストラクチャである。このインフラストラクチャは、Ｗｉｎｄｏｗｓ（マイクロソフト、Ｗｉｎｄｏｗｓ、Ｗｉｎｄｏｗｓ  ＮＴ、およびＷｉｎｄｏｗｓロゴは、米国、その他の国々、またはその両方におけるマイクロソフト社の商標である）、ＵＮＩＸ（ＵＮＩＸは、米国およびその他の国々におけるＴｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの登録商標である）（およびその様々な変種）、およびｚ／ＯＳなどのサーバ・プラットフォームの混合を含む。サーバ統合およびｅ−ビジネスなどのイニシアチブにより、ＳＡＮの必要性が増大し、ネットワーク内のストレージの重要性がより大きくなる。
【００２８】
ストレージ・インフラストラクチャは、情報が頼りにする基礎であり、したがって、企業のビジネス目標およびビジネス・モデルをサポートしなければならない。この環境では、より高速のストレージ・デバイスをより多く配備するだけでは十分ではない。ＳＡＮインフラストラクチャは、強化したネットワーク可用性、データ・アクセシビリティ、およびシステム管理の容易性を提供する。ＳＡＮは、それが特定のサーバ・バス上に存在しないようにストレージ・デバイスを解放し、それをネットワークに直接接続する。換言すれば、ストレージは、外部化され、組織全域で機能的に分散することができる。また、ＳＡＮは、ストレージ・デバイスの集中化およびサーバのクラスタ化も可能にし、これは総所有コスト（ＴＣＯ：total cost of ownership）を低下させる、より容易かつ安価な集中管理を助長する潜在能力を持っている。
【００２９】
パフォーマンス、可用性、コスト、スケーラビリティ、およびインターオペラビリティなどのＳＡＮの様々な利点および特徴を達成するために、ＳＡＮのインフラストラクチャ（スイッチ、ディレクタなど）ならびに接続されたストレージ・システムを効果的に管理しなければならない。ＳＡＮ管理を簡略化するため、ＳＡＮベンダは概して、それ自体の管理ソフトウェアおよびツールを開発する。ＳＡＮ管理ソフトウェアおよびツール（たとえば、Ｔｉｖｏｌｉ（Ｔｉｖｏｌｉはインターナショナル・ビジネス・マシーンズ社の登録商標である））内に含まれる有用な特徴は、ＳＡＮトポロジを提供できることである。ＳＡＮトポロジは、デバイス（たとえば、ホスト、ストレージ・デバイス、スイッチなど）間の相互接続のパターン（たとえば、物理および論理）を提供する。ＳＡＮトポロジを提供することに加えて、ＳＡＮトポロジの様々なパースペクティブを提供することは有用である。このようなパースペクティブは、ＳＡＮトポロジのサブセットを識別する。この例示的な実施形態では、ＳＡＮトポロジのパースペクティブは、ＳＡＮ内の特定のデバイスにとってアクセス可能であるかまたは見えるデバイスの図形表示を提供する。たとえば、このようなパースペクティブは、特定のホストに接続されたすべてのストレージ・デバイス、特定のストレージ・デバイスに接続されたすべてのホスト、ホストに接続されたすべてのスイッチなどを識別するために使用される。
【００３０】
図２は、本発明の一態様による例示的なＳＡＮトポロジ２４を示している。ＳＡＮトポロジ２４は、ＩＴＳＯＳＷ１スイッチ２６と、ＩＴＳＯＳＷ２スイッチ２８と、ＩＴＳＯＳＷ３スイッチ３０と、ＩＴＳＯＳＷ４スイッチ３２とを含む。また、ＳＡＮトポロジ２４は、ＳＡＮデータ・ゲートウェイ３４も含む。ＳＡＮトポロジ２４は、サーバＡ３６と、サーバＢ３８と、サーバＣ４０と、サーバＤ４２と、サーバＥ４４と、サーバＦ４６と、サーバＧ４８と、サーバＨ５０と、サーバＩ５２と、サーバＪ５４と、サーバＫ５５とをさらに含む。その上、ＳＡＮトポロジ２４は、テープ・ライブラリ５６と、ストレージ・サーバＡ５８と、ストレージ・サーバＢ５９とを含む。
【００３１】
図３は、ＳＡＮトポロジ（たとえば、ＳＡＮトポロジ２４）を表示するための例示的なユーザ・インターフェース６０である。ユーザ・インターフェース６０は、サブマップ・スタック６２と、サブマップ・ウィンドウ６４と、子サブマップ・エリア６６とを含む。サブマップ・スタック６２内には、ルート・マップ６８が含まれる。この例示的な実施形態では、マップおよびサブマップを使用して、ネットワーク・トポロジ内を移動し、トポロジ・パースペクティブなどの詳細を検索することができる。ＳＡＮトポロジに関しては、ルート・マップ６８は主マップであり、各従属マップはサブマップである。サブマップ・ウィンドウ６４は例示的なＳＡＮトポロジを含む。
【００３２】
サブマップ・ウィンドウ６４は相互接続エレメント７０を含む。相互接続エレメント７０は、スイッチ１  ２６とスイッチ２  ２８との間の接続を容易にするものである。相互接続エレメント７０、スイッチ１  ２６、またはスイッチ２  ２８のいずれかは、他のサブマップまたはデバイスになる可能性がある。
【００３３】
サブマップ・スタック６２は、ルート・マップ６８と、ストレージ・マップ７６と、ファブリック１  ７８とを含む親サブマップを表すアイコンのスタックを表示し、そのいずれも前に表示されたものである。この例示的な実施形態では、サブマップ・スタックは、特定のマップのために開かれたサブマップの階層を示している。
【００３４】
子サブマップ・エリア６６は、サブマップ・ウィンドウ６４内に現在開かれているサブマップから前に開かれたサブマップを示している。この例示的な実施形態では、サブマップは子サブマップ・エリア６６から開くか、またはすでに画面上の他のウィンドウ内にそれが開かれている場合に視界に入れることができる。サブマップ・ウィンドウ６４内に提供されるビューは、発見されたＳＡＮファブリック１  ７８に関するトポロジ・ビュー８０である。この例示的な実施形態では、複数のＳＡＮファブリック（たとえば、ＳＡＮファブリック１  ７８、ＳＡＮファブリック２、・・・ＳＡＮファブリックｎ）が存在する可能性がある。
【００３５】
図４は、スイッチ・サブマップ８１を示すための例示的なユーザ・インターフェースである。スイッチ・サブマップ８１は、本発明の例示的な一実施形態により、スイッチ１  ２６に接続された、ＳＡＮファブリック１  ７８内のすべてのデバイスを含む。スイッチ１  ２６というスイッチの選択により、ユーザには、スイッチ１  ２６に接続されたすべてのホストおよびデバイスの表示が提供される。スイッチ１  ２６と、スイッチ１  ２６が接続されている各デバイス（たとえば、スイッチ、ホスト、デバイス、および相互接続）との間の線は論理接続を表している。論理接続の選択により、２つのポイント間の物理接続の数が提供される。
【００３６】
図５は、本発明の一実施形態により、ＳＡＮに接続されたストレージ・デバイスと、それらとＳＡＮ内のホストとの関係の例示的なデバイス中心パースペクティブ８２が示されているユーザ・インターフェースである。デバイス中心パースペクティブ８２は、特定のホストに接続されたすべてのストレージ・デバイスのトポロジを提供する。デバイス中心ビューは、ストレージ・マップ７６の選択により選択することができる（図３を参照）。ＳＡＮファブリックは、複数のストレージ・サーバを有することができる。デバイス中心パースペクティブ８２により、ユーザは、ＳＡＮ内のストレージ・デバイスと、それらとＳＡＮ内に含まれるホストとの関係を見ることができる。たとえば、デバイス中心パースペクティブ８２には、ホスト１Ｔ１４８５９６６８について１２個のＬＵＮが定義されている。依存関係ツリー８４は、ＳＡＮトポロジ２４内の管理対象ホストから検索された情報から統合される。
【００３７】
図６は、ＳＡＮトポロジ２４内に含まれるホストと、それに関連するローカルおよびＳＡＮ接続ストレージ・デバイスのホスト中心パースペクティブ８６が示されているユーザ・インターフェースである。ホスト中心パースペクティブ８６は、特定のストレージ・デバイスにアクセスしているすべてのホストのトポロジを提供する。
【００３８】
ユーザ・インターフェース（図示せず）を使用して、ＳＡＮノード・パースペクティブを選択することもできる。ＳＡＮノード・パースペクティブは、ＳＡＮ内の特定のノードによってアクセス可能であるＳＡＮ内のすべてのノード（たとえば、ホスト、ストレージ・デバイス、スイッチ、相互接続デバイスなど）を識別するものである。
【００３９】
図７は、ＳＡＮ管理プログラム９０と、トポロジ・ビューア９１と、トポロジ・ビューア・キャッシュ９２と、センサ・データベース９３とを含むＳＡＮ管理システム８９のブロック図である。ＳＡＮ管理ツールは管理者ディスプレイ９４に接続されている。トポロジ・ビューア９１は、管理者ディスプレイ９４で（たとえば、システム管理者によって）表示することができるＳＡＮトポロジ２４の様々なパースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を提供する。ＳＡＮ管理プログラム９０の特徴の１つは、（たとえば、管理者ディスプレイ９４で）ＳＡＮトポロジ２４の種々のパースペクティブを提供することである。ＳＡＮ管理プログラム９０は、複数のトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を提供する。
【００４０】
ＳＡＮ管理プログラム９０は、ＳＡＮトポロジ２４内に含まれるデバイス（たとえば、ストレージ・デバイス、ホスト、スイッチ、相互接続デバイスなど）内に配置されたセンサ・エージェント（図示せず）と通信する。センサ・エージェントは、それらが常駐するデバイスに関する状況情報（たとえば、接続、状態など）を収集し、その状況情報をセンサ・データベース９３に提供する。トポロジ・ビューア９１は、センサ・データベース９３内の状況情報を使用して、ＳＡＮの様々なグラフィカル・パースペクティブ（たとえば、デバイス中心パースペクティブ８２、ホスト中心パースペクティブ８６、ＳＡＮノード・パースペクティブなど）を生成する。センサ・エージェントは、ＳＡＮの構成の変更についてＳＡＮをモニターする。センサ・エージェントによって識別された変更はＳＡＮ管理プログラム９０に報告される。ＳＡＮの構成の変更を識別する情報を受信すると、ＳＡＮ管理プログラム９０は、ＳＡＮマネージャ・キャッシュ９２内の現行パースペクティブを無効にし、ＳＡＮの構成に対する識別された変更を含む新しいパースペクティブを生成する。ＳＡＮの構成の変更の一例としては、ＳＡＮ内に含まれるデバイスの障害を含む。ＳＡＮ管理プログラム９０は、インバンド操作またはアウトバンド操作を実行することにより、デバイス障害を検証することができる。
【００４１】
図８は、本発明の例示的な一実施形態によるＳＡＮのホストとスイッチとストレージ・デバイスとの間の接続の一例を示すＳＡＮトポロジ図である。図８のホストには、１００、１０２、１０４、および１０６という番号が付けられている。スイッチには、１０８、１１０、１１２、１１４、１１６、１１８、１２０、および１２２という番号が付けられている。ストレージ・デバイスには、１２４、１２６、１２８、および１３０という番号が付けられている。ホストとスイッチとストレージ・デバイスとの間の線は論理接続を示している。
【００４２】
本発明の例示的な一実施形態によれば、トポロジ・パースペクティブ（たとえば、デバイス中心８２、ホスト中心８６など）を生成するための要求に応答して、ＳＡＮ管理プログラム９０は、前のＳＡＮトポロジ・パースペクティブを生成するときに収集された情報を使用する（すなわち、リサイクルする）。前のパースペクティブ情報（たとえば、ストレージ・デバイスとスイッチとホストとの間のパス）の使用により、現行要求に関連するトポロジ・パースペクティブ内に含まれるパスのトラバース（traversing）を低減または最小化することができる。
【００４３】
図９は、要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースを低減または最小化することができるトポロジ・パースペクティブを生成するために図８のＳＡＮトポロジ図をトラバースする方法１４０を示している。
【００４４】
ブロック１４２で方法１４０が始まる。ブロック１４４でユーザは、ホスト１０４に関連するデバイス中心パースペクティブ８２要求を開始する。デバイス中心パースペクティブ要求は、システム管理デバイス９４で入力され、ＳＡＮ管理プログラム９０によって受信される。ＳＡＮ管理プログラム９０は、その要求をトポロジ・ビューア９１に提供する。
【００４５】
ブロック１４６でトポロジ・ビューア９１は、ＳＡＮ管理プログラム９０およびセンサ・データベース９３との相互作用により、デバイス中心パースペクティブ８２内に含まれるストレージ・デバイス（たとえば、１２４、１２６、１２８、および１３０）を識別する。したがって、ストレージ・デバイス１２６、１２８、および１３０は、要求されたデバイス中心パースペクティブ８２内に含まれる。
【００４６】
ブロック１４８でトポロジ・ビューア９１は、デバイス中心パースペクティブ８２内に含まれるパスを識別する。したがって、パス１０４−１１２−１１８−１２６、１０４−１１２−１２０−１２８、１０４−１１２−１１８−１３０、および１０２−１１０−１１８は、要求されたデバイス中心パースペクティブ８２内に含まれる。要求されたデバイス中心パースペクティブは、グラフィカル・ユーザ・インターフェース（たとえば、システム管理デバイス９４）でユーザ（たとえば、システム管理者）に対して提示することができる。
【００４７】
ブロック１５０でユーザは、ストレージ・デバイス１３０に関連するホスト中心パースペクティブ８６を要求する。
【００４８】
ブロック１５２でトポロジ・ビューア９１は、要求されたホスト中心パースペクティブ８６内に含まれるホストおよびパスを識別する。ホスト・デバイス１０２、１０４、および１０６は要求されたホスト中心パースペクティブ８６内に含まれる。パス１２２−１１４−１０６、１１８−１１０−１０２、および１１８−１１２−１０４は、要求されたホスト中心パースペクティブ８６内に含まれる。しかし、ブロック１５２でホスト中心パースペクティブ８６が生成されると、トポロジ・ビューア９１は、パス１１８−１１０−１０２または１１８−１１２−１０４をトラバースしない。その代わりに、上記で行われた前のデバイス中心パースペクティブ８２要求（ブロック１４４〜１４８を参照）からパス１１８−１１０−１０２および１１８−１１２−１０４が検索される。ブロック１５４で方法１４０が終了する。前のデバイス中心パースペクティブから得られたパス１１８−１１０−１０２および１１８−１１２−１０４に関する情報を使用すると、その結果として、トポロジ・ビューア９１は、パス１１８−１１０−１０２および１１８−１１２−１０４を再トラバースする必要がなくなる。ブロック１５２で生成されたホスト中心トポロジ・パースペクティブ８６は、管理ディスプレイ９４で要求側に提示される。
【００４９】
図８および図９で紹介されたトポロジ・パースペクティブを生成するための手法は、結果的に、トポロジ・パースペクティブを生成する際にトポロジ・ビューア９１からＳＡＮ管理プログラム９０へのデータ要求の数を低減することができる。
【００５０】
図１０は、要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースを低減または最小化することができるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする、より詳細な方法１５６を示している。
【００５１】
ブロック１５８で方法１５６が始まる。ブロック１６０でトポロジ・ビューア９１は、特定の入力ノード（すなわち、ホスト）に対応するトポロジ・パースペクティブ（たとえば、デバイス中心パースペクティブ、ホスト中心パースペクティブなど）の生成を要求する照会を受信する。照会を受信すると、トポロジ・ビューアは、要求されたトポロジ・パースペクティブを決定するために、入力ノードから反復幅優先処理を開始する。ブロック１６０の入力ノードはホストとして識別されるが、入力ノードは、ＳＡＮのトポロジによって含まれるストレージ・デバイス、スイッチ、相互接続デバイス、または任意のその他のデバイスにすることができる。
【００５２】
ブロック１６２でトポロジ・ビューア９１は、その照会を分析し、それに関してトポロジ・パースペクティブが要求された特定の入力ノードに関連する１組の隣接ノードを提供するための要求をＳＡＮ管理プログラム９０に送信する。
【００５３】
ブロック１６４でＳＡＮ管理プログラム９０は、ＳＡＮ管理データベースをサーチし、その入力ノードに関連する隣接ノードのリストを検索する。
【００５４】
ブロック１６６でＳＡＮ管理プログラム９０から隣接ノードのリストを受信すると、トポロジ・ビューア９１は、それをトポロジ・ビューア・キャッシュ９２に保管された隣接マトリックス（adjacency matrix）（表１を参照）と比較して、どのノードがすでに隣接マトリックス内に含まれているかを判定する。また、トポロジ・ビューア９１は、隣接マトリックス内に入っていてはならないノードも識別する。隣接マトリックス内に含まれていてはならないノードとしては、前のパースペクティブ要求の一部として検索されなかった新しいノードと、もはやセンサ・データベース９３内に保管されていない（たとえば、現在通用していない）ノードを含む。
【表１】
【００５５】
上記の表１に示されている隣接マトリックスは、Ｇ＝（Ｖ，Ｅ）をグラフとし、Ｖが｛１，２，・・・，ｎ｝によってインデックスが付けられる隣接マトリックスとして記載されている。Ｇのｎ×ｎの隣接マトリックスは、Ａ［ｖ，ｗ］＝｛｛ｖ，ｗ｝がＥに属す場合に１，そうではない場合に０｝というデータ構造によって定義される。隣接リストは、ポインタのアレイＡｄｊ［１・・・ｎ］であり、Ａｄｊ［ｕ］は、｛ｕ，ｖ｝（無向）または（ｕ，ｖ）（有向）が辺になるような頂点ｕを含む連結リストを指し示す。有向グラフＧは、ｐからｑへの辺が存在する場合のみ、項目Ｘｐ，ｑ＝１になり、そうではない場合にＸｐ，ｑ＝０になるような、ＳＡＮトポロジ２４に対応する隣接マトリックスＸによって表される。
【００５６】
ブロック１６８でトポロジ・ビューア９１は、失効した隣接マトリックスからこれらのノードを削除する。
【００５７】
ブロック１７０で、分析すべき追加の新しいノードが存在するかどうかに関する判定が行われる。ＹＥＳであり、そのノードがホスト・ノード（たとえば、ホスト１００、１０２、１０４、および１０６）またはストレージ・デバイス・ノード（たとえば、１２４、１２６、１２８、および１３０）ではない場合、方法１５６はブロック１６２に戻る。前のパースペクティブから隣接マトリックス内にすでに存在する隣接ノードまたはホスト・ノードまたはストレージ・デバイス・ノードとして識別されたノードについては、処理は実行されない。したがって、前のパースペクティブ照会から既存のデータを利用することにより、ブロック１７０で新規として識別されたノードのみ、追加の処理を必要とする。この結果として、トポロジ・パースペクティブを生成するために必要な時間を最小限にすることができる。ホスト・ノードまたはストレージ・デバイス・ノードとして識別されたノードはＳＡＮ１０内のエンドポイントであるので、これらのノードについては追加の処理は不要である。
【００５８】
ブロック１７０に戻り、ＮＯである場合、ブロック１７２でトポロジ・ビューア９１は、要求されたトポロジ・パースペクティブを生成し、それを管理ディスプレイ９４でユーザに提示する。ブロック１７４で方法１５６は終了する。
【００５９】
このようにして、ＳＡＮのトポロジ・パースペクティブを提供するための方法およびシステムについて説明してきた。特定の例示的な諸実施形態に関連して本発明を説明してきたが、本発明の範囲を逸脱せずに、このような実施形態に対して様々な修正および変更を行うことができることは明白になるであろう。したがって、本明細書および添付図面は、限定的なものではなく、例示的なものであると見なすべきである。
【図面の簡単な説明】
【００６０】
【図１】  複数のサーバを複数のストレージ・システムに接続するＳＡＮの層化した概要を示す図である。
【図２】  本発明の一態様による例示的なＳＡＮトポロジを示す図である。
【図３】  ＳＡＮトポロジを表示するための例示的なユーザ・インターフェースを示す図である。
【図４】  スイッチ・サブマップを示すための例示的なユーザ・インターフェースを示す図である。
【図５】  ＳＡＮに接続されたストレージ・デバイスと、それらとＳＡＮ内のホストとの関係のデバイス中心パースペクティブが示されているユーザ・インターフェースを示す図である。
【図６】  ＳＡＮに接続されたホストと、それに関連するローカルおよびＳＡＮ接続ストレージ・デバイスのホスト中心パースペクティブが示されているユーザ・インターフェースを示す図である。
【図７】  トポロジ・ビューアとセンサ・データベースとを含むＳＡＮ管理ツールのブロック図である。
【図８】  本発明の例示的な一実施形態によるＳＡＮのホストとスイッチとストレージ・デバイスとの間の接続の一例を示すＳＡＮトポロジ図である。
【図９】  要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースが低減または最小化されるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする方法を示す図である。
【図１０】  要求されたトポロジ・パースペクティブ内に含まれるパスのトラバースが最小化されるトポロジ・パースペクティブを生成するためにＳＡＮトポロジ図をトラバースする、より詳細な方法を示す図である。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2007509384.tif 000014
【手続補正書】
【提出日】平成17年12月21日(2005.12.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワーク（ＳＡＮ）トポロジのパースペクティブを生成ためのＳＡＮ管理システム（８９）において、前記ＳＡＮ管理システムが、ストレージ・エリア・ネットワーク（ＳＡＮ）をモニターするように配置されたＳＡＮマネージャ・プログラム（９０）にアクセスするように動作可能であり、前記ＳＡＮマネージャ・プログラムとリンク可能なＳＡＮ管理データベース（９３）が、前記ＳＡＮ内に含まれるデバイスおよび前記デバイス間の接続を識別するデータを維持するように配置され、前記ＳＡＮ内に含まれるデバイス内に配置された複数のセンサ・エージェントが、前記ＳＡＮ内で発生するイベントに関連するデータを収集し、前記ＳＡＮ管理データベース内に含めるために収集した前記データを前記ＳＡＮマネージャに提供するように配置され、前記システムが、
前記ＳＡＮマネージャにリンク可能なトポロジ・ビューア（９２）であって、トポロジ・パースペクティブに関する要求を受信するように動作可能なトポロジ・ビューアを有し、
トポロジ・パースペクティブに関する前記要求を受信したことに応答して、前記トポロジ・ビューアが、前記ＳＡＮマネージャ・プログラムに応じて要求された前記トポロジ・パースペクティブを決定するように動作可能であり、
前記トポロジ・ビューアが、前記ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータを使用することにより、要求された前記トポロジ・パースペクティブを生成するように動作可能である、ＳＡＮ管理システム。
【請求項２】
前記トポロジ・パースペクティブが、特定のホストにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項１に記載のシステム。
【請求項３】
前記トポロジ・パースペクティブが、特定のストレージ・デバイスにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項１または請求項２に記載のシステム。
【請求項４】
前記トポロジ・ビューアが、前に要求された前記トポロジ・パースペクティブに関するデータを保管するためのメモリを含む、請求項１ないし３のいずれかに記載のシステム。
【請求項５】
前に要求されたトポロジ・パースペクティブに関する前記データが、前記ＳＡＮ内のデバイス間のアクセスを可能にするパスを含む、請求項４に記載のシステム。
【請求項６】
ＳＡＮトポロジのパースペクティブを提供するための要求を受信するための論理手段と、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されたものを識別するための論理手段と、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するための論理手段と、前に計算された前記データ・パスとここで計算された前記データ・パスの両方に応じて要求された前記パースペクティブを生成するための論理手段とを有する、請求項１ないし５のいずれかに記載のシステム。
【請求項７】
ＳＡＮトポロジのパースペクティブを生成するための方法において、ストレージ・エリア・ネットワーク（ＳＡＮ）がモニターされるように動作可能であり、ＳＡＮ管理データベースが、前記ＳＡＮ内に含まれるデバイスおよび前記デバイス間の接続を識別するデータを維持するように動作可能であり、前記ＳＡＮ内で発生するイベントに関連するデータが収集され、前記ＳＡＮ管理データベース内に含めるために提供され、前記方法が、
トポロジ・パースペクティブに関する要求を受信するステップと、
トポロジ・パースペクティブに関する前記要求を受信したことに応答して、前記ＳＡＮマネージャ・プログラムに応じて要求された前記トポロジ・パースペクティブを決定するステップと、
前記ＳＡＮ管理データベース内に含まれるデータおよび前に要求されたトポロジ・パースペクティブに関連するデータを使用することにより、要求された前記トポロジ・パースペクティブを生成するステップと、
を有する方法。
【請求項８】
前記トポロジ・パースペクティブが、特定のホストにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項７に記載の方法。
【請求項９】
前記トポロジ・パースペクティブが、特定のストレージ・デバイスにとって見える前記ＳＡＮ内のすべてのデバイスについて生成される、請求項７または請求項８に記載の方法。
【請求項１０】
前に要求された前記トポロジ・パースペクティブに関するデータを保管するステップをさらに有する、請求項７ないし９のいずれかに記載の方法。
【請求項１１】
前に要求されたトポロジ・パースペクティブに関する前記データが、前記ＳＡＮ内のデバイス間のアクセスを可能にするパスを含む、請求項１０に記載の方法。
【請求項１２】
ＳＡＮトポロジのパースペクティブを提供するための要求を受信するステップと、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されたものを識別するステップと、要求された前記パースペクティブ内のデータ・パスのうち、前に計算されていないものを計算するステップと、前に計算された前記データ・パスとここで計算された前記データ・パスの両方に応じて要求された前記パースペクティブを生成するステップとを有する、請求項７ないし１１のいずれかに記載の方法。
【請求項１３】
ＳＡＮの構成に対する変更または前記ＳＡＮの構成から外れるデバイスの識別に基づいて、前記ＳＡＮ内のホスト、デバイス、およびスイッチのパースペクティブを含むキャッシュのそれぞれを更新する方法。
【国際調査報告】
2007509384.tif 000015
2007509384.tif 000016
2007509384.tif 000017