(57)【要約】      （修正有）【課題】地理的に分散された場所に冗長なリソースを維持していたコンピューティングシステムグループにおいて、グループ全体の可用性を向上させる。【解決手段】地理的に分散されたコンピューティングシステムグループの一部として動作するノード内のリソースのマネジメントを行うため、その使用に関してリソースのコンフィギュレーションを行い、リソースプールに関して、リソースの可用性の検査を行い、その１つを選択する。リソースは少なくとも１つのディスクユニットを含み、リソースプールを切り替え可能なディスクプールとしてコンフギュレーションを行う。またリソースプールに関して各ディスクユニットの可用性のランキングを行い、少なくとも１つの有効なディスクユニットを選択する。【選択図】図１
2005056392.tif 000002
【特許請求の範囲】
【請求項１】
ノード内のリソースのマネジメントを行うための方法において：
ノードによる使用に関して少なくとも１つのリソースのコンフィギュレーションを行うことであって、前記ノードは、前記リソースを含むサイトに関連付けされているものとすること；
リソース・プールに関して、前記少なくとも１つのリソースの可用性の検査を行うことであって、前記ノードによるアクセス可能性の決定および前記リソースが前記サイトに配置されていることの検証を含む前記検査を行うこと；および、
前記検査に基づいて、前記リソース・プールに関して、前記少なくとも１つのリソースのうちの少なくとも１つを選択すること；
を含む方法。
【請求項２】
前記少なくとも１つのリソースは、少なくとも１つのディスク・ユニットを包含するものとし、かつ前記方法は、さらに：
前記リソース・プールを切り替え可能なディスク・プールとしてコンフィギュレーションを行うこと；
を含むものとする、請求項１に記載の方法。
【請求項３】
前記ノードは、前記サイトに配置される単一のノードであり、前記ノードは、地理的に分散されたコンピューティング・システム・グループの一部として動作するものとする、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのリソースは、少なくとも１つのディスク・ユニットを包含するものとし、かつ前記方法は、さらに：
前記リソース・プールに関して、各ディスク・ユニットの可用性のランキングを行うこと；および、
前記可用性のランキングに従って前記リソース・プールに関して少なくとも１つの有効なディスク・ユニットを選択すること；
を含むものとする、請求項１に記載の方法。
【請求項５】
さらに：
少なくとも１つの理由をユーザへ提供し、各ディスク・ユニットの妥当性およびランキングを説明すること；
を含むものとする、請求項４に記載の方法。
【請求項６】
前記ノードは、クラスタ・リソース・グループの一部であるとする、請求項１に記載の方法。
【請求項７】
前記クラスタ・リソース・グループは、プライマリ・ノードおよび少なくとも１つのバックアップ・ノードを包含するものとする、請求項６に記載の方法。
【請求項８】
さらに：
クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記リソース・プール内のリソースの可用性の検査を行うことを含み、それにおいて前記検査は、前記ノードが前記リソース・プールを含むサイトに関連付けされていることの決定を含むものとする、請求項６に記載の方法。
【請求項９】
さらに：
切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記サイトに配置された前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性の検証を行うこと；
を含むものとする、請求項６に記載の方法。
【請求項１０】
前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティは、別のクラスタ・リソース・グループ内に含まれないものとする、請求項９に記載の方法。
【請求項１１】
さらに：
クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性の検査を行うこと；
を含むものとする、請求項６に記載の方法。
【請求項１２】
プロセッサによって実行されたときに、ノード内のリソースのマネジメントに関するオペレーションを行うプログラムを包含する信号担持メディアにおいて、前記オペレーションが：
ノードによる使用に関して少なくとも１つのリソースのコンフィギュレーションを行うことであって、前記ノードは、前記リソースを含むサイトに関連付けされているものとすること；
リソース・プールに関して、前記少なくとも１つのリソースの可用性の検査を行うことであって、前記ノードによるアクセス可能性の決定および前記リソースが前記サイトに配置されていることの検証を含む前記検査を行うこと；および、
前記検査に基づいて、前記リソース・プールに関して、前記少なくとも１つのリソースのうちの少なくとも１つを選択すること；
を含むものとする、信号担持メディア。
【請求項１３】
さらに前記ステップが：
前記リソース・プールを切り替え可能なディスク・プールとしてコンフィギュレーションを行うこと；
を含むものとする、請求項１２に記載の信号担持メディア。
【請求項１４】
前記ノードは、前記サイトに配置される単一のノードであり、前記ノードは、地理的に分散されたコンピューティング・システム・グループの一部として動作するものとする、請求項１２に記載の信号担持メディア。
【請求項１５】
さらに前記ステップが：
前記リソース・プールに関して、各リソースのランクキングを行うこと；および、
前記ランキングの結果に従って前記リソース・プールに関して少なくとも１つの有効なリソースを選択すること；
を含むものとする、請求項１２に記載の信号担持メディア。
【請求項１６】
さらに前記ステップが：
少なくとも１つの理由をユーザへ提供し、各リソースの妥当性およびランキングを説明すること；
を含むものとする、請求項１５に記載の信号担持メディア。
【請求項１７】
前記ノードは、クラスタ・リソース・グループの一部であるとする、請求項１２に記載の信号担持メディア。
【請求項１８】
さらに前記ステップが：
前記クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記リソース・プール内のリソースの可用性の検査を行うこと；
を含むものとする、請求項１７に記載の信号担持メディア。
【請求項１９】
さらに前記ステップが：
切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性の検証を行うこと；
を含むものとする、請求項１７に記載の信号担持メディア。
【請求項２０】
さらに前記ステップが：
前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティが、別のクラスタ・リソース・グループ内に含まれないことを検証すること；
を含むものとする、請求項１７に記載の信号担持メディア。
【請求項２１】
さらに前記ステップが：
クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性の検査を行うこと；
を含むものとする、請求項１７に記載の信号担持メディア。
【請求項２２】
サイトに関連付けされたプライマリ・ノード；
前記プライマリ・ノードに接続されたリソース・プール；および、
前記リソース・プールに関して、少なくとも１つのリソースの可用性の検査を行い、かつ前記リソース・プールに関して、少なくとも１つの有効なリソースを選択するべくコンフィギュレーションが行われたプロセッサを備え、前記可用性は、前記サイトに配置されている前記少なくとも１つのリソースを、少なくとも部分的に基礎として検査されるものとするシステム。
【請求項２３】
前記プロセッサは、さらに、前記リソース・プールに関して各リソースのランキングを行い、かつランキングに従って前記リソース・プールに関して少なくとも１つの有効なリソースを選択するべくコンフィギュレーションが行われているものとする、請求項２２に記載のシステム。
【請求項２４】
前記プロセッサは、さらに、少なくとも１つの理由をユーザへ提供し、各リソースの妥当性およびランキングを説明するべくコンフィギュレーションが行われているものとする、請求項２３に記載のシステム。
【請求項２５】
前記リソース・プールは、切り替え可能なリソース・プールとしてコンフィギュレーションが行われるものとする、請求項２２に記載のシステム。
【請求項２６】
さらに、前記切り替え可能なリソース・プールに接続された少なくとも１つのバックアップ・ノードを備えるものとする、請求項２５に記載のシステム。
【請求項２７】
前記プロセッサは、さらに、前記クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記切り替え可能なリソース・プール内の各リソースのアクセス可能性を検査するべくコンフィギュレーションが行われているものとする、請求項２５に記載のシステム。
【請求項２８】
前記プロセッサは、さらに、前記切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性を検証するべくコンフィギュレーションが行われているものとする、請求項２５に記載のシステム。
【請求項２９】
前記プロセッサは、さらに、前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティが、別のクラスタ・リソース・グループ内に含まれないことを検証するべくコンフィギュレーションが行われているものとする、請求項２５に記載のシステム。
【請求項３０】
前記プロセッサは、さらに、クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性を検査するべくコンフィギュレーションが行われているものとする、請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してコンピュータ・リソースのマネジメントに関する。より詳細に述べると、本発明は、物理的に分散されているリソース・プールに関するリソースのコンフィギュレーションならびにアクセス可能性に関する。
【背景技術】
【０００２】
最近の、大企業の販売もしくは製造オペレーションといったエンタープライズ・オペレーションの用に供するコンピュータ・システムは、長期間にわたって使用不能となることが許されない。伝統的に障害リカバリは、たとえば電源遮断、自然災害、サイトの災害、システム・ハードウエアまたはソフトウエアのエラー、アプリケーションの誤動作、および破壊行為による故意の動作に起因するスケジュールされていないダウンタイムに焦点が当てられてきた。スケジュールされていないダウンタイムは、通常、コンピュータ・リソースの使用不能を招き、その結果、リモート・リカバリ・サイトからのバックアップ・システムが使用されてオペレーションが復帰される。ビジネスの中断は、長時間に渡り、場合によっては数日に及ぶこともある。
【０００３】
近年の電子商取引では、連続的なシステム可用性およびスケジュールされたダウンタイムからの保護が求められる。スケジュールされたシステム（たとえばサーバ）のダウンタイムもしくは遮断の間は、ユーザ（たとえばクライアント）に対してシステムが意図的な使用不能状態に設定される。これらのスケジュールされたダウンタイムは、システムのオペレーションに分断をもたらし、適応も困難である。スケジュールされたダウンタイム／遮断の例としては、新しいオペレーティング・システムおよびアプリケーション・ソフトウエアのリリースのインストール、システムのハードウエア・アップグレード、追加、削除、ならびにメンテナンス、システムのバックアップ、サイトのメンテナンス、およびプログラムの一時的な修正（ＰＴＦ）の適用が挙げられる。『連続的可用性（ｃｏｎｔｉｎｕｏｕｓ  ａｖａｉｌａｂｉｌｉｔｙ）』を有するシステムは、スケジュールされた遮断ならびにスケジュールされていない遮断のいずれも有することのないシステムとして定義される。
【０００４】
システムの可用性を向上させ、かつ強化するための１つの方法は、クラスタ化されたシステムを使用する。クラスタは、単一サイトにおいてローカライズされているか、複数サイトに分散され、単一の統合されたコンピューティング・ケイパビリティを提供するべくすべてが協働して共通動作を行うコンピュータ・システム・ノードの集合である。クラスタ化されたシステムは、データベース・サーバまたはアプリケーション・サーバ等のコンピューティング・システムにフェイルオーバおよびスイッチオーバ・ケイパビリティを提供する。システムの遮断もしくはサイトのロスが生じた場合には、クラスタ化されたプライマリ・サーバ・システム上に提供されている機能を、リソースの現在のコピー（レプリカ）を含む１ないし複数の専用バックアップ・システムへ、スイッチオーバ（またはフェイルオーバ）することができる。フェイルオーバは、スケジュールされていない遮断のために自動化することができる。スケジュールされた遮断の場合には、スイッチオーバを、スケジュールされた遮断手続きの一部として自動的に、あるいはマニュアルで起動することができる。
【０００５】
クラスタ・リソース・グループは、クラスタのサブセットであり、多数のメンバを有するが、通常、それらのメンバの１つをそのクラスタ・リソース・グループに関するプライマリ・メンバとして定義する。プライマリ・メンバは、そのグループに関するプライマリ・アクセス・ポイントであり、そのグループによって現在使用されているリソースをホストする。グループ内のそのほかの、プライマリ・メンバの機能を肩代わりできるべく適切にコンフィギュレーションがなされたメンバ、すなわちプライマリ・メンバの機能を肩代わりするべく適切にリソースのコンフィギュレーションがなされているノードは、バックアップ・メンバと呼ばれる。一例においては、バックアップ・メンバが冗長リソースをホストする。別の例においては、バックアップ・メンバが、通常はプライマリ・メンバによってホストされているプライマリ・リソースに対するアクセスを有することができる。プライマリ・メンバがフェイルした場合には、バックアップ・メンバがそのプライマリ・メンバの役割を肩代わりする。バックアップ・メンバは、プライマリ・メンバの機能を肩代わりするとき、以前のプライマリ・メンバのリソースを引き継ぐか、あるいはその冗長リソースをプライマリ・リソースとする変更を行う。
【０００６】
フェイルオーバまたはスイッチオーバを生じる場合には、サーバ・オペレーティング・システムの一部とすることが可能であり、かつすべてのシステム上において実行することのできるクラスタ・リソース・サービス（ＣＲＳ）が、プライマリ・システムからバックアップ・システムへのスイッチオーバを提供する。このスイッチオーバは、エンド・ユーザもしくはサーバ・システム上において実行中のアプリケーションへ最小限の影響を与える。データ要求は、バックアップ・システム（つまり新しいプライマリ・システム）へ自動的に再ルーティングされる。またクラスタ・リソース・サービスは、クラスタへのシステムの自動的な再導入または再結合のための手段を提供し、再結合されたシステムのオペレーション・ケイパビリティを復元する。
【０００７】
システムの可用性をさらに向上させ、強化するための別の方法は、コンピューティング・システムならびにコンピュータ・リソース、たとえばデータ・ストレージ・ユニット等を地理的に分散させることを伴う。その種の地理的に分散されたコンピュータ・システムにおいては、異なる地理的サイトが１ないしは複数のコンピュータ・サブシステム、またはノードを有し、それらが、同じくそのサイトに配置されるコンピュータ・リソースをコントロールし、あるいはホストすることができる。コンピューティング・システムのノードならびにリソースを有する複数の地理的ロケーションのそれぞれは、『サイト』と呼ばれる。地理的に分散されたコンピューティング・システムの部分を含む複数のサイトは、概して、すべてのサイトおよびそれらのサイトに配置されたコンピュータ・ノードの間におけるデータ交換をサポートするデータ通信システムを用いて相互接続される。物理的に分散されたコンピュータ・システムの一部となる個々のコンピューティング・ノードは、概して、そのノードと同じ場所に配置されたデータ・ストレージ・デバイス、プリンタ、およびそのほかの共有周辺デバイスといったリソースへの直接アクセスを有している。これらのシステムは、冗長な、データ・ストレージ・ユニット等のリソースを一般に維持しており、それらは、プライマリ・リソースの複製を含んでいる。通常、これらの冗長リソースは、必要であれば、コンフィギュレーションを迅速に行ってプライマリ・リソースにすることが可能である。地理的に分散されたコンピューティング・システムは、リソースのミラーリング・データをプライマリ・サイトから別のサイトへ伝達することによって、冗長リソースを維持している。グループ内における冗長リソースの維持は、そのグループのオペレーションに関するシングル・ポイント故障を回避する。
【０００８】
データは、１ないしは複数のサーバ・システムに接続されたディスク・プール内へストアすることができる。ディスク・プールは、ディスク・ユニットのタワーおよび独立ディスクの冗長アレイ（ＲＡＩＤ）等のディスク・ユニットのセットである。ディスク・プールは、そのディスク・プールのディスク・ユニットを包含するハードウエア・エンティティの所有権をプライマリ・システムからバックアップ・システムへ切り替えることによって、プライマリ・システムからバックアップ・システムへ切り替えられる。しかしながら、ディスク・プール内のディスク・ユニットは、適正なハードウエア・エンティティ（たとえば、プライマリ・システムならびにバックアップ・システムがアクセスできるタワー）内に物理的に配置されていなければならず、また多くのコンフィギュレーションならびにハードウエア配置規則に従っていなければならない。ユーザもまた、ディスク・プールに関してディスク・ユニットを選択するとき、およびそのディスク・プールへアクセスするためのプライマリ・システムならびにバックアップ・システムを選択するとき、それらのコンフィギュレーションならびにハードウエア置換規則に従わなければならない。それを怠ると、スイッチオーバが試みられたとき、もしくはフェイルオーバが生じたときに、そのディスク・プールをプライマリ・システムおよび／またはバックアップ・システムが利用できなくなることがある。さらにユーザは、ハードウエア・コンフィギュレーションを変更するときにもこれらの規則に従わなければならない。ユーザは、ディスク・ユニットならびにクラスタ・システムのコンフィギュレーションを適正に行うために、このコンフィギュレーションならびにハードウエア置換規則を理解し、それに従う責任がある。しかしながら、コンフィギュレーションならびにハードウエア置換規則の複雑性に起因して、ユーザには試行錯誤状態が余儀なくされ、スイッチオーバが生じたときに使用不能なディスク・ユニットがもたらされることもあり得る。
【０００９】
地理的に分散されたコンピューティング・システムは、サーバ・システムに対するディスク・プール等のリソースの割り当てに、追加の条件を導入する。ディスク・プール等のリソースは、一般に同一の物理サイトに配置されたコンピュータ・システムに対して割り当てられる。１つのサイトに配置されたコンピュータ・システムは、別のサイトに配置されている、たとえばディスク・プールをホストすることが一般にできない。従来のコンピュータ・リソース・グループは、概して、そのコンピュータ・リソース・グループ内のすべてのノードが、そのコンピュータ・リソース・グループに割り付けられているすべてのリソースへのアクセスを有するように、すべてのノードならびにリソースが同じ場所に配置されることを要求し、そのため、コンピュータ・リソース・グループの柔軟性が制限される。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、ディスク・プールのコンフィギュレーションを行うとき、同一サイトのシステムに対してディスクのセット（つまり、ディスク・プール、ＡＳＰとしても知られる）がアクセス可能となることを保証するためのシステムおよび方法が必要とされている。さらに、ディスク・プール内におけるコンフィギュレーションのための有効なディスク・ユニットの選択を保証することが求められている。
【課題を解決するための手段】
【００１１】
概して言えば、本発明の実施態様は、たとえばコンピューティング・システム・グループ全体の可用性を向上させるために、地理的に分散された場所に冗長なリソースを維持していたコンピューティング・システム・グループにおいて使用するためのシステムおよび方法を提供する。各サイトに維持されているディスク・プール内のディスク・ユニット等のリソースは、１つのサイトのプライマリ・システムと１ないしは複数のバックアップ・ノードの間において切り替えが可能である。それぞれの地理的に離れた場所が『サイト』と呼ばれる。所定のサイトに配置されているプライマリ・システム、バックアップ・システム（数は任意）、および１ないしは複数のリソースは、クラスタとしてコンフィギュレーションが行われ、そのサイトの可用性を向上させることができる。クラスタは、１つのサイトに配置されているか、複数のサイトに分散されているシステムまたはノードのグループとして定義され、それにおいてノードは、ともに単一システムとして働く。そのクラスタ内の各コンピュータ・システムは、クラスタ・ノードと呼ばれる。コンピューティング・システム・グループ内の各サイトは、１ないしは複数のコンピューティング・システムまたはノードを有することが可能であり、例示の実施態様のオペレーションは、ノードを１つだけ伴ってサイトが動作することを許容する。コンピュータ・システム・グループ内の各サイトは、現在のオペレーションのために使用されるプライマリ・リソースを含むプロダクション・サイトとして、あるいはプロダクション・サイトに配置されているプライマリ・リソースをミラーリングする冗長ソースを含むミラー・サイトとしてコンフィギュレーションを行うことができる。本発明の例として示す実施態様は、サイトのリソースの、そのサイトのクラスタまたはコンピュータ・ノードによる使用に関する適正な妥当性検査ならびにランキングを容易にする。サイトのクラスタ内におけるノードの作成、追加、変更、および削除のために、インターフェースのセットが提供されている。
【００１２】
一実施態様においては、同一サイト内に配置されている１ないしは複数のディスク・ユニットの妥当性検査およびランキングを、指定されたディスク・プールに関して行うためのメカニズムが提供される。別の実施態様においては、ディスク・プールへアクセスするプライマリ・ノードとして、あるいはバックアップ・ノードとしてノードのコンフィギュレーションを行う前に、そのディスク・プール内のディスク・ユニットのアクセス可能性を、そのノードに関して検査するためのメカニズムが提供される。さらに別の実施態様では、あるサイトに配置されたプライマリ・システムとバックアップ・システムの間のスイッチオーバを起動するための準備において、そのサイトの複数のノードのクラスタリングを開始するときに、切り替え可能なディスク・プール内のディスク・ユニットの妥当性検査を行うためのメカニズムが提供される。
【００１３】
簡潔に述べれば、本発明によると、システム内のリソースのマネジメントを行うためのシステム、方法、および信号担持メディアは、システムによる使用のための少なくとも１つのリソースのコンフィギュレーションを含む。システムは、そのリソースを含むサイトに関連付けされる。またこの方法は、その少なくとも１つのリソースの可用性を、リソース・プールに関して検査することも含む。この検査には、システムによるアクセス可能性の決定、およびリソースがそのサイトに配置されていることの検証が含まれる。またこの方法は、この検査（ランキングを含めてもよい）に基づいて、上記の少なくとも１つのリソースのうちの少なくとも１つを、リソース・プールに関して選択することも含む。同一サイトのシステムだけがチェックされて、それらがそのサイトのリソースへのアクセスを有することが保証され、システムは、ほかのサイトのリソースへのアクセスを求めない。
【００１４】
本発明の別の側面においては、システムがサイトに関連付けされるプライマリ・システムおよびプライマリ・システムに接続されるリソース・プールを有する。さらにこのシステムは、そのリソース・プールに関して、少なくとも１つのリソースの可用性を検査し、かつそのリソース・プールに関して、少なくとも１つの有効なリソースを選択するべくコンフィギュレーションが行われたプロセッサを有する。この可用性の検査は、そのサイトに配置されている少なくとも１つのリソースを、少なくとも部分的に基礎として行われる。
【００１５】
以上の、およびこのほかの本発明の特徴ならびに利点は、添付図面に例示されているとおり、以下の本発明の好ましい実施態様のより詳細な説明から明らかなものとなるであろう。
【００１６】
本発明に関する発明の内容は、この明細書を総括する特許請求の範囲において詳細に、かつ明確に示されている。以上の、およびそのほかの本発明の特徴ならびに利点は、これに続く添付図面を参照した詳細な説明から明らかになるであろう。なお、参照番号の最左翼の数字は、その参照番号が最初に現れる図面を識別している。
【発明を実施するための最良の形態】
【００１７】
（コンピューティング・システム・グループ）
図面においては、類似の部分の参照に類似の番号を用いており、以下、それらの図面を参照してより詳細な説明を行うが、まず図１を参照すると、本発明の実施態様の一例の全体的なシステム・アーキテクチャを例証するコンピューティング・システム・グループ１００が示されている。この例のコンピューティング・システム・グループ１００は、２つのサイト、すなわちサイトＡ  １０２、およびサイトＢ  １０４を示している。本発明の実施態様は、１つ以上、可能最大数までの間の任意数のサイトを有するコンピューティング・システム・グループを用いて実施できる。この例において使用されるサイトは、そのサイトの物理ロケーション内に配置されるリソースへのアクセスを有するコンピュータ・ノードのグループとして定義される。たとえば、サイトＡ  １０２内のノード、すなわちノードＡ  １１０およびノードＢ  １０８は、リソース・プールＡ  １３０内のリソース、すなわちリソースＡ  １１６、リソースＢ  １１８、およびリソースＺ  １２０へのアクセスを有する。同様にサイトＢ  １０４内のノード、すなわちノードＣ  １１２およびノードＤ  １１４は、リソース・プールＢ  １３２内のリソース、すなわちリソースＣ  １２１、リソースＤ  １２２、およびリソースＹ  １２４へのアクセスを有する。関連するサイトにおける複数のノードによってアクセス可能なこれらのリソースに加えて、サイトＡ  １０２は、そのサイトのノードＡ  １１０によるアクセスだけが可能なリソースを含むリソース・プールＥ  １４０を包含している。この例のリソース・プールＥ  １４０は、ノードＢ  １０８によるアクセス、あるいはサイトＢ  １０４に配置されているノードによるアクセスが可能でない。サイト内の複数のノードによってアクセス可能なリソース・プールは、切り替え可能リソース・プールとしてコンフィギュレーションを行うことが可能であり、その結果、そのリソースのオペレーションをホストしているノードは、同じサイトの別のノードへの切り替えが可能になる。
【００１８】
例示の実施態様におけるそれぞれのサイトは、多数のノードを有する。サイトＡ  １０２は、ノードＡ  １１０およびノードＢ  １０８を有することが示されている。これらのノードは、同一サイトの部分であるノードならびに異なるサイトの部分であるノードの間におけるデータ通信をサポートするデータ通信ネットワーク１０６を介して接続されている。
【００１９】
この例においては、これらのサイトが地理的に互いに隔てられており、サイト間通信システム１２６によって相互接続されている。サイト間通信システム１２６は、通常は、より高速なそれぞれのサイト内に含まれるデータ通信ネットワーク１０６を接続する。例示の実施態様のサイト間通信システム１２６は高速接続を使用している。本発明の実施態様は、通常のＷＡＮアーキテクチャ、陸上通信線、地上波ならびに衛星無線リンク、およびそのほかの通信テクニック等の各種のサイト間通信システム１２６を使用する。また本発明の実施態様は、類似の相互接続を有する任意数のサイトを伴って動作し、それらのサイトのすべてのノード間における連続的な通信ネットワークを構成する。さらに本発明の実施態様は、物理的に互いに近いが、同一リソース・プール内のリソースに対するアクセスを持たないコンピュータ・ノードを有する『サイト』も含む。物理的に近いサイトは、単一のデータ通信ネットワーク１０６の共有が可能であり、独立したサイト間通信システム１２６を含んでいない。
【００２０】
リソース・プールＡ  １３０およびリソース・プールＢ  １３２等のリソース・プール内に包含されているリソースには、データ・ストレージ・デバイス、プリンタ、およびそのほかの、グループ内の１つのノードによってコントロールされる周辺装置が含まれる。コンピューティング・システム・グループ１００内においては、１つのノードまたはメンバが、そのグループに関するプライマリ・メンバとして指定される。グループのプライマリ・メンバは、そのコンピューティング・グループに関するプライマリ・リソースをホストし、アクセス・ポイントとして動作し、さらにそのグループによってマネージされるリソースをホストする。
【００２１】
本発明に従った一例の実施態様におけるサイトＡ  １０２に関するノードおよびリソースのコンフィギュレーション８００を図８に示す。サイトＡ  １０２に関する一例のノードおよびリソースのコンフィギュレーション８００は、ノードＡ  １１０、ノードＢ  １０８、ディスク・ユニットの第１のタワーであるリソース・プールＡ  １３０、およびディスク・ユニットの第２のタワーであるリソース・プールＥ  １４０を含む。ノードＡ  １１０またはノードＢ  １０８内のオペレーティング・システムを使用して、クラスタ・マネジメント・オペレーションを実行することができる。オプションとして、ノードおよびリソースのコンフィギュレーション８００は、ノードおよびリソースのコンフィギュレーション８２０に関するコンフィギュレーション、変更、メンテナンス、およびそのほかのタスクに関係するオペレーションの実行に特化することのできるクラスタ・マネジメント・コンピュータ・システム８２０を含むこともできる。クラスタ・マネジメント・コンピュータ・システム８２０は、ネットワークを介してノードおよびリソースのコンフィギュレーション８００のそのほかのコンポーネントと接続されることもあり、また図２を参照して以下に説明するコンピュータ・システム２００等のコンピュータ・システムを含むこともできる。
【００２２】
この例示の実施態様のリソース・プールＡ  １３０ならびにリソース・プールＥ  １４０は、それぞれ複数のディスク・ユニット、たとえば複数のダイレクト・アクセス・ストレージ・ディスク（ＤＡＳＤ）等を含んでいる。この例示の実施態様のリソース・プールＡ  １３０は、ＤＡＳＤ  １１  ８０２、ＤＡＳＤ  １２  ８０４、ＤＡＳＤ  １３  ８０６、およびＤＡＳＤ  １４  ８０８を含んでおり、それらは、ともに独立補助ストレージ・プール（ＩＡＳＰ）として定義されるべく企図されているとすることができる。リソース・プールＥ  １４０は、ＤＡＳＤ  ２１  ８１０およびＤＡＳＤ  ２２  ８１２を含み、それらは、ともに補助ストレージ・プール（ＡＳＰ）として定義されるべく企図されているとすることができる。リソース・プールＡ  １３０は、ノードＡ  １１０ならびにノードＢ  １０８と接続されており、したがって、それらによるアクセスが可能である。リソースＥは、ノードＡ  １１０とだけ接続されており、したがってそれだけがアクセスできる。この例示の実施態様においてノードＡ  １１０は、リソース・プールＡ  １３０に関するプライマリ・ノードとしてコンフィギュレーションが行われており、ノードＢ  １０８は、サイトＡ  １０２におけるリソース・プールＡ  １３０のためのバックアップ・ノードとしてコンフィギュレーションが行われている（つまり、ノードＢ  １０８は、スケジュールされた遮断もしくはスケジュールされていない遮断に起因してノードＡ  １１０が使用不可となったときに、リソース・プールＡ  １３０に関する新しいプライマリ・ノードになる）。
【００２３】
（コンピュータ・ノードおよびグループ・メンバ）
本発明の一実施態様に従ったグループ１００の、一例の実施態様においてはコンピュータ・システムとなるグループ・メンバ２００のブロック図を図２に示す。この例示の実施態様のグループ・メンバ２００は、ＩＢＭのｅＳｅｒｖｅｒ  ｉＳｅｒｉｅｓ（ｅサーバ・ｉシリーズ）サーバ・システム（ｅＳｅｒｖｅｒおよびｉＳｅｒｉｅｓはＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの米国およびその他の国における商標）である。任意の適切にコンフィギュレーションの行われたプロセッシング・システムは、同様に本発明の実施態様による使用が可能である。コンピュータ・システム２００は、プロセッサ２０２を有し、それがメイン・メモリ２０４、大容量ストレージ・インターフェース２０６、端末インターフェース２０８、およびネットワーク・インターフェース２１０と接続されている。これらのシステム・コンポーネントは、システム・バス２１２によって相互接続される。大容量ストレージ・インターフェース２０６は、ＤＡＳＤデバイス２１４等の大容量ストレージ・デバイスをコンピュータ・システム２００へ接続するために使用される。ＤＡＳＤデバイスの１つの具体的なタイプはフレキシブル・ディスク・ドライブであり、データをフレキシブル・ディスク２１６へストアするとき、およびそこからデータを読み出すときに使用することができる。
【００２４】
メイン・メモリ２０４は、アプリケーション・プログラム２２０、オブジェクト２２２、データ２２６、およびオペレーティング・システムのイメージ２２８を含んでいる。ここではメイン・メモリ２０４内にこれらが同時に常駐する形で示されているが、アプリケーション・プログラム２２０、オブジェクト２２２、データ２２６、およびオペレーティング・システム２２８は、メイン・メモリ２０４内に常時完全に常駐している必要はなく、同時に常駐する必要さえもないことは明らかである。コンピュータ・システム２００は、従来の仮想アドレッシング・メカニズムを使用してプログラムが、メイン・メモリ２０４およびＤＡＳＤデバイス２１４といった複数のより小さいストレージ・エンティティではなく、ここでコンピュータ・システム・メモリと呼ぶ、大きな単一ストレージ・エンティティへアクセスしているかのように振る舞うことを可能にする。ここで注意する必要があるが、これに使用している『コンピュータ・システム・メモリ』という用語は、コンピュータ・システム２００の全仮想メモリを包括的に指す。
【００２５】
オペレーティング・システム２２８は、ＩＢＭのＯＳ／４００（ＯＳ／４００はＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎの米国およびその他の国における商標）オペレーティング・システム等のような適切なマルチタスキング・オペレーティング・システムである。本発明の実施態様は、任意のそのほかの適切なオペレーティング・システムを使用することができる。オペレーティング・システム２２８は、ＤＡＳＤマネジメント・ユーザ・インターフェース・プログラム２３０、ＤＡＳＤストレージ・マネジメント・プログラム２３２、およびグループ・ユーザ・インターフェース・プログラム２３４を含んでいる。本発明の実施態様は、オペレーティング・システム２２８のコンポーネントのインストラクションをコンピュータ・システム２００内の任意のプロセッサ上において実行すること可能にするオブジェクト指向フレームワーク・メカニズム等のアーキテクチャを使用する。
【００２６】
コンピュータ２０２に関して１つのＣＰＵ  ２０２だけを示したが、複数のＣＰＵを伴うコンピュータ・システムを、同様に効果的に使用することができる。本発明の実施態様は、それぞれが個別の完全にプログラムされた、ＣＰＵ  ２０２のプロセッシング負荷の軽減に使用されるマイクロプロセッサを含むインターフェースを組み込んでいる。端末インターフェース２０８は、１ないしは複数の端末２１８をコンピュータ・システム２００へ直接接続するために使用される。これらの端末２１８は、非インテリジェントあるいは完全なプログラマブル・ワークステーションとすることが可能であり、それらを使用してシステム管理者およびユーザは、コンピュータ・システム２００と通信することができる。
【００２７】
ネットワーク・インターフェース２１０は、ほかのコンピュータ・システムまたはクラスタ・リソース・グループのメンバ、たとえばステーションＡ  ２４０およびステーションＢ  ２４２をコンピュータ・システム２００へ接続するために使用される。本発明は、現存するアナログおよび／またはディジタルテクニックを含む任意のデータ通信接続、あるいは将来のネットワーク・メカニズムを介したデータ通信接続を取り扱う。
【００２８】
例示した本発明の実施態様は、完全に機能するコンピュータ・システムの観点から説明されているが、当業者にあっては、これらの実施態様が、プログラム・プロダクトとして、フレキシブル・ディスク、たとえばフレキシブル・ディスク２１６、ＣＤ‐ＲＯＭ、もしくはそのほかの形式の記録可能メディアを介して、あるいは任意のタイプの電気送信メカニズムを介して配信できることを認識されるであろう。
【００２９】
本発明の実施態様は、コンフィギュレーション、オペレーション、およびそのほかのマネジメント機能に関連した機能を実行するＤＡＳＤマネジメント・ユーザ・インターフェース・プログラム２３０を含むオペレーティング・システム２２８を包含し、それには、補助ストレージ・プール（ＡＳＰ）用に１ないしは複数のＤＡＳＤを選択する機能も含まれる。ＡＳＰは、ディスク・ユニットのセットとして定義され、独立補助ストレージ・プール（ＩＡＳＰ）は、システムに依存しないディスク・ユニットのセットである。ＩＡＳＰは、そのディスク・ユニットが切り替え可能であり、コンフィギュレーションならびに配置規則に従っている場合には、システム間において切り替えが可能である。ＤＡＳＤマネジメント・ユーザ・インターフェース・プログラム２３０は、ディスク・ユニットのマネージのための内部サポートを提供するオペレーティング・システム２２８のコンポーネントであるＤＡＳＤストレージ・マネジメント（ＤＳＭ）プログラム２３２と通信することができる。
【００３０】
（プロセッシング・フローおよびソフトウエア設計の例）
図３に、一例とする本発明の実施態様に従った、ＡＳＰに関して１ないしは複数のＤＡＳＤを選択するプロセスのフローチャート３００を示す。例示の実施態様においては、方法３００を、サイトに配置されるノードに接続されるＡＳＰに関する１ないしは複数のＤＡＳＤの選択に関連するＤＡＳＤマネジメント・ユーザ・インターフェース・プログラム２３０の部分を例証しているものと理解することができる。方法３００は、ステップ３１０において開始し、ステップ３２０においてはＡＳＰのユーザ選択を待機するが、それに関して１ないしは複数のＤＡＳＤのコンフィギュレーションが行われることになる。ユーザは、現存するＡＳＰもしくは新しいＡＳＰを選択することができる。一実施態様においては、複数のＤＡＳＤならびにＡＳＰが選択され、並列に処理される。ユーザがＡＳＰの選択を行うと妥当性インスペクタが起動され、ステップ３３０において、このノードのサイトにあるコンフィギュレーション未済の全ＤＡＳＤの妥当性ならびにランキング結果が提供される。一例の妥当性インスペクタの詳細については後述する。妥当性インスペクタの結果は、選択されたＡＳＰに関するコンフィギュレーション未済の各ＤＡＳＤの妥当性ならびにランキングも含めて、ステップ３４０においてユーザに表示される。
【００３１】
一実施態様においては、ディスク・プールに関するディスク・ユニットの選択時に、妥当性インスペクタが、次に述べる規則をチェックして妥当性を決定する。ここでは、次に述べる規則が例示であり、別のシステムに関しては別の規則のセットに従ってもよいことを理解されたい。最初の規則は、選択されたＤＡＳＤがすべて関連付けされ、かつ、この方法３００を実行しているノードを含むサイトに配置されていることを決定し、保証することである。もう１つの規則は、別々に切り替え可能な異なるディスク・プール内のディスク・ユニットは、同一の切り替え可能なエンティティ内とし得ないということである。たとえば、別々に切り替え可能なディスク・プールは、同一のタワー内に配置されたディスク・ユニットを有することができない。さらに別の規則は、切り替えられる予定のないディスク・ユニットは、切り替えられる予定のあるディスク・プールのためのディスク・ユニットを含む切り替え可能なハードウエア・エンティティ内に存在できないということである。たとえば、システムとともにとどまるディスク・ユニット（たとえば、システムＡＳＰ、リソース・プールＥ  １４０のＡＳＰ  ３２）は、切り替え可能なディスク・プール内のディスク・ユニット（たとえば、リソース・プールＡ  １３０のＩＡＳＰ  ３３）を伴う同じタワー内に存在することができない。さらに別の規則は、特定のシステムとの間において切り替えられることになる切り替え可能なディスク・プール内のディスク・ユニットは、それらの特定のシステムがアクセスすることのできるハードウエア・エンティティ内に存在しなければならないことを指定する。たとえば、バックアップ・システムへの切り替えが意図されているディスク・ユニットは、そのバックアップ・システムがアクセスできないタワー内に存在することができない。さらに別の規則は、同一ディスク・プール内のディスク・ユニットは、同一パワー・ドメイン内のハードウエア・エンティティの下になければならないことである（つまり、電源オン／オフがともになされる）。このほかの規則、たとえばシステムの制約に関係する規則等をＤＡＳＤ選択の妥当性の決定に使用することもできる。
【００３２】
一実施態様においては、そのサイトにおける有効なＤＡＳＤが、ランク付けされた順序で表示される。妥当性インスペクタの出力は、次のうちの１つになる：すなわち、完全、有効、警告、および無効である。出力『完全』は、選択されたＤＡＳＤが指定されたＡＳＰに関して最良のＤＡＳＤであることを示す。出力『有効』は、そのＤＡＳＤは最良のランキングを有していないが、そのＤＡＳＤを指定されたＡＳＰ内に入れることが可能であることを示す。出力『警告』は、指定されたＡＳＰに関して、そのＤＡＳＤが無効のおそれがあるか、疑わしいことを示す。出力『無効』は、そのＤＡＳＤを指定されたＡＳＰ内に入れることができないことを示す。選択されたＤＡＳＤならびにそのほかのコンフィギュレーション未済のＤＡＳＤに関する詳細は、ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト（つまり、後述するＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト５０２）から獲得することができる。
【００３３】
一実施態様においては、有効なＤＡＳＤ選択のランク付けのために以下に示すファクタが使用される。第１に、１つのディスク・プールに関するディスク・ユニットが、好ましくは同一の切り替え可能なハードウエア・エンティティの下に維持される。第２に、プライマリおよび／またはバックアップ・システムが、好ましくは切り替え可能なハードウエア・エンティティへの直接アクセスを有する（つまり、ほかのエンティティを間に介さない）。第３に、１つのディスク・プールに関するディスク・ユニットが、好ましくは１つの切り替え可能なハードウエア・エンティティ内に包含される（つまり、切り替え可能なハードウエア・エンティティは、１を超える数のＩＡＳＰを含まない）。なお、ここで理解されるように、上記のファクタが例示であり、別のファクタのセットを別のシステムに使用することができる。
【００３４】
別の実施態様においては、有効なＤＡＳＤに加えて、無効なＤＡＳＤを表示することができる。しかしながら、例の実施態様の方法３００は、選択されたＡＳＰに関して、ユーザが無効なＤＡＳＤを選択してコンフィギュレーションを行うことはできない。さらに別の実施態様においては、それぞれの無効なＤＡＳＤが、選択されたＡＳＰに関してその無効なＤＡＳＤが不適切な選択となる１ないしは複数の理由を伴って表示される。たとえば、切り替え可能性の理由とは別に、容量、保護、あるいはそのほかのシステム規則違反に起因して無効なＤＡＳＤが無効とされることがある。ユーザは、この無効理由に従って無効なＤＡＳＤを変更し、有効なＤＡＳＤにすることができる（たとえば、ＤＡＳＤを適切な場所へ、物理的に移動する）。
【００３５】
ステップ３５０においては、この方法３００が、ユーザによる、このＡＳＰに関する、ランキング順序内の１ないしは複数のコンフィギュレーション未済の有効なＤＡＳＤの選択があるまでを待機する。ステップ３６０においては、方法３００が、ＤＳＭサンドボックス、すなわちＤＡＳＤストレージ・マネジメント・プログラム２３４に関するパラメータを保持するためのオブジェクトへこのＤＡＳＤ選択を渡す。このＡＳＰ（またはＩＡＳＰ）に関する、選択された有効なＤＡＳＤのコンフィギュレーションは、ステップ３７０において、この分野で周知のように完成されるものとしてもよく、その後、ステップ３８０においてこの方法３００が終了する。
【００３６】
一実施態様においては、オブジェクト指向プログラミングを使用して方法３００を具体化することができる。本発明の一実施態様に従ったソフトウエア・クラスの設計４００および各ソフトウエア・クラスの役割の一例を図４に示す。関連するオブジェクトならびにクラスのメソッドについては、図５および７を参照してさらに詳しい説明を後述する。例示した設計４００のソフトウエア・クラスは、ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ（ＤＭ：ＤＡＳＤマネジメント）クラス４０５、ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐクラス４１０、ＴｏｙＡｓｐクラス４１５、ＴｏｙＬｄクラス４２０、ＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓクラス４３０、ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙクラス４３５、ＣＲＧＭ（Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ：クラスタ・リソース・グループ・マネジメント）クラス４４０、およびＣＲＧ（Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅ  Ｇｒｏｕｐ：クラスタ・リソース・グループ）クラス４４５を含んでいる。
【００３７】
ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ（ＤＭ：ＤＡＳＤマネジメント）クラス４０５は、ＩＡＳＰのコンフィギュレーションのためのユーザ・インターフェースを提供する。一実施態様においては、ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ（ＤＭ：ＤＡＳＤマネジメント）クラス４０５が、ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクトおよびＬｄＡｄｄｅｒサンドボックス・オブジェクトを作成することによってＩＡＳＰコンフィギュレーションを具体化し、その後、そのサンドボックス内の各オブジェクト（ここでは、『ＴｏｙＬｄ』と呼ぶ）のクエリ（ｑｕｅｒｙ（ｉｎｇ））を行う。ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐ（つまり、Ｌｏｇｉｃａｌ  ＤＡＳＤ  Ｖａｌｉｄｉｔｙ  Ｆｏｒ  ＡＳＰ：ＡＳＰに関する論理ＤＡＳＤの妥当性）クラス４１０は、ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト内に、コンフィギュレーション未済のＤＡＳＤに関する妥当性ならびにランキングの結果を保持する。
【００３８】
ＬｄＡｄｄｅｒ（つまり、Ｌｏｇｉｃａｌ  ＤＡＳＤ  Ａｄｄｅｒ：論理ＤＡＳＤアダー）クラス４２５は提案されたＤＡＳＤならびにＡＳＰの選択を提供する。例示として、ＬｄＡｄｄｅｒクラス４２５は、選択されたＡＳＰを表すＴｏｙＡｓｐ（つまり、Ｔｏｙ  ＡＳＰ：トイＡＳＰ）クラス４１５およびコンフィギュレーション未済のＤＡＳＤを表すＴｏｙＬｄ（つまり、Ｔｏｙ  Ｌｏｇｉｃａｌ  ＤＡＳＤ：トイ論理ＤＡＳＤ）クラス４２０を含む。
【００３９】
ＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓ（つまり、Ｈａｒｄｗａｒｅ  Ｓｗｉｔｃｈｉｎｇ  Ｃａｐａｂｉｌｉｔｉｅｓ：ハードウエア切り替えケイパビリティ）クラス４３０は、ＤＡＳＤが物理的に配置されているタワーの切り替え可能性を決定するための関数／メソッドを提供する。一実施態様においては、ＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓクラス４３０が、ｉｓＰａｒｅｎｔＳｗｉｔｃｈａｂｌｅメソッドを提供し、ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙクラス４３５をサポートする。ｉｓＰａｒｅｎｔＳｗｉｔｃｈａｂｌｅメソッドは、そのディスク・ユニットを含むエンティティが切り替え可能か否かを決定する。
【００４０】
ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙクラス４３５は、切り替え可能性を評価するための関数／メソッド提供し、ｉｓＲｅｓｏｕｒｃｅＳｗｉｔｃｈａｂｌｅ関数、ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数、およびｅｖａｌｕａｔｅＥｎｔｉｔｉｅｓ関数を含む。ｉｓＲｅｓｏｕｒｃｅＳｗｉｔｃｈａｂｌｅ関数は、そのＩＡＳＰがクラスタ・リソース・グループ（ＣＲＧ）内に定義されているかを決定する。ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数は、ＣＲＧリカバリ・ドメイン（つまり、そのリソースを含むサイトのプライマリならびにバックアップ・システム）内のノードが、そのリソースへアクセスできるか否かを決定する。ｅｖａｌｕａｔｅＥｎｔｉｔｉｅｓ関数は、そのエンティティが同一のＣＲＧ内にあるか否かを決定する。
【００４１】
ＣＲＧＭ（つまり、Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ：クラスタ・リソース・グループ・マネジメント）クラス４４０は、クラスタ・リソース・グループのマネジメントに関連する作成、追加、変更、削除、およびそのほかのオペレーションのための関数／サポートを含む。ＣＲＧ（つまり、Ｃｌｕｓｔｅｒ  Ｒｅｓｏｕｒｃｅ  Ｇｒｏｕｐ：クラスタ・リソース・グループ）クラス４４５は、リソース（たとえば、ＩＡＳＰ）のスイッチオーバおよびフェイルオーバをコントロールし、かつＣＲＧ内のノードおよびリソースのコンフィギュレーションを行うためのユーザ・インターフェースを提供する。一実施態様においては、ＣＲＧクラス４４５のオペレーションの具体化が、ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙクラス４３５内に提供される関数を使用するクエリを含む。
【００４２】
本発明の一実施態様に従ってノードに作用を及ぼす一例の妥当性インスペクタ３３０に関する妥当性インスペクタのオブジェクト指向設計５００を図５に示す。また、本発明の一実施態様に従ってノードに作用を及ぼす、選択されたＡＳＰに関する一例のコンフィギュレーション未済ＤＡＳＤの妥当性検査およびランキングのプロセッシング・フロー６００を図６に示す。プロセッシング・フロー６００は、ステップ３３０における妥当性インスペクタの具体化として理解することができる。
【００４３】
方法６００は、ステップ６０２において開始し、ステップ６０５に進んで、ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト５０２ならびにＬｄＡｄｄｅｒサンドボックス５１０を作成する。ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト５０２は、切り替え可能性の結果を保持しており、それには、このノードを含んでいるサイトに配置されたコンフィギュレーション未済のＤＡＳＤの妥当性およびランキングが含まれる。ＬｄＡｄｄｅｒサンドボックス５１０は、提案されたＡＳＰオブジェクト５４５（たとえば、コンフィギュレーションが行われたときに、ノードおよびリソースのコンフィギュレーション８００のリソース・プールＥ  １４０およびリソース・プールＡ  １３０にそれぞれ対応することになるＴｏｙＡｓｐ  ３２  ５４５およびＴｏｙＡｓｐ  ３３  ５４５）およびハードウエアＤＡＳＤのソフトウエア等価オブジェクト（たとえば、ＴｏｙＬｄ  ５０５、すなわち図示されているように、ＤＡＳＤ  １１  ８０２、ＤＡＳＤ  １２  ８０４、ＤＡＳＤ  １３  ８０６、ＤＡＳＤ  １４  ８０８、ＤＡＳＤ  ２１  ８１０、ＤＡＳＤ  ２２  ８１２を含む、ＤＡＳＤごとに１つのＴｏｙＬｄ）を保持する。
【００４４】
ステップ６１０においては、方法６００が、指定されたＡＳＰへのコンフィギュレーションに関して、ＬｄＡｄｄｅｒサンドボックス５１０内の各ＴｏｙＬｄ  ５０５（つまり、各コンフィギュレーション未済のＤＡＳＤ）のクエリを行う。このクエリは、ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ  ５１５により、ｖａｌｉｄＴｏＢｅＩｎＡｓｐ関数５２０を介して各ＴｏｙＬｄオブジェクト５０５上において起動される。ステップ６１５においては、続いて各ＴｏｙＬｄ  ５０５が、そのＴｏｙＬｄ  ５０５に対応するＤＡＳＤを物理的に包含するハードウエア・エンティティ（たとえば、親エンティティ）の切り替えケイパビリティを提供する、それぞれの対応するＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓオブジェクト５２５のクエリを行う。ハードウエア・エンティティの切り替えケイパビリティは、ｉｓＰａｒｅｎｔＳｗｉｔｃｈａｂｌｅ関数５３０を介して提供される。
【００４５】
その後この方法６００は、ステップ６２０において、ＳｗｉｔｃｈａｂｉｌｉｔｙＥｎｔｉｔｙオブジェクト５３５のクエリを行って、そのリソース（つまり、処理中のＴｏｙＬｄに対応するＤＡＳＤを含むディスク・プール）が切り替え可能か否かを決定する。ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙオブジェクト５３５が、ＣＲＧオブジェクト５４０のクエリを行って、そのリソース（たとえばＴｏｙＡｓｐ  ３３）がＣＲＧ内において定義されているか否かを決定する。たとえば、ＴｏｙＬｄ  ＤＡＳＤ  １１について、ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙオブジェクト５３５は、リソースＴｏｙＡｓｐ  ３３が切り替え可能ＩＡＳＰとしてＣＲＧ内に定義されているか否か（たとえば、リソース５５０）を決定する。
【００４６】
次に、ステップ６２５において、そのリソースが切り替え可能である場合に（つまり、そのリソースがＣＲＧ内において定義されたＩＡＳＰである場合に）この方法は、ステップ６３０および６３５に進んで追加のクエリを行う。ステップ６３０においてこの方法６００は、クエリを行ってＣＲＧリカバリ・ドメイン５５５（つまり、そのリソースを含んでいるサイトに配置されたプライマリ・システムおよびバックアップ・システム）内のノードが、そのリソースへアクセス可能か否かを決定し、さらにステップ６３５においては、方法６００が、そのエンティティ（たとえば、リソースおよびノード・システム）が同じＣＲＧ内において定義されているか否かの評価を行う。たとえば、リソースと異なるサイトに配置されているノードは、そのリソースへアクセスする必要がない。続いてステップ６４０において、コンフィギュレーション未済のＤＡＳＤの切り替え可能性の結果がＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト５０２へ返される。ステップ６２５に戻って参照するが、リソースが切り替え可能でない場合には、方法６００がステップ６４０へ進み、コンフィギュレーション未済のＤＡＳＤの切り替え可能性の結果をＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト５０２へ返す。その後ステップ６５０において、この方法６００が終了する。
【００４７】
別の実施態様においては、コンピュータ・システム２００のオペレーティング・システム２２８はまた、クラスタ内の２もしくはそれを超える数のコンピュータ・システムのクラスタリングを行うためにクラスタ・ユーザ・インターフェース・プログラム２３４を含んでいる。その場合においても妥当性インスペクタを起動して、クラスタ・ユーザ・インターフェース・プログラム２３４の特定のオペレーションを実行することができる。本発明の一実施態様に従ったオペレーションのクラスタリングのためのＩＡＳＰの切り替え可能性のチェックに使用される一例のソフトウエア・オブジェクトのセットを図７に示す。概して言えば、以下の実施態様のそれぞれにおいては、ＣＲＧＭオブジェクト７１０が、ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙオブジェクト７２０内の１ないしは複数の関数を起動し、それが、ＣＲＧオブジェクト７３０を介してオペレーションのクラスタリングの妥当性を検査する。
【００４８】
一実施態様においては、ＣＲＧのリカバリ・ドメインへノードを追加するとき、提案された新しいノードがそのＩＡＳＰ（１ないしは複数）内のＤＡＳＤに対するアクセスを有しているか否かについてＣＲＧＭがチェックする。ＣＲＧＭのａｄｄ＿ｎｏｄｅ＿ｔｏ＿ｒｅｃｏｖｅｒｙ＿ｄｏｍａｉｎ関数７１２は、ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２を起動し、提案された新しいノードならびに現存するＩＡＳＰ（１ないしは複数）を含むパラメータを渡す。ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２は、Ｒｅｓｏｕｒｃｅオブジェクト７３２内のＩＡＳＰおよびＲｅｃｏｖｅｒｙＤｏｍａｉｎオブジェクト７３４内のノードをチェックし、提案された新しいノードが、そのノードが属するサイトのＩＡＳＰ内のＤＡＳＤへのアクセスを有するか否かを決定する。提案された新しいノードがそのＩＡＳＰ内のＤＡＳＤへアクセスできる場合に、ユーザは、このＣＲＧＭオペレーションを完成することが可能になる。提案された新しいノードがそのＩＡＳＰ内のＤＡＳＤへのアクセスを有していない場合には、提案された新しいノードのコンフィギュレーションを行っているユーザに警告が表示される。
【００４９】
別の実施態様においては、ＣＲＧへＩＡＳＰを追加するとき、ＣＲＧＭが、指定されたリカバリ・ドメイン内のすべてのノードが、追加されることになるＩＡＳＰ内のＤＡＳＤに対するアクセスを有するか否かについてチェックする。ＣＲＧＭのａｄｄ＿ｉａｓｐ関数７１４がｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２を起動し、提案された新しいＩＡＳＰならびに指定のリカバリ・ドメイン内の現存するノードを含むパラメータを渡す。ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２は、Ｒｅｓｏｕｒｃｅオブジェクト７３２内のＩＡＳＰおよびＲｅｃｏｖｅｒｙＤｏｍａｉｎオブジェクト７３４内のノードをチェックし、そのリソースのサイトにある指定されたリカバリ・ドメイン内のすべてのノードが、追加されることになるＩＡＳＰ内のＤＡＳＤに対するアクセスを有するか否かについてチェックする。それを有している場合に、ユーザは、このＣＲＧＭオペレーションを完成することが可能になる。それを有していない場合には、提案された新しいＩＡＳＰのコンフィギュレーションを行っているユーザに警告が表示される。
【００５０】
ＣＲＧへＩＡＳＰを追加するとき、ＣＲＧＭは、ほかのいずれかのＣＲＧが、そのＩＡＳＰを含む同一の切り替え可能なエンティティ（たとえば，切り替え可能なタワー）を有しているか否かについてチェックすることもできる。ＣＲＧＭのａｄｄ＿ｉａｓｐ関数７１４が、ｇｅｔＥｎｔｉｔｉｅｓ関数７２４を起動して、提案された新しいＩＡＳＰに関するＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙ（１ないしは複数）を検索する。続いてＣＲＧＭは、ほかの現存するＣＲＧをサーチし、ほかのいずれかのＣＲＧが同一の切り替え可能なエンティティを有しているか否かを決定する。ほかのいずれのＣＲＧも同一の切り替え可能なエンティティを有していない場合に、ユーザは、このＣＲＧＭオペレーションを完成することが可能になる。ほかのＣＲＧが同一の切り替え可能なエンティティを有している場合には、ＣＲＧへの提案されたＩＡＳＰの追加を行っているユーザに対して警告が表示される。
【００５１】
別の実施態様においては、ＩＡＳＰのＣＲＧを開始するとき（つまり、クラスタリングを開始するとき）、ＣＲＧＭが、そのＩＡＳＰの切り替え可能性について検査する。この追加の妥当性検査は、ハードウエアの再配置（たとえば、ケーブルおよびディスク・ユニットの移動）に起因する潜在的な切り替え可能性のエラー検出を提供する。また、この追加の妥当性検査は、不適切なＤＡＳＤコンフィギュレーション（たとえば、クラスタリングがアクティブになってなく、ユーザが、コンフィギュレーション警告を無視してＤＡＳＤのコンフィギュレーションを行ったとき）に起因するエラーも検出する。ＣＲＧＭのｓｔａｒｔ＿ｃｌｕｓｔｅｒｉｎｇ関数７１６は、ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２を起動し、Ｒｅｓｏｕｒｃｅオブジェクト７３２内の現存するＩＡＳＰ（１ないしは複数）を含むパラメータを渡す。ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数７２２は、Ｒｅｓｏｕｒｃｅオブジェクト７３２内のＩＡＳＰおよびＲｅｃｏｖｅｒｙＤｏｍａｉｎオブジェクト７３４内のノードをチェックし、そのリカバリ・ドメイン内の同一サイトのすべてのノードが、そのＩＡＳＰ内のＤＡＳＤに対するアクセスを有するか否かを決定する。それを有している場合に、ユーザは、ＣＲＧＭのｓｔａｒｔ＿ｃｌｕｓｔｅｒｉｎｇ関数を完成することが可能になる。それを有していない場合には、クラスタリング・オペレーションを試みているユーザに対して警告が表示される。
【００５２】
本発明の実施態様は、複数の地理的ロケーションの間に分散されるコンピュータ・システム・グループ１００内に組み込まれる。全体のコンピュータ・システム・グループ１００を構成するノードは、任意の組み合わせに従って複数の地理的ロケーションの間に分散され得る。２もしくはそれを超えるノードが配置された地理的ロケーション、またはサイトは、これに述べているように、クラスタ・リソース・グループ内においてコンフィギュレーションが可能であり、それらのサイトに配置されるリソースを含むリカバリ・ドメインの一部として動作することができる。それに代えて、サイトは、そのサイトにおけるリソースをコントロールする唯一のノードを持つことができる。これは、そのサイトにおけるその１つのノードの故障が、別のサイトのノードへのフェイルオーバをもたらすことができるため、全体のコンピューティング・システム・グループの可用性を維持しつつ、それぞれのサイトに複数のノードを要求しないことによって、コストの削減を可能にする。単一のコンピューティング・システムのノードを伴うサイトの別の利点は、そのサイトが切り替え可能ハードウエアを必要としないことである。
【００５３】
本発明の一実施態様に従った初期コンフィギュレーションのプロセッシング・フロー９００の例を図９に示す。例示した初期コンフィギュレーションのプロセッシング・フロー９００は、単一ノードを有するサイト・コンフィギュレーションに適合しており、しかもより可用性の高い複数のノードを有するサイトのコンフィギュレーションを保証する。例示した初期コンフィギュレーションのプロセッシング・フロー９００は、ステップ９０２において開始し、ステップ９０４へ進んで、現在のサイトが１を超える数のノードを有するか否かを決定する。このサイトが１を超える数のノードしている場合には、プロセッシングがステップ９０８へ進み、このサイトに配置されるリソースに関するリカバリ・ドメインを伴うサイトにおいてノードのコンフィギュレーションを行う。このサイトが１つのノードだけを有している場合には、プロセッシングがステップ９０６へ進み、このサイトのリソースをホストするべくそのノードのコンフィギュレーションを行う。このサイトのノードのコンフィギュレーションの後は、ステップ９１０へ進み、コンピューティング・システム・グループ１００のメンバとしてサイトのノードのオペレーションを行うことによってプロセッシングが継続される。
【００５４】
（限定を意図しないソフトウエアおよびハードウエアの例）
本発明の実施態様は、たとえば図１に示し、ここで説明したクラスタ・コンピューティング環境等のコンピュータ・システムとともに使用するためのプログラム・プロダクトとして具体化することができる。プログラム・プロダクトのプログラム（１ないしは複数）は、これらの実施態様（ここで述べた方法を含む）の関数を定義し、各種の信号担持メディア上に包含させることができる。信号担持メディアの例としては、限定を意図するわけではないが；（ｉ）情報を永久的にストアする書き込み禁止ストレージ・メディア（たとえば、ＣＤ‐ＲＯＭドライブによって読み出すことが可能なＣＤ‐ＲＯＭディスク等のコンピュータ内の読み出し専用メモリ・デバイス）；（ｉｉ）情報を変更可能にストアする書き込み可能なストレージ・メディア（たとえばフレキシブル・ディスク・ドライブ内のフレキシブル・ディスクまたはハードディスク・ドライブ）；または（ｉｉｉ）コンピュータへ情報を伝達する、たとえば、ワイヤレス通信を含むコンピュータ・ネットワークまたは電話ネットワークを介した通信メディアが挙げられる。最後の実施態様は、特に、インターネットもしくはそのほかのネットワークからの情報のダウンロードを含む。この種の信号担持メディアが、本発明の機能を伝えるコンピュータ可読インストラクションを運ぶとき、本発明の実施態様を表すことになる。
【００５５】
概して、本発明の実施態様を具体化するために実行されるルーチンは、オペレーティング・システムの一部として具体化されるか、あるいは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、またはインストラクションのシーケンスとして具体化されるかによらず、ここで『プログラム』と呼ぶことができる。コンピュータ・プログラムは、通常、ネイティブ・コンピュータによって機械可読フォーマットに、したがって、実行可能インストラクションに翻訳されることになる複数のインストラクションからなる。またプログラムは、プログラムに対してローカルに常駐するか、あるいはメモリ内もしくはストレージ・デバイス上に見つかる変数およびデータ構造を包含している。それに加えて、ここに述べた各種のプログラムは、本発明の特定の実施態様においてそれらが具体化される対称となる応用に基づいて識別することができる。しかしながら、いかなる特定のプログラムの名前も便宜上使用されているだけであり、したがって、本発明が、その種の名前によって識別および／または含意される特定の応用における使用にのみ限定されないことを認識する必要がある。
【００５６】
さらに、通常はコンピュータ・プログラムをルーチン、プロシージャ、メソッド、モジュール、オブジェクト等々に系統化し得る方法が無数にあることはもとより、一般のコンピュータ内に常駐する各種のソフトウエア・レイヤ間にプログラムの機能を割り付ける各種の方法があることを考えれば（たとえば、オペレーティング・システム、ライブラリ、ＡＰＩ、アプリケーション、アプレット等）、次のことも明らかである。本発明が、ここに述べられている特定の系統化および割り付け、またはプログラムの機能に限定されないことを認識される必要がある。
【００５７】
本発明は、ハードウエア、ソフトウエア、もしくはハードウエアとソフトウエアの組み合わせにおいて実現することができる。本発明の好ましい実施態様に従ったシステムは、１つのコンピュータ・システム内に集約された態様で、あるいは分散された態様で、すなわち各種のエレメントがいくつかの相互接続されたコンピュータ・システムにわたって分散される態様で実現することが可能である。任意の種類のコンピュータ・システム、もしくはそのほかの、ここに述べられている方法を実施するために適合された装置が適している。代表的なハードウエアとソフトウエアの組み合わせを、ロードされて実行されたときに、ここに述べられている方法をコンピュータが実施するようにコンピュータ・システムをコントロールするコンピュータ・プログラムを伴った汎用コンピュータ・システムとすることができる。
【００５８】
各コンピュータ・システムは、特に、１ないしは複数のコンピュータおよび少なくとも１つの信号担持メディア（ｓｉｇｎａｌ  ｂｅａｒｉｎｇ  ｍｅｄｉａ）、すなわちコンピュータがデータ、インストラクション、メッセージもしくはメッセージ・パケット、およびそのほかの情報を担持する信号をそこから読み取ることのできる信号担持メディアを含むものとすることができる。信号担持メディアには、ＲＯＭ、フラッシュ・メモリ、ディスク・ドライブ・メモリ、ＣＤ‐ＲＯＭ、およびそのほかの永久ストレージ等の不揮発性メモリを含めることができる。それに加えて、コンピュータ・メディアに、たとえば、ＲＡＭ、バッファ、キャッシュ・メモリ、およびネットワーク回路等の揮発性ストレージを含めてもよい。さらに、信号担持メディアは、有線ネットワークもしくはワイヤレス・ネットワークを含めたネットワーク・リンクおよび／またはネットワーク・インターフェース等の一時的状態メディア内に情報を担持する信号であって、コンピュータがその種の情報を担持する信号を読み取ることが可能な信号を包含することができる。
【００５９】
以上のとおり、本発明の特定の実施態様を開示してきたが、当業者であれば理解されるように、本発明の精神ならびに範囲から逸脱することなしに、特定の実施態様に対して変更を行うことは可能である。したがって、本発明の範囲は、これらの特定の実施態様に限定されない。さらに、付随する特許請求の範囲には、その種の応用、修正、および本発明の範囲内に含まれる実施態様をすべて保護することが意図されている。
【００６０】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００６１】
（１）ノード内のリソースのマネジメントを行うための方法において：ノードによる使用に関して少なくとも１つのリソースのコンフィギュレーションを行うことであって、前記ノードは、前記リソースを含むサイトに関連付けされているものとすること；リソース・プールに関して、前記少なくとも１つのリソースの可用性の検査を行うことであって、前記ノードによるアクセス可能性の決定および前記リソースが前記サイトに配置されていることの検証を含む前記検査を行うこと；および、前記検査に基づいて、前記リソース・プールに関して、前記少なくとも１つのリソースのうちの少なくとも１つを選択すること；を含む方法。
（２）前記少なくとも１つのリソースは、少なくとも１つのディスク・ユニットを包含するものとし、かつ前記方法は、さらに：前記リソース・プールを切り替え可能なディスク・プールとしてコンフィギュレーションを行うこと；を含むものとする、上記（１）に記載の方法。
（３）前記ノードは、前記サイトに配置される単一のノードであり、前記ノードは、地理的に分散されたコンピューティング・システム・グループの一部として動作するものとする、上記（１）に記載の方法。
（４）前記少なくとも１つのリソースは、少なくとも１つのディスク・ユニットを包含するものとし、かつ前記方法は、さらに：前記リソース・プールに関して、各ディスク・ユニットの可用性のランキングを行うこと；および、前記可用性のランキングに従って前記リソース・プールに関して少なくとも１つの有効なディスク・ユニットを選択すること；を含むものとする、上記（１）に記載の方法。
（５）さらに：少なくとも１つの理由をユーザへ提供し、各ディスク・ユニットの妥当性およびランキングを説明すること；を含むものとする、上記（４）に記載の方法。
（６）前記ノードは、クラスタ・リソース・グループの一部であるとする、上記（１）に記載の方法。
（７）前記クラスタ・リソース・グループは、プライマリ・ノードおよび少なくとも１つのバックアップ・ノードを包含するものとする、上記（６）に記載の方法。
（８）さらに：クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記リソース・プール内のリソースの可用性の検査を行うことを含み、それにおいて前記検査は、前記ノードが前記リソース・プールを含むサイトに関連付けされていることの決定を含むものとする、上記（６）に記載の方法。
（９）さらに：切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記サイトに配置された前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性の検証を行うこと；を含むものとする、上記（６）に記載の方法。
（１０）前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティは、別のクラスタ・リソース・グループ内に含まれないものとする、上記（９）に記載の方法。
（１１）さらに：クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性の検査を行うこと；を含むものとする、上記（６）に記載の方法。
（１２）プロセッサによって実行されたときに、ノード内のリソースのマネジメントに関するオペレーションを行うプログラムを包含する信号担持メディアにおいて、前記オペレーションが：ノードによる使用に関して少なくとも１つのリソースのコンフィギュレーションを行うことであって、前記ノードは、前記リソースを含むサイトに関連付けされているものとすること；リソース・プールに関して、前記少なくとも１つのリソースの可用性の検査を行うことであって、前記ノードによるアクセス可能性の決定および前記リソースが前記サイトに配置されていることの検証を含む前記検査を行うこと；および、前記検査に基づいて、前記リソース・プールに関して、前記少なくとも１つのリソースのうちの少なくとも１つを選択すること；を含むものとする、信号担持メディア。
（１３）さらに前記ステップが：前記リソース・プールを切り替え可能なディスク・プールとしてコンフィギュレーションを行うこと；を含むものとする、上記（１２）に記載の信号担持メディア。
（１４）前記ノードは、前記サイトに配置される単一のノードであり、前記ノードは、地理的に分散されたコンピューティング・システム・グループの一部として動作するものとする、上記（１２）に記載の信号担持メディア。
（１５）さらに前記ステップが：前記リソース・プールに関して、各リソースのランクキングを行うこと；および、前記ランキングの結果に従って前記リソース・プールに関して少なくとも１つの有効なリソースを選択すること；を含むものとする、上記（１２）に記載の信号担持メディア。
（１６）さらに前記ステップが：少なくとも１つの理由をユーザへ提供し、各リソースの妥当性およびランキングを説明すること；を含むものとする、上記（１５）に記載の信号担持メディア。
（１７）前記ノードは、クラスタ・リソース・グループの一部であるとする、上記（１２）に記載の信号担持メディア。
（１８）さらに前記ステップが：前記クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記リソース・プール内のリソースの可用性の検査を行うこと；を含むものとする、上記（１７）に記載の信号担持メディア。
（１９）さらに前記ステップが：切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性の検証を行うこと；を含むものとする、上記（１７）に記載の信号担持メディア。
（２０）さらに前記ステップが：前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティが、別のクラスタ・リソース・グループ内に含まれないことを検証すること；を含むものとする、上記（１７）に記載の信号担持メディア。
（２１）さらに前記ステップが：クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性の検査を行うこと；を含むものとする、上記（１７）に記載の信号担持メディア。
（２２）サイトに関連付けされたプライマリ・ノード；前記プライマリ・ノードに接続されたリソース・プール；および、前記リソース・プールに関して、少なくとも１つのリソースの可用性の検査を行い、かつ前記リソース・プールに関して、少なくとも１つの有効なリソースを選択するべくコンフィギュレーションが行われたプロセッサを備え、前記可用性は、前記サイトに配置されている前記少なくとも１つのリソースを、少なくとも部分的に基礎として検査されるものとするシステム。
（２３）前記プロセッサは、さらに、前記リソース・プールに関して各リソースのランキングを行い、かつランキングに従って前記リソース・プールに関して少なくとも１つの有効なリソースを選択するべくコンフィギュレーションが行われているものとする、上記（２２）に記載のシステム。
（２４）前記プロセッサは、さらに、少なくとも１つの理由をユーザへ提供し、各リソースの妥当性およびランキングを説明するべくコンフィギュレーションが行われているものとする、上記（２３）に記載のシステム。
（２５）前記リソース・プールは、切り替え可能なリソース・プールとしてコンフィギュレーションが行われるものとする、上記（２２）に記載のシステム。
（２６）さらに、前記切り替え可能なリソース・プールに接続された少なくとも１つのバックアップ・ノードを備えるものとする、上記（２５）に記載のシステム。
（２７）前記プロセッサは、さらに、前記クラスタ・リソース・グループのリカバリ・ドメインへノードを追加するときに、前記切り替え可能なリソース・プール内の各リソースのアクセス可能性を検査するべくコンフィギュレーションが行われているものとする、上記（２５）に記載のシステム。
（２８）前記プロセッサは、さらに、前記切り替え可能なリソース・プールを前記クラスタ・リソース・グループへ追加するとき、前記切り替え可能なリソース・プール内の各リソースの、前記クラスタ・リソース・グループのリカバリ・ドメイン内の各ノードによるアクセス可能性を検証するべくコンフィギュレーションが行われているものとする、上記（２５）に記載のシステム。
（２９）前記プロセッサは、さらに、前記切り替え可能なリソース・プールを包含する切り替え可能なエンティティが、別のクラスタ・リソース・グループ内に含まれないことを検証するべくコンフィギュレーションが行われているものとする、上記（２５）に記載のシステム。
（３０）前記プロセッサは、さらに、クラスタリングの開始時に、前記切り替え可能なリソース・プールの切り替え可能性を検査するべくコンフィギュレーションが行われているものとする、上記（２５）に記載のシステム。
【図面の簡単な説明】
【００６２】
【図１】本発明の一例の実施態様の全体的なシステム・アーキテクチャを例示したコンピューティング・システム・グループのブロック図である。
【図２】本発明の一例の実施態様に従った、図１に示されているグループのグループ・メンバを図示したブロック図である。
【図３】本発明の一例の実施態様に従った、ＡＳＰに関して１ないしは複数のＤＡＳＤを選択するプロセスを示したフローチャートである。
【図４】本発明の一例の実施態様に従った、ソフトウエア・クラスの設計および各ソフトウエア・クラスの役割の一例を示した説明図である。
【図５】本発明の一例の実施態様に従った、一例の妥当性インスペクタに関する妥当性インスペクタのオブジェクト指向設計を示した説明図である。
【図６】本発明の一例の実施態様に従った、選択されたＡＳＰに関する一例のコンフィギュレーション未済ＤＡＳＤの妥当性検査およびランキングのプロセスを示したフローチャートである。
【図７】本発明の一例の実施態様に従った、オペレーションのクラスタリングのためのＩＡＳＰの切り替え可能性のチェックに使用される一例のソフトウエア・オブジェクトのセットを示した説明図である。
【図８】本発明の一例の実施態様に従った、図１のサイトに関するノードおよびリソースのコンフィギュレーションを示したブロック図である。
【図９】本発明の一例の実施態様に従った、初期コンフィギュレーションのプロセスを示したフローチャートである。
【符号の説明】
【００６３】
１００  コンピュータ・システム・グループ／コンピューティング・システム・グループ
１０２  サイトＡ
１０４  サイトＢ
１０６  データ通信ネットワーク
１０８  ノードＢ
１１０  ノードＡ
１１２  ノードＣ
１１４  ノードＤ
１１６  リソースＡ
１１８  リソースＢ
１２０  リソースＺ
１２１  リソースＣ
１２２  リソースＤ
１２４  リソースＹ
１２６  サイト間通信システム
１３０  リソース・プールＡ
１３２  リソース・プールＢ
１４０  リソース・プールＥ
２００  グループ・メンバ／コンピュータ・システム
２０２  ＣＰＵ／プロセッサ
２０４  メイン・メモリ
２０６  大容量ストレージ・インターフェース
２０８  端末インターフェース
２１０  ネットワーク・インターフェース
２１２  システム・バス
２１４  ＤＡＳＤデバイス
２１６  フレキシブル・ディスク
２１８  端末
２２０  アプリケーション・プログラム
２２２  オブジェクト
２２６  データ
２２８  オペレーティング・システム／オペレーティング・システムのイメージ
２３０  ＤＡＳＤマネジメント・ユーザ・インターフェース・プログラム
２３２  ＤＡＳＤストレージ・マネジメント・プログラム／ＤＳＭプログラム
２３４  クラスタ・ユーザ・インターフェース・プログラム／グループ・ユーザ・インターフェース・プログラム
２４０  ステーションＡ
２４２  ステーションＢ
３００  フローチャート／方法
３３０  妥当性インスペクタ
４００  設計
４０５  ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ（ＤＭ）クラス
４１０  ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐクラス
４１５  ＴｏｙＡｓｐクラス
４２０  ＴｏｙＬｄクラス
４２５  ＬｄＡｄｄｅｒクラス
４３０  ＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓクラス
４３５  ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙクラス
４４０  ＣＲＧＭクラス
４４５  ＣＲＧクラス
５００  設計
５０２  ＬｄＶａｌｉｄｉｔｙＦｏｒＡｓｐオブジェクト
５０５  ＴｏｙＬｄオブジェクト
５１０  ＬｄＡｄｄｅｒサンドボックス
５１５  ＤＡＳＤ  Ｍａｎａｇｅｍｅｎｔ
５２０  ｖａｌｉｄＴｏＢｅＩｎＡｓｐ関数
５２５  ＨｄｗＳｗｉｔｃｈｉｎｇＣａｐａｂｉｌｉｔｉｅｓオブジェクト
５３０  ｉｓＰａｒｅｎｔＳｗｉｔｃｈａｂｌｅ関数
５３５  ＳｗｉｔｃｈａｂｉｌｉｔｙＥｎｔｉｔｙオブジェクト／ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙオブジェクト
５４０  ＣＲＧオブジェクト
５４５  ＡＳＰオブジェクト／ＴｏｙＡｓｐ  ３２／ＴｏｙＡｓｐ  ３３
５５０  リソース
５５５  ＣＲＧリカバリ・ドメイン
６００  プロセッシング・フロー／方法
７１０  ＣＲＧＭオブジェクト
７１２  ａｄｄ＿ｎｏｄｅ＿ｔｏ＿ｒｅｃｏｖｅｒｙ＿ｄｏｍａｉｎ関数
７１４  ａｄｄ＿ｉａｓｐ関数
７１６  ｓｔａｒｔ＿ｃｌｕｓｔｅｒｉｎｇ関数
７２０  ＳｗｉｔｃｈａｂｌｅＥｎｔｉｔｙオブジェクト
７２２  ｉｓＲｅｓｏｕｒｃｅＡｃｃｅｓｓｉｂｌｅ関数
７２４  ｇｅｔＥｎｔｉｔｉｅｓ関数
７３０  ＣＲＧオブジェクト
７３２  Ｒｅｓｏｕｒｃｅオブジェクト
７３４  ＲｅｃｏｖｅｒｙＤｏｍａｉｎオブジェクト
８００  ノードおよびリソースのコンフィギュレーション
８０２  ＤＡＳＤ  １１
８０４  ＤＡＳＤ  １２
８０６  ＤＡＳＤ  １３
８０８  ＤＡＳＤ  １４
８１０  ＤＡＳＤ  ２１
８１２  ＤＡＳＤ  ２２
８２０  クラスタ・マネジメント・コンピュータ・システム
９００  プロセッシング・フロー
【図１】
2005056392.tif 000003
【図２】
2005056392.tif 000004
【図３】
2005056392.tif 000005
【図４】
2005056392.tif 000006
【図５】
2005056392.tif 000007
【図６】
2005056392.tif 000008
【図７】
2005056392.tif 000009
【図８】
2005056392.tif 000010
【図９】
2005056392.tif 000011