(57)【要約】【課題】第１ノードが複数の第２ノードに第２ノードの動作の制御のために接続されている通信システムにおいて、第１ノードの第２ノードの制御能力のボトルネックを解消する。【解決手段】複数の第２ノードが物理的相互接続のトポロジーとは異なる１つ又は複数の論理的相互接続内に配置されていて、第２ノードの各々がその論理的後側の第２ノードへ状態メッセージを送信する手段及びその論理的前側の第２ノードから受信した状態メッセージを監視してその状態を決定する手段を含む。【選択図】図２
2012085339.tif 000002
【特許請求の範囲】
【請求項１】
第１ノード及び複数の第２ノードを含み、第１ノードが複数の第２ノードに接続されていて第２ノードの動作を制御し、複数の第２ノードが物理的相互接続されている通信システムであって、
複数の第２ノードが１つ又は複数の論理的相互接続内に配置されており、１つ又は複数の論理的相互接続のトポロジーが物理的相互接続のトポロジーとは異なり、
第２ノードの各々が、その論理的後側第２ノードへ状態メッセージを送信する手段及びその論理的前側第２ノードから受信した状態メッセージを監視してその状態を決定する手段を含んでいる通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム（分散計算システムを含む）の分野に関し、さらに詳細には、このような通信システムにおけるノード（又はコンピュータ）の障害処理のシステムに関する。
【背景技術】
【０００２】
分散計算システムにおいては、複数の相互接続されたコンピュータの各々がアプリケーション・プログラムの部分を実行する。アプリケーション・プログラムの全体は、複数の相互接続されたコンピュータ上で同時に実行される分散ソフトウェア・システムにより実現される。コンピュータは通信システム（例えば、インターネット・プロトコル（ＩＰ）ネットワーク内のホスト）により相互接続されるノードを形成する。柔軟性の有る分散システムでは、１つ又は複数のコンポーネント・コンピュータの障害は、アプリケーションにより許容でき、そして別のコンピュータ（例えば、全く不使用の予備又は予備の能力を持つ現在使用中のコンピュータ）に置換えられて、それが分散計算システムで障害を発生したコンピュータの役割を引き継ぐことができるように適当なコード及びデータをロードすることにより、回復できる。従って、柔軟性の有る分散計算システムの構成は変化をし、マネージメント・システムにより制御される。
【０００３】
典型的に遠隔のコンピュータに位置するマネージメント・システムは、分散アプリケーションを実行するコンピュータのオペレーションを監視し、そして、分散アプリケーション自身のオペレーションを監視する責任を有する。マネージメント・システムは、分散アプリケーションを実行するコンピュータの集まりの中にどんな新しいコンピュータを導入すること（例えば、全体の処理能力を増大するために）、及び必要ならばこの集まりからコンピュータを引退させること（例えば、ハードウェアのアップグレード又は置換えのために）、に関与する。マネージメント・システムはまた、分散アプリケーションの構成に関与し、そしてどのコンピュータが特定の処理タスクに割当てられるか及びどのようにコンピュータの集まりの中で処理負荷が分配されるかを制御する。このコンピュータの集まりの中の１つコンピュータが障害を発生した時、マネージメン・システムはこれを通知して、そしてこれを考慮してコンピュータ及び分散アプリケーションを再構成しなければならない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−８２０５３号公報
【特許文献２】特開平２−５２５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、このような分散システムにおいて、コンピュータの障害を効率的に検知する必要性がある。この問題への１つの可能な解決は、マネージメント・システムがインターネット・コントロール・メッセージ・プロトコル（ＩＣＭＰ）エコー要求メッセージを送ることにより、アプリケーション・コンピュータの各々を定期的に「ピング」することである。ＩＣＭＰがメッセージ配達内にエラーを報告し、トラフイックを再度向け直する等のために使用される。ＩＣＭＰエコー要求メッセージ（普通、「ピング」として知られている）は、受取ったコンピュータが直ちにＩＣＭＰエコー・メッセージ（「ピング応答」）で返事をすることを要求する。これは、遠隔のコンピュータが合理的に正しく機能しているかどうか、そして、このような遠隔のコンピュータに使用できるネットワーク経路が利用可能であるかどうか（すなわち、コンピュータがその到達を必要としているどんな他のコンピュータへ到達するために使用可能な経路をアクセスできるかどうか）を決定する使用される。ＩＰインターフェイスが機能しているコンピュータは、これらのメッセージに対してＩＣＭＰエコー返答メッセージで応答することが要求される。これは、オペレーティング・システムの低レベルで生じ、そして、コンピュータが動作しているか否かを見るために普通に使用される。インターネット・エンジニアリング・タスク・フォース発行ＲＦＣ１１２２「ホスト要件」１９８９年１０月は、ＩＣＭＰ動作を記載している（３．２．２．６節、４２−４３頁参照）。
【０００６】
これらのメッセージを頻繁に送ることにより（例えば、１秒間に複数回）、マネージメント・システムはアプリケーション・コンピュータの各々が機能していことを確証する。もし、応答が期限内に受信されない場合、これはコンピュータが障害を発生したかもしれないことを示す。しかし、メッセージはネットワーク内で失われることがあり、これは完全な信頼性がない。もし、いくつかの応答が到着しない場合、コンピュータ障害はより大きい自信でもって予測できるであろう。しかし、ネットワーク障害の可能性があり、そして回復プロセスの一部として探査されるべきである。もし、障害を起こしたと疑われるコンピュータの近辺のコンピュータからの応答が受信される場合、障害は疑わしいコンピュータ内にあることが合理的に想像される。一方、いくつかの近辺のコンピュータからの応答が受信されない場合は、ネットワーク自身が障害を有すると想像することが合理的である。
【０００７】
アプリケーション・コンピュータがマネージメント・システムにより「ピング」（ＩＣＭＰエコー要求メッセージ）されるのではない、代替的な解決はアプリケーション・コンピュータ自身が定期的にまだ稼動していることを知らせるメッセージ（必ずしも、ＩＣＭＰメッセージでない）をマネージメント・システムに送ることである。再度、このように記載されたメッセージのいくつかが来ないとアプリケーション・コンピュータの障害を示すことになる。
【０００８】
困ったことに、上記の両解決は同じ問題を有する。すなわち、各アプリケーション・コンピュータの負荷は大変小さいが、マネージメント・システムはアプリケーション・コンピュータ（この数は大きくなり得る）の各々とネットワーク・トラフイックを交換しなければならないため、ずっと大きな負荷をこうむる。このトラフイックは、マネージメント・システムが他の仕事を実行するための能力を低下させ、そして全体システムの大きさを制約する重要な要素となり、若しくは障害回復が所望よりも長い時間を要する重要な要素となるであろう。
【課題を解決するための手段】
【０００９】
本発明は、第１ノード及び複数の第２ノードを含む通信システムを提供する。第１ノードは第２ノードの動作を制御するために複数の第２ノードに接続されている。複数の第２ノードは物理的相互接続されている。複数の第２ノードは１つ又は複数の論理的相互接続内に配置されていて、１つ又は複数の論理的相互接続のトポロジーは物理的相互接続のトポロジーとは異なる。第２ノードの各々は、状態メッセージをその論理的後側第２モードに送信するための手段及びその論理的前側第２ノードから受取った状態メッセージを監視してその状態を決定するための手段を含む。
【００１０】
好適な実施の形態によれば、本発明は、第２ノードの各々がその論理的前側第２ノードへそれからの状態メッセージを要求するための制御メッセージを定期的に送信する手段と、その論理的後側ノードからの制御メッセージの受信を検知して検知された受信された制御メッセージに応答してその論理的後側ノードへ状態メッセージを送信する手段とを含んだシステムを提供する。
【図面の簡単な説明】
【００１１】
【図１】従来技術による分散計算システムを示す図。
【図２】本発明による論理的リング内に配置された分散計算システムを示す図。
【図３】本発明による双方向論理的リングを示す図。
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態を添付図面を参照しながら、一例として説明する。
【００１３】
図１は、ＩＰネットワークを示し、ここではマネージメント・システム（すなわち、マネージメント・コンピュータ上で実行されるソフトウェア・システム）がマネージメント・ノード１に設けられていて、そして各々が複数の第２ノード２の異なる１つに設けられた複数のアプリケーション・コンピュータに、ＩＰネットワーク３により接続されている。ＩＰネットワークは、例えば、星、ツリー、バス又はメッシュ構成、あるいは、例えば、無線ネットワークの場合の無定形的に配置された接続媒体（例えば、銅、光ファイバーあるいは無線）を含む。実際には、ＩＰネットワークは典型的に、これらの媒体の構成のいくつか又は全てが一緒に接続された組合せである。
【００１４】
図２は、図１のシステムと同じ物理的トポロジーを持った分散計算システムである。しかし、第２ノード２は今度は矢印４に示されるように論理的リング内に配置されている。矢印４は論理的リング内の状態メッセージの流れる方向を示す。
【００１５】
図２において、コンピュータの物理的配置及び接続は図１のそれから変更されていない。しかし、第２ノードの各々のアプリケーション・コンピュータは状態メッセージを送信することが要求されるその論理的後側（すなわち、論理的リング内で矢印４方向に並んだ次ぎのコンピュータ）を知り、それが状態メッセージを受取ることを期待するその論理的前側（すなわち、論理的リング内で反対方向に並んだ次ぎのコンピュータ）を知ることができるように、マネージメント・システムにより構成されたソフトウェアによりアプリケーション・コンピュータの各々は修正されている。論理的リング・トポロジー（すなわち、コンピュータ間の論理的接続の構成）は、物理的トポロジー（すなわち、コンピュータ間の物理的接続の構成）とは異なっていることに注意する。
【００１６】
図２の実施の形態によれば、各アプリケーション・コンピュータは定期的にリング内のその論理的前側にＩＣＭＰエコー要求メッセージを送り、そしてそこからのＩＣＭＰエコー応答メッセージを待つ。応答は、論理的リング内でエコー要求メッセージの流とは反対向きに送られる。もし、有効な応答が所定の時間内に受信された場合、全てが順調である。もし、そうでなければ、ＩＣＭＰエコー要求メッセージを送信したコンピュータはマネージメント・システム（適当なプロトコルを使用して）にその前側ノードが障害を起こしたようであることを通知する。この適当なプロトコルは、例えば、インターネット・エンジニアリング・タスク・フォースにより発行されたＲＦＣ１１５５「マネージメント情報の構造（ＳＭＩ）」１９９０年５月及びＲＦＣ１１５７「シンプル・ネットワーク・マネージメント・プロトコル（ＳＮＭＰ）」１９９０年５月のシンプル・ネットワーク・マネージメント・プロトコル（ＳＮＭＰ）であり、特に、そのプロトコルの「トラップ」操作がマネージメント・コンピュータによりマネージメント・システムの注意を引くために、そして選択的にある興味有るデータをマネージメント・システムに配達するために使用される。このように、各アプリケーション・コンピュータが別の特定のアプリケーション・コンピュータに対する監視者として動作し、そしてコンピュータはそれ自身の障害をマネージメント・システムに警告するためのメッセージの発生はできないが、正常に機能しているその監視者がそのようなメッセージを発生できる。マネージメント・システムはまた、「登録」プロトコルを実行する（典型的には、ＳＮＭＰを使用して）。これにより、新規に開始されたホスト・コンピュータにリング内の彼らの場所を知らせ、そしてリング内の既存のホストの前側−後側関係を調節して、新ホストの登場及び既存のホストの制御された引退（例えば、ハードウェア・アップグレード又は置換え）の両方を容易にする。このプロセスは、これらのホスト・コンピュータ上の分散アプリケーションの開始及び停止と密接に同期している。
【００１７】
有利的に、本発明はマネージメント・システムへ周期的に監視メッセージを送信するルーチンを回避する。事実、全てのノードが動作している時（ほとんど、いつも）、マネージメント・システム上には余分な負荷がない。従って、より安くてパワフルでないコンピュータがこのマネージメント役割のために完全に十分に使用できる。
【００１８】
本発明によるネットワークは、全体として見れば、従来の解決法と同数のメッセージを運んでいる。しかし、実際は、ネットワークはいくつかの「ローカル」サブネットワークから構成されていて、この場合の仮想リング回りのトラフイックはそれが発生した同じサブネットワーク内で終了し、そしてこれらサブネットワーク間で均等に分配されているトラフイックから主としてなる。結果として、ネットワーク回りのトラフイック負荷は大いに改良される。従って、ＩＰネットワークの構造及び通信システム内のネットワーク下部のそれらの支持により、本発明による要求メッセージ及び対応する応答の大部分は＜典型的に、全体のＩＰネットワークの一部に限定され、そしてＩＰネットワークの他の部分のネットワーク・インフラストラクチャー又は他のコンピュータに僅かな負荷又は負荷を課さない（各アプリケーション・コンピュータからの全ての障害検知トラフイックが単一点、すなわち、マネージメント・システム、に集中しなければならなかった従来の解決法とは異なる）。
【００１９】
この理由のため、システムは全体として規模が可変である。一方、従来の解決法はマネージメント・システムに性能のボトルネックを有していた。これは、能力のボトルネックに達した時、全システムはそれ以上は成長できなかったことを意味する。本発明によるシステムにおいては、各コンピュータは小さな障害−検知関連負荷しか有さず、アプリケーション・コンピュータの数によってコンピュータ当りの負荷は大きくならないので、システムの大きさのこのような限界は存在しない。
【００２０】
図３に示される本発明の別の実施の形態によれば、矢印４、５に示されるように、論理的リングは双方向的に動作する。図３の実施の形態によれば、各アプリケーション・コンピュータは周期的にリング内のその論理的前側及び論理的後側の両方にＩＣＭＰエコー要求メッセージを送って、それらからのＩＣＭＰエコー応答メッセージを待つ。応答は典型的には、論理リング内を対応するエコー要求メッセージの方向とは反対向きに送られる。図３から理解されるように、別のノードに論理的に隣接した（論理的リング内で）両ノードがその別のノードを監視して、それが障害を発生したかどうかを検知する。もし、ノードの障害が発生した場合、論理的に隣接したノードが独立にマネージメント・システムに通知する。このようにして、この実施の形態では、マネージメント・システムが実際のノード障害とは異なる単なるメッセージ損失を容易に区別できるため、信頼性を増すことができるという利点を有する。
【００２１】
別の実施の形態によれば、同じ別のノードを検査している２つのノード間の通信が、マネージメント・システムに通知する前に、この別のノードの状態をより大きな自信でもって確立することを可能にする。
【００２２】
別の実施の形態によれば、第２ノードの各々がアプリケーション・データを含み、そしてアプリケーション・メッセージが分散システムの部分の障害の際にデータ損失に対する保護方法として、ノード間でアプリケーション・データを転送するために使用される。この実施の形態によれば、ＩＣＭＰではなくアプリケーション・メッセージが宛先ノードからの応答を要求するために使用され、そして通常は宛先ノードにより論理的リング構造を使用して承認される。もし、ある時間間隔にわたりデータ交換される必要が無い場合（すなわち、もし、状態の変化がない場合）、ナルアプリケーション・メッセージ又は従来のエコー要求が送られる。
【００２３】
要求メッセージを送信して有効な応答を待つ代わりに、各ノードは単に規則的に状態メッセージをその上記の論理的後側へ送信して、そしてその論理的前側から受信された状態メッセージを監視することができる。
【００２４】
状態メッセージは、発生したノード状態に関連した情報を含んでよく、又は、代替的に、状態メッセージの単なる到着をその発生ノードの状態の指示として使用してもよい。
【００２５】
論理的リングの構造及び、特に、論理的リングの回りに配置される第２ノードの順序は、ノードの物理的配置及び相互接続により一切制限されない。
【００２６】
本発明の別の実施の形態によれば、複数の第２ノードはリング以外の形、すなわち、メッシュ又は他の構成のある形、の論理的相互接続で構成できる。そして、各第２ノードに対する論理的後側及び論理的前側の識別は、論理的相互接続の設定の際に割当てられる。論理的相互接続のトポロジー（すなわち、コンピュータ間の論理的接続の配置）は物理的トポロジーとは異なる。
【図１】
2012085339.tif 000003
【図２】
2012085339.tif 000004
【図３】
2012085339.tif 000005