(57)【要約】【課題】  高可用性（ＨＡ）クラスタの堅牢性を高め、クラスタの稼働時間を増やす。【解決手段】  本発明にかかるＨＡクラスタは、複数のコンピューティングノードと、クラスタを管理するように構成されるクラスタ化ソフトウェアとを備え、さらに、各ノードに通信可能に接続された、マイクロプロセッサベースのシステムを備えたスマートカードを備える。また、本発明にかかるＨＡクラスタの対応するノードと併せて使用される装置は、マイクロプロセッサ、制御ソフトウェア、データを対応するノードから受け取るための少なくとも１つの入力チャネル、コマンドを対応するノードに送るための少なくとも１つの出力チャネル、コマンドをＨＡクラスタのクラスタ化ソフトウェアから受け取るための少なくとも１つの入力リンク、および、情報をクラスタ化ソフトウェアに送るための少なくとも１つの出力リンクを備える。【選択図】図１
2006079603.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設計のＭｉｃｒｏｓｏｆｔ  Ｃｌｕｓｔｅｒ  Ｓｅｒｖｅｒ（ＭＳＣＳ）、およびＮｏｖｅｌｌ  Ｎｅｔｗａｒｅ  Ｃｌｕｓｔｅｒ  Ｓｅｒｖｉｃｅｓ（ＮＷＣＳ）が挙げられる。
たとえば、ＭＳＣＳは、２つのＮＴサーバのクラスタ化をサポートして、１つの高可用性サーバを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
高可用性（ＨＡ）クラスタのための装置および方法を改良することが望ましい。
ＨＡクラスタの堅牢性を高めるとともに、かかるクラスタの稼働時間を増やすことが特に望ましい。
【課題を解決するための手段】
【０００７】
本発明の一実施形態は、高可用性（ＨＡ）クラスタシステムに関する。
クラスタは、複数のコンピューティングノードと、クラスタを管理するように構成されるクラスタ化ソフトウェアとを備える。
さらに、クラスタは、各ノードに通信可能に接続された、マイクロプロセッサベースのシステムを備えたスマートカードを備える。
【０００８】
別の実施形態は、高可用性（ＨＡ）クラスタの対応するノードと併せて使用されるようになっている装置に関する。
この装置は、マイクロプロセッサ、制御ソフトウェア、データを対応するノードから受け取るための少なくとも１つの入力チャネル、コマンドを対応するノードに送るための少なくとも１つの出力チャネル、コマンドをＨＡクラスタのクラスタ化ソフトウェアから受け取るための少なくとも１つの入力リンク、および情報をクラスタ化ソフトウェアに送るための少なくとも１つの出力リンクを備える。
【０００９】
別の実施形態は、高可用性クラスタのノードの非稼働状態を識別し、これに対処する方法に関する。
この方法は、ノードからの第１のハートビート信号の伝送をチェックすること、および、ノードのスマートカードからの第２のハートビート信号の伝送をチェックすることの両方を含む。
【００１０】
他の実施形態も開示する。
【発明を実施するための最良の形態】
【００１１】
高可用性（ＨＡ）クラスタの効率または稼働時間は主に、クラスタ内のノードが「非稼働」状態（クラスタにとって有用なコンピューティング機能または記憶機能の実行を停止している）にあることを認識するためにかかる時間量によって影響を受ける。
クラスタ化ソフトウェアは、ノードが「非稼働」であると判断すると、必要なタスクを実行して、クラスタの残りの部分を実行させた状態に保ち、ユーザタスクの中断は殆どない。
【００１２】
不都合なことに、多くの場合、ノードがノード自体のシステム状態を判断し、ＨＡクラスタおよびクラスタ化ソフトウェアに報告するには比較的長い時間がかかる。
従来のクラスタ内の非稼働ノードの判断および報告が遅いことの理由としては以下が挙げられる。
第１に、ノード自体は通常、ノード自体の状態を診断するのに最良のポジションにない。
第２に、使用されるオペレーティングシステムは通常、マルチノードＨＡクラスタ用途のために特に設計されているわけではない。
第３に、クラスタ化に使用される入出力（Ｉ／Ｏ）カード（たとえば、ネットワークカード）は通常、「既製品」カードであり、高可用性環境内での通信に使用するように構成または調整されていない。
第４に、ノードは時に、ノード自体の偽の故障を通知し、その後また元の状態に戻ることがあり、ＨＡクラスタおよびクラスタ化ソフトウェアを困惑または混乱させる。
偽の故障信号の理由としては、イーサネット（登録商標）切断およびハートビートミス（不良ノードの典型的な信号）が、多くのミッションクリティカル環境にとって十分な信頼性がないことが挙げられる。
【００１３】
効率または稼働時間に対するもう１つの大きな影響は、故障ノードが発見された後に切り替えを行うためにかかる時間である。
制御された、または予期された切り替えは、予期しない切り替えよりもはるかに効率的である。
これは、ＨＡクラスタから「なくなった」ノードよりも、実行中のノードからアプリケーションを移動させるほうがはるかに容易であるためである。
【００１４】
本発明は、ＨＡクラスタ内のノードと共にスマートカードを使用することによってＨＡクラスタの堅牢性を高めようと努める。
スマートカードは、ノードのＨＡクラスタ管理を支援する機能を有する。
このようなスマートカードを各ノードに対応して使用することの有利な一態様は、スマートカードが、対応するノードの正確な状態を素早く正確に判断して通信する独立システムとして機能することができることである。
さらに、スマートカードは、素早く是正装置をとり、または開始してクラスタの稼働時間を最大化するように構成することができる。
【００１５】
スマートカードがクラスタの障害点とならないようにするために、ＨＡクラスタおよびクラスタ化ソフトウェアは、非稼働である、または不在のスマートカードを「無視」するように有利に構成することができる。
スマートカードが非稼働である、または脱落した場合、クラスタは、対応するノードを管理する従来の方法に戻ることができる。
【００１６】
図１は、本発明の一実施形態による高可用性クラスタのノード１１０のスマートカード１２０の概略図である。
スマートカード１２０は、マルチノード高可用性クラスタの特定の対応するノード１１０に結合され、この対応するノード１１０と併せて利用される。
【００１７】
本発明の一実施形態によれば、スマートカード１２０は、少なくとも、マイクロプロセッサベースのシステム１２２、コードストリーム入出力（Ｉ／Ｏ）ユニット１２４、およびネットワークＩ／Ｏユニット１２６を備える。
スマートカード１２０は、ノード１１０の電源から独立して動作することができるように、スマートカード自体の電源１２１も有利に備えることができる。
【００１８】
コードストリームＩ／Ｏユニット１２４は、対応するノード１１０からシャーシコードストリームを取り込む、または「スヌーピング」する（１３２）ように構成することができる。
次いで、シャーシコードストリームは、スマートカード１２０を制御するマイクロプロセッサベースのシステム１２２に通信される（１３３）。
一実施形態では、シャーシコードストリームは、対応するノード１１０の動作「健全性」に関連するデータを含む。
【００１９】
ネットワークＩ／Ｏユニット１２６は、対応するノード１１０からのイーサネット出力または他のネットワーク出力を見る、または「スヌーピング」する（１３４）ように構成することができる。
次いで、ネットワーク出力は、スマートカード１２０を制御するマイクロプロセッサベースのシステム１２２に通信される（１３５）。
ネットワーク出力は、クラスタのノードを相互接続するネットワークメッシュまたはネットワーク媒体（イーサネットネットワーク等）にも伝送される（１３６）。
一実施形態では、ネットワーク出力は、ノードが稼働しており、実行中である（ハートビートが存在する場合）か、または非稼働であり、適切に機能していない（ハートビートが存在しない場合）かを示すノードハートビート信号を含むことができる。
【００２０】
マイクロプロセッサベースのシステム１２２は、スマートカードの動作を制御するように構成される。
マイクロプロセッサベースのシステム１２２は、マイクロコントローラ、不揮発性メモリ、および揮発性メモリにより構成することができる。
【００２１】
マイクロプロセッサベースのシステム１２２は、情報を対応するノード１１０と通信するようにさらに構成される。
たとえば、コマンドライン１３８を介してリセットコマンドを通信することができる。
さらに、マイクロプロセッサベースのシステム１２２は、対応するノード１１０からデータを受け取り、また対応するノード１１０にデータを書き込むように構成することができる。
たとえば、インタフェース１４０によってエラー／システムログ情報を、ノード１１０に記憶されているエラー／システムログ１１２から検索することができる。
【００２２】
マイクロプロセッサベースのシステム１２２は、情報をクラスタの残りの部分と通信するようにさらに構成される。
たとえば、マイクロプロセッサベースのシステム１２２は、クラスタから通信リンク１４２によって（たとえば、イーサネット接続によって実施することができる）、そのスマートカード１２０に対する命令またはコマンドを受け取るように構成することができる。
マイクロプロセッサベースのシステム１２２は、状態リンク１４４を介してノード状態信号を伝送し、ハートビート出力ライン１４６を介してハートビート信号を伝送するように構成することもできる。
【００２３】
本明細書に開示する一実施形態では、マイクロプロセッサベースのシステム１２２は、以下のような各種タスクを実行するように構成することができる。
すなわち、
ａ．対応するノードからの、ノードハートビート信号を含めたネットワーク出力を監視すること（１３５を介して受け取られる）
ｂ．対応するノードからのシャーシコード出力の読み出し、記憶、および解析を行うこと（１３３を介して読み出される）
ｃ．対応するノードからのエラー／システムログデータの読み出し、記憶、および解析を行うこと（１４０を介して読み出される）
ｄ．問題が見られる場合、対応するノードをリセットまたは再起動すること（コマンドライン１３８を介してリセットコマンドが送られる）。
ｅ．クラスタレベルソフトウェアによって命令される場合、対応するノードをリセットまたは再起動すること（クラスタ命令は１４２を介して送られる）
ｆ．ノード状態信号（たとえば、良好、不良、または低下状態を示す）をクラスタに送ること（１４４を介して送られる）
ｇ．それ自体（スマートカード）のハートビート信号をクラスタに送ること（１４６を介して送られる）
ｈ．対応するノードが不良になりつつあると判断された場合、ノードからのアプリケーションの移動を要求し、次いでノードをシャットダウンすることにより、またはリセットによって対応するノードを単に素早くシャットダウンすることにより、切り替えを開始すること（コマンドはライン１３８を介して送られる）
ｉ．クラスタソフトウェアから、対応するノードをテストするコマンドを受け取った場合（またはシャーシコードストリームに基づいてノードが「病気」であると判断される場合等、その他の方法でノードをテストする必要があると判断された場合）、ノードを使用から外し、ノードレベル診断を実行し、結果を報告すること
【００２４】
図２は、本発明の一実施形態により、スマートカード１２０からハートビート信号１４６を伝送するループ手順（２００）を示すフローチャートである。
手順（２００）は単に、周期または時間間隔（２０４）毎にハートビート信号をスマートカードから送る（２０２）だけである。
スマートカードのハードビート信号は、そのスマートカードが少なくとも基礎レベルで機能していることを示す。
【００２５】
図３は、本発明の一実施形態により、スマートカード１２０がノード１１０からのイーサネット（または他のネットワーク）信号１３４を処理する手順（３００）を示すフローチャートである。
イーサネット（または他のネットワーク）信号１３４は、ノード１１０から読み出され（３０２）、読み出された信号がノードからのハートビート信号を含むか否かが判断される（３０４）。
ハートビートが見つかった場合、スマートカード１２０は、シャーシコードストリームを処理する手順（４００）に移行することができる。
この手順（４００）については図４に関連して以下で説明する。
【００２６】
一方、ハートビートが見つからなかった場合、Ｎｏｄｅ＿ｂａｄ信号（Ｎｏｄｅ＿ｇｏｏｄ信号またはＮｏｄｅ＿ｄｅｇｒａｄｅｄ信号とは対照的に）をクラスタに送る（３０６）ことができる。
このＮｏｄｅ＿ｂａｄ信号は、ノードのハートビートが非稼働であることを示し、たとえば、図１のリンク１４４を介して送ることができる。
その後、手順（３００）は、ノード１１０がシャーシコードストリームから良好であり、動作可能状態であるように見えるまでループ（３０６、３０８、３１０）に入る。
ループ内では、シャーシコードストリームが読み出される（３０８）。
良好／動作可能状態信号が見つからない場合（３１０）、Ｎｏｄｅ＿ｂａｄ信号が引き続き送られる（３０６）。
良好／動作可能状態信号がシャーシコードストリーム内で見つかる場合（３１０）、スマートカード１２０は戻り、ネットワーク信号を読み出して（３０２）、ノードのハートビートを探す（３０４）。
【００２７】
図４は、本発明の一実施形態により、スマートカード１２０がノード１１０からのシャーシコードストリームを処理する手順（４００）を示すフローチャートである。
シャーシコードストリーム１３３はノード１１０から読み出され（４０２）、コードストリームに基づいてノードの健全性状態が判断される（４０４）。
【００２８】
コードストリームから、健全性状態が良好であると示されると判断される場合（４０６）、スマートカード１２０は、ノード１１０のエラー／システムログを監視する手順（５００）に移ることができる。
この手順（５００）については図５に関連して以下で説明する。
【００２９】
コードストリームから、健全性状態が不良である（すなわち、ノードが故障している）と示されると判断される場合（４０７）、スマートカード１２０はノード１１０をリセットする（４１４）ように構成することができる。
その後、スマートカード１２０は、シャーシコードストリームからノードが良好であり、動作可能状態であると判断される（４１８）まで、ノードが非稼働であることをクラスタに報告する（４１６）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００３０】
本発明の一実施形態によれば、コードストリームからの健全性状態が良好とも不良（故障）とも示されない場合、健全性状態は、少なくとも或るレベルで低下している。
低下状態がしきい値レベルを上回るか否かが判断される（４０８）。
しきい値レベルは、フェイルオーバ手順を開始するに値するほど深刻な低下とフェイルオーバに値するほど深刻ではない低下とを区別するように設定することができる。
【００３１】
低下状態がしきい値レベルを上回る（フェイルオーバが必要ない）場合、Ｎｏｄｅ＿ｄｅｇｒａｄｅｄ信号が生成され、クラスタに送られる（４１０）。
その後、スマートカード１２０は、図５に関連して以下で説明する、ノード１１０のエラー／システムログを監視する手順（５００）に移ることができる。
【００３２】
一方、低下状態がしきい値レベルを下回る（フェイルオーバが必要である）場合、スマートカード１２０はクリーンまたは計画フェイルオーバを開始し（４１２）、ノード１１０上のクリティカルアプリケーションが、クラスタの１つまたは複数の他のノードに移される。
その後、スマートカード１２０はノード１１０をリセットする（４１４）ことができる。
スマートカード１２０は、次いで、シャーシコードストリームからノードが良好であり動作可能状態であると判断される（４１８）まで、ノードが非稼働であることをクラスタに報告する（４１６）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００３３】
図５は、本発明の一実施形態により、スマートカード１２０がノード１１０のエラー／システムログ１１２を監視する手順（５００）を示すフローチャートである。
エラー／システムログ１１２はノード１１０から読み出され（５０２）、ログ１１２の内容に基づいてノードの健全性状態が判断される（５０４）。
【００３４】
ログデータから、健全性状態が良好であると示されると判断される場合（５０６）、スマートカード１２０は、クラスタからの入力を処理する手順（６００）に移ることができる。
手順（６００）については図６に関連して以下で説明する。
【００３５】
ログデータから、健全性状態が不良である（すなわち、ノードが故障している）と示されると判断される場合（５０７）、スマートカード１２０はノード１１０をリセットする（５１４）ように構成することができる。
スマートカード１２０は、シャーシコードストリームから、ノードが良好であり動作可能状態であると判断される（５１８）まで、ノードが非稼働であることをクラスタに報告する（５１６）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００３６】
本発明の一実施形態によれば、ログデータからの健全性状態が良好とも不良（故障）とも示されない場合、健全性状態は、少なくとも或るレベルで低下している。
低下状態がしきい値レベルを上回るか否かが判断される（５０８）。
しきい値レベルは、フェイルオーバ手順を開始するに値するほど深刻な低下とフェイルオーバに値するほど深刻ではない低下とを区別するように設定することができる。
【００３７】
低下状態がしきい値レベルを上回る（フェイルオーバが必要ない）場合、Ｎｏｄｅ＿ｄｅｇｒａｄｅｄ信号が生成され、クラスタに送られる（５１０）。
その後、スマートカード１２０は、図６に関連して以下で説明する、クラスタからの入力を処理する手順（６００）に移ることができる。
【００３８】
一方、低下状態がしきい値レベルを下回る（フェイルオーバが必要である）場合、スマートカード１２０はクリーンまたは計画フェイルオーバを開始し（５１２）、ノード１１０上のクリティカルアプリケーションが、クラスタの１つまたは複数の他のノードに移される。
その後、スマートカード１２０はノード１１０をリセットする（５１４）ことができる。
スマートカード１２０は、次いで、シャーシコードストリームからノードが良好であり動作可能状態であると判断される（５１８）まで、ノードが非稼働であることをクラスタに報告する（５１６）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００３９】
図６は、本発明の一実施形態により、スマートカード１２０がクラスタからのコマンドを処理する手順（６００）を示すフローチャートである。
クラスタからのコマンド入力は、スマートカード１２０によって読み出される（６０２）。
【００４０】
ノードをリセットするコマンドがクラスタレベルソフトウェアから受け取られる場合（６０４）、スマートカード１２０は、ノード１１０をリセットさせる（６０６）ことができる。
スマートカード１２０は、次いで、シャーシコードストリームからノードが良好であり動作可能状態であると判断される（６１０）まで、ノードが非稼働であることをクラスタに報告する（６０８）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００４１】
ノード１１０をテストするコマンドをクラスタレベルソフトウェアから受け取る場合（６０６）、スマートカード１２０は、ノード１１０をクラスタから除外する（６１４）ことに取りかかることができる。
このノード除外（６１４）は、クラスタの別のノードまたは他の複数のノードへのクリティカルアプリケーションのクリーン／計画フェイルオーバを行うことを含むことができる。
次いで、診断テストをノード１１０に対して行う（６１６）ことができ、テスト結果がクラスタレベルソフトウェアに報告される（６１８）。
その後、スマートカード１２０は、ノード１１０をリセットさせる（６０６）ことができる。
スマートカード１２０は、次いで、シャーシコードストリームからノードが良好であり動作可能状態であると判断される（６１０）まで、ノードが非稼働であることをクラスタに報告する（６０８）ように構成することができる。
その後、スマートカード１２０は、図３に関連して上で説明したノード１１０からのネットワーク信号を処理する手順（３００）に戻ることができる。
【００４２】
図６には、クラスタレベルソフトウェアからのリセットコマンドおよびテストコマンドのスマートカード１２０による処理を示すが、他のコマンドをクラスタから受け取り、スマートカード１２０によって処理することも可能である。
【００４３】
図２〜図６には、スマートカード１２０による処理アルゴリズムの特定の一実施態様を示すが、この実施態様への変更は本発明の精神および範囲内で行うことができる。
たとえば、上で説明した実施態様は、図４に従ってシャーシコードストリームを処理し、次いで図５に従ってログデータを処理する。
同じまたは同様の機能を有する別の実施態様は、ログデータを処理し、次いでシャーシコードストリームを処理する。
【００４４】
図７は、本発明の一実施形態によるクラスタレベル手順（７００）を示すフローチャートである。
手順（７００）は、クラスタ内の各ノードの各種信号を監視する。
一実施態様では、クラスタレベルソフトウェアは、クラスタ内のノードを巡る（Ｘ＝１〜ｎｏｄｅｓ＿ｉｎ＿ｃｌｕｓｔｅｒ）ループ（７０１）を実行し、各ノードからの各種信号を監視することができる。
一実施形態では、各ノードＸ毎に、クラスタレベルソフトウェアは、ノードのハートビートを検査し（７０３）、対応するカードのハートビートを検査し（７０４）、ノードの状態信号を検査する（７０５）ことによってノードを監視する（７０２）。
【００４５】
両方（ノードおよびカード）のハートビートがノードＸに関して稼働している場合（７１０）、そのノードをテストすべきか否かが判断される（７１２）。
テストすべきであるという判断は、たとえば、そのノードの低下状態信号を受け取っていることにより、または定期的テストの時間間隔に基づいてトリガすることができる。
テストをノードＸに対して行うべきである場合、クラスタレベルソフトウェアは、ノードＸのスマートカードに、そのノードのテストを開始するコマンドを送る（７１４）。
次いで、ループ（７０１）は次のノードに続くことができる。
【００４６】
ノードＸに関してノードのハートビートは稼働しているが、カードのハートビートは非稼働である場合（７２０）、これは、スマートカードが整備中である（７２２）ことを示す。
いずれの措置も講じる必要はなく、ループ（７０１）は次のノードに続くことができる。
有利なことに、手順（７００）のこの部分は事実上、スマートカードの故障をノードの故障から切り離す。
スマートカードが故障した（または修理中である、または交換中である）場合、クラスタレベルソフトウェアは、ノードのハートビートへの依存に戻り、ノードが依然として動作可能状態であることを示すことができる。
スマートカードがオンラインに戻ると、スマートカードを再び使用して、さらなるノード状態情報を提供することができる。
【００４７】
ノードＸに関してカードのハートビートは稼働しているが、ノードのハートビートが非稼働である場合（７３０）、これは、ノードが非稼働である（７３２）ことを示す。
しかし、関連するカードは稼働しているため、クラスタ化ソフトウェアは、スマートカードが切り替えタスクを正しく行ったかを確認する（７３４）必要があるだけである。
次いで、ループ（７０１）は次のノードに続くことができる。
【００４８】
最後に、両方（ノードおよびカード）のハートビートがノードＸに関して非稼働である場合（７４０）、これは、ノードが非稼働である（７４２）ことを示す。
この場合、関連するカードも非稼働である。
したがって、クラスタ化ソフトウェアは、非稼働ノードに対してクラスタレベル切り替えシーケンスを開始する（４３４）。
次いで、ループ（７０１）は次のノードに続くことができる。
【００４９】
上記の説明では、本発明の実施形態の完全な理解を提供するために多くの特定の詳細が挙げられた。
しかし、本発明の示した実施形態の上記説明は、網羅的、すなわち本発明を開示した厳密な形態に限定する意図はない。
当業者は、特定の詳細の１つまたは複数なしで、または他の方法、構成要素等を使用して本発明を実施することが可能なことを認識するであろう。
場合によっては、既知の構造または動作については、本発明の態様を曖昧にしないように詳細には図示または説明していない。
本発明の特定の実施形態および例について、例示を目的として本明細書において説明したが、当業者により認識されるように、等価の各種変更が本発明の範囲内で可能である。
【００５０】
このような変更は、上記の詳細な説明に鑑みて、本発明に対して行うことが可能である。
添付の特許請求の範囲において使用される用語は、本発明を本明細書および特許請求の範囲において開示する特定の実施形態に限定するものとして解釈されるべきではなく、本発明の範囲は、特許請求の範囲の解釈の確立された教義に従って解釈されるべき添付の特許請求の範囲によって決定されるべきである。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態による高可用性クラスタのノードのスマートカードの概略図である。
【図２】本発明の一実施形態により、スマートカードからハートビート信号を伝送するループ手順を示すフローチャートである。
【図３】本発明の一実施形態により、スマートカードがノードからのイーサネット信号を処理する手順を示すフローチャートである。
【図４】本発明の一実施形態により、スマートカードがノードからのシャーシコードストリームを処理する手順を示すフローチャートである。
【図５】本発明の一実施形態により、スマートカードがノードのエラー／システムログを監視する手順を示すフローチャートである。
【図６】本発明の一実施形態により、スマートカードがクラスタからのコマンドを処理する手順を示すフローチャートである。
【図７】本発明の一実施形態によるクラスタレベルアルゴリズムを示すフローチャートである。
【符号の説明】
【００５２】
１１０・・・ノード，
１１２・・・エラー／システムログ，
１１４・・・イーサネットカード，
１２０・・・高可用性スマートカード，
１２１・・・電源，
１２４・・・コードストリームＩ／Ｏ，
１２６・・・イーサネットＩ／Ｏ，
【図１】
2006079603.tif 000003
【図２】
2006079603.tif 000004
【図３】
2006079603.tif 000005
【図４】
2006079603.tif 000006
【図５】
2006079603.tif 000007
【図６】
2006079603.tif 000008
【図７】
2006079603.tif 000009