(57)【要約】      （修正有）【課題】ＳＡＮの故障原因やその影響の分析やモデル化の方法を提供する。【解決手段】複数のコンポーネントから１つを選択し、ＳＡＮに関係するコンポーネント間の関係を表現するステップと、コンポーネント間で発生する複数の事象と複数の可観察事象の間のマッピング処理を施すステップと、そのマッピング処理に基づいてシステム分析を実行するステップとを含んでいる。マッピング処理は各事象を各可観察事象と関連づける値として表示されている。また、ＳＡＮが複数の論理的ドメインである大型システムに含まれている場合の分析方法と分析装置が開示され、複数のコンポーネントからコンポーネントを選択するステップと、コンポーネント間の関係を表現するステップと、コンポーネント間で発生する複数の事象と複数の可観察事象の間のマッピングステップ処理を施すステップと、そのマッピング処理に基づいてシステム分析を実行するステップとを含んでいる。【選択図】図４
2006236331.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサーとメモリーとを含んだコンピュータシステムで利用され、複数のコンポーネントを含み、複数のドメインを有して提供されるシステムで分析を実行し、該ドメインの少なくとも１つはストレージエリアネットワーク（ＳＡＮ）であり、コンピュータシステムに組み込まれると少なくとも以下のステップをプロセッサーに実行させる方法であって、それらステップとは、
複数のコンポーネントから選択されたコンポーネントを提供し、それらコンポーネント間の関係を表現するステップであって、該複数のコンポーネントの少なくとも１つは少なくとも２つのドメインと関連していることを特徴とするステップと、
複数の事象と、コンポーネント間で発生する複数の可観察事象の間でマッピング処理を提供するステップであって、該マッピング処理は各事象を各可観察事象と関連付けることを特徴とするステップと、
事象と可観察事象のマッピングに基づいてシステム分析を実行するステップと、
であることを特徴とする方法。
【請求項２】
少なくとも１つのＳＡＮドメインを提供するステップは、
選択コンポーネントの少なくとも１つの非特定要素を創出するステップであって、該非特定要素は、ロジカルエレメント、ロジカルデバイス、サービス、ファイルシステム、ストレージエクステント、デバイスコネクション、フィジカルエレメント、ホストサービス、及びフィジカルパッケージから選択されることを特徴とするステップと、
選択コンポーネント間で事象を拡散させる少なくとも１つの非特定要素を創出するステップであって、関係要素はリアライズ、リアライズドバイ、リザイドオン、ホストファイルシステム、コンクリートコンポーネントオブ、コンクリートコンポーネント、アロケーテドフロムストレージプール、アロケートツーストレージボリューム、コネクテドバイア、コネクテドツー、コネクテドバイプロトコールまたはプロトコールコントローラフォーポートから選択されることを特徴とするステップと、
を含んでいることを特徴とする請求項１記載の方法。
【請求項３】
少なくとも２つのドメインと関連するコンポーネントはファイルシステム、ファイルサーバー、ホストサービスまたはストレージエクステントであることを特徴とする請求項２記載の方法。
【請求項４】
マッピング処理は、
各ドメインに対して、そのドメイン内のコンポーネントのための複数の可観察事象と複数の事象の間でマッピング処理を施すステップをさらに含んでおり、少なくとも１つの可観察事象は少なくとも２つのドメインと関連するコンポーネントと関連していることを特徴とする請求項１記載の方法。
【請求項５】
複数の可観察事象のうちの少なくとも１つに基づいて少なくとも１つの蓋然性が高い事象を決定するステップであって、該ステップは、複数の可観察事象と複数の事象に関連し、対応するドメインとのミスマッチ程度を決定するステップをさらに含んでいることを特徴とする請求項４記載の方法。
【請求項６】
それぞれのドメインから決定された複数の蓋然性が高い事象のうちで少なくとも１つに基づいて少なくとも１つの事象を決定するステップをさらに含んでいることを特徴とする請求項５記載の方法。
【請求項７】
少なくとも１つの可観察事象は少なくとも２つのドメインに関連する少なくとも１つのコンポーネントと関連することを特徴とする請求項１記載の方法。
【請求項８】
システム分析は、故障/不調検出、故障/不調モニター、実行状況、停滞、接続性、インターフェース不調、ノード不調、リンク不調、ルートプロトコールエラー、ルートコントロールエラーあるいは原因分析から選択されることを特徴とする請求項１記載の方法。
【請求項９】
システム分析は、複数の事象のうちの少なくとも１つに基づいて少なくとも１つの蓋然性が高い事象を決定するステップを含んでいることを特徴とする請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータネットワークに関する。特には、保存領域（ストレージエリア）ネットワークのモデル化並びに分析装置と分析方法とに関する。
【背景技術】
【０００２】
優先権主張
本出願は２００４年３月３１日出願の米国特許願１０/８１３８４２「多領域システムモデル化の方法と装置」の一部継続出願であり、３５ＵＳＣ１２０に基づく優先権を主張するものであり、その内容を本明細書に援用しており、２００５年１月２６日出願の米国仮特許願６０/６４７１０７「保存領域ネットワークの分析と問題報告の方法及び装置」の３５ＵＳＣ１１９(e)に基づく優先権を主張するものであり、その内容を本明細書に援用する。
【０００３】
関連出願
本願は、１９９４年５月２５日出願の米国特許５５２８５１６の継続である１９９５年６月６日出願の特許願０８/４６５７５４の継続である１９９６年７月１２日出願の米国特許５６６１６６８の継続である１９９７年７月１５日出願の米国特許６２４９７５５の継続である１９９４年５月２５日出願の米国特許５５２８５１６の継続である１９９５年６月６日出願の米国特許願０８/４６５７５４の継続である１９９６年７月１２日出願の米国特許５６６１６６８の継続である１９９７年７月１５日出願の米国特許６２４９７５５の継続である２００１年３月１６日出願の米国特許願０９/８０９７６９の継続である２００３年３月２７日出願の米国特許６８６８３６７の永続である米国特許願１１/０７７９３２「事件相関と問題報告のための装置及び方法」に関連する。以上の文献の内容を本明細書に援用する。
【０００４】
発明の背景
ストレージエリアネットワーク（ＳＡＮ）は、さほど費用をかけず、再構築によるサービス中断を最低限度に留めて大量の保存性能を追加することによりサーバー能力を大幅に増大させた。しかし、ＳＡＮ性能及び/又は利用可能性を分析する能力は採用されたモデルにより制限されてきた。ＳＡＮ対象物やＳＡＮ関連物に特に適した系統的な行動モデルが存在しないため、いくつかの重要な分析が制限される。例えば、ＳＡＮ内や、システム全体及び/又はＳＡＮ部材内での故障/不調のアプリケーションに対する影響を決定することは困難である。別例としては、ＳＡＮ部材、システム全体及び/又はアプリケーションに対して症状を引き起こす原因の決定は困難である。
【０００５】
従って、故障/不調原因や、そのような故障/不調の影響を決定するため、ストレージエリアネットワーク（ＳＡＮ）の分析とモデル化のための方法とシステムとが産業的に求められている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、故障/不調原因や、そのような故障/不調の影響を決定するため、ストレージエリアネットワーク（ＳＡＮ）の分析とモデル化のための方法とシステムとが産業的に求められている。
【課題を解決するための手段】
【０００７】
発明の概要
ＳＡＮを論理的に表し、分析する方法と装置とが開示されている。この方法は、ＳＡＮと関連する複数の機器から対象機器を選択するステップと、選択された機器間の関連性を表現するステップとを含んでいる。さらに、複数の事象と、それら機器間で発生する複数の可観察事象との間でマッピング処理を施すステップを含んでいる。このマッピング処理は各事象を各可観察事象と関連付ける値として表される。この方法はさらに、事象と可観察事象のマッピング処理に基づいてシステム分析するステップを含む。本発明の別特徴では、ＳＡＮを表し、ＳＡＮに対する分析を実行する方法と装置が開示される。そこでは複数のドメインとして論理的に表現される大型システムに含まれるＳＡＮが開示される。本発明のこの特徴では、方法は複数の機器から選択された機器と、それら機器間の関係を表現するステップを含んでおり、それら機器のうちで少なくとも１つの機器が少なくとも２つのドメインと関連し、複数の事象と、それら機器間で発生する複数の可観察事象との間でマッピング処理を施すステップを含んでいる。このマッピング処理ステップは各事象を各可観察事象と関連させる値として表現される。この方法はさらに、事象と可観察事象のマッピング処理に基づいてシステム分析を実行するステップを含んでいる。
【発明を実施するための最良の形態】
【０００８】
図１はＳＡＮ１００の１例であり、コンピュータシステム１１０はネットワーク１２０として表される通信パスを通ってサーバー１３０と情報の交換を行う。サーバー１３０はさらにネットワーク１４０を介して複数の保存媒体１５０．１・・・１５０．ｎと通信する。それら媒体は１つの大型保存スペースとして論理的に示される。注目すべきは、２つのサーバーが同一ＳＡＮに装着されることである。１つのＳＡＮの使用は有利である。なぜなら、ネットワークに追加の保存媒体を加えることで保存能力の増強ができるからである。図１の場合には、ネットワーク１２０はインターネット等のネットワークであり、それはＩＰベースプロトコールを使用する。ネットワーク１４０はファイバーチャンネル（ＦＣ）ベースプロトコールを使用したネットワークであってもよい。ファイバーチャンネルベースプロトコールはＳＡＮのために開発された。高速アクセスと大型バンドパスを提供するからである。近年、ＩＰベースネットワークがサーバー１３０と保存媒体１５０．１・・・１５０．ｎとの通信をサポートするために使用されている。ＳＡＮ、ファイバーチャンネルプロトコール及びＩＰプロトコールは良く知られており、説明は不要であろう。
【０００９】
図２ＡはＩＰネットワークの論理図である。この場合、ネットワーク１２０は、ホストまたはコンピュータシステム１１０とファイルサーバー１３０との通信を提供する。さらにコンピュータシステム１１０に“ホスト”されたアプリケーション２３５と、ファイルサーバー１３０に“ホスト”されたファイルシステム２４０とが図示されている。アプリケーション２３５とファイルシステム２４０は、それぞれのホストデバイスで独立的に実行されるソフトウェアプログラムを提供する。データファイル２４５はアプリケーション２３５とファイルシステム２４０との間の関係を表示する。
【００１０】
図２Ｂは、図２Ａで示すＩＰネットワークのマッピングを図示する。アプリケーション２３５によって、知られた読み取り及び/又は書き込み操作で複数のデータファイル２４５．１・・・２４５．ｋがアクセスされる。このアクセスは“レイヤードオーバーリレーションシップ”と呼称されるアプリケーションとファイルとの間の関連性で表現することができよう。ファイルシステム２４０がアプリケーション２３５からファイル２４５によって提供された情報を受領でき、アプリケーション２３５に情報を提供できるマネージャ機能を提供することも図示されている。この場合、ファイルシステム２４０はファイルシステム２４０とファイル２４５との間の関係によって表すことができる。この関係も“レイヤードオーバーリレーションシップ”と呼称される。本願の場合、“レイヤードオーバーリレーションシップ”は対象機器類として表される複数の対象機器間の相互依存性を表す。
【００１１】
図２Ａにはそれぞれハードウェアエレメントとソフトウェアエレメントを含むドメイン２１０と２３０が図示されている。この場合、ＩＰドメインと呼称されるドメイン２１０は、ハードウェアエレメントまたはフィジカルエレメントコンピュータシステム１１０、ＩＰネットワーク１２０、そしてファイルサーバー１３０を含む。アプリケーションドメインと呼称されるドメイン２３０は、非フィジカルソフトウェアエレメントアプリケーション２３５、データファイル２４５、ファイルシステム２４０、ハードウェアまたはフィジカルエレメントコンピュータシステム１１０並びにファイルシステム１３０を含む。図示のごとく、コンピュータシステム１１０とファイルシステム１３０は両ドメイン内に含まれ、ドメインインターセクションまたはドメインアソシエーションと呼称される。ドメインアソシエーションは図４に関して詳述する。
【００１２】
図３Ａは例示的ＳＡＮドメイン並びに関連ＩＰとアプリケーションのドメインの論理図である。この例ではＩＰネットワークのエレメント、すなわちコンピュータシステム１１０、ネットワーク１２０、ファイルサーバー１３０、及びソフトウェア２３５、２４０は図２Ａで示す通りであり、ホストシステム３１５及びストレージアレイ３５０ともＳＡＮ３１０を介して通信状態である。ストレージアレイ３５０は論理的にディスク１５０．１・・・１５０．ｎである（図１参照）。ホスト３１５はストレージプールのマネージャであり、ストレージプール管理のためにソフトウェア３２０を実行する。ストレージディスク１５０はエクステント３４０と呼ばれる論理エレメントに分割される。これらはストレージボリューム３３０である別な論理エンティティに配分される。ストレージボリューム３３０へのエクステント３４０の配分はストレージプールマネージャ（図示せず）により実行される。
【００１３】
特に、エクステント３４０はディスク、メモリ、等々の配分ユニットであり、伝統的なストレージブロックコンセプトを一般化させる。ボリュームはエクステント３４０を含み、ファイルシステムのバーチャルスペースの創出に使用される。例えば、ドライブＣ：、Ｄ：、Ｅ：等々への言及は、例えばマイクロソフトウィンドーズ操作システム内でロジカルボリュームラベルと関連させることができる。マイクロソフトとウィンドーは米国ワシントン州レッドモンドのマイクロソフトコーポレーションの登録商標である。
【００１４】
ストレージプール３２０は複数のエクステント３４０であり、管理目的で使用される。この場合、ボリュームの配分が望まれれば、ストレージプールマネージャは複数のエクステント３４０を選択し、ボリューム３３０として選択エクステント３４０を指定する。よって、ファイルシステム２４０（図２）はそのファイルを保存するためにストレージボリュームを配分することができる。ストレージボリューム３３０とエクステント３４０はフィジカルストレージデバイスと論理的に関連した周知のコンセプトである。
【００１５】
図３ＢはＳＡＮ利用例を図示する。ファイルサーバー１３０．１・・・１３０．ｎはそれぞれ複数のルータスイッチ３１７．１・・・３１７．ｍと通信状態である。それぞれのルータスイッチ３１７．１・・・３１７．ｍはストレージメディアムアレイ３５０．１・・・３５０．ｐと通信状態である。
【００１６】
図３Ｃは例示的なストレージメディアアレイ３５０．１の例えば利用法を図示する。この例では、ストレージメディアアレイ３５０．１はストレージディスクメディア１５０または複数のストレージメディア１５０．１から１５０．ｎまでにより構成されている。それぞれのストレージディスクメディア１５０はロジカルストレージエクステント３４０．１から３４０．ｑまでに分割される。
【００１７】
図３Ｄは、エクステント３４０と関連するストレージボリューム３３０のリソースを配分する例示的なファイルシステム２４０を図示する。この例では、ストレージボリューム３３０からのリソースを配分するファイルサーバー１３０はファイルシステム２４０をホストする。ストレージボリューム３３０は例えば３４０．１・・・３４０．ｑのエクステントにストレージスペースを与える。ストレージボリューム３３０は、ホストサーバー３１５でホストされたストレージプール３２０、すなわちエクステント３４０のストレージプールを提供するストレージマネージャのサービスを利用する。
【００１８】
図４は本発明の原理に従ったＳＡＮを含むシステムのオーバーラップドメインの実施例を示す。この実施例では、ドメイン２１０とドメイン２３０（図２）はＩＰネットワーク１２０のハードウェアエレメントとソフトウェアエレメントをそれぞれ含んでいる。ドメイン４１０とドメイン４２０も示されている。バーチャル化ドメインと呼称されるドメイン４１０は、ハードウェアエレメントフィラーサーバー１３０、ホスト３１５、ソフトウェアストレージプール３２０、ソフトウェアストレージボリューム３３０、ソフトウェアエクステント３４０、ソフトウェアファイルシステム２４０のソフトウェアエレメントを含んでいる。ＳＡＮドメインと呼称されるドメイン４２０はハードウェアエレメントファイルサーバー１３０、ネットワーク１３０、アレイ３５０、ストレージディスク１５０、ホスト３１５、及びソフトウェアエクステント３４０を含んでいる。
【００１９】
ドメイン間のインターセクションポイントまたはインターセクションアソシエーションも決定できる。例えば、ファイルサーバー１３０は前述のようにドメイン２１０とドメイン２３０との間のインターセクションを提供し、ドメイン４１０とドメイン４２０との間のインターセクションを提供する。同様に、ホスト３１５はドメイン４１０とドメイン４２０との間のインターセクションを提供する。インターセクションポイントの知識は有益である。なぜなら、インターセクションポイントに影響を及ぼすドメインのエラーや故障/不調は他のドメイン内に故障/不調及び/又はエラーを発生させるからである。すなわち、インターセクションポイントはインターセクションドメインを通じた事象の導通路として機能する。例えば、ディスク１５０内のエラーは、例えばエクステント３４０に影響を及ぼし、連鎖的にボリューム３３０に影響を及ぼし、ファイルシステム２４０に影響を及ぼす。よって、ファイルシステム２４０内のエラーはアプリケーションドメイン２３０にエラーまたは可検出事象を発生させるかもしれない。なぜなら、アプリケーション２３５はファイルシステム２４０で処理されたファイルを使用するかも知れないからである。同様に、もしファイルサーバー１３０が、ディスク１５０を使用するボリュームを配分するファイルシステムをホストするなら、ディスク１５０の故障/不調はファイルサーバー１３０に影響を及ぼし、ディスク１５０にアクセスするアプリケーションに問題や可検出事象をさらに発生させるかも知れない。
【００２０】
図５は、ストレージメディア１５０にデータを保存するために複数のファイルを使用し、システムのストレージメディア１５０に発生するエラーの影響を表す。この場合、ストレージメディア１５０のエラーはアプリケーションドメインに拡散し、エラーや可検出事象を関連アプリケーション２３５．１・・・２３５．ｒに発生させる。
【００２１】
図６はアレイ３５０での故障/不調や発生事象によって引き起こされるアプリケーションのエラーや可検出事象の発生の第２例を示す。この場合、発生事象はアレイ３５０を含んだ複数のストレージメディア１５０．１・・・１５０．ｍの１つの可検出事象でよい。
【００２２】
図７はコンポーネント内のエラーが、検出される同一症状を引き起こす過程を示す。この実施例では、ファイルの読み取り不調はアプリケーション２３５内にエラーを引き起こす。例えば、ＩＰネットワーク１２０、ファイルサーバー１３０、ＳＡＮ３１０、ホスト３１５、ストレージプール３２０、アレイ３５０及びストレージメディア１５０のうちの少なくとも１つのエラーは、アプリケーション２３５がストレージメディア１５０からファイルを読み取ることを妨害するであろう。この場合、“アプリケーション２３５はストレージメディア１５０からのファイルを読み取れない”症状により、問題の原因を決定することができない。
【００２３】
図８は図４で示すシステム内で発生するであろうエラーのチャートである。この場合、表示された対象機器クラスは、故障し、あるいは不調であり、そのシステムの問題の原因を構成するであろうエレメントである。
【００２４】
図９は図４で示すシステムの故障/不調の影響チャートである。この場合、対象機器は図８の対象機器の状態に依存する。特に、その依存性は図の説明欄で示されている。
【００２５】
図１０Ａから図１０Ｅは集合的に、本発明の原理に従った概要モデルの実施例である。図１０Ａは本発明のＳＡＮネットワークを含んだシステムの例示的概要モデル１０１０である。このモデルはＳＭＡＲＴＳＩｎＣｈａｒｇｅコモンインフォメーションモデル（ＩＣＩＭ）や類似した、または存在するＣＩＭベースモデルであり、ＳＡＮに適用される既知のネットワークモデルの延長である。ＳＡＮＳの基準は開発過程であり、http://www.snia.org/smi/tech_activities/smi_spec_pr/spec/]で得られよう。ＳＭＡＲＴとＩｎｃｈａｒｇｅは米国マサチューセッツ州ホプキントンのＥＭＣコーポレーションインクの商標である。このモデルはＤＭＴＦ/ＳＭＩモデルの延長である。モデルベースシステムは２００５年１２月出願の米国特許願１１/０３４１９２と、米国特許５５２８５１６、５６６８６２４９７５５及び６８６８３６７で説明されている。それらの内容を本願に援用する。これら米国特許は症状や問題等の可観察事象や可検出事象のマッピング処理に基づいたシステム分析の実行を教示する。
【００２６】
概要モデル１０１０は、ノード、ルーター、コンピュータシステム、ディスクドライブ等のフィジカルネットワークコンポーネント１０３０、及び/又はソフトウェア、アプリケーソンソフトウェア、ポート、ディスクドライブデジグネーション等のロジカルネットワークコンポーネント１０５０から選択されたものを有している。選択されたネットワークエレメントまたはコンポーネントはマネージドコンポーネントと呼称される。マネージドコンポーネントはコンポーネントの特徴や特性を含んでいる。図２Ａ、図２Ｂ、図３Ａから図３Ｄ及び図４から図７で示されているようにマネージドコンポーネント間の関連性も図示されており、モデルに含まれる。ＩＣＩＭ＿Ｓｙｓｔｅｍ１０２０とＩＣＩＭ＿Ｓｅｒｖｉｃｅ１０７０マネージドコンポーネントも図示されている。それらは図１０Ｂと図１０Ｃでさらに詳細に解説される。
【００２７】
図１０Ｂは、対象機器クラスマネージドシステムエレメント１０１２の例示延長部を示し、対象機器クラスＩＣＩＭ＿システム１０２０、ＩＣＩＭ＿フィジカルエレメント１０３０、及びＩＣＩＭ＿ロジカルデバイス１０４０を提供する。これら対象機器は、例えば図３Ａで示すＳＡＮのアレイ３５０、ディスク１５０及びエクステント３４０の一般的コンセプトまたはコンポーネントである。図示のごとく、マネージドコンポーネント対象機器フィジカルエレメント１０３０とロジカルデバイス１０４０は関係を共有し、フィジカルエレメント１０３０はリアライズドバイロジカルデバイス１０４０とロジカルデバイス１０４０リアライズフィジカルエレメント１０３０である。さらに、対象機器クラスＩＣＩＭ＿システム１０２０は対象機器クラスＩＣＩＭ＿コンピュータシステム１０２２を含む。これはクラスユニタリーコンピュータシステム１０２４を含み、アレイ３５０を表す。ユニタリーコンピュータシステムとはディストリビューテドマネージメントタスクフォース（ＤＭＴＦ）で表されるものである。ＤＭＴＦは周知であり、説明を要しないであろう。
【００２８】
対象機器クラスフィジカルパッケージ１０３２を含む対象機器クラスＩＣＩＭ＿フィジカルエレメント１０３０も図示されている。これはフィジカルストレージディスク１５０のごときフィジカルコンポーネントである。対象機器クラスＩＣＩＭ＿ロジカルデバイスは対象機器クラスストレージエクステント１０４２を含む。これはエクステント３４０であり、エクステント３４０はストレージボリューム３３０と通信状態である。
【００２９】
図１０Ｃは対象機器クラスＩＣＩＭ＿ロジカルエレメント１０５０の例示的延長を図示し、対象機器クラスＩＣＩＭ＿ロジカルデバイス１０４０とＩＣＩＭ＿サービス１０７０を提供する。これら対象機器クラスは図３Ａで示すＳＡＮのファイルシステム、ボリューム、エクステント及びストレージプールである。特に、対象機器クラスロジカルエレメント１０６０はファイルシステム２４０であり、ＩＣＩＭ＿サービス１０７０はストレージプール３２０である。対象機器クラス間の関係も図示されている。例えば、ファイルシステム２４０は対象機器クラスストレージエクステント１０４２とのリサイドオン関係を有する。それはファイルシステム２４０とのホストファイルシステム関係を有する。
【００３０】
図１０Ｄは、図３Ａで示すＳＡＮのディスク、カード及びポート間の関係を示す対象機器クラスの延長を図示する。例えば、フィジカルエレメント１０３０のフィジカルパッケージ１０３２は前述のようにストレージディスク１５０とＨＢＡ（ホットバスアダプター）であることができる。ＨＢＡ１０３６はディスクエレメントを動的にＳＡＮに追加したりＳＡＮから除去させる。同様に、対象機器クラスロジカルデバイス１０４０はネットワークアダプター１４５でよく、対象機器クラスポート１４６を含む。対象機器クラスポートはこの例示モデルで示されるようにファイバーチャンネル（ＦＣ）ポート１４７でよい。図示はしないが、ポート１４６は連続、平行、ＡＣＳＩ、ＳＣＳＩＩ、エーテルネット等の他タイプのポートでもよい。ロジカルデバイス１０４０はプロトコールコントローラ１４８でもよく、ネットワークで使用されるプロトコールタイプのものでよい。例えば、プロトコールコントローラ１４８はＳＣＳＩ（小型コンピュータ連続インターフェース）プロトコールコントローラ１４８．１とＦＣプロトコールコントローラ１４８．２でよい。図示しないが、プロトコールコントローラ１４８は他のタイプのプロトコール、例えば、エーテルネットでもよい。
【００３１】
図１０Ｅは図３Ａで示すＳＡＮのアプリケーション２３５、データファイル２４５、及びファイルシステム２４０間の関係を示すために対象機器クラスの延長を図示する。
【００３２】
ここで解説するストレージエリアネットワークのモデルに関し、原因決定または影響分析は、前述の米国特許文献で開示されているものに類似した相関関数で実施できる。
【００３３】
図１１Ａは原因相関関数のために適した例示的原因マトリックス、すなわち図１で示すＳＡＮに適した行動モデルを示す。図１１Ｂは図１１Ａで示す例示的原因相関関数に関する追加情報を図示する。
【００３４】
原因分析の１実施例はエクステント３４０で発生する故障/不調を考察することである。エクステント３４０での故障/不調または問題は、ファイルシステム２４０がエクステント３４０内にマップ処理されたデータにアクセスできないため、ファイルシステム２４０内に可検出事象または症状を創出するであろう。故障/不調はアプリケーション２３５がファイルシステム２４０からデータを取得するようリクエストしたとき、アプリケーション２３５に可検出事象または症状をさらに創出するであろう。故障/不調が発生しても、症状は必ずしも発生しない。すなわち、エクステント２４０のごときコンポーネントが故障/不調を経験していることを示している。原因相関は十分に強力でなければならず、エクステント２４０の状態を示す症状が発生するシナリオと、症状が発生しない場合との両方に対処できなければならない。ＳＡＮの原因分析は、図示された例示的因果関係マトリックスと、管理されたシステムで観察された症状から可能性が高い問題の原因を決定する。この場合、症状または可観察事象は少なくとも２つのドメインと関連するコンポーネント、すなわち、インターセクションポイントとアソシエーションとさらに関連する。
【００３５】
第２例としてストレージディスク１５０の故障/不調を考察する。ストレージディスク１５０の問題は、あたかもストレージディスクの全エクステントが同時的に故障している、あるいは不調であるように見える症状を引き起こすであろう。ストレージディスク１５０の問題はファイルシステム２４０に症状を引き起こすこともある。なぜなら、ファイルシステム２４０はストレージディスク１５０の一部であるエクステント３４０に保存されたデータにアクセスできないからである。同様に、アプリケーション２３５がストレージディスク１５０の一部であるエクステント３４０に保存されたデータにファイルシステム２４０からアクセスできないので、アプリケーション２３５に症状を引き起こすことがある。同様に、ストレージディスクの問題は故障している、あるいは不調であるストレージディスクと“リアライズドバイ”関係を有したエクステント３４０に症状を引き起こすこともあり得る。加えて、ストレージディスク内の問題はストレージディスク自体に症状を引き起こすこともあり得る。
【００３６】
図１２Ａは図１で示すＳＡＮに適した例示的影響分析またはエラー伝播相関関数を示す。図１２Ｂは図１２Ａで示す例示的影響相関関数に関する追加情報を示す。図１１Ａと図１１Ｂに関して説明したように、管理されたコンポーネントの１つ、または複数の故障/不調は、検出されるか、あるいはシステムで経験される症状を予測できるであろう。
【００３７】
図１３は本発明の原理を実行するのに使用可能なシステム１３００の実施例を図示する。システム１３００は入力/出力装置１３０２、プロセッサー１３０３及びメモリー１３０４を含むことができる。Ｉ/Ｏ装置１３０２は情報源または装置１３０１の上方にアクセスするか、情報を受領できる。情報源または装置１３０１は、ここで解説するプロセスに従って情報を送受信できるルーター、サーバー、コンピュータ、ノートブックコンピュータ、ＰＤＡ、携帯電話あるいは他の通信機器でよい。装置１３０１は、例えば無線広域ネットワーク、無線都市ネットワーク、無線地方ネットワーク、放送システム（ラジオ、ＴＶ）、衛星ネットワーク、携帯電話または無線電話ネットワーク、ＰＯＴＳ等の類似有線ネットワーク、インターネット、ＬＡＮ、ＷＡＮ及び/又はインターネット等の個人ネットワーク、それらの一部または組み合わせを介してネットワークコネクション１３５０にアクセスすることができる。
【００３８】
Ｉ/Ｏ装置１３０２、プロセッサー１３０３及びメモリー１３０４は通信メディア１３２５で通信できる。通信メディア１３２５は、例えばバス、通信ネットワーク、回路の内部接続、回路カード、その他の装置、並びにそれらの一部または組み合わせであってよい。クライエント装置１３０１からの入力データはメモリー１３０４に保存されるプログラムに従って処理され、プロセッサー１３０３で実行される。メモリー１３０４はデータ入力可能で情報を永久あるいは非永久的に保存できる磁気、光またはＲＡＭ等の半導体媒体でよい。プロセッサー１３０３はどのような手段でもよく、例えば汎用または特殊コンピュータシステムでよく、ラップトップコンピュータ、デスクトップコンピュータ、サーバー、携帯コンピュータ、あるいはハードウェア形態でよく、専用論理回路または集積回路でよい。プロセッサー１３０３はプログラム可能アレイロジック（ＰＡＬ）またはアプリケーション特定集積回路（ＡＳＩＣ）等でもよい。これらは“プログラム”可能であり、知られた入力に対応して知られた出力を提供するソフトウェアインストラクションまたはコードを含むことができる。１つの特徴では、ハードウェア回路が、本発明を実施するためにソフトウェアインストラクションの代わりに、または組み合わせて使用できる。ここで説明するエレメントはコード化された論理操作を使用して、またはハードウェア実行可能コードを実行して図示の操作の実施に利用できるディスクリートハードウェアとしても使用できる。
【００３９】
１特徴によれば、ここで示す方法はコンピュータ読み取り可能媒体に保存されたコンピュータ読み取り可能コードで表現できる。このコードはメモリー１３０４にも保存できる。このコードはメモリー媒体１３８３、Ｉ/Ｏ装置１３８５、またはフロッピディスク、ＣＤ−ＲＯＭ、ＤＶＤのごとき磁性または光媒体１３８７から読み取り、あるいはダウンロードでき、メモリー１３０４に保存できる。あるいは、説明したネットワークを利用してダウンロードできる。理解されようが、このコードはプロセッサー依存形態または独立形態でよい。ＪＡＶＡ（登録商標）はプロセッサー独立コードの１例である。ＪＡＶＡ（登録商標）は米国カルフォルニア州サンタクララ市のサンマイクロシステムの商標である。
【００４０】
ここで説明した機能を提供するように利用できるソフトウェアプログラムに従った処理後に、Ｉ/Ｏ装置１３０２で受領される装置１３０１からの情報もネットワーク１３８０により表示装置１３８５、報告装置１３９０または第２プロセッサーシステム１３９５である出力装置に伝達される。
【００４１】
ここで説明するコンピュータまたはコンピュータシステムとは、少なくとも１つの処理ユニットと電気的に接続して交信する周辺機器等のメモリーユニットや他の装置のことである。さらに、デバイスはＩＳＡバス、マイクロチャンネルバス、ＰＣＩバス、ＰＣＭＣＩＡバス等の内部バスや、回路、回路カードまたは他の装置、並びにそれらの一部またはそれら通信媒体あるいは外部ネットワークに電気的に接続できる。
【００４２】
以上、本発明の基本的で新規な特徴を好適実施例により説明したが、それらの様々な変形が可能である。本発明はそれら実施例で限定されない。例えば、ここで説明した方法やシステムは故障/不調検出、故障/不調モニター、実行状況、停滞、接続性、インターフェース不調、ノード不調、リンク不調、ルートプロトコールエラー、ルートコントロールエラー、及び原因分析等々を含むことができる。
【００４３】
実質的に同一機能を、実質的に同一方法で利用し、実質的に同一結果をもたらすエレメントの組み合わせは本発明の技術範囲内である。本発明の実施例間でのエレメントの交換も本発明の技術想定内である。
【図面の簡単な説明】
【００４４】
【図１】図１は従来式ストレージエリアネットワーク（ＳＡＮ）を図示する。
【図２Ａ】図２Ａは、例示的ＩＰネットワークと関連する論理図である。
【図２Ｂ】図２Ｂは、例示的ＩＰネットワークと関連する論理図である。
【図３Ａ】図３Ａは、例示的ＳＡＮの論理図である。
【図３Ｂ】図３Ｂは、例示的ＳＡＮの論理図である。
【図３Ｃ】図３Ｃは、例示的ＳＡＮの論理図である。
【図３Ｄ】図３Ｄは、例示的ＳＡＮの論理図である。
【図４】図４は、本発明の原理に基づくＳＡＮの例示的オーバーラップドメインを図示する。
【図５】図５は、問題またはエラーが発生したときに影響を受ける要素の例示図である。
【図６】図６は、問題またはエラーが発生したときに影響を受ける要素の第２例示図である。
【図７】図７は、ＳＡＮでのディスク問題やエラーの拡散状態を図示する。
【図８Ａ】図８Ａは、本発明の原理に基づく例示的ＳＡＮ診断分析（図８Ａ〜図８Ｃ）の一部である。
【図８Ｂ】図８Ｂは、本発明の原理に基づく例示的ＳＡＮ診断分析（図８Ａ〜図８Ｃ）の一部である。
【図８Ｃ】は、本発明の原理に基づく例示的ＳＡＮ診断分析（図８Ａ〜図８Ｃ）の一部である。
【図９】図９は、本発明の原理に基づく例示的ＳＡＮ影響分析である。
【図１０Ａ】図１０Ａは、本発明の原理に基づくＳＡＮモデルの例示的特徴を図示する。
【図１０Ｂ】図１０Ｂは、本発明の原理に基づくＳＡＮモデルの例示的特徴を図示する。
【図１０Ｃ】図１０Ｃは、本発明の原理に基づくＳＡＮモデルの例示的特徴を図示する。
【図１０Ｄ】図１０Ｄは、本発明の原理に基づくＳＡＮモデルの例示的特徴を図示する。
【図１０Ｅ】図１０Ｅは、本発明の原理に基づくＳＡＮモデルの例示的特徴を図示する。
【図１１Ａ】図１１Ａは、本発明の原理に基づく例示的原因分析相関表である。
【図１１Ｂ】図１１Ｂは、本発明の原理に基づく例示的原因分析相関表である。
【図１２Ａ】図１２Ａは、本発明の原理に基づく例示的影響分析相関表である。
【図１２Ｂ】図１２Ｂは、本発明の原理に基づく例示的影響分析相関表である。
【図１３】図１３は、本明細書記載の方法を実行するシステムを図示する。
【００４５】
これら図面は本発明の説明のみを目的としており、本発明の限定は意図されていない。
【図１】
2006236331.tif 000003
【図２Ａ】
2006236331.tif 000004
【図２Ｂ】
2006236331.tif 000005
【図３Ａ】
2006236331.tif 000006
【図３Ｂ】
2006236331.tif 000007
【図３Ｃ】
2006236331.tif 000008
【図３Ｄ】
2006236331.tif 000009
【図４】
2006236331.tif 000010
【図５】
2006236331.tif 000011
【図６】
2006236331.tif 000012
【図７】
2006236331.tif 000013
【図８Ａ】
2006236331.tif 000014
【図８Ｂ】
2006236331.tif 000015
【図８Ｃ】
2006236331.tif 000016
【図９】
2006236331.tif 000017
【図１０Ａ】
2006236331.tif 000018
【図１０Ｂ】
2006236331.tif 000019
【図１０Ｃ】
2006236331.tif 000020
【図１０Ｄ】
2006236331.tif 000021
【図１０Ｅ】
2006236331.tif 000022
【図１１Ａ】
2006236331.tif 000023
【図１１Ｂ】
2006236331.tif 000024
【図１２Ａ】
2006236331.tif 000025
【図１２Ｂ】
2006236331.tif 000026
【図１３】
2006236331.tif 000027
【外国語明細書】
Method and Apparatus for analyzing and problem Reporting in Storage Area Networks
Claim of Priority
[0001]               This application is a continuation-in-part of, and claims the benefit, pursuant to 35 USC 120, of the earlier filing date of co-pending US Patent Application Serial No. 10/813,842, entitled “Method and Apparatus for Multi-Realm System Modeling” filed March 31, 2004, the contents of which are incorporated by reference herein, and further claims the benefit, pursuant to 35 USC 119(e), of the earlier filing date of US Provisional Patent Application Serial No. 60/647,107, entitled “Method and Apparatus for Analyzing and Problem Reporting in Storage Area Networks,” filed on January 26, 2005, the contents of which are incorporated by reference herein. 
Related Applications
[0002]        This application is related to co-pending U.S. Patent Application Serial No 11/077, 932 entitled “Apparatus and Method for Event Correlation and Problem Reporting,” which is a continuation of U.S. Patent No. 6,868,367, filed on March 27, 2003, which is a continuation of U.S. Patent Application Serial No. 09/809,769 filed on March 16, 2001, now abandoned, which is a continuation of U.S. Patent No. 6,249,755, filed on July 15, 1997, which is a continuation of U.S. Patent No. 5,661,668, filed on July 12, 1996, which is a continuation of application Serial No. 08/465,754, filed on June 6, 1995, now abandoned, which is a continuation of U.S. Patent No. 5,528,516, filed on May 25, 1994.which is a continuation of U.S. Patent No. 6,249,755, filed on July 15, 1997, which is a continuation of U.S. Patent No. 5,661,668, filed on July 12, 1996, which is a continuation of application Serial No. 08/465,754, filed on June 6, 1995, now abandoned, which is a continuation of U.S. Patent No. 5,528,516, filed on May 25, 1994, the contents of which are incorporated by reference herein. 
Field of the Invention
[0003]               The invention relates generally to computer networks, and more specifically to apparatus and methods for modeling and analyzing Storage Area Networks.
Background of the Invention
[0004]               Storage Area Networks (SANs) have considerably increased the ability of servers to add large amounts of storage capability without incurring significant expense or service disruption for re-configuration.  However, the ability to analyze SAN performance and/or availability has been limited by the models that have been employed.   The lack of a systematic model of behavior specifically suited for the SAN objects and relationships limits several forms of important analysis.  For example, it is difficult to determine the impact in the SAN, in the overall system and/or on the applications of failures in SAN components. Another example is determining the root cause problems that cause symptoms in SAN, in the overall system and/or on the applications.
[0005]               Hence, there is a need in the industry for a method and system for analyzing and modeling Storage Area Networks to determine root-cause failures and impacts of such failures.
Summary of the Invention
[0006]               A method and apparatus for logically representing and performing an analysis on a Storage Area Network (SAN) is disclosed.  The method comprising the steps representing selected ones of a plurality of components and the relationship among the components associated with the SAN, providing a mapping between a plurality events and a plurality of observable events occurring among the components, wherein the mapping is represented as a value associating each event with each observable event, and performing the system analysis based on the mapping of events and observable events.  In another aspect of the invention, a method and apparatus are disclosed for representing and performing an analysis on a SAN wherein the SAN is included in a larger system logically represented as a plurality of domains is disclosed.  In this aspect of the invention, the method comprises the steps of representing selected ones of a plurality of components and relationship among the components, wherein at least one of the plurality of components is associated with at least two of the domains, providing a mapping between a plurality events and a plurality of observable events occurring among the components, wherein the mapping is represented as a value associating each event with each observable event, and performing the system analysis based on the mapping of events and observable events.
Detailed Description of the Figures
[0007]               Figure 1 illustrates a conventional Storage Area Network; 
[0008]        Figures 2A and 2B illustrate a logical representation associated with an exemplary IP network;
[0009]               Figures 3A-3D illustrate a logical representation of an exemplary SAN; 
[0010]               Figure 4 illustrates an example of overlapping domains in a SAN in accordance with the principles of the invention; 
[0011]        Figure 5 illustrates an example of impacted elements of a SAN when a problem or an error occurs;
[0012]        Figure 6 illustrates a second example of impacted elements of a SAN when a problem or error occurs; 
[0013]        Figure 7 illustrates a propagation of a disk problem or error in a SAN;
[0014]        Figure 8 illustrates an exemplary SAN diagnostic analysis in accordance with the principles of the invention; 
[0015]        Figure 9 illustrates an exemplary SAN impact analysis in accordance with the principles of the invention;
[0016]        Figures 10A-10E illustrate exemplary aspects of a SAN model in accordance with the principles of the invention; 
[0017]         Figures 11A and 11B illustrate an exemplary root-cause analysis correlation function in accordance with the principles of the invention;
[0018]             Figures 12A and 12B illustrate an exemplary impact analysis correlation function in accordance with the principles of the invention;  and
[0019]        Figure 13 illustrates a system implementing the processing shown herein. 
[0020]               It is to be understood that these drawings are solely for purposes of illustrating the concepts of the invention and are not intended as a definition of the limits of the invention.  The embodiments shown in the figures herein and described in the accompanying detailed description are to be used as illustrative embodiments and should not be construed as the only manner of practicing the invention.  Also, the same reference numerals, possibly supplemented with reference characters where appropriate, have been used to identify similar elements.
Detailed Description
[0021]               Figure 1 illustrates an exemplary embodiment of a  Storage Area Network (SAN) 100, wherein computing systems 110 may provide or receive information from server 130 through a communication path represented as  network 120.  Server 130 is further in communication, via network 140, with a plurality of storage medium 150.1-150.n, which appear logically as a single massive storage space. The idea is that the two servers are attached to the same SAN. The use of a SAN is advantageous in that additional storage capacity may be added by adding additional storage medium to the network.   In this illustrated case, network 120 may represent a network such as the Internet, which uses an IP-based protocol and network 140 may represent a network using a Fibre Channel (FC) based protocol.  FibreChannel-based protocols have been developed for SANsas they provide a high speed access and large bandwidths.  Recently, IP-based networks have been used to support server 130 -storage medium 150.1-150.n communications.  SANs, Fibre Channel-protocols and IP-protocols are well known in the art and need not be discussed further herein.     
[0022]               Figure 2A illustrates a logical representation of an IP network.  In this case, network 120 enables communication between host or computer system 110 and file server 130, in this illustrated case.  Further illustrated is application 235, which is “hosted” on computer system 110 and file system 240, “hosted” on file server 130.  Application 235 and file system 240 represent software programs that are independently executed on their respective host devices.  Data file 245 represents the relationship between the application 235 and file system 240.  
[0023]        Figure 2B illustrates a mapping of the IP network shown in Figure 2A, wherein a plurality of data files 245.1-245.k are being accessed, using known read and/or written operations, by application 235.  This access may be represented by an association between the application and the file(s) referred to as a “layered-over relationship.”  Also shown is that the file system 240 represents a manager that may receive information provided by files 245 from application 235 and provide information to application 235.  In this case, file system 240 may be represented by an association between the file system 240 and the files 245 which is also referred to as a “layered-over relationship.”  In the context of the instant application a “layered-over relationship” indicates a dependency between a plurality of objects, which may be represented or referred to as object classes. 
[0024]               Returning to Figure 2A, also illustrated are domains 210 and 230 which include respective hardware and software elements. In this illustrative case, domain 210, referred to as the IP domain, includes the hardware or physical elements computing system 110, IP network 120 and file server 130.  Domain 230, referred to as the Application domain, includes the non-physical software elements application 235, data file 245, file system 240 and the hardware or physical elements computing system 110 and file system 130.  As shown computing system 110 and file system 130 are included in both domains and are referred to as domain intersections or associations. Domain associations are discussed in more detail with regard to Figure 4. 
[0025]               Figure 3A illustrates a logical representation of an exemplary SAN domain and related IP and application domains.  In this illustrated example, the elements of the IP network, i.e., computing system 110, network 120, file server 130 and respective software 235, 240 are as shown in Figure 2A, are further in communication, via SAN 310, with a host system 315 and a storage array 350, which logically represents disks 150.1-150.n (see Figure 1).  Host 315 represents the manager for the storage pool and executes software 320 for the storage pool management.  The storage disks 150 are divided in logical elements referred to as Extents 340, which are further allocated to another logical entity, i.e., storage volumes 330. The allocation of extents 340 to storage volumes 330 is carried on by the storage pool manager (not shown). 
[0026]          Extents 340, more specifically, are units of allocation of disks, memory etc., and represent a generalization of the traditional storage block concept A volume is composed of extents 340 and is used to create a virtual space for the file system.  For example, references to drives C:, D:, E:, etc. may be associated with logical volume labels  within, for example, the MICROSOFT WINDOWS operating system.  MicroSoft and Windows are registered trademarks of Microsoft Corporation, Redmond, Wa., USA.  
[0027]          The storage pool 320 is representative of a plurality of extents 340 and used for administrative purposes. In this case, when allocation of a volume is desired, the storage pool manager selects a plurality of extents 340 and designates selected extents 340 as a volume 330.  Thus, the file system 240 (Figure 2) is able to allocate storage volumes to store its files. Storage volume 330 and extent 340, which are well-known concepts associated with the logical representation of physical storage devices.  
[0028]               Figure 3B illustrates an exemplary SAN deployment, wherein file servers 130.1-130.n are each in communication with a plurality of router switches 317.1-317.m.  Each of the router switches 317.1-317.m are in communication with storage medium arrays 350.1-350.p.  
[0029]        Figure 3C illustrates an exemplary storage medium array 350.1, for example, deployment.  In this illustrative example, storage medium array 350.1 is composed of storage disk medium 150 or a plurality of storage medium 150.1 through 150.n.  Each storage disk medium 150 is divided into logical storage extents 340.1 through 340.q.
[0030]               Figure 3D illustrates an exemplary file system 240 allocating resources in storage volume 330, which is associated with extent 340. In this illustrative example, file server 130 hosts file system 240, which allocates resources from storage volume 330.  Storage volume 330 allocates storage space on extents, e.g., 340.1-340.q.  Storage volume 330 uses the services of storage pool 320, i.e., a storage manager that implements the storage pool of extents 340, which is hosted on host server 315. 
[0031]        Figure 4 illustrates an example of overlapping domains in a system that includes a SAN in accordance with the principles of the invention.  In this illustrated example, domains 210 and 230 (Figure 2) are shown including hardware and software elements, respectively, of IP network 120.  Also shown are domains 410 and 420.  Domain 410, referred to as Virtualization domain, includes the hardware elements filer server 130, host 315, software storage pool 320, software storage volume 330 and software extent 340 and the software file system 240 software element.   Domain 420, referred to as SAN domain, includes the hardware elements file server 130, network 130, array 350, storage disk 150, host 315 and software extent 340. 
[0032]        Intersection points or intersection associations between domains may further be determined.  For example, file server 130 represents an intersection point between domains 210 and 230, as previously noted, and between domains 410 and 420. Similarly, host 315 represents an intersection between domains 410 and 420.  Knowledge of intersection points is advantageous as an error or fault in a domain that impacts an intersection point may generate failures and/or error messages in other domains.  That is, intersection points function as conduits for events across intersecting domains. For example, an error in disk 150, for example, affects extent 340, which in turn affects volume 330, which further affects file system 240.  Hence, errors in file system 240 may generate errors or detectable events in application domain 230 as application 235 may use a file serviced by file system 240.  Similarly, a failure in disk 150 may affect file server 130 if file server 130 hosts a file system that allocates volumes that use disk 150 and may further create problems or detectable events in applications accessing disk 150. 
[0033]               Figure 5 illustrates the impact of an error occurring in a storage medium 150 in a system using multiple files to store data on storage medium 150. In this case, the error on storage medium 150 propagates though to the application domain, such that errors or detectable events are incurred in associated applications 235.1-235.r.  
[0034]        Figure 6 illustrates a second example of the occurrence of errors or detectable events in applications caused by a failure or a causing event in array 350.  In this case, the causing event may be a detectable event in one of the plurality of storage medium 150.1-150.m that comprise array 350.  
[0035]               Figure 7 illustrates, how an error in one or more components may cause the same symptom to be detected.  In this illustrative example, a failure to read a file causes an error in application 235.  For example, an error in any one of IP network 120, file server 130, SAN 310, Host 315, storage pool 320, array 350 or storage medium 150 will prevent application 235 from reading a file from storage medium 150.  In this case, from the symptom “application 235 cannot read a file from the storage medium 150” it is not possible to determine the cause of the problem.  
[0036]        Figure 8 illustrates a chart of errors that may occur in the system shown in Figure 4.  In this case, the object classes shown represent elements that may fail and may also constitute possible root causes of problems for the system shown.  
[0037]               Figure 9 illustrates a chart of the impact of failures in the system shown in Figure 4.  In this case, the objects shown are dependent upon the condition of the objects shown in Figure 8.  More specifically, the dependencies are shown in the Explanation column. 
[0038]               Figures 10A-10E, collectively, illustrate an exemplary embodiment of an abstract model in accordance with the principles of the present invention.  Figure 10A illustrates an exemplary abstract model 1010 of a system that includes a SAN network in accordance with the principles of the invention.  The model shown is an extension of a known network models, such as the SMARTS(R) InChargeTM Common Information Model (ICIM), or similarly defined or pre-existing CIM-based model and adapted for the SAN.  Standards for SANS are in development and may be found at  http://www.snia.org/smi/tech_activities/smi_spec_pr/spec/].  SMARTS and Inchargeare trademarks of EMC Corporation, Inc., having a principle place of business in Hopkinton, Ma, USA.  This model is an extension of the DMTF/SMI model.  Model based system representation is discussed in commonly-owned USPA Serial No. 11//034,192, filed Jan. 12, 2005 and US Patent Nos. 5,528,516, 5,661,668 6,249,755 and 6,868,367, the contents of which are incorporated by reference herein.  The aforementioned US Patent teach performing a system analysis based on a mapping of observable events and detectable events, e.g., symptoms and problems, respectively.
[0039]               Abstract model 1010 is known to represent a managed system 1012 containing selected ones of the physical network components 1030, e.g., nodes, routers, computer systems, disk drives, etc.,  and/or logical network components 1050, e.g., software, application software, ports, disk drive designation, etc.  Those network elements or components that are selected for representation in the model are referred to as managed components. The representation of the managed components includes aspects or properties of the component.    The relationships between the managed components, as they have been shown in Figures 2A, 2B, 3A-3D, and 4-7, are also represented and contained in the model.  Also shown are ICIM_System1020 and ICIM_Service 1070 managed components, which are described in more detail in Figures 10B and 10C, respectively.   
[0040]        Figure 10B illustrates an exemplary extension of object class ManagedSystemElement1012, defining object classes ICIM_System 1020, ICIM_PhysicalElement 1030, and ICIM_LogicalDevice1040.  These objects are representative of generic concepts or components of Arrays 350  Disks 150 and Extents 340, in the SAN shown in Figure 3A, for example.  As shown, the managed component object PhysicalElement1030 and LogicalDevice 1040 share a relationship wherein PhysicalElement 1030 is RealizedBysLogicalDevice 1040 and LogicalDevice1040 Realizes PhysicalElement 1030. Furthermore, object class ICIM_System 1020 includes object class ICIM_Computer System 1022, which includes class UnitaryComputerSystem 1024 and represents Array 350.  The term Unitary Computer Systems is one expressed by the Distributed Management Task Force (DMTF).  DMTF is well-known in the art and need not be discussed in detail herein. 
[0041]           Further shown is object class ICIM_PhysicalElement 1030 that includes object class Physical Package 1032, which represents physical components such as physical storage disk 150.  Object class ICIM_LogicalDeviceincludes object class StorageExtent 1042, which represents Extent 340 and Extent 340 is in communication with StorageVolume 330.  
[0042]           Figure 10C illustrates an exemplary extension of object class ICIM_LogicalElement1050 defining object classes, ICIM_LogicalDevice 1040 and ICIM_Service 1070.  These object class represent the file system, volumes, extents and storage pools of the SAN shown in Figure 3A.  More specifically, object class LogicalElement 1060 represents File system 240 and ICIM-Service 1070 represents storage pool 320.  Relationships among the object classes are further shown.  For example, File system 240 possesses a ResidesOn relationship with object class StorageExtent 1042, which possesses a HostsFileSystem relationship with File system 240.  
[0043]          Figure 10D illustrates an extension of the object classes to illustrate the relationships between the disks, cards and ports of the SAN shown in Figure 3A.  For example, Physical Package object class 1032 of PhysicalElement object class 1030 may represent the storage disk 150, as previously shown, and HBA (Hot Bus Adaptor) 1036.  HBA 1036 enables disk elements to be dynamically added or removed from the SAN.  Similarly, object class Logicaldevice 1040 may represent Network Adaptor 145, which includes object class Port 146.  Object class Port further may represent, as shown in this exemplary model, a Fibre Channel (FC) port 147.  Although not shown, it would be recognized that Port 146 may also represent other types of ports, such as serial, parallel, SCSI, SCSI II, Ethernet, etc.  LogicalDevice1040 further represents ProtocolController 148, which represents the type of protocol used in the network.  For example, ProtocolController148 may represent SCSI (Small Computer Serial Interface) ProtocolController148.1 and FCProtocolController 148.2.  Although not shown it would be recognized that PortocolController 148 may represent other types of protocols, e.g., Ethernet. 
[0044]           Figure 10E illustrates an extension of the object classes to illustrate the relationships between applications 235, data files 245 and file system 240 of the SAN shown in Figure 3A.
[0045]        With respect of the model of Storage Area Networks described herein, a root-cause determination or an  impact analysis may be determined by a correlation function, similar to that disclosed in the aforementioned commonly-owned US patents and US patent application. 
[0046]             Figure 11A illustrates an exemplary causality matrix suitable for root-cause correlation function, i.e., behavior model, suitable for the SAN shown in Figure 1, with regard to the methods described in the above-referred to US Patents. Figure 11B, which is shown in textual format, illustrates additional information regarding the exemplary root cause correlation function shown in Figure 11A. 
[0047]              As an example of the root cause analysis consider a failure occurring in Extent 340. A failure or problem in Extent 340 may create detectable events or symptoms in File System 240, as File System 240 can no longer access data mapped into Extent 340. The failure may further create a detectable event or symptom in Application 235 when Application 235 makes a request to obtain data from File System 240.  In some aspects, although a failure may occur, symptom may or may not be generated indicating that a component, e.g., Extent 240, is experiencing failures. The root-cause correlation must be powerful enough to be able to deal with scenarios in which symptoms are generated indicating the condition of Extent 240 and cases when symptoms are not generated. In both situations, the root-cause correlation diagnoses the Extent as the root cause. A root cause analysis of the SAN, similar to that described in the aforementioned US patents and patent application determines from the exemplary causality matrix shown, herein, and symptoms observed in the managed system  the most likely root cause of the problem. In this case, the symptoms or observable events are further associated with the components associated with at least two domains, i.e., an intersection point or an association. 
[0048]           As a second example consider the failure of Storage Disk 150. A problem in Storage Disk 150 may cause symptoms as if all Extents in the storage disk itself are failing simultaneously. A problem in Storage Disk 150 may cause symptoms in File System 240, as File System 240 will not be able to access its data stored in Extent 340, which is part of Storage Disk 150. Similarly, it may cause symptoms in Application 235, as Application 235 will fail to access data stored in Extent 340, which is part of Storage Disk 150, from the File System 240.  Similarly, a problem in the Storage disk may or may not cause symptoms in the Extents 340 that has a “RealizedBy” relationship with the failing Storage Disk. In addition, a problem in the Storage Disk, may or may not cause symptoms on the Storage Disk itself. 
[0049]         Figure 12A illustrates an exemplary impact analysis or error propagation correlation function suitable for the SAN shown in Figure 1, with regard to the methods described in the above-referred to US Patents. Figure 12B, which is shown in a textual format, illustrates additional information regarding the exemplary impact correlation function shown in Figure 12A.   As discussed with regard to Figures 11A and 11B the failure in one or more managed components may predict the symptoms that are detected or experienced in the system. 
[0050]           Figure 13 illustrates an exemplary embodiment of a system 1300 that may be used for implementing the principles of the present invention.  System 1300 may contain one or more input/output devices 1302, processors 1303 and memories 1304.  I/O devices 1302 may access or receive information from one or more sources or devices 1301.  Sources or devices 1301 may be devices such as routers, servers, computers, notebook computer, PDAs, cells phones or other devices suitable for transmitting and receiving information responsive to the processes shown herein. Devices 1301 may have access over one or more network connections 1350 via, for example, a wireless wide area network, a wireless metropolitan area network, a wireless local area network, a terrestrial broadcast system (Radio, TV), a satellite network, a cell phone or a wireless telephone network, or similar wired networks, such as POTS, INTERNET, LAN, WAN and/or private networks, e.g., INTRANET, as well as portions or combinations of these and other types of networks.
[0051]              Input/output devices 1302, processors 1303 and memories 1304 may communicate over a communication medium 1325. Communication medium 1325 may represent, for example, a bus, a communication network, one or more internal connections of a circuit, circuit card or other apparatus, as well as portions and combinations of these and other communication media.  Input data from the client devices 1301 is processed in accordance with one or more programs that may be stored in memories 1304 and executed by processors 1303.  Memories 1304 may be any magnetic, optical or semiconductor medium that is loadable and retains information either permanently, e.g. PROM, or non-permanently, e.g., RAM.  Processors 1303 may be any means, such as general purpose or special purpose computing system, such as a laptop computer, desktop computer, a server, handheld computer, or may be a hardware configuration, such as dedicated logic circuit, or integrated circuit.  Processors 1303 may also be Programmable Array Logic (PAL), or Application Specific Integrated Circuit (ASIC), etc., which may be “programmed” to include software instructions or code that provides a known output in response to known inputs.  In one aspect, hardware circuitry may be used in place of, or in combination with, software instructions to implement the invention. The elements illustrated herein may also be implemented as discrete hardware elements that are operable to perform the operations shown using coded logical operations or by executing hardware executable code.
[0052]           In one aspect, the processes shown herein may be represented by computer readable code stored on a computer readable medium. The code may also be stored in the memory 1304.  The code may be read or downloaded from a memory medium 1383, an I/O device 1385 or magnetic or optical media, such as a floppy disk, a CD-ROM or a DVD, 1387 and then stored in memory 1304. Or may be downloaded over one or more of the illustrated networks.  As would be appreciated, the code may be processor-dependent or processor-independent.  JAVA is an example of processor-independent code.  JAVA is a trademark of the Sun Microsystems, Inc., Santa Clara, Ca. USA.
[0053]               Information from device 1301 received by I/O device 1302, after processing in accordance with one or more software programs operable to perform the functions illustrated herein, may also be transmitted over network 1380 to one or more output devices represented as display 1385, reporting device 1390 or second processing system 1395.  
[0054]          As one skilled in the art would recognize, the term computer or computer system may represent one or more processing units in communication with one or more memory units and other devices, e.g., peripherals, connected electronically to and communicating with the at least one processing unit.  Furthermore, the devices may be electronically connected to the one or more processing units via internal busses, e.g., ISA bus, microchannelbus, PCI bus, PCMCIA bus, etc., or one or more internal connections of a circuit, circuit card or other device, as well as portions and combinations of these and other communication media or an external network, e.g., the Internet and Intranet.
[0055]              While there has been shown, described, and pointed out fundamental novel features of the present invention as applied to preferred embodiments thereof, it will be understood that various omissions and substitutions and changes in the apparatus described, in the form and details of the devices disclosed, and in their operation, may be made by those skilled in the art without departing from the spirit of the present invention.  It would be recognized that the invention is not limited by the model discussed, and used as an example, or the specific proposed modeling approach described herein. For example, it would be recognized that the method described herein may be used to perform a system analysis may include: fault detection, fault monitoring, performance, congestion, connectivity, interface failure, node failure, link failure, routing protocol error, routing control errors, and root-cause analysis.  
[0056]        It is expressly intended that all combinations of those elements that perform substantially the same function in substantially the same way to achieve the same results are within the scope of the invention.  Substitutions of elements from one described embodiment to another are also fully intended and contemplated.
1.     A method, operable on a computer system including a processor and a memory, for performing an analysis on a system, containing a plurality of components, represented by a plurality of domains, wherein at least one of the domains represents a Storage Area Network (SAN), the method when loaded into the computer system causes the processor to execute the steps of:
representing selected ones of the plurality of components and the relationship among the components, wherein at least one of the plurality of components is associated with at least two of the domains; 
providing a mapping between a plurality events and a plurality of observable events occurring among the components, wherein the mapping associates each event with each observable event, and
performing the system analysis based on the mapping of events and observable events.
2.     The method as recited in claim 1, wherein the step of representing the at least one SAN domain comprises the steps of: 
creating at least one non-specific representation of the selected components, wherein the non-specific representations are selected from the group consisting of:  LogicalElement, LogicalDevice, Service, FileSystem, StorageExtent, DeviceConnection, PhysicalElement, HostServices, PhysicalPackage; and
creating at least one non-specification representation of relations along which the events propagate amongst the selected components, wherein the representations of relations are selected from the group consisting of Realizes, Realizedby, ResidesOn, HostsFileSystem, ConcreteComponentOf, ConcreteComponent, AllocatedFromStoragePool, AllocatesToStorageVolume, ConnectedVia, ConnectedTo, ControlledByProtocol, PortocolControllerForPort.
3.     The method as recited in claim 2, wherein the components associated with the at least two domains is selected from the group consisting of: FileSystem, FileServicer, HostServices, and StorageExtent.
4.     The method as recited in claim 1, wherein the step of mapping further comprises the step of: 
providing, for each of the domains, a mapping between a plurality of observable events and a plurality of events for the components within the domain, wherein at least one of the observable events is associated with a component associated with at least two of the domains. 
5.     The method as recited in claim 4, further comprising the step of:
determining at least one likely event based on at least one of the plurality of observable events by determining a mismatch measure associated with the plurality of observable events and the plurality of events with a corresponding one of the domains.
6.     The method as recited in claim 5, further comprising the step of:
determining at least one likely event based on the at least one of the plurality of likely events determined from each of the domains. 
7.     The method as recited in claim 1, wherein at least one of the observable events is associated with at least one component associated with at least two of the domains.
8.     The method as recited in claim 1, wherein the system analysis is selected from the group from consisting of: fault detection, fault monitoring, performance, congestion, connectivity, interface failure, node failure, link failure, routing protocol error, routing control errors, and root-cause analysis.  
9.     The method as recited in claim 1, wherein the system analysis comprises the step of:
determining at least one likely event based on at least one of the plurality of events.
ABSTRACT
US1DOCS     5474074v1
A method and apparatus for logically representing and performing an analysis on a Storage Area Network (SAN) is disclosed.  The method comprising the steps representing selected ones of a plurality of components and the relationship among the components associated with the SAN, providing a mapping between a plurality events and a plurality of observable events occurring among the components, wherein the mapping is represented as a value associating each event with each observable event, and performing the system analysis based on the mapping of events and observable events.  In another aspect of the invention, a method and apparatus are disclosed for representing and performing an analysis on a SAN wherein the SAN is included in a larger system logically represented as a plurality of domains is disclosed.  In this aspect of the invention, the method comprises the steps of representing selected ones of a plurality of components and relationship among the components, wherein at least one of the plurality of components is associated with at least two of the domains, providing a mapping between a plurality events and a plurality of observable events occurring among the components, wherein the mapping is represented as a value associating each event with each observable event, and performing the system analysis based on the mapping of events and observable events.
【図１】
2006236331.tif 000028
【図２Ａ】
2006236331.tif 000029
【図２Ｂ】
2006236331.tif 000030
【図３Ａ】
2006236331.tif 000031
【図３Ｂ】
2006236331.tif 000032
【図３Ｃ】
2006236331.tif 000033
【図３Ｄ】
2006236331.tif 000034
【図４】
2006236331.tif 000035
【図５】
2006236331.tif 000036
【図６】
2006236331.tif 000037
【図７】
2006236331.tif 000038
【図８Ａ】
2006236331.tif 000039
【図８Ｂ】
2006236331.tif 000040
【図８Ｃ】
2006236331.tif 000041
【図９】
2006236331.tif 000042
【図１０Ａ】
2006236331.tif 000043
【図１０Ｂ】
2006236331.tif 000044
【図１０Ｃ】
2006236331.tif 000045
【図１０Ｄ】
2006236331.tif 000046
【図１０Ｅ】
2006236331.tif 000047
【図１１Ａ】
2006236331.tif 000048
【図１１Ｂ】
2006236331.tif 000049
【図１２Ａ】
2006236331.tif 000050
【図１２Ｂ】
2006236331.tif 000051
【図１３】
2006236331.tif 000052