(57)【要約】【課題】相互監視により障害ノードを切り離すクラスタリングシステムのノード間インターフェース【解決手段】本発明の一実施形態は、高可用性クラスタ装置であって、複数の計算ノードと、上記ノードの各々に接続するように構成されたハードウェアインタフェースと、を具備する高可用性クラスタ装置に関する。ノード間接続は、ハードウェアインタフェースに結合され、上記ノード間でノードステータス信号を通信する。ノードは、ノード間接続のトポロジカルな接続性を中断することなくハードウェアインタフェースに接続された状態から除去可能である。【選択図】図１Ａ
2006079618.tif 000002
【特許請求の範囲】
【請求項１】
高可用性クラスタ装置であって、
前記クラスタの複数の計算ノードと、
前記ノードの各々に接続するように構成されたハードウェアインタフェースと、
該ハードウェアインタフェースに結合され、前記ノード間でノードステータス信号を通信するノード間接続と、
を具備し、
ノードは、前記ノード間接続のトポロジカルな接続性を中断することなく前記ハードウェアインタフェースに接続された状態から除去可能である、高可用性クラスタ装置。
【請求項２】
前記ノード間接続は、ポイント・ツー・ポイントループトポロジーを形成する、請求項１に記載の高可用性クラスタ装置。
【請求項３】
前記ノードを相互接続するデータ通信ネットワークをさらに具備し、
該ネットワークは、前記ノード間接続とは別個である、請求項１に記載の高可用性クラスタ装置。
【請求項４】
前記計算ノードの各々はシャーシに収容される、請求項１に記載の高可用性クラスタ装置。
【請求項５】
前記ハードウェアインタフェースはラックに取り付けられる、請求項４に記載の高可用性クラスタ装置。
【請求項６】
前記ハードウェアインタフェースはプリント回路基板を備える、請求項５に記載の高可用性クラスタ装置。
【請求項７】
前記ハードウェアインタフェースは別個のシャーシに収容される、請求項５に記載の高可用性クラスタ装置。
【請求項８】
前記ラックは、複数の前記シャーシを支持するように構成される、請求項５に記載の高可用性クラスタ装置。
【請求項９】
前記ノードの各々に構成される第１のコネクタと、
前記ハードウェアインタフェースにおける少なくとも１つの第２のコネクタと、
をさらに具備し、
前記第１のコネクタは前記第２のコネクタと嵌合するように構成される、請求項１に記載の高可用性クラスタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、包括的にはコンピュータネットワークに関する。詳細には、本開示は、相互接続されたコンピュータシステムのクラスタに関する。
【０００２】
本出願は、発明者Ken G. PomaranskiおよびAndrew H. Barrによる２００４年１月２３日に出願された「Cluster Node Status Detection and Communication」と題する米国特許出願第１０／７６４，１６５号に関する。本出願はまた、発明者Ken G. PomaranskiおよびAndrew H. Barrによる２００４年１月２３日に出願された「Multi-State Status Reporting for High-Availability Cluster Nodes」と題する米国特許出願第１０／７６４，１９８号と、発明者Ken G. PomaranskiおよびAndrew H. Barrによる２００４年１月２３日に出願された「Node Management in High-Availability Cluster」と題する米国特許出願第１０／７６４，２４４号と、に関する。
【背景技術】
【０００３】
クラスタは、単一の一体化された計算ユニットとして使用される、相互接続されたコンピュータシステムまたはサーバの集まりを含む並列または分散システムである。クラスタのメンバを、ノードまたはシステムと呼ぶ。クラスタサービスは、クラスタ関連のアクティビティを管理する、各ノードにおけるソフトウェアの集まりである。クラスタサービスは、すべての資源を同一のオブジェクトとしてみなす。資源は、他の例もあるが特に、ディスクドライブおよびネットワークカード等の物理的なハードウェアデバイス、または論理ディスクボリューム、ＴＣＰ／ＩＰアドレス、アプリケーション全体およびデータベース等の論理的なアイテムを含む場合がある。グループは、単一ユニットとして管理される資源の集まりである。一般に、グループは、特定のアプリケーションを実行しユーザがそのアプリケーションによって提供されるサービスに接続することができるようにするために必要なコンポーネントのすべてを含む。グループに対して実行される動作は、通常、そのグループ内に含まれるすべての資源に影響を与える。クラスタリングは、２つ以上のサーバを合わせて結合することにより、ネットワークシステムおよびアプリケーションに対するシステム可用性、性能および容量を増大させる。
【０００４】
クラスタリングは、同時に２つ以上のＣＰＵを使用してアプリケーションまたはプログラムを実行する並列処理または並列計算に使用される場合がある。クラスタリングは、システム管理者が既存のコンピュータおよびワークステーションを利用することができるようにするため、並列処理アプリケーションを実施するために広く用いられる戦略である。ネットワーク化されたサーバに発行される要求の数を予測することは困難であるため、クラスタリングはまた、いかなる単一サーバにも過度に負担がかからないように、ネットワークシステムにわたって均等に処理および通信アクティビティを分散させるロードバランシングにも有用である。１つのサーバが、負荷が殺到しているという危険を冒している場合、要求を、より容量の大きい別のクラスタ化されたサーバに転送することができる。たとえば、ビジーなウェブサイトは、ロードバランシング方式を採用するために２つ以上のクラスタ化されたウェブサーバを採用する場合がある。クラスタリングはまた、システム負荷が増大するに従い新たなコンポーネントを追加することができるようにすることにより、スケーラビリティを増大させることができる。さらに、クラスタリングは、システムのグループおよびそれらのアプリケーションの管理を、システム管理者がグループ全体を単一システムとして管理することができるようにすることにより簡略化する。クラスタリングはまた、ネットワークシステムの耐障害性を増大させるために用いられることができる。１つのサーバに、予測されないソフトウェア障害またはハードウェア障害が発生した場合、別のクラスタ化されたサーバが、障害の発生したサーバの動作を引き受けることができる。このように、システムの任意のハードウェアまたはソフトウェアコンポーネントに障害が発生した場合、ユーザには、性能に不利な状態がもたらされる可能性があるが、サービスにアクセスすることができなくなることはない。
【０００５】
現行のクラスタサービスには、他の例もあるが特に、Microsoft Corporationにより、そのＷｉｎｄｏｗｓ（登録商標）  ＮＴ  ４．０およびＷｉｎｄｏｗｓ（登録商標）２０００  Ａｄｖａｎｃｅｄ  Ｓｅｒｖｅｒオペレーティングシステムに対するクラスタリングのために設計された、Ｍｉｃｒｏｓｏｆｔ  Ｃｌｕｓｔｅｒ  Ｓｅｒｖｅｒ（ＭＳＣＳ）と、Ｎｏｖｅｌｌ  Ｎｅｔｗａｒｅ  Ｃｌｕｓｔｅｒ  Ｓｅｒｖｉｃｅｓ（ＮＷＣＳ）と、がある。たとえば、ＭＳＣＳは、単一の高可用性サーバを提供するために２つのＮＴサーバのクラスタリングをサポートする。
【０００６】
クラスタリングを、ストレージエリアネットワーク（ＳＡＮ）および同様のネットワーキング環境を利用するコンピュータネットワークにおいて実施する場合もある。ＳＡＮネットワークにより、ストレージシステムを、複数のクラスタおよびサーバ間またはこれらのいずれかの間（複数のクラスタおよび/またはサーバ間）で共有することができる。ＳＡＮにおけるストレージデバイスを、たとえばＲＡＩＤ構成で構築する場合がある。
【０００７】
システム障害を検出するために、クラスタ化されたノードは、ハートビートメカニズムを使用して互いの健全度（health）を監視する場合がある。ハートビートは、１つのクラスタ化されたノードによって別のクラスタ化されたノードに送信される信号である。ハートビート信号は、通常、イーサネット（登録商標）または同様のネットワークで送信され、その場合、ネットワークはまた、他の目的でも利用される。
【０００８】
ノードの障害は、予測されたハートビート信号がそのノードから受信されない場合に検出される。ノードの障害時、クラスタリングソフトウェアは、たとえば、障害の発生したノードの資源グループ全体を別のノードに移すことができる。障害によって影響を受けたクライアントアプリケーションは、セッションにおける障害を検出し、元の接続と同様に再接続することができる。
【０００９】
ハートビート信号がクラスタのノードから受信されると、そのノードは、標準的に、「アップ」状態にあるものと定義される。アップ状態では、ノードは、適当に動作しているものと推定される。一方、ハートビート信号がもはやノードから受信されない場合、そのノードは、標準的に、「ダウン」状態にあるものと定義される。ダウン状態では、ノードは障害が発生したと推定される。
【発明の開示】
【課題を解決するための手段】
【００１０】
本発明の一実施形態は、高可用性クラスタ装置であって、複数の計算ノードと、上記ノードの各々に接続するように構成されたハードウェアインタフェースと、を具備する高可用性クラスタ装置に関する。ノード間接続は、ハードウェアインタフェースに結合され、上記ノード間でノードステータス信号を通信する。ノードは、ノード間接続のトポロジカルな接続性を中断することなくハードウェアインタフェースに接続された状態から除去可能である。
【００１１】
別の実施形態は、高可用性計算クラスタのノード間でノードステータス信号を通信する方法に関する。ノードステータス信号は、ハードウェアインタフェースの第１のコネクタにより第１のノードから受信される。ノードステータス信号は、第１のコネクタからハードウェアインタフェースの第２のコネクタに転送される。そして、ノードステータス信号は、第２のコネクタから第２のノードに送信される。
【００１２】
別の実施形態は、高可用性計算クラスタのノード間でノードステータス信号を通信するように構成されたハードウェアインタフェースに関する。ハードウェアインタフェースは、複数のコネクタおよびノード間接続を含む。各コネクタは、ノードステータス信号を対応するノードに通信するように構成される。ノード間接続は、ポイント・ツー・ポイントループ構成におけるコネクタ間でノードステータス信号を送信するように構成される。
【発明を実施するための最良の形態】
【００１３】
Ｉ．従来のハートビート技法の欠点
クラスタ化されたノードの状態を報告する従来の技法について上述した。従来の技法では、ハートビートメカニズムが使用され、ノードは、「アップ」状態または「ダウン」状態のいずれかであるものと判断される。
【００１４】
この従来の技法は、さまざまな場合において不十分でありかつ不都合である。たとえば、対象の重大なアプリケーションが機能していない（すなわち、アプリケーションがダウンしている）場合であっても、そのアプリケーションが実行しているノードは、依然としてそのハートビート信号を送信している可能性がある。その場合、クラスタは、重大なアプリケーションがダウンしているにも関わらず、依然としてノードがアップ状態であるとみなす。別の例では、クラスタは、ノードから予測されたハートビート信号を受信せず、したがってそのノードがダウンしていると想定する場合がある。しかしながら、そのノードは、実際にはアップ状態である（すなわち、適当に動作している）場合があり、代りに、ハートビート信号が届かなかったのは、相互接続に障害があるためである場合がある。
【００１５】
さらに、従来の技法は、通常、ステータス信号を生成し送信するために既存の回路を利用する。この既存の回路はまた、クラスタ内の他の通信にも使用される。対照的に、出願人は、ステータス信号を頑強に生成し送信するように特に設計された専用の回路を使用することが、従来の技法に対して有利であると判断した。
【００１６】
結局、高可用性（ＨＡ）クラスタの効率（稼働率）は、クラスタがそのノードのうちの１つが有用な計算または記憶機能の実行をやめた（すなわち、ノードが事実上ダウンしている場合）と認識するのにかかる時間の量によって大きく決まることになる。クラスタが、ノードが事実上ダウンしていると判断すると、クラスタリングソフトウェアは、ユーザタスクをほとんど中断させることなくノードの残りを実行させ続けるために必要なタスクを実行することができる。
【００１７】
しかしながら、上述したように、クラスタノードの状態を確定するために使用される従来の技法は、さまざまな場合において不正確である。従来の技法では、間違った（不要な）フェイルオーバーが実行されるか、または検出が失敗する可能性がある。検出の失敗は、クラスタレベルソフトウェアが、悪いノードから良いノードに切り替えなければならない時にそれができない場合である。さらに、従来技法は、ノードのダウン状態を検出するために望ましくないほどに長い時間をとることが多い。
【００１８】
ＩＩ．改善されたノードステータスの検出および通信
図１Ａは、本発明の一実施形態による代表的な高可用性クラスタ１０を示す概略図である。図には、４つのノード１００が示されているが、本発明の範囲内ではさまざまな数のノードを使用してもよい。
【００１９】
ネットワーク２０を介するノード間通信に加えて、別個の通信チャネルにより、ステータス情報の独立したノード間通信が可能になる。図示するように、別個の通信チャネルは、たとえば、各ノードにおける追加の信号処理ハードウェア回路１０６を利用して、例示的な一リングトポロジーにおいてポイント・ツー・ポイントリンク３０を提供してもよい。リングトポロジーでは、各ノード１００は、通信リンク３０によりリングにおける次のノード１００（図示する例では右回りに行く）にステータス情報を送信してもよく、別のリンク３０によりリングにおける先のノード１００からステータス情報を受信してもよい。有利には、ステータス通信のために追加のチャネルを有するかかる構成により、ノードステータスデータの迅速かつ信頼性の高い交換が可能になる。
【００２０】
一実施形態によれば、各ノード１００において、クラスタレベルのソフトウェアが実行する。各ノード１００を、クラスタレベルソフトウェアに以下の資源を提供するように構成してもよい。ハードウェア資源には、１つまたは複数のプロセッサと、メモリシステムと、ディスクベースまたは同様のデータ記憶装置と、ノードを相互接続するネットワーク２０へのインタフェースと、ノード間ステータス信号処理のための専用信号処理ハードウェア１０６と、が含まれる。ソフトウェア資源は、以下のタスクを実行するルーチンを含む。すなわち、本ノード１００のステータスを更新し送信すること、クラスタにおける別のノード１００からのステータスデータを監視し分析すること、および監視されているノード１００からのステータスデータに基づき適当な動作を行うことである。ノードの計算サブシステムは、ミッションクリティカルなソフトウェアアプリケーションを実行していてもよくまたは実行していなくてもよい。実行している場合、そのミッションクリティカルなアプリケーションは、クラスタレベルソフトウェアの構成ファイルに列挙される。
【００２１】
図１Ｂは、本発明の一実施形態によるクラスタのノード１００の概略図である。ノード１００は、従来の計算サブシステム１０２および信号処理ハードウェア回路１０６を含む。計算サブシステム１０２は、通常、１つまたは複数の中央処理装置（ＣＰＵ）、メモリ等を含む計算要素を備える。計算サブシステム１０２は、他の信号もあるが特にサブシステムステータス信号１０４を生成し出力する。信号処理ハードウェア回路１０６は、サブシステムステータス信号１０４を受け取り、ノードステータス信号１０８を出力する。ノードステータス信号１０８を、クラスタにおける次のノードに出力してもよい。これらの信号については後にさらに説明する。
【００２２】
図２は、本発明の一実施形態による信号処理ハードウェア１０６の概略図である。信号処理ハードウェア１０６は、信号発生器２０２および出力信号発生器２０６を有してもよい。
【００２３】
信号処理ハードウェア１０６は、計算ノード１０２からサブシステムステータス信号１０４を受け取る。サブシステムステータス信号１０４の例示的なタイミング図を、図４の上部に示す。図４に示すように、サブシステムステータス信号１０４は、ＧＯＯＤ（アップ）状態かまたはＢＡＤ（ダウン）状態にあり得る。たとえば、ＧＯＯＤ状態を、ハイ（論理１）信号によって表してもよく、ＢＡＤ状態を、ロー（論理０）信号によって表してもよい。計算サブシステム１０２が適当に機能している（正しく作用している）場合、サブシステムステータス信号１０４はＧＯＯＤ状態に駆動されなければならない。計算サブシステム１０２が適当に機能していない場合、サブシステムステータス信号１０４はＧＯＯＤ状態に駆動されてはならない。ＧＯＯＤ信号がないことは、システムがＢＡＤ（ダウン）状態であることを意味する。
【００２４】
信号発生器２０２は、デフォルトＢＡＤ（デフォルトダウン）信号２０４を生成する。デフォルトＢＡＤ信号２０４の例示的なタイミング図を、図４の下部に示す。図４に示すように、デフォルトＢＡＤ信号２０４は、非対称の周期信号（単なる論理レベルではない）を含む。たとえば、図示するように、デフォルトＢＡＤ信号２０４は、非対称のトグルパターンかまたはパルス変調された信号を含んでもよい。図４に示すトグルパターンは、１つの可能性を示す単なる例である。かかるトグルパターンを、当業者には既知であるさまざまな電子回路を使用して生成してもよい。
【００２５】
出力信号発生器２０６は、デフォルトＢＡＤ信号２０４およびサブシステムステータス信号１０４を受け取るように構成される。出力信号発生器２０６は、これら２つの信号を使用してノードステータス信号１０８を生成し出力する。
【００２６】
図３は、本発明の一実施形態による出力信号発生器２０６の概略図である。出力信号発生器２０６は、プルダウン要素３０２および論理機能ブロック３０４を有してもよい。
【００２７】
図３に示すように、プルダウン要素３０２は、サブシステムステータス信号１０４を受け取るラインに結合される。計算サブシステム１０２からハイレベル（本実施形態ではＧＯＯＤ）が駆動されない場合、プルダウン要素３０２は、そのラインをローレベル（本実施形態ではＢＡＤ）にする。このため、計算サブシステム１０２がいかなる信号も生成しない場合であっても、サブシステムステータス信号１０４は有利にＢＡＤ状態に対応するレベルにされる。
【００２８】
代替実施態様（インプリメンテーション）では、サブシステムステータス信号１０４のローレベルは、ＧＯＯＤ状態に対応してもよく、ハイレベルは、ＢＡＤ状態に対応してもよい。その場合、プルアップ要素を使用してこの有利な効果を達成してもよい。プルダウンおよびプルアップ回路要素（電圧レベル引上げ／引下げ要素）は、当業者には既知である。
【００２９】
図３に示すように、論理機能ブロック３０４は、サブシステムステータス信号１０４とともにデフォルトＢＡＤ信号２０４を受け取る。一実施形態によれば、論理機能ブロック３０４は、排他的論理和（ＸＯＲ）ゲートを備えてもよい。他の実施形態では、異なる機能を利用してもよい。
【００３０】
論理機能ブロック３０４によって生成されるノードステータス信号１０８の例示的なタイミング図を、図５に示す。これらのタイミング図に対し、論理機能ブロック３０４はＸＯＲゲートであり、ＸＯＲゲートに入力される信号は、図４に示す信号（１０４および２０４）である。
【００３１】
まず、サブシステムステータス信号１０４がＢＡＤ状態に対応する場合に生成されるノードステータス信号１０８を考える。この場合、ＸＯＲゲートは、デフォルトＢＡＤ信号２０４と、サブシステムステータス信号１０４のローレベルと、を受け取り、これらの２つの信号に対し排他的論理和演算を実行する。その結果は、図５の上部に示すノードステータス信号１０８である。この例では、ノードステータス信号１０８は、ＢＡＤ状態を表す周期信号である。より詳細には、ここでは、ノードステータス信号１０８は、デフォルトＢＡＤ信号２０４と同じ周期形式（この例では、トグルまたはパルス変調パターン）である。
【００３２】
次に、サブシステムステータス信号１０４がＧＯＯＤ状態に対応する場合に生成されるノードステータス信号１０８を考える。この場合、ＸＯＲゲートは、デフォルトＢＡＤ信号２０４と、サブシステムステータス信号１０４のハイレベルと、を受け取り、これらの２つの信号に対し排他的論理和演算を実行する。その結果は、図５の下部に示すノードステータス信号１０８である。この例では、ノードステータス信号１０８は、ＧＯＯＤ状態を表す周期信号である。より詳細には、ここでは、ノードステータス信号１０８は、デフォルトＢＡＤ信号２０４の補完体（complement）である異なる周期信号である。
【００３３】
図６は、本発明の一実施形態によるステータスパススルー回路６００の概略図である。この回路６００により、有利に、現ノードがダウンしている場合に、先のノードに対するノードステータス信号１０８が現ノードを通過することができる。
【００３４】
ノードＮに対する信号処理ハードウェア１０６は、ノードＮに対するノードステータス信号１０８を生成する。たとえば、信号処理ハードウェア１０６およびノードステータス信号１０８は、先の図面に関連して上述したようなものであってもよい。
【００３５】
選択回路６０２は、ノードＮのノードステータス信号１０８を受け取る。さらに、選択回路６０２は、ノードＮ−１（クラスタにおける別のノード）からのノードステータス信号１０８を受け取る。選択回路６０２は、２つの信号に対して動作し、ノードＮ＋１（クラスタにおける次のノード）に送信されるステータス出力信号６０４を生成する。一実施形態では、選択回路６０２は、次のノードに（ステータス出力信号６０４を介して）伝える２つのステータス信号のうちの１つを選択するマルチプレクサ（ＭＵＸ）を備えてもよい。ノードＮの計算サブシステム（計算要素）が、先にクラスタから取り除かれている（たとえば、ノード障害、保守または他の理由により）場合、ノードＮ−１からのステータスが渡される。ノードＮの計算サブシステムが、その時点でクラスタによって使用されている場合、ノードＮのステータスが渡される。このように、ノードＮがダウンしている場合であっても、ノードＮ−１のステータスは、有利に、依然としてシステムによって評価される。
【００３６】
ノードＮ−１がダウンしている場合、ノードＮ−１から受け取られるステータス信号は、ノードＮ−２から発生する場合があることを留意されたい。ノードＮ−１およびＮ−２がともにダウンしている場合、ノードＮ−１から受け取られるステータス信号は、ノードＮ−３から発生する場合がある。以下同様である。
【００３７】
図７は、本発明の別の実施形態によるクラスタのノード７００の概略図である。図７におけるノード７００は、図１におけるノード１００と同様である。しかしながら、ここでは、ノード７００は、従来のサブシステムステータス信号１０４に加えてサブシステム低下ステータス信号７０２を生成する。サブシステム低下ステータス信号７０２は、従来のサブシステムステータス信号１０４と結合して、報告された状態を、単純な２値信号から多状態（３状態またはそれより多い）信号に拡張する。
【００３８】
たとえば、サブシステム低下ステータス信号７０２は、計算サブシステム１０２に対するＤＥＧＲＡＤＥＤ状態またはＮＯＴ＿ＤＥＧＲＡＤＥＤ状態を示してもよい。ＤＥＧＲＡＤＥＤ状態を、ノードの１つまたは複数の態様が「標準に達して」実行しておらず、そのためノードがＨＡクラスタから取り除かれる可能性がある場合として定義してもよい。たとえば、以下のルールを使用してもよい。
ルールＤ１：計算サブシステムは、５０％を超える性能を喪失する
ルールＤ２：重大な（severe）（危機的（critical）より１つ下のレベル）シャーシコードが受け取られる
特定のシステムに応じて、これらのルールおよび追加のルールの変形を使用してＤＥＧＲＡＤＥＤ状態を定義してもよい。たとえば、低下状態に入る前の性能率は、５０％とは異なっていてもよい。７５％等、より高くてもよく、２５％等、より低くてもよい。
【００３９】
一実施形態によれば、サブシステム低下ステータス信号７０２は、ノードが低下しているか否かを示す単純なフラグであってもよい。他の実施形態では、複数レベルの低下があってもよい。これらの複数レベルの低下を、低下のレベルの多ビット符号化を使用して実施してもよい。言い換えれば、単一のＤＥＧＲＡＤＥＤ状態のみを有する代りに、ルールにより複数レベルの低下を定義してもよい。複数レベルの低下を使用することは、有利に、ＨＡクラスタリングソフトウェアに対し、クラスタのノードをいかに管理するかに関するその意思決定プロセスのための追加の情報を提供する。たとえば、低下レベルは、喪失性能率によって決まってもよい。
【００４０】
１つの特定の実施形態によれば、ノード低下ステータス信号７０４は、ＨＡクラスタにおける次のノードに低下状態をデジタルに提供するラインのセットを備えてもよい。これらのラインを、抵抗器を用いて引き下げてもよい。一実施態様（インプリメンテーション）は、以下に示すようなものであってもよい。これらのデジタルラインにおける論理０はすべて、ノードがＢＡＤであることを示してもよい。これらのラインにおける論理１はすべて、ノードがＧＯＯＤであることを示してもよい。中間の他の値は、ノードの低下レベルを示してもよく、高い値ほど高度に機能していることを示す。
【００４１】
図８は、本発明の別の実施形態によるステータスパススルー回路８００の概略図である。図８における回路８００は、図６における回路６００と同様である。しかしながら、ここでは、選択回路８０２はまた、ノードＮおよびノードＮ−１からノード低下ステータス信号７０４を受け取る。
【００４２】
選択回路８０２は、入力信号に対して動作し、ノードＮまたはノードＮ−１のいずれかからのＧＯＯＤ／ＢＡＤステータス情報とともに追加の低下ステータス状態を含むステータス出力信号８０４を生成する。有利には、この低下ステータス情報を、クラスタレベルソフトウェアがＧＯＯＤ／ＢＡＤステータス情報に対する「検査」として利用してもよく、それによりステータス情報のセットがより信頼性の高いものになる。
【００４３】
上記開示は、従来技術に対してさまざまな利点を含む。第１に、ノードステータス情報をクラスタに確実に送信する目的で、専用ハードウェアが設計され使用される。これにより、クラスタの高可用性が向上するはずである。第２に、ノードの適当なソフトウェアがアップしておりかつ実行しており、ＧＯＯＤ状態を信号で通知することができる場合にのみ、ＧＯＯＤ状態が送信される。その結果、ハードウェアは、ソフトウェアがダウンしている場合にＧＯＯＤ状態を示さない。第３に、上記開示は、ノードがダウンしているための「ハートビートなし」を、相互接続に障害が発生したことによる「ハートビート喪失」と区別するという問題に対する解決法を提供する。これは、動作しているノードによりＧＯＯＤ信号に変更することができるデフォルトＢＡＤ信号を提供することによって行われる。第４に、上記開示は、低下タイプステータス信号に対し別個の出力を提供し、その結果、かかる低下状態の通信が確実になる。さらに、低下ステータス信号により、クラスタレベルソフトウェアは、「投票方式（voting scheme）」を使用してノードが実際にダウンしているか否かを迅速かつ正確に判断することができる。たとえば、投票方式は、ＧＯＯＤ／ＢＡＤ信号、ＤＥＧＲＡＤＥＤ／ＮＯＴ＿ＤＥＧＲＡＤＥＤ信号およびクラスタが提供する標準イーサネット（登録商標）接続を含む３つの信号を利用してもよい。
【００４４】
ＩＩＩ．ノード除去およびクラスタとの通信のための装置
ＨＡクラスタのノードが、そのノードに対して物理的に保守またはアップグレードを実行するためにオフラインにされなければならない環境がある。かかる保守を、クラスタ動作を過度に中断させることなく実行することが望ましい。より詳細には、クラスタに存在し続けているノードの連続性を維持しながら、ノードをダウンさせ物理的に除去することができることが望ましい。
【００４５】
しかしながら、上述したノードステータスおよび通信に対する改善されたアーキテクチャでは、ノードステータス信号処理は、ループ化されたポイント・ツー・ポイントトポロジーにおける専用リンクを用いて実行される。かかるアーキテクチャにおいて連続性を維持するためには、ノードが、保守またはアップグレードのためにオフラインにされ物理的に除去され操作される場合であっても、そのノードに対するＨＡクラスタハードウェアインタフェースがクラスタ内に存在し続けることが必要である。
【００４６】
図９は、本発明の一実施形態によるノードを除去し他のノードと通信する装置の高レベル図である。装置は、ＨＡクラスタハードウェアインタフェース９０２を含む。各特定のノードＮ１００Ｎとハードウェアインタフェース９０２との間には、接続ハードウェア９０４が含まれる。さらに、ハードウェアインタフェース９０２とＨＡクラスタの他のノード１００との間には、接続ハードウェア９０６が含まれる。
【００４７】
図１０は、本発明の一実施形態によるノードを除去し他のノードと通信する装置の一実施態様（インプリメンテーション）の概略図である。図示するように、ノード１００は、ノードボックス/システム１００２に収容される。ノードボックス/システム１００２は、コネクタ１００４を含む。ノードボックス／システム１００２は、コネクタ１００４がノードステータス信号を渡すように構成される。さらに、電力および／または他の信号もまた、コネクタ１００４を介して渡されてもよい。
【００４８】
ラックの機械的インフラストラクチャ（ラック構造）１００６（相互接続された垂直部材および水平部材を含む）は、ノードボックス／システム１００２を収納し物理的に支持する。ラック構造１００６はまた、ＨＡクラスタハードウェアインタフェース１００８も支持し組み込む。ハードウェアインタフェース１００８は、コネクタ１０１０を有する。ボックス／システム１００２のコネクタ１００４は、ハードウェアインタフェース１００８のコネクタ１０１０と嵌合する。
【００４９】
さらに図１０を参照すると、ＨＡクラスタハードウェアインタフェース１００８およびノード１００が、物理的に別個であるように設計されていることが分かる。ノード１００のシャーシ１００２を、ハードウェアインタフェース１００８を取り除くことなく取り除くことができる。これにより、ハードウェアインタフェース１００８を、ＨＡクラスタにおいて接続されたままにすることができ、それにより上述したポイント・ツー・ポイントループ化通信における連続性が可能になる。
【００５０】
一実施形態では、ＨＡクラスタハードウェアインタフェース１００８を、ラックに直接取り付けられたプリント回路基板として実施してもよい。別の実施形態では、ＨＡクラスタハードウェアインタフェース１００８を、ラックに物理的に取り付けられる別のシャーシ（ノードシャーシより深くないことが好ましい）として実施してもよい。
【００５１】
図１０では、ＨＡクラスタハードウェアインタフェース１００８を、ラックの幅全体およびノードシャーシの高さ全体にわたっているように示す。代替実施形態では、ＨＡクラスタハードウェアインターフェース１００８を、ラックの幅にわたりかつ／またはノードシャーシの高さにわたり部分的にのみ延在するように実施してもよい。かかる実施態様（インプリメンテーション）により、ノードシャーシのための空間が、有利に、ＨＡクラスタハードウェアインタフェース１００８を通過しない、ラックの裏側からの他の接続を有することができる可能性がある。
【００５２】
図１１は、本発明の一実施形態による複数のノードボックスを有する完全なラックレベルの実施態様（インプリメンテーション）の概略図である。図示するように、複数のノード１００は各々、ノードボックス／システム１００２に収容されている。３つのノード（Ａ、ＢおよびＣ）が図示されているが、ノードの数は、３つより多くてもよくまたは３つより少なくてもよい。各ノードボックス／システム１００２は、ノードステータス信号および恐らくは電力および／または他の信号を渡すために利用されるコネクタ１００４を有する。
【００５３】
図１１におけるラック構造１００６は、複数のノードボックス／システム１００２を収納しかつ物理的に支持する複数のラックスロットに対する水平構造を有するように構成されているように示されている。ＨＡクラスタハードウェアインタフェース１００８の複数のコネクタ１０１０が示されており、各ラックスロットはかかるコネクタ１０１０を１つ有する。ボックス／システム１００２の各コネクタ１００４は、ハードウェアインタフェース１００８において対応するコネクタ１０１０と嵌合する。
【００５４】
さらに、ハードウェアインタフェース１００８のコネクタ１０１０の間の「ノード間」接続１０１２が含まれる。これらの接続１０１２を、好ましくは、コネクタ１０１０の隣接するものを相互接続するように構成し、ループ内で閉じられるチェーンを、そのチェーンの２つの端部の間に別の接続１０１２（図示せず）を提供することによって形成してもよい。
【００５５】
保守またはアップグレードのためにノードが除去される場合、接続１０１２のチェーンが分離されないことが有利である。代りに、除去されるノードの両側のチェーンのノードが互いに接続される。同様に、チェーンの２つ以上の隣接するノードが除去される場合、除去されたノードの両側のノードが互いに接続される。
【００５６】
１つのあり得る実施形態では、ＨＡクラスタハードウェアインタフェース１００８は、複数の別々のプリント回路基板を備えてもよく、各基板は、図１０に示すもののようであってもよい。好ましい実施形態では、ＨＡクラスタハードウェアインタフェース１００８は、複数のクラスタノードに対するハードウェアインタフェースを提供する比較的大きいプリント回路基板（バックプレーン）を備えてもよい。
【００５７】
ラック構造１００６の一実施形態は、標準ラックを備えてもよく、その場合、ＨＡクラスタハードウェアインタフェース１００８はそのラック内に後付けされる。別の実施形態では、ラック構造１００６は、特別に設計されたクラスタリングラックを備えてもよい。特別に設計されたクラスタリングラックを、ノードおよびハードウェアインタフェースアセンブリを容易に収容するように構成してもよい。さらに、特別に設計されたクラスタリングラックを、適当なポイント・ツー・ポイント構成においてノードステータス信号および／または他の信号を最適に経路指定する機能を有するように構成してもよい。
【００５８】
上述した実施形態は、有利に、クラスタのノードステータス信号処理ループの連続性を依然として維持しながら、保守またはアップグレードのためにＨＡクラスタノードを物理的に除去しまたは再配置することができる装置を開示する。ハードウェアインタフェースとクラスタノードの各々との間には、ＨＡクラスタハードウェアインタフェースおよび頑強な接続が含まれる。
【００５９】
上述した実施形態は、また、有利に、ＨＡクラスタをラック内で実施することができるようにするラック構造（「ラック内のＨＡクラスタ」）を開示する。ＨＡノードのＨＡクラスタへのホットプラグを可能にする拡張を実施してもよい。
【００６０】
上記説明では、本発明の実施形態が完全に理解されるように多数の特定の詳細を示している。しかしながら、本発明の例示した実施形態の上記説明は、網羅的であるようにも、また本発明を開示した厳密な形態に限定するようにも意図されていない。当業者は、本発明を、特定の詳細のうちの１つまたは複数を用いずに、または他の方法、構成要素等を用いて実施することができる、ということを理解するであろう。場合によっては、本発明の態様を不明瞭にしないように、既知の構造または動作については詳細に示さずまたは説明していない。本明細書において、本発明の特定の実施形態および本発明の例を例示の目的で説明したが、当業者は理解するであろうように、本発明の範囲内でさまざまな等価な変更が可能である。
【００６１】
上記詳細な説明に鑑みて、本発明に対してこれらの変更を行うことができる。添付の特許請求の範囲で使用する用語を、本発明を、明細書および特許請求の範囲で開示する特定の実施形態に限定するように解釈するべきではない。むしろ、本発明の範囲は、特許請求の範囲の解釈の確立された原則に従って解釈されるべきである、添付の特許請求の範囲によって確定されるべきである。
【図面の簡単な説明】
【００６２】
【図１Ａ】本発明の一実施形態による代表的な高可用性クラスタを示す概略図である。
【図１Ｂ】本発明の一実施形態によるクラスタのノードを示す概略図である。
【図２】本発明の一実施形態による信号処理ハードウェアの概略図である。
【図３】本発明の一実施形態による出力信号発生器の概略図である。
【図４】本発明の一実施形態によるサブシステムステータス信号およびデフォルトＢＡＤ信号のタイミング図である。
【図５】本発明の一実施形態によるノードステータス信号のタイミング図である。
【図６】本発明の一実施形態によるステータスパススルー回路の概略図である。
【図７】本発明の別の実施形態によるクラスタのノードの概略図である。
【図８】本発明の別の実施形態によるステータスパススルー回路の概略図である。
【図９】本発明の一実施形態によるノードを除去し他のノードと通信する装置の高レベル図である。
【図１０】本発明の一実施形態によるラックベースの実施態様（インプリメンテーション）の概略図である。
【図１１】本発明の一実施形態による複数のノードボックスを示すラックベースの実施態様（インプリメンテーション）の概略図である。
【符号の説明】
【００６３】
１０・・・高可用性クラスタ
２０・・・ネットワーク
３０・・・通信リンク
１００・・・ノード
１０２・・・計算サブシステム（計算ノード）
１０４・・・サブシステムステータス
１０６・・・信号処理ハードウェア
１０８・・・ノードステータス
２０２・・・信号発生器
２０４・・・デフォルトＢＡＤ信号
２０６・・・出力信号発生器
３０４・・・論理機能ブロック
３０２・・・プルダウン要素
６００・・・ステータスパススルー回路
６０２・・・選択回路
６０４・・・ノードＮ＋１に送信されるステータス出力信号
７００・・・ノード
７０２・・・サブシステム低下ステータス
７０４・・・ノード低下ステータス
８００・・・ステータスパススルー回路
８０２・・・選択回路
８０４・・・ノードＮ＋１に送信されるステータス出力信号
９０２・・・ＨＡクラスタハードウェアインタフェース
９０４・・・ノードＮとハードウェアインタフェースとの間の接続
９０６・・・ＨＡクラスタの残りへの接続
１００２・・・ノードボックス／システム
１００４・・・ノードのコネクタ
１００６・・・ラック構造
１００８・・・ＨＡクラスタハードウェアインタフェース
１０１０・・・インタフェースのコネクタ
１０１２・・・ノード間接続
【図１Ａ】
2006079618.tif 000003
【図１Ｂ】
2006079618.tif 000004
【図２】
2006079618.tif 000005
【図３】
2006079618.tif 000006
【図４】
2006079618.tif 000007
【図５】
2006079618.tif 000008
【図６】
2006079618.tif 000009
【図７】
2006079618.tif 000010
【図８】
2006079618.tif 000011
【図９】
2006079618.tif 000012
【図１０】
2006079618.tif 000013
【図１１】
2006079618.tif 000014