(57)【特許請求の範囲】
【請求項１】
データ管理方法であって、
第１の記憶システム内のボリュームを第２の記憶システム内のボリュームにミラーリングし、前記第２の記憶システム内のボリュームを、前記第１および前記第２の記憶システムを含む第２の地理的位置から離れた第１の地理的位置にある第３の記憶システム内のボリュームにミラーリングすることを示すミラーリング・ポリシーを処理するステップと、
前記第２の地理的位置において、前記第１および前記第２の記憶システムの障害を検出するステップと、
前記第１の記憶システムおよび前記第２の記憶システムの障害の検出に応答して、入力／出力要求をホスト・システムのアプリケーションから前記第１の記憶システム内のボリュームに向けるためのファイルを更新することによりネットワーク・リソースを、前記第３の記憶システム内のボリュームに入力／出力要求を向けるように自動再構成するステップと、
前記第１の記憶システムの障害および前記第２の記憶システムの可用性を検出するステップと、
前記第１の記憶システムの障害および前記第２の記憶システムの可用性の検出に応じて、前記第１の記憶システム内のボリュームに入力／出力要求を向けるネットワーク・リソースを、前記第２の記憶システム内のボリュームに向けるように再構成するステップと、
前記第１の記憶システム内のボリュームへの入力／出力要求を前記第２の記憶システム内のボリュームに向けるように前記ネットワーク・リソースを再構成した後に、前記第２の記憶システムに対する更新を前記第３の記憶システムにコピーするステップと、
を含むデータ管理方法。
【請求項２】
前記第１および前記第２の記憶システムの障害を検出する前記ステップ、および入力／出力要求を前記第３の記憶システム内のボリュームに向けるネットワーク・リソースを自動再構成する前記ステップを、前記第１の地理的位置にある監視プログラムが実行する、請求項１に記載のデータ管理方法。
【請求項３】
前記第１および前記第２の記憶システムにおける障害を検出した後に、遠隔的フェイルオーバ動作を示すメッセージをネットワーク管理者に送信するステップと、
前記遠隔的フェイルオーバを実行するか否かを示す応答を前記ネットワーク管理者から受信するステップと、
を更に含み、前記応答が前記遠隔的フェイルオーバの実行を示す場合に前記自動再構成が行われる、請求項１に記載のデータ管理方法。
【請求項４】
前記ネットワーク・リソースの自動再構成を行う前記ステップは、
ネットワーク・デバイスにおいて再構成の対象となるネットワーク・リソースを示す構成データベースを提供するステップと、
前記第１の記憶システム内のボリュームへの入力／出力要求を、前記ネットワーク・リソースが前記第３の記憶システムに向けるようにするために、該ネットワーク・リソースによって使用される構成設定を決定するため、前記構成データベースを処理するステップと、
を含み、前記再構成は、決定された前記構成設定を前記第３の記憶システムに関するアドレス情報で更新することにより行われる、請求項１に記載のデータ管理方法。
【請求項５】
前記第１の記憶システムからの更新を前記第２の記憶システムに同期的にコピーするステップと、
前記第２の記憶システムからの更新を前記第３の記憶システムに非同期的にコピーするステップと、
を更に含む、請求項１に記載のデータ管理方法。
【請求項６】
アプリケーションを含むホスト・システムと通信するデータ管理システムであって、
ボリュームを有する第１の記憶システムと、
ボリュームを有する第２の記憶システムと、
ボリュームを有する第３の記憶システムと、
前記第１の記憶システム内のボリュームを前記第２の記憶システム内のボリュームにミラーリングし、前記第２の記憶システム内のボリュームを、前記第１および前記第２の記憶システムを含む第２の地理的位置から離れた第１の地理的位置にある、前記第３の記憶システム内のボリュームにミラーリングすることを示すミラーリング・ポリシーを処理する手段と、
前記第２の地理的位置において、前記第１および前記第２の記憶システムの障害を検出する手段と、
前記第１の記憶システムおよび前記第２の記憶システムの障害の検出に応答して、入力／出力要求をホスト・システムのアプリケーションから前記第１の記憶システム内のボリュームに向けるためのファイルを更新することによりネットワーク・リソースを、前記第３の記憶システム内のボリュームに入力／出力要求を向けるように自動再構成する手段と、
前記第１の記憶システムの障害および前記第２の記憶システムの可用性を検出する手段と、
前記第１の記憶システムの障害および前記第２の記憶システムの可用性の検出に応じて、前記第１の記憶システム内のボリュームに入力／出力要求を向けるネットワーク・リソースを、前記第２の記憶システム内のボリュームに向けるように再構成する手段と、
前記第１の記憶システム内のボリュームへの前記入力／出力要求を前記第２の記憶システム内のボリュームに向けるようにネットワーク・リソースを再構成した後に、前記第２の記憶システムに対する更新を前記第３の記憶システムにコピーする手段と、
を含むデータ管理システム。
【請求項７】
前記第１および前記第２の記憶システムの障害を検出する前記手段、およびネットワーク・リソースを自動再構成する前記手段は、前記第１の地理的位置にある、請求項６に記載のデータ管理システム。
【請求項８】
前記第１および前記第２の記憶システムにおける障害を検出した後に、遠隔的フェイルオーバ動作を示すメッセージをネットワーク管理者に送信する手段と、
前記遠隔的フェイルオーバを実行するか否かを示す応答を前記ネットワーク管理者から受信する手段と、
を更に含み、前記応答が前記遠隔的フェイルオーバの実行を示す場合に前記自動再構成が行われる、請求項６に記載のデータ管理システム。
【請求項９】
ネットワーク・リソースの自動再構成を行う前記手段は、更に、ネットワーク・デバイスにおいて再構成の対象となるネットワーク・リソースを示す構成データベースを提供し、かつ、前記第１の記憶システム内のボリュームへの入力／出力要求を該ネットワーク・リソースが前記第３の記憶システムに向けるようにするために、該ネットワーク・リソースによって使用される構成設定を決定するため、前記構成データベースを処理し、
前記再構成は、決定された前記構成設定を前記第３の記憶システムに関するアドレス情報で更新することにより行われる、請求項６に記載のデータ管理システム。
【請求項１０】
前記第１の記憶システムからの更新を前記第２の記憶システムに同期的にコピーする手段と、
前記第２の記憶システムからの更新を前記第３の記憶システムに非同期的にコピーする手段と、
を更に含む、請求項６に記載のデータ管理システム。
【請求項１１】
データ管理用プログラムであって、
ボリュームを有する第１、第２および第３の記憶システムに対して動作が行われるようにする少なくとも一つのデータ管理用プログラムであって、請求項１から５のいずれか１項に記載のステップを前記記憶システムが実行するための装置実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理方法、特に、リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
災害復旧システムは、主として２種類の障害、すなわち一時点における突発的障害、あるいは一定期間にわたるデータ損失に対処するものである。２種類目の段階的災害では、ボリュームに対する更新が失われる可能性がある。データ更新の復旧を支援するため、データのコピーを遠隔位置におくことができる。そのような二重コピーまたはシャドウコピーは、通常、アプリケーション・システムが新規データを一次記憶装置に書き込む際に作成される。本特許出願の出願人であるインターナショナル・ビジネス・マシーンズ・コーポレーション（ＩＢＭ：ＩＢＭおよびＩＢＭロゴは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）は、二次サイトにデータのリモートコピーを保持するため、拡張遠隔コピー（ｅｘｔｅｎｄｅｄ  ｒｅｍｏｔｅ  ｃｏｐｙ）（ＸＲＣ）および対等遠隔コピー（ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ｒｅｍｏｔｅ  ｃｏｐｙ）（ＰＰＲＣ）の二種類のシステムを提供している。これらのシステムは、最後の安全なバックアップからシステム障害が起こるまでの間のデータ更新を復旧する手段を提供する。また、そのようなデータ・シャドウィング・システムは、リモートサイトにおけるローカルアクセスといった復旧以外の目的で、追加のリモートコピーを供給することもできる。ＩＢＭのこれらのＸＲＣおよびＰＰＲＣシステムは、非特許文献１に記載されている。
【０００３】
こうしたバックアップ・システムにおいて、データは、ボリューム・ペアとして保持される。ボリューム・ペアは、一次記憶装置におけるボリュームと、それに対応する、一次ボリュームに保持されたデータと同一のコピーを有する、二次記憶装置におけるボリュームとを含む。このペアのうち、一般的に一次ボリュームは、一次直接アクセス記憶装置（ＤＡＳＤ）に保持され、二次ボリュームは、一次ＤＡＳＤのデータをシャドウする二次ＤＡＳＤに保持される。なお、一次ＤＡＳＤへのアクセスを制御するために一次記憶コントローラを備え、二次ＤＡＳＤへのアクセスを制御するために二次記憶コントローラを備えても構わない。
【０００４】
ＩＢＭのＸＲＣ環境において、一次ボリュームへのデータ書き込みを行うアプリケーション・システムは、タイムスタンプとして時刻（ＴＯＤ）値をデータ書き込みに付与するシスプレックス・タイマーを有する。このアプリケーション・システムは、データセットを一次ＤＡＳＤのボリュームに書き込む際に、データセットにタイムスタンプを押す。データ更新の保全性は、二次ボリュームにおける更新が、一次ボリュームにおける更新と同じ順序でボリューム・ペアとして確実に実行されることに関係している。ＸＲＣシステムその他の従来のシステムでは、アプリケーション・プログラムの代わりに、システムにより提供されるシステム共通タイムスタンプが、記憶システムおよびデータボリュームの多少を問わず、それらにおけるデータ更新の論理的順序を決定および保持する。データベース・システムといった多くのアプリケーション・プログラムでは、特定の書き込みは、前回の書き込みが発生しない限り起こり得ず、そうでなければ、データの保全性が脅かされてしまう。このように保全性が前回のデータ書き込みの発生に依存するデータ書き込みは、従属書き込みとして知られている。例えば、顧客が口座を開設して＄４００を預け入れた後、＄３００を引き出す場合、システムに対する預金引き出し処理という更新は、その他の書き込み、つまり口座開設および預金の発生に依存している。そのような従属トランザクションが一次ボリュームから二次ボリュームにコピーされる場合、従属書き込みの保全性を維持するためにトランザクション順序が保持されなければならない。
【０００５】
すべての書き込みがそれらの論理的順序に従って転送された場合、すなわち、すべての従属書き込み処理がそれらに従属する書き込み処理より先に転送された場合は、一次ＤＡＳＤおよび二次ＤＡＳＤのボリュームの整合性が取れる。これは、銀行取引の例を挙げれば、預け入れ処理が預金引き出し処理より先に二次ボリュームに書き込まれるということである。整合性グループは、従属書き込みの整合性が取れるような、一次ボリュームに対する更新の一群である。例えば、銀行取引の例において、これは、預金引き出し処理のトランザクションが、預け入れ処理と同じ整合性グループまたは預け入れ処理以降のグループに属し、換言すれば、預金引き出し処理は、預け入れ処理以前の整合性グループに属することはできないことを意味する。整合性グループは、ボリュームおよび記憶装置間のデータ整合性を保持するものである。例えば、障害が発生した場合、預け入れ処理は引き出し処理より先に二次ボリュームに書き込まれる。したがって、データが二次ボリュームから復旧される際、復旧されたデータは整合性が取れていることになる。
【０００６】
整合時刻とは、システムがアプリケーション・プログラムによるデータセットへのタイムスタンプに基づいて導出する時刻のことである。整合性グループは、整合性タイムスタンプと同一、あるいはそれ以前のタイムスタンプを有する整合性グループにおけるすべてのデータ書き込みに対して整合時刻を有する。ＩＢＭのＸＲＣ環境では、整合時刻は、システムが二次ボリュームに対する更新の整合性を保証する最新の時刻である。整合時刻は、アプリケーション・プログラムがデータを一次ボリュームに書き込んでいる間に進む。しかし、更新活動が中止されれば、更なる整合性グループに時刻基準を提供するタイムスタンプ付きデータセットが存在せず、整合時刻は変更されない。整合性グループ内の全てのレコードが二次ボリュームに書き込まれる場合、報告された整合時刻が、整合性グループ内の全てのレコードの最新のタイムスタンプを示す。一次ＤＡＳＤおよび二次ＤＡＳＤ間のデータ転送における順次整合性を保持するための、データ書き込みの順次整合性保持方法および整合性グループ構築方法は、本特許出願の出願人であるＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎに譲渡された特許文献１、並びに特許文献２に記載されている。
【０００７】
コピー間の整合性を保持する技術の一つとして、ＳＹＳＰＬＥＸタイマーと称される共通クロックソースを用いて、一次ボリュームのデータにタイムスタンプを押す方法が挙げられる。更新は、特定時刻より低い数値のタイムスタンプを有する全ての更新として定義され、グループで転送される。更に別の実施形態では、一次および二次記憶コントローラ上の最終更新時刻を決定することができ、整合性グループのカットオフとして使用される時刻は、一次および二次記憶コントローラ上の最高タイムスタンプ値を有する最低限の更新となりうる。
【０００８】
整合性グループを構築する別の技術として、カットオフ時刻を決定する方法が挙げられる。カットオフ時刻の日付のついた一次コントローラ・キャッシュにより管理される一次ボリュームに対する更新は、いずれも二次ボリュームに記憶するために二次コントローラに転送される。一次記憶コントローラは、整合性グループのデータを転送する間、いかなるホストの要求に対してもビジー状態を返す。整合性グループ、すなわちカットオフ時刻より低い数値のタイムスタンプを有する更新のデータの転送が完了し、一次および二次記憶コントローラが同期された後、一次コントローラは、アプリケーションに対してビジー状態を返すことを中止する。これにより、一次および二次ボリュームの整合性をフリーズ・カットオフ時刻において保証することができる。
【０００９】
【特許文献１】米国特許第５，６１５，３２９号
【特許文献２】米国特許第５，５０４，８６１号
【特許文献３】米国出願番号第１０／１３４，２５４号
【特許文献４】米国出願番号第１０／１３４，４１４号
【非特許文献１】「ＡＲｅｍｏｔｅ  Ｃｏｐｙ：Ａｄｍｉｎｉｓｔｒａｔｏｒ’ｓ  Ｇｕｉｄｅ  ａｎｄ  Ｒｅｆｅｒｅｎｃｅ」、ＩＢＭ  ｐｕｂｌｉｃａｔｉｏｎ、ＩＢＭ  ｄｏｃｕｍｅｎｔ  ｎｏ．ＳＣ３５−０１６９−０２（ＩＢＭ  Ｃｏｐｙｒｉｇｈｔ  １９９４，１９９６）
【非特許文献２】「ＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ  ＰＰＲＣ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅ」、ＩＢＭ  ｐｕｂｌｉｃａｔｉｏｎ、ＩＢＭ  ｄｏｃｕｍｅｎｔ  ｎｏ．ＳＧ２４−６５６８−００（ＩＢＭ  Ｃｏｐｙｒｉｇｈｔ  ２００２年６月）。ここでＴｏｔａｌＳｔｏｒａｇｅは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標。
【非特許文献３】「Ｉｎｔｅｒａｇｅｎｃｙ  Ｐａｐｅｒ  ｏｎ  Ｓｏｕｎｄ  Ｐｒａｃｔｉｃｅｓ  ｔｏ  Ｓｔｒｅｎｇｔｈｅｎ  ｔｈｅ  Ｒｅｓｉｌｉｅｎｃｅ  ｏｆ  ｔｈｅ  Ｕ．Ｓ．Ｆｉｎａｎｃｉａｌ  Ｓｙｓｔｅｍ」、ｐｕｂｌｉｓｈｅｄ  ｂｙ  ｔｈｅ  Ｆｅｄｅｒａｌ  Ｒｅｓｅｒｖｅ  Ｓｙｓｔｅｍ、Ｄｏｃｋｅｔ  Ｎｏ．Ｒ−１１２３
【非特許文献４】インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｓｅｃ．ｇｏｖ／ｎｅｗｓ／ｓｔｕｄｉｅｓ／３４‐４７６３８．ｈｔｍ＞（最終更新日：２００３年４月）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラムを提供する。
【課題を解決するための手段】
【００１１】
データの管理方法およびプログラム、並びにシステムを提供する。第１の記憶システム内のボリュームを第２の記憶システム内のボリュームにミラーリングし、第２の記憶システム内のボリュームを、第１および第２の記憶システムを含む第２の地理的位置から離れた第１の地理的位置にある第３の記憶システム内のボリュームにミラーリングすることを示すミラーリング・ポリシーが処理される。第１の地理的位置において、第１および第２の記憶システムの障害が検出される。入力／出力要求を第１の記憶システム内のボリュームに向けるネットワーク・リソースが、第３の記憶システム内のボリュームに入力／出力要求を向けるように自動再構成される。第１の記憶システムの障害および第２の記憶システムの可用性が検出され、それに応じて、第１の記憶システム内のボリュームに入力／出力要求を向けるネットワーク・リソースが、第２の記憶システム内のボリュームに向けるように再構成される。第１の記憶システム内のボリュームへの入力／出力要求を第２の記憶システム内のボリュームに向けるようにネットワーク・リソースを再構成した後に、第２の記憶システムに対する更新が第３の記憶システムにコピーされる。
【００１２】
自動再構成を行うステップは、入力／出力要求を第１の記憶システム内のボリュームに向けるようになったホストシステムのアプリケーションに関連するファイルを、入力／出力要求を第２の記憶システム内のボリュームに向けるように更新するステップを含むことが好ましい。
【００１３】
監視プログラムは、第１および第２の記憶システムの障害を検出し、入力／出力要求を第１の記憶システム内のボリュームに向けるネットワーク・リソースを自動再構成することが好ましい。更に、この監視プログラムは、地理的遠隔地に存在することが好ましい。
【００１４】
随意的に、第１および第２の記憶システムにおける障害を検出した後に、遠隔的フェイルオーバ動作を示すメッセージが、ネットワーク管理者に送信されてもよい。続いて、遠隔的フェイルオーバを実行するか否かを示す応答がネットワーク管理者から受信されてもよく、この応答が遠隔的フェイルオーバの実行を示す場合に自動再構成が行われる。
【００１５】
随意的に、ネットワーク・リソースに対して自動再構成を行うステップとして、ネットワーク・デバイスにおいて再構成の対象となるネットワーク・リソースを示す構成データベースを提供してもよい。第１の記憶システム内のボリュームへの入力／出力要求を、ネットワーク・リソースが第３の記憶システムに向けるようにするために、該ネットワーク・リソースによって使用される構成設定を決定するため、構成データベースが処理され、再構成は、決定された構成設定を第３の記憶システムに関するアドレス情報で更新することにより行われる。
【００１６】
随意的に、第１の記憶システム内のボリュームに向けられた入力／出力要求を第３の記憶システムに送信するために、ネットワーク・リソースにおける構成設定を更新するコードが、ネットワーク・リソースにおいて実行される。
【００１７】
随意的に、第１の地理的位置にある監視システムは、障害を検出し、第１の記憶システム内のボリュームへの入力／出力要求を第２の記憶システム内のボリュームに向けるネットワーク・リソースを自動再構成し、第２の記憶システム内のボリュームに対する更新を第３の記憶システムにコピーしてもよい。
【００１８】
第１の記憶システムからの更新は、第２の記憶システムに同期的にコピーされ、第２の記憶システムからの更新は、第３の記憶システムに非同期的にコピーされることが好ましい。
【００１９】
また、自動再構成の後に、第３の記憶システムにおけるデータは、第２の記憶システムによって更新が最後に受信された時刻より前のポイント・イン・タイムの時点で整合性が取れることが好ましい。
【００２０】
ここで留意すべきは、第１および第２の地理的位置は、互いに少なくとも数百マイル離れていても構わないことである。
【００２１】
更に、第１の記憶システム内のボリュームへの入力／出力要求を第２の記憶システム内のボリュームに向けるようにネットワーク・リソースを再構成するステップは、ボリュームの継続的な可用性をもたらすため、ボリュームに向けられた入力／出力要求の中断が最小限になるように実行されてもよい。
【発明を実施するための最良の形態】
【００２２】
これより、添付図面に示す本発明の好適な実施形態を一例として参照しながら、本発明について説明する。
【００２３】
なお、図面の参照番号は、図面全体を通して対応部分を示している。
【００２４】
図１は、本発明の態様が実装されうるネットワーク・コンピューティング環境を示す。ローカルサイト２は、記憶管理ソフトウェア６ａと付属の記憶システム８ａとを備えた記憶コントローラ４ａ、および記憶管理ソフトウェア６ｂと付属の記憶システム８ｂとを備えた記憶コントローラ４ｂの二つを有する。記憶コントローラ４ａ，４ｂは、同じ建物、同一大学構内の別の建物、同じ都市など、比較的近い地理的領域内に位置していても構わない。記憶コントローラ４ａ，４ｂ間の接続１０は、ストレージ・エリア・ネットワーク（ＳＡＮ）やローカル・エリア・ネットワーク（ＬＡＮ）のような専用回線又はネットワークを含んでもよい。あるいは、接続１０は、イントラネット又はインターネットを含んでもよい。リモートサイト２０は、ローカルサイトから何百または何千マイル離れていても構わず、記憶管理ソフトウェア２４ａと付属の記憶システム２６ａとを備えた記憶コントローラ２２ａ、および記憶管理ソフトウェア２４ｂと付属の記憶システム２６ｂとを備えた記憶コントローラ２２ｂの二つを有する。接続２８は、記憶コントローラ４ａ，２２ａ間における長距離接続を提供しており、長距離電気通信業者やインターネットなどによって管理される、または接続が維持される専用光ファイバ網を有してもよい。この長距離接続２８は、大陸間接続であってもよい。記憶コントローラ２２ａ，２２ｂ間の接続３０は、数十マイル内といった比較的短い接続を提供し、記憶コントローラ２２ａ，２２ｂは、同じ建物、同一大学構内の別の建物、同じ都市など、比較的近い地理的領域に位置していても構わない。
【００２５】
ローカルサイト２およびリモートサイト２０に位置するホストシステム（図示せず）は、記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂを介して、記憶システム８ａ，８ｂ，２６ａ，２６ｂのボリュームに対して入力／出力（Ｉ／Ｏ）動作を行うことができる。このホストシステムは、当該技術分野では公知のいずれかのネットワーク又は接続を介して、記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂと通信可能である。
【００２６】
記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂは、プロセッサ複合体（図示せず）を更に有してもよく、ＩＢＭ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒ（ＥＳＳ）（登録商標）、３９９０  Ｓｔｏｒａｇｅ  Ｃｏｎｔｒｏｌｌｅｒ（登録商標）などの当該技術分野では公知のいずれかの記憶コントローラまたはサーバを含んでよい（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｅｒは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である。）。記憶システム８ａ，８ｂ，２６ａ，２６ｂは、Ｊｕｓｔ  ａ  Ｂｕｎｃｈ  ｏｆ  Ｄｉｓｋｓ（ＪＢＯＤ）、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（ＲＡＩＤ）アレイ、仮想化装置などの記憶装置アレイを含んでよい。記憶管理ソフトウェア６ａ，６ｂ，２４ａ，２４ｂは、障害が発生した場合にデータ・ミラーリングおよびデータ復旧を可能にするコードを有してもよく、例えばＩＢＭ  ＰＰＲＣ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅプログラムに含まれるコードは、比較的短い距離および長距離のデータ・ミラーリングを可能にする。ＩＢＭ  ＰＰＲＣ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅプログラムの詳細は、非特許文献２に記載されている。
【００２７】
図１は、監視プログラム３４を有する監視システム３２を更に示しており、この監視プログラム３４は、異なる記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂ間におけるミラーコピー動作を制御する。監視プログラム３４によって起動された監視およびコピー動作は、システム管理者による初期設定後に自動的に実行されてもよく、または、システム管理者によって行われる手動のコマンドおよび監視に応じて実行されてもよい。監視ポリシー３６は、異なる記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂ間におけるミラーコピーの関係がどのように管理されるかという情報を含む。実際、この監視ポリシー３６は、記憶コントローラ４ａにコマンドを送信してコピー動作を実施するために、監視プログラム３４によって実行されるコードを含むことができる。また、監視ポリシー３６は、記憶システム８ａのボリューム、およびミラーリングされたボリュームを格納する記憶システム８ｂ，２６ａ，２６ｂのボリュームを示すなど、初期コピー設定を指定可能である。例えば、監視ポリシー３６は、記憶システム８ｂの特定のボリュームが記憶システム８ａの特定のボリュームの二次コピーを提供する場合の記憶システム８ａ，８ｂにおけるボリューム・ペアのＰＰＲＣ関係といったコピー関係、および記憶システム８ｂ，２６ａ間のボリューム・ペアのコピー関係、並びに記憶システム２６ａ，２６ｂ間のコピー関係を示すことができる。
【００２８】
監視システム３２は、記憶コントローラ６ａへの接続３８および記憶コントローラ６ｂへの接続４０を有し、それらの接続は、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）チャネル、ファイバチャネル、Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍ  Ｃｏｎｎｅｃｔｉｏｎ（ＥＳＣＯＮ）（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標）、イーサネット（Ｅｔｈｅｒｎｅｔ）など、当該技術分野では公知のいずれかのネットワーク技術を用いて実装することが可能である。あるいは、別の実施形態として、監視システム３２は、記憶コントローラ４ａのみに接続されていてもよい。監視プログラム３４は、監視コントローラ４ａおよび４ｂあるいはその両方を介して、記憶コントローラ２２ａ，２２ｂにコマンドを出すことができる。接続１０，３０，３８，４０は、それぞれ、同一のネットワークまたは異なるネットワークの一部であっても構わない。
【００２９】
図２は、各記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂが、二次コントローラに対する更新をミラーリングするためのコピー動作を管理する目的でメモリに保持するコピー情報５０を示す。コピー情報５０は、ボリューム更新ビットマップ５２を含み、各ボリューム・ビットマップは、ボリューム内の各トラックのビットを含む。記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂがトラックに対する更新を受け取ったときには、ボリューム・ビットマップ５２内の対応するビットが、更新を示すため「ｏｎ」になる。コピー・ボリューム５４の情報は、二つの記憶コントローラ間のコピー関係に関与するボリューム・ペアを識別するものである。特定の記憶コントローラ、例えば記憶コントローラ４ｂは、ローカル記憶コントローラ４ａとのコピー関係、およびリモート記憶コントローラ２２ａとのコピー関係といった複数のコピー関係のコピー情報を保持することが可能である。
【００３０】
図３、図４および図５は、記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂ間でミラーリング動作を行うため、監視プログラム３４がミラーリング・ポリシー３６の情報の処理に応答して実行する動作を示す。図３において、監視プログラム３４は、ミラーリングのためのローカル記憶システム８ａ，８ｂ間、ローカル記憶システム８ｂおよびリモート記憶システム２６ａ間、リモート記憶システム２６ａ，２６ｂ間のボリューム・ペアを示すミラーリング・ポリシー３６に基づいてミラーリングを開始する。ミラーリング・ポリシー３６は、記憶システム８ａ，８ｂのボリューム間では非同期コピー動作を使用し、ローカル記憶システム８ｂおよびリモート記憶システム２６ａのボリューム間では「ＰＰＲＣ  ＸＤ」などの距離延長コピー動作を使用し、リモート記憶システム２６ａ，２６ｂ間ではＦｌａｓｈＣｏｐｙ（商標）を使用するといった具合に、異なる記憶システム間でミラーリングを行うためのコピー動作の種類を示すこともできる。（ＦｌａｓｈＣｏｐｙは、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標である。）
【００３１】
ＦｌａｓｈＣｏｐｙ（以下、フラッシュコピー）は、ソースおよびターゲット・ボリューム間における論理的なポイント・イン・タイム関係の確立に関与している。ボリューム更新ビットマップ５２（図２）などのビットマップは、各トラックに対するビット値を有するボリューム毎に保持されており、トラックのデータがそのボリュームに位置するか、あるいは別のボリュームに位置するかを示す。コピーは、フラッシュコピーの対象となるすべてのソースデータを示すビットマップが作成されたときに確立される。バックグラウンド・コピー動作は、ビット値が「ｏｎ」であるすべてのトラックをソース・ボリュームからターゲット・ボリュームにコピーするものである。この確立動作の間、ターゲット・ボリュームのビットマップ内のすべてのビット値は「ｏｎ」になり、ターゲット・ボリュームのデータが別の場所に位置することを示す。この関係が確立された後にトラックへのデータのステージが試行された場合、トラックを含むボリュームに対するビットマップ内のビット値がチェックされる。ここで、ビット値が「ｏｎ」である場合、トラックがポイント・イン・タイム・コピー関係の対象となるターゲットトラックであることを示しており、ターゲットトラックは、ソース装置内の対応するソーストラックからターゲット・キャッシュにステージされる。ソース・キャッシュからのソーストラックのデステージがアクセス試行された場合、対応するターゲットトラックを含むターゲット・ボリュームに対するビットマップがチェックされる。ターゲット・ビットマップ内のビット値が「ｏｎ」である場合、ターゲットトラックは、ソース装置からターゲット・キャッシュにステージされた後に、ターゲット・キャッシュからターゲット装置にデステージされ、また、ターゲット・キャッシュからデステージされたトラックに対するターゲット・ビットマップ内のビット値が「ｏｆｆ」になる。ソーストラックへのアクセスは、ターゲット関係ビットマップが、ソーストラックをターゲット・キャッシュにステージする必要がこれ以上ないことを示した場合のみ許可される。
【００３２】
図３において、監視プログラム３４が、（ブロック１０２において）ミラーリング・ポリシー３６に示された記憶コントローラ４ａの全ての一次ボリュームを、二次記憶システム８ｂ内の対応するボリュームに初期コピーする。ローカル一次記憶コントローラ４ａおよびローカル二次記憶コントローラ４ｂ間の初期コピーが完了したときに、（ブロック１０４において）監視プログラム３４が、ローカル二次コントローラ４ｂに、ローカル一次コントローラ４ａから事前にコピーされた特定ボリュームをリモート一次記憶コントローラ２２ａに非同期的にコピー／ミラーリングするようにコマンドを送信する。監視システム３２および記憶コントローラ４ｂ間に直接的な接続４０が存在する場合には、ブロック１０４において送信されるコマンドは記憶コントローラ４ｂに直接送信され、そうでなければ、コマンドは記憶コントローラ４ａおよび接続１０を介して送信される。更に、フラッシュコピー動作が実行されて、記憶システム２６ａのボリュームにある初期コピーが記憶システム２６ｂの特定ボリュームにコピーされてもよい。
【００３３】
図４において、データの初期コピーを確立した後に、監視プログラム３４は、（ブロック１５０において）一次記憶コントローラ４ａが更新をローカル二次記憶コントローラ４ｂに非同期的にコピーする処理を開始するが、更新は、ホスト・アプリケーションに対する遅延を回避するために非同期的に送信されてもよく、そうでなければ同期的に送信されてもよい。ブロック１５２において、監視プログラム３４は、非同期コピーコマンドを一次記憶コントローラ４ａに送信することで、記憶コントローラ４ａに、ボリューム更新ビットマップ５２（図２）に示されたデータ更新を二次記憶コントローラ４ｂに送信させる。これに応答して、更新を受信する二次記憶コントローラ４ｂが、（ブロック１５４において）ローカル一次記憶コントローラ４ａから受信した変更データをボリューム更新ビットマップ５２に表示する。一次記憶コントローラ４ａは、データの整合性グループを形成し、データを整合性グループとして二次記憶コントローラ４ｂに送信して、二次記憶コントローラ４ｂに格納されたデータが整合時刻の時点で整合性グループとの整合性が取れるようにしてもよい。
【００３４】
監視プログラム３４は、ある時点で、ミラーリング・ポリシー３６に定められたパラメータに従って図５に示すロジックを実行し、記憶コントローラ４ａ，４ｂ間のコピーを一時停止することで、ローカル記憶コントローラ４ｂおよびリモート記憶コントローラ２６ａ間のデータのリモート・ミラーリングを可能にする。記憶コントローラ４ａ，４ｂ間におけるコピーを一時停止することで、記憶コントローラ４ｂ，２２ａ間におけるリモート・ミラーリングが可能になり、すべてのボリューム間／記憶サブシステム間のデータの時間的整合性が、記憶コントローラ４ｂ，２２ａによって管理される全てのボリュームにわたって取れるようになる。コントローラ４ｂ，２２ａ間において整合性が取れた後で、ローカル記憶コントローラ４ａ，４ｂ間の同期コピーを許可する前に、記憶コントローラ２２ｂに対して整合性が確立される。一時停止の間も整合点は依然として保持され、一時停止中に災害が発生した場合には整合点に基づいて復旧することができる。一例として、ローカル一次記憶コントローラ４ａに障害が発生した場合、ローカル二次記憶コントローラ４ｂおよびリモート一次記憶コントローラ２２ａ間で整合性が保持され、また、フラッシュコピーの結果としてリモート記憶コントローラ２２ｂに対して整合性が保持される。ローカル記憶コントローラ４ａ，４ｂが失われた場合、整合点でのデータは、リモート記憶コントローラ２２ｂから復旧することができる。更に、ローカルサイトにおいて障害が発生した場合、データがリモート二次記憶コントローラ２２ｂにコピーされる前は、リモート一次記憶コントローラ２２ａからデータを復旧することができ、データがフラッシュコピーなどによってリモート二次記憶コントローラ２２ｂにコピーされた後は、リモート二次記憶コントローラ２２ｂからデータを復旧することができる。
【００３５】
一実施形態において、記憶コントローラ４ａ，４ｂ，２２ａ間のミラーリングは、リモート記憶コントローラ２２ｂに提供する整合性グループを形成する一時停止期間以外は継続的に行うことができる。例えば、データの整合性グループが一次記憶コントローラ４ａから二次記憶コントローラ４ｂにコピーされ次第、図５に示した処理を継続的に実行することが可能である。あるいは、ミラーリング・ポリシー３６は、一日のうちの特定時刻において、５時間毎といった時間的間隔で、またはイベントが発生した場合に、図４に示されたリモート・ミラーリングを実行するように指定することができる。
【００３６】
リモート・ミラーリングを初期化した時点で（ブロック２００において）、監視プログラム３４は、ローカル一次記憶コントローラ４ａおよびローカル二次記憶コントローラ４ｂ間のミラーリング動作をフリーズするフリーズ動作を開始させるため、（ブロック２０２において）ローカル一次記憶コントローラ４ａにコマンドを送信する。その後（ブロック２０４において）、監視プログラム３４は、記憶システム８ｂにおいて更新されたトラックを割り出すために、ローカル二次コントローラのボリューム・ビットマップ５２に問い合わせを行う。続いて（ブロック２０６において）、ＰＰＲＣコマンドなどのミラー・コマンドが、ローカル二次記憶コントローラ４ｂ向けのボリューム・ビットマップに示された更新済みのトラックを非同期的にコピーするため、接続４０経由で直接的に、または一次記憶コントローラ４ａを介して、ローカル二次コントローラに対して送信される。（ブロック２０８において）監視プログラム３４は、定期的に、ローカル二次記憶コントローラ４ｂに、拡張クエリ・コマンド、例えばＣＱＵＥＲＹコマンドといったＰＰＲＣ−ＸＤのクエリ・コマンドなどをリモート一次コントローラ２２ａに送信させることにより、ローカル二次コントローラ４ｂからのすべての更新のミラーリングが完了したか否かを判断させる。（ブロック２１０において）クエリ・コマンドからの出力情報に示された通り、リモート・ミラーリングが完了した場合、（ブロック２１２において）監視プログラム３４は、ＦｌａｓｈＣｏｐｙコマンドをリモート一次記憶コントローラ２２ａに送信することで、ミラーリング・ポリシー３６に示された記憶システム２６ａのボリュームをリモート二次記憶コントローラ２２ｂにコピーさせる。ここで、リモート・コントローラ２２ａ，２２ｂ間のコピー動作がフラッシュコピーである場合、コピーを確立するために一次ボリュームに対するポインタが最初にコピーされ、続いてデータがバックグラウンドにおいてコピーされる。（ブロック２１０において）リモート・ミラーリングが完了していない場合、制御系はブロック２０８に戻り、リモート・ミラーリングが完了するまでクエリを続行する。したがって、ローカル記憶コントローラ４ｂからの更新をリモート記憶コントローラ２２ａにミラーリングした後に、ミラーリングされたすべてのデータコピーは、リモートサイト２０における整合性データを一層強化するため、リモート二次記憶コントローラ２２ｂにコピーされる。
【００３７】
リモート一次ボリューム２６ａおよびリモート二次ボリューム２６ｂ間のフラッシュコピー動作が完了した時点で、（ブロック２１４において）監視プログラム３４は、コマンドを発行して、一次記憶コントローラ２２ａおよび二次記憶コントローラ２２ｂ間におけるミラーリングの一時停止を終了し、一次記憶コントローラ４ａおよび二次記憶コントローラ４ｂ間における更新の非同期コピーを再開する。
【００３８】
上述した実装により、整合性グループは、リモートサイト２０で強化される。ローカルサイト２全域において記憶システムが全滅した場合、データはリモートサイト２０から復旧されるとともに、すべてのデータの整合性が、全記憶システム８ａ，８ｂ，２６ａ，２６ｂにわたって保持される一時点で取れ、ボリューム間／記憶サブシステム間すべてにおけるデータ保全性およびデータ整合性が保証される。このようなリモート・ミラーリングは、人類および自然史のうち、大惨事により地理的地域の全域およびその地域に保持された全データ記憶装置の大量破壊が引き起こされる可能性がある現代において特に実用性が高い。実際、アメリカ合衆国政府は、地域全体にわたってデータ記憶装置が破壊された場合に、金融インフラの保守に不可欠なデータなどの極めて重大なデータの保全性および無事を保証するため、それらの重要なデータを遠隔地にミラーリングすることを近年提言している。国家の金融インフラのデータ保全性を保証するためにリモートデータ記憶装置を使用することに関するアメリカ合衆国政府の目標は、非特許文献３に記載されているとともに、非特許文献４において利用可能である。
【００３９】
継続的動作および災害復旧方法の提供
エンタープライズおよびビジネス・コンピューティングの一目標は、ユーザ・アプリケーションがデータに継続的にアクセスできるように、データの可用性を最大化することである。このことは、国家の繁栄に不可欠な金融取引などを含む基幹コンピュータ・トランザクションにおいて特に重要である。また、別の目標として、データの整合性およびデータの頻繁なバックアップを保証するバックアップ・ポリシーを保持すること、およびデータの可用性に対する混乱を最小化する災害フェイルオーバ復旧ポリシーを提供することが挙げられる。
【００４０】
図６は、追加的なネットワーク・コンピューティング環境を示しており、この環境において、ローカルサイト３０２は、ネットワーク３０８に各々接続されるローカル記憶コントローラ３０４ａ，３０４ｂおよびローカル監視システム３０６を有し、リモートサイト３２０は、ネットワーク３０８に各々接続されるリモート記憶コントローラ３２２ａ，３２２ｂおよびリモート監視システム３２４を有する。ローカルサイト３０２およびリモートサイト３２０は、図１に示すサイト２，２０に関して記載したとおりに位置付けてもよい。更に、記憶コントローラ３０４ａ，３０４ｂ，３２２ａ，３２２ｂは、図１を参照して説明した記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂと同様に、（図示しない）付属の記憶管理ソフトウェアおよび記憶システムを有することができる。ローカル監視システムは、監視システム３２（図１）を参照して説明した構成要素３４，３６を保有可能である。また、ホスト３３０およびネームスペース３３２は、ネットワーク３０８に接続されており、例えば、ネットワーク・アドレス、およびスイッチといったネットワーク・リソース３３４に対する要求を解決するために使用される。ネットワークは、当該技術分野では公知のネットワーク接続形態のどれを含んでもよく、例えば、広域ネットワーク（ＷＡＮ）、インターネット、イントラネットのように全装置を相互接続する単一ネットワークが挙げられる。更に、ネットワーク３０８は、記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂ間（図１）のデータ転送に使用されるネットワーク経路１０，２８，３０の帯域外であるネットワークを含んでも構わない。例えば、ネットワーク経路１０，２８，３０は、専用光ファイバ回線を含み、ネットワーク３０８は、イントラネットやインターネット、並びに仮想私設網などを含んでもよい。あるいは、ローカルサイト２とリモートサイト２０とを接続する経路２８は、ネットワーク３０８の一部分であっても構わない。
【００４１】
図７は、リモート監視システム３２４に含まれる構成要素および情報を示し、リモート監視プログラム３５０、復旧装置用経路情報３５２、およびリモートサイト３２０に対するフェイルオーバ時に再構成するためのネットワーク・リソース関連情報を含む構成データベース３５４を含む。経路情報３５２は、最初にリモート一次記憶システム２６ａに設定可能であるが、（図５のブロック２１２および２１４において）リモート二次記憶システム２６ｂへのコピーが完了した後で、ローカルサイト３０２からのフェイルオーバ時に使用するためにリモート二次記憶システム２６ｂに設定可能である。経路情報３５２は、ローカルサイト３０２からデータをミラーリングするリモート記憶サブシステムの一つ以上のネットワーク・アドレスを示すことができ、ローカルサイト３０２の記憶サブシステム８ａ，８ｂ（図１）において使用されるものと同一のボリューム名および識別子を保有可能である。構成データベース３５４は、プログラム又は装置が含まれうるリソースを更新するための、各リソースに対応するエントリを有する。
【００４２】
図８は、各構成データベース・エントリ３６０が含有する情報を示しており、該情報には、装置アドレス３６２、構成可能要素３６４および構成コード３６６が含まれ、装置アドレス３６２は、ネットワーク３０８内の再構成用のリソースを含む装置のアドレスを示し、構成可能要素３６４は、装置アドレス３６２において更新されているオペレーティング・システムのアプリケーション・プログラム、データベース・プログラムおよびレジストリ・ファイルや装置情報などの構成設定といった構成要素を識別し、構成コード３６６は、スクリプト・プログラムといったコードであり、実行された場合は復旧システム用経路情報３５２を用いて構成可能要素３６４を更新することで、アプリケーションまたはリソースが、ローカルサイトにおいて障害が発生した一記憶システム８ａ，８ｂの代わりに、要求をリモートサイト２０の記憶システム２６ａ，２６ｂに向けるようにする。
【００４３】
図９は、（ブロック４００において）ローカル一次記憶コントローラ３０４ａの障害を検出した際に、ローカル監視システム３０６の監視プログラム３４によって実行される動作を示す。障害検出に応答して、ローカル監視システム３０６（または図１の３２）は、ホスト・アプリケーションが利用可能なローカル二次記憶コントローラ３０４ｂに対して入力／出力を実行できるように、（ブロック４０２において）接続されている全ホスト３３０（図６）および他のネットワーク・リソース３３４において制御ブロック内の装置アドレス情報を再構成し、ローカル二次記憶コントローラにポインタを向ける。ローカル監視システム３０６は、ＩＢＭのＨＹＰＥＲＳＷＡＰ（ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの商標）機構を利用して、ホスト・アプリケーションを静止させる必要なしに一次記憶サブシステムを二次記憶サブシステムに切り替えることができる。（ＨＹＰＥＲＳＷＡＰ，以下、ハイパースワップ）この動作の詳細は、同時係属中の同一出願人による、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｎｃｕｒｒｅｎｔ  Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ  Ｓｗａｐｐｉｎｇ」と題する出願日２００２年４月２９日の特許文献３および「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ａｕｔｏｍａｔｉｃ  Ｄｙｎａｍｉｃ  Ａｄｄｒｅｓｓ  Ｓｗｉｔｃｈｉｎｇ」と題する出願日２００３年４月２９日の特許文献４に記載されている。この切り替え処理後、ホスト３３０のアプリケーションおよび他のネットワーク・リソース３３４は、残存するローカル二次記憶コントローラ３０４ｂに対して入力／出力を実行することが可能になる。
【００４４】
ローカル監視システム３０６は、残存するローカル二次記憶コントローラにおいて受信したすべての更新をリモート一次記憶コントローラ３２２ａに非同期的にコピーするため、（ブロック４０４において）ローカル二次記憶コントローラ３０４ｂに対してコマンドを発行する。したがって、ホストの入力／出力に対して非常に短い中断のみで、ローカル二次記憶コントローラ３０４ｂにフェイルオーバした後に、このフェイルオーバ・モードにおいてローカル二次記憶コントローラ３０４ｂが受信した更新は、リモート一次記憶コントローラ３２２ａに非同期的にコピーされるので、リモート一次記憶コントローラ３２２ａは、最新状態に保持され、その後フェイルオーバ・モード動作中にローカル二次記憶コントローラ３０４ｂが障害を起こした場合、災害復旧に利用することができる。このように、リモートサイト３２０においてデータの並行性が維持され、災害復旧が継続されている間、ダウンタイムを最小限に食い止めるＩＢＭのハイパースワップなどのフェイルオーバ処理をローカルサイト３０２で活用することで、ローカルサイト３０２における継続的な動作が保証される。ローカル二次記憶システム８ｂ（図１）へのフェイルオーバは、一次記憶システム８ａの予期せぬ障害によって無計画に実行され、または、一次記憶システム８ａの保守整備が完了している場合は、計画的に実行されうる。いずれにせよ、ローカル監視システム３０６は、ローカル二次記憶システム８ｂへのフェイルオーバを自動的に実施する。
【００４５】
図１０は、数千マイル離れた地理的な遠隔地といったリモートサイト３２０へのフェイルオーバを必要とする、ローカルサイト３０２全域に及ぶ障害に対処するためにリモート監視プログラム３５０によって実行される動作を示す。ブロック４５０において、リモート監視プログラム３５０は、ローカルサイト３０２における記憶コントローラ３０４ａ，３０４ｂのネットワーク３０８上での監視を開始する。次に（ブロック４５２において）、リモート監視プログラム３５０は、ローカル記憶コントローラ３０４ａ，３０４ｂが利用可能か否かを判断するため、ローカル記憶コントローラ３０４ａ，３０４ｂに対して問い合わせを行う。（ブロック４５４において）少なくとも一方が利用可能であると判断された場合、いかなるフェイルオーバもローカル監視システム３２６によって対処されうるので、すなわち、ローカルサイト３０２は全体として壊滅的状態に陥っていないことになり、制御が終了する。記憶コントローラ３０４ａ，３０４ｂの両方が利用不可である場合、リモート監視システム３５０は、指定された一人以上のリモート・ネットワーク管理者への警告メッセージを生成し、障害について通知するとともに指示を要求する。一実施形態では、リモート監視システム３２４の判断は、遠隔的フェイルオーバが実行されるべきか否かの人間の判断とは異なる。ネットワーク管理者は、ローカルサイト３０２の障害の原因が一時的なものであり、ローカルサイト３０２における壊滅的事象によるものでないので、遠隔的フェイルオーバは不必要であると判断するかもしれない。リモート・ネットワーク管理者は更に、ローカルサイト３０２におけるシステムが長期間利用不可であると判断することもある。そのような場合、ネットワーク管理者は、リモート監視システム３２４からの通知に対して、遠隔的フェイルオーバを実行する、あるいは何もしないということを指示する応答を返すことができる。例えば、リモート監視システム３２４がネットワーク管理者の選択を示すためのチェックボックス付きの電子メールを送信した場合、ネットワーク管理者は、返信メールに一つの選択を示して応答することができる。当該技術分野では公知のあらゆる通知および応答機構を利用することが可能である。一例として、ネットワーク管理者は、ポケットベルや電話などを介した電子自動通知の受信に応答して、ネットワーク３０８上の遠隔地からリモート監視システム３２４にアクセスし、遠隔的フェイルオーバを実行するか否かを指示することができる。
【００４６】
（ブロック４５８において）ネットワーク管理者が遠隔的フェイルオーバを実行するよう指示しなかった場合、制御は終了する。そうでなく、遠隔的フェイルオーバのオプションが選択された場合、構成データベース３５４内の各エントリ３６０に対してブロック４６０からブロック４６４までのループが実行される。リモート監視プログラム３５０は、（ブロック４６２において）エントリｉに対して、装置アドレス３６２で特定された装置においてエントリｉ内の構成コード３６６を実行することで、ボリュームの装置アドレスを示す情報から経路情報３５２に示された装置アドレスに再構成する。この再構成は、データベース・プログラムなどのアプリケーション・プログラムによって使用されるファイルや、レジストリ・ファイルのように付属装置に情報を提供するオペレーティング・システムのファイルを更新することで実行可能である。更に、一つの構成データベース・エントリ３６０は、一次記憶システム８ａを対象とするアドレスを経路情報３５２において特定された一リモート記憶システム２６ａ，２６ｂに決定するためにネットワーク・アドレス決定に使用されるネットワーク・ネームスペース３３２を更新することができる。
【００４７】
図１０に示されたロジックにおいて、リモート監視システムがリモート記憶システムを使用する特定のホストを再構成するまで、記憶システムへのホスト・アクセスはすべて拒否される。更に、リモート記憶システム２６ａ，２６ｂにおいて利用可能なデータは、障害が発生する以前になされた一次記憶システム８ａに対する最新の更新を含んでいない可能性を有する時点での整合性が取れている。その場合、すべてのアプリケーションおよび他のネットワーク・リソースは、リモート記憶システムにおける整合時刻の時点に再初期化されなければならない。
【００４８】
図９に示された遠隔的フェイルオーバを始動させる障害は、ローカル一次記憶システム８ａにおける障害が原因でローカル二次記憶システム８ｂを使用するために図８に示された動作が実行された後に、発生する可能性がある。
【００４９】
更に別の実施形態では、リモート監視プログラム３５０は、ホスト３３０およびネットワーク・リソース３３４におけるリソースの再構成を可能にして、リモート記憶システムをローカル一次記憶システム８ａへのあらゆる後続の入力／出力要求用の入力／出力装置として特定するために、ネットワーク３０８内の各ホスト３３０およびネットワーク・リソース３３４に対してコマンドを送信し、各ホスト３３０およびネットワーク・リソース３３４は、リモート記憶システムを使用するリソースの再構成を行うため、リモート監視プログラム２５０からのコマンドを処理し、局所的に実行するコードを有する。
【００５０】
上述した実施形態は、データがローカル二次記憶システム８ｂおよびリモート二次記憶システム２６ａ，２６ｂにミラーリングされている間において継続的なデータ可用性を維持する技術を提供する。また、上述した実施形態は、ホスト入力／出力要求の中断を最小化する形で、ローカル二次記憶システム８ｂまたはリモート二次記憶システム２６ａ，２６ｂのいずれかにフェイルオーバを行う技術を提供する。更に、ローカルサイトにおいてフェイルオーバが実行された場合でも、データの復旧目的でリモートサイトの同時並行性を維持するため、更新はリモートサイトにミラーリングされる。
【００５１】
別の実施形態の詳細
異なる記憶場所間においてデータをミラーリングし、フェイルオーバを行う上述の技術は、ソフトウェア、ファームウェア、ハードウェア、または、それらのあらゆる組み合わせを実現する基本的なプログラミングおよび／またはエンジニアリング技法を使用して、方法、装置および製品として実施することができる。ここでいう「製品」とは、ハードウェア論理回路（例えば、集積回路チップ、プログラマブル・ゲートアレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）に実装されたコードまたはロジック、あるいは、磁気記憶媒体（例えば、ハードディスク・ドライブ、フロッピーディスク、テープなど）、光学式記憶媒体（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ装置（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラマブル・ロジックなど）といったコンピュータに読み込み可能な媒体のことである。これらのコンピュータに読み込み可能な媒体内のコードは、プロセッサ複合体によりアクセスされ実行される。好適な実施形態が実装されるコードは、更に伝送媒体を介して、あるいはネットワーク上のファイルサーバからアクセス可能である。その場合、コードが実装される製品として、ネットワーク伝送回線、無線伝送媒体、空間伝搬信号、電磁波、赤外線信号などのような伝送媒体を含むことができる。このようにして、「製品」は、コードが具現化された媒体を含むことができる。加えて、「製品」は、コードが具現化され、処理、実行されるハードウェアおよびソフトウェア・コンポーネントの組み合わせを含むことができる。当然ながら、本発明の範囲から逸脱することなく本構成に対して多様な変更が可能であり、製品として当該技術分野では公知の情報を保持する媒体を含むことができることは、当業者であれば認識されるであろう。
【００５２】
上述した実施形態では、ＩＢＭ  ＰＰＲＣ  Ｅｘｔｅｎｄｅｄ  Ｄｉｓｔａｎｃｅを用いたコンピューティング環境について記載されている。しかし、上述の整合性保持に係る実施形態は、本出願に記載されたものとは異なる他のデータコピー用プロトコルおよびプログラムを使用して、別のコンピューティングおよびベンダー環境における整合性の保持に適用することが可能である。
【００５３】
一実施形態では、記憶装置内のデータは、ボリューム形式で配置されている。この代替システムでは、整合性の保持の目的で、データを記憶した記憶領域が、セッションではなくグループとして組織化されるボリュームの代わりに、記憶ユニットとして組織化されうる。
【００５４】
上述した実施形態では、データ更新は、ある記憶コントローラから別の記憶コントローラに転送される以前に、整合性グループとして編成された。代替の実施形態としては、異なる記憶コントローラ間においてコピーされたデータは、整合性グループを構成しなくてもよい。
【００５５】
監視プログラム３４によって実行されるロジックは、データ・ミラーリングに使用される記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂとは別の監視システム３２に実装されることを記載した。代替の実施形態では、上述した監視プログラム３４による動作は、記憶コントローラ４ａ，４ｂ，２２ａ，２２ｂのいずれかにおける記憶管理ソフトウェア６ａ，６ｂ，２４ａ，２４ｂによって実行可能である。監視システム３２は、ローカルサイト３０２内または外に配置されてもよい。更に、リモート監視システム３２は、リモートサイト３２０内または外に配置されてもよい。
【００５６】
論理的なポイント・イン・タイム・コピー関係を確立する上述の実施形態は、データの高可用性が重要である重要データ環境に配置されたシステムと共用されることを記載した。しかし、本出願に記載されたポイント・イン・タイムのコピー動作が、高可用性が必要とは限らない重要でないデータ用のシステムにも適用可能であることは、当業者であれば理解されよう。
【００５７】
上述した実施形態において、リモート監視システム３２４は、ネットワーク管理者が遠隔的フェイルオーバを承認するまで、ネットワーク・リソースを再構成せず待機する。代替の実施形態では、リモート監視システム３２４は、ローカル記憶コントローラが利用不可であることを検出した場合に、自動的に再構成動作を行う、あるいは、再構成動作を行うか否かを判断するため、追加的なテストおよび診断を実行することが可能である。
【００５８】
図３、図４および図５に示されたロジックは、一定順序に従って発生する特定イベントを示す。代替の実施形態として、幾つかの動作を、別の順序で実行、変更、または削除してもよい。更に、上述したロジックにステップを追加してもよく、その場合、上述した実施形態に従うものとする。また、本出願に記載された動作は順次行われてもよく、あるいは、幾つかの動作が平行して行われてもよい。更に、単一の処理装置または分散処理装置によって動作を実行しても構わない。
【００５９】
図１１は、図１に示された監視システムおよび記憶コントローラといったネットワーク構成要素を有するコンピュータ・アーキテクチャ５００の一実施形態を示す。アーキテクチャ５００は、プロセッサ５０２（例えば、マイクロプロセッサ）、メモリ５０４（例えば、揮発性記憶装置）および記憶装置５０６（例えば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブのような不揮発性記憶装置など）を有することができる。記憶装置５０６は、内部記憶装置、外付け、あるいはネットワーク・アクセス可能な記憶装置を含むことができる。記憶装置５０６内のプログラムは、当該技術分野では公知の方法で、メモリ５０４にロードされ、プロセッサ５０２により実行される。アーキテクチャは、ネットワーク通信を可能にするため、更にネットワーク・カード５０８を有する。入力装置５１０は、プロセッサ５０２へのユーザ入力を提供するために使用され、キーボード、マウス、スタイラス・ペン、マイクロフォン、タッチセンシティブ・ディスプレイ画面、あるいは当該技術分野では公知のその他のアクティブ化または入力機構を含むことができる。出力装置５１２は、プロセッサ５０２、または表示モニタ、プリンタ、記憶装置といった他の構成要素から転送された情報をレンダリングすることが可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態が実装されるネットワーク・コンピューティング環境を示すブロック図である。
【図２】データを異なる場所にミラーリングする目的で記憶コントローラに保持されたコピー情報を示すものである。
【図３】本発明の実施形態にかかる、データを異なる記憶場所にミラーリングするために実行される動作を示すものである。
【図４】本発明の実施形態にかかる、データを異なる記憶場所にミラーリングするために実行される動作を示すものである。
【図５】本発明の実施形態にかかる、データを異なる記憶場所にミラーリングするために実行される動作を示すものである。
【図６】本発明の更に別の実施形態が実装されるネットワーク・コンピューティング環境を示すものである。
【図７】本発明の実施形態にかかる、リモート監視システムに含まれる構成要素および情報を示すものである。
【図８】本発明の実施形態にかかる、遠隔的フェイルオーバ時に再構成するためのリソース関連情報を提供する構成データベース情報を示すものである。
【図９】本発明の実施形態にかかる、フェイルオーバ処理のため実行される動作を示すものである。
【図１０】本発明の実施形態にかかる、フェイルオーバ処理のため実行される動作を示すものである。
【図１１】記憶コントローラ、監視システム、ホスト、ネットワーク・リソースといったネットワーク環境内のコンピュータ構成要素のアーキテクチャを示すものである。
【符号の説明】
【００６１】
２：ローカルサイト
４ａ、４ｂ、２２ａ、２２ｂ：記憶コントローラ
６ａ、６ｂ、２４ａ、２４ｂ：記憶管理ソフトウェア
８ａ、８ｂ、２６ａ、２６ｂ：記憶システム
２０：リモートサイト
３２：監視システム
３４：監視プログラム
３６：ミラーリング・ポリシー
【図１】
0004405509.tif 000002
【図２】
0004405509.tif 000003
【図３】
0004405509.tif 000004
【図４】
0004405509.tif 000005
【図５】
0004405509.tif 000006
【図６】
0004405509.tif 000007
【図７】
0004405509.tif 000008
【図８】
0004405509.tif 000009
【図９】
0004405509.tif 000010
【図１０】
0004405509.tif 000011
【図１１】
0004405509.tif 000012