(57)【要約】【課題】  必要とされているものは、ハートビート信号を伝送し、クラスタ化マルチサイトシステム内部で送受信方法を実行する頑健な方式である。【解決手段】  本発明は、マルチサイト用の遠隔二重化リンクを経由するハートビート装置、ならびに該ハートビート装置を使用する方法に取り組むものである。情報は構成テーブルに登録され、かつ該構成テーブルはホストID情報ならびにボリュームID情報を記憶する。構成テーブルが構成され、ホストからのアクセス要求が検証され、ホスト・アクティヴィティが記録され、アクセス記録と登録されている情報の間に一致が認められれば、構成テーブル中に追加の記録が作られる。【選択図】  図１Ａ
2005301975.tif 000002
【特許請求の範囲】
【請求項１】
第1のホストと関連している第1のサイトに所属する第1の記憶システムと、第2のホストと関連している第2のサイトに所属する第2の記憶システムとを構成要素として含み、かつ前記第1記憶システムと第2記憶システムが遠隔コピーリンクによって相互に結合され、第2記憶システムが該遠隔コピーリンクを経由して第1記憶システムからコピーされたデータを受信するようになっているシステム内で、上記第1サイトの状態をチェックする方法において、
第1のホストから第1の記憶システムへのI/O（入出力）アクティヴィティをモニタリングすること、
第1のホストの状態を、第1ホストのI/Oアクティヴィティに基づいて決定すること及び、
第1のホストの状態を、遠隔コピーリンクを経由して前記第1記憶システムから前記第2記憶システムに送信することを含むことを特徴とする方法。
【請求項２】
請求項1の方法において、更に第1記憶システム内の第1ボリュームを識別する段階が含まれ、かつ第1ホストから第1ボリュームへのI/Oアクティヴィティがモニタリングされることを特徴とする方法。
【請求項３】
請求項1の方法において、第1ホストの状態が、第1ホストから第1記憶システムへのI/Oアクティヴィティ率に基づいて決定されることを特徴とする方法。
【請求項４】
請求項3の方法において、上記I/Oアクティヴィティ率が第1の閾値未満ならば、第1ホストの状態はDEADと決定されることを特徴とする方法。
【請求項５】
請求項1の方法において、更に、第1記憶システムから送信される状態に基づいて、第2記憶システムから第2ホストへ警戒信号を送信することを特徴とする方法。
【請求項６】
請求項1の方法において、更に、
第2ホストから第2記憶システムのI/Oアクティヴィティをモニタリングする段階、
前記第2ホストのI/Oアクティヴィティに基づいて第2ホストの現在状態を決定する段階、及び
第2ホストの状態を、遠隔コピーリンクを経由して第2記憶システムから第1記憶システムへ送信する段階を含むことを特徴とする方法。
【請求項７】
請求項6の方法において、更に第2記憶システム内の第2ボリュームを識別する段階が含まれ、かつ第2ホストから第2ボリュームへのI/Oアクティヴィティがモニタリングされることを特徴とする方法。
【請求項８】
請求項6の方法において、第2ホストの状態が、第2ホストから第2記憶システムへのI/Oアクティヴィティ率に基づいて決定されることを特徴とする方法。
【請求項９】
請求項8の方法において、前記I/Oアクティヴィティ率が、ある閾値未満ならば、第1ホストの現在状態はDEADと決定されることを特徴とする方法。
【請求項１０】
請求項6の方法において、更に、第2記憶システムから送信される状態に基づいて、第1記憶システムから第1ホストへ警戒信号を送信することを特徴とする方法。
【請求項１１】
第1のホストと関連している第1のサイトに所属する第1の記憶システムと、第2のホストと関連している第2のサイトに所属する第2の記憶システムとを構成要素として含み、かつ前記第1記憶システムと第2記憶システムが遠隔コピーリンクによって相互に結合され、第2記憶システムが該遠隔コピーリンクを経由して第1記憶システムからコピーされたデータを受信するようになっているデータ処理システムにおいて、前記第1記憶システムが、
第1のホストから受信されるI/O要求をモニタリングし、かつ、
第1ホストからのI/Oアクティヴィティに基づいて該第1ホストの現在状態を決定し、遠隔コピーリンクを経由して第1ホストの状態を第2記憶システムに送信するように構成されていることを特徴とするデータ処理システム。
【請求項１２】
請求項11のデータ処理システムにおいて、第1記憶システムが、第1ホストからその識別されているボリュームへのI/O要求をモニタリングすることを特徴とするシステム。
【請求項１３】
請求項11のデータ処理システムにおいて、第1ホストの状態が、第1ホストから第1記憶システムへのI/Oアクティヴィティ率に基づいて決定されることを特徴とするシステム。
【請求項１４】
請求項13のデータ処理システムにおいて、上記I/Oアクティヴィティ率が第1の閾値未満ならば、第1ホストの状態はDEADと決定されることを特徴とするシステム。
【請求項１５】
請求項11のデータ処理システムにおいて、第2記憶システムが、第1記憶システムから送信される状態に基づいて、第2ホストへ警戒信号を送信するように構成されていることを特徴とするシステム。
【請求項１６】
請求項11のデータ処理システムにおいて、更に、
第1の記憶システムが、該第1記憶システムと第1の遠隔コピーリンクを経由して結合されている第3の記憶システムを含んでおり、かつ、
第1記憶システムが、第1ホストの状態を第1の遠隔コピーリンクを経由して第3の記憶システムに送信するように構成されていることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラスタコンピュータシステムに関する。より詳しくは、本発明は遠隔二重化 (remote mirroring) 技術を利用してハートビートチェックを提供するシステムならびに方法に関する。
【背景技術】
【０００２】
今日、我々はオンラインサービスに対する需要の増加を目の当たりにしている。オンラインサービス利用性の増大に備えて近年実施され、既に広く普及している一解決策は、複数マルチサイトシステムのクラスタ化である。しかるに、1個のマルチサイトクラスタの内部においてさえ、ハートビート（稼動確認）の信号やそれらの送受信方法はTCP/IPリンク上で実行されている。マルチサイトクラスタのこのような態様は不安定であることが明らかになっており、全般的なサービス利用性と、マルチサイトシステムによって提供されるオンラインサービスの質を不安定にする潜在性を持っている。
【０００３】
ネットワーク障害の場合には、該ネットワーク障害とサービス復旧の間の時間はできるだけ短くなければならない。実際には、障害を確認してフェイルオーバー処置を開始するための所要時間は長いことが証明されている。理由の一つは、上に述べたように依然としてTCP/IPを媒体とするクラスタ化されたネットワークによってもたらされているネットワーク・リンクでは安定性が不十分なことである。
【０００４】
突発的で大規模な災害の場合には、ネットワーク管理者たちは災害復旧のため、特にマルチサイトネットワーク環境の復旧のためや、たとえば複数サイト間でボリューム移動が必要とされる場合のための頑健なメカニズムを必要とする。世界中に散在する多数のデータセンターを擁する銀行業者、仲介業者、保険業者のような巨大ユーザーは、しばしば短時間の内に複数のマルチサイトを操作し、それらサイトの各個における可用性をチェックせねばならない。これら巨大ユーザーたちにとって、ネットワークの頑健性と、ネットワーク障害の場合における迅速なフェイルオーバーの両方が必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
必要とされているものは、ハートビート信号を伝送し、クラスタ化マルチサイトシステム内部で送受信方法を実行する頑健な方法である。また、ESCON、ファイバチャネル、テレコムライン、あるいはそれらの組み合わせのような頑健な遠隔二重化リンクを通じてハートビート信号をリンクする頑健な方法も必要とされているものである。
【課題を解決するための手段】
【０００６】
本発明の一実施形態は、マルチサイトへの遠隔二重化リンクを経由するハートビートを用いた装置（以下「ハートビート装置」）、及び該ハートビート装置の使用方法を提供することにより、これらの要求に取り組むものである。マルチサイト上でハートビートチェックを実行する方法は、情報をある構成テーブルに登録すること（この場合、上記構成テーブルはホストID情報及びボリュームID情報を記憶する）、上記構成テーブルを構成すること、ホストからのアクセス要求を検証すること、ホストのアクティヴィティを記録すること（この場合、上記のアクセス記録と上記の登録されている情報の間の一致が認められる）、及び上記構成テーブル内に追加の記録を作成することを含む。
【０００７】
本発明の別の一実施形態は、マルチサイトが2個または3個以上のサイトをマルチフープ構成で有する遠隔二重化リンクを経由するハートビート装置と、該ハートビート装置の使用方法を提供することにより、これらの要求に取り組むものである。遠隔二重化ペアを用いてフェイルオーバー処置を実行する方法は、遠隔二重化ペアグループ、アクティヴィティ・モニタ機能及び警戒機能の間に相互関係を構成することによって実行され、かつ上記の警戒機能は、記憶システム内におけるアクティヴィティ・モニタ機能に関する状態情報を送信し、複数のデータリンクを経由して通知情報を検索し、該通知情報を用いて状態管理テーブルを作成するホストによって実行される。
【０００８】
本発明の更に別の一実施形態は、システムアクティヴィティ及び警戒モニタの方法を提供することにより、これらの要求に取り組むものである。
【０００９】
本発明は、システム管理者ならびにIT取扱者たちに、マルチサイトネットワーク環境における災害時の復旧のための、頑健なハートビートメカニズムを提供する。また本発明は、システム管理者ならびにIT取扱者たちに、マルチサイトネットワーク環境内で遠隔ボリューム移動を行うためのメカニズムをも提供する。現在、銀行業者、仲介業者、保険業者のような大規模ストレージのユーザーは、彼等のネットワーク環境に組み込まれた複数のデータセンターを持っている。これらのデータセンターは世界中に散在している。おびただしい数のマルチサイトを操作せねばならないし、この数の枠内で、ハードウェアやサービスの応答性チェックを絶えず実行することが必要とされる。本発明は、システム管理者たちに、サービスの頑健性と、非常事態が起こった場合の迅速なフェイルオーバー性との両方を提供する。
【発明を実施するための最良の形態】
【００１０】
以下の好ましい実施形態の説明において、該説明の一部分を構成する添付図面に言及がなされており、かつ例示によって本発明が実行される特定の実施形態（複数）が示されている。他の実施形態も利用可能であり、本発明の範囲から離脱することなく何種類もの構造改変を行い得ることを理解されたい。
【００１１】
図1Aは、本発明の一実施形態の基本的構成を説明するハイレベル・ブロック図であって、遠隔二重化リンクを経由するハートビート装置を示す。
【００１２】
装置100は、第1ホスト群101、第2ホスト群102、第1SAN120、第2SAN121、記憶システム110及び111、遠隔リンク112、ネットワーク109、複数のネットワーク／第1ホスト間データ交換リンク122.1122.N、複数のネットワーク／第2ホスト間データ交換リンク123.1123.N、複数の第1ホスト／SAN間データ交換リンク124.1124.N、複数の第2ホスト／SAN間データ交換リンク125.1125.N、複数のSAN／記憶システム間リンク126及び複数のSAN／記憶システム間リンク127を含む。これら複数のリンク122.1122.N、123.1123.N、124.1124.N、125.1125.N、126及び127は安定なリンクであるが、安定なリンクに限定されるものではない。複数のリンクがケーブルを通じて実現される場合には、それらの障害は考えられない。装置100の構成は2個のホスト群、すなわち第1ホスト群101及び第2ホスト群102を含む。第１ホスト群101及び第２ホスト群102は、いずれも複数個のホストを含んでいる。1個のホストは、サーバ、またはその他のデータ処理装置もしくはこれらと同等もしくはより大きな処理／計算能力のシステムであって良いが、それらに限定されるものではない。
【００１３】
装置100は、ネットワーク109をも包含している。ネットワーク109から、複数のネットワーク／第1ホスト／SAN間のデータ交換リンク122.1122.Nが、該ネットワークを第1ホスト群101に接続している。もう一つの複数のネットワーク／第2ホスト／SAN間データ交換リンク124.1124.Nは、第1ホスト群101を第1 SAN120に接続する。第1SAN120は、複合スイッチ／記憶システム間リンク126を通じて記憶システム110に接続されている。類似の態様で、第2ホスト群102は、複数のネットワーク／第2ホスト間データ交換リンク123.1123.Nを通じてネットワーク109に接続されている。第2ホスト群102は、複数のホスト／SAN間データ交換リンク125.1125.Nを通じてSAN121に接続されている。スイッチ121は、複合スイッチ／SANシステム間リンク127を通じて記憶システム111に接続されている。記憶システム110及び111は、それら自体同士が1個の遠隔論理リンク112によって接続されている。ネットワーク109（これは第1ホスト群101を第2の群102と接続している）は、LANネットワークかWANネットワークのいずれかであるが、それらに限定されない。1個のクラスタシステムを作り出す能力を備えたネットワーク109を通じて、ハートビート信号は第1ホスト群101と第2ホスト群102の間で伝送される。更に詳しくは、ネットワーク109はそれぞれ第1ホスト群101と第2ホスト群102に含まれる複数ホスト間における伝送を可能ならしめる。またネットワーク109は、それぞれ第1ホスト群101及び第2ホスト群102それぞれからのハートビート信号の転送をも考慮している。
【００１４】
ハートビート信号は、ハートビート検査を実現する。より具体的には、ハートビート検査は、第1ホスト群もしくは第2ホスト群が稼動しているか否かの確認に関わるものである。この検証は、第1ホスト群101もしくは第2ホスト群102のいずれかがハートビートメッセージをストレージに送信しているか否かをモニタリングすることによって実現される。システム110及びシステム111は、それぞれ2個以上のディスクユニットを含んでいる。また、これらのシステムは、要素120、121、122、及び複数のストレージボリューム114又は115をも含んでいる。記憶システム110及び111 は、1個以上の遠隔リンク112によって相互に連結されている。記憶システム110及び111は、遠隔リンク112を通じて相互に通信する。前記の複数の遠隔リンク122、124及び126の考えられる実施形態には、ESCON、ファイバチャンネル、遠距離通信ライン、ダークファイバ(dark fiber)、または標準プロトコルによるそれらの組み合わせが含まれる。
【００１５】
図1Bは、本発明の一実施形態におけるホストグループと、その環境を説明するハイレベル・ブロック図である。より詳しくは、図1Bには第1ホスト群101が、それをネットワーク109に接続するリンク、及びSAN120に接続するリンクと共に示されている。第1ホスト群 101は、複数のホスト101.1101.Nを含む。これらホストのそれぞれは、複数のリンク122.1  122.Nを通じてネットワーク109に接続されている。より具体的には、ネットワーク109とホスト101の間に実現されている上記複数のリンク122.1122.Nは、ネットワーク／第1ホスト間データ交換リンクである。それぞれのホスト101は、リンク124を通じてSAN120に接続されている。より具体的には、リンク124は複数の第1ホスト／SAN間データ交換リンク124.1124.Nとして実装することができる。第1ホスト群101に含まれる複数のホストは、ネットワーク109を介して、第2ホスト群102に含まれる1個以上の他の複数ホストと交信する。
【００１６】
図1Cは、本発明の一実施形態における記憶システムを説明するハイレベル・ブロック図である。より詳しくは、図Cは複数のSAN／記憶システム間リンク126を通じてSAN120と接続されている記憶システム110を図解している。記憶システム110には、1個の警戒エンジン128と1個のモニタエンジン129が含まれている。警戒エンジン128及びモニタエンジン129は、モニタリングアクティヴィティ及び警戒機能のブロック116内に含まれている。更にブロック116は、登録されているホストID、ならびにI/Oアクティヴィティに関する情報を記憶させるためのテーブル118を含んでいる。
【００１７】
また、記憶システム110は、複数の記憶ボリューム114をも含んでいる。例示説明のため、図1Cに、少なくとも2個の記憶ボリューム114a及び114bを含む記憶システム110の一例を示す。図1Cに例示されている記憶システム110及び111は、図1Aとの関連で先に述べたことと同一の論理に基いて構成されている。記憶システム110に属する１又は複数の記憶ボリューム114と、記憶システム111に属する1又は複数の記憶ボリューム115の間には、1個の遠隔二重化リンクが確立されている。記憶システム110に属するそれぞれの記憶ボリューム114a114nと、記憶システム111に属する、対応するそれぞれの記憶ボリューム115a115nの間には、遠隔二重化リンク113と同様な１又は複数の遠隔二重化リンクが確立され得る。
【００１８】
図1Dは、本発明の一実施形態における装置100の論理サブレイヤーを説明するハイレベル図である。この論理サブレイヤーでは、装置100は、警戒信号(alert signal)130を警戒機能ブロック116から受信するソフトウェア105、記憶ボリューム114に接続するリンク131、I/Oアクティヴィティ・テーブル118及び通知／遠隔二重化ペアリンク132を使用して作動する。アプリケーション103は、第1ストレージ群101で実行(run)される。同様に構成されたアプリケーション104は、第２ストレージ群102で実行される。
【００１９】
図1Eは、装置100の物理的サブレイヤーならびに論理サブレイヤーの基本的構成を説明する模式図である。装置100の物理的サブレイヤーは、ネットワーク109を介して接続されている第1ホスト群101及び第2ホスト群102を含む。第1ホスト群101及び第2ホスト群102は、それぞれ対応する第1SAN120及び第2SAN121に、複数のホスト／SAN間データ交換リンク124及び125を通じて接続されている。SAN120及び121は、それぞれ多数のSAN／記憶システム間リンクを介して対応する記憶システム110または111に接続されている。第1ホスト群101及び第2ホスト群102には、それぞれ複数のホストが含まれている。複数ホスト101.1101.N及び複数ホスト102.1102.Nそれぞれの中で、1個のホストがマスターホストとして選ばれる。図1Eでは、第1ホスト群101のマスターホストは107で示されている。第2ホスト群102のマスターホストは108で示されている。
【００２０】
クラスタ化システム内部のネットワーク109を通じて、マスターホスト107とマスターホスト108は相互にハートビート信号を伝送し、いわゆるハートビート検査を実行する。ハートビート検査を通じて、マスターホスト107及び108は、他方が稼動しているか否かをチェックし、また作業を続行するため、もしくは作動しないホストまたはホスト群の作業を復帰させるためにフェイルオーバー処理を実行すべきか否かの決定を行う。具体的には、それぞれのマスターホストは、他方のマスターホストがハートビートメッセージを受信する能力、ならびにそれに対応する応答を返信する能力を持つか否かをチェックする。一方のホスト群のマスターホストが、他方のホスト群のマスターホストに故障が生じたと判定したならば、故障したマスターホストが所属する側のホスト群は、あらかじめ定められたプロトコルに基いて、当該ホスト群のために新しいマスターホストを選定するであろう。例えば、第1ホスト群のホスト107がマスターホスト108によって行われるハートビート検査に不合格であるならば、第1ホスト群101は新しいマスターホスト（例えば107a）を選出するであろう。その逆に、第2ホスト群102のホスト108がマスターホスト107によって行われるハートビート検査に不合格であるならば、第2ホスト群が新しいマスターホスト（例えば108a）を選出するであろう。
【００２１】
図1Eに示されている論理サブレイヤーでは、マスターホスト107は、1個のOS（図面には示されておらず、普通はマスターホスト107中のいずれかに埋め込まれている）を、アプリケーション103及び検査ソフトウェア105と共に含んでいる。同様にマスターホスト108は、そのOSを、アプリケーション104及び検査ソフトウェア106と共に含んでいる。ソフトウェア105及びソフトウェア106は、ハートビート検査を実行し、それぞれが監視するアプリケーションソフトウェア及びデバイスが生きているか否かをモニタリングすることにより、それぞれのリソースモニタリング機能を実行する。マスターホスト107のアプリケーション103は第1ホスト群101で正常に実行されるが、マスターホスト108のアプリケーション104は、クラスタコンピュータシステムで行われている在来の方式のように、スタンバイモードに保たれる。
【００２２】
ソフトウェア105は、マスターホスト108のアプリケーションソフトウェア及びデバイス類が生きているか否かを、マスターホスト108のアプリケーションソフトウェア及びデバイス類からの応答の解釈に基いて決定することにより、ハートビート検査を実行する。チェックされている側のホスト群内に故障が検出されるか、ソフトウェア106のリソースモニタリング機能が働いていないとソフトウェア105によって判定されるか、あるいはソフトウェア106のリソースモニタリング機能が、ソフトウェア105内のリソースモニタリング機能が生きていないことを見出したならば、アプリケーションソフトウェア103はスタンバイサイトにフェイルオーバーする。
【００２３】
上に述べたように、記憶システム110及び111は、それぞれ複数個の記憶ボリューム114及び115を含んでいる。図1Eに説明されているように、上記複数の記憶ボリュームは、一実施形態では、装置100の物理的サブレイヤー内にある複数のディスクとして提供される。対応する記憶ボリューム114及115は、複数の遠隔リンク112を通じて相互に接続されている。上記遠隔リンク112は、記憶システム110及び111間の通信リンクであって、例えば ESCON、ファイバチャネル、遠距離通信ライン、ダークファイバもしくはそれらの組み合わせのような物理的サブレイヤーによって実現される。それに加えて、1個以上の遠隔二重化リンク113が、記憶システム110に属する記憶ボリューム114を記憶システム111に属する記憶ボリューム115に接続している。遠隔二重化リンク113は、記憶ボリューム間のデータ二重化のために、また構成によっては第1及び第2ホスト群の記憶システム間のデータ更新の伝送を容易にするために使用される。
【００２４】
上に述べたように、記憶システム110及び111の内部では、アクティヴィティ・モニタ及び警戒機能ブロック116及び117が、それぞれの属する記憶システム内でアクティヴィティ・モニタ及び警戒機能を実行する。それぞれには、1個の警戒エンジン128及び1個のモニタエンジン129が組み込まれている。それぞれのブロック116及び117は、1個のI/Oアクティヴィティ・テーブル118及び119を含んでいる。詳しくは、I/Oアクティヴィティ・テーブル118及び119は、対象となるサイト（ホスト）のターゲットボリュームならびにターゲット記憶システムのリスト、及びそれに対応するターゲットサイト（ホスト）の状態における変化のリストを記憶している。ブロック116及び117内部でアクティヴィティ・モニタ及び警戒機能における中断が発生することがあるため、I/Oアクティヴィティは常時働いているとは限らず、したがって論理サブレイヤーのレベルでもモニタリング機能及び警戒機能が中断されることがある。アクティヴィティ・モニタ及び警戒機能ブロック116及び117は、遠隔リンクを使用し（例えば遠隔二重化リンク113を通じて）テーブルとの間で情報の送受信を実行する。
【００２５】
図1Fは、装置100の論理サブレイヤーの模式図である。一般には、第1ホスト群101及びその対応する記憶システム110内で、モニタエンジン129が第2ホスト群102の記憶システム111に属するアクティヴィティ・モニタ及び警戒機能ブロック117の警戒エンジン128に通知信号を送信するであろう。それに対応して、第2ホスト群102及びその対応する記憶システム111内で、モニタエンジン129が第1ホスト群101の記憶システム110に属するアクティヴィティ・モニタ及び警戒機能ブロック116の警戒エンジン128に通知信号を送信するであろう。ソフトウェア105、106及びアプリケーション103、104は、それぞれの対応するアクティヴィティ・モニタ及び警戒機能ブロック116、117の警戒エンジン128と交信し、相手方のアクティヴィティ・モニタ及び警戒機能ブロックに属するモニタエンジン129から何等かの通知信号が受信されているか否かを決定するであろう。それに対応して、アプリケーション103、104はそれぞれの記憶ボリューム114、114と交信するであろう。この作業に関しては、本明細書中で、図10の説明と関連して更に論じられるであろう。
【００２６】
図2Aは、本発明の一実施形態における、3サイト・マルチフープ構成を有する遠隔モニタリングリンクを経由するハートビート装置の基本的構成を説明するハイレベル・ブロック図である。装置200はクラスタ化された記憶システム210、211及び212間の交信を容易にするネットワーク209を含む。記憶システム210と関連して作動している第1ホスト群201は、複数のネットワーク／データ交換リンク222.1222.Nを通じてネットワーク209に接続されている。第1ホスト群201は、複数の第1ホスト／SAN間データ交換リンク225.1225.Nを通じてSAN120に接続されている。SAN120は、複数のSAN／記憶システム間リンク226を通じて第1記憶システムに接続されている。
【００２７】
同様にして、第2及び第3ホスト群202、203はそれぞれのデータ交換リンク223.1223.N及び224.1224.Nを通じてネットワーク209に接続されている。第2ホスト群202は、複数の第2ホスト／データ交換リンク227.1222.Nを通じてSAN121に接続されている。SAN121と、それに対応する第2記憶システム211とは、複数のSAN／記憶システム間リンク227を通じて接続されている。第3ホスト群203は、複数のネットワーク／第3ホスト間データ交換リンク224.1224.Nを通じてネットワーク209に接続されている。第3ホスト群203は、複数の第3ホスト／SAN間データ交換リンク226.1222.Nを通じてSAN122に接続されている。SAN122は、複数のSAN／記憶システム間リンク228を通じて第3記憶システム212に接続されている。
【００２８】
第1記憶システム210は、遠隔リンク213を通じて第3記憶システム212に接続されている。第3記憶システム212は、遠隔リンク214を通じて第2記憶システム211に接続されている。第1ホスト群201、第2ホスト群202、及び第3ホスト群203は、それぞれ複数のホスト201.1201.N、202.1202.N、及び203.1203.Nから構成されている。
【００２９】
装置100との関連で説明し、図1Dに示したように、第1ホスト群201、第2ホスト群202、及び第3ホスト群203のそれぞれは、その対応する複数のホストの内から、1個以上のマスターホスト（すなわち207、208、210）を選定する。ホスト群201、202、または203のいずれかに所属するすべてのホストは、ネットワーク209によって相互に接続されている。典型的には、ネットワーク209はLANもしくはWANである。ネットワーク209は、図2Aに示されているような装置の内部にある複数のシステムをクラスタ化する手段としての役割を果たす。本発明の先に説明した実施形態におけるごとく、マスターホスト207、208及び210は、ネットワーク209によってもたらされる接続能力を通じて相互に対するハートビートチェックを実行する。
【００３０】
第3ホスト群203ならびにそれに対応するSAN122及び記憶システム212が存在することは、装置100の一般的なオペレーションの目的のために不可欠ではない。それが存在するか否かは、ネットワークのユーザーによって選ばれるフェイルオーバー処置のタイプによるであろう。例えば、第1ホスト群201内にサービスの中断が検出されると、第1ホスト群201によって実行される機能回復のためのフェイルオーバー処置には第2ホスト群202にそれらの機能を引き継がせることが含まれ得るのであり、その一方で第3ホスト群203は、それまで第2ホスト群202に割り振られていた機能及び／又は状態を引き継ぐ。しかるに、もし第1ホスト群201及び第2ホスト群202の両方が機能実行不能である場合には、フェイルオーバー処置実行の一つの方法として、第3ホスト群203が、故障している第1及び第2ホスト群の一方もしくは両方の機能を引き継ぐこと、及び／又は故障しているホスト群の一方もしくは両方の機能を回復させる手続きを講じることが含まれ得る。そのようなシナリオにおいては、オペレーションを維持し、かつサービスの破局的な喪失を防止するために、第3ホスト群203の存在が必要である。他のシナリオには第2ホスト群の故障が含まれるが、その場合には第1ホスト群201が第2ホスト群202の諸機能を引き継ぐか、あるいは第3ホスト群203が第2ホスト群の諸機能を引き継ぐフェイルオーバー処置が開始される。
【００３１】
図2Bは、装置200の論理サブレイヤーの図を重ねて示した、装置200の物理的サブレイヤーの基本的構成を説明する模式図であり、図2Cは装置200の論理サブレイヤーを説明する模式図である。
【００３２】
先に説明した論理サブレイヤー・レベルのオペレーションと同様に、第1ホスト群201及びその対応する記憶システム210では、モニタエンジンは、第2ホスト群202の記憶システム211に属するアクティヴィティ・モニタ及び警戒機能ブロック220の警戒エンジンに、また第3ホスト群203の記憶システム212に属するアクティヴィティ・モニタ及び警戒機能ブロック221に、通知信号を送信するであろう。それに対応して、第2ホスト群202及びその対応する記憶システム211では、そのモニタエンジンは、第1ホスト群201の記憶システム210に属するアクティヴィティ・モニタ及び警戒機能ブロック216の警戒エンジン、及び第3ホスト群203の記憶システム212に属するアクティヴィティ・モニタ及び警戒機能ブロック221の警戒エンジンに通知信号を送信するであろう。更に、第3ホスト群203及びその対応する記憶システム212では、そのモニタエンジンは、第2ホスト群202の記憶システム211に属するアクティヴィティ・モニタ及び警戒機能ブロック220の警戒エンジン、及び第1ホスト群201の記憶システム210に属するアクティヴィティ・モニタ及び警戒機能ブロック216の警戒エンジンに通知信号を送信するであろう。先に示した実施形態におけると同様に、上記記憶システム及びそれらの対応する記憶ボリュームは、複数のディスクを用いて実施される。
【００３３】
ホスト群201、202、203それぞれの中に存在する関係ソフトウェア及び／又はアプリケーションは、それらの対応するアクティヴィティ・モニタ及び警戒機能ブロック216、220、221それぞれと交信し、他のホスト群に所属するアクティヴィティ・モニタ及び警戒機能ブロックのモニタエンジンから何等かの通知信号が受信されるか否かを決定する。それに対応して、アプリケーションは、それぞれの記憶ボリューム216、217、218と交信するであろう。記憶システム210、211、212は遠隔リンク213、214経由で相互に交信し、その場合遠隔リンク213は記憶システム210及び212を連結し、遠隔リンク214は記憶システム211及び212を連結する。更に遠隔二重化リンク215が、記憶ボリューム216を記憶ボリューム218に、また記憶ボリューム217を記憶ボリューム218に接続する。この構成においては、第1ホスト群201及びその記憶システム210を第2ホスト群202及びその記憶システム211に接続する遠隔リンクが存在しないことに注意されたい。そうではなくて、第3ホスト群203及びその記憶システム212が、第1と第2のホスト群及びそれぞれに所属する記憶システムの間にあって、それらに接続されている。
【００３４】
データの更新は、各記憶システムに属する記憶ボリュームの間で、特に第1及び第2記憶システムが構成(configure)される時期の間に送信され得る。例えば、メインホスト207により、その内部に存在するソフトウェアを通じて送り出されるアプリケーションは、記憶ボリューム216にホスト問い合わせ(host inquiry)を送信する。また、該アプリケーションは、アクティヴィティ・モニタ及び警戒機能ブロック219の警戒エンジンもアドレス指定する。該機能ブロック219と結合しているI/Oアクティヴィティ・テーブルからのデータが、モニタエンジンと交換される。アプリケーションから記憶システムに向けて送り出されるホスト問い合わせは、モニタエンジンからACTIVEかDEADかの現在状態に関する回答を受信することができる。ブロック220及び221についても、作業シーケンスは同一である。
【００３５】
図3は、3サイト・フープ構成を有する遠隔モニタリングリンクを経由するハートビート装置の基本構成を含む本発明の別の一実施形態を、その物理的及び論理サブレイヤーに従って説明するハイレベル・ブロック図である。
【００３６】
装置200と類似して、装置300には図3に説明されるように3個のサブシステム、すなわち第1、第2及び第3のホスト群301、302、303が含まれている。それぞれのホスト群は複数のホスト、1個のSAN、及び1個の記憶システムを含んでおり、それらは対応するホスト／SAN間データ交換リンクを通じて相互に接続され、かつ他の群と対応する遠隔二重化リンク315で連結されている。
【００３７】
本発明のこの実施形態は、第1及び第2ホスト群の間に少なくとも1個の追加された接続が存在する点で、装置200とは相違している。もう一つの相違は、装置300には異なるホスト群を相互に接続するネットワーク109、209のようなネットワークを含んでいないことである。そうではなく、第1及び第3ホスト群の間、第2及び第3ホスト群の間、そして第1及び第2ホスト群の間に遠隔リンク接続が作られている。上記の遠隔リンク接続には、遠隔リンクと、ホスト群及び／またはそれら各自の構成部分（すなわち構成ボリューム316、317、318）の間に確立されている遠隔二重化リンクの両方が含まれる。
【００３８】
図3について上に述べたように、第1ホスト群301及びその対応する記憶システム内では、アクティヴィティ・モニタ及び警戒機能ブロック319のモニタエンジンが、第2ホスト群302の記憶システムに属するアクティヴィティ・モニタ及び警戒機能ブロック320の警戒エンジンに、また第3ホスト群303の記憶システムに属するそれらアクティヴィティ・モニタ及び警戒機能ブロック321に、通知信号を送信するであろう。それに対応して第2ホスト群302及びその対応する記憶システム内では、そのモニタエンジンが第1ホスト群301の記憶システムに属するアクティヴィティ・モニタ及び警戒機能ブロック319の警戒エンジンに、また第3ホスト群303の記憶システムに属するアクティヴィティ・モニタ及び警戒機能ブロック321の警戒エンジンに、通知信号を送信するであろう。更に、第3ホスト群303及びその対応する記憶システム内では、そのモニタエンジンが第2ホスト群302の記憶システムに属するアクティヴィティ・モニタ及び警戒機能ブロック320の警戒エンジンに、また第1ホスト群301の記憶システムに属するアクティヴィティ・モニタ及び警戒機能ブロック319の警戒エンジンに、通知信号を送信するであろう。先に示した実施形態と同様に、記憶システム及びそれらの対応する記憶ボリュームは、複数のディスクを用いて実施される。
【００３９】
ホスト群301、302、303それぞれの中に存在する関係ソフトウェア及び／又はアプリケーションは、それらの対応するアクティヴィティ・モニタ及び警戒機能ブロック319、320、321の警戒エンジンそれぞれと交信し、他のホスト群に所属するアクティヴィティ・モニタ及び警戒機能ブロックのモニタエンジンから何等かの通知信号が受信されるか否かを決定する。それに対応して、アプリケーションは、それぞれの記憶ボリューム316、317、318と交信するであろう。記憶システム310、311、312は遠隔リンク315経由で相互に交信し、その場合遠隔リンクは記憶システム310を312に、記憶システム311を312に、記憶システム310を311に接続する。更に、遠隔二重化リンク315は、記憶ボリューム316を記憶ボリューム318に、記憶ボリューム317を記憶ボリューム318に、そして記憶ボリューム316を記憶ボリューム317に接続する。
【００４０】
本明細書で先に、もしくは以後に異なった説明がなされる場合を除き、装置300は、先に述べた前出の実施形態におけると同一の機能を、同一の態様で実行する。装置300によって実行される機能は、装置200及び装置100によって実行される機能と同一である。図3Cは、装置300の物理的サブレイヤーならびに論理サブレイヤーの基本的構成を説明する模式図である。
【００４１】
上に説明したマルチサイト上の遠隔二重化リンクを経由するハートビート装置の実施形態は、本発明の種々の実施形態に適用できるものであり、主としてシステムアクティヴィティのモニタリング、及び警戒警報の発生のために使用される。これらの機能は、記憶システムか、ホストか、あるいはこれら2種の構成部分の組み合わせによって実行される。アクティヴィティ・モニタリングか警戒警報発生のいずれかの実行に通じるシーケンスは、3種類の主要セグメント、すなわちモニタ機能、通知機能及び警戒機能を含む。
【００４２】
対応する記憶システム内におけるアクティヴィティ・モニタ及び警戒機能ブロック（すなわち 116、117、216、220、221、319、320、321）のオペレーションにおける可能なシーケンスの一つは、ターゲット記憶ボリュームを含み、ターゲットとされているホストに接続されている記憶システムが使用され、記憶システム及び／又は使用される構成によってはその対応するホスト群のアクティヴィティ状態が決定されることである。ターゲットとされるボリュームを持つ記憶システムが、通知機能(notification function)を開始する。具体的には、該記憶システムは警戒情報をストレージ中の特定の領域もしくは場所にセットするか、記憶させる。当該機能を実行すべく指定されているホスト群内にある、少なくともマスターホスト及び／または他の1個のホストが、上記の領域もしくは場所を周期的に検分する。
【００４３】
アクティヴィティ・モニタ及び警戒機能ブロックのオペレーションにおける可能なシーケンスの別の一つは、ターゲット記憶システムとして指定されている1個の記憶システムが使用され、それに対応するホスト、又はターゲットとされる記憶システムからのアクティヴィティに関する情報によってはホスト群の、アクティヴィティ状態が決定されることである。ターゲットとされる記憶システムは、それに対応するホストもしくはホスト群のための警戒信号（SNMPトラップのような）を送り出す。
【００４４】
モニタリング機能は、記憶ボリュームと、問題の記憶ボリュームを含む記憶システムに関連している複数ホストの内のいずれかの間で実行されているI/Oアクティヴィティ（例えば、書き込み、読み出し、問い合わせ、その他あらゆる種類の命令）の監視を受け持つ。あるI/Oアクティヴィティもしくは構成テーブル（例えば118）は、モニタリング・アクティヴィティ及びモニタリングされた諸機能を集約する。該テーブル118及びその内容については、図5との関連で、後に更に詳述されるであろう。
【００４５】
図4Aは、モニタリング機能のシーケンスを要約した流れ図である。まず、モニタリング機能の対象であるホスト群に所属する個々のホストに関する識別情報、例えばホストID、HBAsのWWN、ホスト名、等がテーブル118に登録される。論理ボリュームIDのようなボリューム識別情報も、テーブル118に登録される。テーブル118の構成後、モニタリング機能は対象となるホスト（例えばマスターホスト）からのすべてのアクセス要求を検証する。すべてのアクセス要求のプロトコルフレームからの情報が、登録されているホスト及び登録されているボリュームに対応する情報と一致するならば、モニタリング機能はアクティヴィティの記録を行い、追加の記録が作成される。記録されるアクティヴィティの種類は、I/O頻度、書き込み／読み出しIOPS、ポート使用量等である。
【００４６】
図4Bは、システム内モニタリング機能のための論理サブレイヤーの図解である。複数のホスト101に関連する識別情報は、I/Oアクティヴィティまたは構成テーブル118内に登録される。ボリュームID情報（すなわち、記憶システムに所属する複数の記憶ボリューム114に関連するID情報）も、テーブル 118 内に登録される。この情報に基いて、アクティヴィティ・モニタリング及び警戒機能ブロック116内に存在するテーブル118が構成される。更に、モニタリング機能は複数のホスト101によって行われるすべてのアクセス要求を検証する。一致が認められれば、そのアクティヴィティはアクティヴィティ・モニタリング及び警戒機能ブロック116によって記録される。ターゲット記憶システムのID情報に関する追加の記録及び通知信号の時間的間隔も登録される。ターゲット記憶システムのID情報には、通し番号、サービスプロセッサのIPアドレス等が含まれる。
【００４７】
図5は、I/Oアクティヴィティまたは構成テーブル500の一例の図解である。構成テーブル500は、構成ID 502、イネーブル(enable)503、ボリュームID 504、ホスト505、インターバル506、閾値507、アクティヴィティ508、状態513、及びストレージ514等のデータを記録する。構成テーブル500は、図1Dに図解されているように、アクティヴィティ・モニタリング及び警戒機能ブロック（例えば116、117）に所属するテーブル記憶要素内に記憶される。構成ID 502は、特定の構成に割り当てられる唯一無二のIDである。イネーブル503は、当該構成のイネーブル／機能抑止の機能状態を説明する。ボリューム504は、ターゲットボリュームの識別情報を定義する。ホスト505は、ターゲットホストの識別情報の定義を示す。間隔(interval) 506は、アクティヴィティ通知の間隔（時間的）の定義を示す。閾値507は、状態を決定するためのアクセス間隔における時間の最大値を定義する。
【００４８】
アクティヴィティ508は、それぞれの列内に記憶されている情報509512を定義する。アクセス頻度509は、個々のアクセス当たりの時間平均アクセス間隔を示す。書き込みIOPS 510は、1秒当たりの平均「WRITE」アクセス回数を示す。読み出しIOPS 511は、1秒当たりの平均「READ」アクセス回数を示す。ポート使用量512は、アクセスされる当該ホストに所属するポートの平均使用率を示す。
【００４９】
状態513は、アクティヴィティモニタの状態を示す。オプションは、閾値の設定に従って「LIVE」か「DEAD」である。記憶システム514は、アクティヴィティ情報の通知が周期的に開始される場合にターゲットとなる記憶システムに係る識別情報を定義する。
【００５０】
ホスト群101内のホストは、I/Oアクティヴィティまたは構成テーブルの構成を、インバンドもしくはアウトバンド経由で確立することができる。一方、テーブルの構成は当該ホスト群の記憶システムに関わるサービスプロセッサ経由で実行することもできる。それぞれの記憶システムは、記憶システム間の遠隔リンクを通じて、個々に他の記憶システムからのアクティヴィティ情報を要求することができる。
【００５１】
通知機能については、上に述べたように、I/Oアクティヴィティまたは構成テーブル 118 に、ターゲット記憶システムに関する定義もしくは識別情報を記憶するフィールドが含まれている。フィールド514のデータを使用して、通知機能は、通知もしくは状態に関する情報を周期的にターゲット記憶システムに送信する。ターゲット記憶システムは、この情報を受信する。
【００５２】
上記のターゲット記憶システムが状態に関する情報を取得する一方式が、図6に説明されている。典型的なループ構成の中で、記憶システム601は、直接記憶システムと接続されていない記憶システム603に、アクティヴィティ・モニタ機能の状態に関する情報の要求を送信する。記憶システム601は、上記記憶システム603に直接接続されている記憶システム602に、複数の遠隔リンク及び遠隔二重化リンクを通じて要求を送信する。
【００５３】
要求する側のホスト群に所属するアクティヴィティ・モニタリング及び警戒機能ブロック記憶システム601が、記憶システム間の遠隔リンクを通じて記憶システム603のアクティヴィティ・モニタにある状態に関する情報を受信する。
【００５４】
警戒機能については、2種類の機能実行態様が可能である：
ａ：記憶システムの特定記憶領域（例えばローカルメモリ）内のアクティヴィティ・モニタに、状態に関する情報をセットする記憶システム上の警戒機能。当該ホストは、周期的にインバンドもしくはアウトバンドのデータリンク経由で該情報を検索することができる；または
ｂ：アウトバンド通信経由で（例えばSNMPトラップを使用して）周期的に警戒信号を送信する記憶システム上の警戒機能。
【００５５】
図7A及び図7Bは、モニタ機能の使用例を示す。第1ホスト群は、少なくとも、記憶システム702に接続されているホスト701を含む。第2ホスト群は、少なくとも、記憶システム704に接続されているホスト703を含む。ホスト701とホスト703は、イーサネット（登録商標）のようなネットワーク・リンク705経由で相互に接続されている。記憶システム702と記憶システム704は、例えばFC及びESCON経由で実行される遠隔リンク706を通じて相互に接続されている。
【００５６】
通知情報に基いて、受信された状態を管理するテーブル700が作り出される。テーブル700には、下記の情報が含まれる：警戒構成ID 701、ソース記憶システム情報702、構成ID 703、ボリューム704、ホスト705、及び状態706。警戒構成ID701は、警戒機能に関係する構成の、唯一無二のIDを示す。記憶システム702は、アクティヴィティの状態に関する情報の源である記憶システムを示す。構成ID703は、アクティヴィティ・モニタに関係がある構成の唯一無二のIDを示す。ボリューム704は、標的ボリュームのための識別情報の定義を示す。ホスト705は、標的ホストのための識別情報の定義を示す。状態706は、アクティヴィティ・モニタの状態を示す。状態の例としては「LIVE」、「DEAD」等がある。状態は閾値の設定に左右される。第1記憶システムの状態が「DEAD」であれば、警戒機能が起動される。
【００５７】
ユーザーは、1個の遠隔二重化ペア群（すなわち、複数の遠隔二重化リンクを通じて相互に接続されている1対の記憶システムもしくは記憶ボリューム）、アクティヴィティ・モニタ機能、警戒機能の間に相互関係を構成することができる。そのような相互関係が構成されれば、第1記憶システム上の、警戒機能のための関係する構成の状態が「DEAD」である場合に、第2記憶システムが上記遠隔二重化ペアのためにフェイルオーバー処置を実行することができる。
【００５８】
図7A及び図7Bに示すように、アプリケーション707はホスト701上で作動しており、記憶システム702に属する記憶ボリューム708を使用する。ボリューム708及び記憶システム704のボリューム709は、1個の遠隔二重化ペアとして構成されている。上記ペアに関連するIDは、両方のシステムについて同一である。このようにして、アプリケーション707のデータが遠隔システム上で複製される。ホスト701上のアプリケーション707は、ローカルのデータ用ストレージとして記憶ボリューム710を使用する。ホスト703は、ローカルのデータ用ストレージとして記憶ボリューム711を使用する。
【００５９】
アクティヴィティ・モニタ機能の使用は、複数のステップのシーケンスから成る。一実施形態では、ユーザーは最初にインバンドもしくはアウトバンドのインタフェース経由で第１ホスト群上のアクティヴィティ・モニタ及び警戒機能を構成する。例えば、その構成IDは#0であり、そのボリュームはボリューム708でID #1000が関連しており、ホストはホスト701で関連IDは#809a58c9またはＷＷＮ10.00.00.00.C9.20.D4.C1であり、間隔は10秒であり、閾値は30秒に設定されており、記憶システムは記憶システム704で、関連通し番号は#20021またはIPアドレス10.30.20.40である。
【００６０】
次にユーザーは、インバンドもしくはアウトバンドのインタフェース経由で、第2ホスト群上のアクティヴィティ・モニタ及び警戒機能を構成する。例えば、構成IDは#0、選択されたボリュームはボリューム709でＩＤは#1000、ホストはホスト703でIDは#809a66aaまたはWWN10.00.00.00.C9.20.D4.EFであり、間隔は10秒に設定されており、閾値は30秒に設定されており、記憶システムは記憶システム702で、その通し番号は#20001またはIPアドレス10.30.20.10である。
【００６１】
次にユーザーは、インバンドもしくはアウトバンドのインタフェース経由で、第1ホスト群上の警戒機能を構成する。例えば、警戒構成IDは#0、選択された記憶システムは記憶システム704で構成IDは#0であり、ボリュームはボリューム709であり、選択されたホストは702であり、関係ペアのIDは#0004であり、自動フェイルオーバー機能はイネーブルにセットされ、確認はyesで、必要ならば表示される。
【００６２】
次にユーザーは、インバンドもしくはアウトバンドのインタフェース経由で、第2ホスト群上のアクティヴィティ・モニタ及び警戒機能を構成する。例えば、警戒構成IDは#0、選択された記憶システムは702、構成IDは#0、選択されたボリュームは708、ホストはホスト701、関係ペアのIDは#0004、自動フェイルオーバー機能はイネーブルにセットされ、確認はyesで、必要ならば表示される。
【００６３】
次いでユーザーは、構成を使用可能状態にする。それぞれの記憶システムの警戒機能は、それぞれの構成に関する「LIVE」等の状態情報を受信する。ホスト701及び703は、記憶ボリューム708、709、710及び711にアクセスしている。これが「正常な」作動状態である。第1ホスト群に故障が発生すると、そのアクティヴィティ状態ならびにその表示装置は「DEAD」となる。
【００６４】
その後、警戒機能は故障を調査すべく指定を受けたホスト（すなわち第2ホスト群）のための情報をセットする。あるいは、該警戒機能は「DEAD」状態に関する注意信号を送信する。上記「DEAD」状態に関する注意信号を受信したホストは、受信後、故障状態の第1ホスト群に所属する記憶ボリュームの影響を受けている遠隔二重化ペアのためのフェイルオーバー処置を開始する。
【００６５】
フェイルオーバー処置の開始と共に、第2記憶システム704は第1記憶システム702に、あたかも非同期遠隔二重化モードで機能しているかのように、未処理のデータの素速い送信を強制する。更に、フェイルオーバー処置が開始されている時に、第2記憶システム704はボリューム709が無矛盾状態にあることを確認する。その状態は、記憶システム702内に未処理データが存在しないことを意味する。フェイルオーバー処理の間に、第２記憶システム704はボリューム709のスナップショットをとる。
【００６６】
記憶システム704はより急速なフェイルオーバー処置に備え、第2ホスト群からのフェイルオーバー達成の確認（表示）を待つ。確認は、フェイルオーバー完了が望まれるか否かを示すユーザー入力の形をとる。ユーザーがフェイルオーバー続行を表示すると、ユーザーのために同一のボリュームIDを準備するため、スナップショット・ボリュームと第2ボリュームが仮想的なボリュームレイヤー内でスワップされる。このプロセスは、ユーザーに対し透過的ではない。ユーザーがフェイルオーバー廃棄を表示すると、上記スナップショット・ボリュームも廃棄される。
【００６７】
第1記憶システムもしくは遠隔リンクの故障が発生すると、フェイルオーバー処置の実行態様の一つは、「DEAD」状態の警報を受信するホスト（すなわち、第2ホスト群）に、あらかじめ定められた、その間にアクティヴィティ状態データが受信されねばならない通信制限時間が経過した後に初めてフェイルオーバー処置を開始させることであろう。第1記憶システムが制限時間内に応答したならば、フェイルオーバー処置の開始は取り消される。第1記憶システムが制限時間内に応答しなければ、その場合には故障している第1ホスト群に所属する記憶ボリュームによる影響を受けている遠隔二重化ペアのためにフェイルオーバーが開始される。そのような場合には、第2記憶システムが第1記憶システム故障の場所もしくはサイトを決定し、影響を受けている遠隔二重化ペアのためのフェイルオーバー処置を開始するであろう。
【００６８】
図8A  8Cは、マルチサイト構成に関連したフェイルオーバー処置の一例を示す。マルチサイト構成におけるアクティヴィティ・モニタ及びフェイルオーバー処置の使用は、第1記憶システムに、当初第1記憶システムによって提供されていたサービスを、フェイルオーバー処置の完了後移転すべき代替の記憶システムを選択するオプションを許すであろう。
【００６９】
示されたように、第1ホスト群がアプリケーションの作動を継続できなければ、第2及び第3ホスト群の記憶システムに警報が送信されるであろう。その場合、フェイルオーバー処置の一つの実行もしくは構成では、警報を受信した両方のシステムがより急速なフェイルオーバー処置を開始するであろう。これに関しては、第2及び第3記憶システムのそれぞれが、他方の記憶システムのそれと同一のデータを記憶するように意図されたPiTボリューム・イメージを保有する。両方の記憶システム上のPiTボリューム・イメージが同一でなければ、2個の記憶システムはそれぞれ他方に対して2個のボリューム間のデータの相違を送信して各ボリュームのデータを更新し、それによって2個のボリュームを同一ならしめるであろう。
【００７０】
図9A及び図9Bは、第1及び第2のサイト、または記憶システムの間に生ずる遠隔リンク障害の一例を示す。この障害例では、第2のサイトは第1のサイトがDEADであるか否かを決定することができないが、あたかも基本的な2サイト構成内にあるかのようにフェイルオーバー処置を実行することもできないか、あるいは故障している第1サイトからのデータのみに基づいてフェイルオーバー処置を開始すべきか否かを決定することができない。この種の障害を解決する一つの方法は、第3のサイトが依然として第1のサイトと交信できると仮定し、第2のサイトが第3の記憶システムもしくはサイトから第1サイトの情報を受信するように構成することであろう。第3のサイトに所属する記憶システム内で作動している警戒機能は、第1記憶システム・アクティヴィティの状態を、第2の記憶システム・アクティヴィティに提供することができる。その状態情報にアクセスするためには、第2のサイトは、第3のサイトと交信し、そのような要求をしなければならないであろう。
【００７１】
図1015及び以下の説明は、上に述べたような本発明の種々の実施形態との関連で実行される種々のオペレーションと機能の、一般的なプロセス実行例である。
【００７２】
図10は、ターゲットホストからターゲットボリュームへのモニタリングI/O要求の定義を、I/Oアクティヴィティまたは構成テーブルからインポートするためのプロセス1000を説明する流れ図である。本発明の典型的な実施形態では、プロセス1000は図1Fに説明されている環境内で実行される。まず、段階1002で、ターゲットボリュームへのモニタリングI/O要求の定義が、ターゲットホストのテーブルからインポートされる。段階1003では、もしモニタリングI/O要求の定義が有効ならば、あらかじめ定められた有効な定義に従ってI/O要求がモニタリングされる。段階10041005では、受信されたI/O要求がターゲットと合致するか否かが決定される。Yesならば、I/O要求はカウントされ、その結果が段階1006でI/Oアクティヴィティ・テーブルに記憶される。受信されたI/O要求がターゲットと合致しなければ、少なくとも拒絶されたI/O要求に関する定義が、段階1004で、あらかじめ定められた有効な定義と共に見直され、サイクルは段階10041005によって再始動する。
【００７３】
図11は、アクティヴィティ・モニタリングの結果を警戒・モニタリング機能またはターゲット記憶システムのエンジンに通信するプロセス1100を説明する流れ図である。まず段階1102では、状態管理テーブル内に記憶されている通知期間の定義に従って、通知機能がアクティヴィティ・モニタリングの結果に関する通知データを発生する。次に段階1104で、上記通知期間の定義による通知のターゲットDKCが決定される。更に段階1106で、現在期間に従ってメッセージがターゲット記憶システムに属する警戒モニタリング機能またはエンジンに送信される。段階1108で、あらかじめ定められた待機期間の後に、サイクルが反復されて段階1106に戻り、メッセージの送信を行う。
【００７４】
図12は、メッセージをターゲットホストに送信するプロセス1200を説明する流れ図である。まず段階1202で、あらかじめ定められたユーザー定義による複数の閾値パラメタによるモニタリングの結果が解析される。そのような閾値パラメタの例には、最小平均I/Oアクティヴィティ率が含まれる。段階1203では、モニタリングの結果があらかじめ定められた閾値を一つでも超過しているかどうか、あるいは次の通知までの最大待ち時間を超過しているかどうかの決定が行われる。両方の決定がNOであれば、段階1204で、ターゲットホストに「ALIVE」、「GOOD」等のメッセージが送信される。そうではなく、どちらかの決定がYESである場合には、段階1206で「DEAD」、「NG」等の、別のメッセージが送信される。
【００７５】
図13は、記憶システムにメッセージをセットするプロセス1300を説明する流れ図である。まず段階1302で、上に述べたプロセス1200における段階1202で（あるいは段階1202と連結して）行われたように、あらかじめ定められたユーザー定義による複数の閾値パラメタによるモニタリングの結果が解析される。先の場合と同じく、段階1303では、モニタリングの結果があらかじめ定められた閾値を一つでも超過しているかどうか、あるいは次の通知までの最大待ち時間を超過しているかどうかの決定が行われる。両方の決定がNOであれば、段階1304で、ターゲットホストに「ALIVE」、「GOOD」等のメッセージが送信される。そうではなく、どちらかの決定がYESである場合には、段階1306で「DEAD」、「NG」等の、別のメッセージが送信される。
【００７６】
図14は、アクティヴィティ・モニタリングの結果を通知するプロセス1400を説明する流れ図である。まず段階1402で、プロセス1100で（あるいはプロセス1100と連結して）行われたように、I/Oアクティヴィティ・テーブル内に記憶されている通知期間の定義に従って、通知機能がアクティヴィティ・モニタリングの結果に関する通知データを発生する。次に段階1404で、通知期間の定義に従って、通知のターゲットDKCが決定される。更に段階1406で、プロセス1200で（あるいはプロセス1200と連結して）行われたように、最小平均I/Oアクティヴィティ率のようなモニタリングの結果が、あらかじめ定められたユーザー定義による閾値パラメタに従って解析される。段階1407では、モニタリングの結果があらかじめ定められた閾値を一つでも超過しているかどうか、あるいは次の通知までの最大待ち時間を超過しているかどうかの決定が行われる。両方の決定がNOであれば、段階1408で、ターゲットホストに「ALIVE」、「GOOD」等のメッセージが送信される。そうではなく、どちらかの決定がYESである場合には、段階1410で「DEAD」、「NG」等の、別のメッセージが送信される。段階1412では、あらかじめ定められた待ち時間の後に、サイクルが反復され、段階1406に復帰して、あらかじめ定められたユーザー定義の閾値パラメタに従ってモニタリングの結果を解析する。
【００７７】
図15は、受信された、モニタリングの状態に関する状態識別メッセージに応じてターゲットホストにメッセージを送るプロセス1500を説明する流れ図である。まず段階1502で、状態識別メッセージの受信に応答して選択が行われる。段階1503では、受信された状態識別メッセージが「GOOD」か「NG」のどちらを示しているかの決定が行われる。状態識別メッセージが「NG」を示しているならば、段階1506で、「DEAD」または「NG」を表示するメッセージがターゲットホストに送信される。受信された状態識別メッセージが「GOOD」であれば、段階1504で、ターゲットホストに「ALIVE」または「GOOD」のメッセージが送信される。いずれの場合にも、ターゲットホストへのメッセージが受信された後に、次のサイクルのために、段階1502で同じように選択が行われる。
【００７８】
図16は、受信された、モニタリングの状態に関する状態識別メッセージに応じて記憶システムにメッセージを送るプロセス1600を説明する流れ図である。まず段階1602で、プロセス1500の段階1502で（あるいは関連して行われたように）、状態識別メッセージの受信に応答して選択が行われる。段階1603では、受信された状態識別メッセージが「GOOD」か「NG」のどちらを示しているかの決定が行われる。状態識別メッセージが「NG」を示しているならば、段階1606で、「DEAD」または「NG」を表示するメッセージがターゲットホストに送信される。受信された状態識別メッセージが「GOOD」であれば、段階1604で、ターゲットホストに「ALIVE」または「GOOD」のメッセージが送信される。いずれの場合にも、ターゲットホストへのメッセージが受信された後に、次のサイクルのために、段階1602で同じように選択が行われる。
【００７９】
以上の説明は例示を意図したものであり、発明の範囲を制約する意図ではないことを理解されたい。当該技術に精通する者にとっては、以上の説明を概観しただけで、多くの他の実施形態が明白になるであろう。本発明の範囲は、添付されている請求項を、当該特許請求の権利が与えられる同等物の全範囲と共に参照して決定されねばならない。
【図面の簡単な説明】
【００８０】
【図１Ａ】本発明の一実施形態の基本的構成を説明するハイレベル・ブロック図であって、遠隔二重化リンクを経由するハートビート装置を示す。
【図１Ｂ】本発明の一実施形態におけるホスト群とその環境を説明するハイレベル・ブロック図である。
【図１Ｃ】本発明の一実施形態における記憶システムを説明するハイレベル・ブロック図である。
【図１Ｄ】本発明の一実施形態における装置100の論理サブレイヤーを説明するハイレベル図である。
【図１Ｅ】装置100の物理的サブレイヤーならびに論理サブレイヤーの基本的構成を説明する模式図である。
【図１Ｆ】装置100の論理サブレイヤーの模式図である。
【図２Ａ】本発明の一実施形態における、3サイト・マルチフープ構成を有する遠隔モニタリングリンクを経由するハートビート装置の基本的構成を説明するハイレベル・ブロック図である。
【図２Ｂ】装置200の論理サブレイヤーを上書きした、装置200の物理的サブレイヤーの基本的構成を説明する模式図である。
【図２Ｃ】装置200の論理サブレイヤーを説明する模式図である。
【図３】本発明の一実施形態の、3サイト・フープ構成を有する遠隔モニタリングリンクを経由するハートビート装置、及びそのサブレイヤーの基本的構成を説明するハイレベル・ブロック図である。
【図４Ａ】モニタリング機能のあらましを説明する模式図である。
【図４Ｂ】例示したハートビート装置内のモニタリング機能の論理サブレイヤーを説明する模式図である。
【図５】図5は、構成テーブルの一例の説明図である。
【図６】図6は、アクティヴィティ・モニタ機能の状態獲得の模式図である。
【図７Ａ】図7Aは、本発明の一実施形態によるモニタ・アクティヴィティ図表の一使用例の説明図である。
【図７Ｂ】本発明の他の一実施形態によるモニタ・アクティヴィティ図表のもう一つの使用例を示す。
【図８Ａ】本発明の他の一実施形態によるモニタ・アクティヴィティ段階Aのもう一つの使用例を示す。
【図８Ｂ】本発明の他の一実施形態によるモニタ・アクティヴィティ段階Bの、更にもう一つの使用例を示す。
【図８Ｃ】本発明の他の一実施形態によるモニタ・アクティヴィティ段階Cの、更にもう一つの使用例を示す。
【図９Ａ】本発明の他の一実施形態において、第1サイトと第2サイトの間に遠隔リンク障害が発生した場合を示す。
【図９Ｂ】本発明の他の一実施形態において、第1サイトと第2サイトの間に遠隔リンク障害が発生した場合を示す。
【図１０】テーブルのターゲットホストからターゲットボリュームへ、モニタリングI/O要求の定義をインポートするプロセスを説明する流れ図である。
【図１１】アクティヴィティ・モニタリングの結果をターゲット記憶システムの警戒／モニタ構成部分に伝達するプロセスを説明する流れ図である。
【図１２】ターゲットホストにメッセージを送信するプロセスを説明する流れ図である。
【図１３】記憶システムにメッセージをセットするプロセスを説明する流れ図である。
【図１４】アクティヴィティ・モニタリングの結果を通知するプロセスを説明する流れ図である。
【図１５】受信されたモニタリング状態に応じてターゲットホストにメッセージを送るプロセスを説明する流れ図である。
【図１６】受信されたモニタリング状態に応じて記憶システムにメッセージを送るプロセスを説明する流れ図である。
【符号の説明】
【００８１】
１００…システム、１０１…第1ホスト群、１０２…第2ホスト群、１２０…第1SAN、１２１…第2 SAN、１１０…記憶システム、１１２…遠隔リンク、１０９…ネットワーク。
【図１Ａ】
2005301975.tif 000003
【図１Ｂ】
2005301975.tif 000004
【図１Ｃ】
2005301975.tif 000005
【図１Ｄ】
2005301975.tif 000006
【図１Ｅ】
2005301975.tif 000007
【図１Ｆ】
2005301975.tif 000008
【図２Ａ】
2005301975.tif 000009
【図２Ｂ】
2005301975.tif 000010
【図２Ｃ】
2005301975.tif 000011
【図３】
2005301975.tif 000012
【図４Ａ】
2005301975.tif 000013
【図４Ｂ】
2005301975.tif 000014
【図５】
2005301975.tif 000015
【図６】
2005301975.tif 000016
【図７Ａ】
2005301975.tif 000017
【図７Ｂ】
2005301975.tif 000018
【図８Ａ】
2005301975.tif 000019
【図８Ｂ】
2005301975.tif 000020
【図８Ｃ】
2005301975.tif 000021
【図９Ａ】
2005301975.tif 000022
【図９Ｂ】
2005301975.tif 000023
【図１０】
2005301975.tif 000024
【図１１】
2005301975.tif 000025
【図１２】
2005301975.tif 000026
【図１３】
2005301975.tif 000027
【図１４】
2005301975.tif 000028
【図１５】
2005301975.tif 000029
【図１６】
2005301975.tif 000030
【外国語明細書】
2005301975.tif 000031
2005301975.tif 000032
2005301975.tif 000033
2005301975.tif 000034
2005301975.tif 000035
2005301975.tif 000036
2005301975.tif 000037
2005301975.tif 000038
2005301975.tif 000039
2005301975.tif 000040
2005301975.tif 000041
2005301975.tif 000042
2005301975.tif 000043
2005301975.tif 000044
2005301975.tif 000045
2005301975.tif 000046
2005301975.tif 000047
2005301975.tif 000048
2005301975.tif 000049
2005301975.tif 000050
2005301975.tif 000051
2005301975.tif 000052
2005301975.tif 000053
2005301975.tif 000054
2005301975.tif 000055
2005301975.tif 000056
2005301975.tif 000057
2005301975.tif 000058
【図１Ａ】
2005301975.tif 000059
【図１Ｂ】
2005301975.tif 000060
【図１Ｃ】
2005301975.tif 000061
【図１Ｄ】
2005301975.tif 000062
【図１Ｅ】
2005301975.tif 000063
【図１Ｆ】
2005301975.tif 000064
【図２Ａ】
2005301975.tif 000065
【図２Ｂ】
2005301975.tif 000066
【図２Ｃ】
2005301975.tif 000067
【図３】
2005301975.tif 000068
【図４Ａ】
2005301975.tif 000069
【図４Ｂ】
2005301975.tif 000070
【図５】
2005301975.tif 000071
【図６】
2005301975.tif 000072
【図７Ａ】
2005301975.tif 000073
【図７Ｂ】
2005301975.tif 000074
【図８Ａ】
2005301975.tif 000075
【図８Ｂ】
2005301975.tif 000076
【図８Ｃ】
2005301975.tif 000077
【図９Ａ】
2005301975.tif 000078
【図９Ｂ】
2005301975.tif 000079
【図１０】
2005301975.tif 000080
【図１１】
2005301975.tif 000081
【図１２】
2005301975.tif 000082
【図１３】
2005301975.tif 000083
【図１４】
2005301975.tif 000084
【図１５】
2005301975.tif 000085
【図１６】
2005301975.tif 000086