(57)【要約】ＲＤＦグループ（Ａ，Ｂ，Ｃ，Ｄ）を動的に変更する際に使用する技術。第１のデータ記憶システム（５０ａ）とＲＤＦ交換環境内で第１のデータ記憶システムに離れた場所で接続している他のデータ記憶システム（５０ｂ）との間のＲＤＦグループを生成、除去または変更する目的で、第１のデータ記憶システム（５０ａ）上で遠隔システム呼出しを実行するために、システム呼出しがホスト・コンピュータ・システム（１４ａ〜１４ｎ）により発行される。遠隔システム呼出しの実行の一部として、データが、データ記憶システム間にリンクが確立していない状態で、第１のデータ記憶システムから第２のデータ記憶システムに送られる。各データ記憶システムは、動的ＲＤＦグループによりすべてのディレクタで必要な変更を行うための処理を行う。遠隔システム呼出しの成功または失敗を示す状態は、ホスト・コンピュータ・システム（１４ａ〜１４ｎ）に返送される。【特許請求の範囲】
【請求項１】
第１のデータ記憶システム内の第１のグループのデバイスと第２のデータ記憶システム内の第２のグループのデバイスとの間の通信経路を動的に変更するための方法であって、
前記通信経路を動的に変更するために、前記第１のデータ記憶システムに対してコマンド要求を発行するステップと、
セットアップ・データを、ユーザ・データを送信する準備ができていない通信リンクにより、前記第１のデータ記憶システムから第２のデータ記憶システムに送るステップと、
前記第１のグループのデバイスへの接続の第１の部分を準備するステップと、
前記第１の部分の準備が成功した後で、前記第２のグループのデバイスへの前記接続の第２の部分を準備するステップと、
前記接続の前記第１および第２の部分の準備が成功した後で、前記通信経路がユーザ・データを送信する準備ができたことを表示するステップとを含む方法。
【請求項２】
前記接続の前記第１の部分を準備する前に、前記第１のデータ記憶システムの第１のプロセッサが、前記第１のグループのデバイスにサービスを行っている第１のサービス・プロセッサにより、前記通信経路を前記コマンド要求により変更することができるかどうかを確認するステップと、
前記接続の前記第２の部分を準備する前に、前記第２のデータ記憶システムの第２のプロセッサが、前記第２のグループのデバイスにサービスを行っている第２のサービス・プロセッサにより、前記通信経路を前記コマンド要求により変更することができるかどうかを確認するステップとをさらに含む、請求項１に記載の方法。
【請求項３】
前記通信接続の前記第１の部分の前記準備が、前記第１のグループのデバイスに対する動的構成情報を含むテーブルを変更するステップを含む、請求項１に記載の方法。
【請求項４】
前記通信接続の前記第２の部分の前記準備が、前記第２のグループのデバイスに対する動的構成情報を含むテーブルを変更するステップを含む、請求項３に記載の方法。
【請求項５】
前記通信リンクの一部が初期化される、請求項１に記載の方法。
【請求項６】
前記コマンド要求が、前記第１および第２のグループのデバイスのうちの１つへのサービスの提供からサービス・プロセッサの除去を求めるものであり、前記サービス・プロセッサが、前記第１および第２のグループのうちの前記一方へサービスを提供する唯一のサービス・プロセッサであり、前記第１および第２のグループのうちの前記一方が空でない場合に、前記コマンド要求の実行に失敗するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記第２のグループのデバイス内の宛先ボリュームの一部が無効データを含んでいることを表示するステップと、
前記通信経路がデータを送信する準備ができていることを表示した後で、データを前記第１のグループのデバイス内のソース・ボリュームから前記宛先ボリュームにコピーするステップとをさらに含む、請求項１に記載の方法。
【請求項８】
前記第１のグループのデバイス内の宛先ボリュームの一部が無効データを含んでいることを表示するステップと、
前記通信経路がデータを送信する準備ができていることを表示した後で、データを前記第２のグループのデバイス内のソース・ボリュームから前記宛先ボリュームにコピーするステップとをさらに含む、請求項１に記載の方法。
【請求項９】
前記第２のプロセッサが、状態を返送する目的で前記通信経路を変更するために、前記コマンド要求で指定される前記第２のデータ記憶システム内のすべてのサービス・プロセッサを待機するステップと、
前記第２のデータ記憶システムのすべての前記サービス・プロセッサから成功状態を受信した後で、前記コマンド要求に表示されている変更により、前記第２のデータ記憶システム内の動的構成データのグローバル・コピーを更新するステップと、
前記第２のデータ記憶システムの他のプロセッサにより局所的に維持されている動的構成データのコピーを更新するステップとをさらに含む、請求項２に記載の方法。
【請求項１０】
前記第１のプロセッサにより、前記第２のプロセッサから、前記第２のデータ記憶システムが、前記接続の前記第２の部分の準備の終了に成功したかどうかについての返送状態を受信するステップと、
前記第２のプロセッサからの成功の返送状態の受信に応じて、前記第１のプロセッサが、下記の処理、すなわち、
前記コマンド要求に表示されている変更により、前記第１のデータ記憶システム内の動的構成データのグローバル・コピーの更新と、
前記第１のデータ記憶システムの他のプロセッサにより局所的に維持されている動的構成データのコピーの更新と、
を行うステップとをさらに含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、概して、コンピュータ・システムに関し、特にコンピュータ・システム構成を使用する技術に関する。
【背景技術】
【０００２】
（関連出願）
本願は、２００１年１１月１４日出願の米国仮特許出願第６０／３３２，９９１号の優先権を主張する、「動的ＲＤＦ」という名称の２００１年１１月３０日出願の一部継続出願の係属中の米国特許出願第０９／９９７，８１０号である。これらすべての出願は、引用により全体を本明細書の記載に援用する。
【０００３】
コンピュータ・システムは、１つ以上のホスト・プロセッサが使用するための異なるリソースを含むことが可能である。コンピュータ・システムのリソースおよびホスト・プロセッサは、１つ以上の通信接続により相互に接続することができる。これらのリソースは、例えば、ＥＭＣ社が製造しているデータ記憶システムであるＳｙｍｍｅｔｒｉｘ（商標）シリーズなどのデータ記憶装置を含むことができる。これらのデータ記憶システムは、１つ以上のホスト・プロセッサに結合することができ、各ホスト・プロセッサに記憶サービスを提供することができる。例示としてのデータ記憶システムは、一緒に接続されるとともに、コンピュータ・システムの１つ以上のホスト・プロセッサに共通データ記憶を提供するために使用することができるＳｙｍｍｅｔｒｉｘ（商標）シリーズのデータ記憶装置のような１つまたはそれ以上のデータ記憶装置を含むことができる。
【０００４】
ホスト・プロセッサは、データ記憶システムにより種々のデータ処理タスクおよび操作を行うことができる。例えば、ホスト・プロセッサは、データ読出しおよび書込み操作などのデータ要求、およびデータ・バックアップおよびミラーリング操作などの管理タスクに関連する基本システム入出力操作を行うことができる。
【０００５】
ホスト・プロセッサ・システムは、複数のホスト・インタフェース・ユニット、ディスク・ドライブ、およびディスク・インタフェース・ユニットを含む記憶装置によりデータを記憶し、検索することができる。このような記憶装置は、例えば、マサチューセッツ州ホプキントン所在のＥＭＣ社から販売され、ヤナイ他の米国特許第５，２０６，９３９号、ガルツァー他の米国特許第５，７７８，３９４号、ビシュリツキ他の米国特許第５，８４５，１４７号、およびオフェックの米国特許第５，８５７，２０８号に開示されている。ホスト・システムは、それと一緒に提供される複数のチャネルを通して記憶装置にアクセスする。ホスト・システムは、記憶装置にチャネルを通してデータおよびアクセス制御情報を提供し、記憶装置は、また、チャネルを通してホスト・システムにデータを提供する。ホスト・システムは、直接記憶装置のディスク・ドライブにアドレスしないで、むしろホスト・システムに対して複数の論理ディスク・ユニットのように見えるものにアクセスする。論理ディスク・ユニットは、実際のディスク・ドライブに対応することもできるし、対応しないこともできる。複数のホスト・システムが１つの記憶装置ユニットにアクセスすることができれば、これらのホスト・システムはその中に記憶しているデータを共有することができる。
【０００６】
ある場合には、ある記憶装置から他の記憶装置にデータをコピーしたい場合がある。例えば、あるホストが第１の記憶装置にデータを書き込んだ場合に、第１の記憶装置を動作不能にするような災害が発生した場合、そのホスト（または他のホスト）が、第２の記憶装置のデータを使用して動作を再開できるように、異なる場所に設置されている第２の記
憶装置にそのデータをコピーすることが望ましい場合がある。このような機能は、例えば、マサチューセッツ州ホプキントン所在のＥＭＣ社から販売されているリモート・データ・ファシリティ（ＲＤＦ）製品により提供されている。例えば、米国特許第５，７４２，７９２号および第５，５４４，３４７号に、ＲＤＦを使用するＳｙｍｍｅｔｒｉｘ（商標）データ記憶システム間のデータ記憶装置通信が記載されている。上記２つの米国特許は、両方とも引用により本明細書の記載に援用する。ＲＤＦを使用した場合、ユーザは、第１の記憶装置をマスタ記憶装置と呼び、第２の記憶装置をスレーブ記憶装置と呼ぶことができる。ＲＤＦの他の代表的な例は、局所記憶装置と遠隔記憶装置との間にピアツウピア関係を提供することができる。ホストは、局所記憶装置と直接相互作用を行うことができるが、局所記憶装置に対して行ったすべてのデータ変更は、ＲＤＦにより自動的に遠隔記憶装置に提供される。局所記憶装置および遠隔記憶装置は、ＥＳＣＯＮリンクまたはファイバチャネルリンクのようなデータ・リンクにより接続することができる。ＲＤＦ機能は、各記憶装置のところに設置されているＲＤＦアダプタ（ＲＡ）により強化することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ある場合には、ＲＤＦ構成システムを変更するのが望ましい場合がある。しかし、多くの場合、このような変更は特殊なソフトウェアおよび局所記憶装置への標準的でない接続を使用する熟練技術者を必要とする。ホストがＲＤＦ構成を変更することができるようにＲＤＦ構成変更プロセスを自動化することが望ましい場合がある。さらに、ＲＤＦ構成に対する動的変更を可能にした場合、その内部の個々のデバイスが動的構成情報にアクセスしなければならない時に、記憶装置の動作に影響を与えないことが望ましい場合がある。
【課題を解決するための手段】
【０００８】
１つの態様によれば、本発明は、第１のデータ記憶システムの第１のグループのデバイスと第２のデータ記憶システムの第２のグループのデバイスとの間の通信経路を動的に変更するための方法である。通信経路を動的に変更するために、コマンド要求が第１のデータ記憶システムに対して発行される。セットアップ・データは、ユーザ・データを送信する準備ができていない通信リンクにより、第１のデータ記憶システムから第２のデータ記憶システムに送られる。第１のグループのデバイスへの接続の第１の部分の準備が行われる。第１の部分の準備が成功した後で、第２のグループのデバイスへの接続の第２の部分の準備が行われる。接続の第１および第２の部分の準備が成功した後で、通信経路がユーザ・データを送信する準備ができているとの表示が行われる。他の態様によれば、本発明は、第１のデータ記憶システムの第１のグループのデバイスと第２のデータ記憶システムの第２のグループのデバイスとの間の通信経路を動的に変更するためのコンピュータ・プログラム製品であって、上記通信経路を動的に変更するために、上記第１のデータ記憶システムにコマンド要求を発行するための機械実行可能命令と、ユーザ・データを送信する準備ができていない通信リンクにより、上記第１のデータ記憶システムから第２のデータ記憶システムにセットアップ・データを送るための機械実行可能命令と、上記第１のグループのデバイスへの接続の第１の部分を準備するための機械実行可能命令と、上記第１の部分の準備が成功した後で、上記第２のグループのデバイスへの上記接続の第２の部分を準備するための機械実行可能命令と、上記接続の上記第１および第２の部分の準備が成功した後で、上記通信経路がユーザ・データを送信する準備ができていることを表示するための機械実行可能命令とを含む。
【０００９】
添付の図面を参照しながら、本発明の例示としての実施形態の以下の詳細な説明によって発明を理解することができる。
【発明を実施するための最良の形態】
【００１０】
図１について説明すると、この図は、本発明によるコンピュータ・システムの実施形態の一例を示す。コンピュータ・システム１０は、通信媒体１８を通してホスト・システム１４ａ〜１４ｎ、およびデータ・マネージャ・システム１６に接続しているデータ記憶システム１２を含む。コンピュータ・システム１０のこの実施形態の場合には、Ｎ個のホスト１４ａ〜１４ｎおよびデータ・マネージャ・システム１６は、例えば、入出力（Ｉ／Ｏ）操作またはデータ要求を行う際に、データ記憶システム１２にアクセスすることができる。通信媒体１８としては、当業者であれば周知の種々のネットワークまたは他のタイプの通信接続のうちの任意のものを使用することができる。通信媒体１８としては、ネットワーク接続、バス、および／または配線接続（ｈａｒｄｗｉｒｅ）または当業者であれば周知の他の接続などの他のタイプのデータ・リンクを使用することができる。例えば、通信媒体１８としては、インターネット、イントラネット、ネットワーク、またはそれによりホスト・システム１４ａ〜１４ｎおよびデータ・マネージャ・システムが、データ記憶システム１２にアクセスし通信することができ、またコンピュータ・システム１０内に位置する他のものと通信することができる他の接続を使用することができる。
【００１１】
コンピュータ・システム１０に内蔵されている各ホスト・システム１４ａ〜１４ｎ、データ・マネージャ・システム１６およびデータ記憶システム１２は、通信媒体１８のタイプに従って提供しサポートすることができる種々の接続のうちの任意の接続により通信媒体１８に接続することができる。ホスト・コンピュータ・システム１４ａ〜１４ｎに内蔵されているプロセッサ、およびデータ・マネージャ・システム１６としては、インテルをベースとするプロセッサ、ＩＢＭメインフレーム、または各特定の実施形態および用途により入接続トラヒックをサポートすることができる他のタイプの市販のプロセッサなどの種々の市販の１つまたは複数のプロセッサ・システムを使用することができる。
【００１２】
各ホスト・システム１４ａ〜１４ｎに内蔵されているハードウェアおよびソフトウェア、およびデータ・マネージャ・システム１６並びにデータ記憶システム１２に内蔵することができるこれら構成要素の詳細については、本明細書においてはさらに詳細に説明するが、これらは特定の各実施形態により異なることに留意されたい。各ホスト・コンピュータ１４ａ〜１４ｎおよびデータ・マネージャ・システム１６は、すべて同じ物理サイトに設置することができるが、別の方法としては、異なる物理的位置に設置することもできる。ホスト・コンピュータ・システム、データ・マネージャ・システムおよびコンピュータ・システム１０のデータ記憶システム間に異なるタイプの接続を提供するために使用することができる通信媒体の例は、ＳＣＳＩ、ＥＳＣＯＮ、Ｆｉｂｒｅ  ＣｈａｎｎｅｌまたはＧＩＧＥ（ギガビット・イーサネット（登録商標））等のような種々の異なる通信プロトコルを使用することができる。ホスト、データ・マネージャ・システム１６およびデータ記憶システム１２が通信媒体１８に接続することができる接続のうちのいくつかまたはすべては、Ｃｏｎｎｅｃｔｒｉｘ、または電話回線、中継器、マルチプレクサ、または衛星などの他の交換機が存在することができる他の通信装置を通過することができる。
【００１３】
各ホスト・コンピュータ・システムおよびデータ・マネージャ・システムは、異なるタイプの管理タスクにより異なるタイプのデータ操作を行うことができる。図１の実施形態の場合には、ホスト・コンピュータ１４ａ〜１４ｎのうちの任意のコンピュータが、データ操作を行うためにデータ記憶システム１２にデータ要求を発行することができる。例えば、ホスト・コンピュータ１４ａ〜１４ｎのうちの１つの上で稼働しているアプリケーションは、バックアップ、ミラーリングまたは他の管理操作を行うことができ、データ記憶システム１２へのデータ要求を行いながら上記操作を行うことができる。
【００１４】
図２について説明すると、この図は、図１のコンピュータ・システム１０に内蔵させることができるデータ記憶システム１２の実施形態の一例である。図２のデータ記憶システム１２は、マサチューセッツ州ホプキントン所在のＥＭＣ社が製造しているＳｙｍｍｅｔ
ｒｉｘ（商標）記憶システム２０ａ〜２０ｎである。この特定の例の場合には、各Ｓｙｍｍｅｔｒｉｘ（商標）記憶システム２０ａ〜２０ｎは、相互接続（図示せず）を行うこともできるし、各特定の実施形態および特定の実施形態で使用する異なるプロトコルによるデバイスにより異なる任意の１つまたはそれ以上の通信接続３０を通して、ホストおよびデータ・マネージャ・システムに接続することもできる。さらに、使用する通信接続のタイプは、ホスト・コンピュータ・システムが、例えば、データ記憶システム１２に発行することができる入出力要求の速度が要求する帯域幅および処理能力に関連するシステム・パラメータおよび要件のようないくつかのシステム・パラメータおよび要件により異なる。以下にさらに詳細に説明するこの例の場合には、素子２０ａのより詳細な図面を参照する。２０ｎのような任意の１つまたはそれ以上の他の素子に類似のより詳細な説明を適用することもできるが、これについては説明を簡単にするために省略してあることに留意されたい。また、ある実施形態は、１つまたはそれ以上のＳｙｍｍｅｔｒｉｘ（商標）システムと一緒に、他のタイプのデータ記憶システムを含むことができることにも留意されたい。各２０ａ〜２０ｎは、例えば、ホスト・コンピュータ・システムおよび／またはデータ・マネージャ・システムに記憶サービスを提供するために、コンピュータ・システム１０のある実施形態に内蔵されているリソースであってもよい。
【００１５】
２０ａのような各Ｓｙｍｍｅｔｒｉｘ（商標）システムは、ｎ行のディスクまたはボリューム２４ａ〜２４ｎからなる装置２４のような複数のディスク・デバイスまたはボリュームを含むことができる。この装置においては、ディスクまたはボリュームの各行は、ディスクまたはボリューム２４の一部へまたはからの操作のバックエンド管理を担当するディスク・アダプタ（「ＤＡ」）またはディレクタに接続することができる。Ｓｙｍｍｅｔｒｉｘ（商標）システム２０ａにおいては、２３ａのような１つのＤＡが、行２４ａのようなディスクまたはボリュームの行の管理を担当することができる。各ＤＡ２３ａ〜２３ｎは、例えば、バス３０により、グローバル・メモリ２５ｂとして指定されている特定の部分を含むキャッシュに接続することができる。ＤＡ２３ａ〜２３ｎは、例えば、他のディスク・プロセッサまたはディレクタおよびシステム２０ａの他の構成要素と通信しているグローバル・メモリ２５ｂに内蔵することができるキャッシュへおよびキャッシュからのデータ操作を実行することができる。一般的に、グローバル・メモリ２５ｂは、システム２０ａの構成要素間の通信を容易にするために使用することができる。他の部分２５ａは、各実施形態により異なる他の指定と一緒に使用することができるメモリのその部分である。
【００１６】
Ｓｙｍｍｅｔｒｉｘ（商標）システム２０ａのある実施形態は、システム２０ａを管理し監視するために使用するサービス・プロセッサ２２ａを含むことができる。ある実施形態の場合には、サービス・プロセッサ２２ａを、例えば、システム２０ａに関連する入出力性能に関する性能データを収集する際に使用することができる。この性能データは、例えば、異なるホスト・コンピュータ・システム１４ａ〜１４ｎから行うことができるデータ要求に関連する性能測定値に関連させることができる。この性能データを収集し、例えば、グローバル・メモリおよび／または他の記憶領域内に記憶することができる。
【００１７】
システム２０ａは、また、１つまたはそれ以上のホスト・アダプタ（ＨＡ）またはディレクタ２１ａ〜２１ｎを含むことができる。これらの各ＨＡは、１つまたはそれ以上のホスト・システムとグローバル・メモリとの間の通信およびデータ操作を管理するために使用することができる。
【００１８】
ＥＭＣ社のＳｙｍｍｅｔｒｉｘ（商標）システムまたはディスクなどのこの実施形態で説明した特定のデータ記憶システムは、本発明を制限するものと解釈すべきではない。他のタイプの市販のデータ記憶システム、およびプロセッサおよびこれら特定のデバイスへのアクセスを制御するハードウェアも実施形態に内蔵させることができる。
【００１９】
また、図に示すように、記憶システム２０ａ内には、ＲＡ、すなわち、リモート・アダプタ４０が位置する。ＲＡとしては、２つのＳｙｍｍｅｔｒｉｘデータ記憶システム間のようなデータ記憶システム間の通信を容易にするために使用するプロセッサを含むハードウェアを使用することができる。ＲＡは、マサチューセッツ州ホプキントン所在のＥＭＣ社から販売されているリモート・データ・ファシリティ（ＲＤＦ）製品と一緒に使用することができる。
【００２０】
ホスト・システムは、記憶システムにチャネルを通してデータおよびアクセス制御情報を提供することができるし、記憶システムは、また同様にチャネルを通してホスト・システムにデータを提供することができる。ホスト・システムは、直接記憶システムのディスク・ドライブにアドレスしないで、むしろ、データへのアクセスは、ホスト・システムから複数の論理装置または論理ボリューム（ＬＶ）のように見える１つまたはそれ以上のホスト・システムに対して行うことができる。ＬＶは、実際のディスク・ドライブに対応できてもよいし、できなくてもよい。例えば、１つまたはそれ以上のＬＶは１つの物理ディスク・ドライブ上に常駐することができる。１つの記憶システム内のデータには、複数のホストがアクセスすることができ、ホストはその中に常駐するデータを共有することができる。ＨＡは、Ｓｙｍｍｅｔｒｉｘデータ記憶システムおよびホスト・システム間の通信の際に使用することができる。ＲＡは、２つのＳｙｍｍｅｔｒｉｘデータ記憶システム間の通信を容易にするために使用することができる。ＤＡは、その上に常駐する関連するディスク・ドライブおよびＬＶへの通信を容易にするために使用することができる。
【００２１】
ＤＡは、ボリュームまたはデバイス上で入出力操作を行うことができる。以下の説明において、１つのＤＡが、ディスク上に常駐することができる複数のＬＶの入出力操作に関連するデータ要求を管理するＬＶによりデータにアクセスすることができる。ＤＡは、特定のＤＡに関連するいくつかのＬＶに対するジョブ・レコードを生成することによりこのアクセスを行うことができる。これらいくつかのジョブ・レコードは、各ＤＡにより記憶され管理されるデータ構造のいくつかのＬＶに関連することができる。
【００２２】
図３について説明すると、この図は、ホスト４８、第１のデータ記憶システム５０ａおよび第２のデータ記憶システム５０ｂの間の関係を示すコンピュータ・システム４６の実施形態の一例である。図３の実施形態は、例えば、図面を簡単にするためにデータ記憶システム５０ａおよび５０ｂの一部の詳細だけを含むコンピュータ・システムの構成要素の略図であることに留意されたい。ホスト４８は、接続４９ａを通してＨＡ５２ａによりデータ記憶システム５０ａにコマンドを発行することができる。データ記憶システム５０ａと５０ｂとの間の通信は、それぞれデータ記憶システム５０ａおよび５０ｂに内蔵されているＲＡ５２ｂおよびＲＡ５２ｃにより接続４９ｂを通して容易に行うことができる。リンク４９ｂとしては、データをデータ記憶システム５０ａから遠隔データ記憶システム５０ｂにコピーさせるＲＤＦリンクを使用することができる。５４ａのようなデバイスからのデータを、遠隔記憶装置５４ｂ上のデータを局所記憶装置５４ａ上のデータと同じものにするＲＤＦリンク４９ｂを使用して、遠隔データ記憶システム５０ｂの記憶装置５４ｂにコピーすることができる。
【００２３】
データ記憶システム５０ａに内蔵されているデバイスの一部とデータ記憶システム５０ｂに内蔵されているデバイスとの間でのＲＤＦマッピングの供給は、データ記憶システム５０ａに内蔵されているデータをそのままミラーリングする遠隔データ記憶システム５０ｂ上のＬＶをセットアップすることにより行うことができる。ホスト４８は、データ記憶システム５０ａ上の論理装置により、データを読み出したり、書き込んだりすることができる。ＲＤＦマッピングは、変更したデータをデータ記憶システム５０ａからデータ記憶システム５０ｂ上のＲＤＦマッピングを通して識別した対応するデバイスに転送すること
ができる。操作の定常状態において、遠隔データ記憶システム５０ｂ上の論理装置は、ＲＤＦマッピングおよびデータ記憶システム５０ａを通して、対応するデバイスに含まれる同一データを含む。ホストがアクセスしているデータ記憶システム５０ａ上の論理装置は、「Ｒ１」ボリュームと呼ぶことができ、一方、５０ｂのような遠隔データ記憶システム上の対応する論理装置は「Ｒ２」ボリュームと呼ぶことができる。操作中、ホスト４８は、５０ａ内のＲ１ボリュームによりデータを読み出したり、書き込んだりすることができ、ＲＤＦは、Ｒ１ボリュームから５０ｂ内のＲ２ボリュームにデータを自動的にコピーしたり、このデータを更新したりすることができる。
【００２４】
Ｒ１／Ｒ２ペアは、種々の異なる方法で定義することができる。Ｒ１／Ｒ２ペアは、構成データ・ファイルが、例えば、グローバル・メモリ内に位置することができる静的構成データにより定義することができる。これを、５０ａのようなデータ記憶システムの初期化の際にデータ・ファイルが読み出され、変更することができないＲ１／Ｒ２ペアとして存在し続ける静的情報と呼ぶことができる。静的構成ファイルを使用する場合には、Ｒ１／Ｒ２ペアの変更（生成および破壊を含む）のための唯一の方法は、静的構成ファイルを変更し、データ記憶システムを再度初期化する方法である。さらに、構成データ・ファイルを特殊なソフトウェアにより変更しなければならない場合があり、また、それには特殊な構成データ・ファイルをよく知っている技術者の助けが必要になる。
【００２５】
静的構成データの他に、データ記憶システムは、また、グローバル・メモリの一部内に記憶することができる動的構成データを含むことができる。ある実施形態の場合には、動的構成データは、静的構成データが含む任意の情報を書き換えることができる。他の実施形態の場合には、動的構成データは、例えば、対応する項目を有する静的構成データ・ファイル内にエントリが存在しない場合にだけ使用することができるような追加的なものにすぎない。動的および静的構成技術を含む他に、ある実施形態は、また、データ記憶システム上のゼロまたはそれ以上のＲＤＦデバイスがその内部に含まれるデバイスにサービスする１つのＲＡの制御下で、特定のグループと関連するＲＤＦグループのコンセプトを含むこともできる。ある実施形態の場合には、デバイスを含まない空のグループを使用することができる。ＲＤＦグループは、静的構成ファイルを使用するように静的に定義することもできるし、動的に定義することもできる。
【００２６】
ある状況の場合には、ホスト４８が、システムの動作中にＲＤＦボリュームを動的に生成したり、破壊したりすることができれば有利な場合がある。例えば、引用により本明細書の記載に援用する、「動的ＲＤＦ」（ＤＹＮＡＭＩＣ  ＲＤＦ）という名称の２００１年１１月３０日出願の米国特許出願第０９／９９７，８１０号にこのような技術が記載されている。Ｒ１／Ｒ２ペアを破壊することができるように、またはＲ１／Ｒ２ペアを生成することができるように、ＲＤＦボリュームをペアで生成したり、破壊したりすることができることに留意されたい。Ｒ１／Ｒ２ペアの生成または破壊は、ホスト４８によりスタートすることができる。ホストは、マルチホップ・システム・コマンドを送ることができる。マルチホップ・システム・コマンドは、複数の記憶装置に供給され、複数の記憶装置が実行する操作を示す１つのシステム・コマンドである。例えば、ホスト４８は、ＲＤＦボリュームのセットアップおよび管理を制御するために、各記憶装置が内部で使用するテーブルを記憶システム５０および５０ｂそれぞれに局所的に変更させることにより、Ｒ１ボリュームがデータ記憶システム５０ａ上に存在し、Ｒ２ボリュームが遠隔データ記憶システム５０ｂ上に存在する場合に、特定のＲ１／Ｒ２ペアの破壊を要求するマルチホップ・システム・コマンドを送ることができる。Ｒ１／Ｒ２ペアの生成は、一方の記憶装置上のＲ１ボリュームの生成と、他方の記憶装置上でのＲ２ボリュームの生成を含む。
【００２７】
ある実施形態は、また、１つのＲＡが、複数のＲＤＦグループにサービスすることができる交換ＲＤＦ環境を含むことができる。交換ＲＤＦ環境においては、ＲＡはスイッチに
より接続し、通信を行う。スイッチ上の通信点およびその間のリンクは動的に変更することができる。このことは、例えば、変更することができない定義された終点およびリンクを有し、静的であることを特徴とする二地点間タイプの接続とは対照的である。交換ＲＤＦ環境は、例えば、ファイバ・スイッチおよびＧｉｇＥ接続を使用することができる。
【００２８】
以下に、ＲＤＦリンクを遠隔システム呼出しにより動的に追加または除去することができる交換ＲＤＦ環境で、ＲＤＦグループを動的に生成、破壊、およびそうでない場合、変更するための技術について説明する。下記の説明は、また、あるグループがそれに関連する名前を有することはできるが、任意の関連するデータ記憶装置を有することはできない空のＲＤＦグループの生成についても説明する。ＲＤＦグループの生成、破壊およびその他の変更についての以下の説明に関連して、局所データ記憶システム上の第１のＲＤＦグループが、遠隔データ記憶システム上に対応するＲＤＦグループを有するＲＤＦグループのペアを定義する。このペアは、各Ｒ１およびＲ２がＲＤＦグループを参照する点を除けば、Ｒ１／Ｒ２ペアに類似している。
【００２９】
さらに、本明細書に記載する技術は、任意の２つのＲＤＦグループ間でのリンクの初期化および割当てを必要としない。それどころか、本明細書に記載する技術は、ＲＤＦグループ間に物理リンクが存在していさえすればよい。
【００３０】
下記の実施形態は、いくつかの要件または制約を含む。ある実施形態が含む特定の要件および／または制約は、特定の各実施形態の詳細により変化する。システム呼出しを使用する場合には、ＲＤＦグループは、局所データ記憶システムおよび遠隔データ記憶システムの両方にペアで追加または除去される。各システム呼出しは、各データ記憶システム内の１つのグループだけを生成または除去することができる。動的ＲＤＦグループを変更するためのシステム呼出しの唯一の例は、任意の所与の時点で実行することができる。すでに説明したように、ＲＤＦグループ・ペアの生成または除去は、当該データ記憶システム間にすでに確立されたリンクが存在するとの仮定を行わない。動的グループ情報は、例えば、停電の際には不揮発性メモリに記憶される。動的ＲＤＦグループに対するシステム呼出しは、動的ＲＤＦグループだけを追加し、除去することができる。従って、例えば、このコマンドを使用して、静的構成ファイル内に位置するグループの任意の正しい使用を変更することはできない。動的ＲＤＦグループ・システム・コマンドは、本明細書の他のところに記載するように、動的構成ファイルの内容に影響を与える。このコマンドは、静的構成データ・ファイル内に含まれる値を更新するために使用することはできない。空でないＲＤＦグループは、動的ＲＤＦグループ・システム・コマンドにより除去することはできない。
【００３１】
動的グループ・ロックは、この動的ＲＤＦグループ・コマンドの唯一の例が１回だけ実行するのを確実にするための機構として使用することができる。この実施形態の場合には、動的グループ・ロックは、動的ＲＤＦグループ・コマンドの一例の実行中に信号としての働きをするビット・フラグとしての性格を有することができる。このビット・フラグは、各データ記憶システム上のグローバル・メモリ内に記憶することができる。この技術は、排他的にソフトウェアおよびハードウェア・ロック保証を行わない。それどころか、このフラグはすべてのプロセスが遵守する信号送信技術としての働きをする。他の実施形態は、他の技術を使用することができる。
【００３２】
本明細書に記載するように、存在しないグループは、１つまたはそれ以上の他のＲＤＦグループと通信するために、データ記憶システム内のグローバル・システム待ち行列またはＧＳＴを使用することができる。存在する動的グループは、システムの初期化に関連してすでに定義されている静的待ち行列を有することができる。それ故、本明細書で説明する動的ＲＤＦグループ・システム・コマンドに対するＲＤＦグループを管理しながら、Ｒ
Ａとの通信に関連して、ＧＳＴ待ち行列を同じデータ記憶システム内のＲＡ間の通信用の手段として使用することができる。
【００３３】
ある実施形態は、複数の呼出しを定義するのではなく、動的グループ・コマンドを追加および除去するための１回の呼出しだけにより動的ＲＤＦグループ・コマンドを供給することができる。動的システム・グループに対する変更は、関連するディレクタまたはＲＡの中のいくつかまたは全部により、あるグループに対するサポートの追加または除去を含む。動的ＲＤＦグループの除去に関連して、この特定の実施形態は、最後のディレクタが除去され、グループが空でない場合には故障になる。あるグループが除去されると、関連するリンクも除去される。これがそのグループに対する最後のリンクである場合には、グループ情報も除去される。
【００３４】
局所および遠隔データ記憶システム間にリンクを持たない状態で、遠隔データ記憶システム上にグループを生成および除去するためのグループ情報を転送するために特殊なタスクを使用することができる。２つのデータ記憶システムは、その間に、例えば、スイッチを通して接続しているような物理リンクを有する。特殊なタスクが使用する一般的な技術は、未使用のリンクのためのリンク発見プロセスをスタートし、遠隔データ記憶システムが動的グループ情報を受信した直後であって、初期化を終了する前にリンク発見プロセスを終了する。従って、状態は局所データ記憶システムに戻る。このリンクは再度初期化されていない状態になる。未使用のリンクは、現在２つのＲＡ間または他のタイプのユーザ・アプリケーション間で通信として割当てられていないまたは使用されていない既存の物理接続と呼ぶことができる。リンク初期化のプロセスは、局所データ記憶システム上でスタートし、遠隔システム呼出しにより通信した動的グループ・データに関する情報は、遠隔データ記憶システムに送られる。上記情報が遠隔データ記憶システムに送信され、局所データ記憶システムが、遠隔データ記憶システムが受信中のこの情報に関する状態を受信すると、局所データ記憶システムは、リンクが初期化されていないことを表示する。この特殊なタスクおよびその処理については、以下にさらに詳細に説明する。
【００３５】
各ディレクタＲＡ、ＤＡおよびＨＡは、すべてＲＤＦグループに局所的に関連して記憶することができる情報を含む。ＲＤＦグループに関連する変数のうちのいくつかだけが、静的構成ファイル内で初期化することができる。ＲＤＦグループの生成に直接関連するこれらＲＡの他に、ＨＡ、ＤＡ等が維持しているグループ情報を更新する必要がある場合がある。ＲＤＦグループ情報に動的な変更がある場合には、あるグループの追加または除去に直接関連していないディレクタを含むすべてのディレクタにその旨を通知することができる。
【００３６】
動的ＲＤＦグループ変更に関連して、ＨＡおよびＤＡのような非ＲＤＦディレクタが確実に更新した情報を受信するように、ある実施形態において、いくつかの異なる機構を使用することができる。最初に、以下に説明するように、変更を担当する動的ＲＤＦグループのＲＡは、他のディレクタにＲＤＦグループに関連する変更について通知するために、ＧＳＴ待ち行列要求を送信することができる。しかし、以下に説明するように、担当ＲＡは各ディレクタが、グローバル・メモリから新しい情報を呼み出す際に、この更新を実際に行ったことを確認しない。各ディレクタ上での実行のために、各ディレクタに、グローバル・メモリからＲＤＦグループ動的グループ・テーブルまたはＤＲＧＴの最新のコピーをダウンロードし、各ディレクタ上に局所的に維持されているすべてのデータ内で要求されたグループ・マスクを形成するように命令する優先順位の低いタスクを追加することができる。優先順位の低いタスクが、グローバル・メモリ・ロックをチェックするというようなことにより、動的ＲＤＦグループ・システム呼出しコマンドが、データ記憶システム内で現在実行中であることを発見した場合には、優先順位が低いタスクは、実行を継続する前にロックが開放されるまで待機することができることに留意されたい。
【００３７】
動的ＲＤＦグループ変更コマンドを実行するために、以下にさらに詳細に説明する処理ステップで使用するいくつかのデータ構造について以下に説明する。
図４について説明すると、この図は、動的ＲＤＦグループ・テーブル（ＤＲＧＴ）の実施形態の一例である。各ディレクタは、ディレクタが常駐するデータ記憶システムに特有のＤＲＧＴ識別情報を有する。ＤＲＧＴは、可能な各ＲＤＦグループに対するエントリを含む。ある実施形態の場合には、１つのディレクタにより管理することができるＲＤＦグループの最大数は６４である。それ故、この実施形態のテーブルは６４のエントリを含む。任意の特定の実施形態で管理することができるＲＤＦグループの最大数は一定の数ではなく、本明細書に記載する６４という特定の数に限定されない。本明細書に記載する例で使用する他の特定の数および値も記載してある。これら特定の値は、本明細書に記載するコンセプト、技術および原理に対する制限と解釈すべきではなく、むしろ各実施形態により変化する要因と解釈すべきである。
【００３８】
ＤＲＧＴの各ディレクタのローカル・コピーは、不揮発性メモリの一部に記憶される。本明細書に記載するように、ディレクタとしては、本明細書の他の場所に記載するように、例えば、ＲＡ、ＤＡまたはＨＡを使用することができる。ＤＲＧＴテーブルのコピーも、図２に関連して本明細書の他のところに記載するように、グローバル・メモリに記憶される。グローバル・メモリ内に記憶しているＤＲＧＴのコピーは、ＤＲＧＴテーブルの最新の正確なコピーであると見なされることに留意されたい。この実施形態の場合には、各ディレクタの不揮発性メモリ位置に記憶しているＤＲＧＴテーブルのコピーは、グローバル・メモリからのテーブルの完全なコピーである。
【００３９】
図５について説明すると、この図はＤＲＧＴテーブル１００のエントリの実施形態のより詳細な例である。この特定の実施形態の場合には、データ記憶システムのＤＲＧＴ内の各エントリは、静的構成ファイルからの情報、エントリに対応するグループをサポートしているデータ記憶システムのディレクタのビットマップ、特定の実施向け情報、および有効フラグを含む。より詳細に説明すると、この例のエントリ１０１は、グループ構成情報１０２、現在のグループをサポートしているこのデータ記憶システムのディレクタ１０４、他のサポートされているディレクタ１０６、リモート・サイトのアンカー・ディレクタ１０８、有効フラグ１１０、およびこの特定のエントリ１１２内の任意の追加フィールドのリストを含む。レコード・エントリ１０１のフィールド１０２に内蔵されているこの特定のグループ構成情報については、以下に詳細に説明する。グループ構成情報エントリ１０２に内蔵されている情報のコピーは、システム内の他の場所に記憶しているグループを記述している他のタイプの構成情報に対する静的構成ファイルに内蔵することができるグループ構成情報と同じものであることに留意されたい。ある実施形態の場合には、静的構成ファイル・データのコピーは、各データ記憶システム上のグローバル・メモリに記憶することができる。データ記憶システム内の各ディレクタは、この静的構成データのすべてまたは一部のコピーを局所的に記憶することができる。フィールド１０４は、このレコード・エントリ１０１が現在記述しているグループをサポートするこのデータ記憶システム内のこれらのディレクタ・リストを作成する。データ記憶システムとしては、例えば、ＲＡ、ＨＡ等のような複数のディレクタを含むことができる対称データ記憶システムを使用することができる。フィールド１０４は、現在のグループをサポートしているこの特定のデータ記憶システム内のこれらのディレクタのリストを作成する。フィールド１０４としては、符号化されたビットマップ、またはディレクタを識別するための他のタイプの表示を使用することができる。
【００４０】
フィールド１０６および１０８は、ＧｉｇＥ接続を使用する特定の実施形態に関連して使用される。これらフィールドの特定の使用方法については、本明細書の他のところでより詳細に説明する。他のサポートされているディレクタ・フィールド１０６は、リモート
・サイトのディレクタを識別するフィールド１０４類似のビットマップなどのリストを含む。フィールド１０８は、それにより動的ＲＤＦグループの確立に関連して通信を送ることができる、リモート・サイトのところのアンカー・ディレクタと呼ぶことができる特定のディレクタである。この特定の実施形態の場合には、フィールド１０８はＧｉｇＥ実施のためだけに使用される。同様に、他の実施形態は、本明細書に記載する他の実施特定フィールドの使用を必要とする場合がある。
【００４１】
フィールド１１０は、レコードまたはエントリ１０１に内蔵される情報は有効であることを示す１を含む、そうでない場合には、０であるビット・フラグとして実施することができる有効フラグを含む。他のフィールド１１２も、ＤＲＧＴの各エントリに内蔵することができる。これらの他のフィールドは、例えば、各特定の実施形態および特定の実施形態に対する任意の整合要件の実行に関連して使用することができるパディング文字により変化する場合がある追加情報を含むことができる。
【００４２】
ＤＲＧＴのローカル・コピー内のエントリは、以下に説明する処理ステップに関連してディレクタにより更新することができることに留意されたい。
図６について説明すると、この図は、図５に関連してすでに説明したグループ構成情報のより詳細な情報の例である。この特定の実施形態の場合には、グループ構成情報は、構成フラグ１２０、グループ・ラベル・データ１２２、グループ番号情報１２４、デバイス・リンク特定情報１２６、および任意の他の情報１２８を含む。構成フラグ１２０およびグループ・ラベル１２２およびグループ番号１２４は、異なるタイプの通信リンクに関連して使用される共通フィールドとして機能することができる。本明細書の他のところで説明したように、通信リンクは、例えば、ファイバ・スイッチまたはＧｉｇＥ接続を含むことができる接続である。構成フラグ１２０は、特定のグループを構成するための情報を含むことができる。それぞれのフィールド１２２および１２４内のグループ・ラベルおよびグループ番号は、ＲＤＦグループについての識別情報を含む。この特定の例の場合には、フィールド１２４内のグループ番号により示されたＲＤＦグループは、例えば、グループＡに対応する０、グループＢに対応する１などを有することができ、この場合、各特定のＲＤＦグループは、この特定のＲＡディレクタによりサービスを受けるデバイスのグループを参照する。この特定の例のグループ・ラベルは、１０までの文字の文字列を参照することができる。グループ・ラベルは、接続に関連する両方のデータ記憶システムにおいて同じものである。グループ・ラベルは、また、接続しているデータ記憶システムの一連番号およびグループ番号に対するニックネームとして特徴づけることもできる。
【００４３】
図７について説明すると、この図は、２つのデータ記憶システム１３２ａおよび１３２ｂの実施形態１３０の一例である。２つのＲＤＦグループはこの例で定義される。第１のグループは、接続１３４を有するＲＤＦグループＡおよびＣの間のＬＡＢＥＬ１として定義される。ＬＡＢＥＬ２として定義された第２のＲＤＦグループは、ＲＤＦグループＢおよびＤの間の接続１３６に関連する。グループＡおよびグループＢは、データ記憶システム１３２ａ内に位置していて、グループＣおよびグループＤは、データ記憶システム１３２ｂ内に位置する。ＲＤＦグループは、上記グループにサービスを行う特定のＲＡディレクタに割当てられるゼロまたはそれ以上のＲＤＦデバイスの集合であるとして特徴づけることができる。
【００４４】
ある実施形態は、グループの定義および実施に関連して異なる制約を含むことができる。ある実施形態は、また、デバイス・ラベルに対して異なる制約および命名規則を含むことができる。例えば、特定の名前が指定されていない場合には、デフォールト・ラベル名を使用することができる。ある実施形態は、例えば、デフォールト・ラベル名を使用するグループは、空のグループであってはならないという制約を含むことができる。他の実施形態は、ネーミングおよび特定の各実施形態により変化する場合がある、他のタイプの仕
様に関連する異なる制約を有することができる。この特定の例の場合には、デフォールトＲＤＦグループ・ラベル名は、新しい動的ＲＤＦグループの初期化に関連している場合があるので、空のグループに関連して使用することができない。空のグループは、いかなるデバイスも含まないものとして特徴づけることができる。
【００４５】
図６に戻って説明すると、「ＬＡＢＥＬ１」または「ＬＡＢＥＬ２」などのグループ・ラベル１２２は、各ＲＤＦグループが、異なるデータ記憶システムに内蔵されている図７のようなＲＤＦグループのペアに関連することができる。同様に、グループ番号１２４は、図７に関連して説明したＡ、Ｂ、ＣおよびＤのような特定の各グループを表すための符号化であってもよい。フィールド１２６は、使用する通信接続により変化する異なるタイプのリンク特定情報を含むことができる。例えば、図７の場合には、異なるデータ記憶システムのＲＤＦグループＡおよびＣの間のリンクまたは通信接続１３４としては、ファイバ・スイッチ・リンクを使用することができる。ファイバ・スイッチ・リンクを使用した場合には、ディレクタのアドレスを入手するために一連番号を使用することができる。また、本明細書の他のところでさらに詳細に説明するように、異なるＲＤＦグループにサービスを行っているＲＡのアドレスを入手するために、他のタイプの情報を異なるタイプの接続およびリンクに対して使用することができる。ＲＡアドレス情報を入手するために使用する接続および技術のタイプは、特定の各実施形態により異なる場合がある。
【００４６】
ある実施形態は、ファイバ・スイッチおよびＧｉｇＥ接続のような異なるデータ記憶システムのリモート・ディレクタ間で任意の１つまたはそれ以上のタイプの通信接続をサポートすることができる。異なるタイプの通信接続は、ＲＡまたは他のディレクタのリモート・アドレスを入手する際に異なる技術を使用することができる。例えば、リンク特定情報１２６に内蔵されている情報は、このようなアドレスの決定プロセスで使用することができる。ファイバ・スイッチ接続の場合には、一連番号を有するディレクタのアドレスを入手するために、ワールド・ワイド・ネーミング・サービス（ＷＷＮ）を使用することができる。ＧｉｇＥのような他のタイプの接続の場合には、他の技術を使用することができる。何故なら、例えば、ＷＷＮのようなネーミング・サービスを使用することができないからである。
【００４７】
ＧｉｇＥ接続をサポートしているある実施形態でのディレクタ・アドレスの入手に関連して使用することができるある技術について以下に説明する。
図８について説明すると、この図は、Ｓｙｍｍｅｔｒｉｘデータ記憶システムのような遠隔データ記憶システムのディレクタ間での通信を容易にするためのＧｉｇＥ接続と一緒に使用することができるテーブルのある実施形態１４０の一例である。ファイバ・スイッチ接続に関連して、その一連番号を有するターゲット・ディレクタのアドレスを入手するために、ネーミング・サービスを使用することができる。ＧｉｇＥ接続に関連して、ディレクタの特定のアドレスを決定するために、別の技術を使用することができる。図８の１４０のテーブル１４２および１４４は、ディレクタのＩＰアドレスを決定する際に使用することができる。テーブル１４２および１４４の例は、例えば、グローバル・メモリまたは構成情報を記憶することができるメモリの他の部分の各データ記憶システムに定義し、記憶することができる。これらのテーブルは不揮発性メモリに記憶することができる。
【００４８】
テーブル１４２は、顧客の環境に含まれるすべての他のデータ記憶システムの一連番号を有するエントリを含むリモート・ボックス・テーブルと呼ぶことができる。テーブル１４２は、例えば、現在のデータ記憶システムが遠隔地から接続することができる他の各データ記憶システムに対する一連番号を含むエントリを含むことができる。
【００４９】
各データ記憶システムは、また、そのグローバル・メモリに、例えば、テーブル１４４の一例を記憶することができる。テーブル１４４は、すべてのＧｉｇＥディレクタ番号お
よび関連するＩＰアドレス情報を含むことができる。テーブル１４４は、すべてのＧｉｇＥディレクタ番号および各データ記憶システムに対する関連するＩＰアドレスが一緒にグループ分けされるように編成することができる。テーブル１４２から入手した一連番号は、特定のデータ記憶システム内に位置する１つまたはそれ以上のＧｉｇＥディレクタのアドレスを入手するためのテーブル１４４への索引として使用することができる。特定のＧｉｇＥディレクタ番号とペアになっているデータ記憶システムの特定の一連番号を使用することにより、対応するＩＰアドレスを接続の確立に関連して入手し、使用することができる。この実施形態の場合には、通信が送られるＧｉｇＥ実施形態の特定のディレクタを動的ＲＤＦグループ・システム呼出しの入力パラメータとして指定することができる。
【００５０】
ある実施形態は、ＧｉｇＥまたは他のディレクタの特定のＩＰアドレスに関する情報を提供するためのシステム呼出しを含むこともできるし、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を定義することもできる。すなわち、本明細書に記載するように、テーブル１４０内の値に直接アクセスする代わりに、データ記憶システムに内蔵されているソフトウェア機能は、例えば、一連番号およびディレクタ番号の入力パラメータと一緒にＡＰＩを供給することができ、出力パラメータとしてネットワーク・アドレスのような特定のアドレスを返送することができる。これは、例えば、本明細書に記載するファイバ・チャネル実施形態と一緒に使用することができるようなＷＷＮサービスの代案として使用することができる。
【００５１】
図９について説明すると、この図は、特定のデータ記憶装置のグローバル・メモリに内蔵することができるＤＲＧＴエントリの一実施形態２００の一例である。本明細書の他のところで説明したステップ３９０および５６２の場合のような処理で一時構造が生成される場合に、この構造を生成し、使用することができる。グローバル・メモリ内に記憶しているＤＲＧＴ内のエントリは、各ディレクタにより局所的に記憶することができるＤＲＧＴのエントリの情報のスーパーセットであることに留意されたい。ＤＲＧＴのグローバル・メモリ・バージョンの特定のエントリに対応するグローバル・メモリ（ＧＭ）の一時構造２００は、図５の素子１０１に関連して本明細書の他のところで説明したようにＤＲＧＴエントリ２０４を含む。さらに、ＤＲＧＴのグローバル・メモリ・バージョンの各エントリは、追加のメタデータ２０６を含む。
【００５２】
追加のメタデータ２０６は、ＲＤＦグループ番号を含むことができる。このグループ番号は、静的構成ファイルの正しいエントリが、特定のグループに対して確実に入手されるようにディレクタにより使用される。ＧＭ一時構造２００を生成中のディレクタには、システム呼出しの特定のグループ番号が送られ、追加のメタデータ・フィールド２０６内に収容される。次に、ディレクタは、グローバル・メモリ・テーブルＤＲＧＴエントリから他のデータをコピーし、ＤＲＧＴのグループ番号がパラメータ内に指定したグループ番号と一致することを確認する。エリア２０６内のグループ番号は、本明細書に記載するように、例えば、第１のディレクタにより生成された一時構造の呼出しパラメータのグループ番号が、以降の処理で他のディレクタが受信し使用するグループ番号と一致することを確認する目的で、処理ステップの保護およびデータ確認のために使用することができる。他の実施形態は、すでに説明したものの他に、グローバル・メモリの一時構造の追加情報を含むことができることに留意されたい。これは特定の各実施形態により変化する場合がある。
【００５３】
図１０について説明すると、この図は、動的ＲＤＦグループの生成および変更の際に使用することができるコンピュータ・システム３００の構成要素の実施形態の一例である。本明細書の他のところで説明したように、ＲＤＦグループは、ゼロまたはそれ以上のＲＤＦデバイスとして特徴づけることができる。通常、図２のところで説明した特定のＲＡは、１つまたはそれ以上のグループの特定の組にサービスを提供する。動的ＲＤＦグループ
の形成および変更の際に他の実施形態および構成も使用することができるが、以下に説明し図に示すものは、遠隔システム呼出しを使用する一例である。例えば、構成３００の実施形態について説明すると、ホスト３０２はデータ記憶装置Ｘ０  ３０４に接続している。ホスト３０２は、データ記憶システムＸｎ−１  ３０６とデータ記憶システムＸｎ  ３０８との間に動的ＲＤＦグループのペアを生成する際に、遠隔手続き呼出しを使用することができる。データ記憶システム３０４および３０６の間に介在するゼロまたはそれ以上の他のデータ記憶システムが存在する場合がある。本明細書に記載する技術は、ホストがデバイス３０６に直接接続していない遠隔システム呼出しに関連して使用されるが、本明細書で使用する技術は、またホスト３０２および３０６のようなデータ記憶システムの間に直接接続が存在する動的ＲＤＦグループの確立のために使用する手続き呼出しの際に使用することができる。
【００５４】
データ記憶システム３０６および３０８の間にＲＤＦグループのペアを生成しているホスト３０２に関連して、引用により本明細書の記載に援用する、「マルチホップ・システム呼出し」（ＭＵＬＴＩＨＯＰ  ＳＹＳＴＥＭ  ＣＡＬＬＳ）という名称の２０００年６月１２日出願の米国特許出願第０９／５９１，８２７号に記載されているマルチホップ手続き呼出しを使用することができる。マルチホップ・システム呼出しを使用して、ホスト３０２は、データ記憶システム３０６への間接接続を通して、データ記憶システム３０６および３０８の間にＲＤＦ動的グループを確立するために、遠隔手続き呼出しを使用することができる。この例の場合、マルチホップ・システム呼出しを使用して、データ記憶システム３０４とデータ記憶システム３０６との間にリンクが設けられる。マルチホップ・システム呼出しのビットマップは、データ記憶システムＸｎ−１  ３０６だけが遠隔システム呼出しを実行することを示す。さらに、マルチホップ・システム呼出しのパラメータとして、マルチホップ・システム呼出しを実行するために指定されるデータ記憶システム３０６Ｘｎ−１上のリモート・ディレクタの識別子を含んでいる。マルチホップ・システム呼出しは、本明細書に記載するように使用することができるが、遠隔システム呼出しは、動的ＲＤＦグループ・コマンドと関連して使用することができることに留意されたい。例えば、遠隔システム呼出しを使用する実施形態は、ホスト３０２〜３０６に間接的に接続している中間データ記憶システムを通して、システム呼出しを発行するのではなく、データ記憶システム３０６に遠隔手続き呼出しを直接発行するホスト３０２を含むことができる。
【００５５】
データ記憶システム３０６および実施形態３００に内蔵される他のデータ記憶システム内には２つ以上のＲＡが存在する場合がある。マルチホップ・システム呼出しは、データ記憶システム３０６に到着するまで、１つまたはそれ以上の介在データ記憶システムを通してホスト３０２から転送される。データ記憶システム３０６上のマルチホップ・システム呼出しのパラメータが指定したディレクタＲＡは、遠隔システム呼出しを受信し、実行する。データ記憶システム３０６は、遠隔システム呼出しを受信した後で実行を終了する。その後で、遠隔システム呼出しが、動的ＲＤＦグループの生成および／または変更の実行を終了した後で、システム３０６および３０８の間のこの遠隔システム呼出しの実行状態は、ホスト３０２へのマルチホップ・システム呼出しへのチェーンまで返送される。
【００５６】
図１１について説明すると、この図は、図１０のところですでに説明した処理ステップの概要を示すフローチャート３２０である。ステップ３２２において、ホストは、データ記憶システムＸ０を通してマルチホップ・システム呼出しを発行する。実施形態３００のところで説明したように、ホストは、データ記憶システムＸ０に直接接続していて、離れたところのホストに直接接続していない他のデータ記憶システム上で動的ＲＤＦグループ変更コマンドを実行しようとしている。ステップ３２４において、マルチホップ・システム呼出しは、データ記憶システムＸｎ−１に送られる。ステップ３２４の処理に関連して、マルチホップ・システム呼出しを、同様に、１つまたはそれ以上の中間データ記憶シス
テムを通して送ることができることに留意されたい。ステップ３２６において、データ記憶システムＸｎ−１は、データ記憶システムＸｎ−１上に位置するＲＡ宛の遠隔システム呼出しを実行する。ステップ３２８において、動的ＲＤＦグループに対する遠隔システム呼出しが終了したかどうかについての判断が行われる。終了していない場合には、制御は、ステップ３２８において形成されたループ内で引き続き待機する。動的ＲＤＦグループに対する遠隔システム呼出しが終了した場合には、制御はステップ３３０に移動し、そこで動的ＲＤＦグループ操作に関連する遠隔システム呼出しの状態が、一連の１つまたはそれ以上の中間ノードを通して、遠隔システム呼出しコマンドを発行したホスト・コンピュータ・システムに返送される。
【００５７】
図１２について説明すると、この図は、データ記憶システムＸｎ−１およびＸｎの処理ステップをより詳細に示す実施形態の一例である。データ記憶システムＸｎ−１は、データ記憶システムＸｎ−１  ３０６とデータ記憶システムＸｎ  ３０８との間で動的ＲＤＦグループを変更または生成するために遠隔システム呼出しを受信し、実行する。データ記憶システム３０６は、ディレクタＸおよびディレクタＹで示す２つのディレクタを含む。ディレクタＸは、最初、動的ＲＤＦグループ操作に対する遠隔システム呼出しを受信する。ディレクタＸは、それが、実際に他のディレクタが実行すべき遠隔システム呼出しであることを決定する。その後で、ディレクタＸは、この場合は、ディレクタＹである、他のディレクタに情報を送るために、グローバル・システム（ＧＳＴ）待ち行列と呼ばれる待ち行列内にレコードを生成する。待ち行列レコードは、動的ＲＤＦグループの生成の際に実行する遠隔システム呼出しに対する要求である。実行マスクは、ターゲット・ディレクタを、遠隔システム呼出しのパラメータ内に指定するディレクタＹとして表示する。次に、ディレクタＸは待機状態になる。ディレクタＸは、ディレクタＹから操作に関する返送状態情報を受信した場合、エラー状態または他のタイプの終了状態をタイムアウトにするか、返送する。実行マスクは、ディレクタＹが、生成され、ＧＳＴ待ち行列内に置かれたＧＳＴレコードの指定の受信人であることを表示する。次に、ディレクタＹは、システム呼出しからデータを送信するために、データ記憶システムＸｎ  ３０８内の他のディレクタに連絡する。以下にさらに詳細に説明するように、両方のディレクタＡおよびＹは、また、動的ＲＤＦグループ・コマンドおよび関連する状態情報のために実行した処理ステップで必要としたように、他のディレクタと通信するために、その各ＧＳＴを使用することができる。
【００５８】
ディレクタＹは、ＧＳＴ待ち行列レコードを受信し、動的ＲＤＦグループの生成のために遠隔システム呼出しを実行する前に、確認またはチェックを行う。この実施形態の場合には、例えば、ディレクタＹは、下記のことを確認することができる。この特定のＲＤＦグループが、任意のディレクタに対して静的ＲＤＦグループとしてまだ定義されていないこと、このグループが、要求したグループを追加しているディレクタに対してまだ定義されていないこと、ディレクタが、例えば、ファイバ・スイッチまたはＧｉｇＥ接続のようなこの特定の実施形態で使用することができる指定のタイプのこのグループだけを生成しなければならないこと。さらに、Ｙディレクタは、また、グループ・ラベルがデフォールト・グループ・ラベルでないように、グループ・ラベルに関連する任意のチェック、およびこの実施形態に関連する制約を実行することができる。何故なら、この操作は、空のグループを含むことができ、デフォールト・グループ・ラベルは、この実施形態の場合には、空のグループに対して指定することができないからである。ディレクタＹは、また、その一連番号がシステム呼出しの物理パラメータ内に指定されている一連番号と一致するかどうかをチェックするために、Ｘｎ−１データ記憶システム３０６の一連番号をチェックすることができる。ディレクタＹは、また、他の例の動的ＲＤＦグループ変更コマンドが、この特定のデータ記憶システムで実行されないように、特定の実施形態の制約に関連する他のチェックも行うことができる。この実施形態の場合には、ディレクタＹは、動的ＲＤＦグループ・コマンドがあるグループをサポートしている最後のディレクタを除去する
ためのコマンドであり、グループが空でない場合には、システム呼出しの実行に失敗する。ディレクタＹにより最初に確認された特定の項目が、特定の各実施形態により変化することがあることに留意されたい。他の実施形態は、各実施形態の特性により他の確認を行うことができる。
【００５９】
一組の最初のチェックの確認に成功した後で、ディレクタＹは、この操作に対する特定のＤＲＧＴエントリをロックしているグローバル・メモリ内の動的グループ・ロックにマークを付ける。次に、ディレクタＹは、グローバル・メモリ内のコピーにより不揮発性メモリ内に記憶しているＤＲＧＴのそれ自身のローカル・コピーを更新し、次に、そのローカル・コピーに、要求されたＲＤＦ動的グループ変更動作を追加する。本明細書の他のところで説明したように、グローバル・メモリ内のコピーは、システムの最新のコピーであるとみなされる。ディレクタＹは、また、リンク発見プロセスが、データ記憶システムＸｎが適当なグループ情報により初期化される前にスタートするのを防止するために、適当なグループ・ビットを変更する。
【００６０】
ディレクタＹは、動的ＲＤＦグループ操作に関する情報を記憶するために一時グローバル・メモリ構造を生成する。グローバル・メモリＤＲＧＴがまだ更新されていないことに留意されたい。動的グループ変更のための情報は、ディレクタＹにより、システム呼出しパラメータに含まれている情報および他の場所からの情報を使用して、一時グローバル・メモリ・コピー内に置かれる。
【００６１】
下記のデータ、すなわち、データ記憶システムＸｎおよびＸｎ−１の一連番号、グループ・ラベル、Ｘｎ上のグループ番号およびこのＲＤＦグループを定義しているＸｎ−１上の他のグループ番号、変更中のグループをサポートしているＸｎ−１上のディレクタのビットマスク（ｏｕｒ＿ｓｕｐｐｏｒｔｅｄ＿ｄｉｒ）、および変更中のグループをサポートしているＸｎ上のディレクタのビットマスク（ｏｔｈｅｒ＿ｓｕｐｐｏｒｔｅｄ＿ｄｉｒ）は、マルチホップ・システム呼出しの入力パラメータとして内蔵させることができる。さらに、ＧｉｇＥ実施形態の場合には、データは、Ｘｎ−１上のディレクタが通信するＸｎ上の特定のディレクタ番号を含むことができる（ｇｉｇｅ＿ｏｔｈｅｒ＿ｓｉｄｅ＿ｄｉｒ＿ａｎｃｈｏｒ）。他の実施形態は、他の技術によりデータの異なる部分を送ることができる。他の実施形態は、また、本明細書に説明したように追加のデータを含むこともできる。
【００６２】
マルチホップ・システム呼出しは、ディレクタＹをこの遠隔システム呼出しを実行する受信ディレクタとして示す。ディレクタＹは、すでに説明したように、システム呼出しパラメータで送ったデータにより、また、静的構成ファイル・データのようなグローバル・メモリから情報をコピーすることにより、動的ＲＤＦグループ・コマンドに対するこの要求に対応するＤＲＧＴ内にエントリを生成することができる。
【００６３】
次に、ディレクタＹは、動的ＲＤＦグループ変更に関する他のＲＡの通知に関連して、複数のステップを実行する。ディレクタＹは、もう１つのレコードを生成し、それをＧＳＴ待ち行列内に入れることによりこの操作を行うことができる。レコードは、この新しい動的グループを生成する必要があるすべてのＲＡに送られる。このグループを生成する必要がある他のＲＡは、ＧＳＴレコードを受信し、レコードが同じディレクタ、すなわち、グローバル・メモリ内に記憶しているＤＲＧＴ上の動的グループ・ロックを実際にロックしたディレクタＹが発行したものであることを確認する。他の各ＲＡがこの１つの状態または複数の状態の確認に成功した場合には、各ＲＡは、それにより、一時グローバル・メモリ構造内に常駐しているシステム呼出しパラメータ情報を使用して、不揮発性メモリ内に記憶しているＤＲＧＴのローカル・コピーを更新する。
【００６４】
しかし、ＲＡ確認試験に失敗した場合には、確認の失敗を検出するＲＡは、なにもしないで、失敗メッセージをディレクタＹに返送する。ディレクタＹは、すべてのＲＡに対して通知が行われ、確認試験の終了の成功に関する確認がディレクタＹに返送されるまで待機する。ディレクタまたはＲＡのどれかがディレクタＹに失敗を返送した場合には、ＲＤＦ動的グループ操作の生成は、「行われなかった」ことにすることができる。この動作は、例えば、一時グローバル・メモリ構造内に記憶している情報で、グローバル・メモリ内のＤＲＧＴを更新しないことにより、「行われなかった」ことにすることができる。さらに、ディレクタＹは、グローバル・メモリ内のＤＲＧＴテーブルからのデータを使用して、ローカルＤＲＧＴコピーを更新するために、ＧＳＴ待ち行列を使用するなどして、各ＲＡにメッセージを発行することができる。
【００６５】
すべてのＲＡが動的グループ要求に関連しているＲＤＦ情報のそれ自身のコピーの更新に成功した場合には、ディレクタＹは、遠隔システム呼出しに従って動的ＲＤＦグループ変更要求を行うために、待機状態から抜けだし、特殊なタスクを生成する。
【００６６】
リモート・ボックス上での動的グループの生成または除去の際の処理について説明する前に、データ記憶システムＸｎ−１が行うことができる、今説明した処理の概要に関連して、図１３および図１４の２つのフローチャートについて説明する。
【００６７】
図１３について説明すると、この図は、動的ＲＤＦグループ変更コマンドの処理に関連するディレクタＸが行うことができる１つの実施形態のステップのフローチャート３５０である。ステップ３５２において、ディレクタＸは、動的ＲＤＦグループ・テーブルを更新するためのコマンドを受信する。この更新は、例えば、新しいＲＤＦグループの追加または削除および現在のグループの変更の際に行われる。制御は、ステップ３５４に進み、ここでディレクタＸは、受信した正しいコマンドが遠隔システム呼出しであるかどうかについての判断を行う。遠隔システム呼出しでない場合には、制御は、ステップ３５６に進み、ここでディレクタＸは他の処理を行う。遠隔システム呼出しである場合には、制御は、ステップ３５８に進み、ここでディレクタＸは、データ記憶システムＸｎ−１  ３０６内の他のディレクタと通信するために、待ち行列を使用して、ＧＳＴレコードを生成する。生成されたＧＳＴレコードは、識別を行うか、システム呼出し実行マスク内で識別されたディレクタに送られる。この特定の実施形態の場合には、ＧＳＴレコードおよび通信技術の待ち行列は、ディレクタ間のコマンドの発行、およびその間の情報およびデータの通信のために使用される。他の実施形態は、データ記憶システム間およびデータ記憶システム内での通信に関連する他の技術を使用することができる。
【００６８】
制御は、ステップ３６６に進み、ここでディレクタＸは、遠隔システム呼出しが終了したかタイムアウトになったかについての判断を行う。ディレクタＸは、あるものまたは他のものが発生するまで待機状態のままでいる。それ故、制御は、成功または失敗またはタイムアウトの発生を示す終了状態が返送された後で、ステップ３６２に進む。ステップ３６２において、状態情報を、呼出しチェーン内に含まれている他のディレクタおよび呼出しを最初に発行したホスト・コンピュータ・システムに返送することができる。ステップ３６６における待機操作および本明細書に記載する他の処理ステップの実行に関連して、ディレクタは、待機状態でいながら、アイドル状態でいることはできないことに留意されたい。ある実施形態は、例えば、割り込み機構により特定のジョブに対して終了状態を返送する場合に、送信された待機タスクの生成のような他の技術を使用することができる。他の実施形態は、待機操作およびステップ３６６に関連する処理ステップおよび本明細書に記載する他のステップの実行に関連する他の技術を使用することができる。
【００６９】
図１４について説明すると、この図は、動的ＲＤＦグループ操作に関連するデータ記憶システム３０６  Ｘｎ−１に内蔵される第２のディレクタ、ディレクタＹが実行すること
ができる実施形態のステップのフローチャート３８０である。ステップ３８２において、ディレクタＹは、ディレクタＸが送ったＧＳＴ待ち行列レコードを受信する。次に、ディレクタＹは、動的ＲＤＦグループ操作を実行することができるかどうかをチェックするために、試験状態を確認する。ステップ３８４において、試験状態が成功かどうかについての判断が行われる。成功でない場合には、制御はステップ３８６に進み、ここで失敗状態を返送することができる。成功である場合には、制御はステップ３８８に進み、ここでディレクタＹは、動的グループ・レコードまたは特定の動的グループ要求変更に対応するＤＲＧＴのグローバル・メモリ内のレコードをロックし、変更したグループ操作を反映させるためのそのローカルＤＲＧＴを更新し、リンク発見プロセスが、データ記憶システムＸｎが正しいグループ情報によりセットアップされる前にスタートするのを防止するために、グループ・ビットを変更する。制御はステップ３９０に進み、ここでディレクタＹは、システム呼出しパラメータから入手した動的グループ情報要求を保持するために一時グローバル・メモリ構造を生成する。一時構造は、それに従ってこの情報により初期化される。
【００７０】
制御はステップ３９２に進み、ここで、この動作に関連する動的ＲＤＦグループを生成する必要があるすべての他のＲＡに通知するために、ＧＳＴ待ち行列レコードが生成される。すなわち、ステップ３９２における処理は、要求された変更を反映するために、ＤＲＧＴのそのコピーをそれに従って更新するためのすべての他のＲＡへのメッセージである。さらに、本明細書の他のところで説明したように、ステップ３９２に関連する通知を受けた各ＲＡは、また、例えば、ステップ３９２においてＧＳＴ待ち行列要求を発行したディレクタが、グローバル・メモリ内でＤＲＧＴをロックした同じディレクタであるように、他の試験確認ステップを実行することができる。さらに、ステップ３９２において生成したＧＳＴ待ち行列レコードを受信する各ＲＡは、そのローカル・メモリ内に記憶しているＤＲＧＴのそのコピーを更新する。この更新プロセスの一部として、グローバル・メモリからのＤＲＧＴは、最初にコピーされ、それに従って、一時グローバル・メモリ構造を使用する現在の動的ＲＤＦグループ要求に対する動的グループ情報により更新される。各ＲＡは、ディレクタＹに終了を示すメッセージを返送する。ディレクタＹがすべての他のＲＡから返送状態を受信するまで、または別の方法としては、このような返送状態の待機中にタイムアウトになるまで、ディレクタＹはステップ３９４で待機する。すべてのＲＡに関連して終了状態またはタイムアウトを受信した場合には、制御はステップ３９６に進み、ここですべての他のＲＡによるこのＧＳＴ待ち行列レコード要求の終了が成功したかどうかについての判断が行われる。成功した場合には、制御はステップ３９８に進み、ここでデータ記憶システムＸｎ内の他のディレクタへの新しいＲＤＦグループ要求情報の転送に関連して、特殊なタスクが生成され、実行される。成功しなかった場合で、各ＲＡ内に局所的に含まれているＤＲＧＴの終了または更新が成功しなかった場合には、制御はステップ４００に進み、ここで各ＲＡ上に記憶しているＤＲＧＴのローカル・コピーに関する操作の「取消し（ｕｎｄｏｉｎｇ）」に関連して処理ステップが行われる。ステップ４００においては、ＤＲＧＴのグローバル・メモリ・コピーは更新されない。ステップ４０２において、ＤＲＧＴの変更していないグローバル・メモリ・コピーによりＤＲＧＴのそのローカル・コピーを更新するために、ＧＳＴ待ち行列レコードが生成され、他のすべてのＲＡに発行される。ステップ４０４において、ディレクタＹは失敗状態を返送する。
【００７１】
データ記憶システムＸｎ−１  ３０６およびＸｎ  ３０８の間にリンクを持たないで、データ記憶システムＸｎ内に含まれているＲＤＦグループ情報の更新に関連してディレクタＹが行うことができる処理ステップについて以下に説明する。データ記憶システムＸｎとＸｎ−１との間には物理接続が存在する。しかし、２つのディレクタ間で通信のために能動的に使用していたために、この物理接続の初期化に関連して処理ステップは今まで行われていない。
【００７２】
ステップ３９８での処理に関連してすでに説明したように、遠隔データ記憶システムＸｎにＲＤＦグループ変更コマンドに関連するグループ情報の転送をスタートするために、あるタスクがディレクタＹ上でスタートする。処理ステップは、グループは空のグループであってもよいという事実を考慮に入れる。グループ情報は、マルチホップ・システム呼出しに、送るときに必要なグループ情報を挿入するために、パラメータを使用して、データ記憶システムＸｎおよびＸｎ−１との間で転送することができる。以下に説明する通常の技術は、データ記憶システムＸｎおよびＸｎ−１の間の未使用のリンクを探索し、次にこの初期化を終了させるか、またはデータ記憶システムＸｎが更新したグループ情報を受信し、ある状態を戻したことを発見した後で、初期化ステップの終了前にプロセスをスタートするために最初にリンク発見プロセスをスタートする。その後で、ディレクタＹは、この特定のリンクは、再度初期化されていないことを表示する。以下の説明は、初期化されていないで使用することができる少なくとも１つのリンクが存在するものと仮定する。
【００７３】
多数の使用することができるリンクを予約することができ、ＲＤＦグループの動的な変更および／または生成に関連して使用することができるようにすることができる。例えば、ある実施形態の場合には、６４の使用することができるリンクが存在し、最後の２つのリンクを本明細書に記載するこの技術により使用するために予約することができる。ユーザが他の目的のために入手することができる使用可能なリンクの数は６２である。他の実施形態は、異なる数の入手することができ、予約したリンクを有することができ、この処理に関連して他の技術を使用することができる。
【００７４】
ディレクタＹが特殊なタスクを実行する前に、データ記憶システムＸおよびＸｎ−１の間の予約した入手することができるリンクの中の１つに関連する指定のリンク指数を使用して、データ記憶システムＸｎ−１内に新しいターゲットが生成される。新しいターゲットを生成するための処理の一部として、ディレクタＹは、ディレクタＹとデータ記憶システムＸｎのターゲット・ディレクタとの間に、リンクを定義するために必要なシステム・データ構造を初期化することができる。ディレクタＹは、例えば、必要なデータ構造に内蔵させるターゲット・ディレクタ・アドレスを入手する際に、ＧｉｇＥ実施形態のテーブル１４２および１４４、またはファイバ・スイッチ実施形態のネーミング・サービスを使用することができる。この特定の例の場合のリンク指数は、データ記憶システム間で使用するために入手することができる特定の各通信接続に関連する。物理接続が存在する場合があるが、この物理接続は、他の通信に関連してすでに使用されている場合もある。リンク指数は、リンクが現在使用されていないか、割当てられていないが、稼働状態にある場合には、「入手可能」と見なされるリンクと関連することができる。ディレクタＹは、データ記憶システムＸｎのディレクタに接続しようとする。データ記憶システムＸｎのディレクタに関連するデバイス識別子は、例えば、ＡＰＩに内蔵されているルーチン呼出しを使用して入手することができる。ディレクタＹは、遠隔データ記憶システムに接続しようとして、成功するまでの時間待機することができる。ディレクタＹは、そうでない場合、失敗の後またはタイムアウト後に打ち切ることができる。
【００７５】
ファイバ・スイッチ実施形態の場合には、ディレクタＹは、ビットマスク（ｏｔｈｅｒ＿ｓｕｐｐｏｒｔｅｄ＿ｄｉｒ）が指定したＸｎのディレクタの中の任意の１つに対してＲＤＦグループをセットアップするために、必要なパラメータ情報を送信することができることに留意されたい。ＧｉｇＥ実施形態の場合には、ディレクタＹからの通信を、ｇｉｇｅ＿ｏｔｈｅｒ＿ｓｉｄｅ＿ａｎｃｈｏｒ内の上記Ｘｎディレクタ数に送ることができる。ファイバ・スイッチ実施形態の場合には、受信したシステム呼出しデータ内のビットマスクが０である場合があることに留意されたい。この例の場合、ディレクタは、前の対応するエントリからの０でないマスクを使用することができる。この前のマスクも０である場合には、ディレクタＹは、例えば、ＷＷＮを使用して、どのディレクタが遠隔データ記憶システムＸｎ上に位置するのかを判断し、通信の際に「アンカー」として使用するた
めの１つを選択することができる。ディレクタが決定されない場合には、システム呼出しは失敗する。何故なら、ディレクタＹが、遠隔データ記憶システムと通信することができないからである。
【００７６】
接続が確立されると、これが生成または削除操作である場合には、ディレクタＹは、新しいグループの拡張パラメータ情報および表示を準備する。ディレクタＹは、この情報をデータ記憶システムＸｎに内蔵されている応答機に送る。データ記憶システムＸｎは、このコマンドを受信し、それをこのリンク上の第１のコマンドであると認識し、このコマンドを新しいグループを生成するための試みであると認識する。新しいグループ・コマンドを受信するデータ記憶システムＸｎは、データ記憶システムＸｎ−１のディレクタＹが、動的グループ変更のための特殊なタスクを実行中であることを知っていて、そのためデータ記憶システムＸｎ上の初期化のリンク発見プロセス部分を停止する。応答機は、リンクが初期化されていないことを表示するために、適当なハードウェアおよび／またはソフトウェア設定を行うことができる。応答機は、また、後でディレクタにより実行される受信した動的グループ変更を実行するために、ＧＳＴ待ち行列レコード要求を生成することができる。ディレクタは、データ記憶システムＸｎでリンクを初期化されていない状態にすることができる。次に、ディレクタは、状態応答をデータ記憶システムＸｎ−１のディレクタＹに返送する。
【００７７】
ディレクタＹは、応答を受信し、データ記憶システムＸｎ−１でリンクが初期化されていないことを表示し、ターゲットを無効にする。例えば、前に初期化した適当なデータ構造を無効にすることにより、ターゲットを無効にすることができる。このことは、例えば、「未使用の」システム・データ構造を表示している適当なビットを設定するステップ、および／またはデータ構造を利用可能なデータ構造のプールへ戻すステップを含むことができる。データ記憶システムＸｎ−１は、特殊タスク処理の後で実行した処理ステップを再開する。
【００７８】
ディレクタＹの特殊タスクの実行に関連して今説明した処理ステップ、およびディレクタＡが動的グループ・コマンド生成データを受信した際に実行したステップの概略を示す、図１５のフローチャートについて説明する。
【００７９】
図１５について説明すると、この図は、Ｘｎへ動的グループ・コマンド情報を送る場合に初期化したデータ記憶システム間にリンクを持たない両方のデータ記憶システムＸｎおよびＸｎ−１が実行する処理ステップのフローチャートである。ステップ４２０において、データ記憶システムＸｎ−１上での特殊タスクの実行の前に、ディレクタＹは、新しいターゲットを生成する。ステップ４２４において、リンクが利用可能か否かについての判断が行われる。利用できるリンクがない場合には、制御はステップ４２６に進み、失敗はこの操作と関連して返送される。利用できるリンクがある場合には、制御はステップ４２８に進み、ここで新しい接続パラメータが、この特定のリンクに対して設定され、データ記憶システムＸｎへの接続が試みられる。
【００８０】
ステップ４３０において、ディレクタＹは、当該特定のリンクに対する接続状態が返送されるまで待機する。成功が表示されない場合には、制御はステップ４３４に進み、ここで失敗状態が返送される。成功が表示された場合には、制御はステップ４３２からステップ４３６に進み、ここで拡張パラメータ情報が準備され、データ記憶システムＸｎに送られる。
【００８１】
フローチャート４２２に示すステップ４２０〜４３６すべては、この例の場合には、データ記憶システムＸｎ−１のディレクタＹにより実行されることに留意されたい。制御はステップ４３８に進み、ここでディレクタＹから情報を受信した場合、ステップはデータ
記憶システムＸｎにより実行することができる。ディレクタＡのようなＸｎのあるディレクタも、これが新しい接続の試みであることを認識する。何故なら、これがこの特定のリンクにより送られた第１のコマンドであるからである。制御はステップ４４０に進み、ここでＸｎ上の応答機ディレクタは、動的グループ変更コマンドのためにリンクが生成中であると判断する。応答機、すなわち、ＸｎのディレクタＡは、このリンクが動的グループ変更動作のために生成中であり、この動作に関連して情報を送るためにこのリンクが使用中であると判断する。ディレクタＡは、リンクを初期化されていない状態にする。ディレクタＡは、また、動的グループ変更コマンドのためのＧＳＴ待ち行列レコードを生成することもでき、次に、このレコードは、後でステップ４４２で処理され、その結果、新しいグループが新しいグループ情報を含むＸｎ内に生成される。また、そうでない場合、失敗は、この動作の失敗により表示することができることにも留意されたい。
【００８２】
ステップ４４４において、データ記憶システムＸｎのディレクタＡは、動的グループ更新コマンドの結果に関する状態応答をディレクタＹのデータ記憶システムＸｎ−１に返送する。ディレクタＹは、また、このリンクがデータ記憶システムＸｎ上で初期化されなかったことを表示する。ステップ４４６において、ディレクタＹは、状態に関する応答を受信し、またリンクが初期化されていないことを表示し、ターゲットを無効にする。
【００８３】
応答機が特殊タスクの実行中に、ディレクタＹからコマンド要求およびパラメータを受信した場合に、データ記憶システムＸｎで行われる処理ステップについて、以下にさらに詳細に説明する。データ記憶システムＸｎ上の処理に関連して、応答機はディレクタＹが送信した新しいグループ情報および拡張パラメータを受信する。以下の説明においては、データ記憶システムＸｎ内の応答機をディレクタＡと呼ぶことにする。
【００８４】
データ記憶システムＸｎ上のディレクタＡは、例えば、データ記憶システムＸｎ−１のディレクタＹによる処理に関連してすでに説明した状態類似の状態を試験することによりグループを生成することができることを確認する。すべての状態の確認に成功した場合には、ディレクタＡは、グローバル・メモリ内の動的グループ・ロックをロックする。同様に、データ記憶システムＸｎ−１に関連して本明細書の他のところで説明したように、ディレクタＡは、グローバル・メモリからのＤＲＧＴのコピーを使用して、不揮発性メモリ内のＤＲＧＴのそのローカル・コピーを更新する。ディレクタＡは、データ記憶システムＸｎおよびＸｎ−１の間で進行中の処理ステップを同期させるための手段をとることができる。例えば、ある実施形態の場合には、ディレクタＡは、リンク発見プロセスが、データ記憶システムＸｎ−１が適当なグループ情報セットアップが行われる前に、データ記憶システムＸｎ内でスタートするのを防止するように、グループ・ビットを設定することができる。この実施形態の場合には、各グループに対応するビットマスクもグローバル・メモリに記憶することができる。ビットマスクは、特定の各グループに対する設定を表示することができる。この例の場合には、リンク発見を可能にするグループ・ビットを、新しいグループを定義するためのすべての処理ステップが終了するまで、例えば、システム・コマンドに指定されている新しいグループを定義するために必要なすべてのディレクタが、本明細書で説明したように、ローカルＤＲＧＴエントリなどを更新し終えるまで動作不能にすることができる。
【００８５】
次に、ディレクタＡは、ディレクタＹ上で実行中の特殊タスクから切り離される。この実施形態の場合には、ディレクタＹへの状態値の返送ではなく、この切り離しが行われる。次に、ディレクタＡは、ディレクタＹ上で実行中の特殊タスクが送った拡張パラメータを一時グローバル・メモリ構造にコピーする。ディレクタＡは、拡張パラメータにより送られた動的グループ変更情報に関するこの新しいグループを生成するのに必要な他のＲＡに対するＧＳＴ待ち行列レコード要求を生成し、次に待機状態になる。ＧＳＴ待ち行列レコードは、この新しいグループ情報を生成するために必要なすべての指定されたＲＡが確
認ステップを実行し、次に確認に成功した場合には、新しいグループ情報を内蔵させるために、ＤＲＧＴのそのローカル・コピーを更新することを要求する。この実施形態の確認ステップは、ＧＳＴレコード要求を発行したディレクタが、グローバル・メモリ内の動的グループ・ロックをロックしたディレクタと同じものであるかどうかの判断を含むことができる。
【００８６】
各ＲＡはディレクタＡに状態応答を返送する。ディレクタＡが、他のＲＡからグループの生成に必要な成功状態応答を受信した場合には、ディレクタＡは、新しいグループ情報を内蔵させるためにグローバル・メモリ内のＤＲＧＴを更新し、リンク発見プロセスが動作できるようにグループ・ビットをオフにし、そのローカルＤＲＧＴコピーを更新するために、ＲＡ、ＨＡおよびＤＡを含むすべての他のディレクタにＧＳＴ待ち行列レコード要求を発行し、この動的グループ変更により任意の要求されたグループ・マスクを生成し、更新する。
【００８７】
別の方法としては、ＲＡの中のどれかが個々に失敗した場合には、これらＲＡはディレクタＡに状態失敗を返送する。ディレクタＡは処理ステップを進め、例えば、グローバル・メモリ内のＤＲＧＴコピーを更新しないことにより、またそのローカルＤＲＧＴコピーのグローバル・メモリからの変更していないＤＲＧＴによる上書きに関連するすべてのＲＡに対して要求を発行することにより、グループの生成を「アンドゥ（ｕｎｄｏ）」する。
【００８８】
ディレクタの中の１つが失敗した場合には、動的グループ情報の生成は、ＧＳＴＱレコードがそのローカルＤＲＧＴ内に記憶している情報をアンドゥするすべての他のＲＡに発行される本明細書に記載したのと類似の方法でアンドゥされる。すなわち、各ＲＡは、現在のＲＤＦグループ変更を反映していない処理しなかったグローバル・メモリ内のコピーに回復されたそのローカルＤＲＧＴを有する。データ記憶システムＸｎに内蔵されているディレクタＡは、成功、または失敗の場合の追加情報を含む失敗でデータ記憶システムＸｎ−１のディレクタＹに応答する。この応答は、正確にどの情報が通過したのか、どんな行動が取られたのかについての実施形態の各タイプにより異なる。
【００８９】
図１６について説明すると、この図は、新しいグループ情報を受信した場合に、ステップ４３８、４４０、４４２および４４４に関連してすでに説明したディレクタＡが実行することができるより詳細な処理ステップを含むある実施形態のステップのフローチャート５５０である。ステップ５５２において、データ記憶システムＸｎの応答機ディレクタＡは、新しいグループ情報を受信する。ステップ５５４において、ディレクタＡは、グループが生成できることを確認する。ステップ５５６において、この確認プロセスが成功したかどうかについての判断が行われる。成功しなかった場合には、制御はステップ５５８に進み、ここで失敗が返送される。成功した場合は、制御はステップ５５６からステップ５６０に移り、ここでグローバル・メモリ内のＤＲＧＴがロックされ、ディレクタＡのローカルＤＲＧＴコピーが、グローバル・メモリ・コピーからの情報により更新される。さらに、ディレクタＡのローカルＤＲＧＴコピーは、新しいグループ情報を内蔵するために更新される。ステップ５６１において、リンク発見プロセスがスタートし、ディレクタＡがディレクタＹ上で実行している特殊タスクから切り離されるのを防止するように、適当なグループ・ビットが設定される。ステップ５６２において、一時グローバル・メモリ構造が生成され、システム呼出し情報により初期化される。ステップ５６４において、ＧＳＴ待ち行列レコードが生成され、ディレクタＡに送られた新しい動的グループ情報に関する新しいグループを生成するのに必要な他のＲＡに送られる。ＲＡは初期確認チェックを行い、成功した場合には、そのローカルＤＲＧＴコピーを更新し、ディレクタＡにある状態を返送する。ディレクタＡは、ステップ５７０において、すべての他のＲＡからの終了状態またはタイムアウトを受信するために待機する。すべての他のＲＡから終了状態または
タイムアウトを受信した場合には、制御はステップ５７２に移り、ここですべてのＲＡに対する成功状態を受信したかどうかについての判断が行われる。受信した場合には、制御はステップ５７２からステップ５６６に移り、ここでグローバル・メモリ内のＤＲＧＴが新しいグループ情報により更新され、リンク発見プロセスが動作できるように適当なグループ・ビットが変更され、ＨＡ、他のＲＡまたはＤＡのような任意の他のディレクタも、この新しいまたは変更したＲＤＦグループに関するローカルＤＲＧＴコピーを更新するように要求される。本明細書の他のところで説明したように、これらのディレクタは、ＤＲＧＴのグローバル・メモリ・コピーおよび一時グローバル・メモリ構造により、ローカルＤＲＧＴを更新することができる。制御はステップ５６８に移動し、ここで成功状態がディレクタＡからディレクタＹに返送される。
【００９０】
本明細書に記載するように、リンク発見プロセスを動作可能にすることにより、後の時点で実行されるデータ記憶システム内の自動プロセスが、ＲＤＦリンクおよびＲＤＦグループを使用できるようにする動的グループに割り当てられた特定のＲＤＦリンクに関する処理を終了させることができる。
【００９１】
ステップ５７２において、ＲＡの中の任意のものが成功を返送しなかった場合には、制御はステップ５７４に移動するが、ここではグローバル・メモリのＤＲＧＴは更新されない。ステップ５７６において、ステップ５６４において通知したこれらＲＡのローカル・コピーへの前のＤＲＧＴ更新をアンドゥするために、コマンドが発行される。この実施形態の場合には、このプロセスは、例えば、各ローカルＲＡにグローバル・メモリのＤＲＧＴをコピーするように命令することにより実行することができる。ステップ５７８において、失敗の状態がデータ記憶システムＸｎ−１のディレクタＹに返送される。
【００９２】
データ記憶システムＸｎ−１がデータ記憶システムＸｎから返送状態を受信すると、データ記憶システムＸｎ−１のディレクタＹによる処理が再開する。ディレクタＹは、動的グループ生成の状態が成功したかどうかについて判断を行う。両方のデータ記憶システムＸｎおよびＸｎ−１のすべてのディレクタが更新されたというように、状態がすべてのディレクタが成功したことを示している場合には、データ記憶システムＸｎ−１のグローバル・メモリ内のＤＲＧＴは更新される。さらに、新しく確立したまたは新しく定義したＲＤＦリンクに対するリンク発見プロセスが利用できるようにするために、すべての必要なハードウェアおよび／またはソフトウェア・ビットおよびフラグが適当に変更される。さらに、この動作に関するそのテーブルを更新するように要求されたすべてのディレクタが成功した場合には、例えば、ＨＡ、ＤＡおよび任意の残りのＲＡを含む残りのディレクタは、ＧＳＴ待ち行列レコードによりローカルＤＲＧＴコピーを更新し、また、新しいグループ情報により局所的に維持することができるように必要なマスクを生成するように要求される。
【００９３】
ディレクタの中の任意のものが失敗した場合には、例えば、Ｘｎ−１上のグローバル・メモリ内のＤＲＧＴを更新しないことにより、およびそのローカルＤＲＧＴをすでに更新したすべてのＲＡに、グローバル・メモリからのＤＲＧＴのコピーによりローカルＤＲＧＴを更新するためにオーバライド操作を発行することにより、グループの生成は「アンドゥ」される。データ記憶システムＸｎ−１のディレクタＹは、ディレクタＸに状態情報を返送する。ディレクタＸは、同様に、結果がコマンドを発行したホスト・コンピュータ・システムに返送されるまで、マルチホップ・システム呼出しに関連するものとして状態情報を返送する。
【００９４】
図１７について説明すると、この図は、データ記憶システムＸｎのディレクタＡがディレクタに返送状態情報を返送した場合に、ディレクタＹが実行するステップの概要を示す処理ステップのフローチャートである。ステップ６００において、データ記憶システムＸ
ｎ−１は、データ記憶システムＸｎから応答を受信する。データ記憶システムＸｎ上において動的グループ操作が成功したかどうかについての判断が行われる。成功しなかった場合には、制御はステップ６０６に移動し、ここでＤＲＧＴのグローバル・メモリ・コピーを更新しないことにより、データ記憶システムＸｎ−１上でグループの生成がアンドゥされる。ステップ６０８において、ローカルＤＲＧＴコピーをすでに変更したすべてのＲＡが、ローカルＤＲＧＴコピーをグローバル・メモリからの変更していないＤＲＧＴにより置換するように要求しているＧＳＴ待ち行列レコードが生成される。
【００９５】
ステップ６０４において、動的グループ生成が成功したと判断した場合には、制御はステップ６１０に移動し、ここでグローバル・メモリ内のＤＲＧＴが、生成された一時構造内にすでに記憶しているコピーにより更新される。さらに、制御はステップ６１２に移動し、ここで任意の必要なハードウェアおよび／またはソフトウェア設定が、リンク発見プロセスを動作できるようにすることにより、利用することができる新しいリンクを表示するように変更される。さらに、ステップ６１３において、例えば、ＨＡ、ＤＡおよび残りのＲＡを含むすべての残りのディレクタは、ＧＳＴ待ち行列レコードを通して新しい動的ＲＤＦグループを反映するためにＤＲＧＴのそのローカル・コピーを更新するように要求される。
【００９６】
上記説明は、例えば、グローバル・メモリ内の各データ記憶システムのステップ３８８および５６０の処理に関連して使用される動的グループ・ロックを含むことに留意されたい。以降のすべての処理ステップには明示していないが、動的グループ・ロックは、動的ＲＤＦグループ・システム呼出しに関連する処理が各データ記憶システム内で終了した場合に、各データ記憶システム内で解放される。例えば、ロックは、上記種々の処理ステップに示す他のデータ記憶システムの他のディレクタに成功または失敗状態を返送する前に解放することができる。
【００９７】
タイムスタンプは、また、各ディレクタのローカル不揮発性メモリおよびグローバル・メモリ・コピー内に記憶しているＤＲＧＴの各コピーに関連づけることができる。停電の場合には、例えば、最新のタイムスタンプを有するＤＲＧＴを、グローバル・メモリ内のＤＲＧＴの他のバージョンを同期させ、および他のローカル・ディレクタ間で同期を行うために使用することができる。
【００９８】
動的グループを最初に生成することができ、デバイスおよびリンクを、例えば、２００１年１１月３０日出願の米国特許出願第０９／９９７，８１０号に記載されている動的ＲＤＦ技術を使用して、動的構成ファイルによりこのグループに動的に追加することができる。上記動的グループ・コマンドに関連して種々の動的グループ操作を実行することができる。例えば、データ記憶システムＸｎおよびＸｎ−１の一方または両方上で、あるグループにサービスを提供しているディレクタを除去して、データ記憶システムＸｎおよびＸｎ−１の一方または両方上で、あるグループにサービスを提供するディレクタを追加することができる。
【００９９】
上記説明において、１つのグループが、同じデータ記憶システムの２つ以上のディレクタからサービスの提供を受けることができることに留意されたい。
上記は、初期化されユーザ・データを送信することができる２つのデータ記憶システム間にリンクがなくても、動的ＲＤＦグループ・コマンドを実行するための柔軟で効率的な技術を提供する。２つのシステム間に物理リンクが存在するが、２つのシステム間の通信のために割り当てられないし、確立されない。部分的初期化処理ステップが、セットアップおよびコマンド・データのような情報を、最初に、第１のシステムから第２のシステムに送り、第１のシステムに肯定応答を返送するために実行される。次に、両方の第１および第２のデータ記憶システムが、ユーザ・データを送信するための２つのシステム間の通
信の際に認識され、使用されるように、２つのシステム間のリンクが使用できるようになる前に、残りのセットアップおよび初期化処理を実行するまでリンクは初期化されていないと表示される。
【０１００】
上記説明の場合、動的グループ構成情報を送信するために使用する第１のリンクは、ユーザ・データを送信する際に使用する第２のリンクとは異なるものであってもよいことに留意されたい。例えば、本明細書に記載するように、リンク６２および６３は、ユーザ・データを送信するために排他的に利用することができる残りのリンク０〜６１により、グループ情報を送るために使用することができる。他の実施形態は、ユーザおよび／またはグループ構成データを送信する際に、他のリンク決定を使用することができる。
【０１０１】
好ましい実施形態を参照しながら本発明を図示し詳細に説明してきたが、当業者であれば、好ましい実施形態についての変形および改善を容易に思い付くことができるだろう。それ故、本発明の精神および範囲は、特許請求の範囲によってだけ制限される。
【図面の簡単な説明】
【０１０２】
【図１】本発明によるコンピュータ・システムの実施形態の一例を示す概念図。
【図２】データ記憶システムの実施形態の一例を示す概念図。
【図３】図１，２のコンピュータ・システムの実施形態の一例を示す概念図。
【図４】動的ＲＤＦグループ・テーブル（ＤＲＧＴ）の実施形態の一例を示す概念図。
【図５】ＤＲＧＴのエントリの一例を示す概念図。
【図６】図５のエントリに内蔵されている構成情報の一例を示す概念図。
【図７】ＲＤＦグループの一例を示す概念図。
【図８】ＧｉｇＥ実施形態に対するＲＤＦ動的グループ要求操作の処理の際に使用するデータ構造の一例を示す概念図。
【図９】ＧｉｇＥ実施形態に対するＲＤＦ動的グループ要求操作の処理の際に使用するデータ構造の一例を示す概念図。
【図１０】ＲＤＦ動的グループ要求操作に対するコンピュータ・システムで発行されたマルチホップ・システム呼出しの一例を示す概念図。
【図１１】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１２】ＲＤＦ動的グループ要求操作を処理するための図１０のコンピュータ・システムに内蔵されている２つのデータ記憶システムの詳細図。
【図１３】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１４】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１５】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１６】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１７】ＲＤＦ動的グループ要求操作を処理するための実施形態のステップを示すフローチャート。
【図１】
2006500693.tif 000002
【図２】
2006500693.tif 000003
【図３】
2006500693.tif 000004
【図４】
2006500693.tif 000005
【図５】
2006500693.tif 000006
【図６】
2006500693.tif 000007
【図７】
2006500693.tif 000008
【図８】
2006500693.tif 000009
【図９】
2006500693.tif 000010
【図１０】
2006500693.tif 000011
【図１１】
2006500693.tif 000012
【図１２】
2006500693.tif 000013
【図１３】
2006500693.tif 000014
【図１４】
2006500693.tif 000015
【図１５】
2006500693.tif 000016
【図１６】
2006500693.tif 000017
【図１７】
2006500693.tif 000018
【国際調査報告】
2006500693.tif 000019