(57)【特許請求の範囲】
【請求項１】
複数のネットワーク・デバイスによる記憶システムへのアクセスを管理する方法であって、前記記憶システムは該記憶システム上に記憶される記憶ボリュームを含んでおり、
前記記憶システムに、当該記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を維持するステップと、
前記複数のネットワーク・デバイスの内の少なくとも１つが前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を用いて該複数のネットワーク・デバイスの内の少なくとも１つ以外の１つ以上のネットワーク・デバイスからの前記記憶システム上の前記記憶ボリュームに対する利用可能性及びアクセスを制御し得るように、前記情報を前記記憶システムから前記複数のネットワーク・デバイスの内の少なくとも１つへエクスポートするステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、前記複数のネットワーク・デバイスの内の少なくとも１つがホスト・プロセッサであることを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記記憶システムにログインしているネットワーク・デバイスの内の少なくとも１つがホスト／ホスト・バス・アダプタ（ＨＢＡ）であることを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報をエクスポートする動作が、前記複数のネットワーク・デバイスの内の少なくとも１つから受け取られた質問要求に応答して実行されることを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている複数のネットワーク・デバイスの各々が当該記憶システムにログインした時刻を示す複数のタイムスタンプを含むことを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている前記複数のネットワーク・デバイスの内の少なくとも１つに対応するエイリアスを含むことを特徴とする方法。
【請求項７】
請求項１記載の方法において、
前記記憶システムが、前記複数のネットワーク・デバイスの内の少なくとも１つから、前記記憶システムに記憶される少なくとも１つの記憶ボリュームに対するアクセス権を変更する要求を受け取るステップ、を更に含むことを特徴する方法。
【請求項８】
複数のネットワーク・デバイスと記憶システムとを含むコンピュータ・システムで実行されたとき、前記複数のネットワーク・デバイスによる前記記憶システムへのアクセスを管理する方法を遂行させる命令で符号化された少なくとも１つのコンピュータ可読媒体であって、前記記憶システムは該記憶システム上に記憶される記憶ボリュームを含んでおり、前記方法が、
前記記憶システムに、当該記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を維持するステップと、
前記複数のネットワーク・デバイスの内の少なくとも１つが前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を用いて該複数のネットワーク・デバイスの内の少なくとも１つ以外の１つ以上のネットワーク・デバイスからの前記記憶システム上の前記記憶ボリュームに対する利用可能性及びアクセスを制御し得るように、前記情報を前記記憶システムから前記複数のネットワーク・デバイスの内の少なくとも１つへエクスポートするステップと、
を含むことを特徴とする媒体。
【請求項９】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記複数のネットワーク・デバイスの内の少なくとも１つがホスト・プロセッサであることを特徴とする媒体。
【請求項１０】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記記憶システムにログインしているネットワーク・デバイスの内の少なくとも１つがホスト／ホスト・バス・アダプタ（ＨＢＡ）であることを特徴とする媒体。
【請求項１１】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報をエクスポートする動作が、前記複数のネットワーク・デバイスの内の少なくとも１つから受け取られた質問要求に応答して実行されることを特徴とする媒体。
【請求項１２】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている複数のネットワーク・デバイスの各々が当該記憶システムにログインした時刻を示す複数のタイムスタンプを含むことを特徴とする媒体。
【請求項１３】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている前記複数のネットワーク・デバイスの内の少なくとも１つに対応するエイリアスを含むことを特徴とする媒体。
【請求項１４】
請求項８記載の少なくとも１つのコンピュータ可読媒体において、前記方法が、
前記記憶システムが、前記複数のネットワーク・デバイスの内の少なくとも１つから、前記記憶システムに記憶される少なくとも１つの記憶ボリュームに対するアクセス権を変更する要求を受け取るステップ、を更に含むことを特徴する媒体。
【請求項１５】
通信ネットワークを介して複数のネットワーク・デバイスに接続されている記憶システムであって、
記憶ボリュームと、
前記通信ネットワークを介してデータを送るために前記通信ネットワークに接続されている出力と、
前記出力に接続されており、前記記憶システムに、当該記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を維持し、かつ前記出力を介して、前記複数のネットワーク・デバイスの内の少なくとも１つが前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報を用いて該複数のネットワーク・デバイスの内の少なくとも１つ以外の１つ以上のネットワーク・デバイスからの前記記憶システム上の前記記憶ボリュームに対する利用可能性及びアクセスを制御し得るように、前記情報を前記記憶システムから前記複数のネットワーク・デバイスの内の少なくとも１つへエクスポートする、少なくとも１つの制御装置と、
を含むことを特徴とする記憶システム。
【請求項１６】
請求項１５記載の記憶システムにおいて、前記複数のネットワーク・デバイスの内の少なくとも１つがホスト・プロセッサであることを特徴とする記憶システム。
【請求項１７】
請求項１５記載の記憶システムにおいて、前記記憶システムにログインしているネットワーク・デバイスの内の少なくとも１つがホスト／ホスト・バス・アダプタ（ＨＢＡ）であることを特徴とする記憶システム。
【請求項１８】
請求項１５記載の記憶システムにおいて、前記少なくとも１つの制御装置が、前記複数のネットワーク・デバイスの内の少なくとも１つから受け取られた質問要求に応答して、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報をエクスポートすることを特徴とする記憶システム。
【請求項１９】
請求項１５記載の記憶システムにおいて、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている複数のネットワーク・デバイスの各々が当該記憶システムにログインした時刻を示す複数のタイムスタンプを含むことを特徴とする記憶システム。
【請求項２０】
請求項１５記載の記憶システムにおいて、前記記憶システムへログインしている複数のネットワーク・デバイスの各々を識別する情報が、前記記憶システムへログインしている前記複数のネットワーク・デバイスの内の少なくとも１つに対応するエイリアスを含むことを特徴とする記憶システム。
【請求項２１】
請求項１５記載の記憶システムにおいて、前記少なくとも１つの制御装置が、前記複数のネットワーク・デバイスの内の少なくとも１つから、前記記憶システムに記憶される少なくとも１つの記憶ボリュームに対するアクセス権を変更する要求を受け取ることを特徴する記憶システム。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、一般的に、情報記憶システムの分野に関し、更に特定すれば、記憶システムにおける記憶管理方法および装置に関する。
（関連技術の説明）
コンピュータ・システムは、一般に、１つ以上のホスト・プロセッサ、およびホスト・プロセッサがアクセスするデータを格納する記憶システムを含む。記憶システムは、１つ以上の記憶装置（例えば、ディスク・ドライブ）を含み、ホスト・プロセッサの格納要求に応ずる。ディスク・ドライブは、磁気記録媒体または光記録媒体のような、１つ以上の記録媒体のディスクを含むことがある。
【０００２】
典型的なコンピュータ・システムの構成では、バスがホスト・コンピュータおよび記憶システム間の相互接続を行う。バスは、小型コンポーネント・システム相互接続（ＳＣＳＩ）プロトコルのようなプロトコルにしたがって動作する。このプロトコルは、ホスト・プロセッサおよび記憶システム間で転送されるパケットのフォーマットを指定する。ホスト・プロセッサがデータを必要とすると、要求および応答がバスを通じて記憶システムに送られ、そして記憶システムから返送される。
【０００３】
ネットワーク化コンピュータ・システムの成長に伴って、多数のホストがネットワークを通じて共有データ記憶システムに結合されるようになった。ファイバ・チャネルは、かかる構成を形成するために使用可能なネットワークの一例である。ファイバ・チャネルは、多数のイニシエータがネットワークを通じて多数のターゲットと通信することを可能にするネットワーク規格であり、イニシエータおよびターゲットは、ネットワークに結合されるデバイスであればそのいずれとすることもできる。ネットワークを用いると、多数のホストが単一の記憶システムへのアクセスを共有することができる。多数のホストを共有記憶システムに結合することに伴う問題の１つは、記憶システムにおけるデータ・アクセスの管理である。多数のホストが共通の記憶システムにアクセスすることができるので、各ホストは、他のホスト・プロセッサ固有の情報に物理的にアクセスできる場合もある。
【０００４】
記憶システムにおけるデータへのアクセスを管理するために、種々の技法が実施されている。例えば、記憶システムにおけるある部分即ちメモリ・ゾーンを、１つ以上のホストに専用とすることもできる。各ホストは、それが特権を有するメモリ部分のみにアクセスすることを「信任」されている。しかしながら、このような手法は、ホスト各々の個々のアクションに影響されやすい。その結果、このようなデータ管理方法は、非特権アクセスからデータを十分に保護できない場合もある。
（発明の概要）
本発明の一態様によれば、記憶システムに結合されている少なくとも２つのデバイスによる記憶システムへのアクセスを管理するデータ管理方法は、記憶システムにおいて、少なくとも２つのデバイスの１つからの、当該記憶システムに格納されているデータの一部分に対するアクセスの要求に対して、少なくとも２つのデバイスの１つが当該データ部分にアクセスすることを許可されていることを示すコンフィギュレーション・データに応答して、選択的に応対するステップを含む。
【０００５】
本発明の別の態様によれば、コンピュータ読み取り可能媒体は、記憶システムにおけるデータのボリュームへの、複数のデバイスによるアクセスを管理する第１データ構造を含み、第１データ構造は、複数のデバイスに対応する複数のレコードから成り、この複数のレコードの各レコードは、複数のデバイスの１つに対応し、記憶システムのボリュームのどれに、複数のデバイスの１つがアクセスすることを許可されたかを識別するコンフィギュレーション情報を含む。
【０００６】
本発明の別の態様によれば、記憶システムは、複数のボリュームに分割された少なくとも１つの記憶装置と、記憶システムに結合されている複数のデバイスのどれが複数のボリュームの各々にアクセスすることを許可されているか識別するコンフィギュレーション・データを格納するコンフィギュレーション・テーブルと、コンフィギュレーション・データに応答して、複数のデバイスから受信した複数のボリュームへのアクセス要求を、少なくとも１つの記憶装置に選択的に送出するフィルタとを含む。
【０００７】
本発明の別の態様によれば、コンピュータ読み取り可能媒体を提供する。コンピュータ読み取り可能媒体には、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサを含むコンピュータ・システム上で実行するためのプログラムがエンコードされている。プログラムは、コンピュータ・システム上で実行すると、記憶システムにログ・インした複数のホスト・プロセッサの各々の第１表現を表示するステップを含む方法を実行するプログラムを含む。
【０００８】
本発明の別の態様によれば、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサを有するコンピュータ・システムにおいて用いる方法を提供する。この方法は、コンピュータ・システムのディスプレイ上に、ネットワークを通じて記憶システムにログ・インした複数のホスト・プロセッサの各々の第１表現を表示するステップを含む。
【０００９】
本発明の別の態様によれば、コンピュータ読み取り可能媒体を提供する。コンピュータ読み取り可能媒体には、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサを含むコンピュータ上で実行すると、記憶システム上に記憶されているデータの一部のグラフィック表現を表示するステップと、記憶システム上に格納されているデータの一部に対するアクセス特権を表示するステップと、データの一部のグラフィック表現のグラフィック選択に応答して、複数のホスト・プロセッサの１つによる、データの一部に対するアクセス特権を変更するステップとを実行するプログラムがエンコードされている。
【００１０】
本発明の別の態様によれば、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサから、記憶システム上に格納されているデータへのアクセスを管理する方法を提供する。この方法は、記憶システム上に格納されているデータの一部のグラフィック表現を表示するステップと、データの一部に対するアクセス特権を表示するステップと、データの一部のグラフィック表現のグラフィック選択に応答して、複数のホスト・プロセッサの１つによる、データの一部に対するアクセス特権を変更するステップとを含む。
【００１１】
本発明の更に別の態様によれば、コンピュータ読み取り可能媒体を提供する。このコンピュータ読み取り可能媒体には、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサを含むコンピュータ・システム上で実行すると、複数のプロセッサの１つのグラフィック表現を表示するステップと、記憶システム上に格納されているデータの一部に対するアクセス特権を表示するステップと、複数のホスト・プロセッサの１つのグラフィック表現のグラフィック選択に応答して、複数のホスト・プロセッサの１つによる、データの一部に対するアクセス特権を変更するステップとを含む方法を実行するプログラムがエンコードされている。
【００１２】
本発明の別の態様によれば、ネットワークを通じて記憶システムに結合されている複数のホスト・プロセッサからの、記憶システム上に格納されているデータへのアクセスを管理する方法を提供する。この方法は、複数のホスト・プロセッサの１つのグラフィック表現を表示するステップと、記憶システム上に格納されているデータの一部に対するアクセス特権を表示するステップと、複数のホスト・プロセッサの１つのグラフィック表現のグラフィック選択に応答して、複数のホスト・プロセッサの１つによる、データの一部に対するアクセス特権を変更するステップを含む。
【００１３】
本発明の更に別の態様によれば、記憶システム上に格納されているデータへの、複数のネットワーク・デバイスによるアクセスを管理するデータ構造を含むコンピュータ読み取り可能媒体を提供する。データ構造は、記憶システムにログ・インした複数のネットワーク・デバイスの各１つを識別する少なくとも１つのレコードを含む。
【００１４】
本発明の別の態様によれば、記憶システムを提供する。この記憶システムは、少なくとも１つの記憶装置と、少なくとも１つの記憶装置に結合されているメモリと、少なくとも１つの記憶装置およびメモリに結合されている少なくとも１つのプロセッサとを含む。少なくとも１つのプロセッサは、記憶システムにログ・インした複数のネットワーク・デバイスの少なくとも１つを識別する少なくとも１つのレコードを、メモリに格納する。
【００１５】
本発明の更に別の態様によれば、第１ネットワーク・デバイスに、当該第１ネットワーク・デバイスのアイデンティティを判定することを可能にする方法を提供する。ネットワークを通じて、第１ネットワーク・デバイスを第２ネットワーク・デバイスに結合する。この方法は、第１ネットワーク・デバイスから第２ネットワーク・デバイスにネットワークを通じて通信を送るステップと、第２デバイスに、第１通信を受信した起源（origin）を、第１ネットワーク・デバイスに識別するように要求するステップとを含む。
【００１６】
本発明の更に別の態様によれば、コンピュータ読み取り可能媒体を提供する。コンピュータ読み取り可能媒体には、ネットワークを通じて第２ネットワーク・デバイスに結合されている第１ネットワーク・デバイス上で実行すると、第１ネットワーク・デバイスから第２ネットワーク・デバイスにネットワークを通じて通信を送るステップと、第２ネットワーク・デバイスに、第１通信を受信した起源を、第１ネットワーク・デバイスに識別するように要求するステップとを含むプログラムがエンコードされている。
（詳細な実施形態の説明）
本発明は、共有リソース（例えば、共有記憶システム）におけるデータへの多数のデバイス（例えば、ホスト・プロセッサ、ファイル・サーバなど）によるアクセスを管理するためのデータ管理方法および装置を対象とする。一実施形態によれば、共有リソースは、当該リソースにおけるデータ部分の各々に関連するコンフィギュレーション・データに応答して、共有リソースにおけるデータ部分に対する、デバイスからの要求に選択的に応対する。
【００１７】
一実施形態では、共有リソースにおけるデータはボリュームに分割されている。コンフィギュレーション・データは、どのボリュームのデータが、（例えば、ネットワークを通じて）リソースに結合されているデバイスの各々によってアクセスすることができるか識別する。共有リソースは、要求を発行したデバイスのアイデンティティ、およびアクセスしようとするボリュームに関連するコンフィギュレーション・データに応じて、選択的にサービス要求を送出するフィルタを含む。フィルタは、デバイスがアクセスする特権を有するボリュームに対する要求のみを送出する。デバイスが特権を有していないボリュームに対する要求には応対しない。
【００１８】
リソースにおいて要求にフィルタをかけることによって、ネットワーク全域に分散するのではなく、データ管理の制御を１カ所に集中させることができる。記憶システムにおけるデータ管理制御の集中によって、記憶システムにアクセスしようとするホストに、データのある部分にアクセスすることのみを信任する必要性を排除する。
【００１９】
本発明の一実施形態では、要求にフィルタをかけてリソースにおけるデータ管理に対応することに加え、セキュリティ保護も追加して、リソースにおけるデータを更に防護することもできる。フィルタリングは、要求を開始したデバイスのアイデンティティに応答して実行されるので、デバイスがそのアイデンティティを偽って表示しリソースに対するアクセスを得た場合、データ・セキュリティが損なわれる可能性がある。加えて、デバイスおよびリソース間のデータ転送は、（例えば、ネットワークを通じて）リソースに結合されている他のデバイスによって改変される可能性もある。一実施形態では、認証方法および装置を設けて、要求を発行したデバイスとして表示されたデバイスが、本当に要求を発行したデバイスであるか検証を行う。したがって、認証方法を実施すれば、デバイスがそのアイデンティティを偽って表示してリソースにおけるデータを取得することに伴うセキュリティの問題を克服することができる。別の実施形態では、デバイスおよび共有リソース間で転送される情報が、移動の間に改変（無意識にまたは故意に）されないことを保証するために、有効性判断方法および装置を提供する。
【００２０】
リソースにおいてデータを管理するデータ管理システムは、これらのフィルタリング、認証および有効性判断技法のいずれか、または全てを用いることもできる。本発明のデータ管理方法および装置を採用可能なシステムの一例は、ネットワーク・コンピュータ・システムであり、デバイスはネットワークに結合されているホスト・プロセッサまたはファイル・サーバであり、共有リソースは記憶システム（例えば、ディスク・デバイス記憶システム）である。尚、ネットワーク、ホスト・プロセッサ、または共有ディスク・デバイスの使用は、本発明の限定ではなく、このようなシステム・コンフィギュレーションは、例示のみを目的として以下で説明することは認められよう。
【００２１】
一実施形態では、ネットワークを用いて１つ以上のホストを１つ以上の記憶システムに結合することができ、要求および応答は、ネットワークのプロトコルにしたがって、ネットワーク上で記憶システムに送出され、さらに記憶システムから送出される。加えて、各ホストおよび記憶システムは、ホスト又は記憶システムを対応する１つ以上のネットワークにインターフェースする１つ以上のポートを含むこともできる。前述のように、一実施形態では、ネットワーク内の各記憶システムは、受信した要求にフィルタをかけ、記憶システムへのデータ・アクセスを管理するロジックを含む。
【００２２】
本発明を採用可能なネットワークの一例は、ファイバ・チャネル・ネットワークであるが、本発明は、ファイバ・チャネル・ネットワーク、あるいは他のいずれの特定のネットワーク・コンフィギュレーションの使用にも限定される訳ではない。３つのファイバ・チャネル・ネットワーク・コンフィギュレーションの例を図１Ａ、図１Ｂおよび図１Ｃに示す。図１Ａは、ループ・コンフィギュレーションに構成したネットワーク１０を示し、ネットワーク内の全てのデバイスが単一ループで互いに結合されている。図１Ａにおいて、３つのホスト・プロセッサ１２、１４および１６がハブ１８ａによって記憶システム２０に結合されていることが示されている。内部では、ハブはループ・コンフィギュレーションで構成されている。バス１５ａ〜１５ｄを通じたデバイス間の通信は、ループにおける１つのデバイスから次のデバイスにデータ・パケットを受け渡すことによって行われる。図１Ｂは、ファブリック・コンフィギュレーション（ｆａｂｒｉｃ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）に構成したネットワーク３０を示し、全てのデバイスはスイッチ１８ｂによって互いに結合されている。ネットワーク３０におけるデバイス１２、１４、１６および２０の対間の通信は、スイッチ１８ｂによって制御される。本発明のデータ管理方法は、図１Ａおよび図１Ｂに示すループ・コンフィギュレーションまたはファブリック・コンフィギュレーションに構成したネットワーク、あるいは他のネットワークまたはリソース共有コンフィギュレーションにおいても採用可能である。例えば、データ管理の態様は、図１Ｃに示すネットワークでも採用可能である。図１Ｃでは、ホスト／記憶システム・コンフィギュレーションが示されており、ここでは記憶システムが２つのポートを含み、その各々が記憶システムを異なるネットワークにインターフェースする。図１Ｃでは、第１ポート（ポート０）がファブリック・ネットワーク３０に結合され、第２ポート（ポート１）がループ・ネットワーク１０に結合されている。
【００２３】
前述のように、本発明のデータ管理の態様は、記憶システムに結合されているホスト・デバイスのアイデンティティにしたがって、記憶システム２０においてデータのボリュームを構成する。異なるホストに対するボリュームの割り当てを管理するために用いられるコンフィギュレーション・データは、例えば、ネットワークのシステム・アドミニストレータによって供給することができる。システム・アドミニストレータは、ネットワークに結合されているホスト・デバイス、および記憶システムにおいて使用可能なボリュームを追跡する。新たなホスト・デバイスがネットワークに加入すると、システム・アドミニストレータはこのホストに記憶システムのボリュームを割り当てる。ホストに割り当てられるボリューム数は、要求されたボリューム数に基づけばよいが、あるいは当該ホストのデータ要求履歴に基づいてもよい。システム・アドミニストレータは、ネットワーク内のデバイスまたは記憶システムの１つにおいて実行するソフトウエアとして実現することができ、グラフィカル・ユーザ・インターフェースを含んで、ユーザがネットワークにおける異なるホストに対するボリュームの利用可能性および割り当てを監視することができるようにするとよい。本発明は、システム・アドミニストレータのいずれの特定の実施態様にも限定される訳ではない。
【００２４】
一般に、各デバイスがネットワークに加入する際、ネットワークに問い合わせて当該ネットワークに結合されている他のデバイスを識別する。クエリに応答する各デバイスは、当該デバイスの１つ以上の識別子を返送する。例えば、識別子は、命名規則を用いてアダプタ・ボードの製造業者がデバイスに割り当てた万国共通の名称（ＷＷＮ：world wide name）を含むことができる。また、識別子はソース識別子（ＩＤ）を含むこともできる。双方共デバイスに対する一意の識別子であるが、ソース識別子は一般にＷＷＮよりも短い識別子である。ソース識別子は、デバイス（例えば、ホスト・プロセッサ）およびネットワークに結合されているデバイスのポートを識別することができる。したがって、特定のデバイスの多数のポートがネットワークに結合されている場合、識別子をポート毎に返送すればよい。クエリ動作が完了すると、デバイスの各々は、ネットワークに結合されている別のデバイスの知識を把握している。一旦各デバイスがネットワーク内の別のデバイスの知識を把握すると、この情報を用いてデバイス間でデータを交換することが可能となる。
【００２５】
記憶システム２０への要求および記憶システム２０からの応答は、ネットワーク・プロトコルにしたがってネットワーク１０および３０を通じて送出される。ファイバ・チャネル相互接続は、多数のインターフェース・コマンド・セットを搬送することができる。したがって、ファイバ・チャネル・ネットワークを用いて互いに結合されているデバイスは、インターネット・プロトコル（ＩＰ）、小型コンポーネント・システム相互接続（ＳＣＳＩ）プロトコル、または多数のその他のプロトコルのいずれをも含む、多数の上位プロトコルのいずれを用いても通信することができるが、インターフェースするデバイスは、特定のファイバ・チャネル相互接続上で用いられているプロトコルの形式についての知識を把握していることが条件となる。ある種のデバイスは、以前からある種のプロトコルを用いて通信するように設計されている場合がある。例えば、ホスト・プロセッサ・デバイスは以前よりＳＣＳＩプロトコルを用いて記憶システムと通信を行っている。したがって、ファイバ・チャネル・ネットワークを用いて結合されているデバイスは、以前から用いられている同じプロトコルを用いて、互いに通信することができる。その結果、デバイスの既存のインターフェースがファイバ・チャネル・ネットワークに結合するための設計変更は、殆ど必要ない。
【００２６】
ファイバ・チャネル・ネットワーク上で伝搬することができるパケットに、あらゆる種類のプロトコルのパケットを変換するために、トンネリング技法が通例用いられる。トンネリングを用いて、第１プロトコルにしたがってフォーマットされているあるパケットを、ファイバ・チャネル・ネットワーク・プロトコルにしたがってフォーマットされている第２パケット内に包囲する。このように、ＳＣＳＩパケットは、ホスト・プロセッサまたは記憶システムによって、ファイバ・チャネル・パケット内に包囲され、ファイバ・チャネル・ネットワーク上を送信することができる。ＳＣＳＩプロトコルにしたがってフォーマットされ、ファイバ・チャネル・パケット内に包囲されたパケットの一例を図２に示す。
【００２７】
図２では、ファイバ・チャネル・パケット５０は、ヘッダ部５５およびペイロード部１６０を含む。ヘッダ部５５は、ソースＩＤフィールド５２、宛先ＩＤフィールド５３、および長さフィールド５４を含む。ソースＩＤフィールド５２は、パケット５０の送信を開始したネットワーク内のデバイスを識別する。宛先ＩＤフィールド５３は、ネットワーク内においてパケットを受信するターゲット・デバイスを識別する。長さフィールド５４は、パケット内のバイト数を識別する。加えて、ファイバ・チャネル仕様において規定されている他のフィールドもヘッダに含ませることができるが、これらのフィールドは、明確化の目的のためにここでは省略する。
【００２８】
ソースＩＤフィールド５２および宛先ＩＤフィールド５３は、図１Ｃのシステム例では、特定のホスト・プロセッサおよび記憶システムを識別するために用いられている。ホストが要求パケットを記憶システムに発行すると、ソースＩＤはホストを識別し、宛先ＩＤは記憶システムを識別する。本発明の一実施形態によれば、記憶システムは、データのどのボリュームにそれぞれのホストがアクセスする特権を有するのかを識別するコンフィギュレーション・データにインデックスするために、パケットのソースＩＤフィールド５２を用いる。
【００２９】
前述のように、記憶システム２０にアクセスするホストのソースＩＤフィールドは、要求を発行したホストを識別し、記憶システムにおけるこのホストのコンフィギュレーション・データにインデックスするために用いることができる。コンフィギュレーション・データは、当該ホストによってアクセス可能な記憶システムの部分を識別する。したがって、コンフィギュレーション・データは、記憶システムにおいてフィルタ・ロジックがホストの要求に選択的に応対するために用いることができる。ホスト識別子に基づいて要求にフィルタをかける方法および装置を実現するために用いることができるホストおよび記憶システムのコンポーネント例を、これより図３ないし図５に関して説明する。
【００３０】
前述のように、本発明の一実施形態では、記憶システムは、受信した要求に応対すべきか否か、コンフィギュレーション・データに基づいて決定する。コンフィギュレーション・データのコピーを記憶システムのメモリに格納してもよい。周期的に、ホストがネットワークに加入したり、離脱するに連れて、システム・アドミニストレータによってコンフィギュレーション・データを更新するとよい。また、記憶システムは、ネットワーク、およびコンフィギュレーション・データを格納するメモリに結合されているフィルタリング・ロジックを通じて通信し、ネットワークから受信した要求に応対すべきか否か判定を行うロジックを含むこともできる。前述のデータ管理システムは、種々の方法で実現することができ、本発明はいずれの特定の実施態様にも限定されない。しかしながら、明確化の目的のために、このデータ管理機能性を備えたホスト・プロセッサおよび記憶システムの一実施形態を図３に示す。
【００３１】
図３は、ネットワーク２１を用いて記憶システム２０に結合されているホスト・プロセッサ１２を示す。ネットワーク２１は、例えば、図１Ａないし図１Ｃに示したコンフィギュレーションのいずれかに構成されているファイバ・チャネル・ネットワークとすることができる。ホスト・プロセッサ１２は、ローカル・バス４３によってメモリ４３に結合されている、ＣＰＵ４０のような、１つ以上の中央演算装置を含む、マルチ演算装置とすることができる。バス４３およびネットワーク２１間に１つ以上のホスト・バス・アダプタ（ＨＢＡ）４５および４５ａが結合されている。
【００３２】
各ホスト・バス・アダプタ（ＨＢＡ）４５および４５ａは、ホスト・プロセッサ１２をネットワークに接続するように動作する。ＨＢＡ４５および４５ａは、ＣＰＵ４０から受信したデータを、ネットワークのプロトコルが指定するフォーマットに変換する。加えて、ＨＢＡ４５および４５ａは、ネットワークからパケット・フォーマットで受信したデータを、ＣＰＵ４０による使用が可能なフォーマットに変換する。
【００３３】
ホスト・バス・アダプタは、ＨＢＡ上に常駐するハードウエア、およびＨＢＡまたはメモリ４２に格納されているドライバ・ソフトウエアの組み合わせを用いて実現することができる。あるいは、ホスト・バス・アダプタは、完全にハードウエアまたは完全にソフトウエアで実現することも可能である。一実施形態では、ＨＢＡ４５は、メモリ４９に結合されているプロセッサ４１を含む。プロセッサ４１は、ＨＢＡ４５へのデータの流れおよびＨＢＡ４５からのデータの流れ、ならびにデータのフォーマットを制御する。メモリ４９は、データがネットワークへ転送される際、およびデータがネットワークから転送される際、それを一時的に記憶するために用いられる。ＨＢＡは、ネットワーク２１上で送信するパケットを発生する。各パケットは、特定のＨＢＡを識別するソースＩＤフィールドを含む。各ホストには多数のＨＢＡが含まれている場合もあるので、多数のソースＩＤが同じホストに関連付けられていることもある。尚、本発明は、図３に示すホスト・バス・アダプタの特定的な実施態様に限定される訳ではなく、他の実施態様も代わりに使用可能であることは認められよう。
【００３４】
記憶システム２０は、１つ以上のディスク・デバイスを含むことができる、記憶装置３８ａ〜３８ｄを含む。記憶装置３８ａ〜３８ｄへのアクセスは、ディスク・アダプタ３６ａ〜３６ｄの使用によって制御する。ディスク・アダプタ３６ａ〜３６ｄは、プログラムされたプロセッサまたはカスタム・ハードウエア設計を用いて実現することができる。図３に示す実施形態では、ディスク・アダプタは各記憶装置３８ａ〜３８ｄに設けられているが、代わりに、１つのディスク・アダプタを１つよりも多い記憶装置に結合してもよい。加えて、１つ以上のディスク・アダプタ３６ａ〜３６ｄが、別のディスク・アダプタ３６ａ〜３６ｄの記憶装置３８ａ〜３８ｄへの二次接続部を含み、一方のディスク・アダプタの故障の際に、第２ディスク・アダプタにその機能を移すことによって、復元できるようにすることも可能である。
【００３５】
記憶装置３８ａ〜３８ｄはボリューム・セット単位に分割されている。１つ以上のボリューム・セットが、１つ以上のＨＢＡ４５、４５ａまたはホスト・プロセッサ１２に使用可能とすることができる。一実施形態では、ＨＢＡによる記憶装置３８ａ〜３８ｄにおけるボリュームの参照は、論理ユニット番号（ＬＵＮ）を用いて行っている。ホスト・プロセッサ１２によって与えられる論理ユニット番号とディスク装置の物理的アドレスとの間には、１対１の対応は必要ない。
【００３６】
コンフィギュレーション・データベース３２（図３）は、ＨＢＡのどれがどのボリュームにアクセスすることができるかに関する情報を格納する。先に論じたように、一実施形態では、コンフィギュレーション・データベース内の情報は、システム・アドミニストレータから受信し、ネットワークのコンフィギュレーションが変化するに連れて、周期的に更新する。
【００３７】
コンフィギュレーション・データベース３２内に格納可能なデータ・タイプの一例には、履歴テーブル６９が含まれる。履歴テーブル６９は、ブロック単位に分割されており、記憶システムの各ポートに対して１つのブロックが割り当てられている。履歴テーブル６９内の各ブロックは、ネットワークに加入して以来当該ポートに問い合わせしたホストのリストを含む。履歴テーブル６９内に格納されている各ホストの識別情報は、ホストのＷＷＮ、およびホストのソースＩＤを含むことができる。この識別情報は、ホストが記憶システム２０にログ・インするときに、ホストの識別子を、ホストのコンフィギュレーション・データと照合するために用いることができる。また、履歴テーブル６９に格納されている識別情報は、ホストのエリアスのような、付加情報も含むことができる。これについては、図１３および図１４に関して以下で説明する。
【００３８】
また、コンフィギュレーション・データベース３２は、ＨＢＡを記憶システム２０において使用可能なポートにマップするヘッダ部７０も含むことができる。ボリューム割り当て部７２を設けて記憶システム２０におけるデータの論理ボリュームを異なるＨＢＡに割り当てることもできる。マッピング部７４は、ＬＵＮをディスクの物理アドレスにマップするために設けられている。加えて、フィルタ・テーブル７６が、どのＨＢＡがＬＵＮのどれにアクセスすることができるかを制御するために設けられている。フィルタ・テーブル７６を生成するには、ボリューム割り当て、およびマッピング情報を用い、フィルタ・テーブル７６は、記憶システムのポートのいずれかに結合されているＨＢＡ毎にレコードを含む。フィルタ・テーブル７６の実施態様の一例を図４に提示する。各レコード７６ａ〜７６ｎは、ＨＢＡに関連するＷＷＮ、このエントリにおいて割り当てられているボリュームが共有されているか否かを示すフラグ、および論理ボリュームのどれにＨＢＡがアクセスすることができるかを特定するＬＵＮマップを含む。一実施形態では、ＬＵＭマップは、ビットマスクの形態を取り、１ビットが記憶システムにおける各ＬＵＮに割り当てられる。一実施形態では、ビットマスクにおける１ビットがセットされると、ＷＷＮによって示される関連のＨＢＡが対応するＬＵＮにアクセスできることを示すが、代わりに、アクセスを示すためにビットをクリアしてもよい。加えて、使用可能なＬＵＮを別の方法で示す代替実施形態も使用可能である。
【００３９】
記憶システム２０（図３）は、フィルタおよびアダプタ・ユニット３４も含む。フィルタおよびアダプタ・ユニット３４は、ネットワークから受信したパケットをデータ・ブロックに変換し、ディスク・アダプタ３６ａ〜３６ｄへの送出を制御する。加えて、フィルタおよびアダプタ・ユニット３４は、フィルタリング機能を実行し、特権を有するＨＢＡのみがボリュームにアクセスできることを保証する。このように、ＨＢＡが割り当てられたボリュームのみにアクセスすることを信任するのではなく、フィルタおよびアダプタ・ユニット３４は、非特権要求を排除することによってディスクへのアクセスを制御する。
【００４０】
一実施形態では、フィルタおよびアダプタ・ユニット３４は、メモリ８３に結合されているプロセッサ８０を含む。プロセッサは、記憶システム２０およびネットワーク２１間のデータ送信、およびデータ変換を制御するために用いられる。メモリ８３は、遷移フィルタ・テーブルを格納するために用いられる。遷移フィルタ・テーブル８４は、多数のテーブルに分割されており、記憶システムの各ポートに１つのテーブルが割り当てられている。ＨＢＡがそのポートの１つを介して記憶システムとの接続を開始する毎に、フィルタリング情報が、コンフィギュレーション・データベース３２内のフィルタ・テーブル７６から、遷移フィルタ・テーブル８４内の適切なエントリにコピーされる。フィルタリング情報は、ポートにログ・インしたＨＢＡのソースＩＤ、このエントリに関連するボリュームが共有されているか否かを示すフラグ、ポートにログ・インしたＨＢＡのＬＵＮマップを含むことができ、ＬＵＮマップはコンフィギュレーション・データベース内のフィルタ・テーブル７６からコピーされたものである。
【００４１】
一実施形態では、遷移フィルタ・テーブル８４内のコンフィギュレーション・データは、要求毎にアクセスされる。要求のアドレスは、バス／ターゲット／ＬＵＮフォーマットで与えられ、バス部は記憶システム２０のファイバ・チャネル・ネットワーク・アドレスを示し、ターゲット部は記憶システムのポート・アドレスを示し、ＬＵＮは要求のボリューム・アドレスを表す。アドレスは、ＨＢＡに関連するＬＵＮマップを含む遷移フィルタ・テーブル８４内のエントリと比較される。アドレスされたＬＵＮに関連するＬＵＮマップ内のビットが、ＨＢＡがＬＵＮにアクセスできることを示す場合、要求をディスク・アダプタ３６ａ〜３６ｄに送出し、応対する。そうでない場合、要求を無視する。
【００４２】
遷移フィルタ・テーブル８４のサイズは、記憶システムに設けられているポート数、各ポートにおいて対応するＨＢＡ数、および記憶システムにおけるＬＵＮの数に関係する。記憶システム２０のコンフィギュレーションの一例では、４０９６個のＬＵＮにアクセスするために１６個のポートを含むことができ、各ポートは３２個の異なるＨＢＡによるアクセスに対応することができる。このように、遷移フィルタ・テーブル８４が大きい場合、単一の大きなメモリに格納すると、各Ｉ／Ｏ要求に対するアクセス時間が長くなる可能性がある。
【００４３】
一実施形態では、記憶システム２０の応答時間性能を高めるために、遷移フィルタ・テーブル８４は、ＨＢＡ毎のアクセス情報の素早い読み出しを可能にするような構成とする。ここで図５を参照して、遷移フィルタ・テーブルのコンフィギュレーションの一例を示す。遷移テーブル８４は、レコード４００のようなレコードのアレイを含むものとして、示されている。レコードの１つの列が、記憶システム（例えば、図３の記憶システム２０）におけるＬＵＮ毎に設けられており、これらは図５ではＬＵＮ０ないしＬＵＮｘと付番されている。ここで、ｘ＋１は、記憶システムにおけるＬＵＮの数である。記憶システムにおけるポート毎に、レコードの１行が設けられている。各レコードは、ビットマップ４０２を含む。ビットマップは、各ポートをアクセスすることができるデバイス（ＨＢＡ）の最大数に対応するビット数を含む。図５では、これらのビットをＤ１、Ｄ２、．．．、Ｄｎとして示しており、ｎはいずれかのポートに結合可能なデバイスの最大数である。
【００４４】
動作中、記憶システム２０によってＩ／Ｏ要求が受信されると、Ｉ／Ｏ要求のアドレスが、遷移フィルタ・テーブル８４のデータと比較される。アドレスは、要求を発したＨＢＡの識別子、そしてホストがアクセスしたい記憶システム部分のアドレスを含む。このアドレスは、一般に、バス／ターゲット／ＬＵＮフィールドの組み合わせを含む。バス・フィールドは、ネットワーク上の記憶システム２０の基底アドレスであり、ターゲットは、要求を発信する記憶システムのポートのソースＩＤであり、一方ＬＵＮは、要求によってアドレスされる論理ユニットを示す。ターゲット情報（行）およびＬＵＮ（列）を用いて遷移フィルタ・テーブル内にインデックスし、レコードの１つを取得する。次に、要求元デバイス（例えば、図３におけるＨＢＡ４５）に対するソースＩＤを用いて、バス／ターゲット／ＬＵＮアドレスによって選択されたレコード４００のビットマップ４０２におけるビットの１つを選択し、このビットがマッピングにおいてセットされているか否か識別する。ビットがマッピングにおいてセットされている場合、要求をディスクに送出して応対する。セットされていない場合、要求を欠落させる。
【００４５】
遷移フィルタ・テーブル８４は、図３に示すように、メモリに格納することができ、あるいは代わりにハードウエアで実現することもできる。前述の遷移データベースのコンフィギュレーションは、ＨＢＡおよびＬＵＮマッピング情報にアクセスする一方法を提供するが、別のコンフィギュレーションを使用することもできる。本発明は、この実施態様に限定される訳ではない。むしろ、ソース識別子およびリソース・アドレスを用いてデータベースからマッピング・データの取得を可能にするあらゆるコンフィギュレーション・データベース構成を用いることができる。
【００４６】
以上のように、ホスト識別子に基づいてホスト・プロセッサのデータ・ボリュームを予約するデータ管理システムについて説明した。一実施形態では、データ管理システムを増強し、各要求を認証して、記憶システム２０において受信したホスト識別子が示すホストが本当にそれを送ったことを検証することによって、セキュリティ保護を付け加える。記憶システム２０への接続の認証によって、データ・ボリュームを要求しているホストが本当に要求パケットのソースＩＤにおいて示されているホストであることを検証することによって、ホスト・プロセッサの各々に割り当てられているデータを防護する。単にホスト・プロセッサのソース識別子に頼るだけでは、十分な保護対策とはならないこともある。安全でない環境によっては、プロセッサが、別のホストの特権データをアクセスしようとして、偽りのソース識別子を発行する場合もある。したがって、認証によって、ホスト・プロセッサがそれを要求したものであり、したがってデータに対するアクセスを許可すべきことを検証する。
【００４７】
一実施形態では、ホスト要求の認証に対応するために、記憶システムは、ホスト・デバイスによるトランザクション開始に先だって、多数の一意の予測識別子を各ホスト・デバイスの各ＨＢＡに発行する。記憶システムは、この予測識別子のコピーを保持する。ホスト・デバイスに関連するＨＢＡが一連のトランザクションを開始するとき、記憶システムから受信した予測識別子を記憶システムに返送する。記憶システムは、受信した各識別子を予測識別子と比較する。記憶システムは、ホストに関連する特定のＨＢＡにのみ識別子を送出したので、正しい識別子が受信されれば、記憶システムは、実際に、示されたホストから要求が発行されたことを検証することができる。一実施形態では、セキュリティ保護レベルは、各識別子に乱数を用いることによって、更に強化される。別の実施形態では、ホストおよび記憶システムにしか知られていない暗号鍵を用いて識別子を暗号化し、その後記憶システムに送る。次いで、記憶システムは、暗号鍵を用いて識別子を解読することができる。識別子を暗号化することによって、ネットワークに結合されている他のデバイスが識別子を取得し特権データへのアクセスを獲得するのを防止する。このように、２段階レベルの認証を設ける。何故なら、各トランザクションは、発行元のホストだけが知っている一意の識別子を有し、この識別子は、当該ホストにおけるＨＢＡのみが知っている一意のアクセス鍵を用いて暗号化されているからである。
【００４８】
一実施形態では、パケットの選択されたフィールドを用いて、ネットワーク上のデバイス間（例えば、ホストおよび記憶システム２０）で識別子情報を転送する。再度図２のパケット例を参照すると、パケット５０のペイロード部１６０の中に、ＳＣＳＩプロトコルにしたがって通信するために用いられるフィールドの一部が示されている。これらのフィールドは、ソース・セッションＩＤ１６２、宛先セッションＩＤ１６４、およびデータ・フィールド６５を含む。ＳＣＳＩプロトコルによれば、ソース・セッションＩＤおよび宛先セッションＩＤは、発信元デバイスおよびターゲット間のトランザクションの順序を追跡するために用いられる。ＳＣＳＩプロトコルは、発信元デバイスおよびターゲット・デバイス間で多数のトランザクションが同時に未処理のままであることを許可する。例えば、ホスト・イニシエータは多数のＩ／Ｏ要求をターゲット記憶システム内の異なるボリュームに発行する場合がある。ボリューム各々のアクセス可能性に応じて、要求に対する応答がホストに返送される順序は、要求を発行した順序とは異なる場合もある。セッションＩＤは、要求をホストにおいて応答と整合させるために用いられる。各トランザクションに与えられるセッションＩＤは、所与の時間期間にわたって一意である限り、任意の数値とすることができる。セッションＩＤはいずれの任意の数値でもよいので、一実施形態では、セッションＩＤフィールドは、各トランザクションに対する一意の識別子情報を転送するために用いられる。
【００４９】
前述の認証方法は、種々の方法で実現することができ、本発明はいずれの特定的な実施態様にも限定されることはない。しかしながら、例示の目的上、前述の認証機能性を備えたコンポーネントを含むホスト・プロセッサ３１２および記憶システム３２０の一実施形態を図６に示す。図６では、ホスト・バス・アダプタ３４５は、そのメモリ３４９内にデータ構造６０を格納している。データ構造６０は、ＨＢＡに結合されている記憶システム３２０毎に、公開鍵６１、秘密鍵６２、アクセス鍵６３、および１つ以上の乱数のリスト６４を含む。鍵の各々は、当業者には公知の技法を用いてデータの暗号化および解読を行うために用いることができるビットのフィールドである。暗号化および解読を行うには、選択した暗号化アルゴリズムに関連する論理演算を用いて、鍵のビット値をデータのビット値に適用する。アクセス鍵は、ＨＢＡおよび関連する記憶システム間で転送される認証データの暗号化および解読専用の鍵である。一実施形態では、アクセス鍵６３の初期値は、公開鍵６１および秘密鍵６２をそれぞれ用いて取得する。これについては、以下で更に詳しく説明する。
【００５０】
認証に対応するために、記憶システム３２０はフィルタおよびアダプタ・ユニット３３４を含む。フィルタおよびアダプタ・ユニット３３４は、図３に関して説明した機構の各々、および認証に対応するための多数の別のコンポーネントも含むことができる。フィルタおよびアダプタ・ユニット３３４は、乱数発生器８２を含み、記憶システムに結合されているＨＢＡの各々に対する認証プロセスにおいて用いられる乱数を与えるために用いられる。乱数発生器８２には、暗号器／解読器８５および比較器８７が結合されている。遷移フィルタ・テーブル８４、認証テーブル８６、乱数発生器８２、暗号器／解読器８５、および比較器８７は、以下で更に詳しく説明する方法を用いて、記憶システム２０への接続を認証するために、一緒に用いられる。
【００５１】
前述のように、認証方法には、ホスト３１２および記憶システム３２０間のネットワーク２１を通じて識別子の転送を伴う。一実施形態では、識別子は、ホスト３１２および記憶システム３２０に格納されているアクセス鍵を用いて暗号化されるが、これは本発明の要件ではない。図７は、アクセス鍵をホスト３１２および記憶システム３２０に分配する一方法を示す。
【００５２】
アクセス鍵は多数の方法で与えることができ、ネットワークへのエントリに先だって、記憶システムおよびホスト・プロセッサにアクセス鍵を割り当てることが含まれる。あるいは、図７のデータ・フローに関して説明するように、ホスト・プロセッサがネットワークに加入した後に、アクセス鍵を取得してもよい。図７では、ＨＢＡ３４５（図６）によって行われる動作を図の左側に示し、記憶システム３２０によって行われる動作を図の右側に示し、データ・フローは２つの側の間で示す。ステップ１００において、ＨＢＡ３４５（図６）は、公開および秘密鍵対を生成する。これは、例えば、ＣＰＵ４０上で実行する公知の暗号化ソフトウエアを用いれば、行うことができる。公開および秘密鍵対は、ＨＢＡ専用であり、ネットワーク２１（図６）に結合されている他のいずれのデバイスもアクセスすることはできない。公開鍵６１によって暗号化されたデータは、秘密鍵６２を用いてでないと解読することはできず、一方秘密鍵６２によって暗号化されたデータは、公開鍵６１を用いてでないと解読することはできない。
【００５３】
ステップ１０２において、ＨＢＡ３４５は、公開鍵６１を記憶システム３２０に送出する。ステップ１０１において、記憶システム３２０は、ループして鍵を待っている。記憶システム３２０が公開鍵をステップ１０１で受信すると、ステップ１０３に進む。ステップ１０３において、公開鍵６１を用いて、記憶システム３２０は、ＨＢＡ３４５のアクセス鍵を暗号化し、この暗号化したアクセス鍵６７を、ネットワーク２１（図６）を通じてＨＢＡ３４５に送出し、終了する。ＨＢＡ３４５は、公開鍵によって暗号化されたあらゆるメッセージを解読するためには用いなければならない秘密鍵６２を有する、ネットワーク内で唯一のデバイスであるので、ネットワーク上でトランザクションを監視している他のデバイスは、記憶システム３２０によって送出された暗号化アクセス鍵６７を解読することができない。ステップ１０５において、ＨＢＡ３４５が暗号化アクセス鍵６７を受信したと判定した場合、ＨＢＡ３４５上で走っているプロセスは、ステップ１０６に進み、ＨＢＡ３４５は、秘密鍵６２を用いて、暗号化アクセス・キーをデコードする。加えて、ステップ１０６において、後に記憶システム３２０と通信するために、ＨＢＡは公開鍵６１および秘密鍵６２と共に、アクセス鍵をデータ構造６０に格納する。
【００５４】
一旦ホスト・プロセッサがアクセス鍵を受信したなら、Ｉ／Ｏ要求を記憶システム３２０に発行するプロセスを開始することができる。本発明の一実施形態にしたがって、ホスト・プロセッサがＩ／Ｏ要求を発行し、記憶システム３２０がＩ／Ｏ要求に応対するプロセスについて、これより図８ａ〜図８ｃおよび図９のフロー図に関して説明する。
【００５５】
図８ａ〜図８ｃでは、ＨＢＡ３４５および記憶システム３２０間に接続を確立するために用いることができる方法の一実施形態を示すフロー図を提示する。図８ａ〜図８ｃにおいて、ＨＢＡ３４５によって行われる動作を図の左側に示し、記憶システム３２０によって行われる動作を図の右側に示し、データのフローをその間に示す。ステップ１１０において、ＨＢＡ３４５は記憶システム３２０に対するアクセスの調停を行う。ステップ１２０において、ＨＢＡ３４５が調停を勝ち得た場合、制御データ・ブロック１１２を記憶システム３２０に発行する。制御データ・ブロック１１２は、ＨＢＡ３４５のソースＩＤを含み、ＨＢＡが記憶システム３２０による応対を受ける要求を行ったことを示す。ステップ１２１で記憶システム３２０において、ＨＢＡからの未処理の要求があると判定した場合、本方法はステップ１２２に進み、ホストの要求に応答して、記憶システム３２０は一意の識別子１１４をＨＢＡ３４５に送出する。一実施形態では、識別子は、図２に示すようなパケット５０のペイロード部１６０の宛先セッションＩＤ１６４に与えられる乱数である。ステップ１２２ａにおいて、記憶システムが乱数をＨＢＡに送出した後、記憶システム３２０は、アクセス鍵を用いて乱数１１４を暗号化し、後の比較のために暗号化した乱数を格納する。
【００５６】
ステップ１２３において、ＨＢＡが記憶システム３２０から乱数を受信したと判定した場合、ステップ１２４において、ＨＢＡはアクセス鍵６３（図７のプロセスを用いて取得した）を用いて乱数１１４を暗号化し、この乱数を暗号化数１２５として記憶システム３２０に戻す。ステップ１２６において、記憶システム３２０が応答を受信したと判定した場合、ステップ１２７において、記憶システム３２０は、受信した乱数１２５を、ステップ１２２で生成した乱数の、既に暗号化し内部に格納してあるバージョンと比較する。比較ステータス１２８をＨＢＡに送出する。一致が得られなかった場合、これは、ホストが正しいアクセス鍵を有していないこと、および／またはホストが正しい乱数を知らないことを記憶システムに示すことになり、ホスト・プロセッサおよび記憶システム間の接続は認証されない。ＨＢＡは、記憶システム３２０のデータにアクセスすることを許可されず、トランザクションは完了する。一致が得られた場合、ホストは正しいアクセス鍵、および正しい乱数を有することになり、ＨＢＡおよび記憶システム間の接続は認証される。
【００５７】
一旦ＨＢＡおよび記憶システム間の接続が認証されたなら、ＨＢＡはＩ／Ｏ要求を記憶システム３２０に送り、応対を受けることができる。本発明の一実施形態では、異なる識別子（例えば、乱数）を用いて、あらゆるＩ／Ｏトランザクションを認証する。ＳＣＳＩプロトコルは、ＨＢＡからの多数のＩ／Ｏ要求がいずれの所与の時点においても未処理のままでいることを許すので、ＨＢＡは、コマンド・タグ・キューイング（ｃｏｍｍａｎｄ  ｔａｇ  ｑｕｅｕｉｎｇ）と呼ばれる技法を用いて、未処理のＩ／Ｏ要求を追跡する。各Ｉ／Ｏ要求には、ソース・セッションＩＤフィールド１６２（図２）を用いて、一意のタグが割り当てられる。応答が記憶システムから返送されると、応答のセッションＩＤフィールドにはタグが含まれているので、このタグを用いて応答データを要求と整合させることができる。
【００５８】
ＨＢＡがいずれの時点においても有することができる未処理のＩ／Ｏ要求の最大数は、コマンド・タグ・キューイング・プロトコルにしたがって決定する。各Ｉ／Ｏ要求には一意の識別子が割り当てられるので、未処理の要求毎に識別子を確実に与えることができるために、各ＨＢＡは常に十分な数の識別子を含む必要がある。したがって、一実施形態によれば、各デバイスが記憶システムにログ・インすると、一意の識別子のリストがデバイスに送出される。リスト内の識別子の数は、デバイスにおいて未処理のままでいることができるＩ／Ｏ要求の最大数に対応するが、本発明はこの数に限定される訳ではない。各デバイスが記憶システムに要求を発行する毎に、識別子の１つがリストから使用される。記憶システムが要求に応答する毎に、新たな識別子を返送し、リストの最下位に格納される。識別子は、先入れ先出しの順序でリストから選択される。その結果、一定数の識別子がデバイスに維持され、コマンド・タグ・キューイング・プロトコルを満足する。
【００５９】
識別子をホストに与える方法の一実施形態について、以下に説明する。一意の識別子即ち乱数は各Ｉ／Ｏ要求に関連付けられているので、Ｉ／Ｏシーケンスの開始時には、ＨＢＡは、許される未処理Ｉ／Ｏ要求の最大数に等しい数の乱数を要求する。乱数のリストは、ＨＢＡ３４５のデータ構造６０（図６）内にリスト６４として格納され、更に、記憶システム３２０のフィルタおよびアダプタ・ユニット３３４（図６）の認証テーブル８６にも格納される。
【００６０】
ここで簡単に図９を参照すると、認証テーブル８６（図６）に格納することができるエレメントの一例が示されている。記憶システム３２０に結合されているＨＢＡ毎に、データ構造８９が設けられている。データ構造は、公開鍵８９ａを含むことができる。公開鍵８９ａは初期アクセス鍵６３を取得するためにＨＢＡによって与えられた公開鍵６１のコピーである。加えて、データ構造８９は、ＨＢＡ３４５に格納されているアクセス鍵６３のコピーである、アクセス鍵８９ｂも含むことができる。一実施形態では、データ構造の各々は、更に、乱数のリストも含む。データ構造８９ｃの各エントリ内の乱数は、関連するトランザクションを認証するために用いられる乱数に対応する。乱数を用いてどのようにトランザクションを認証するかについて、図８ｂ〜図８ｃに関して更に詳しく説明する。
【００６１】
図８ｂ〜図８ｃでは、ステップ１８４において、ＨＢＡは制御データ・ブロック１８５を記憶システム３２０に発行する。制御データ・ブロック１８５は、ＨＢＡがＩ／Ｏトランザクションを開始しようとしていること、および接続が認証されていることを記憶システム３２０に通知するための制御を含む。ステップ１８６において、要求が受信されたと判定した場合、記憶システム３２０は要求をデコードし、ステップ１８７において、乱数のリストを含むパケット１８８をＨＢＡ３４５に送出する。ステップ１８７ａにおいて、記憶システム３２０はアクセス鍵を用いて第１乱数の暗号化も行い、ＨＢＡからの要求の中で受信する暗号化番号と後に比較するために暗号化した数を内部に格納する。
【００６２】
ステップ１８９において、ＨＢＡがパケット１８８を受信したと判定した場合、ステップ１９０において、ＨＢＡは、未処理のＩ／Ｏ要求があるか否か判定を行うためにチェックする。ある場合、ステップ１９２において、ＨＢＡ３４５は、データ構造６０のフィールド６３に格納されているアクセス鍵を用いて、第１乱数を暗号化する。次に、ＨＢＡ３４５は、暗号化した乱数をＩ／Ｏ要求パケットのソース・セッションＩＤフィールドに挿入し、Ｉ／Ｏ要求パケット１９４を記憶システム３２０に送出する。
【００６３】
ステップ１９５で記憶システム３２０において、Ｉ／Ｏ要求パケットが受信されたと判定した場合、ステップ１９６において、記憶システム３２０は、Ｉ／Ｏ要求パケット１９４のソース・セッションＩＤフィールドの中で受信した暗号化乱数を、ステップ１８７において生成した暗号化乱数と比較する。あるいは、記憶システム２０は単に受信した乱数を解読し、それを予測乱数と比較してもよい。一致が得られた場合、記憶システム３２０はＩ／Ｏ要求に応対し、応答パケット１９７をＨＢＡ３４５に返送する。応答パケットは、ＨＢＡが要求したあらゆるデータと、新たな乱数を含む。この新たな乱数は、リスト１８８内の数値を使い果たしたときに用いられる。一実施形態では、新たな乱数は宛先セッションＩＤフィールドの中で与えられ、一方以前の暗号化乱数は、追跡の目的のためにソースＩＤフィールドに入れて戻されるが、具体的なフィールドの使用は本発明の限定ではない。
【００６４】
ステップ１９８において、記憶システム３２０から応答が受信されたと判定した場合、ＨＢＡはパケット１９７のセッションＩＤフィールドから非暗号化乱数を読み出し、この乱数をデータ構造６０に格納する。次に、プロセスはステップ１９０に進み、ＨＢＡは、アクセス鍵を用いて暗号化された、乱数リスト６４からの次の乱数を用いて、次のＩ／Ｏ要求を開始する。
【００６５】
以上のように、一意の識別子を用いて記憶システムにおいてホストを認証する方法が設けられる。この方法は、乱数を用いるように説明したが、これは本発明の要件ではなく、容易に認知されるパターンを含まないいずれの数値シーケンスでも代わりに使用可能であることは、当然理解されよう。先に論じたように、１つよりも多いＨＢＡを同時に記憶システムに接続することができる。したがって、結合されているＨＢＡに識別子を分配する際、これらのシーケンスは、記憶システム３２０に結合されている種々のＨＢＡ間で同様に分配することによって、数値の分配は一層ランダム性を呈し、したがって一層安全となる。加えて、暗号化技法について説明したが、転送に先だって識別子を暗号化することは本発明の要件ではない。代わりに、要求毎に識別子を含まないが、アクセス鍵を用いて要求全体を暗号化する認証技法を用いてもよい。また、トランザクション毎に異なるアクセス鍵を設けることも考えられる。本発明は、これらの認証技法のいずれの組み合わせでも組み込むことができ、したがって先に論じた具体的な実施形態に限定されるのではない。
【００６６】
前述の技法は、イニシエータおよびターゲット間の接続が許可されていることを検証するためにも用いることができる。別の実施形態では、ターゲットにおいて受信されたデータが、イニシエータが送ったデータであることを確認するための技法も用いる。したがって、有効性判断方法を適用し、イニシエータからターゲットへの転送の間にコマンドおよびデータが改変されていないことを保証することによって、一層のセキュリティを得ることができる。有効性判断方法は、ネットワークに結合されている別のデバイスが、イニシエータおよびターゲット間のトランザクションに干渉するのを防止するために設けることができる。
【００６７】
本発明の別の態様によれば、ネットワークを通じたソースおよびターゲット間のデータ転送の有効性を判断する方法は、ターゲットおよびイニシエータ双方において、転送のディジタル署名を維持するステップを含む。ディジタル署名はチェックサムの形態とする。ハッシング関数を用いてターゲットおよびイニシエータ間で転送されるデータの各バイトを、転送直前のバイトと結合し、チェックサムを形成する。ハッシング関数は、例えば、排他的ＯＲ関数、またはそれの何らかの派生物とすることができる。署名に含まれるデータは、イニシエータによってターゲットに送出されるデータのみ、ターゲットからイニシエータに送出されるデータのみ、またはその組み合わせを含むことができる。
【００６８】
ここで図１０を参照して、イニシエータおよびターゲット間におけるデータ転送の有効性を判断する方法の一実施形態のフロー図を示す。このフロー図は、図８ｂ〜図８ｃに関して説明したものと同様であるが、データ転送の有効性を判断するステップを含む。ステップ２００で、イニシエータにおいていずれかのＩ／Ｏ要求があるか否か判定を行う。ある場合、ステップ２０２において、イニシエータは、トランザクションに関連する乱数を暗号化し、暗号化した乱数をソース・セッションＩＤに入れて、Ｉ／Ｏ要求２０３をターゲットに送出する。ステップ２０４において、ターゲットが要求を受信したと判定した場合、ステップ２０５において、ターゲットは、受信した暗号化乱数を、格納されている暗号化予測乱数と比較し、一致を判定する。一致しない場合、ターゲットは応答しない。一致した場合、ステップ２０６において、ターゲットは新たな暗号化乱数および応答データ２０７をターゲットに送出する。また、ステップ２０６において、ターゲットは応答データを既存のチェックサムにハッシュし、新たなチェックサムを得て、データ転送のディジタル署名を作成する。ステップ２０８において、イニシエータが応答２０７を受信する。ステップ２０９においてイニシエータも応答データを既存のチェックサムにハッシュし、新たなチェックサムを得て、データ転送のディジタル署名を作成する。Ｉ／Ｏ要求を発行し、チェックサムを生成するプロセスは、イニシエータ／ターゲット接続における要求の数だけ続けられる。ステップ２００においてもはや要求がないと判定した場合、プロセスは図１１に示す、ステップ２１０の有効性判断フェーズに進む。
【００６９】
ステップ２１０において、イニシエータは、アクセス鍵を用いてチェックサムを暗号化し、暗号化したチェックサム２１２をターゲットに送出する。ステップ２１４において、ターゲットは暗号化したチェックサムを受信する。ステップ２１６において、ターゲットはチェックサムを解読し、ステップ２１８において、ターゲットは解読したチェックサムを、ターゲットが生成したチェックサムと比較する。ターゲットは、チェックサムが一致したか否かを示すステータス・パケット２２０をイニシエータに送る。ステップ２２２において、トランザクションが有効であったと判定した場合（即ち、データが改変されていない）、イニシエータおよびターゲット間の接続が完了する。ステータス２２０が、トランザクションは有効でなく、データは改変されていたことを示す場合、イニシエータはターゲットとの接続を再度確立し、データ・トランザクションを繰り返す。
【００７０】
以上、３レベルのデータ管理を備えたデータ管理方法および装置について説明した。フィルタリングを設けて、各ホストが特権を有するデータのボリュームのみにアクセスすることを保証する。認証方法を用いてセキュリティを組み込むことにより、各要求が本当に要求の識別子において示されるホストによって発行されたことが検証可能となる。最後に、有効性判断を設けることにより、移動の間にデータが改変されていないことが確認可能となる。本発明のデータ管理方法および装置を用いたシステムは、これらのレベルのデータ管理を１つ以上独立して組み込むことができ、したがって、本発明は前述のデータ管理技法全てを含むシステムに限定される訳ではない。このようなデータ管理システムは、ホスト・プロセッサによるアクセスが可能なデータを制限することによって、ホスト・プロセッサにおいてユーザがアクセスするデータに対する制御を増強する。したがって、ホスト・プロセッサにおけるユーザはホスト・プロセッサに割り当てられるデータの全てにアクセスすることができるが（ユーザに付帯する特権によって異なる）、ホストにおけるユーザの特権には無関係に、記憶システムによってホストに割り当てられていないデータにアクセスできるユーザはいない。ホスト・プロセッサにおいて最高の特権を有するシステム・アドミニストレータであっても、アクセスすることはできない。
【００７１】
これまでの論述は、ホストが記憶システムにおけるデータに対するアクセスを獲得するというシステムの一例に関するものであったが、前述の方法は、リソースが多数のデバイスによって共有されるあらゆるシステムにも適用可能である。このようなシステムは、ディスク・デバイス、テープ・デバイス、ファイル・サーバなどを含み、しかもこれらには限定されない、あらゆる種類の記憶システムを含む。
【００７２】
本発明の別の態様にしたがって、これよりシステム・アドミニストレータのユーザ・インターフェースについて説明する。ユーザ・インターフェースは、記憶システムのコンフィギュレーション・データベース（例えば、図３におけるコンフィギュレーション・データベース３２）と通信し、ユーザまたは他のアプリケーション・プログラムが、記憶ネットワークにおける異なるホストに対するデータ記憶ボリュームの利用可能性および割り当てを視認し管理することを可能にする。ここで用いる場合、「記憶ネットワーク」という用語は、追加のネットワーク・デバイス（ホスト、ＨＢＡ、記憶システム、スイッチ、ハブ等のような）を相互接続させるネットワーク接続を用いて、少なくとも１つのホスト（例えば、図３におけるホスト・プロセッサ１２）が、少なくとも１つの記憶システム（例えば、図３における記憶システム２０）に結合されている、あらゆる種類のネットワークを記述するために用いられる。ユーザ・インターフェースは、ＷＷＮよりもユーザにとって一層意味深い識別子を用いて、ネットワーク・デバイスを視認し管理することを可能にするという利点がある。
【００７３】
本発明の一実施形態では、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を設け、ユーザはこれを用いて記憶ネットワーク内における異なるホストに対するデータ記憶ボリュームの利用可能性および割り当てをグラフィック的に視認することができる。また、ＧＵＩによって、ユーザはネットワークのトポロジ（即ち、ホスト、ＨＢＡ、記憶システム、記憶システム・アダプタ等のようなネットワーク・デバイスがネットワーク内においてどのように相互接続されているか）をグラフィック的に視認することができ、更に、ネットワークのトポロジ、および／またはネットワーク内における異なるホストに対する記憶ボリュームの利用可能性および割り当てをグラフィック的に変更することができる。ＧＵＩは、ＷＷＮよりもユーザにとって一層意味深い、ホスト／ＨＢＡ対毎のエリアスを用いて、ネットワーク・デバイス、ならびに記憶システム上の記憶ボリュームの利用可能性および割り当てを視認し、管理し、変更することを可能にするという利点がある。
【００７４】
本発明の別の実施形態では、コマンドライン・インターフェース（ＣＬＩ）を設ける。これを用いると、ネットワーク内における異なるホストに対するデータ記憶ボリュームの利用可能性および割り当てを問い合わせることができる。コマンドライン・インターフェースによって、ユーザまたはその他のアプリケーション・ソフトウエアは、記憶ネットワークのトポロジ（即ち、ホスト、ＨＢＡ、記憶システム、記憶システム・アダプタ等のようなネットワーク・デバイスがネットワーク内においてどのように相互接続されているか）を示す報告書を作成し、ネットワークのトポロジ、および／またはネットワーク内における異なるホストに対する記憶ボリュームの利用可能性および割り当てを変更することができる。ＣＬＩは、デバイスのＷＷＮ、またはユーザまたは記憶システムによって割り当てることができる一層意味深い識別子を用いて、ネットワーク・デバイス、ならびに記憶システム上における記憶ボリュームの利用可能性および割り当てを、視認し、管理し、変更することができるという利点がある。
【００７５】
ユーザ・インターフェースの実施形態は、ホスト・プロセッサ１２（図３）のＣＰＵ４０のような、ホストの中央演算装置上で実行するソフトウエアで実現することができるという利点がある。ホスト・プロセッサのＣＰＵ上での実行中、ユーザ・インターフェースは、通例では、ホスト・プロセッサのメモリ（例えば、メモリ４２）に格納されているが、インターフェース・ソフトウエアは、ホスト・プロセッサによってアクセス可能な、ディスケット、テープ、ＣＤ−ＲＯＭ等のようなあらゆるコンピュータ読み取り可能媒体上に格納してもよい。本発明の一実施形態では、Ｊａｖａ（登録商標）を基本としたグラフィカル・ユーザ・インターフェースを設ける。別の実施形態では、Ｃ−プログラミング言語に基づく、コマンド・ライン・インターフェース（ＣＬＩ）を設ける。しかしながら、種々の実施態様のいずれでも使用可能であるので、本発明はいずれの特定のソフトウエア実施態様にも限定されないことは、当然認められよう。
【００７６】
本発明によるユーザ・インターフェースの実施形態は、単一のホスト、または記憶ネットワーク全域に分散した多数のホスト上で実現することができるという利点がある。更に、ユーザ・インターフェースの実施形態は、単一の記憶システムまたは多数の記憶システム上の記憶ボリュームの利用可能性および割り当てを視認し管理するためにも用いることができる。ユーザ・インターフェースは、異なるホスト／ＨＢＡ対に対する記憶ボリュームの接続および割り当てを変更するために用いることもできるので、ユーザ・インターフェースはパスワード保護を含み、許可された人のみがインターフェースにアクセスできるようにしてもよい。あるいは、セキュリティ上の理由から、記憶ネットワーク上の異なるホストに対する記憶ボリュームの接続および割り当てを変更する機能は、特定のホストに限定するとよい。ここで用いる場合、「アドミニストレータ・ホスト」という用語は、ユーザ・インターフェースを実現しており、異なるホストに対するデータ記憶ボリュームの利用可能性および割り当てを変更可能な、あらゆるホストを意味するために用いることとする。一実施形態では、ユーザ・インターフェースを部分的に別のホスト上にインストールし、これらが、記憶装置の接続および割り当てを変更する機能を有することなく、ネットワークの記憶トポロジを視認できるようにしてもよい。
【００７７】
前述のユーザ・インターフェースの実施形態の各々は、コンフィギュレーション・データベース（例えば、図３のコンフィギュレーション・データベース３２）にアクセスする。これは、記憶システム上に格納および維持され、記憶ネットワーク内におけるアクセスを管理する。本発明の更に別の態様によれば、コンフィギュレーション・データベース３２は、ホスト／ＨＢＡのＷＷＮおよび／またはソースＩＤに加えて、追加の識別情報も含み、記憶ネットワークにおけるアクセスの管理を容易にするとよい。一実施形態では、コンフィギュレーション・データベースは、記憶システム自体のエリアスだけでなく、記憶システムが把握している各ホスト、ＨＢＡ、ならびにフィルタおよびアダプタ・ユニット毎にエリアスを含むとよい。したがって、記憶システム内における記憶ボリュームへのアクセスを管理する際、ユーザはどのＷＷＮが特定のネットワーク・デバイスに関連付けられており、そのデバイスを管理しているのか前もって把握する必要はない。
【００７８】
図１２は、本発明の種々の態様を説明するために用いる、記憶ネットワーク１２００の一例を示す。尚、本発明の実施形態は、図１２に示すネットワーク・トポロジとは異なるネットワーク・トポロジ（例えば、より複雑なトポロジ、またはそれよりも複雑でないトポロジ）と共に用いることもできるので、図１２に示すネットワーク・トポロジは一例に過ぎないことは当然認められよう。
【００７９】
図１２に示すように、多数のホスト・プロセッサ１２１２、１２１４が、ネットワーク１２２１を用いて、記憶システム１２２０に結合されている。ホスト・プロセッサ１２１２には、インターネット・プロトコル（ＩＰ）ノード名称「１ｏ１０２３９」が割り当てられている。当業者には公知であろうが、ＩＰノード名称は、ネットワーク・デバイスに対する英数字識別子であり、ネットワーク・デバイスがＩＰネットワーク上の他のネットワーク・デバイスと通信するために用いる一意のＩＰアドレスに対応する。ホスト・プロセッサ１２１２は、２つのＨＢＡ、即ち、ＨＢＡ１２４５ａおよびＨＢＡ１２４５ｂを含む。ホスト・プロセッサ１２１４には、ＩＰノード名称「ｃｏｈｅｎ４５５４ｂ」が割り当てられており、単一のＨＢＡ、即ち、ＨＢＡ１２４５ｃを含む。例示の目的のため、ホスト・プロセッサｃｏｈｅｎ４５５４ｂを、制御ステーションまたはアドミニストレータ・ホストとして指定しており、ここから記憶装置に対する接続およびアクセスを制御する。
【００８０】
記憶システム１２２０は、図３に関して先に説明した記憶システム２０と類似している。しかしながら、図３の記憶システム２０とは対照的に、多くの異なるホストが中央記憶システム１２２０の使用を共有する大型ネットワークにおいて典型的に用いられるように、記憶システム１２２０は、複数のフィルタおよびアダプタ・ユニット１２３４ａ、１２３４ｂ、および１２３４ｃを含む。記憶システム１２２０を代表するこのような記憶システムの１つに、マサチューセッツ州ホプキントンのＥＭＣ社から入手可能なディスク・アレイ、Symmetrix lineがある。ディスク・アレイ、Symmetrix lineについては、Symmetrix Model 55XX product manual、P-N200-810-550,rev.F（１９９６年２月）を含む、ＥＭＣ社からの多数の刊行物に記載されている。
【００８１】
図１２に示すように、各フィルタおよびアダプタ・ユニット１２３４ａ、１２３４ｂ、および１２３４ｃは、ネットワーク１２２１に対して、それ自体の接続部を有する。各フィルタおよびアダプタ・ユニットは多数のポートを含み、各ポートが、ホスト・プロセッサ／ＨＢＡへの１つ以上の接続部に対応する。例えば、各フィルタおよびアダプタ・ユニットは２つのポートを含むこともあり、各ポートが、ホスト・プロセッサ／ＨＢＡに対して、３２個までの異なる接続に対応することができる。フィルタおよびアダプタ・ユニットの各々は、コンフィギュレーション・データベース１２３２と通信する。コンフィギュレーション・データベース１２３２は、記憶システム１２２０によって維持されており、図３に関して説明したプロセッサ８０およびメモリ８３のような、プロセッサおよびメモリを含むことができる。図１２に示すような多数のフィルタおよびアダプタ・ユニットは、フォールト・トレランス上の理由から、異なる種類のネットワーク（例えば、ループ・ネットワークまたはファブリック・ネットワーク）に接続したり、帯域幅を拡大したり、あるいは種々のその他の理由で用いることができる。
【００８２】
本発明の更に別の態様によれば、コンフィギュレーション・データベース１２３２は、図３おけるコンフィギュレーション・データベース３２に関して先に説明した情報に加えて、記憶ネットワーク内にあるネットワーク・デバイスに関する別の情報を含むこともできる。この追加情報は、例えば、記憶システム１２２０にログ・インしている各ホストのＩＰノード名称、記憶システム内において記憶ボリュームが割り当てられている各ホストのＩＰノード名称、または双方を含むことができる。本発明の一実施形態によれば、記憶ネットワーク内にあるデバイスに関する追加情報は、コンフィギュレーション・データベース１２３２の２つの異なる部分に格納する。即ち、コンフィギュレーション・データベース１２３２の履歴テーブル１２６９、ならびにヘッダ部１２７０、ボリューム割り当て部１２７２、マッピング部１２７４、およびフィルタ・テーブル１２７６を含むコンフィギュレーション部１２７５である。履歴テーブル１２６９内に格納される追加情報は、記憶システムのポートにログ・インするホスト／ＨＢＡ対毎に、一時的に維持される。対照的に、コンフィギュレーション部１２７５内に格納される追加情報は、記憶ボリュームに対するアクセスが規定されているホスト／ＨＢＡ対毎に永続的に維持される。尚、記憶ネットワーク内にあるデバイスに関する追加情報は、コンフィギュレーション・データベース１２３２の異なる部分に格納する必要はなく、本発明もそのように限定されないことは当然認められよう。
【００８３】
履歴テーブル１２６９内に維持する追加情報は、例えば、記憶システム１２２０上のポートにログ・インしたホスト／ＨＢＡ毎に、ホストのＩＰアドレス、ホストのＩＰノード名称、ホスト／ＨＢＡ対が記憶システムのポートにログ・インした時刻を示すタイム・スタンプ、ホストが用いるファイル・システムの種別、および特定のポートにログ・インしたホスト／ＨＢＡ対のエリアスを含むことができる。更に、履歴テーブル１２６９内に維持する追加情報は、ネットワーク・デバイスの種類（例えば、ホスト／ＨＢＡ対、スイッチ、またはハブ等）に応じて変更することができる。本発明の一実施形態では、ホスト／ＨＢＡ対が記憶システムのポートにログ・インするときに、各ホスト／ＨＢＡ対に対して、記憶システムが自動的に一意のエリアスを与えることができる。一意のエリアスは、ホストのＩＰノード名称、およびポートにログ・インしたアダプタの名称を含む。このエリアスをここではASCII World Wide Name（ＡＷＷＮ）と呼ぶが、これは記憶システムのポートにログ・インした各ホスト／ＨＢＡの短縮識別子であり、ＷＷＮよりはユーザにとって一層意味深いものである。これは、ＡＷＷＮは、電子メールの送信、起動ファイル内のデバイスの初期化等のような別の目的で用いられる識別子（ホストのＩＰノード名称およびアダプタの名称）に、論理的に関係するからである。以下で更に説明するが、履歴テーブル１２６９内に維持するＡＷＷＮは、記憶ネットワーク上のネットワーク・デバイスを視認し管理するため、そしてユーザ・インターフェースの実施形態を用いて、記憶システム上の記憶ボリュームに対する利用可能性およびアクセスを制御するためにも用いることができるという利点がある。したがって、ユーザは、ＷＷＮよりも論理的な記述のエリアスを用いて、ネットワーク・デバイスを視認し管理することができる。更に、必要であれば、ユーザは異なるエリアスを各ホスト／ＨＢＡ対に割り当てることもできる。
【００８４】
コンフィギュレーション・データベース１２３２（図３におけるデータベースとの比較）のコンフィギュレーション部１２７５内に格納する追加データは、履歴テーブル１２６９内に設けた追加情報と同一または同様とすることができ、ホストのＩＰノード名称、ホストのＩＰアドレス、記憶ボリュームへのアクセスが以前に定義されている各ホスト／ＨＢＡ対のエリアス等がある。履歴テーブル１２６９に格納されている情報とは対照的に、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５に格納されている情報は、記憶ボリュームへのアクセスが定義されているホスト／ＨＢＡ対毎に維持されている。本発明の一実施形態によれば、ホスト／ＨＢＡ対、または他の種類のネットワーク・デバイスが記憶システム上のポートにログ・インしたとき、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５を走査して、このホスト／ＨＢＡ対（または別の種類のネットワーク・デバイス）のエリアスが既に定義されているか否か判定を行う。特定のホスト／ＨＢＡ（または別の種類のネットワーク・デバイス）のエリアスが既にコンフィギュレーション部１２７５内に定義されていると判定した場合、当該エリアスを自動的に、そのＷＷＮおよびソースＩＤと共に、履歴テーブル１２６９に書き込む。
【００８５】
本発明の更に別の実施形態によれば、コンフィギュレーション・データベース１２３２内に格納されている情報は、記憶システム１２２０の異なるエリアに格納してもよい。例示の一実施態様では、コンフィギュレーション・データベース１２３２のヘッダ部１２７０、ボリューム割り当て部１２７２、およびマッピング部１２７４に格納されている情報は、記憶システム１２２０の記憶装置１２３８ａ〜１２３８の１つ以上に格納し、一方履歴テーブル１２６９およびフィルタ・テーブル部１２７６に格納されている情報を異なる種類のメモリ素子に格納する。例えば、履歴テーブル１２６９内に格納されている情報は、記憶システム１２２０の中心的にアクセス可能なＲＡＭまたはキャッシュ・メモリ（図示せず）に格納することができ、一方フィルタ・テーブル１２７６に格納されている情報は、フィルタおよびアダプタ・ユニットのメモリ内にある遷移フィルタ・テーブルに格納することができる（例えば、図３におけるフィルタおよびアダプタ・ユニット３４のメモリ８３内にある遷移フィルタ・テーブル８４）。前述のようにコンフィギュレーション・データベース１２３２の異なる部分に対して別個の記憶エリアを用いることにより、記憶システム１２２０内のメモリ・リソースの使用を最適化する。具体的には、より速い（しかし高価な）ＲＡＭまたはキャッシュ、またはより遅い（しかし比較的安価な）記憶装置にコンフィギュレーション・データベース１２３２全体を格納するのではなく、より頻繁におよび／または一時的にアクセスするコンフィギュレーション・データベース１２３２の部分（例えば、履歴部１２６９）をＲＡＭまたはキャッシュに格納することができ、一方アクセスする頻度が低いおよび／または永続的なコンフィギュレーション・データベース１２３２の部分（例えば、ボリューム割り当て部１２７０）をディスクまたは別の種類の記憶装置に格納することができる。前述のコンフィギュレーション・データベース１２３２の分割を用いると、メモリ・リソースの一層最適な利用を図ることができるが、本発明は、代わりに他の実施態様も使用可能であるので、コンフィギュレーション・データベース１２３２を分割する特定の態様にも、コンフィギュレーション・データベース１２３２の一部分を格納する特定の種類のメモリ素子にも限定される訳ではないことは当然認められよう。
【００８６】
本発明の別の実施形態によれば、記憶システムにログ・インするホストおよびホスト／ＨＢＡ対に関する追加の識別情報を提供するユーティリティを設ける。このユーティリティは、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内にホスト／ＨＢＡ対が以前に定義されていない場合に、履歴テーブル１２６９内にそのエリアスを設けるために使用することができる。次いで、エリアスを用いて当該ホスト／ＨＢＡ対を視認し管理し、更にその記憶ボリューム割り当てを構成することができる。このユーティリティは、ホスト・プロセッサのＣＰＵ上で実行するソフトウエアで実現し、この追加情報をコンフィギュレーション・データベースの履歴テーブル１２６９に含ませることができる。これより、このユーティリティによって実行することができるステップの一実施態様を示すフロー図について、図１３に関して説明する。
【００８７】
ステップ１３１０において、ユーティリティはホストに問い合わせ、ホストのＩＰノード名称やホストのＩＰアドレスのような情報を判定する。ホスト・プロセッサの製造業者、ホスト上で用いられているオペレーティング・システムの種類（例えば、Unix（登録商標）、Windows（登録商標）NT、Sun SOLARIS）等のような、他の情報を取得してもよい。ホストに関するデータを取得した後、ユーティリティはステップ１３２０に進む。ステップ１３２０において、ユーティリティは記憶ネットワークに問い合わせ、記憶ネットワークに接続されている記憶システムの内、コンフィギュレーション・データベース１２３２（図１２）のような、記憶リソースへの共有アクセスを容易にするコンフィギュレーション・データベースを含む記憶システムを識別する。ファブリック記憶ネットワーク・トポロジでは、これを行うには、ファブリック上のネームサーバにアクセスし、それに接続されているデバイスのＷＷＮを調べればよい。例えば、各ＷＷＮは各デバイス製造業者に一意の部分を含むので、ユーティリティはＷＷＮのリストを調べて、コンフィギュレーション・データベース１２３２を含む、特定の製造業者によって製作された記憶システムを識別することができる。ループ記憶ネットワーク・トポロジでは、同様の情報を取得するには、ループ内の各デバイスに問い合わせを行い、同様に各デバイスのＷＷＮを調べればよい。コンフィギュレーション・データベース１２３２を含む記憶システムを識別するＷＷＮを識別すると、ユーティリティはかかる記憶システム毎にステップ１３３０ないし１３８０を実行する。
【００８８】
ステップ１３３０において、ユーティリティは、コンフィギュレーション・データベース１２３２を有する記憶システム上のポートにログ・インし、ステップ１３４０に進む。ステップ１３４０において、ユーティリティはコンフィギュレーション・データベース１２３２内の履歴テーブル１２６９を調べ、ユーティリティに記憶システムにログ・インさせた特定のホスト／ＨＢＡ対に対するエリアスが既に存在するか否か判定を行う。履歴テーブル１２６９が既にこの特定のホスト／ＨＢＡ対に対してエリアスを含むと判定した場合、ユーティリティはステップ１３８０に進む。このステップについては以下で更に説明する。一方、履歴テーブル１２６９がこの特定のホスト／ＨＢＡ対に対するエリアスを含んでいないと判定した場合、ユーティリティはステップ１３５０に進む。
【００８９】
ステップ１３５０において、ユーティリティはコンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５を調べ、この特定のホスト／ＨＢＡ対に対してエリアスがその中で定義されているか否か判定する。コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内において、この特定のホスト／ＨＢＡ対に対して既にエリアスが定義されていると判定した場合、ユーティリティはステップ１３６０に進み、コンフィギュレーション部１２７５内に定義されているエリアスを履歴テーブル１２６９に書き込む。一方、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内に、この特定のホスト／ＨＢＡ対に対するエリアスが定義されていないと判定した場合、ユーティリティはステップ１３７０に進む。
【００９０】
ステップ１３７０において、ユーティリティは、記憶システムに現在ログ・インしているホスト／ＨＢＡ対に対するエリアスを作成し、それを履歴テーブル１２６９に書き込む。本発明の一実施形態では、エリアスは、ホストのＩＰホスト名称、およびポートにログ・インしたアダプタの名称を含む。このエリアスは、ASCII World Wide Name（ＡＷＷＮ）と呼ぶが、ＷＷＮよりもユーザにとってより多くの意味を有する、ホスト／ＨＢＡ対の短縮識別子を与える。本発明の一態様によれば、アダプタ名称を表すＡＷＷＮの部分は、ポートにログ・インしたホストの種類（例えば、Windows（登録商標）NT、Sun SOLARIS、HP-UX等）によって異なる。例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴホスト上では、ＡＷＷＮのアダプタ部は「ａｄａｐｔｅｒＮ」という形態で表され、「Ｎ」はホスト上のＨＢＡアダプタの論理番号である。Ｓｕｎ  ＳＯＬＡＲＩＳホスト・システム上では、ＡＷＷＮのアダプタ部は、「ｓｂｕｓ，ｆｃａ＠ａｄａｐｔｅｒ」という形態で表され、「ｓｂｕｓ］はＨＢＡが常駐するバスの番号であり、「ａｄａｐｔｅｒ」はホスト上のアダプタの論理番号である。
【００９１】
ステップ１３４０、１３６０、または１３７０のいずれかの後、ユーティリティはステップ１３８０に進む。ステップ１３８０において、ユーティリティは、現在コンフィギュレーション・データベース１２３２の履歴テーブル１２６９内に格納されている情報を、ホスト・プロセッサに返送する。この情報は、ホスト／ＨＢＡ対のＡＷＷＮ、および履歴テーブル１２６９内にある他のホスト／ＨＢＡ対のあらゆるＡＷＷＮ（例えば、異なるホスト・プロセッサ上でのユーティリティの使用によって以前に割り当てられたＡＷＷＮ等）を含む。また、ユーティリティは、ホスト・プロセッサに、記憶システムにログ・インしたホスト／ＨＢＡ対のＷＷＮ、ホスト／ＨＢＡ対が記憶システムにログ・インしたポートのポート識別子、および記憶システムに到達したデバイス名称または経路（ホスト・システムに関する）を提供する。この情報を提供した後、ユーティリティは終了する。尚、コンフィギュレーション・データベース１２３２を有する記憶システムを１つよりも多く含む記憶ネットワークでは、ユーティリティは、ログ・インすることを許されている記憶システム毎にこの情報を提供することは当然認められよう。
【００９２】
前述の説明から当然認められようが、前述のユーティリティは、現在記憶システムにログ・インしている各ホスト／ＨＢＡ対をそのＷＷＮについて識別することができる。加えて、記憶システムにログ・インしているホスト／ＨＢＡ対にエリアスまたはＡＷＷＮが与えられている場合、各ホスト／ＨＢＡ対のＡＷＷＮも設ける。以下で更に説明するが、ユーティリティが提供するこの情報は、次に、ユーティリティが実行されたホストによって、記憶ネットワーク上のネットワーク・デバイスを視認し管理するため、そしてユーザ・インターフェースによる記憶システム上の記憶ボリュームに対する利用可能性およびアクセスを制御するために用いることができる。ユーザ・インターフェースを実行する同じホスト上でユーティリティを実行することによって、ユーザは、より難解でかさばるＷＷＮの代わりに、ＡＷＷＮを用いて、ユーザ・インターフェースによってネットワーク・デバイスを視認し管理することができるという利点がある。加えて、ホスト・プロセッサ上でユーティリティを実行することによって、記憶システムにアクセスする際にユーティリティが用いたＨＢＡのＷＷＮを識別するために、ユーティリティを用いることができる。尚、このネットワークに接続されているＨＢＡのＷＷＮを識別する機能は非常に利用価値が高いことは認められよう。ＨＢＡのＷＷＮは通例ではＨＢＡ自体の上に示されるが、一旦ＨＢＡをホスト・プロセッサにインストールすると、この情報が見難くなる場合がある。更に、ＨＢＡのＷＷＮをＨＢＡに付随する文書内で識別できるが、このような文書は紛失したりあるいは置き違えることが頻繁にある。前述のユーティリティは、別のネットワーク・デバイス（例えば、記憶システム１２２０）に、通信している相手のネットワーク・デバイスのＷＷＮを識別するように要求することによって、ネットワーク・デバイス（例えば、ホスト／ＨＢＡ対）のＷＷＮを決定することができるという利点がある。
【００９３】
本発明の別の実施形態にしたがってプロセッサ（例えば、ホスト・プロセッサのＣＰＵ）上で実行すると、ユーザが記憶ネットワーク内のデバイスを視認し管理することが可能になる、ユーザ・インターフェースについてこれより説明する。図１２に示すような記憶システム１２２０と有利に用いることができるユーザ・インターフェースの実施態様の一例は、ＥＭＣ社から入手可能な、EMC Volume Logix Product Guide,Version2.0、p/n300-999-024と題する刊行物に記載されている。その内容は、この言及により本願にも含まれるものとする。Volume Logix product Guideは、「Volume Logix」と呼ばれるシステム・アドミニストレータの実施態様について記載している。これは、ソフトウエアを基本とするユーザ・インターフェースを用い、Windows（登録商標）、Windows（登録商標）95またはWindows（登録商標）NT、Unix（登録商標）、Unix（登録商標）-variantes等のような広範囲にわたる種々のオペレーティング・システムを走らせる、パーソナル・コンピュータ、ワークステーション、およびメインフレーム・コンピュータを含む広範囲にわたる種々の異なるホスト・コンピュータ・プラットフォーム上で用いることができる。
【００９４】
本発明の一実施形態によれば、ユーザ・インターフェースはホスト・プロセッサ上で実行し、ユーザまたはその他のアプリケーション・プログラムに、記憶システムに問い合わせを行わせ、記憶システムが取り付けられている記憶ネットワーク上のネットワーク・デバイスに対する、当該記憶システム上の記憶ボリュームのアクセス制御を定義させる。ユーザ・インターフェースを用いると、記憶ネットワークにおいて種々のデバイス（記憶システム、記憶システムのポート・アダプタ、ホスト、ＨＢＡ等）を識別し、記憶ネットワークにおけるこれらのデバイス相互の関係を理解することができる。例えば、どのホスト・プロセッサが記憶システムと通信することができるか、これらが通信する際の経路または物理的接続、どのデータの記憶ボリュームが特定のホスト・プロセッサにアクセス可能か、または多数のホスト・プロセッサ間で共有されているか等を調べることができる。加えて、ユーザ・インターフェースは、ネットワークにおけるデバイスのコンフィギュレーションを変更したり、記憶ボリュームへのアクセスを管理するために用いることもできる。これは、２つの異なる方法で行うことができる。一実施形態では、ネットワーク・デバイス間の関係をグラフィック的に視認し修正することを可能にする、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を基本としたソフトウエア・アプリケーションを設ける。別の実施形態では、同様な機能をＧＵＩとして実行させる、コマンドライン・インターフェース（ＣＬＩ）を設ける。これらのインターフェースのいずれか一方を用いると、デバイスのリストを表示し、デバイスの関係（例えば、ネットワークに接続されているホストの記憶ボリュームに対する特権を割り当て、取り消し、変更する）を変更すること等ができる。更に、これらのインターフェースの各々によって、ネットワーク・デバイスに関連する特性も変更することができる。例えば、特定のデバイスに関連があるホスト名称またはＡＷＷＮを変更することができる。
【００９５】
また、Volume Logix Product Guideは、ＶＣＭＦＩＮＤと呼ばれる、ユーティリティの実施態様の一例についても記載している。これは、図１３に関して説明したユーティリティと機能性は同様である。本発明の一態様によれば、ＶＣＭＦＩＮＤユーティリティは、ＷＷＮによって、記憶システムにログ・インした各ホスト／ＨＢＡ対を識別し、ホスト／ＨＢＡ対を視認し管理することができるエリアスまたはＡＷＷＮを割り当て、記憶システムにログ・インしている別のホスト／ＨＢＡ対全てを示す履歴テーブルの内容のコピーをホスト・プロセッサに供給するために用いることができる。ＶＣＭＦＩＮＤユーティリティによってホスト・プロセッサに返送されるこの情報は、ユーザ・インターフェースの実施形態と共に用い、ＷＷＮの使用によるよりも一層意味のあるエリアスまたはＡＷＷＮの使用によって、ネットワーク・デバイスの管理を行うことができる。
【００９６】
図１４は、本発明の一実施形態にしたがって、グラフィカル・ユーザ・インターフェース（ＧＵＩ）によって設けることができる上位表示画面の実施態様の一例を示す。ホスト・プロセッサ上で実行すると、ＧＵＩは管理ウィンドウ１４００を提示し、ユーザは、デバイスを互いに接続する態様を視認、構成または変更し、更に記憶システム上の記憶ボリュームに対する割り当ておよびアクセスを変更することができる。ＧＵＩは、図１３に関して先に説明したユーティリティのようなユーティリティを、管理が望まれる各ホスト・プロセッサ（例えば、図１２におけるホスト・プロセッサｃｏｈｅｎ４５５ｂ、およびホストプロセッサ１ｏ１０２３９）上で実行した後に、ホスト・プロセッサ上で実行することができる。先に注記したように、図１３のユーティリティの実行により、ＷＷＮよりも意味深いエリアスによってデバイスを管理することが可能になる。
【００９７】
上位ＧＵＩ管理ウィンドウ１４００は、記憶ネットワーク・トポロジ・ペイン（ｐａｎｅ）１４１０、記憶システム・ボリューム・ビュー・ペイン１４２０、メニュー・バー１４３０、ツール・バー１４４０、およびステータス・バー１４５０というような多数のコンポーネントを含むことができる。尚、ＧＵＩ管理ウィンドウ１４００は多くの異なる方法で編成することができるので、本発明は図１４に示すコンポーネントの特定的な配列に限定される訳ではないことは当然認められよう。記憶ネットワーク・トポロジ平面１４１０は、様々な粒度でネットワーク・デバイスや記憶ネットワークのトポロジを視認するために用いることができる。ボリューム・ビュー・ペイン１４２０は、特定の記憶システム上に格納されているデータのボリュームを識別し、特定の記憶システム上に格納されている記憶ボリュームの種類を識別し、これらの記憶ボリュームが１つよりも多いホスト・プロセッサによってアクセス可能か否か判定する等のために用いることができる。メニュー・バー１４３０は、１組のプル・ダウン・メニュー１４６０〜１４８０を設け、記憶ネットワークに接続されているデバイスの管理および制御をユーザに行わせ、どのホスト・プロセッサが記憶システム上の記憶ボリュームにアクセスすることができるかの制御を含む。ツール・バー１４４０は、メニュー・バー１４３０が備えるオプションの内、使用頻度が高い一部に対する素早いアクセスを可能にする。ステータス・バー１４５０は、タスクが保留中であるか否か、タスクが完了したか否か等のように、メニュー・バーおよびツール・バーから選択した現アクションに関する情報メッセージを与える。
【００９８】
ＧＵＩ管理ウィンドウ１４００は、ホスト・プロセッサ、記憶システム、ホスト・バス・アダプタ、記憶システム・アダプタ等のような、記憶エリア・ネットワークにおけるデバイスを表示する。各デバイスは、簡単に認識可能なアイコンによって表現されている。また、ＧＵＩ管理ウィンドウ１４００は、容易に認識可能なアイコンによって、記憶システム内にある異なる種類の記憶ボリュームも表示する。異なる種類の記憶エリア・ネットワーク・デバイスおよび異なる種類の記憶ボリュームをどのようにして表現し得るかについての一例としての図を、図１５に示す。尚、他のものも代わりに用いることができるので、本発明はいずれの特定的な形態のアイコンにも限定されるのではないことは当然認めらよう。
【００９９】
記憶システム・アイコン１５０５は、記憶ネットワーク上で利用可能な記憶システムを表す。記憶システム・アイコン１５０５は、圧縮形態または拡大形態のいずれかで表示することができる。これについては以下で更に詳しく説明する。記憶ポート・アイコン１５１０は、記憶システム上のアダプタ・ポート（例えば、図１２におけるフィルタおよびアダプタ・ユニット１２３４ａ〜ｃ）を表す。記憶ポート・アイコン１５０５によって表す記憶ポートが、ファイバ・チャネル環境における使用に適合化されている場合、記憶ポート・アイコン１５０５には、ＦＡ（ファイバ・チャネル・アダプタ）ポート（図１４参照）と指定するとよい。尚、ファイバ・チャネル・アダプタ以外の、他の種類の記憶ポート・アダプタも、異なるアイコンまたは同じアイコンを用いて表現することもできるが、それに隣接するテキスト・ラベルが異なることは、当然認められよう。
【０１００】
ホスト・プロセッサ・アイコン１５１５は、記憶エリア・ネットワーク上で利用可能なホスト・プロセッサを表す。ホスト・プロセッサ・アイコン１５１５も、圧縮形態または拡大形態のいずれかで表示することができ、これについては以下で更に詳しく説明する。アドミニストレータ・ホスト・アイコン１５２０は、記憶エリア・ネットワーク上で利用可能であり、ネットワーク・デバイスおよび記憶システム内にある記憶装置の割り当てを制御および構成することができる、アドミニストレータ・ホスト・プロセッサまたは制御ステーションを表す。アドミニストレータ・ホストは、ボリュームの割り当て、および記憶ネットワークにおけるデバイスの接続方法の変更を、中央制御ステーションまたはホスト・プロセッサから管理することを可能にする。ホスト・プロセッサ・アイコン１５１５と同様、アドミニストレータ・ホスト・アイコン１５２０も、圧縮形態または拡大形態のいずれかで表示することができる。ホスト・バス・アダプタ（ＨＢＡ）アイコン１５２５は、ホスト・プロセッサを記憶エリア・ネットワークに接続するときに用いるＨＢＡを表す。ＨＢＡアイコン１５２５は、ホスト・プロセッサ・アイコン１５１５またはアドミニストレータ・ホスト・アイコン１５２０を拡大形態で表示するときに表示される。
【０１０１】
記憶ボリューム・アイコン１５３０は、記憶システム内の記憶ボリュームを表す。更に具体的には、記憶アイコン１５３０は、表示したボリュームが、特定のホスト・プロセッサ／ＨＢＡ対に割り当てられていない（即ち、コンフィギュレーション・データベース１２３２（図１２）において割り当てが定義されていない記憶ボリューム）、標準的な固定ブロック・アドレシング（ＦＢＡ）ボリュームであることを示す。割り当てられた記憶ボリューム・アイコン１５３５は、記憶システムのコンフィギュレーション・データベース（即ち、図１２におけるコンフィギュレーション・データベース１２３２）における特定のホスト・プロセッサ／ＨＢＡ対に割り当てられた記憶システム内の記憶ボリュームを表す。共有、割り当て記憶ボリューム・アイコン１５４０は、記憶システムのコンフィギュレーション・データベース１２３２内にある１つよりも多いホスト・プロセッサ／ＨＢＡ対に割り当てられている、記憶システム内の記憶ボリュームを表す。コンフィギュレーション・データベース記憶ボリューム・アイコン１５４５は、特定の記憶ボリュームがコンフィギュレーション・データベースを格納していることを表す（一実施態様では、ボリューム・コンフィギュレーション管理データベース、またはＶＣＭと呼ぶ）。ミラー記憶ボリューム・アイコン１５５０は、特定の記憶ボリュームが別の記憶ボリュームに対してミラーとして機能することを表す（一実施形態では、ビジネス連続ボリュームまたはＢＣＶと呼ぶ）。連結記憶ボリューム・アイコン１５５５は、特定のボリュームが、１つのターゲット・ボリュームとして見える、隣接する記憶ボリュームの連結グループの１つであることを表す（一実施態様では、メタ・ボリュームと呼ぶ）。他の記憶システム・リソースには、他のアイコンを設けることができる。当業者には当然認められようが、異なるアイコンを用いて様々な種類のネットワーク・デバイスおよび様々な種類の記憶ボリュームを表現することによって、記憶ネットワークの詳細な記述をユーザに効率的に伝達することが可能となる。
【０１０２】
再度図１４を参照すると、記憶ネットワーク・トポロジ・ペイン１４１０は、ネットワーク・デバイスが記憶エリア・ネットワークにおいてどのように配置されているかを表すグラフィック表現を与える。このグラフィック表現は、記憶エリア・ネットワーク内の各ネットワーク・デバイスを一意に識別し、ネットワーク・デバイスを相互接続する経路を示す。以下で更に説明するが、このネットワーク・デバイスのグラフィック表現は、ユーザによる選択が可能な可変詳細レベルで表示することができる。
【０１０３】
図１４に示すように、記憶ネットワーク・トポロジ・ペイン１４１０は、グラフィカル・ユーザ・インターフェースを用いて構成および変更することができる、記憶ネットワーク内の異なるホスト・プロセッサ／ＨＢＡ対および記憶システム／ポート対間の経路を示す。灰色の破線は、記憶ネットワーク内にある種々のデバイスを接続する経路を表すために用いられている。黒い実線は、ネットワーク・デバイスの１つが、例えば、マウスを用いることによって選択された、ネットワーク・デバイス間の経路を表すために用いられている。図１４の例では、ホスト・プロセッサ１ｏ１０２３９が拡大形態で選択されており、したがって、このホスト・プロセッサおよびその２つのＨＢＡ（「１ｆ，０,ｆｃａ＠３，０」および「１ｆ，０,ｆｃａ＠１，０」）が実線形態で示されている。図１３に関して先に注記したように、ＨＢＡを表すために用いられる特定のエリアスは、アダプタを取り付けるホスト・プロセッサの種類を示すことができる。前述の情報を表す別の方法も代わりに用いることができ、本発明は特定の表現の態様に限定される訳ではない。更に、スイッチやハブのように、グラフィカル・ユーザ・インターフェースの制御下にないその他のネットワーク・デバイスも、記憶ネットワーク・トポロジ・ペイン１４１０によって提示されるビューの中で描画可能であることも当然認められよう。
【０１０４】
ホスト・プロセッサ／ＨＢＡ対は、記憶ネットワーク・トポロジ・ペイン１４１０の左側に示されており、記憶システムは右側に示されている。例えば、図１４では、２つのホスト・プロセッサｃｏｈｅｎ４５５４ｂおよび１ｏ１０２３９が記憶ネットワーク・トポロジ・ペイン１４１０の左側に示されており、記憶システム０１８３６０００３１４が右側に示されている。デバイスの各種類（ネットワーク・デバイスまたは記憶システム内のデバイス）は、先に図１５に関して説明したように、ネットワーク・デバイスの種類および記憶ボリュームの種類を識別するアイコンによって表されている。更に、各アイコンは、記憶エリア・ネットワーク内部でアイコンが表す特定のデバイスを一意に識別する、何らかの関連テキストを含む。各ホスト・プロセッサ・アイコンおよびＨＢＡアイコンに関連するテキストは、履歴テーブル１２６９（図１２）のエリアス情報に基づくものである。
【０１０５】
図１４からわかるように、ホスト・プロセッサｃｏｈｅｎ４５５４ｂおよびホスト・プロセッサ１ｏ１０２３９のプロセッサ・アイコンは似ているが、異なる。具体的には、ホスト・プロセッサｃｏｈｅｎ４５５４ｂのホスト・プロセッサ・アイコンは「Ａ」１４８５を含み、ホスト・プロセッサｃｏｈｅｎ４５５４ｂは、ＧＵＩを実行し、ネットワーク・デバイスおよび記憶装置の割り当てを中心的に制御または構成することができる、「アドミニストレータ・ホスト」または制御ステーションとして指定されていることを示す。
【０１０６】
先に注記したように、ホスト・プロセッサのアイコンおよび記憶システムのアイコンは、ユーザが選択可能な、圧縮形態および拡大形態のいずれかで表示することができる。圧縮ホスト・アイコンは、それに付随するＨＢＡを隠し、一方拡大ホスト・アイコンは、ホスト・プロセッサに付随するＨＢＡの各々を示す。図１４に図示したホスト・プロセッサ・アイコンの各々は、拡大形態で表示されており、それぞれのホスト・プロセッサ上における特定のＨＢＡの付随を示す。拡大形態で図示する場合、ホスト・プロセッサ・アイコンは、マイナス符号１４９０を含み、ホスト・プロセッサ・アイコンの圧縮形態を選択するには、アイコンのこの領域（「ホット・スポット」と呼ぶ）上でクリックすればよいことを示す。あるいは、圧縮形態を選択するには、ツール・バー１４４０に関連付けられたボタンを用いるか、あるいはメニュー・バー１４３０内にあるメニューにアクセスしてもよい。ホスト・プロセッサ・アイコンを圧縮する場合、記憶システムがその圧縮形態または拡大形態で示されているかに応じて、ホスト・プロセッサおよび記憶ネットワーク内の他のデバイス間の経路接続が、ホスト・プロセッサから記憶システムまたは記憶システム・ポートに直接引かれる。圧縮形態で図示すると、ホスト・プロセッサ・アイコンはプラス符号（図１７の１７１５）を含み、ホスト・プロセッサ・アイコンの拡大形態も代わりに選択可能であることを示す。圧縮形態で表示したホスト・プロセッサの一例を図１７に示す。これについては、以下で更に説明する。
【０１０７】
先に注記したように、記憶システムは、記憶ネットワーク・トポロジ・ペイン１４１０の右側に示されている。記憶システム・アイコンも、圧縮形態または拡大形態のいずれかで示すことができる。圧縮した記憶システムは、それに常駐するポートを隠し、一方拡大した記憶システムは、当該記憶システム上に常駐する各ポートを示す。記憶システムを圧縮する場合、記憶システムからホストまたはＨＢＡに直接経路接続を引く。記憶システムを拡大する場合、記憶システムからポートに、次いでＨＢＡに対するホストに経路接続を引く。図１４では、記憶システム０１８３６００３１４が拡大形態で示されている。ホスト・プロセッサ・アイコンと類似した態様で、圧縮した記憶システム・アイコンはプラス符号を含むことができ、選択すれば代わりに記憶システム・アイコンの拡大形態を表示可能であることを示し、拡大した記憶システム・アイコンはマイナス符号を含むことができ、選択によって代わりに記憶システム・アイコンの圧縮形態を表示可能であることを示す。
【０１０８】
各ホスト・アダプタ・アイコン（例えば、ａｄａｐｔｅｒ０）は、ホスト・プロセッサが記憶ネットワークに通信する、特定のＨＢＡを表す。各ＨＢＡを識別するには、アイコンおよびコンフィギュレーション・データベース１２３２（図１２）の履歴テーブル１２６９内に格納されている、ＡＳＣＩＩ読み取り可能なＷＷＮ（ＡＷＷＮ）のアダプタ部を用いる。先に注記したように、ＡＷＷＮには、図１３に関して説明したようなユーティリティを用いて割り当てることができ、あるいはホスト／ＨＢＡ対が記憶システムにログ・インし、ＡＷＷＮがコンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内に既に定義されているときには自動的に割り当てることができる。更に、ユーザは、ＧＵＩを用いて、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内にある特定のホスト／ＨＢＡ対に割り当てられているＡＷＷＮを変更することができる。図１４に示すホスト・プロセッサおよびＨＢＡを識別するために用いる命名規則は、ＧＵＩを呼び出す前に、図１３のユーティリティを用いることによって決められたものである。したがって、特定のＨＢＡに割り当てられるＨＢＡの名称は、それに付随するホスト・プロセッサが用いるオペレーティング・システムの種類に基づいて、変化する可能性がある。図１４に示すように、ホスト・プロセッサｃｏｈｅｎ４５５４ｂは、ＨＢＡ  ａｄａｐｔｅｒ０を用いてネットワークと通信し、一方ホスト・プロセッサ１ｏ１０２３９は、２つの異なるＨＢＡ「１ｆ，０，ｆｃａ＠３，０」および「１ｆ，０，ｆｃａ＠１，０」を用いてネットワークと通信する。
【０１０９】
先に注記したように、一実施形態では、灰色の破線は、記憶ネットワーク・トポロジ・ビュー・ペイン１４１０内にある種々のデバイスを接続する経路を表すために用いられ、黒い実線は、選択した接続（即ち、選択したデバイスと別のデバイスとの間の接続）を示す。図１４の例では、ホスト・プロセッサ１ｏ１０２３９は拡大形態で選択されており、したがって、このホスト・プロセッサ、およびその２つのＨＢＡ間の経路は、実線形態で示されている。
【０１１０】
以上の説明から認められるように、記憶ネットワーク・トポロジ・ビュー・ペイン１４１０によって、ユーザは異なるレベルの粒度でネットワーク・トポロジを視認することができる。例えば、ホスト・プロセッサから記憶システムまで、ホスト・プロセッサ／ＨＢＡ対から記憶システムまで、ホスト・プロセッサから記憶システム上の特定のポートまで、またはホスト・プロセッサ／ＨＢＡ対から記憶システム上の特定のポートまでの接続を視認することができる。この異なるレベルの粒度で表示する機能によって、最上位から最下位へ、ホストからそのＨＢＡポートへ、そして記憶システムからそのポートおよび記憶ボリュームへというように、効果的にアクセス制御を管理することができる。更に、これによって、ユーザは記憶ネットワークの全体的なトポロジを視認することができ、更に選択的にネットワーク内の特定のデバイス集合に照準を絞ることができる。尚、記憶トポロジをグラフィック的に視認する機能は、記憶エリア・ネットワークが大きくなる程、ネットワークが図１４に示すよりも多くのネットワーク・デバイスを含む可能性があるため、特に有用であることは当然認められよう。
【０１１１】
記憶システム・ボリューム・ビュー・ペイン１４２０は、特定の記憶システム上に常駐する記憶ボリュームをグラフィック的に図示する。一実施形態では、記憶ボリューム・ビュー・ペイン１４２０は、ホスト・プロセッサ、ＨＢＡ、ホスト・プロセッサ／ＨＢＡ対、または記憶システムのようなネットワーク・デバイスが、記憶ネットワーク・トポロジ・ペイン１４１０において選択されたときに充填される。記憶ボリューム・ビュー・ペイン１４２０は、選択したネットワーク・デバイスに利用可能な記憶ボリュームまたはここに常駐する記憶ボリュームを示す。また、記憶システム・ボリューム・ビュー・ペイン１４２０は、記憶ボリュームの種類、記憶ボリュームにおけるアクセス権が特定のホスト・プロセッサ／ＨＢＡ対に割り当てられているか否か、記憶ボリュームにおけるアクセス権が多数のホスト・プロセッサ／ＨＢＡ対に割り当てられているか否か等のような、他の種類の情報もグラフィック的に描画する。この情報を取得するには、ＧＵＩがコンフィギュレーション・データベース１２３２（図１２）のコンフィギュレーション部１２７５にアクセスする。
【０１１２】
記憶システム・ボリューム・ビュー・ペイン１４２０内では、２つの異なる種類のビューが利用可能である。即ち、アイコン・ビュー、または詳細化ビューである。アイコン・ビューは、選択したオブジェクトに関連する記憶ボリューム毎にアイコンを表示する。例えば、図１４において、選択された記憶システム、即ち、記憶システム０１８３６００３１４上に常駐する記憶ボリューム０〜２２の各々に、アイコンが表示されている。追加の記憶ボリュームがあれば、ウィンドウを拡大してその中にボリュームを示すか、あるいは従来の方法で下方にスクロールすることによって、見ることができる。多数の記憶システムが選択されている場合、記憶システム番号で、次いで記憶ボリュームでソートすることによって、または他のいずれかの適切な方法で、記憶ボリュームをソートするとよい。
【０１１３】
図１４の記憶ボリューム・ビュー・ペイン１４２０に示すように、選択したホスト・プロセッサ／ＨＢＡ対および記憶システム／記憶ポート対に割り当てられた記憶ボリュームは、実線の枠で囲まれている。例えば、記憶ボリューム３〜８は、実線の枠で囲まれており、これらが、ユーザによって選択された特定のホスト・プロセッサ／ＨＢＡ対および記憶システム／記憶ポート対に割り当てられていることを示す。１つ以上のボリュームが既に特定のホスト・プロセッサ／ＨＢＡ対および記憶システム／記憶ポート対に割り当てられたが、割り当てが既に解消されている場合、これは、当該ボリュームを取り囲む破線によって示すことができる。割り当ての解消が発生するのは、例えば、ＨＢＡがネットワークからログ・アウトした場合である。勿論、選択された割り当てを示すために１つの色を用い、解消された割り当てを示すために別の色を用いるというように、前述の識別した情報をユーザに表示する別の方法を代わりに用いてもよいことは、認められて当然であろう。
【０１１４】
記憶ボリューム・ビュー・ペイン１４２０内の各記憶ボリューム・アイコンは、多数の状態の１つで示すことができる。例えば、灰色の記憶ボリューム・アイコン（例えば、図１５における記憶ボリューム１５３０）は、記憶ボリュームが利用可能であり、この特定のボリュームに対してアクセス権がまだ付与されていないことを示すために用いることができる。図１４では、記憶ボリューム０〜２および９〜２２が、利用可能状態で示されている。あるいは、記憶ボリュームは、強調した白黒のストライプ（例えば、図１５では、割り当て済みの記憶ボリューム１５３５）を含み、記憶ボリュームが単一パス・コンフィギュレーションで所有されていることを示すことができる。即ち、正確に１対のホスト／ＨＢＡに、この特定のボリュームに対するアクセス権が割り当てられている。記憶ボリュームは、黒く塗ったコネクタ・バー（例えば、図１５では共有割り当て記憶ボリューム１５４０）と共に表示し、この記憶ボリュームがマルチ・パス共有記憶ボリュームであることを示すことができる。即ち、２対以上のホスト／ＢＨＡに、この特定の記憶ボリュームに対するアクセス権が割り当てられている。図１４では、記憶ボリューム３〜８を表すために用いられているアイコンには、多数のホスト／ＨＢＡ対からのアクセス権が割り当てられている。
【０１１５】
先に注記したように、ユーザは、記憶ボリュームのアイコン・ビューまたは詳細化ビューを選択することができる。例えば、図１６は、詳細に表示した記憶ボリューム・ビュー・ペイン１６２０を示す。図１４の記憶ボリューム・ビュー・ペイン１４２０におけると同様、記憶システム上の各記憶ボリュームの表現は、当該ボリュームにアクセス権が付与されているか否か、または特定の記憶ボリュームが単一のホスト・プロセッサ／ＨＢＡ対または多数のホスト・プロセッサ／ＨＢＡ対のどちらに割り当てられているかに応じて、異なるようにするとよい。しかしながら、記憶ボリュームの詳細化ビューは、各記憶ボリュームの容量、記憶ボリュームが常駐する記憶システムの識別子（例えば、名称または連番）、記憶システム上のどのポートが特定のボリュームにアクセスすることができるかという識別子、および当該特定のボリュームの所有者（即ち、どのホスト・プロセッサ／ＨＢＡ対（複数の対）が特定の記憶ボリュームに対するアクセス権を有するか）を識別することもできる。尚、異なる情報または追加の情報も代わりに表示することもできるので、本発明は図１６に示す情報に限定される訳ではないことは当然認められよう。
【０１１６】
先に注記したように、デバイス上でクリックすると（例えば、特定のネットワーク・デバイスを示し、マウスまたはそれ以外のポインティング・デバイス上で特定のボタンを選択する）、記憶ネットワーク・トポロジ・ペイン１４１０において当該デバイスに関連する経路接続が強調表示され、記憶ボリューム・ビュー・ペイン１４２０は、所有されているボリューム、および当該デバイスにアクセス可能なボリュームまたは当該デバイス上に常駐するボリューム等全てのボリュームで充填される。このように異なる詳細度で記憶エリア・ネットワークをグラフィック的に視認する機能によって、ユーザは記憶ネットワーク内のアクセス制御を階層的に、ホスト・プロセッサからそのポートに至るまで効果的に管理することが可能となる。
【０１１７】
図１４に示すように、メニュー・バー１４３０は、従来同様、管理ウィンドウ１４００の上辺に沿って位置する。一実施態様では、メニュー・バー１４３０は、５つのプル・ダウン・メニュー１４６０〜１４８０を含み、各々が、種々のタスクを実行するために選択する多数のオプションをユーザに提供する。例えば、ファイル・プル・ダウン・メニュー１４６０は、ホスト／ＨＢＡ対のアクセスを１つ以上の記憶ボリュームに追加するかまたは削除するというような、整列動作（queued operation）を実行するラン・タスク・オプションを含むことができる。また、ファイル・プル・ダウン・メニュー１４６０は、選択したネットワーク・デバイス、記憶システムまたは記憶ボリュームのプロパティ（例えば、ホストまたはＨＢＡの名称、記憶システムまたはポートの名称等）を表示または変更するためのプロパティ・オプション、選択したネットワーク・デバイスまたは記憶ボリュームの報告を生成する報告オプションも含むことができる。報告オプションは、記憶ネットワークのコンフィギュレーションあるいは特定のデバイスまたはボリュームのコンフィギュレーションを詳細に示す情報を生成するために用いることができ、この情報は表示するか、あるいはファイルに書き込むことができる。
【０１１８】
編集メニュー１４６５は、ユーザに、整列動作を変更または削除したり、あるいはグラフィカル・ユーザ・インターフェースに対するログイン・パスワードを変更する機能をユーザに提供する。ビュー・メニュー１４７０は、記憶ボリュームのアイコンを用いたビューおよび詳細化ビュー間でユーザに選択させるアイコン／詳細オプション、ならびに作業空間をリフレッシュし現在コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５内で定義されているが、表示画面１４００では未だ更新されていない記憶ボリュームの割り当てを反映するリフレッシュ表示オプションを含むことができる。アクション・メニュー１４７５は、デバイスの種類（例えば、記憶システム、記憶システム内部の記憶ボリューム等）で類別し、それらが作用する種々のオプションを含むことができる。例えば、アクション・メニュー１４７５は、記憶システム・バス上でアクセス権を定義、解消、または交換することをユーザに許可するバス・オプション、記憶ボリュームに対するアクセス特権を追加、削除、またはそれ以外で変更するボリューム・オプション、およびコンフィギュレーション・データベース上で動作を実行するか、または作業空間表示をリフレッシュするために用いることができる記憶システム・オプションを含むことができる。また、メニュー・バー１４３０は、プル・ダウン・ヘルプ・メニュー１４８０も含むことができ、これによってユーザは、ヘルプ・ファイル、コンフィギュレーション・データベース・コードの特定のソフトウエア・バージョンに関する情報、またはグラフィカル・ユーザ・インターフェース・ソフトウエアを表示し、ヘルプ・トピックス等を見るために用いるＨＴＭＬ系ブラウザへのパスを設定することが可能となる。本発明は、追加情報を提供する特定のトピックス、このような情報の編成、またはそれにアクセスすることができる特定の態様に限定される訳ではないので、ヘルプ・メニュー１４８０を用いて他の情報を提供することも可能である。
【０１１９】
ＧＵＩ管理ウィンドウ１４００もツール・バー１４４０を含むことができ、これによってユーザは使用頻度が高い機構の一部に、メニュー・バー１４３０から素早くアクセスすることが可能となる。例えば、ツール・バーは、現在選択されている項目に対するプロパティ・ダイアログ・ボックスを表示するプロパティ・アイコン１４０５、コンフィギュレーション・データベース１２３２のコンフィギュレーション部１２７５からボリューム・アクセス割り当てを再ロードするリフレッシュ表示アイコン１４１５、および全ての記憶システムまたは選択した記憶システムに対して保留中のボリューム割り当て全てを確定する（commit）ラン・タスク・アイコン１４２５を含むことができる。また、ツール・バー１４４０は、記憶ボリュームをアイコン表現の表示、または前述のようなより詳細な記憶ボリュームの表示との間で切替を行うアイコン・ビュー・アイコン１４３５を含むこともできる。同様に、詳細アイコン１４４５を設けて、図１６におけるような、より詳細なテーブル・フォーマットで記憶ボリューム情報を示すこともできる。また、ツール・バー１４４０は、ユーザに使用可能なヘルプ・ファイルを表示するヘルプ・アイコン１４５５を含むこともできる。尚、本発明は図１４に示す特定の実施態様に限定される訳ではないので、使用頻度が高い機構に素早くアクセスする別の方法を設けてもよいことは、認められて当然であろう。例えば、一連のキーボード・コマンド（例えば、「ｃｏｎｔｒｏｌ  Ｆ」）を、ツール・バーの代わりに、またはこれに加えて、用いてもよい。
【０１２０】
ステータス・バー１４５０は、ウィンドウ１４００の底辺に沿って位置し、メニュー・バー１４３０およびツール・バー１４４０から選択された現在のアクションに関する情報メッセージを与える。例えば、ステータス・バー１４５０の左側は、タスクが保留中かまたは完了したかを示すことができ、右側はタスク・リスト内における現タスクの数を示す。本発明は、図１４に示すステータス・バー１４５０の特定的な実施態様に限定される訳ではないので、代わりにこの情報を提供する別の方法を用いることも可能である。
【０１２１】
図１７は、多数の記憶システムだけでなく、多数の異なるホスト・プロセッサも含む、記憶ネットワークに対する記憶ネットワーク・トポロジ・ペイン１７１０を示す。ホスト・プロセッサ「ｐａｂｌｏ」を除くと、ホスト・プロセッサの各々は圧縮形態で示されている。ホスト・プロセッサｐａｂｌｏは拡大形態で示されており、ホスト・プロセッサｐａｂｌｏ、ハブ・ポートＦｃａＰｏａｒｔ２、および記憶システム９０００００３０７７間の経路接続を示している。記憶システム９００００３０７８は圧縮形態で示されており、一方記憶システム９０００００３０７７は拡大形態で示されており、ネットワークからアクセス可能な記憶システムのポート・アダプタの各々を明示している。
【０１２２】
比較的単純な記憶エリア・ネットワークに対してアクセス制御を構成する方法の記述の一例について、図１８ないし図２２および図１４に関してこれより説明する。図１８は、記憶ネットワーク・トポロジを示し、ここでは、特定の記憶ボリュームに対するアクセス権が、２つの異なるホスト・プロセッサ・システム、即ち、ホスト・プロセッサｃｏｈｅｎ４５５４ｂおよびホスト・プロセッサ１ｏ１０２３９のために与えられる。更に特定すると、図１８は、ホスト・プロセッサｃｏｈｅｎ４５５４ｂおよび１ｏ１０２３９の各々においてＶＣＭＦＩＮＤユーティリティのような、図１３において説明したユーティリティと同様のユーティリティを走らせ、次いでアドミニストレータ・ホストｃｏｈｅｎ４５５４ｂ上でＧＵＩを実行した後に、ユーザによって見られる管理ウィンドウ１８００を示す。この例では、プロセッサｃｏｈｅｎ４５５４ｂには、記憶システム０１８３６００３１４、記憶ボリューム４への共有アクセスを、ホスト・プロセッサｃｏｈｅｎ４５５４ｂ上のＨＢＡ  ａｄａｐｔｅｒ０から付与される。ホスト・プロセッサ１ｏ１０２３９には、記憶システム０１８３６００３１４、記憶ボリューム３および５〜８に対するアクセスを、ホスト・プロセッサ１ｏ１０２３９上のＨＢＡ  ａｄａｐｔｅｒ１から付与され、記憶ボリューム４に対する共有アクセスを、ホスト・プロセッサ１ｏ１０２３９上のＨＢＡ  ａｄａｐｔｅｒ１から付与される。図１８では、ユーザは記憶システム０１８３６００３１４を選択し、記憶システム・アイコンを拡大して、これに接続されている全ての記憶アダプタ・ポートを示す。これらのアクションの結果を図１９に示す。
【０１２３】
記憶システム０１８３６００３１４を拡大し選択することによって、ボリューム・ビュー・ペイン１９２０は、この記憶システム上に常駐する全ての記憶ボリュームで満たされる。図１９のボリューム・ビュー・ペイン１９２０において記憶ボリュームを表すために用いられるアイコンの種類によってわかるように、記憶システム０１８３６００３１４のボリュームはいずれもホスト・プロセッサには割り当てられていない。更に、記憶システム・アイコンを拡大することによって、記憶システム０１８３６００３１４上に常駐する記憶アダプタ・ポートが表示される。灰色の経路接続ラインが、各記憶システム・ポートから、これに接続可能な、記憶ネットワーク上の各ホストまで引かれている。図１９の記憶ネットワーク・トポロジ・ペイン１９１０に示すように、記憶システム０１８３６００３１４上に常駐する記憶アダプタ・ポートは、ファイバ・チャネル・アダプタ・ポート（Ｆａ）Ｆａ１４ａ、Ｆａ１４ｂ、Ｆａ１５ａ、Ｆａ１５ｂ、Ｆａ１６ａ、およびＦａ１６ｂを含む。記憶システム０１８３６００３１４の選択の結果（例えば、マウスまたは他のポインティング・デバイスを用いて記憶システム・アイコン上でクリックすることによる）、記憶システム０１８３６００３１４のアイコンが強調表示されることになる。加えて、記憶システム０１８３６００３１４の選択および拡大によって、選択した記憶システム上の各記憶システム・ポートと選択した記憶システム（図示せず）との間に灰色の経路線が引かれる。記憶システムに付随する特定のポート（例えば、ポートＦａ１５ａ）を選択することにより、この選択されたポートが強調表示され、記憶システムから、選択されたポートまでの灰色の経路線が濃くなる（図示せず）。特定の記憶システムを選択した後、当該記憶システム上の全てのボリュームが、管理ウィンドウのボリューム・ビュー・ペイン内に表示される。
【０１２４】
ホスト・プロセッサｃｏｈｅｎ４５５４ｂのＨＢＡ  ａｄａｐｔｅｒ０からのポートＦａ１５ａ上の記憶ボリューム４へのアクセスを構成するために、ユーザは、適切なアイコンを選択することによって、ホスト・プロセッサｃｏｈｅｎ４５５４ｂを選択する。選択すると、ホスト・プロセッサｃｏｈｅｎ４５５４ｂは強調表示され、これまで灰色の線であったホスト・プロセッサｃｏｈｅｎ４５５４ｂから記憶ポートＦａ１５ａまでの線が、黒の実線となる。ホスト・プロセッサｃｏｈｅｎ４５５４ｂの拡大形態を選択することによって（例えば、ホスト・プロセッサ・アイコン内のプラス符号上でクリックすることによって）、ホスト・プロセッサｃｏｈｅｎ４５５４ｂに接続されているＨＢＡが表示される。これまでのアクションの結果を、図２０の記憶ネットワーク・トポロジ・ペイン２０１０に示す。ここでは、ホスト・プロセッサｃｏｈｅｎ４５５４ｂは黒の実線によってＨＢＡ  ａｄａｐｔｅｒ０に接続されている。
【０１２５】
ホスト・プロセッサｃｏｈｅｎ４５５４ｂ／ａｄａｐｔｅｒ０に割り当てるために記憶ボリューム４を選択するには、ユーザは単に記憶ボリューム４のアイコンを選択するだけである。これを、図２０のボリューム・ビュー・ペイン２０２０に示す。特定のボリュームを選択した後、ユーザは、アクション・プル・ダウン・メニュー２０７５を選択し、アクセス追加のようなオプションを選択することができる。これらのステップの結果、ホスト・プロセッサｃｏｈｅｎ４５５４ｂ上のＨＢＡ  ａｄａｐｔｅｒ０から、記憶システム・ポートＦａ１５ａ上の記憶ボリューム４へのアクセスが追加される。ホスト・プロセッサｃｏｈｅｎ４５４５ｂ上のＨＢＡ  ａｄａｐｔｅｒ０から記憶システム・ポートＦａ１５ｂ上の記憶ボリューム４へのアクセスを追加するには、同様のステップを実効すればよい。一実施形態では、これらのステップを実行した後、図２１に示すようなタスク・リストがユーザに表示される。図２１のタスク・リストに示すように、ホスト・プロセッサｃｏｈｅｎ４５５４ｂ上のＨＢＡ  ａｄａｐｔｅｒ０から記憶システムのアダプタ・ポート１５ａおよび１５ｂに、ボリューム４へのアクセスが追加される。ユーザは、タスク・リストの最下部に示されている確認ボタンを選択し、このタスクを確認する。尚、タスク・リストは必須ではないことは認められよう。しかしながら、一実施形態では、これらの割り当て結果をユーザに提示し、その確認を要求することによって、意図しない変更を減らすことができる。更に、本発明は、ホスト・プロセッサｃｏｈｅｎ４５５４ｂのためにアクセスを構成する際に用いた特定のステップ、およびこれらを実行する順序に限定される訳ではないので、これらは様々に変更可能であることは当然認められよう。
【０１２６】
図２２は、前述のステップを実行した後に、ユーザに与えられるボリューム・ビュー・ペイン２２２０内における記憶ボリューム４の割り当てを示すグラフィック管理ウィンドウ２２００を示す。既に注記したように、ボリューム・ビュー・ペイン２２２０内で選択された記憶ボリュームは、枠で囲まれ、このボリュームが選択されたことを示す。更に、この記憶ボリュームは現時点では特定のホスト・プロセッサ／ＨＢＡ対に割り当てられているので、記憶ボリューム４は、割り当て済み記憶ボリューム・アイコン（即ち、図１５における割り当て済み記憶ボリューム・アイコン１４３５）によって表されている。更に、記憶ネットワーク・トポロジ・ペイン２２１０内において、ホスト・プロセッサｃｏｈｅｎ４５５４ｂとＨＢＡ  ａｄａｐｔｅｒ０および記憶ボリューム４との間に示す経路は、記憶システムのポート・アドレス１５ａおよび１５ｂのいずれを経由するものも、濃い線で示されていることを注記しておく。
【０１２７】
同様の手順を用いて、ホスト・プロセッサ１ｏ１０２３９のＨＢＡ  ａｄａｐｔｅｒ２から記憶ボリューム４への共有アクセスを設定し、更にホスト・プロセッサ１ｏ１０２３９のＨＢＡ  ａｄａｐｔｅｒ１から記憶ボリューム３、および５〜８へのアクセスを設定することができる。管理ウィンドウをリフレッシュした後に得られる表示を図１４に示す。これは先に説明した通りである。
【０１２８】
尚、前述のステップの後、記憶ボリュームのホスト・プロセッサｃｏｈｅｎ４５５４ｂおよび１ｏ１０２３９の各々への割り当ては、コンフィギュレーション・データベース１２３２（図１２）のコンフィギュレーション部１２７５内においては永続的とはなっていないことは認められよう。これらの割り当てをコンフィギュレーション・データベースのコンフィギュレーション部１２７５において永続的とするには（即ち、これらが、コンフィギュレーション・データベースが常駐する記憶システムの給電サイクル中永続するためには）、ユーザはファイル・メニュー・バーにおけるラン・タスク・コマンドを実行する。この余分なステップは、意図しない変更がコンフィギュレーション・データベース１２３２に行われてしまうのを防止するのに役立つ。本発明の一実施形態では、ラン・タスク・コマンドの実行は、パスワードによって保護されているので、不正なユーザがタスクを実行することはできない。
【０１２９】
本発明の別の実施形態によれば、ネットワーク・デバイスを管理し、更に記憶ボリュームを管理しこれを記憶ネットワーク内にあるネットワーク・デバイスに割り当てるためにＣＬＩを基本とするユーザ・インターフェースを設ける。前述のＧＵＩを基本とするユーザ・インターフェースにおけると同様、ＣＬＩを基本とするユーザ・インターフェースは、記憶システム１２２０上のコンフィギュレーション・データベース１２３２と通信し、ネットワーク・デバイスを管理し、更に記憶ボリュームを管理しそれをネットワーク・デバイスに割り当てる。ＦＰＡＴＨと呼ばれる、ＣＬＩを基本としたユーザ・インターフェースの実施態様の一例については、先に記したEMC Volume Logix Product Guideと題する刊行物に詳細に記載されている。尚、ＣＬＩを基本とするユーザ・インターフェースを対象とする本発明の実施形態は、ここに記載するＦＰＡＴＨ  ＣＬＩの特定的な実施態様に限定される訳ではなく、本発明のＣＬＩに基づくユーザ・インターフェースは多くの異なる方法で実現可能であることは当然認められよう。本発明の一実施形態では、ＣＬＩに基づくユーザ・インターフェースはソフトウエアで実現され、ホスト・プロセッサ１２１２、１２１４のＣＰＵ１２４０上で実行することができる。ＣＬＩによって、ネットワーク・デバイス、および記憶システム内の記憶ボリュームを、ＷＷＮを用いて、または代わりに特定のネットワーク・デバイスに割り当てられることができるＡＷＷＮを用いて、管理することが可能となる。
【０１３０】
一実施形態によれば、ＣＬＩを用いたユーザ・インターフェースは、フォーマット「ＣＯＭＭＡＮＤ  ａｃｔｉｏｎ｛ａｒｇｕｍｅｎｔｓ｝というフォーマットを有する１組のコマンドを含む。ＣＯＭＭＡＮＤは実行可能ＣＬＩ、例えば、「ＦＰＡＴＨ」の名称であり、ａｃｔｉｏｎはコンフィギュレーション・データベース１２３２を更新したり、記憶システムのコンフィギュレーション・データベース１２３２内に維持されているコンフィギュレーション情報を表示するために用いることができるサブコマンドである。記憶システム１２２０のコンフィギュレーション・データベース１２３２上で実行可能なアクションには、コンフィギュレーション・データベース１２３２を初期化すること、ホスト、ＨＢＡまたはホスト／ＨＢＡ対のようなネットワーク・デバイスのコンフィギュレーション・データベース１２３２に対する追加または削除により、ネットワーク・デバイスが記憶システム上の記憶ボリュームにアクセス可能とすること、ホスト／ＨＢＡ対が記憶システム上でアクセス可能な特定の記憶ポートに対するアクセスを追加または削除すること、そしてホスト／ＨＢＡ対が記憶システム上でアクセスすることができる特定のボリュームに対するアクセスを追加または削除することが含まれる。
【０１３１】
ＣＬＩに基づくユーザ・インターフェースを用いて実行可能な他のアクションには、記憶システム１２２０によって維持されているコンフィギュレーション・データベース１２３２を特定のファイルにバックアップすること、このようなバックアップ・ファイルの内容から、コンフィギュレーション・データベース１２３２を再現すること、記憶ネットワーク上のネットワーク・デバイスを管理および構成する際に使用可能な特定のホスト／ＨＢＡ対にエリアスを与えること等が含まれる。ＣＬＩを用いて得られる表示アクションには、記憶ネットワークにおいてネットワーク・デバイスが関係する態様に関する情報を表示することを含むことができる。この情報は、どのデバイスが現在記憶システムにログ・インしているか、これらのネットワーク・デバイスは記憶システム上でどのようなアクセス権を有しているか等を含むことができる。この報告情報は、ホスト・プロセッサの表示画面上に表示するか、またはファイルにセーブすることができる。尚、本発明は、前述の特定のアクション集合に限定される訳ではなく、他のアクションまたは付加的なアクションも代わりに設けられることは当然認められよう。ＣＬＩを基本とするユーザ・インターフェースは、図１３に関して先に説明したようなユーティリティと共に用いると、それらのＷＷＮよりも意味深い識別子を用いてネットワーク・デバイスを管理することができるという利点がある。したがって、ＣＬＩを基本とするユーザ・インターフェースは、ＧＵＩユーザ・インターフェースについて先に説明したのと同様の機能性を有することができる。よって、ＣＬＩの実施態様は、先に論じたＧＵＩを基本とするユーザ・インターフェースの説明から容易に理解されるであろうから、ＣＬＩを基本とするユーザ・インターフェースに関するこれ以上の詳細は、ここでは省略する。
【０１３２】
以上、本発明のいくつかの実施形態について詳細に説明したが、当業者には種々の変更や改善が容易に想起されよう。このような変更および改善は、本発明の精神および範囲に該当すると見なすものとする。したがって、前述の説明は一例に過ぎず、限定を意図するものではない。本発明は、特許請求の範囲およびその均等物による規定のみにしたがって限定されることとする。
【図面の簡単な説明】
【図１】  図１Ａは、本発明のデータ管理の態様を採用可能なネットワーク・コンフィギュレーションの一例を示す。
図１Ｂは、本発明のデータ管理の態様を採用可能なネットワーク・コンフィギュレーションの一例を示す。
図１Ｃは、本発明のデータ管理の態様を採用可能なネットワーク・コンフィギュレーションの一例を示す。
【図２】  図２は、図１Ａ、１Ｂ、１Ｃのネットワークにおいて結合されているデバイス間で分配可能なパケットの一実施形態を示す。
【図３】  図３は、図１Ａ、１Ｂまたは１Ｃのネットワークにおいて結合することができるホスト・プロセッサおよび記憶システムのコンポーネント例を示すブロック図であり、記憶システムは、本発明の一実施形態によるホスト・プロセッサが発行する要求をフィルタするエレメントを有するアダプタを含む。
【図４】  図４は、図３の記憶システムが用いるフィルタリング情報を格納するために用いることができるコンフィギュレーション・データ構造の一実施形態のブロック図である。
【図５】  図５は、図３の記憶システムにおいて要求をフィルタするために用いることができるフィルタリング・データの一実施形態のブロック図である。
【図６】  図６は、図１Ａ、１Ｂまたは１Ｃのネットワークにおいて結合することができるホスト・プロセッサおよび記憶システムのコンポーネント例を示すブロック図であり、記憶システムは、本発明の一実施形態によるホストによってトランザクションを認証するロジックを含む。
【図７】  図７は、図６のホスト・プロセッサおよび記憶システム間で暗号鍵を分配し、暗号鍵を用いてホスト・プロセッサのアイデンティティを認証することを可能にする方法を示すフロー図である。
【図８】  図８ａは、本発明の一実施形態にしたがって図６のホスト・プロセッサおよび記憶システム間で接続を確立するときに、ホスト・プロセッサのアイデンティティを認証する一方法を示すフロー図である。
図８ｂは、本発明の一実施形態にしたがって図６のホスト・プロセッサおよび記憶システム間で接続を確立するときに、ホスト・プロセッサのアイデンティティを認証する一方法を示すフロー図である。
図８ｃは、本発明の一実施形態にしたがって図６のホスト・プロセッサおよび記憶システム間で接続を確立するときに、ホスト・プロセッサのアイデンティティを認証する一方法を示すフロー図である。
【図９】  図９は、図６の記憶システムの認証テーブルに含むことができ、本発明の一実施形態にしたがって、ホスト・プロセッサのアイデンティティを認証するために用いることができる、コンポーネント例を示す図である。
【図１０】  図１０は、本発明の一実施形態においてデータ転送の有効性を判断するために、図１Ａ、１Ｂおよび１Ｃのネットワークにおいてイニシエータおよびターゲット間で転送されるデータのチェックサムを実行する一方法を示すフロー図である。
【図１１】  図１１は、本発明の一実施形態にしたがって、図１０のチェックサムを用いてイニシエータおよびターゲット間におけるデータ転送の有効性を判断する一方法を示すフロー図である。
【図１２】  図１２は、本発明の種々の態様を採用可能な記憶システムを含む記憶ネットワークのブロック図である。
【図１３】  図１３は、本発明の一実施形態にしたがって記憶ネットワーク内のネットワーク・デバイスに識別子を指定する一方法を示すフロー図である。
【図１４】  図１４は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースによって与えることができる、ネットワーク・デバイス、および記憶システム上に格納されているデータへのアクセスを管理するための管理ウィンドウを示す。
【図１５】  図１５は、グラフィカル・ユーザ・インターフェースによって与えることができる、ネットワーク・デバイス、および記憶システム上に格納されているデータ部分をグラフィックに表す一方法を示す。
【図１６】  図１６は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースによって与えることができる、記憶システム上にどのようにデータを格納するかをグラフィックに表す一方法を示す。
【図１７】  図１７は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースによって与えることができる、記憶ネットワークにおいてネットワーク・デバイスをどのように相互接続するかに関する詳細の種々のレベルをグラフィックに表す一方法を示す。
【図１８】  図１８は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースを用いて、記憶ネットワークにおいて異なるホストからの記憶システムへのアクセスを構成するための、コンフィギュレーション・プロセスにおける第１ステップを表す管理ウィンドウを示す。
【図１９】  図２０は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースを用いて、記憶システム上で特定のポートに対するアクセスを構成するための、図１８のコンフィギュレーション・プロセスにおける第２ステップを表す管理ウィンドウを示す。
【図２０】  図２０は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースを用いて、ホスト・システム上の特定のポートからの記憶システム上の特定のポートへのアクセスを構成するための、図１８のコンフィギュレーショングレーション・プロセスにおける第３ステップを表す管理ウィンドウを示す。
【図２１】  図２１は、ホスト・システム上の特定のポートから記憶システム上の特定のポートのコンフィギュレーションを確認するために、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースによって表示可能なタスク・リストを示す。
【図２２】  図２２は、本発明の一実施形態によるグラフィカル・ユーザ・インターフェースを用いて、記憶システムの特定のポートおよびホスト・システム上の特定のポートを用いる、記憶システム上における特定の記憶ボリュームへのアクセスを構成するための、図１８のコンフィギュレーション・プロセスにおける第４ステップを表す管理ウィンドウを示す。
【図１】
0004191927.tif 000002
0004191927.tif 000003
【図２】
0004191927.tif 000004
【図３】
0004191927.tif 000005
【図４】
0004191927.tif 000006
【図５】
0004191927.tif 000007
【図６】
0004191927.tif 000008
【図７】
0004191927.tif 000009
【図８】
0004191927.tif 000010
0004191927.tif 000011
0004191927.tif 000012
【図９】
0004191927.tif 000013
【図１０】
0004191927.tif 000014
【図１１】
0004191927.tif 000015
【図１２】
0004191927.tif 000016
【図１３】
0004191927.tif 000017
【図１４】
0004191927.tif 000018
【図１５】
0004191927.tif 000019
【図１６】
0004191927.tif 000020
【図１７】
0004191927.tif 000021
【図１８】
0004191927.tif 000022
【図１９】
0004191927.tif 000023
【図２０】
0004191927.tif 000024
【図２１】
0004191927.tif 000025
【図２２】
0004191927.tif 000026