(57)【要約】複数の装置と共有資源とを含むネットワーク・コンピュータ・システムに対する方法および装置。共有資源に対するアクセスを試行し、かつそれ自身を第１の装置として共有資源に提示することに応答して、上記装置が、共有資源にアクセスするために第１の装置によって使用されている物理的接続とは異なるネットワークを介した物理的接続を通して共有資源に対するアクセスを試行しているかどうかを判定し、そうであったとき、上記試行されたアクセスを拒否する方法。
2004516590.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置と、前記複数の装置によって共有される共有資源と、前記複数の装置を前記共有資源に結合するネットワークとを含むコンピュータ・システムにおいて使用するための方法であって、
（ａ）前記共有資源に対するアクセスを試行し、かつそれ自身を前記共有資源に対して第１の装置として提示する前記複数の装置のうちの１つに応答して、前記複数の装置のうちの１つが、前記共有資源にアクセスするために前記第１の装置によって使用されている前記ネットワークを介した第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記共有資源に対してアクセスを試行しているかを判定する動作と、
（ｂ）動作（ａ）において、前記複数の装置のうちの１つが前記第１の物理的接続とは異なる前記ネットワークを介した接続を通して前記共有資源へのアクセスを試行していると判定された場合に、前記複数の装置のうちの１つによる前記共有資源に対して試行されたアクセスを拒否する動作とを含む方法。
【請求項２】
前記複数の装置のうちの１つにより試行されたアクセスが前記共有資源にログインするための試行であって、前記動作（ｂ）が、
前記複数の装置のうちの１つが前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記共有資源に対するログインを試行していると判定された場合に、前記複数の装置のうちの１つにより前記共有資源に対して試行されたログインを拒否する動作を含む、請求項１に記載の方法。
【請求項３】
前記ネットワークがファイバ・チャネル・ファブリックであって、前記複数の装置のうちの１つおよび前記第１の装置がそれぞれ割り当てられたワールドワイド名（ＷＷＮ）とファブリック識別子（ファブリックＩＤ）とを有しており、
該方法が、前記第１の装置による前記共有資源へのアクセスに応答して、前記第１の装置の前記ＷＷＮおよび前記ファブリックＩＤを格納するステップをさらに含み、
前記第１の装置によるアクセスの後に前記複数の装置のうちの１つによって前記共有資源に対して生じるアクセスに応答して、前記動作（ａ）が実行され、前記動作（ａ）が、
前記複数の装置のうちの１つによって前記共有資源に対して提示されたＷＷＮの値を評価して、前記複数の装置のうちの１つがそれ自身を前記第１の装置として提示しているかを判定する動作と、
前記複数の装置のうちの１つによって提示された前記ファブリックＩＤの値を前記第１の装置に対して格納されたファブリックＩＤと比較する動作と、
前記複数の装置のうちの１つによって提示されたファブリックＩＤの前記値が前記第１の装置に対して格納されたファブリックＩＤと一致しない場合に、前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記複数の装置のうちの１つが前記共有資源に対するアクセスを試行していると判定する動作とを含む、請求項１に記載の方法。
【請求項４】
前記複数の装置のうちの１つおよび前記第１の装置がそれぞれ、前記コンピュータ・システムの物理構成とは無関係である方法で前記装置を一意に識別する第１の識別子と、前記コンピュータ・システムの物理構成に依存する方法で前記装置を一意に識別する第２の識別子とを有するプロトコルを前記ネットワークが使用し、
前記方法が前記共有資源に対する前記第１の装置によるアクセスに応答して、前記第１の装置の前記第１の識別子および第２の識別子を格納するステップをさらに含み、
前記動作（ａ）は、前記第１の装置によるアクセスの後で前記共有資源に対する前記複数の装置のうちの１つによって生じるアクセスに応答して実行され、前記動作（ａ）が、
前記共有資源に対して前記複数の装置のうちの１つによって提示された前記第１の識別子の値を評価して、前記複数の装置のうちの１つがそれ自身を前記第１の装置であると提示していることを判定する動作と、
前記複数の装置のうちの１つによって提示された前記第２の識別子の値を前記第１の装置に対する前記第２の識別子の格納値と比較する動作と、
前記複数の装置のうちの１つによって提示された前記第２の識別子の値が、前記第１の装置に対する前記第２の識別子の格納値に一致していない場合に、前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記共有資源に対して前記複数の装置のうちの１つがアクセスを試行していると判定する動作とを含む、請求項１に記載の方法。
【請求項５】
前記共有資源が格納システムであり、
前記動作（ａ）が、前記複数の装置のうちの１つが前記格納システムに対するアクセスを試行し、かつそれ自身を前記格納システムに対して前記第１の装置として提示することに応答して、前記格納システムにアクセスするために前記第１の装置が使用する前記ネットワークを介した第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記複数の装置のうちの１つが前記格納システムに対するアクセスを試行しているかを判定する動作を含み、
前記動作（ｂ）が、前記動作（ａ）において前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記格納システムに対して前記複数の装置のうちの１つがアクセスを試行していると判定された場合に、前記複数の装置のうちの１つにより前記格納システムに対して試行されたアクセスを拒否する動作を含む、請求項１に記載の方法。
【請求項６】
前記動作（ａ）および（ｂ）が前記格納システムによって実行される、請求項５に記載の方法。
【請求項７】
前記動作（ａ）および（ｂ）が前記格納システムの外側で実行される、請求項５に記載の方法。
【請求項８】
前記動作（ａ）および（ｂ）が前記格納システムと前記ネットワークとの間に配置された装置によって実行される、請求項７に記載の方法。
【請求項９】
前記ネットワークがファイバ・チャネル・ファブリックであり、前記複数の装置のうちの１つおよび前記第１の装置がそれぞれ割り当てられたワールドワイド名（ＷＷＮ）およびファブリック識別子（ファブリックＩＤ）を有しており、
前記方法が前記第１の装置による前記共有資源に対するログインに応答して、前記第１の装置の前記ＷＷＮおよび前記ファブリックＩＤを格納するステップをさらに含み、
前記動作（ａ）が、前記第１の装置によるログインの後に、前記共有資源に対して前記複数の装置のうちの１つによって生じるログイン試行に応答して実行され、前記動作（ａ）が、
前記複数の装置のうちの１つによって提示されたＷＷＮの値を評価して、前記複数の装置のうちの１つがそれ自身を前記第１の装置として提示していることを判定する動作と、
前記複数の装置のうちの１つによって提示される前記ファブリックＩＤの値を前記第１の装置に対する格納ファブリックＩＤと比較する動作と、
前記複数の装置のうちの１つによって提示されているファブリックＩＤの値が前記第１の装置に対して格納されたファブリックＩＤに一致しない場合に、前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して、前記複数の装置のうちの１つが前記共有資源に対してログインを試行していると判定する動作とを含む、請求項２に記載の方法。
【請求項１０】
前記共有資源が格納システムであって、
前記動作（ａ）が、前記複数の装置のうちの１つが前記格納システムに対してログインを試行し、かつそれ自身を前記格納システムに対して前記第１の装置として提示することに応答して、前記複数の装置のうちの１つが、前記格納システムにアクセスするために前記第１の装置によって使用される前記ネットワークを介した第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記格納システムに対してログインを試行しているかを判定する動作を含み、
前記動作（ｂ）が、前記動作（ａ）において前記複数の装置のうちの１つが前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記格納システムに対してログインを試行していると判定された場合に、前記複数の装置のうちの１つにより前記格納システムに対して試行されたログインを拒否する動作を含む、請求項９に記載の方法。
【請求項１１】
前記動作（ａ）および（ｂ）が前記格納システムによって実行される、請求項１０に記載の方法。
【請求項１２】
前記動作（ａ）および（ｂ）が前記格納システムと前記ネットワークとの間に配置された装置によって実行される、請求項１０に記載の方法。
【請求項１３】
前記ネットワークが、前記複数の装置のうちの１つおよび前記第１の装置がそれぞれ、前記コンピュータ・システムの物理構成とは無関係である方法でその装置を一意に識別する第１の識別子と、前記コンピュータ・システムの物理構成に依存する方法でその装置を一意に識別する第２の識別子を有するプロトコルを使用していて、
前記方法が、前記第１の装置による前記共有資源へのログインに応答して、前記第１の装置の前記第１の識別子および第２の識別子を格納するステップをさらに含み、
前記動作（ａ）が、前記第１の装置による前記ログインの後、前記複数の装置のうちの１つによって前記共有資源に対して生じるログイン要求に応答して実行され、前記動作（ａ）は、
前記複数の装置のうちの１つにより前記共有資源に対して提示された前記第１の識別子の値を評価し、前記複数の装置のうちの１つがそれ自身を前記第１の装置であると提示していることを判定する動作と、
前記複数の装置のうちの１つによって提示された前記第２の識別子の値を前記第１の装置に対する前記第２の識別子の格納値と比較する動作と、
前記複数の装置のうちの１つによって提示された前記第２の識別子の値が、前記第１の装置に対する前記第２の識別子の格納値と一致していない場合に、前記複数の装置のうちの１つが前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記共有資源に対してログインを試行していると判定する動作とを含む、請求項２に記載の方法。
【請求項１４】
前記共有資源が格納システムであって、
前記動作（ａ）が、前記複数の装置のうちの１つが前記格納システムに対してログインを試行し、かつそれ自身を前記格納システムに対して前記第１の装置として提示することに応答して、前記複数の装置のうちの１つが、前記格納システムにアクセスするために前記第１の装置によって使用される前記ネットワークを介した第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して、前記格納システムに対してログインを試行しているかを判定する動作を含み、
前記動作（ｂ）が、前記動作（ａ）において前記複数の装置のうちの１つが前記第１の物理的接続とは異なる前記ネットワークを介した物理的接続を通して前記格納システムに対してログインを試行していると判定された場合に、前記複数の装置のうちの１つにより前記格納システムに対して試行されたログインを拒否する動作を含む、請求項１３に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、概して、ネットワーク化されたコンピュータ・システムの分野に関する。
【０００２】
（関連技術の説明）
コンピュータ・システムは、一般的に、１つまたはそれ以上のホスト・プロセッサと、ホスト・プロセッサによってアクセスされるデータを格納するための格納システムとを含む。格納システムは、ホスト・プロセッサの格納のニーズにサービスするために１つまたはそれ以上の記憶装置（例えば、ディスク・ドライブ）を含むことができる。ディスク・ドライブは、磁気記録媒体または光学式記録媒体のような格納媒体の１つまたはそれ以上のディスクを含むことができる。
【０００３】
通常のコンピュータ・システム構成においては、バスがホスト・プロセッサと格納システムとの間の相互接続を提供する。バスは、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｏｎｅｎｔ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）プロトコルのようなプロトコルに従って動作する。上記プロトコルはホスト・プロセッサと格納システムとの間で転送されるパケットのフォーマットを記述する。データがホスト・プロセッサによって必要とされるとき、要求および応答がバス上で格納システムへ、また格納システムから転送される。
【０００４】
ネットワーク化されたコンピュータ・システムは、ますます広く使用されるようになってきており、複数のホストがネットワーク上で共有データ格納システムのような共有資源に結合している。ファイバ・チャネル・ファブリックは、そのような構成を形成するために使用することができるネットワークの一例である。ファイバ・チャネルは、複数のイニシエータが複数のターゲットとネットワーク上で通信することができるネットワーク標準であり、イニシエータおよびターゲットはそのネットワークに結合される任意の装置であってもよい。
【０００５】
複数のホストを共有格納システムに結合することは、その格納システムにおけるデータ・アクセスの管理に関連した問題を提示する。詳細に説明すると、複数のホストが共通格納システムに対するアクセスを有しているので、各ホストは他のホスト・プロセッサにとって占有的であり得る情報にアクセスすることが物理的に可能である。それ故、１つのホストによる他のホストの占有データに対する不正アクセスを防止する目的で、格納システム内のデータに対するアクセスを管理するために種々の技術が実施されてきている。例えば、格納システムのメモリのある部分またはゾーンは、１つまたはそれ以上のホストに対して専用である場合がある。各ホストは、自分が優先権を有するメモリの部分だけにアクセスするように「信頼」されている。しかし、そのような方法は各ホストの個別の動作に対して無防備である。結果として、そのようなデータ管理方法は、不正アクセスからデータを保護するには十分でない場合がある。
【０００６】
（発明の概要）
本発明の１つの例示としての実施形態は、複数の装置と、その複数の装置によって共有される共有資源と、複数の装置を共有資源に結合するネットワークとを含むコンピュータ・システムで使用するための方法に関する。該方法は、（ａ）複数の装置のうちの１つが、共有資源に対するアクセスを試行し、かつそれ自身を共有資源に対して第１の装置として提示することに応答して、複数の装置のうちの１つが、共有資源にアクセスするために第１の装置によって使用されているネットワークを介した第１の物理的接続とは異なるネットワークを介した物理的接続を通して、共有資源にアクセスを試行しているかを判定する動作と、（ｂ）動作（ａ）において、複数の装置のうちの１つが第１の物理的接続とは異なるネットワークを介した物理的接続を通して共有資源に対してアクセスを試行していると判定された場合に、複数の装置のうちの１つにより共有資源に対して試行されたアクセスを拒否する動作とを含む。
【０００７】
本発明のもう１つの例示としての実施形態は、複数の装置と、その複数の装置によって共有される格納システムと、該格納システムに対して前記複数の装置を結合するネットワークとを含むコンピュータ・システムで使用するための方法に関し、前記複数の装置の各々が、コンピュータ・システムの物理構成とは無関係な方法で装置を一意に識別する第１の識別子と、コンピュータ・システムの物理構成に依存する方法で装置を一意に識別する第２の識別子とを有するプロトコルをネットワークが使用している。該方法は、（ａ）格納システムに対する複数の装置のうちの第１の装置のログインに応答して、第１の装置の第１の識別子および第２の識別子を格納する動作と、（ｂ）動作（ａ）に続いて、複数の装置のうちの１つが、第１の装置として格納システムに対してそれ自身を提示するとともに、複数の装置のうちの１つによる格納システムにログインするための試行に応答して、複数の装置のうちの１つが、動作（ａ）において格納システムにログインするために第１の装置によって使用されたネットワークを介した第１の物理的接続とは異なるネットワークを介した物理的接続を通して格納システムに対してログインを試行しているかを判定し、（ｃ）複数の装置のうちの１つが、第１の物理的接続とは異なるネットワークを介した物理的接続を通して格納システムに対してログインを試行していると判定された場合に、格納システムに対する複数の装置のうちの１つによるログインの試行を拒否する動作とを含む。動作（ｂ）は、（ｂ１）複数の装置のうちの１つによって格納システムに提示されている第１の識別子の値を評価して、複数の装置うちの１つがそれ自身を第１の装置であるとして提示していることを判定する動作と、（ｂ２）複数の装置のうちの１つによって提示されている第２の識別子の値を第１の装置に対する第２の識別子の格納値と比較する動作と、（ｂ３）複数の装置のうちの１つによって提示されている第２の識別子の値が第１の装置に対する第２の識別子の格納値と一致しない場合に、複数の装置のうちの１つが第１の物理的接続とは異なるネットワークを介した物理的接続を通して格納システムにログインを試行していると判定する動作とを含む。
【０００８】
本発明のさらにもう１つの例示としての実施形態は、ネットワークと、ネットワークに結合している複数の装置とを含むコンピュータ・システムで使用するための方法に関し、該ネットワークは、コンピュータ・システムの物理構成とは無関係な方法で装置を一意に識別する第１の識別子と、コンピュータ・システムの物理構成に依存する方法で装置を一意に識別する第２の識別子とを複数の各装置が有するプロトコルを使用していて、該ネットワークは、ネットワークにログインする複数の各装置に対して第２の識別子に対する一意の値を割り当てる少なくとも１つのネットワーク構成要素を含む。該方法は、（ａ）ネットワークにログインしようとしていて、それ自身をネットワークに対して第１の装置として提示する複数の装置のうちの１つに応答して、複数の装置のうちの１つが、第１の装置が以前にネットワークにログインしたネットワークの第１のポートとは異なるポートを通してネットワークに対してログインを試行しているかを判定する動作と、（ｂ）動作（ａ）において、複数の装置のうちの１つが、第１のポートとは異なるポートを通してネットワークにアクセスを試行していると判定された場合に、複数の装置のうちの１つによりネットワークに対して試行されたログインを拒否する動作とを含む。
【０００９】
本発明のもう１つの例示としての実施形態は、複数の装置と、複数の装置によって共有される共有資源と、複数の装置を共有資源に結合するネットワークとを含むコンピュータ・システムで使用するための装置に関する。該装置は、ネットワークに結合している入力と、その入力に結合された少なくとも１つのコントローラとを備える。前記少なくとも１つのコントローラは、複数の装置のうちの１つがそれ自身を第１の装置として共有資源に提示するとともに、共有資源に対してアクセスを試行していることに応答し、複数の装置のうちの１つが、共有資源にアクセスするために第１の装置によって使用されたネットワークを介した第１の物理的接続とは異なるネットワークを介した物理的接続を通して共有資源にアクセスを試行しているかを判定し、複数の装置のうちの１つが第１の物理的接続とは異なるネットワークを介した物理的接続を通して共有資源に対してアクセスを試行していると判定された場合に、複数の装置のうちの１つにより共有資源に対して試行されたアクセスを拒否する。
【００１０】
本発明のさらにもう１つの例示としての実施形態は、複数の装置と、複数の装置によって共有される格納システムと、複数の装置を格納システムに結合するネットワークとを含むコンピュータ・システムで使用するための装置に関し、ネットワークは、複数の装置のそれぞれがコンピュータ・システムの物理構成とは無関係である方法で装置を一意に識別する第１の識別子と、コンピュータ・システムの物理構成に依存する方法で装置を一意に識別する第２の識別子とを有するプロトコルを使用している。上記装置は、ネットワークに結合している入力と、記憶装置と、ネットワークおよび記憶装置に結合していて、格納システムに対する複数の装置の第１の装置のログインに対して応答して、第１の装置の第１の識別子および第２の識別子を記憶装置に格納する少なくとも１つのコントローラとを含む。該少なくとも１つのコントローラは、複数の装置のうちの１つがそれ自身を格納システムに対して第１の装置として提示するとともに、第１の装置によるログインの後、複数の装置のうちの１つによる格納システムへのログインの試行に対して応答して、複数の装置のうちの１つによって格納システムに提示された第１の識別子の値を評価し、複数の装置のうちの１つがそれ自身を第１の装置であるとして提示していることを判定し、複数の装置のうちの１つによって提示された第２の識別子の値を第１の装置に対する第２の識別子の格納値と比較し、複数の装置のうちの１つによって提示された第２の識別子の値が第１の装置に対する第２の識別子の格納値と一致していない場合に、格納システムにログインする際に第１の装置によって使用された第１の物理的接続とは異なるネットワークを介した物理的接続を通して複数の装置のうちの１つが格納システムに対してアクセスを試行していることを判定し、複数の装置のうちの１つが第１の物理的接続とは異なるネットワークを介した物理的接続を通して格納システムにログインを試行していると判定された場合に、複数の装置のうちの１つにより格納システムに対して試行されたログインを拒否する。
【００１１】
本発明のさらにもう１つの例示としての実施形態はネットワークと、ネットワークに結合している複数の装置とを含むコンピュータ・システムで使用するための装置に関する。前記ネットワークは、複数の装置のうちのそれぞれが、コンピュータ・システムの物理構成とは無関係である方法で装置を一意に識別する第１の識別子と、コンピュータ・システムの物理構成に依存する方法で装置を一意に識別する第２の識別子とを有するプロトコルを使用する。前記ネットワークは、ネットワークにログインしている複数の装置のうちのそれぞれに対して第２の識別子に対する一意の値を割り当てる少なくとも１つのネットワーク構成要素を含む。上記装置は、複数の装置のうちの少なくとも１つに結合される少なくとも１つの入力と、ネットワークに対してログインを試行し、かつネットワークに対してそれ自身を第１の装置として提示している複数の装置のうちの１つに対して応答して、第１の装置が以前にネットワークにログインしたネットワークの第１のポートとは異なるポートを通して、複数の装置のうちの１つがネットワークに対してログインを試行しているかを判定し、複数の装置のうちの１つが第１のポートとは異なるポートを通してネットワークに対してログインを試行している場合に、複数の装置のうちの１つによりネットワークに対して試行されたログインを拒否する少なくとも１つのコントローラとを含む。
【００１２】
（詳細な実施形態の説明）
本発明の１つの実施形態は、複数の装置（例えば、ホスト・プロセッサ、ファイル・サーバ等）による共有資源（例えば、共有格納システム）へのアクセスを管理するためのデータ管理方法および装置に関する。共有資源は、その各部分に関連するコンフィギュレーション・データに応答してその共有資源の部分に対する装置からの要求に対して選択的にサービスを行なう。
【００１３】
１つの実施形態においては、共有資源におけるデータはボリューム内に割り当てられている。コンフィギュレーション・データは、どのボリュームのデータが（例えば、ネットワーク上での）その資源に結合している各装置によるアクセスに対して利用できるかを識別する。共有資源は、要求を発行している装置の識別およびアクセスが求められているボリュームに関連するコンフィギュレーション・データに依存したサービスに対する要求を選択的に転送するフィルタを含む。上記フィルタは、要求している装置がアクセス特権を有するボリュームに対するアクセスのための要求のみを転送する。装置がアクセス特権を有していないボリュームに対する要求はサービスされない。
【００１４】
資源において要求をフィルタリングすることによって、データ管理の制御をそのネットワーク全体に分散するのではなく、１つの場所に集中化することができる。さらに、共有資源（例えば、格納システム）においてデータ管理の制御を集中化することによって、共有資源に対するアクセスを求めているホストを信用する必要がなくなる。
【００１５】
本発明のもう１つの実施形態においては、資源においてデータ管理をサポートするための要求のフィルタリングに加えて、その資源におけるデータをさらに安全にするために、他の保護を追加することができる。詳細に説明すると、フィルタリングはその要求を発信している装置のアイデンティティ（ＩＤ）に応答して実行されるので、データのセキュリティは、その資源に対するアクセスを得るために装置が自分のアイデンティティを偽って示す場合（例えば、スプーフィングによる契約（ｅｎｇａｇｅｓ ｉｎ ｓｐｏｏｆｉｎｇ））、データのセキュリティが危うくなる場合がある。１つの実施形態においては、要求している装置がその共有資源に対して自分のアイデンティティを間違って表示することによって他の装置の専用のデータにアクセスを獲得することを防止するために、その要求している装置のアイデンティティを検証するための検証方法および装置が提供される。
【００１６】
本発明のデータ管理方法および装置が使用できる１つの例示としてのシステムはネットワーク化されたコンピュータ・システムにあり、装置はネットワークに結合しているホスト・プロセッサまたはファイル・サーバであり、共有資源は格納システム（例えば、ディスク装置の格納システム）である。しかし、ネットワーク、ホスト・プロセッサまたは共有格納システムの使用は本発明を限定するものではないこと、そしてそのようなシステム構成は説明の目的だけで以下に記述されることを理解されたい。
【００１７】
本発明を使用することができる例示としてのネットワークは、ファイバ・チャネル・ネットワークである。ただし、本発明は、ファイバ・チャネル・ネットワークまたは他の任意の特定のネットワーク構成での使用に限定されるものではない。３つの例のファイバ・チャネル・ネットワーク構成が図１Ａ、図１Ｂおよび図１Ｃに示されている。図１Ａは、ループ構成に配置されているネットワーク１０を示し、ネットワーク内のすべての装置が単一ループ内に一緒に結合している。図１Ａにおいては、３つのホスト・プロセッサ１２，１４，１６がスイッチまたはハブ１８ａによって格納システム２０に結合しているように示されている。内部的には、そのハブはループ構成に配置されている。バス１５ａ〜１５ｄ上での装置間の通信は、１つの装置からループ内の次の装置に対してデータ・パケットを渡すことによって行われる。図１Ｂは、ファブリック構成に配置されているネットワーク３０を示しており、すべての装置がスイッチ１８ｂによって一緒に結合している。ネットワーク３０内の装置１２，１４，１６，２０のうちの対の間の通信はスイッチ１８ｂによって制御される。図１Ｃは、ホスト／格納システムの構成を示しており、格納システムは２つのポートを含み、各ポートが格納システムを異なるネットワークにインタフェースする。第１のポート（ポート０）はファブリック・ネットワーク３０に結合され、第２のポート（ポート１）はループ・ネットワーク３０に結合している。本発明のデータ管理方法は、図１Ａ〜図１Ｃの構成、または多数の他のネットワークまたは資源共有構成において配置されたネットワークで使用することができる。
【００１８】
上記のように、本発明のデータ管理の態様は、格納システムに結合しており、かつその格納システムに対するアクセス特権を有しているホスト装置のアイデンティティに従って、格納システム２０においてデータのボリュームの構成を行う。異なるホストに対するボリュームの割当てを管理するために使用されるコンフィギュレーション・データは、例えば、そのネットワークのシステム管理者によって提供することができる。システム管理者は、そのネットワークに結合しているホスト装置および格納システムにおいて利用できるボリュームを追跡する。新しいホスト装置がネットワークに入るとき、ログイン手順が実行され、その新しいホスト装置がネットワークにログインし、その後さらに格納システムにログインする。システム管理者は、格納システムのボリュームをそのホストに割り当てる。ホストに割り当てられるボリュームの数は、例えば、要求されたボリュームの数、またはそのホストのデータ要求履歴に基づくことができる。システム管理者は、管理ワークステーションを経由してそのボリュームを管理するために使用されるコンフィギュレーション・データに対してアクセスを得ることができる。本発明は、管理ワークステーションの特定の実施には限定されないので、管理ワークステーションをネットワーク上の任意の場所に配置することができる。
【００１９】
ファイバ・チャネル・ファブリックへの新しい装置のログインのためのログイン・プロセスが以下に図２を参照して説明される。図２はファブリック２０６によって相互接続されている３つの装置２０２〜２０４を含むファイバ・チャネル・ネットワーク２００を示す。ファブリックは一般的に星雲のように結合している各装置を相互接続する雲であると概念的には考えられるが、ファブリック２０６は、通常、一連の１つまたはそれ以上のスイッチ２０８〜２０９を経由して実施される。各装置２０２〜２０４は、スイッチ２０８〜２０９の１つの複数のポートのうちの１つ（図２にＰ１〜Ｐ８と名付けられている）に接続され、そのポートはファブリック２０６への装置の入口点を生成する。さらに、スイッチ２０８〜２０９の種々のポートを、図２に２１０で示されているように相互接続し、ファブリック内の各装置間で経路が確実に生成されるようにすることができる。この点において、スイッチ２０８〜２０９のそれぞれがそのポートのうちの任意の２つのポート間で情報を渡すことができることを理解されたい。
【００２０】
ファイバ・チャネル・プロトコルに従って、ファイバ・チャネル・ファブリックにログインする任意の装置は、ファブリック２０６にログインしている装置の各ポートまたはアダプタに対する一意のワールドワイド名（ＷＷＮ）を提供しなければならない。例えば、図２を参照すると、装置２０２はファブリック２０６に結合していて、装置２０２に対する一組のポートをファブリック内に生成する一組のホスト・バス・アダプタ（ＨＢＡ）２１２〜２１３を含む。ファイバ・チャネル・プロトコルに従って、各ＨＢＡ２１２〜２１３にはそれ自身の一意のＷＷＮが提供されている。各ＷＷＮは、電気電子技術者協会（ＩＥＥＥ）によって管理されている登録プロセスの一部としてその装置（および／またはＨＢＡ）の製造者によって割り当てられる。ＷＷＮは、通常、いくつかのフィールドを含み、その装置、および／またはＨＢＡの製造者を一意に識別する第１のフィールドと、その製造によって提供される装置同士を一意に区別する第２のフィールドとを含む。
【００２１】
ファブリック２０６へのログインのためのプロセスの一部として、その装置の各ポートは、その装置のポートに関するファブリック２０６に対する入口点として働くそのスイッチに対してＷＷＮを提供する（例えば、装置２０２のＨＢＡ２１２はそのＷＷＮをスイッチ２０８に提供する）。それに応答して、スイッチはそのログイン・ポート（例えば、ＨＢＡ２１２）に、ファブリック２０６内の一意の識別子であるファブリック識別子（ファブリックＩＤ）を提供する。以下に説明されるように、ファイバ・チャネル・プロトコルは、ソース（供給元）装置と宛先装置との間で送信される情報の各パケットがそのソースおよび宛先の双方に対する一意の識別子を含むことを必要とする。ＷＷＮは世界の中の任意の場所の任意の装置に対して一意である識別子を提供することが意図されているので、それはかなり長い（例えば、ＷＷＮは、通常、６４ビットを使用するが、ファイバ・チャネル標準は１２８ビットをサポートすることができる）。通常のファブリック内で各装置を一意に識別するために必要なビットの数は大幅に少ない。それ故、ファイバ・チャネル・プロトコルを使用して送信されるパケット内のオーバヘッドを最小化するために、ファブリックＩＤの概念が開発された。それ故、ファイバ・チャネル・プロトコルによると、情報の各パケットはそのソース装置および宛先装置に対するＷＷＮを含まず、それよりずっと短い（例えば、通常、２４ビットの）ファブリックＩＤをこれらの各装置に対して含む。結果として、ファブリック２０６への装置のログインのためのログイン・プロセスは、装置の各ポートがそのＷＷＮを、その装置のポートに対するファブリック２０６への入口点を提供するスイッチに提供し、そのスイッチがそのポートに対する一意のファブリックＩＤを選択し、次にそのファブリックＩＤを装置ポートに返信することを含む。その後、ログインした装置は一意に割り当てられたファブリックＩＤを使用してファブリック２０６を通してその通信を行う。ファブリック２０６を構成するスイッチ２０８〜２０９は、通常、（例えば、ファブリック内の他のどのスイッチとも重なり合わない一意のオフセットが各スイッチに確実に提供されることによって、次に、各スイッチがそのオフセットの範囲内で割り当てられた特定の識別子のリストを確実に維持することによって）ファブリック２０６にログインしたすべての装置に対して一意のファブリックＩＤを確実に提供するために互いに通信する。
【００２２】
各装置がファブリックにログインする際、そのファブリックに結合している他の装置を識別するためにファブリックに問い合わせることができ、ファブリック２０６にログインしたすべての装置を識別しているファブリックＩＤのリストが提供される。この情報を使用して、新しくログインした装置とファブリック２０６に結合している他の装置との間で情報を交換することができる。
【００２３】
ファイバ・チャネル・プロトコルは複数のインタフェース・コマンド・セットをサポートすることができる。それ故、ファイバ・チャネル・ネットワークを使用して互いに結合している装置は、そのインタフェースしている装置が特定のファイバ・チャネル・インターコネクト上で使用されているプロトコルのタイプについての知識を有している場合、多数の上位レベルのプロトコルのうちの任意のもの、例えば、インターネット・プロトコル（ＩＰ）、ＳＣＳＩ、または任意の他のプロトコルを使用して通信することができる。ある種の装置は歴史的にある種のプロトコルを使用して通信するように設計されている。例えば、ホスト・プロセッサの装置は歴史的にＳＣＳＩプロトコルを使用して格納システムと通信するようになっている。それ故、ファイバ・チャネル・ネットワークを使用して結合されている装置は、歴史的に使用されている同じプロトコルを使用して互いに通信することができる。結果として、装置の既存のインタフェースはほとんど設計し直すことなくファイバ・チャネル・ネットワークに結合することができる。
【００２４】
任意のタイプのプロトコルのパケットをファイバ・チャネル・ネットワーク上で伝送することができるパケットに変換するために、通常、トンネリング技術が使用される。トンネリングを使用して、第１のプロトコルに従ってフォーマット化されている１つのパケットが上位レベルのファイバ・チャネル・ネットワーク・プロトコルに従ってフォーマット化された第２のパケット内に封入される。よって、ＳＣＳＩパケットをファイバ・チャネル・ネットワーク上で送信するためにホスト・プロセッサまたは格納システムによってファイバ・チャネル・パケット内に封入することができる。ＳＣＳＩプロトコルに従ってフォーマット化されてファイバ・チャネル・パケット内に封入されたパケットの一例が図３に示されている。
【００２５】
図３において、ファイバ・チャネル・パケット５０は、ヘッダ部分５５とペイロード部分１６０とを含む。ヘッダ部分５５は、ソースＩＤフィールド５２と、宛先ＩＤフィールド５３と、長さフィールド５４とを含む。ソースＩＤフィールド５２は、パケット５０の送信を起動したネットワーク内の装置のファブリックＩＤを含む。宛先ＩＤフィールド５３は、そのパケットを受信するためのネットワーク内の目標とする装置のファブリックＩＤを含む。長さフィールド５４はそのパケット内のバイト数を識別する。ファイバ・チャネル仕様で定義されている他のフィールドもヘッダ内に含むことができる。ただし、これらのフィールドは明確化のために本明細書では省略されている。
【００２６】
ソースＩＤフィールド５２および宛先ＩＤフィールド５３は、例えば、図１Ｂの例示としてのシステムにおいて、特定のホスト・プロセッサおよび格納システムを識別するために使用される。ホストが格納システム２０に対して要求パケットを発行するとき、ソースＩＤはそのホストを識別し、宛先ＩＤが格納システムを識別する。本発明の１つの実施形態によれば、格納システム２０はパケットのソースＩＤフィールド５２を使用して、その要求しているホストがアクセス特権を有しているデータの格納システムのボリュームがどれであるかを識別するコンフィギュレーション・データに索引を付ける。ホストの要求に選択的にサービスを行なうために、格納システムにおけるフィルタ・ロジックによってコンフィギュレーション・データが使用され得る。ホスト識別子に基づいて要求をフィルタリングするための方法および装置を実施するために使用することができるホストおよび格納システムの例示としての構成要素が図４〜図６を参照して以下に説明される。
【００２７】
上記のように、本発明の１つの実施形態においては、データ管理システムはその格納システムに対する要求があるコンフィギュレーション・データに基づいてサービスされるべきかどうかを判定する。そのコンフィギュレーション・データは、ホストが格納システムにログインおよびログアウトする際に、システム管理者によって更新することができる。また、データ管理システムは、コンフィギュレーション・データに基づいて、ネットワークから受信された格納システムに対する要求がサービスされるべきかどうかを判定するためのフィルタ・ロジックも含む。本発明の１つの実施形態においては、そのフィルタ・ロジックおよびコンフィギュレーション・データは格納システムそれ自身内に提供されている。他の方法としては、フィルタ・ロジックを格納システム２０とネットワーク２１との間か、またはネットワーク・システム内のどこかに配置された別のユニットとして提供することができる。コンフィギュレーション・データはそのフィルタ・ロジックにアクセスできるネットワーク・システム内の任意の場所に格納することができる。本発明は、どの特定の実施にも限定されないので、データ管理システムを種々の方法で実施することができる。例示の目的のために、データ管理システムが統合化されている格納システムの１つの実施形態が図４に示されている。
【００２８】
図４は、ネットワーク２１を経由して格納システム２０に結合しているホスト・プロセッサ１２を示す。ネットワーク２１は、例えば、図１Ａ〜図１Ｃおよび図２で示されている任意の構成に配置することができる。ホスト・プロセッサ１２はメモリ４２に対するローカル・バス４３によって結合されているＣＰＵ４０のような１つまたはそれ以上の中央処理装置を含むマルチプロセッシング・ユニットであってもよい。１つまたはそれ以上のホスト・バス・アダプタ（ＨＢＡ）４５，４５ａがバス４３とネットワーク２１との間に結合している。
【００２９】
各ホスト・バス・アダプタ（ＨＢＡ）４５，４５ａは、ホスト・プロセッサ１２をネットワークに接続する。ＨＢＡ４５，４５ａは、ＣＰＵ４０から受信されたデータをネットワークのプロトコルによって決められているフォーマットに変換する。さらに、ＨＢＡ４５，４５ａはパケット・フォーマットでネットワークから受信されたデータをＣＰＵ４０によって使用可能なフォーマットに変換する。
【００３０】
各ホスト・バス・アダプタは、ハードウェアと、ＨＢＡ内またはメモリ４２内に格納されているドライバ・ソフトウェアの組合せを使用して実施することができる。他の方法としては、ホスト・バス・アダプタは、完全にハードウェアで、またはソフトウェアでのいずれかで実施することができる。１つの実施形態においては、ＨＢＡ４５はプロセッサ４１とそれに結合しているメモリ４９とを含む。プロセッサ４１は、ＨＢＡ４５との間でやり取りされるデータの流れおよびフォーマットを制御する。メモリ４９は、プロセッサ４１のプログラミングを制御するためのマイクロコードを格納し、それがネットワーク２１との間で転送される際にデータの一時格納を提供する。ＨＢＡ４５，４５ａはネットワーク２１上で送信するためのパケットを発生し、各パケットはソースＩＤフィールド内にＨＢＡのファブリックＩＤを含み、特定のＨＢＡをそのパケットのソースとして識別する。
【００３１】
格納システム２０は、記憶装置３８ａ〜３８ｄを含み、それらは１つまたはそれ以上のディスク・ドライブまたは他の適当な記憶装置を含むことができる。記憶装置３８ａ〜３８ｄに対するアクセスはディスク・アダプタ３６ａ〜３６ｄを使用して制御され、それらはプログラムされたプロセッサ、カスタム・ハードウェア設計、または任意の他の適切な方法を使用して実施することができる。図３の実施形態においては、各記憶装置３８ａ〜３８ｄに対してディスク・アダプタが設けられている。しかし、本発明はこの点において特定の実施には限定されないことを理解されたい。例えば、他の方法としては、ディスク・アダプタは、２つ以上の記憶装置に結合していてもよく、および／または１つまたはそれ以上のディスク・アダプタ３６ａ〜３６ｄが別のディスク・アダプタ３６ａ〜３６ｄの記憶装置３８ａ〜３８ｄに対して二次接続を含み、１つのディスク・アダプタが故障した場合にその機能を第２のディスク・アダプタにシフトすることによって回復できるようにすることができる。
【００３２】
記憶装置３８ａ〜３８ｄは、論理ボリュームのセットに配分することができる。ＨＢＡ４５，４５ａが格納システムにログインするとき、１つまたはそれ以上の論理ボリュームがそれに割り当てられる。１つの実施形態においては、ＨＢＡによる格納システム内の論理ボリュームに対する参照は論理装置番号（ＬＵＮ）を使用して行われる。ＨＢＡによって提供されている論理装置番号とディスク・ドライブの物理的アドレスとの間に一対一の対応がある必要はない。
【００３３】
コンフィギュレーション・データベース３２（図４）は、ＨＢＡがどの論理ボリュームに対するアクセスを有しているかに関する情報を格納する。本発明の１つの実施形態においては、コンフィギュレーション・データベース内の情報はシステム管理者から受信され、ネットワークの構成が変化する際にシステム管理者によって定期的に更新される。
【００３４】
コンフィギュレーション・データベース３２に格納することができるデータのタイプの一例としては履歴テーブル６９がある。履歴テーブル６９はブロックに配分され、格納システムの各ポートに対して１つのブロックに配分される。履歴テーブル６９内の各ブロックは、そのネットワークに入る際にそのポートを問い合わせたホストのリストを含む。履歴テーブル６９内に格納されている各ホストに対する識別情報としては、例えば、そのホストのＷＷＮおよびファブリックＩＤを含むことができる。
【００３５】
また、コンフィギュレーション・データベース３２は、ＨＢＡを格納システム２０における利用できるポートに対してマップし、格納システム２０内の論理ボリュームを割り当てるボリューム割当て部分７２を異なるＨＢＡに対してマップし、ＬＵＮをマップする部分７４を対応する論理ボリュームに対するデータを格納するディスクの物理的アドレスに対してマップするためのヘッダ部分７０を含むことができる。コンフィギュレーション・データベース３２の上記態様はいずれも本明細書で記述されている本発明の態様を実施するために特に関連しているのではなく、それ故、本発明がこれらの部分の任意のものを含むコンフィギュレーション・データベースを使用して実施される格納システムに限定されないことを理解されたい。
【００３６】
本発明の１つの態様によれば、ＨＢＡがＬＵＮのどれにアクセスできるかを制御するためにマスタ・フィルタ・テーブル７６が提供されている。マスタ・フィルタ・テーブル７６はボリューム割当て情報を使用して生成され、格納システムのポートにログインされて、それに対して割り当てられている少なくとも１つの論理ボリュームを有する各ＨＢＡに対する１つのレコードを含む。マスタ・フィルタ・テーブル７６の例示としての実施例が図５に示されている。各レコード７６ａ〜７６ｎは、対応するＨＢＡに関連するＷＷＮと、このエントリ内で割り当てられている論理ボリュームが共有されているかどうかを示すフラグと、どの論理ボリュームにＨＢＡがアクセスすることが許可されているかを識別するＬＵＮマップとを含む。１つの実施形態においては、ＬＵＮマップはビットマスクの形式になっており、１ビットが格納システム内の各ＬＵＮに対して割り当てられる。また、ビットマスク内のあるビットは、関連するＨＢＡ（そのＷＷＮによって識別される）が対応するＬＵＮに対するアクセスを有することを示すように設定されている。しかし、割り当てられたＬＵＮを各種の他の方法で示すことができるので、本発明はこの特定の実施または他のどの特定の実施にも限定されないことを理解されたい。
【００３７】
格納システム２０は、また、フィルタおよびアダプタ・ユニット３４（図４）を含む。フィルタおよびアダプタ・ユニット３４はネットワーク２１から受信されたパケットをディスク・アダプタ３６ａ〜３６ｄに転送するためのデータ・ブロックおよび制御に変換する。さらに、フィルタおよびアダプタ・ユニット３４は適当な特権を有するＨＢＡだけがその論理ボリュームのいずれかに対するアクセスを獲得することを確保するためのフィルタリング機能を実行する。それ故、そのＨＢＡがそれぞれに割り当てられたボリュームにアクセスしようとすることを信用するのではなく、フィルタおよびアダプタ・ユニット３４は、特権のない要求をフィルタリングして除外することによって論理ボリュームに対するアクセスを制御する。
【００３８】
図４の実施形態においては、単一フィルタおよびアダプタ・ユニット３４が示されている。しかし、本発明はこの点において限定されないことを理解されたい。例えば、格納システム２０がネットワーク２１に結合している複数のポートを含むとき、フィルタおよびアダプタ・ユニット３４を任意の数の別のフィルタおよびアダプタ・ユニットの間で分配することができる。例えば、別のフィルタおよびアダプタ・ユニット３４を、格納システム２０をネットワーク２１に結合する各ポートに提供することができ、あるいは２つまたはそれ以上のポートに対していくつかが割り当てられる複数のフィルタおよびアダプタ・ユニットを設けることができる。フィルタおよびアダプタ・ユニット３４が複数のユニット間に分散されるとき、コンフィギュレーション・データベース３２は別々の各フィルタおよびアダプタ・ユニット３４にアクセスできる、グローバルにアクセス可能なメモリ内に提供することができる。さらに、図には示されていないが、格納システム２０は、各ディスク・アダプタ３６ａ〜ｄと同様に、各フィルタおよびアダプタ・ユニット３４に対してグローバルにアクセス可能であるキャッシュ・メモリを含むことができる。本発明の１つの実施形態においては、キャッシュおよびコンフィギュレーション・データベース３２が同じグローバルにアクセス可能なメモリ内に設けられ、そのグローバルにアクセス可能なメモリは、共通バスを経由してフィルタおよびアダプタ・ユニット３４およびディスク・アダプタ３６ａ〜ｄがそれにアクセスすることができる。
【００３９】
示された実施形態においては、フィルタおよびアダプタ・ユニット３４はプロセッサ８０およびそのプロセッサ８０に結合しているメモリ８３を含む。プロセッサは、格納システム２０とネットワーク２１との間のデータの送信および変換を制御する。メモリ８３は、フィルタリング・プロセス間に使用される一時フィルタ・テーブル８４を格納する。単一フィルタおよびアダプタ・ユニット３４が設けられている場合、一時フィルタ・テーブル８４はそれぞれが格納システムの各ポートに対して割り当てられるいくつかのテーブルに割り当てることができる。他の方法としては、別のフィルタおよびアダプタ・ユニット３４が各ポートに対して設けられている場合には、各ポートはその特定のポートにログインしたＨＢＡに関連する情報を有するそれ自身の別の一時フィルタ・テーブル８４を含むことができる。
【００４０】
上記のように、グローバルにアクセス可能なマスタ・フィルタ・テーブル７６内の情報はそのファブリックＩＤではなく、その対応するＷＷＮによって各ＨＢＡを識別する。これはＨＢＡに対するＷＷＮがファイバ・チャネル・ネットワークの構成とは無関係である不変の識別子であることが意図されていることにおいて有利である。逆に、特定のＨＢＡに対して割り当てられているファブリックＩＤは、ファブリックの構成が変化する場合に変化し得る。例えば、図２の例を参照すると、ＨＢＡ２１２がスイッチ２０８のポートＰ１〜Ｐ８のうちの異なるものに接続されるように再構成された場合、異なるファブリックＩＤがＨＢＡ２１２に対して割り当てられることになる。ＨＢＡ２１２に対するファブリックＩＤが、格納システム２０内のどの論理ボリュームに対してＨＢＡ２１２がアクセス可能であるかを識別するために、マスタ・フィルタ・テーブル内で使用された場合、ファブリックＩＤが変化すると、以前に割り当てられていた格納のボリュームに対するＨＢＡ２１２によるアクセスをフィルタおよびアダプタ・ユニット３４が許可しない結果となる。逆に、マスタ・フィルタ・テーブル７６内の各ＨＢＡに対する識別子としてＷＷＮを使用することによって、図５の本発明の実施形態は、ＨＢＡに対して割り当てられているファブリックＩＤにおける変化が結果として生じるようにファブリックの構成が変わった場合でも、マスタ・フィルタ・テーブル７６内の情報によって格納システム２０がそのＨＢＡに対して予め割り当てられていた格納ボリュームにアクセスするための有効な試行を認めることを保証する。
【００４１】
その永続性の性質によって、各ＨＢＡに対するＷＷＮは、マスタ・フィルタ・テーブル７６で使用するための有利な識別子となるが、上記から、ＨＢＡからの格納システム２０内で格納の論理ボリュームにアクセスするための要求は、その要求者のＷＷＮを識別しないことを理解されたい。むしろ、上記のように、ファイバ・チャネル・プロトコルは、要求において、そのＷＷＮではなく、要求している装置のファブリックＩＤを含むめるために、ソースＩＤ５２を要求する（図３）。それ故、フィルタおよびアダプタ・ユニット３４が格納システム２０内の１つまたはそれ以上の論理ボリュームに対するＨＢＡからのアクセスに対する要求を処理できるようするために、一時フィルタ・テーブル８４には、ＷＷＮではなく、ファブリックＩＤによって、各ＨＢＡがフィルタおよびアダプタ・ユニット３４によって管理されている１つ以上のポートにログインしたことを示す情報が提供される。この点に関して、各ＨＢＡがそのＷＷＮではなく、そのファブリックＩＤによって識別されることを除いて、一時テーブル８４内に含まれている情報は、マスタ・フィルタ・テーブル７６内に与えられる情報と類似したものであり得る。例えば、一時フィルタ・テーブル８４内の各エントリは、ＨＢＡに対するＬＵＮビットマップが、どのボリュームがそれに割り当てられているかを識別するのと同様に、そのエントリに関連する論理ボリュームが共有されるかを示すフラグを含むことができる。したがって、格納システム２０内の１つまたはそれ以上の論理ボリュームに対するＨＢＡからのアクセスに対する要求が格納システムにおいて受信されたとき、適当なフィルタおよびアダプタ・ユニット３４がその要求のソースＩＤフィールド５２（図３）内に提供されているファブリックＩＤを使用して一時フィルタ・テーブル８４に索引を付け、適当なエントリに含まれているＬＵＮビットマップを評価し、要求している装置がアクセスを求めている論理ボリュームにアクセスすることが許可されているかを判定する。要求している装置がそのように許可されていた場合、その要求はフィルタおよびアダプタ・ユニット３４によって転送され、従来の方法で格納システム２０によって処理される。他の方法としては、要求しているＨＢＡが適当なアクセス特権を有していない場合、フィルタおよびアダプタ・ユニットはその要求を拒否し、格納システム２０の残りの部分に対してその要求を転送せず、それ故、その不正アクセスを防止する。
【００４２】
マスタ・フィールド・テーブル７６および一時フィルタ・テーブル８４は、新しいＨＢＡが格納システム２０にログインするときに更新される。上記のように、このプロセスはシステム管理者の制御下で実行することができ、システム管理者は、格納システム２０内の適当な数の論理ボリュームをログイン中のＨＢＡに対して割り当てることができる。ログイン・プロセスの一部として、ログイン中のＨＢＡはそのＷＷＮおよびそのファブリックＩＤの双方を格納システム２０に提供する。上記から理解されるように、ＷＷＮはマスタ・フィルタ・テーブル７６内の適当なエントリを更新するために使用される。一方、ファブリックＩＤは一時フィルタ・テーブル８４内の対応するエントリを更新するために使用される。一時フィルタ・テーブル８４は、マスタ・フィルタ・テーブルへのキーを維持し、一時フィルタ・テーブル８４が、マスタ・フィルタ・テーブル７６内のどのエントリが一時フィルタ・テーブル８４内のどのエントリに対応するかについての知識を維持できるようにすることができる。これは、本発明が特定の実施技術には限定されないので、多くの方法のどれにおいても実行することができる。例えば、一時フィルタ・テーブル８４はマスタ・フィルタ・テーブルと同数のエントリを含むことができ、同じ順序でエントリが編成されるようにし、一時フィルタ・テーブル８４内の特定のエントリの位置がそれに対応するマスタ・フィルタ・テーブル７６内のエントリを定義することができるようにすることができる。
【００４３】
一時フィルタ・テーブル８４はマスタ・フィルタ・テーブル７６に対して行われている任意の更新に応じて更新されるようにすることができる。詳細に説明すると、システム管理者がマスタ・フィルタ・テーブル７６を更新する場合（例えば、ネットワーク・システムの再構成に応じて）、システム管理者は先ず最初にマスタ・フィルタ・テーブル７６に対する必要な更新を履行し、次にリフレッシュを実行することができる。そのリフレッシュによって、各フィルタおよびアダプタ・ユニット３４にそれらの一時フィルタ・テーブル８４内の適当なエントリを更新させる。
【００４４】
一時フィルタ・テーブル８４のサイズは、格納システムにおいて提供されているポートの数、各ポートにおいてサポートされているＨＢＡの数、および格納システム内のＬＵＮの数に関連している。格納システム２０の構成の一例は、４０９６個のＬＵＮにアクセスするために１６のポートを含むことができ、各ポートが３２個の異なるＨＢＡによるアクセスをサポートできるようにすることができる。それ故、そのような大きな一時フィルタ・テーブル８４が単一メモリ内に格納されている場合、各Ｉ／Ｏ要求に対するアクセス時間は所望の時間より長くなる場合がある。
【００４５】
本発明の１つの実施形態においては、格納システム２０の応答時間性能を増大させるために、一時フィルタ・テーブル８４は各ＨＢＡのアクセス情報を迅速に検索できるように配置される。ここで図６を参照すると、一時フィルタ・テーブルの１つの例示としての構成が示されている。一時フィルタ・テーブル８４は、レコード４００のようなレコードのアレイを含むように示されている。レコードの１つの列は格納システム（例えば、図４の格納システム２０）の各ＬＵＮに提供されている。ＬＵＮは、図６においてＬＵＮ０からＬＵＮｘまでの番号が付けられており、ここで、ｘ＋１は、その格納システム内のＬＵＮの数である。レコードの１つの行は格納システムの各ポートに提供されている。各レコードはビットマップ４０２を含む。ビットマップは、各ポートにアクセスできる装置（ＨＢＡ）の最大数に対応する数のビットを含む。図６において、これらのビットはＤ１、Ｄ２．．．Ｄｎとして示されており、ここで、ｎは任意のポートに結合できる装置の最大数である。
【００４６】
動作時に、Ｉ／Ｏ要求が格納システム２０において受信されると、そのＩ／Ｏ要求のアドレスが一時フィルタ・テーブル８４内のデータと比較される。そのアドレスはその要求を発信したＨＢＡの識別子と、ホストがアクセスしたい格納システム部分に対するアドレスとを含む。このアドレスは、一般的に、バス／ターゲット／ＬＵＮのフィールドの組合せである。バス・フィールドはネットワーク上の格納システム２０のベース・アドレスであり、ターゲットはその要求が向けられている格納システムのポートのファブリックＩＤであり、ＬＵＮはその要求によってアドレスされる論理ボリュームを示す。ターゲット情報（行）およびＬＵＮ情報（列）を用いて一時フィルタ・テーブルに索引付けして、レコードの１つを得る。次に、要求している装置に対するソースＩＤを用いてバス／ターゲット／ＬＵＮアドレスによって選択されたレコード４００のビットマップ４０２内のビットの１つを選択し、そのビットがマッピング内で設定されているかを識別する。そのビットがマッピング内で設定されている場合、その要求はサービスのためにディスクに転送される。そのビットが設定されていなかった場合、その要求は拒否される。
【００４７】
一時フィルタ・テーブル８４は、図４に示されているように、メモリに格納されるか、あるいは代わりにハードウェア内で実施され得る。上記の一時データベースの構成は、ＨＢＡおよびＬＵＮのマッピング情報にアクセスする１つの方法を提供するが、本発明はこの実施には限定されないので、他の構成を使用することもできる。むしろ、ソース識別子および資源アドレスを使用してデータベースからマッピング・データを得ることができる任意のコンフィギュレーション・データベース装置を使用することができる。
【００４８】
上記の本発明の実施形態はホスト装置が別の装置に対して割り当てられている格納のボリュームに対して許可なくアクセスすることを防止するデータ管理システムに関連していることを理解されたい。上記実施形態は、ネットワークを経由して共有資源（例えば、格納システム）に対するアクセスを共有するホスト装置が悪意を持って、あるいは故意に他の装置に対して割り当てられているデータにアクセスするか、あるいはデータを破壊しようとしないと信用できる、比較的安全な環境（例えば、すべてのホスト装置が同じ企業によって所有されている）において使用されるときに特に有用である。そのような比較的安全な環境においては、上記の本発明の実施形態はホスト・コンピュータのうちの１つが故意にではなく、他に割り当てられている格納のボリュームにアクセスすることになる不用意な誤りに対して保護を行なう。
【００４９】
一般的にネットワーク化されたコンピュータ・システムのポピュラリティの増加、および特に共有記憶装置に対するネットワーク化されたアクセスを提供しているファイバ・チャネル・システムの増加の結果、互いに信用を有さない複数のホストが共通格納システムにアクセスするネットワーク化されたシステムが生成されている。例えば、そのようなシステムはそれぞれの顧客に対してコンピューティング・サービスを提供する数多くのタイプのサービス・プロバイダによって実施されている。例えば、あるサービス・プロバイダは異なる顧客に対して複数のサービスのオペレーションをサポートするためのインフラストラクチャを提供する。そのインフラストラクチャは、ネットワーク上で異なる顧客のサービスへのアクセスが可能であり、それらのサービスによって共有されている記憶装置以外に、インターネットに対するアクセスを提供するネットワークを含む。それはファイバ・チャネル・ファブリックである可能性がある。結果として、比較的友好的な、あるいは信用されているホスト装置からのアクセスにおける不慮の誤りに対してだけでなく、信用を有さない競争者または破壊活動からの共有資源に対する悪意のあるアクセスに対してさらに保護するために、共有資源（例えば、共有格納システム）に対して付加的なレベルの保護が提供されるべきであるという必要性が生じてきている。それ故、本発明の１つの実施形態は、共有格納システムのような共有資源に対する悪意のアクセスを防止するために、付加的なロック・ダウン保護を提供するための方法および装置に関する。
【００５０】
本発明の１つの実施形態によってガードされ、防止されるべきと意図される悪意のアクセスの一例としてはスプーフィング（なりすますこと）がある。スプーフィングでは、フィルタおよびアダプタ・ユニット３４によって実行されたフィルタリングのような種々のセキュリティ手段をバイパスするために、悪意があるホスト装置はネットワーク上で別の装置のアイデンティティを乗っ取ろうとする。ファイバ・チャネル環境におけるスプーフィングの一例は、ファブリック内の別の装置のＷＷＮを使用しようと試行する悪意ある装置に関する。例えば、ファイバ・チャネル・プロトコルによってファブリック（例えば、図２のファブリック２０６）にログインした任意のＨＢＡが、そのファブリック内の他の装置のすべてのＷＷＮの識別を要求して、ファブリック内へのその入口点を提供するスイッチに対してコマンドを発行することができる。単にそのようなコマンドを発行することによって、悪意ある装置は、犠牲となる装置に対して割り当てられている共有資源（例えば、共有格納システム）の部分に対する不正アクセスを得る目的で、扮装しようとするファブリック上の別の装置のＷＷＮにアクセスすることができる。これは、ＨＢＡがそれ自身のＷＷＮを設定することができるファイバ・チャネル・プロトコルの機能によって部分的に容易にされている。この機能はファイバ・チャネル・プロトコルにおいて、例えば、故障した部分を、同じＷＷＮを仮定することができる新しい部分で置き換えることができるようにし、システムの残りの部分がその置き換えられた部分にアクセスするために再構成される必要がないようにするために提供されている。しかし、このファイバ・チャネル・ファシリティはセキュリティ・ホールを生成する。というのも、ＷＷＮが任意の所与のＨＢＡに対して世界中で一意である識別子を提供するという基本の仮定が、スプーフされる（すなわち、犠牲となる）装置だけがアクセスすることができる共有資源の部分に対して、スプーフしている装置がアクセスすることを防止することが意図されているセキュリティ機構をバイパスしようと試行する際にファブリック内の別の装置のＷＷＮを悪意を持って乗っ取ろうとする場合には成立しない。
【００５１】
本発明の１つの実施形態によれば、保護されるネットワーク化された装置（例えば、ファイバ・チャネル・ファブリック内のＨＢＡ）の物理構成をロック・ダウンして、その保護された装置に対して割り当てられている一意の識別子（例えば、ファイバ・チャネル・ファブリック内のＷＷＮ）を提示する任意の装置がその保護された装置に対して期待される物理構成を通してネットワークに確実にアクセスする技術が使用される。そうすることによって、本発明のこの態様は、スプーフしている装置が別の装置のアイデンティティを乗っ取ることを防止する。何故なら、下記の本発明の態様が、スプーフされている保護された装置によって使用される構成とは異なる物理構成を通してネットワーク・システム内のある種の資源にアクセスしようとしていることを検出するからである。以下の例示としての一例においては、本発明のこの態様はファイバ・チャネル・システムに関して記述され、特に共有格納システムに対する不正アクセスを防止することに関する。しかし、本発明はこれに限定されないこと、そしてファイバ・チャネル以外のタイプのネットワーク・システム、および／または格納システム以外のタイプの共有資源に関する他の実施例を使用することができることを理解されたい。
【００５２】
ファイバ・チャネル・ファブリックに関連して使用するための１つの例示としての実施によれば、本出願人は、特定のＨＢＡに対して割り当てられているファブリックＩＤは、実際にはそのＨＢＡに対してファブリックへのウィンドウを提供する物理ポートの指示であることを認識していた。この点において、ファブリックＩＤが不変であるか、または同じポートにおけるＨＢＡによる繰返しのログインの結果、ファイバ・チャネル・プロトコルにおいて同じファブリックＩＤの割当てが行われることを必要とすることはないが、ファブリックＩＤを生成するためにスイッチの製造者によって実施されるルーチンによってこれが結果として起こる。例えば、上記のように、ファブリックＩＤが割り当てられる通常の方法はそのファブリック内のスイッチの組（例えば、図２の２０８〜２０９）が一連のオフセットに一致し、したがって、それぞれが一意のファブリックＩＤの範囲を有し、その各ポートに対してその範囲内で各スイッチが一意のファブリックＩＤを割り当てる。スイッチの製造者は、首尾一貫している割当て技術を使用し、各ポートには常に同じファブリックＩＤが割り当てられる。結果として、ＨＢＡに対して割り当てられたファブリックＩＤは、ＨＢＡと、そのＨＢＡに対してファブリック２０６（図２）へのウィンドウを提供するファブリック・スイッチのポートとの間の物理的関係を実際に識別する。
【００５３】
本発明の１つの例示としての実施形態によれば、多くの点において上記実施形態と同様な管理技術が使用されるが、図７に示されているような改訂マスタ・フィルタ・テーブル２７６を使用する。マスタ・フィルタ・テーブル２７６はその格納システムにログインしていて、少なくとも１つの論理ボリュームがそれに割り当てられている各ＨＢＡに対するファブリックＩＤを識別するために追加のフィールド２７８を含む。図５に関連して上記説明されたマスタ・フィルタ・テーブル７６の場合のように、マスタ・フィルタ・テーブル２７６はそのＨＢＡに対して割り当てられているボリュームが共有されているかを示すフラグを含むことができる。ただし、これは任意の機能であり、必須ではなく、データのどのボリュームが対応するＨＢＡにとってアクセス可能であるかを示すＬＵＮビット・マップを含むことができる。上記のように、ＬＵＮビットマップは一例に過ぎず、割り当てられたボリュームを識別するための他の実施も可能である。最後に、図７の実施形態において、図７においてはＬＯＣＫＥＤ（ロックされる）フィールドとして識別されている付加的なフィールド２８０が提供されている。これは以下に説明される本発明の１つの実施形態に従って使用される機能であるが、任意であり、本発明のすべての実施形態に必須ではない。
【００５４】
マスタ・フィルタ・テーブル２７６に追加される追加フィールド２７８は、格納システム２０にログインしようとする任意のＨＢＡのアイデンティティを検証し、そのＨＢＡが別のＨＢＡのＷＷＮをスプーフしようとしているのではないことを確実にするために使用される。これは、本発明のこの態様が任意の特定の実施技術には限定されないので、多くの方法のいずれかで行うことができる。１つの例示としての実施形態においては、この検証プロセスは、ログイン時にフィルタおよびアダプタ・ユニット３４によって実行される。別のフィルタおよびアダプタ・ユニット３４が設けられている本発明の実施形態においては、各フィルタおよびアダプタ・ユニットはそのフィルタおよびアダプタ・ユニット３４に対応する格納システム２０のポートにログインを試行しているＨＢＡに対する別々の検証を実行することができる。上記実施形態の場合のように、フィルタおよびアダプタ・ユニット３４は、図４に示されているように、格納システム２０内に実装されてもよいし、あるいはシステム内の任意の場所に（例えば、格納システム２０とネットワーク２１との間の別個のスタンドアロン型ユニットとして）設けられてもよい。
【００５５】
ＨＢＡが格納システム２０に対してログインを試行するとき、ＨＢＡはそのＷＷＮおよびそのファブリックＩＤを双方とも格納システム２０に提供しなければならない。ＷＷＮおよびファブリックＩＤを受信すると、フィルタおよびアダプタ・ユニット３４はマスタ・フィルタ・テーブル２７６のサーチを実行し、その格納システムにログインを試行しているＨＢＡのＷＷＮに対応する既存のエントリがあるかを判定する。そのようなエントリが存在している場合、フィルタおよびアダプタ・ユニット３４は、テーブル２７６内の対応するエントリ内のＨＢＡに対するファブリックＩＤを、その格納システムにログインを試行しているＨＢＡに対するファブリックＩＤと比較する。これらのファブリックＩＤが一致しなかった場合には、フィルタおよびアダプタ・ユニット３４は要求しているＨＢＡが格納システムにログインすることを防止する。逆に、マスタ・フィルタ・テーブル２７６内に要求しているＨＢＡのＷＷＮに一致するＷＷＮを有するエントリがなかった場合、あるいは要求しているＨＢＡのＷＷＮおよびファブリックＩＤの双方に一致するエントリがあった場合、フィルタおよびアダプタ・ユニット３４はその要求しているＨＢＡが格納システム２０にログインすることを許可する。
【００５６】
フィルタおよびアダプタ・ユニット３４、あるいは格納システムに対してログイン要求を行っているＨＢＡに対する認証プロセスを実施する格納システム２０の任意の他の構成要素によって実施することができる例示としてのルーチンが、図８に示されている。このルーチンは他の多数の実施が可能であることを理解してもらえると思うが、単に例示としての目的で提供されている。図８のルーチンはログイン要求が格納システム２０において受信されたときに呼び出され、ステップ２８２から開始し、そのログイン要求のＷＷＮに一致するＷＷＮを有するエントリがマスタ・フィルタ・テーブル２７６のエントリ２７６ａ〜ｎのいずれかにあるかどうかの判定が行われる。なかった場合、ルーチンはステップ２８４へ進み、ＷＷＮが一致しなかったことが、そのログイン要求がその特定のＷＷＮを指定している装置から最初に受信されたものであることを示しており、よってそのＷＷＮのスプーフィングは心配ないので、そのログイン要求は受け入れられる。
【００５７】
ステップ２８２において、マスタ・フィルタ・テーブル２７６内に一致しているＷＷＮがあることが判定された場合に、ルーチンはステップ２８６へ進み、一致しているエントリが識別され、次にステップ２８８へ進み、その一致しているエントリのファブリックＩＤがそのログイン要求のファブリックＩＤと一致するかの判定が行われる。ＷＷＮおよびファブリックＩＤの双方が一致したとき、ルーチンはステップ２８４へ進み、そのログイン要求を受け入れる。特に、この状態は以前にその格納システムにログインした装置が再度ログインを試行している状況によって生じ得る。これは、例えば、そのＨＢＡが格納システム２０から不意にログアウトさせられた電力またはネットワークに関する問題が生じた場合に発生する場合がある。
【００５８】
最後に、ステップ２８９において、ＷＷＮが一致しているエントリがログイン要求とは異なるファブリックＩＤを有していると判定された場合、ルーチンはステップ２９０へ進み、この状況は格納システム２０に既にログインしている別のＨＢＡのＷＷＮをあるＨＢＡがスプーフしようとしていることを示す可能性があるので、そのログイン要求は拒否される。
【００５９】
上記から、要求しているＨＢＡのＷＷＮおよびファブリックＩＤの双方の検証をログイン時に実行することによって、ＷＷＮのスプーフィングが防止されることを理解することができるだろう。特に、有効なＨＢＡが既にその格納システムにログインしており、格納システム内に貴重なデータを格納してある場合に、スプーフィングの危険性が最も大きい。スプーフしている装置は先ず最初に関連のＨＢＡのＷＷＮを知ることによって（例えば、上記のようにファブリックを問い合わせることによって）別の装置の格納データに対するアクセスを得ようとし、次に、ファブリックにログインするときにそのＷＷＮを提示する。ファブリックは、スプーフィングのＨＢＡに以前にその保護されたＨＢＡに対して割り当てられたのとは異なるファブリックＩＤを割り当てる。それ故、スプーフィングのＨＢＡが格納システムにログインしようと試行するとき、格納システムはＷＷＮに関連するファブリックＩＤのミスマッチを検出し、そのスプーフィングのＨＢＡが格納システムにログインする許可を与えず、結果として保護された装置のデータに対する不正アクセスを防止することになる。
【００６０】
図７〜図８に関連して上記説明された本発明の実施形態を使用している共有資源（例えば、共有格納システム）は、また、あるＨＢＡが保護されたＨＢＡに対するＷＷＮおよびファブリックＩＤの双方についてスプーフが試行される状況に対しても保護される。ファイバ・チャネル・ファブリックを生成する際に従来から使用されているスイッチにおいて、そのようなスプーフィングの攻撃は必然的に失敗し、したがって、そのような試みを検出するために格納システムにおいて付加的なサポートは不要である。詳細に説明すると、ファイバ・チャネル・ファブリック内で使用されている従来のスイッチは、該スイッチに結合している装置がそのスイッチによってその装置に対して割り当てられたもの以外のファブリックＩＤを使用することを防止する。それ故、図２の例示としての実施形態を参照すると、ＨＢＡ２１２がファブリック２０６内の別のＨＢＡのファブリックＩＤをスプーフしようとした場合、スイッチ２０８はＨＢＡ２１２によって送信されたパケットが無効であり、配送できないとみなすことになる。何故なら、それらのファブリックＩＤがＨＢＡ２１２に対して割り当てられているファブリックＩＤと一致しないことになるからである。それ故、ＨＢＡ２１２はスプーフされたファブリックＩＤで別の装置（例えば、格納システム）に対して情報のパケットを送信することができなくなる。
【００６１】
要求している装置が、それが最初にログインしたときと同じネットワーク資源に対する物理的接続経路を有していなければならないことを検証する検証プロセスを実行することによって、上記の本発明の実施形態は大きなレベルの保護を提供することを理解されたい。この点において、共有ネットワーク・コンピューティング・システムの出現以前に、種々の通信媒体（例えば、ＳＣＳＩ）が使用されており、装置間に専用の物理的接続が提供されていた。そのようなシステムを安全に守ることは容易である。何故なら、装置に対する物理的接続が変更されないことを確保するために物理的なセキュリティの予防措置（例えば、ロックされた、あるいはガードされた部屋）を使用することができ、それによってそのシステムに格納されている情報に認可されていない装置がアクセスできないことが確保されるからである。図７〜図８に関連して上記説明された本発明の実施形態は同様なレベルのセキュリティを提供する。何故なら、スプーフしている装置が別の装置に対する専用の共有資源の部分に対してアクセスを獲得できる唯一の方法は、そのネットワークの接続を物理的に変更し、スプーフしている装置が、保護される装置によって使用されるのと同じ物理的ネットワーク経路を経由して共有資源に接続可能とすることであるためである。それ故、コンピュータ・システムのユーザがシステムの物理的再構成を防止するために十分な物理的セキュリティ予防措置を取り入れることができる場合、上記の本発明の実施形態はスプーフしている装置による不正アクセスを防ぐことができる。
【００６２】
各ＷＷＮにそのＷＷＮに対して最初に割り当てられた共有資源に対する物理的ネットワーク経路が確実に関連付けられることによって悪意のスプーフィングを防止することが望ましいが、どのポートが特定のＨＢＡに対する入口点を提供するかを物理的に変更することによってユーザがそれぞれのシステムを再構成したい状況があり、以前に確立されたアクセス特権を失わずに（例えば、図４の記憶装置２０内の格納のある論理ボリュームの割当て）、その再構成を行ないたい場合がある。それ故、本発明の１つの実施形態によれば、ユーザが格納システムのそれに割り当てられた格納の論理ボリュームに対するアクセスを失わずにシステムを物理的に再構成することができる技術が使用される。これは本発明のこの態様が特定の実施技術のどれにも限定されないので、任意の多くの方法で実施することができる。
【００６３】
本発明の１つの例示としての実施形態によれば、システムを物理的に再構成するための機能は図７に関して上記概略説明したＬＯＣＫＥＤフィールド２８０（単一ビットでもよい）を使用することによって可能になる。この点において、本発明の１つの例示としての実施形態によれば、ＨＢＡが格納システム２０（図４）にログインするとき、そのＨＢＡのＷＷＮおよびファブリックＩＤに関連している情報が、それに対して割り当てられている格納の論理ボリュームを識別しているＬＵＮビットマップと一緒に、マスタ・フィルタ・テーブル２７６内の対応するエントリ内にロードされる。この情報がマスタ・フィルタ・テーブル２７６で確立されると、ＬＯＣＫＥＤフィールド内の値が、対応するエントリが有効であってロックされていることを示す値に設定される。これは、例えば、システム管理者がマスタ・フィルタ・テーブル２７６内の適当なエントリに書き込むことによって行うことができる。検証プロセスがマスタ・フィルタ・テーブル２７６内のロックされたエントリに一致する要求しているＷＷＮに遭遇したとき（例えば、図８のステップ２８２において）、その検証プロセスは上記と同じように進行し、そのログイン要求はマスタ・フィルタ・テーブル２７６内のロックされたエントリに要求しているＨＢＡに対するファブリックＩＤが一致した場合にのみ受け入れられる。しかし、ＬＯＣＫＥＤフィールドが一致しているＷＷＮのエントリがロックされていないことを示しているとき、検証プロセスは異なった応答をし、容易にその新しいログイン要求を受け入れ（例えば、図８のステップ２８４へ直ちに進むことによって）、マスタ・フィルタ・テーブル２７６内の適当なエントリをそのログインを試行している装置に対するファブリックＩＤで更新する。
【００６４】
ＬＯＣＫＥＤフィールド２８０を使用して、システム管理者はＨＢＡを以下の方法で移動させることによってシステムを物理的に再構成することができる。システム管理者はマスタ・フィルタ・テーブル２７６内の適当なエントリに書き込み、ＬＯＣＫＥＤフィールド２８０を修正してそのエントリをアンロックし、システムを新しい所望の構成に物理的に再構成する。次に、ＨＢＡはファブリックに戻ってログインし、その結果、新しいファブリックＩＤがＨＢＡに対して割り当てられる。次に、ＨＢＡは格納システム２０に戻ってログインし、それによりメイン・フィルタ・テーブル２７６内のエントリについてのサーチが実行され、要求しているＨＢＡのＷＷＮに対する一致があるかどうかが判定される。一致が見つかると、ＬＯＣＫＥＤフィールドが評価され、ＬＯＣＫＥＤフィールド２８０はそのエントリがロックされていないことを示すことになるので、格納システムは新しいファブリックＩＤを含めて要求しているＨＢＡに対する新しいログイン情報を受け入れる。それ故、メイン・フィルタ２７６内の関連エントリがそのＨＢＡに対するファブリックＩＤで更新され、適当なＬＵＮビットマップを保持し、そのビットマップはそれに以前に割り当てられた格納の論理ボリュームに対するＨＢＡのアクセス特権を維持することになる。最後に、システム管理者は、メイン・フィルタ・テーブル２７６内の関連エントリに書き込み、ＬＯＣＫＥＤフィールド２８０をロックされた状態へ戻すように変更する。それによりスプーフしている装置が格納システムにログインするのことが防止される。各エントリに対してＬＯＣＫＥＤフィールドを独立に設定できることによって、システム管理者は、エントリをポートごとのベースでアンロックすることができ、再構成によって影響されないＨＢＡに対するエントリはロックされたままにすることができる。
【００６５】
ＬＯＣＫＥＤフィールド２８０によってサービスされる１つの機能は、フィルタおよびアダプタ・ユニット３４がそれぞれが、マスタ・フィルタ・テーブル２７６内の１つのエントリに一致するＷＷＮを有しているが、そのエントリに対するファブリックＩＤフィールド２７８においてミスマッチのファブリックＩＤを有する２つの異なるタイプのログイン要求の間の違いをフィルタおよびアダプタ・ユニット３４が区別できるようにすることであることを理解されたい。２つの異なるタイプのログイン要求とは（１）スプーフィングの試みが潜在しているとして拒否されるログイン要求と、（２）それらがシステムの認可された物理的再構成からの結果であるので、受け入れられるべきであるログイン要求である。しかし、この結果は、本発明がＬＯＣＫＥＤフィールド２７８を使用することに限定されないので、他の方法で達成できることを理解されたい。例えば、この結果が達成できるもう１つの方法は、マスタ・フィルタ・テーブル２７６内の特定のエントリをアンロックしてミスマッチのファブリックＩＤの新しいログインが受け入れられるようにするのではなく、システム管理者が適当なエントリのファブリックＩＤ２７８に書き込み、どのＨＢＡに対する割当てのためにも利用できない無効な値をそれに割り当てることができることである。そのような値はファブリックＩＤを割り当てるファブリック内のすべてのエンティティがそのファブリックＩＤを利用できないとして認識する限り、任意の値を選択することができる。その後、ログイン要求を処理しているときに、フィルタおよびアダプタ・ユニット３４は、マスタ・フィルタ・テーブル内の適当なエントリが有効であるかどうかを判定するために付加的な比較ステップを実行することができる。例えば、図８に示されているようなルーチンを使用しているとき、ステップ２８８の前に１つのステップを追加して、一致しているエントリのファブリックＩＤフィールド２７８に無効な値が割り当てられているかどうを判定することができる。そうであった場合、ルーチンは直ちにステップ２８４へ進み、そのログイン要求を受け入れることができる。この方法で、システム管理者はポートごとのベースで、マスタ・フィルタ・テーブル２７６内のエントリを無効にし、ファブリックＩＤが新しいが、ＷＷＮが既に認識されているログイン要求をフィルタおよびアダプタ・ユニット３４が受け入れることができるようにし、システムの物理的再構成を容易にすることができる。もちろん、新しいログイン要求が受け入れられるとき、マスタ・フィルタ・テーブル２７６内の一致しているエントリのファブリックＩＤフィールド２７８だけが更新される必要がある。何故なら、残りの情報は保持でき、ログインしている装置が対応するＬＵＮビットマップを維持し、それに対して以前に割り当てられている論理ボリュームに対するアクセスをそれに与えるようにすることができるからである。
【００６６】
本発明の１つの例示としての実施形態によれば、マスタ・フィルタ・テーブル２７６はシステム管理者だけを経由して書き込むことができる。システム管理者は、管理ワークステーションを経由してマスタ・フィルタ・テーブル２７６にアクセスすることができる。そのワークステーションは上記のように、そのネットワーク・コンピュータ・システムに関連する任意のユーザ・インタフェースであってよい。例えば、マスタ・フィルタ・テーブル２７６およびフィルタおよびアダプタ・テーブル３４が格納システム２０内に設けられているとき、そのユーザ・インタフェースは、サービス・プロセッサまたは格納システム２０（図４）に直接関連する他のユーザ・インタフェースとして提供されてもよいし、あるいはそのユーザ・インタフェースはネットワーク２１（図４）を経由して格納システムに結合できるスタンドアロン型コンピュータ（例えば、パーソナル・コンピュータ）として提供されてもよい。追加のＨＢＡがネットワーク・システムに追加されるとき、あるいはシステムが物理的に再構成されるとき、システム管理者は、上記方法で格納システム２０のマスタ・フィルタ・テーブル２７６を更新するために適当なアクションを取ることができる。
【００６７】
本発明のもう１つの実施形態においては、マスタ・フィルタ・テーブル２７６に対して自動更新機能が提供される。この自動更新機能は、上記ファブリックＩＤフィールド２７８に対してＬＯＣＫＥＤフィールド２８０およびあらかじめ選択された無効な値の使用を組み合わせる。この実施形態は、マスタ・フィルタ・テーブル２７６内のエントリ２７６ａ〜ｎが仮定することができる３つの状態を本質的に有する。それらは（１）ファブリックＩＤフィールド２７８内の値が有効であるロックされた状態、（２）ファブリックＩＤフィールド２７８内のあらかじめ選択された無効な値を有するロックされた状態、および（３）アンロックされた状態である。第１の状態（すなわち、ファブリックＩＤフィールド２７８内に有効なエントリがあるロックされた状態）にあるとき、本発明のこの実施形態は上記ロックされた状態と同じ方法で動作する。すなわち、１つのエントリに対するＷＷＮおよびファブリックＩＤの双方が一致しないログイン要求が拒否され、ＷＷＮおよびファブリックＩＤの双方に一致する場合だけそのログイン要求を受け入れることができるようにする。
【００６８】
マスタ・フィルタ・テーブル２７６内のエントリが第２の状態（すなわち、ロックされているがファブリックＩＤフィールド２７８内の値が無効である状態）にあるとき、エントリのＷＷＮが一致しているログイン要求が受け入れられ、そのエントリはログインしている装置のファブリックＩＤで自動的に更新される。これは、システム管理者がマスタ・フィルタ・テーブル２７６内のエントリをロックするためにそのエントリが更新された後でそのＬＯＣＫＥＤフィールド２８０を変更する必要がないので、自動更新機能を実施する。むしろ、上記の本発明の実施形態とは対照的に、システムの再構成を可能にするためにエントリをアンロックするのではなく、システム管理者は、ファブリックＩＤフィールド２７８を無効化することができる。その後、装置がログインするとき、マスタ・フィルタ・テーブル２７６は新しいファブリックＩＤで自動的に更新されることになる。
【００６９】
最後に、アンロックされた状態は、本発明のこの実施形態により提供されるロック・ダウン保護を本質的にオフにし、任意のログイン要求がファブリックＩＤの一致がなくても受け入れられるようにする。
【００７０】
上記から理解されるように、上記の本発明の実施形態は任意の要求している装置が自分が意図するものであることを保証する検証プロセスを提供する。上記の実施の１つの利点は、検証プロセスがＨＢＡから格納システムに対して発行されるすべての単一要求について働き、それにより、暗号化、ディジタル署名、管理されたキーなどの使用などの、種々の複雑な認証および検証プロセスを使用することによって他の方式が達成しようと試みた保護のレベルを提供する。対照的に、上記の本発明の実施形態はハードウェア、および／またはソフトウェアの適度な追加で実施することができ、迅速に実行することができ、システムの性能に悪影響を及ぼさないようにすることができる。
【００７１】
上記の本発明の実施形態の特別の実施は、要求しているＨＢＡに対するネットワークへの入口の物理ポートを検証することだけで、要求しているＨＢＡと格納システムとの間の物理的経路の検証を提供する。しかし、本発明は、他の必要な物理的接続（例えば、ネットワークを含むスイッチ間の物理的接続）を通して要求しているＨＢＡが共有資源に接続されていることを検証するために他の実施を使用することができるので、本発明はこの点において限定されるものではないことを理解されたい。
【００７２】
さらに、上記例示としての例において、記述されている特定のネットワークはファイバ・チャネル・ファブリックである。しかし、上記の本発明の態様はこの点において限定されるものではなく、他のタイプのネットワーク・システムで使用することができることを理解されたい。例えば、本発明の１つの実施形態は、ＨＢＡと共有資源との間の物理的接続（例えば、ファブリックＩＤ）を検証するためのいくつかの技術以外に、特定のＨＢＡに対する一意のワールドワイドの識別子（例えば、ＷＷＮ）に依存する。物理的接続はネットワークを介した物理的接続を識別することができる何らかの機能を現在有していない任意の既存のネットワーク・プロトコルに対して追加の層を追加することによるものを含めて、他のタイプのネットワークでの接続において多くの任意の方法で検証することができる。
【００７３】
上記例示としての実施形態においては、共有資源は格納システムである。しかし、上記の本発明の実施形態は、格納システムについて使用することに限定されず、任意の共有資源に対するアクセスを検証するために使用することができる。
【００７４】
上記の本発明の実施形態において、検証プロセスは共有資源において（例えば、格納システムにおいて）直接実行される。しかし、検証プロセスはシステムのどこかで実行できるので、本発明はこの点において限定されるのではないことを理解されたい。例えば、本発明の他の実施形態においては、スイッチ（例えば、図２のスイッチ２０８〜２０９）を、図７の情報のいくつかを含むフィルタ・テーブル付きで提供することができ（例えば、フラグおよびＬＵＮビットマップは提供される必要はない）、図８のルーチンに似たルーチンを実行するためのプログラムされたプロセッサ、および／またはハードウェアを提供することができる。詳細に説明すると、スイッチはそれ自身のＷＷＮのテーブルおよびそれに割り当てられるファブリックＩＤを保持することができ、また、ＨＢＡがネットワークにログインしようとするたびに比較を実行することができる。それ故、特定のＷＷＮに対して割り当てられている有効なファブリックＩＤが既にあって、他のＨＢＡが同じＷＷＮを使用してネットワークにログインしようとする場合、スイッチがそのログイン試行を拒否することができ、その要求しているＨＢＡに対してファブリックＩＤを発行することを拒否することができる。結果として、要求しているＨＢＡはＷＷＮをスプーフすることができなくなる。それ故、上記の本発明の態様はネットワーク内の多くの他の場所において実施することができ、共有資源において実施することに限定されないことを理解されたい。
【００７５】
本発明の１つの実施形態によれば、上記例示としての実施形態で使用するために１つのユーザ・インタフェースを使用することができる。上記の本発明の実施形態に関連して使用するのに適しているユーザ・インタフェースの一例は１９９９年６月３０日出願の“ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＤＥＴＥＲＭＩＮＩＮＧ  ＡＮ  ＩＤＥＮＴＩＴＹ  ＯＦ  Ａ  ＮＥＴＷＯＲＫ  ＤＥＶＩＣＥ”（ネットワーク装置のアイデンティティを判定するための方法および装置）と題される同時係属出願番号０９／３４５，２５４に記載されており、この出願は引用によって本明細書の記載に援用する。しかし、本発明は、このユーザ・インタフェースまたは特定の他のタイプのユーザ・インタフェースを使用することに限定されるものではないことを理解されたい。
【００７６】
本発明の上記実施形態は多くの方法で実施することができる。例えば、要求している装置が、自分が最初にログインしたときと同じネットワーク資源に対する物理的接続経路を有していることを検証するための上記ルーチンは、ハードウェア、ソフトウェア、またはそれらの組合せで実施することができ、ネットワーク化されたコンピュータ・システムの格納システムまたはいくつかの他の装置内に含めるか、あるいはシステム全体に分散させることができる。ソフトウェアで実施されるとき、そのルーチンは格納システム内のプロセッサ、専用のサーバまたは任意の他のプロセッサのような任意の適当なプロセッサ上で実行することができる。上記機能を実行する単一構成要素またはコンピュータ・システムの複数の構成要素を、上記機能を制御する１つまたはそれ以上のコントローラとして一般的に考えることができる。１つまたはそれ以上のコントローラを多くの方法、例えば、専用のハードウェアで、あるいは上記機能を実行するためのマイクロコードまたはソフトウェアを使用してプログラムされたプロセッサを使用して実施することができる。この点において、本発明の１つの実施形態はコンピュータ・プログラムで符号化された少なくとも１つのコンピュータ可読媒体（例えば、コンピュータ・メモリ、フロッピー・ディスク、コンパクト・ディスク、テープなど）を含み、それはプロセッサ上で実行されるとき、本発明の上記機能を実行する。コンピュータ可読媒体は、その中に格納されているプログラムを上記の本発明の態様を実施するために任意のコンピュータ・システム資源上にロードすることができる可搬型のものであってよい。コンピュータ・プログラムという用語は本明細書では、本発明の上記態様を実施するためにプロセッサをプログラムするために使用できる任意のタイプのコンピュータ・コード（例えば、ソフトウェアまたはマイクロコード）を指すために一般的な意味で使用されている。
【００７７】
本発明のいくつかの実施形態が記述されてきたところで、当業者であれば種々の変更および改善が容易に発生する。上記変更および改善は本発明の精神および範囲内に含まれる。それ故、上記説明は単に例示としてのものであり、本発明を制限するものではない。本発明は、特許請求の範囲およびそれと等価なものによってのみ制限される。
【図面の簡単な説明】
【図１Ａ】例示として本発明のデータ管理の態様を使用することができるネットワーク構成を示す図。
【図１Ｂ】例示として本発明のデータ管理の態様を使用することができるネットワーク構成を示す図。
【図１Ｃ】例示として本発明のデータ管理の態様を使用することができるネットワーク構成を示す図。
【図２】本発明の態様を使用することができるファイバ・チャネル・システムのブロック図であり、ファブリックが複数のスイッチによって形成される方法を示す図。
【図３】ファイバ・チャネル・システムにおけるパケットの１つの実施形態を示す図。
【図４】本発明の１つの実施形態のホスト・プロセッサによって発行されるフィルタリング要求に対する要素を有するアダプタを含むネットワーク化されたシステムのホスト・プロセッサおよび格納システムの例示としての構成要素を示すブロック図。
【図５】図４の格納システムによって使用するためのフィルタリング情報を格納するために使用することができるコンフィギュレーション・データ構造の１つの実施形態のブロック図。
【図６】図４の格納システムにおいて要求をフィルタリングするために使用することができるフィルタリング・データの１つの実施形態のブロック図。
【図７】本発明の１つの態様によるフィルタリング情報を格納するために使用することができるコンフィギュレーション・データ構造の代替実施形態のブロック図。
【図８】本発明の１つの実施形態によるネットワーク資源にログインを試行しているＨＢＡのアイデンティティを検証する方法のフローチャート。
【図１Ａ】
2004516590.tif 000003
【図１Ｂ】
2004516590.tif 000004
【図１Ｃ】
2004516590.tif 000005
【図２】
2004516590.tif 000006
【図３】
2004516590.tif 000007
【図４】
2004516590.tif 000008
【図５】
2004516590.tif 000009
【図６】
2004516590.tif 000010
【図７】
2004516590.tif 000011
【図８】
2004516590.tif 000012
【国際公開パンフレット】
2004516590.tif 000013
2004516590.tif 000014
2004516590.tif 000015
2004516590.tif 000016
2004516590.tif 000017
2004516590.tif 000018
2004516590.tif 000019
2004516590.tif 000020
2004516590.tif 000021
2004516590.tif 000022
2004516590.tif 000023
2004516590.tif 000024
2004516590.tif 000025
2004516590.tif 000026
2004516590.tif 000027
2004516590.tif 000028
2004516590.tif 000029
2004516590.tif 000030
2004516590.tif 000031
2004516590.tif 000032
2004516590.tif 000033
2004516590.tif 000034
2004516590.tif 000035
2004516590.tif 000036
2004516590.tif 000037
2004516590.tif 000038
2004516590.tif 000039
2004516590.tif 000040
2004516590.tif 000041
2004516590.tif 000042
2004516590.tif 000043
2004516590.tif 000044
2004516590.tif 000045
2004516590.tif 000046
2004516590.tif 000047
2004516590.tif 000048
2004516590.tif 000049
2004516590.tif 000050
2004516590.tif 000051
2004516590.tif 000052
2004516590.tif 000053
2004516590.tif 000054
2004516590.tif 000055
【国際公開パンフレット（コレクトバージョン）】
2004516590.tif 000056
【国際調査報告】
2004516590.tif 000057
2004516590.tif 000058