(57)【特許請求の範囲】
【請求項１】
分散コンピューティング環境におけるトポロジ伝達方法であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記方法が、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含む、トポロジ伝達方法。
【請求項２】
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含む、請求項１に記載のトポロジ伝達方法。
【請求項３】
前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含む、請求項２に記載のトポロジ伝達方法。
【請求項４】
分散コンピューティング環境におけるトポロジ伝達方法であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記方法は、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記方法は、
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含み、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含む、トポロジ伝達方法。
【請求項５】
ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用する、請求項４に記載のトポロジ伝達方法。
【請求項６】
前記グループ接続関係メッセージを送信するステップが、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信するステップと、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送するステップと
をさらに含む、請求項４に記載のトポロジ伝達方法。
【請求項７】
前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信することに応答する、
請求項６に記載のトポロジ伝達方法。
【請求項８】
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含む、請求項６に記載のトポロジ伝達方法。
【請求項９】
前記グループ接続関係メッセージの送信を再開するステップが、
前記分散コンピューティング環境内で前記トポロジの変化を確認するステップ
を含み、
前記確認するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含む、請求項８に記載のトポロジ伝達方法。
【請求項１０】
分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含む、トポロジ伝達方法。
【請求項１１】
分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信するステップ、前記停止するステップ、および、前記再開するステップを実現するステップ
をさらに含む、トポロジ伝達方法。
【請求項１２】
分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージの送信を開始するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含む、トポロジ伝達方法。
【請求項１３】
分散コンピューティング環境におけるトポロジ伝達システムであって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージを送信する手段が、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信する手段であって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信する手段と、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送する手段と
を含む、トポロジ伝達システム。
【請求項１４】
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証する手段をさらに含む、請求項１３に記載のトポロジ伝達システム。
【請求項１５】
前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含む、請求項１４に記載のトポロジ伝達システム。
【請求項１６】
分散コンピューティング環境におけるトポロジ伝達システムであって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記トポロジ伝達システムは、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証する手段と
を含み、
前記グループ接続関係メッセージを送信する手段が、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信する手段であって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信する手段と、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上の第２のノードのグループに転送する手段と
を含む、トポロジ伝達システム。
【請求項１７】
ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用する、請求項１６に記載のトポロジ伝達システム。
【請求項１８】
前記グループ接続関係メッセージを送信する手段が、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信する手段と、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送する手段と
をさらに含む、請求項１６に記載のトポロジ伝達システム。
【請求項１９】
前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信したのに応答している、
請求項１８に記載のトポロジ伝達システム。
【請求項２０】
前記グループ接続関係メッセージの送信を停止する手段が、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止する手段
を含む、請求項１８に記載のトポロジ伝達システム。
【請求項２１】
前記グループ接続関係メッセージの送信を再開する手段が、
前記分散コンピューティング環境内で前記トポロジの変化を確認する手段
を含み、
前記確認する手段が、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信する手段、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信する手段、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認する手段、または、
ローカルのアダプタが使用不可になっているのを確認する手段、
のうちの少なくとも１つを含む、請求項２０に記載のトポロジ伝達システム。
【請求項２２】
分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージの送信を停止する手段が、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止する手段
を含む、トポロジ伝達システム。
【請求項２３】
分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信する手段、前記停止する手段、および、前記再開する手段を実現する手段をさらに含む、トポロジ伝達システム。
【請求項２４】
分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認したときに、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージの送信を開始する手段が、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信する手段、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信する手段、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認する手段、または、
ローカルのアダプタが使用不可になっているのを確認する手段、
のうちの少なくとも１つを含む、トポロジ伝達システム。
【請求項２５】
分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含むプログラムを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
【請求項２６】
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含むプログラムを有形的に組み込んだ請求項２５に記載の、少なくとも１つのプログラム記憶装置。
【請求項２７】
前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含むところのプログラムを有形的に組み込んだ請求項２６に記載の、少なくとも１つのプログラム記憶装置。
【請求項２８】
分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップを含むプログラムと、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークのノードの第２のネットワーク上の第２のグループに転送するステップと
を含むプログラムとを有形的に組み込んだ請求項２６に記載の、少なくとも１つのプログラム記憶装置。
【請求項２９】
ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用するプログラムを有形的に組み込んだ請求項２８に記載の、少なくとも１つのプログラム記憶装置。
【請求項３０】
前記グループ接続関係メッセージを送信するステップが、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信するステップと、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送するステップと
をさらに含むプログラムを有形的に組み込んだ請求項２８に記載の、少なくとも１つのプログラム記憶装置。
【請求項３１】
前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信することに応答するところのプログラムを有形的に組み込んだ請求項３０に記載の、少なくとも１つのプログラム記憶装置。
【請求項３２】
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含むプログラムを有形的に組み込んだ請求項３０に記載の、少なくとも１つのプログラム記憶装置。
【請求項３３】
前記グループ接続関係メッセージの送信を再開するステップが、
前記分散コンピューティング環境内で前記トポロジの変化を確認するステップ
を含み、
前記確認するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含むプログラムを有形的に組み込んだ請求項３２に記載の、少なくとも１つのプログラム記憶装置。
【請求項３４】
分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含むプログラムを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
【請求項３５】
分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信するステップ、前記停止するステップ、および、前記再開するステップを実現するステップ
をさらに含むプログラムとを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
【請求項３６】
分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージの送信を開始するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含むプログラムとを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、通信ネットワークに関し、特に、分散コンピューティング環境が定常状態のときにはトポロジ伝達機構がメッセージ通信を生成しない、分散コンピューティング環境における様々なノードで共通ネットワーク・トポロジ・データベースを維持する手法に関する。
【０００２】
【従来の技術】
通信ネットワークは、一般に、通信リンク（すなわち伝送グループ）を通じて相互接続されたネットワーク・ノードとエンド・ノードの集合体として定義することができる。ネットワーク・ノードは、自身と隣接する（あるいは近隣の）ノードとの間でメッセージをルーティングする、ネットワーク・ノードとエンド・ノードとの間を伝送すべきメッセージ用に経路選択を行なう、接続しているエンド・ノードにディレクトリ・サービスを備え付ける、といったネットワーク内のある種の機能を提供するデータ処理システムとして特徴付けることができる（ディレクトリ・サービスとは、ネットワーク上の装置がサービスの提供先を判断することができるようにするサービスのことである）。ノード間のリンクには、既存のケーブル接続など永続的な通信リンク、あるいは、ダイヤルアップ電話接続など必要なときだけ使用可能なリンクを用いることができる。エンド・ノードの例としては、ネットワークの他のノードにルーティング（すなわち経路選択）あるいはディレクトリ・サービスを提供しないディスプレイ端末、インテリジェント・ワークステーション、プリンタなどが挙げられる。ネットワーク・ノード、エンド・ノード、およびノード間にある伝送グループは、一括して、ネットワーク資源と呼ばれている。ネットワークにおける様々なノードとリンク（およびそれらの状態）の物理的な構成と特徴は、ネットワークのトポロジ（接続形態）と呼ばれている。
【０００３】
どのようなネットワークでも、任意の２つのノード間でメッセージを伝送することができるようになるまでには、接続を確立するのに責任のある人間のオペレータ（あるいはデータ処理装置）は、ネットワーク・トポロジに関する適切かつ最新のファイル（あるいはデータベース）を必要とする。
【０００４】
トポロジ・データベースを維持する作業を、人間の関与をなくしてネットワーク機器に任せてしまうという試みがなされたが、それはうまくいった。たとえば、通信制御機能を実行している各プロセッサは、自身が管理している資源の状態の変化を他のプロセッサに通知することができる。当該他のプロセッサは、これらのトポロジ更新メッセージを使ってネットワーク・トポロジ・データベースの自分用のコピーを修正あるいは変更する。
【０００５】
分散コンピューティング・システムでは、当該システムを構成するノードに複数のネットワークが接続していることがある。この場合、全てのノードが全てのネットワークに接続されていなくともかまわないし、また、同じネットワークに接続されていない任意の２つのノードの間にメッセージを伝送するのに複数の「ホップ（ｈｏｐ）」（ノードとノードとの間のこと）を必要としてもかまわない。このことをなしとげるためには、当該システム内の全てのノードが現在のグローバル・ネットワーク・トポロジを知っている必要がある。トポロジ情報には、当該システムの各ネットワークに接続されているノードとネットワーク・アダプタ（単にアダプタともいう）の集合が含まれるとともに、ダウンしている（正常に動作していない）アダプタとネットワークの集合も含まれる。このトポロジ情報は、ノード、ネットワーク、あるいはネットワーク・アダプタが故障するか電源投入されるかする度ごとに変化する。各ノードは、グローバル・ネットワーク・トポロジを使って、到達可能なノードと各到達可能なノードまでの経路との集合を算出することができる。
【０００６】
当技術分野では、分散コンピューティング・システムの全てのノードにグローバル・トポロジ情報を広告するための高度な手法が求められている。特に、システムが定常状態にあるとき、すなわち、ノードまたはネットワーク・アダプタが故障していないし電源投入中でもないときには、分散コンピューティング環境内でトポロジ・メッセージを伝達しないようにした、高度なトポロジ伝達手法が求められている。この高度な手法は、明示的な肯定応答（ＡＣＫ）メッセージを使わないで行なうのが望ましい。本発明は、このようなトポロジ伝達手法を提供することを目指している。
【０００７】
【課題を解決するための手段】
要するに、本発明は、一側面において、分散コンピューティング環境におけるトポロジ伝達方法を包含している。このトポロジ伝達方法は、
分散コンピューティング環境内の少なくとも１つのグループ・リーダーから少なくとも１つの、ノードのグループの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内にトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内に生じたトポロジの変化を確認したときに、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を備えている。
【０００８】
別の側面では、本発明は、分散コンピューティング環境におけるトポロジ伝達システムを包含している。このトポロジ伝達システムは、
分散コンピューティング環境内の少なくとも１つのグループ・リーダーから少なくとも１つの、ノードのグループの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内にトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内に生じたトポロジの変化を確認したときに、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を備えている。
【０００９】
さらに別の側面では、本発明は、分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置を包含している。上記トポロジ伝達方法は、
分散コンピューティング環境内の少なくとも１つのグループ・リーダーから少なくとも１つの、ノードのグループの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内にトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内に生じたトポロジの変化を確認したときに、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を備えている。
【００１０】
繰り返し述べるが、ここで提供するものは、トポロジ伝達機構である。
このトポロジ伝達機構は、当該トポロジ伝達機構を使う分散コンピューティング環境が定常状態にあるときには、メッセージ通信を生成しない。上記分散コンピューティング環境が定常状態にあるのは、故障している、ノード、ネットワーク・アダプタ、またはネットワーク接続がないとき、あるいは、起動中の、ノード、ネットワーク・アダプタ、またはネットワーク接続がないときである。上記トポロジ伝達機構は、トポロジ・メッセージに対して明示的な肯定応答（ＡＣＫ）メッセージを使うことなく、達成されている。ここで提示するトポロジ伝達手法は、２ノードのリンクを想定している既存のトポロジ伝達手法と異なり、複数のネットワークと複数のアダプタを備えた分散コンピューティング環境で機能するものである。さらに、ここで提示するトポロジ伝達手法は、信頼性のないネットワークでも良好に機能する、すなわち、エンド・ツー・エンドの肯定応答（ＡＣＫ）を必要とせずに良好に機能する。また、ここで提示するトポロジ伝達方法によれば、分散コンピューティング環境内で起動中のノードに、ネットワーク・トポロジを自動的に配送することができる。
【００１１】
本発明の手法を通じて、新たな機能と利点が実現する。本発明の他の実例と側面は、以下で詳細に説明するが、特許請求の範囲に記載した発明の一部であると考えられる。
【００１２】
【発明の実施の形態】
一般的に述べると、ここで提供するものは、複合的な通信ネットワークから成る不均質な環境を含む分散コンピューティング環境中の全てのノードにグローバル・トポロジ情報を広告する機構である。この機構によって、各ノードは、ダウンしているのはどのネットワーク・アダプタであるのか、区分されたネットワークに属しているのはどのノードであるのか、といったシステム・トポロジのグローバルなビュー（図形を見る視点）を獲得することができる。グローバル・トポロジが変化するのを止めると、システム内の全てのノードは、すぐに、互いに一致したトポロジのビューをもつようになる。システムが定常状態にある場合、すなわち、故障している、あるいは当該環境に付加されたノードやネットワーク・アダプタがない場合、トポロジ伝達メッセージは送信されない、というのは有利なことである。さらに、トポロジの伝達は、明示的な肯定応答（ＡＣＫ）トポロジ・メッセージを使うことなく、行なわれる。
【００１３】
ここで用いているように、各ネットワークは、グループ・リーダー（ｇｒｏｕｐ  ｌｅａｄｅｒ：  ＧＬ）として選ばれたノードを有するアダプタ・メンバーシップ・グループ（ａｄａｐｔｅｒ  ｍｅｍｂｅｒｓｈｉｐ  ｇｒｏｕｐ：  ＡＭＧ）を形成している。グループ・リーダー（ＧＬ）とグループ・メンバーは、互いに対してトポロジ伝達メッセージを送信する。これらのトポロジ伝達メッセージは、要すれば、あるネットワークから別のネットワークに転送する。分散コンピューティング環境に変化がないときにトポロジ伝達メッセージが交換されないように、停止基準を適用している。また、分散コンピューティング環境に変化があるときにトポロジ伝達メッセージの交換を再開するために、再開基準も存在する。
【００１４】
ここでは、インターナショナル・ビジネス・マシーンズ・コーポレーション（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎ  ）の「高信頼拡張容易クラスタ技術」（ＲＳＣＴ）トポロジ・サービス（”Ｒｅｌｉａｂｌｅ  Ｓｃａｌａｂｌｅ  Ｃｌｕｓｔｅｒ  Ｔｅｃｈｎｏｌｏｇｙ”  （ＲＳＣＴ）  Ｔｏｐｏｌｏｇｙ  Ｓｅｒｖｉｃｅｓ  ）の文脈でトポロジ伝達機構を説明している（「ＲＳ／６０００高可用性インフラストラクチャ」ＩＢＭ出版物第ＳＧ２４−４８３８−００「レッドブック」１９９６年〔”ＲＳ／６０００  Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ，”  ＩＢＭ  Ｐｕｂｌｉｃａｔｉｏｎ  Ｎｏ．  ＳＧ２４−４８３８−００（”Ｒｅｄｂｏｏｋ”）  １９９６〕参照）。ＲＳＣＴトポロジ・サービスは、分散コンピューティング・システムにおけるノードとネットワーク・アダプタの健全性をモニタする任に当たるサブシステムである。このサブシステムは、ＩＢＭ  ＲＳ／６０００ＳＰシステム内に、あるいは、ＲＳ／６０００マシンから成るネットワーク内に存在している。このサブシステムは、ノードの故障などネットワーク・トポロジの変化に反応する必要のある分散アプリケーション用の基礎として使われている。
【００１５】
図１は、符号１０で一般的に示す分散コンピューティング環境の一例を示す図であり、複数のネットワーク１４と交差する複数のノード１２の間の物理的な接続関係を示している。各ノード１２は、固有のネットワーク・アダプタ１６と交差する異なったネットワーク１４に接続されている。図１に示すように、ノード１２が異なると、備えることのできるネットワーク・アダプタの数が異なるとともに、接続されるネットワーク１４も異なる。分散コンピューティング環境１０では、各ノードは、共用ネットワークを通じて直接に、あるいは、両者に共通なノードを介して一方のネットワークから他方のネットワークへ「ホッピング（ｈｏｐｐｉｎｇ）」することにより、他のノードと互いに対話することができる。分散コンピューティング環境１０は、伝送中にメッセージが紛失しうるという点で信頼できないコンピューティング環境であるとみなされている。
【００１６】
留意すべきは、１つのノードは複数のアダプタを備えており、各アダプタは別々のネットワークに接続されている、という点である。（ネットワークは少なくとも１つのサブネットから構成されていてもよい。また、ネットワークは他のネットワークに接続されていてもよいし、そうでなくてもよい）。各「アダプタ・メンバーシップ・グループ（ＡＭＧ）」は、互いに交信することのできる、ネットワーク内の全ての「動作している（ｕｐ）」アダプタから構成されているので、１つのノードにある各アダプタは、それが「動作している（ｕｐ）」場合には、別の「アダプタ・メンバーシップ・グループ（ＡＭＧ）」の一員になることができる。
【００１７】
論理的には、ネットワークのグループ・リーダー（ＧＬ）になるのは、「アダプタ」である。そして、１つのノードが、あるネットワークのグループ・リーダー（ＧＬ）であるアダプタと、自身が属するネットワークのグループ・リーダー（ＧＬ）ではないアダプタとを備えることは、可能である。他方、プロトコルが実装（ｉｍｐｌｅｍｅｎｔ）されている場合、トポロジ・サービス・デーモンが実行されているのは、アダプタではなく、ノードである（デーモンとは、バックグラウンドで待機しており、必要に応じて呼び出されて所定の処理を自動的に実行するプログラムのことである）。デーモンは、アダプタ１台ごとにプロトコルを実装している。
【００１８】
説明を簡単にするために、図２〜図７では、アダプタ・メンバーシップ・グループは、単一のネットワーク編成で説明してある。この編成では、「ノード」をグループ・リーダー（ＧＬ）として考えるのが簡単である。しかしながら、複数ネットワーク環境では、「アダプタ」をグループ・リーダー（ＧＬ）として考えるのがより正確である。用法に応じて、ノードがグループ・リーダー（ＧＬ）と呼ばれている場合には、用語「ノード」は、その「アダプタ」を含むように読む必要がある。
【００１９】
一実施形態では、各ノードは、トポロジ・サービス「デーモン」プロセスを実行させている。このトポロジ・サービス「デーモン」プロセスは、次に示すように、本発明のトポロジ伝達機構のある側面を処理する。すなわち、（１）プロトコル・メッセージを送受信し、（２）グローバル・ネットワーク・トポロジと、ノードのネットワーク・アダプタが全て接続されているネットワークの接続関係に関する情報とを格納する。
【００２０】
各ネットワーク内のアダプタの健全性と接続関係をモニタするために、当該ネットワーク内の全てのアダプタは、当該ネットワーク内で互いに交信することのできる全てのネットワーク・アダプタを包含しているグループである「アダプタ・メンバーシップ・グループ（ＡＭＧ）」を形成する必要がある。
【００２１】
留意すべきは、各ノードは複数のアダプタ・メンバーシップ・グループ（ＡＭＧ）に属してもよい、すなわち、１つのネットワーク・アダプタあたり１つのＡＭＧに属すことができる、という点である。
【００２２】
各ネットワーク内で生きている（すなわちダウンしていない）アダプタの集合を決めるために、各ネットワーク内でアダプタ・メンバーシップ・プロトコルが実行されている。
【００２３】
後述するように、生きているアダプタは、アダプタ・メンバーシップ・グループ（ＡＭＧ）を形成している。ＡＭＧでは、メンバーは、（例えてみるならば）仮想リング・トポロジに組織されている。全てのメンバーが生きていることを保証するために、各メンバーは、その「下流の近隣メンバー」に「ＨＥＡＲＴ  ＢＥＡＴ」（ハートビート）メッセージを周期的に送信するとともに、その「上流の近隣メンバー」が出す「ＨＥＡＲＴ  ＢＥＡＴ」メッセージをモニタしている。「ＨＥＡＲＴ  ＢＥＡＴ」メッセージとは、自分が生きていることを示すために出し続ける信号のことである。アダプタが故障すると、あるいは、新しいアダプタが機能し始めると、プロトコルを実行させる。このようなプロトコルの目的は、アダプタ・メンバーシップ・グループ（ＡＭＧ）が、互いに交信することのできるアダプタを常時全て包含している、ということを保証することである。
【００２４】
各アダプタ・メンバーシップ・グループ（ＡＭＧ）は、「グループ・リーダー」（ＧＬ）と「バックアップ・グループ・リーダー」を有している。グループ・リーダー（ＧＬ）は、グループ・プロトコルを調整する任に当たっている。バックアップ・グループ・リーダーは、グループ・リーダー（ＧＬ）が故障したときに、グループ・リーダーシップを引き継ぐ任に当たっている。グループ・リーダーとバックアップ・グループ・リーダーを選択すること、および、アダプタを仮想リングに配置することは、両方とも、予め定めていおいたアダプタ優先規則によって決める。アダプタ優先規則は、アダプタのＩＰアドレス通りになるように選ぶことができる。たとえば、高いＩＰアドレスは、高い優先度を示す。
【００２５】
各ネットワーク内の全てのアダプタのリストは、起動（スタートアップ）時と再設定（再コンフィギュレーション）時に全てのノードが読むコンフィギュレーション・ファイルに含まれている。
【００２６】
図２〜図５を参照する。
各グループのグループ・リーダー（ＧＬ）は、新しいメンバーを自分のグループに勧誘するために、アダプタ構成中であって当該グループに属していないアダプタに「ＰＲＯＣＬＡＩＭ」メッセージを送信する（図２（Ａ）参照）（「ＰＲＯＣＬＡＩＭ」とは宣言するという意味である）。これらの「ＰＲＯＣＬＡＩＭ」メッセージは、送信者のＩＰアドレスよりも低いＩＰアドレスを有するアダプタに対してだけ送信される。
【００２７】
グループ・リーダー（ＧＬ）ではない全てのアダプタは、「ＰＲＯＣＬＡＩＭ」メッセージを無視する。図２（Ｂ）に示すように、自分よりも高い優先度（高いＩＰアドレス）のノードが出した「ＰＲＯＣＬＡＩＭ」メッセージを受信したグループ・リーダー（ＧＬ）は、自分のグループを代表して「ＪＯＩＮ」メッセージで応答する。この「ＪＯＩＮ」メッセージには、「加入しようとしているグループ」のメンバーのリストが含まれている。
【００２８】
「ＪＯＩＮ」メッセージを受信したノード（図２（Ｂ）のＧＬ１）は、既存のメンバーと「加入しようとしているグループ」の全メンバーとを含む新しいグループを形成しようとする（図３（Ｃ）参照）。これは、「ＰＴＣ」（「コミット準備（Ｐｒｅｐａｒｅ  Ｔｏ  Ｃｏｍｍｉｔ）」）メッセージを新しいグループの全メンバーに送信することにより、行なう。コミットとは、トランザクション（意味のある一連の処理）を完遂させることである。
【００２９】
「ＰＴＣ」メッセージを受信したノードは、「ＰＴＣ＿ＡＣＫ」メッセージで応答する（図３（Ｄ）参照）。新しいグループには、「ＰＴＣ＿ＡＣＫ」メッセージを送信した全てのノードが含まれる。グループ・リーダー（ＧＬ１）は、全グループ・メンバーのリストを含む「ＣＯＭＭＩＴ」メッセージを新しいグループの全てのメンバーに送信する。図４（Ｅ）を参照すると、「ＣＯＭＭＩＴ」メッセージのトランザクションを促進するために、グループ・リーダー（ＧＬ１）は、少数の「メイヤー（ｍａｙｏｒ）」１２’に「ＣＯＭＭＩＴ＿ＢＣＡＳＴ」を送信する。各「メイヤー」１２’は、自分が関わっているサブグループ内の全メンバーに「ＣＯＭＭＩＴ」メッセージを送信することになる（図５（Ｆ）参照）。
（ネットワークは信頼できないものであるとみなされているので、「ＰＴＣ」「ＣＯＭＭＩＴ＿ＢＣＡＳＴ」「ＣＯＭＭＩＴ」といったメッセージは、肯定応答（ＡＣＫ）が受信されない場合、何度でも再試行する）。
【００３０】
「ＣＯＭＭＩＴ」メッセージを受信すると、トランザクションは新しいグループのものとなる（図５（Ｇ）参照）。新しいグループは、今や、既存のメンバーと新規のメンバーとを含んでいる。
【００３１】
この「ＣＯＭＭＩＴ」メッセージを受信したのち、各グループ・メンバーは、その（おそらく新しい）「下流の近隣メンバー」に「ＨＥＡＲＴ  ＢＥＡＴ」メッセージを送信し始める。
【００３２】
ノードが初期化すると、当該ノードは、自分のアダプタの各々の内に（自分がグループ・リーダーを勤める）単一のアダプタ・グループを形成する。次いで、当該ノードは、「ＰＲＯＣＬＡＩＭ」メッセージを送受信し始める。
【００３３】
次に、図３〜図４を参照する。
ノードは、その「上流の近隣メンバー」（グループ・メンバーの中で２番目に高いＩＰアドレスを有する、グループ内のアダプタ）からやって来る「ＨＥＡＲＴＢＥＡＴ」メッセージをモニタする（図６（Ａ）参照）。所定の時間の間に「ＨＥＡＲＴ  ＢＥＡＴ」メッセージを受信しない場合、当該「上流の近隣メンバー」は故障しているものとみなす。この場合、グループ・リーダー（ＧＬ）に「ＤＥＡＴＨ」メッセージを送信して、新しいグループを形成すべきことを要求する（図６（Ｂ）参照）。
【００３４】
「ＤＥＡＴＨ」メッセージを受信すると、グループ・リーダー（ＧＬ）は、故障していると検出されたアダプタを除く、現在のグループの全アダプタを含む新しいグループを形成しようとする。グループ・リーダー（ＧＬ）は、図７（Ｃ）に示すように、新しいグループの全メンバーに「ＰＴＣ」メッセージを送信する。次いで、ここでのプロトコルは、ＪＯＩＮプロトコル用に上述した手順と同じ手順に従う。
【００３５】
ローカルのノードから到達可能な（かつ生きているものと考えられる）ノードの集合を算出できるようにするために、ノード到達可能性プロトコルを使う。全てのノードが同じネットワークに接続されているわけではない、ということもありうるので、ノードの中には、一連の複数のネットワーク・ホップを介さないと到達できないものがありうる。ノード到達可能性は、全てのネットワークが全てのノードにかかっているわけではないとしても、全てのネットワークに関する情報を考慮に入れた場合にしか、算出することができない。
【００３６】
ノード到達可能性を算出するために、次に示す最終合意プロトコル（ｅｖｅｎｔｕａｌ  ａｇｒｅｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）を使う。すなわち、各ネットワークでの到達可能性情報を全ネットワークに伝達する。ネットワーク・トポロジが変化するのを止めると、最終的に全てのノードが全てのネットワークに関する一致した情報を有するようになる。そのとき、各ノードは、到達可能なノードの集合を独立して算出することができるとともに、一致した結果に到達する。
【００３７】
周期的に、かつ停止基準によってデーモンがそうするのを止（や）めるまで、ノードは次に示すメッセージを送信する。
【００３８】
「ノード接続関係メッセージ（Ｎｏｄｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｍｅｓｓａｇｅ）」（ＮＣＭすなわちＮＯＤＥ＿ＣＯＮＮＥＣＴＩＶＩＴＹ）が、全てのグループ・メンバーからグループ・リーダー（ＧＬ１）へ送信される（図８（Ａ）参照）。所定のネットワーク用のＮＣＭには、当該ネットワーク用のＡＭＧ（アダプタ・メンバーシップ・グループ）ＩＤと、使用不可であるローカルのアダプタ用の「使用不可ＡＭＧＩＤ」とが含まれている。ノードは、そのローカルのアダプタが属すグループ（ＡＭＧ）の各ＧＬにＮＣＭを送信しなければならない。
【００３９】
ＧＬは、ＮＣＭに由来する全ての情報を「ノード接続関係テーブル（Ｎｏｄｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｔａｂｌｅ）」（ＮＣＴ）に格納する。ＮＣＴには、グローバル・ネットワーク・トポロジ（のローカルのビュー）と、システム内の各ノードおよびネットワーク・アダプタ用のＡＭＧ  ＩＤとが格納されている。同じＡＭＧ  ＩＤを有する任意の２つのノードは、同じネットワークによって互いに接続されているものとみなされる。
【００４０】
「グループ接続関係メッセージ（Ｇｒｏｕｐ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｍｅｓｓａｇｅ）」（ＧＣＭすなわちＧＲＯＵＰ＿ＣＯＮＮＥＣＴＩＶＩＴＹ）が、各ＧＬから全てのグループ・メンバーに送信される（図９（Ｂ）参照）。ＧＣＭには、ＡＭＧ  ＩＤと、当該ＡＭＧに属すノードのリストとが含まれている。また、これらのノードの各々につき、（別のネットワークにおける）全ての「使用不可のＡＭＧ  ＩＤ」のリストも含まれている。ＧＣＭにして送信すべき情報は、ＧＬのＮＣＴから抽出する。
【００４１】
ＧＣＭを受信したノードは、当該ＧＣＭ中の情報で自身のＮＣＴを更新する。もし、ＧＣＭを受信したデーモンが、ローカルのアダプタが属すグループ（ＡＭＧ）の中で、そのメンバーが当該ＧＣＭを受信できないものがあることに気付いた場合には、そのデーモンは、当該ＧＣＭをそれらのグループに転送する（図９（Ｃ）のノード２を参照）。目的は、たとえ当該ＧＣＭを発信したネットワークに直接接続されていないノードであっても、システム内の全てのノードに当該ＧＣＭを伝達することである。
【００４２】
図９（Ｃ）では、ＡＭＧ＿１用のＧＣＭを、ノード２またはノード３によってネットワーク２を介してノード４、５に転送している。
【００４３】
ＮＣＭとＧＣＭで送信される情報は、送信者のＮＣＴの部分集合である点に留意されたい。
【００４４】
本発明によれば、所定のネットワークに対してノードがＮＣＭを送信するのを止めてもよい場合がある。それは、ＧＬが既に送信した、当該ＮＣＭに対応するＧＣＭが、当該ノードが当該ＧＬに送信済みの以前のＮＣＭ中の情報を反映している場合である。これは、最新のＮＣＭで送信した情報と、当該ローカルのノード宛てに入来したＧＣＭ中の情報とを比較することにより行なう。
【００４５】
ＧＣＭの情報がローカルの情報と矛盾する場合、あるいは、ローカルのアダプタが接続されたあるネットワーク用には新しいＡＭＧ  ＩＤの方が適切であることをデーモンが検出した場合、全てのグループ（ＡＭＧ）でＮＣＭの送信を再開する（後者は、ＧＣＭ中の情報とＮＣＴに格納されている情報とを比較することにより、検出することができる）。また、ローカルのアダプタが使用不可であることが検出された場合にも、ＮＣＭの送信を再開する。
【００４６】
ＧＣＭのうち少なくとも一部分はシステム内の全ての（生きている）ノードに到達するであろうことが想定されているので、ノードは、決められた個数のＧＣＭを送信したら、ＧＣＭの送信を止めてもよい。新しいＡＭＧが形成された場合、ＧＬは、ＧＣＭの送信を再開する。新しいＡＭＧは、既存のグループ（ＡＭＧ）に新しいアダプタが加入した場合、あるいは、既存のグループ（ＡＭＧ）から既存のメンバーが除名された場合に形成される。また、最近電源投入されたノードが必要なＧＣＭを全て取得できるように、ノードが自身のＮＣＴと矛盾するＧＣＭまたはＮＣＭを受信した場合にも、当該ノードはＧＣＭの送信を再開することになる。さらに、ノードのアダプタの１つが「使用不可」状態になった場合、当該ノードは、ＧＣＭの送信を再開する。
【００４７】
この機構（一例が図１３〜図１６に示してある）は、次のように動作する。
・ノードの電源を投入すると、そのノードのデーモンが動作を開始する。
・上記ノードのアダプタが多数のＡＭＧに加入する。
・新たに形成されたＡＭＧ用に、これらＡＭＧの各ＧＬがＧＣＭを送信する。
・直接、あるいはＧＣＭ転送機構を使うことにより、ＧＣＭが全ての生きているノードに到達する。
・新たなＧＣＭを受信した全てのＧＬが自身のＧＣＭを送信し始める。なぜなら、到着するＧＣＭには、新たに形成されたグループ（ＡＭＧ）に関する情報が含まれているので、自身のＮＣＴの内容が変化してしまうからである。
・最近電源投入されたノードは、全てのグループ（ＡＭＧ）からＧＣＭを取得する。
【００４８】
全てのノードが動作している場合、当該全てのノードは、ＧＬが送信した（のち、必要に応じて別のネットワークに転送された）ＧＣＭうちの少なくとも１つを取得することができる。この時点で、あるノードが動作していない場合、そのノードは、後刻電源投入されたときにＧＣＭを取得することになる。なぜなら、再開基準はノードが生きているときに適用されるものだからである。
【００４９】
あるノードのアダプタが使用不可になった場合、当該ノードは、ＮＣＭとＧＣＭの双方の送信を再開する。これは、ノードがトポロジの変化を受信した場合には、ＧＣＭの送信を再開するという戦略と一致する。
【００５０】
次に示す理由付けは、なぜＧＣＭのうちの少なくとも１つが高い蓋然性（がいぜんせい）をもって全てのノードに到達するのか、を説明するものである。いく度か試行したのち、あるノードに到達するＧＣＭが１つもない場合、それは、通常、ネットワークに問題があることを示している。しかし、ＡＭＧ内のアダプタは互いをモニタすることになっているから、全てのＧＣＭが送信されてしまう（すなわち既定のＧＣＭ送信回数が到来してしまう）よりも十分前にネットワークの問題は検出されるはずである。ネットワークの問題が検出されると、互いに交信することのできるアダプタが新たなＡＭＧを形成することになる。
この結果、動作することが分かっているアダプタを介して新たなＧＣＭが流れることになる。
【００５１】
図１０〜図１２は、本発明によるトポロジ伝達の一例を示す図である。図１０（Ａ）には、ノード１〜６と、アダプタ・メンバーシップ・グループＡＭＧ  Ａ＿１、ＡＭＧ  Ｂ＿１とをそれぞれ備えた分散コンピューティング環境が示してある。この分散コンピューティング環境の各ノードは、各自の「ノード接続関係テーブル」ＮＣＴに正しいグローバル・トポロジ構成を備えている。たとえば、ノード５におけるＮＣＴを示す図１０（Ｂ）を参照されたい。
【００５２】
図１１（Ｃ）では、ノード２が姿を消したものと想定している。その結果、ノード１、３、４によって新たなアダプタ・メンバーシップ・グループ（ＡＭＧ  Ａ＿２）が形成されている。ＡＭＧ  Ａ＿２が形成された時点では、図１１（Ｄ）に示すノード５におけるＮＣＴには、分散コンピューティング環境からノード２が姿を消したことは反映されていない。したがって、ノード５は、ノード２が姿を消したことを知らない。ノード５は、ノード２が姿を消したことに気付くのは、グループ・リーダーＧＬ１がグループ接続関係メッセージ（ＧＣＭ）を送信し始めてからになる。
【００５３】
すなわち、グループ・リーダーＧＬ１がグループ接続関係メッセージ（ＧＣＭ）をＡＭＧ  Ａ＿２のノード１、３に送信する。次いで、ネットワーク１に接続されたローカルのアダプタとネットワーク２に接続されたローカルのアダプタとを備えたノード３が、ＧＬ１が発信したＧＣＭをＡＭＧ  Ｂ＿１のノード５、６に転送する。留意すべきは、ノード３とノード４は２つのネットワーク１、２に対して共通であるから、上述したように、ＧＣＭの転送は、ノード３またはノード４のどちらか一方によって行なうことができる点である。図１２（Ｆ）は、転送されてきたＧＣＭを受信したときのノード５における更新されたＮＣＴを示している。この時点で、ノード５は、ノード２が姿を消したことに気付く。留意すべきは、ノード２は、ノード５がＡＭＧ  Ｂ＿１、ＡＭＧ  Ａ＿２をどのようにホッピングしても到達できないＡＭＧ  Ａ＿１のメンバーに留（とど）まっているので、ノード５と無関係になっている、という点である。ホッピング（ｈｏｐｐｉｎｇ）とは、パケットが中継点（ノード）を通過することである。
【００５４】
図１３〜図１６は、本発明の原理によるトポロジ伝達の別の例を示す図である。この例では、図１３（Ａ）に示す分散コンピューティング環境内でノード２がアクティブになろうとしている。この分散コンピューティング環境では、ノード１、３、４がＡＭＧ  Ａ＿１に属している一方、ノード３、４、５、６がＡＭＧＢ＿１に属している。図１３（Ｂ）は、図１３（Ａ）の分散コンピューティング環境における、ノード５でのＮＣＴと、ノード２でのＮＣＴとを示している。
【００５５】
図１４（Ｃ）では、ノード２は生きており（すなわちアクティブになっており）、新たなアダプタ・メンバーシップ・グループ（ＡＭＧ  Ａ＿２）が既に形成されている。この時点での、ノード５におけるＮＣＴとノード２におけるＮＣＴとにあるトポロジ構成が図１４（Ｄ）に示されているが、それらは、図１３（Ｂ）のものと同じである。
【００５６】
図１５（Ｅ）に示すように、ＧＬ１がグループ接続関係メッセージ（ＧＳＭ）をノード１、２、３に送信することにより、また、ノード３がこのＧＳＭをノード５、６に転送することにより、ノード１、２、３、５、６は、新たなＡＭＧについて知ることになる。ＧＳＭを受信すると、各ノードは、自身のＮＣＴを更新する。この結果、ノード５におけるＮＣＴとノード２におけるＮＣＴは、図１５（Ｆ）に示すようになる。トポロジの更新を完了するために、ＡＭＧ  Ｂ＿１のグループ・リーダーＧＬ２は、新しい情報に応答して自身のＧＣＭを送信して、ＡＭＧ  Ａ＿２のノード２に助言する。図１６（Ｇ）に示すように、ＧＬ２が出すＧＣＭは、ノード３、４、５に送信され、ノード３が当該ＧＣＭをＡＭＧ  Ａ＿２のノード１、２に転送する。ノード５におけるＮＣＴとノード２におけるＮＣＴの中の更新されたトポロジ情報を図１６（Ｈ）に示す。
【００５７】
図１７は、本発明によるトポロジ伝達を実現する、グループ・リーダー用の状態遷移図である。状態１では、グループ・リーダーは、自身のグループ（ＡＭＧ）のノードにＧＣＭメッセージを送信している。予め定めていおいたイベント、たとえばメッセージの回数が既設定の限度に達したというイベントが発生すると、グループ・リーダーは、状態２に遷移する。状態２では、グループ・リーダーは、自身のグループ（ＡＭＧ）のメンバーにＧＣＭメッセージを送信しない。以後、グループ・リーダーは、分散コンピューティング環境が変化するまで、状態２に留まる。特に、次に示す場合に、グループ・リーダーは状態１に遷移する。
（１）ローカルのＮＣＴと矛盾するＮＣＭをグループ・リーダーが受信した。
（２）自身のローカルのＮＣＴと矛盾するＧＣＭをグループ・リーダーが受信した。
（３）グループ・リーダーのローカルのアダプタが別のＡＭＧに所属した。または、
（４）グループ・リーダーのローカルのアダプタが使用不可と考えられるようになった。
【００５８】
上述した説明から当業者が気付きうるように、ここに提示されているのは、分散コンピューティング環境内でトポロジ伝達メッセージの送信を停止したり再開したりする機構である。この機構により、分散コンピューティング環境内の各ノードにネットワーク・トポロジの情報を周期的に送信する必要がなくなる。
いったんトポロジの変化が止まると、システム内の全てのＧＳＭは、有限時間内だけ停止する。本発明による機構は、トポロジ・サービスがシステム内の全てのノードにトポロジ情報を広告するために使う。ＮＣＴは、トポロジ・サービスが次に示す事項を行なうために使う。・ローカルのノードから到達可能なノードの集合を算出するため。・各到達可能なノードまでの経路を計算するため。この経路は、パケットを宛先（あてさき）まで「発信側の経路指定で送信（ｓｏｕｒｃｅ−ｒｏｕｔｅ）」する高信頼メッセージ通信（ｒｅｌｉａｂｌｅ  ｍｅｓｓａｇｉｎｇ：ＰＲＭ）が使う。
【００５９】
本発明は、たとえばコンピュータ使用可能な媒体を備えた製品（たとえば少なくとも１つのコンピュータ・プログラム製品）中に含めることができる。この媒体は、たとえば本発明の機能を実現するとともにそれを増進するコンピュータ読み取り可能なプログラム・コード手段を、自身の中に組み込んでいる。上記製品は、その一部としてコンピュータ・システムに含めるてもよいし、あるいは、別々に販売してもよい。
【００６０】
さらに、本発明の機能を実行する、マシン（機械）によって実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、マシンによって読み取り可能な少なくとも１つのプログラム格納装置を実現することができる。
【００６１】
ここで示した流れ図は、例示のためのものである。本発明の本旨の範囲内で、ここに記載した図面またはステップ（あるいは操作）は、変更しうるものである。たとえば、ある場合には、ステップは別の順番で実行することができるし、あるいは、ステップに対して、付加し、削除し、または変更することができる。
これらの変更は、全て、特許請求の範囲に記載した本発明の一部を成すものと考えられる。
【００６２】
ここでは本発明の好適な一実施形態によって本発明を詳細に説明したけれども、当業者は、多くの変形と変更をなしうる。したがって、本発明の真の本旨と範囲の内の変形と変更を包摂することは、特許請求の範囲によって意図されている。
【００６３】
まとめとして以下の事項を開示する。
（１）  分散コンピューティング環境におけるトポロジ伝達方法であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記方法が、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含む、トポロジ伝達方法。
（２）  前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含む、（１）に記載のトポロジ伝達方法。
（３）  前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含む、（２）に記載のトポロジ伝達方法。
（４）  分散コンピューティング環境におけるトポロジ伝達方法であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記方法は、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記方法は、
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含み、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含む、トポロジ伝達方法。
（５）  ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用する、（４）に記載のトポロジ伝達方法。
（６）  前記グループ接続関係メッセージを送信するステップが、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信するステップと、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送するステップと
をさらに含む、（４）に記載のトポロジ伝達方法。
（７）  前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信することに応答する、
（６）に記載のトポロジ伝達方法。
（８）  前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含む、（６）に記載のトポロジ伝達方法。
（９）  前記グループ接続関係メッセージの送信を再開するステップが、
前記分散コンピューティング環境内で前記トポロジの変化を確認するステップ
を含み、
前記確認するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含む、（８）に記載のトポロジ伝達方法。
（１０）  分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含む、トポロジ伝達方法。
（１１）  分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信するステップ、前記停止するステップ、および、前記再開するステップを実現するステップ
をさらに含む、トポロジ伝達方法。
（１２）  分散コンピューティング環境におけるトポロジ伝達方法であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含み、
前記グループ接続関係メッセージの送信を開始するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含む、トポロジ伝達方法。
（１３）  分散コンピューティング環境におけるトポロジ伝達システムであって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージを送信する手段が、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信する手段であって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信する手段と、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送する手段と
を含む、トポロジ伝達システム。
（１４）  前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証する手段をさらに含む、（１３）に記載のトポロジ伝達システム。
（１５）  前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含む、（１４）に記載のトポロジ伝達システム。
（１６）  分散コンピューティング環境におけるトポロジ伝達システムであって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
前記トポロジ伝達システムは、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証する手段と
を含み、
前記グループ接続関係メッセージを送信する手段が、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信する手段であって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信する手段と、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上の第２のノードのグループに転送する手段と
を含む、トポロジ伝達システム。
（１７）  ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用する、（１６）に記載のトポロジ伝達システム。
（１８）  前記グループ接続関係メッセージを送信する手段が、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信する手段と、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送する手段と
をさらに含む、（１６）に記載のトポロジ伝達システム。
（１９）  前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信したのに応答している、
（１８）に記載のトポロジ伝達システム。
（２０）  前記グループ接続関係メッセージの送信を停止する手段が、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止する手段
を含む、（１８）に記載のトポロジ伝達システム。
（２１）  前記グループ接続関係メッセージの送信を再開する手段が、
前記分散コンピューティング環境内で前記トポロジの変化を確認する手段
を含み、
前記確認する手段が、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信する手段、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信する手段、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認する手段、または、
ローカルのアダプタが使用不可になっているのを確認する手段、
のうちの少なくとも１つを含む、（２０）に記載のトポロジ伝達システム。
（２２）  分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージの送信を停止する手段が、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止する手段
を含む、トポロジ伝達システム。
（２３）  分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信する手段、前記停止する手段、および、前記再開する手段を実現する手段をさらに含む、トポロジ伝達システム。
（２４）  分散コンピューティング環境におけるトポロジ伝達システムであって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信する手段と、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止する手段と、
前記分散コンピューティング環境内でトポロジの変化を確認したときに、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開する手段と
を含み、
前記グループ接続関係メッセージの送信を開始する手段が、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信する手段、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信する手段、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認する手段、または、
ローカルのアダプタが使用不可になっているのを確認する手段、
のうちの少なくとも１つを含む、トポロジ伝達システム。
（２５）  分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークの第２のネットワーク上のノードの第２のグループに転送するステップと
を含むプログラムを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
（２６）  前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップをさらに含むプログラムを有形的に組み込んだ（２５）に記載の、少なくとも１つのプログラム記憶装置。
（２７）  前記分散コンピューティング環境の前記少なくとも２つのネットワークが、不均質なネットワークを含むところのプログラムを有形的に組み込んだ（２６）に記載の、少なくとも１つのプログラム記憶装置。
（２８）  分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、前記分散コンピューティング環境が、各々が特定のノードの少なくとも１つのグループを含むところの少なくとも２つのネットワークを含み、前記分散コンピューティング環境の少なくとも１つのノードが少なくとも２つのアダプタを含み、前記少なくとも２つのアダプタが前記少なくとも１つのノードを前記少なくとも２つのネットワークに接続し、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記少なくとも２つのネットワーク内でハートビート・プロトコルを使って、前記グループ内の各特定のノードが継続的に存在することを保証するステップを含むプログラムと、
前記グループ接続関係メッセージを送信するステップが、
第１のグループ・リーダーから、前記少なくとも２つのネットワークの第１のネットワーク上のノードの第１のグループのうちの特定のノードに、第１のグループ接続関係メッセージ（ＧＣＭ）を送信するステップであって、前記少なくとも１つのノードがノードの前記第１のグループのうちの特定のノードを含む、前記送信するステップと、
前記少なくとも１つのノードによって、前記第１のＧＣＭを前記少なくとも２つのネットワークのノードの第２のネットワーク上の第２のグループに転送するステップと
を含むプログラムとを有形的に組み込んだ（２６）に記載の、少なくとも１つのプログラム記憶装置。
（２９）  ノードの前記第１のグループのうちの特定のノードと、ノードの前記第２のグループのうちの特定のノードとで受信された前記第１のＧＣＭを、前記特定のノードの各々がローカルのネットワーク接続関係テーブル（ＮＣＴ）を更新するのに使用するプログラムを有形的に組み込んだ（２８）に記載の、少なくとも１つのプログラム記憶装置。
（３０）  前記グループ接続関係メッセージを送信するステップが、
第２のグループ・リーダーからノードの前記第２のグループのうちの特定のノードに、第２のＧＣＭを送信するステップと、
前記少なくとも１つのノードによって、前記第２のＧＣＭを前記少なくとも２つのネットワークの前記第１のネットワーク上のノードの前記第１のグループに転送するステップと
をさらに含むプログラムを有形的に組み込んだ（２８）に記載の、少なくとも１つのプログラム記憶装置。
（３１）  前記第２のグループ・リーダーによって第２のＧＣＭを送信する前記ステップが、前記転送された第１のＧＣＭ中の新しい情報を前記第２のグループ・リーダーが受信することに応答するところのプログラムを有形的に組み込んだ（３０）に記載の、少なくとも１つのプログラム記憶装置。
（３２）  前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を各グループ・リーダーが確認したのち、
前記各グループ・リーダーが送信するメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含むプログラムを有形的に組み込んだ（３０）に記載の、少なくとも１つのプログラム記憶装置。
（３３）  前記グループ接続関係メッセージの送信を再開するステップが、
前記分散コンピューティング環境内で前記トポロジの変化を確認するステップ
を含み、
前記確認するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含むプログラムを有形的に組み込んだ（３２）に記載の、少なくとも１つのプログラム記憶装置。
（３４）  分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージの送信を停止するステップが、
前記分散コンピューティング環境内でトポロジの変化を確認したのち、
各グループ・リーダーから送信されたメッセージの個数が既定値に到達したときに、
前記各グループ・リーダーが前記グループ接続関係メッセージの送信を停止するステップ
を含むプログラムを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
（３５）  分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記トポロジの伝達の期間に、肯定応答メッセージを使わずに、前記送信するステップ、前記停止するステップ、および、前記再開するステップを実現するステップ
をさらに含むプログラムとを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
（３６）  分散コンピューティング環境におけるトポロジ伝達方法を実行する、機械で実行可能な命令の少なくとも１つのプログラムを有形的に組み込んだ、機械で読み取り可能な少なくとも１つのプログラム記憶装置であって、
分散コンピューティング環境内で少なくとも１つのグループ・リーダーからノードの少なくとも１つのグループのうちの特定のノードに、グループ接続関係メッセージを送信するステップと、
前記分散コンピューティング環境内でトポロジの変化がない期間は、前記グループ接続関係メッセージの送信を停止するステップと、
前記分散コンピューティング環境内でトポロジの変化を確認すると、前記少なくとも１つのグループ・リーダーからのグループ接続関係メッセージの送信を再開するステップと
を含むプログラムと、
前記グループ接続関係メッセージの送信を開始するステップが、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するノード接続関係メッセージを受信するステップ、
グループ・リーダーが、ローカルのネットワーク接続関係テーブルの値と矛盾するグループ接続関係メッセージを受信するステップ、
ローカルのアダプタが別のアダプタ・メンバーシップ・グループに属しているのを確認するステップ、または、
ローカルのアダプタが使用不可になっているのを確認するステップ、
のうちの少なくとも１つを含むプログラムとを有形的に組み込んだ少なくとも１つのプログラム記憶装置。
【図面の簡単な説明】
【図１】本発明に係るトポロジ伝達機能を使用する代表的な通信ネットワークを示す図である。
【図２】分散処理システムの複数のノードが使用するＪＯＩＮプロトコルの一実施形態を示す図であって、（Ａ）はＰＲＯＣＬＡＩＭメッセージを示す図であり、（Ｂ）はＪＯＩＮメッセージを示す図である。
【図３】分散処理システムの複数のノードが使用するＪＯＩＮプロトコルの一実施形態を示す図であって、（Ｃ）はコミット準備（ＰＴＣ）メッセージを示す図であり、（Ｄ）はコミット準備肯定応答（ＰＴＣ＿ＡＣＫ）メッセージを示す図である。
【図４】分散処理システムの複数のノードが使用するＪＯＩＮプロトコルの一実施形態を示す図であって、（Ｅ）はコミット・ブロードキャスト（ＣＯＭＭＩＴ＿ＢＣＡＳＴ）メッセージを示す図である。
【図５】分散処理システムの複数のノードが使用するＪＯＩＮプロトコルの一実施形態を示す図であって、（Ｆ）はＣＯＭＭＩＴメッセージとコミット・ブロードキャスト肯定応答（ＣＯＭＭＩＴ＿ＢＣＡＳＴ＿ＡＣＫ）メッセージを示す図であり、（Ｇ）は図２（Ａ）〜図５（Ｆ）のＪＯＩＮプロトコルの完了後に形成された新たなノードのグループを示す図である。
【図６】分散処理システムの複数のノードが使うＤＥＡＴＨプロトコルの一実施形態を示す図であって、（Ａ）はハートビート・リングを示すグループの初期状態を示す図であり、（Ｂ）はあるノードの無応答を検知したのち、それに応答してＤＥＡＴＨメッセージを送信する様子を示す図である。
【図７】分散処理システムの複数のノードが使うＤＥＡＴＨプロトコルの一実施形態を示す図であって、（Ｃ）は新たなコミット準備（ＰＴＣ）メッセージがグループ・リーダー（ＧＬ）からグループの生き残ったノードに送信されている様子を示す図である。
【図８】複数のノードを備えた２つのネットワークから成る分散コンピューティング環境用のノード到達可能性プロトコルの一実施形態を示す図であって、（Ａ）はネットワーク１のグループ・リーダーにＮＯＤＥ＿ＣＯＮＮＥＣＴＩＶＩＴＹメッセージを送信する様子を示す図である。
【図９】複数のノードを備えた２つのネットワークから成る分散コンピューティング環境用のノード到達可能性プロトコルの一実施形態を示す図であって、（Ｂ）はグループ・リーダーからグループのノードにＧＲＯＵＰ＿ＣＯＮＮＥＣＴＩＶＩＴＹメッセージを送信する様子を示す図であり、（Ｃ）はノード２からそのアダプタを介して分散コンピューティング環境のネットワーク２のノード４、５にＧＲＯＵＰ＿ＣＯＮＮＥＣＴＩＶＩＴＹメッセージを転送する様子を示す図でる。
【図１０】（Ａ）は本発明の原理に係るメッセージ伝達機能を使う、初期状態の分散コンピューティング環境を示す図であり、（Ｂ）は図１０（Ａ）の分散コンピューティング環境のノード５における初期状態のネットワーク接続関係テーブル（ＮＣＴ）を示す図である。
【図１１】（Ｃ）は図１０（Ａ）のアダプタ・メンバーシップ・グループ（ＡＭＧ）からノード２が姿を消した様子を示す図であり、（Ｄ）はノード２が姿を消したことを反映していない、ネットワーク２に接続されたノード５におけるＮＣＴを示す図である。
【図１２】（Ｅ）は新たなアダプタ・メンバーシップ・グループＡＭＧ  Ａ＿２のグループ・リーダーからＡＭＧ  Ａ＿２ののアクティブなメンバーにグループ接続関係メッセージ（ＧＣＭ）を伝達するとともに、このＧＣＭをノード３がＡＭＧ  Ｂ＿１のノード５、６に転送している様子を示す、図１１（Ｃ）の分散コンピューティング環境を示す図であり、（Ｆ）は図１２（Ｅ）でノード３が転送したＧＣＭを受信したときのノード５におけるＮＣＴを示す図である。
【図１３】（Ａ）は本発明の原理に係るトポロジ伝達を使う分散コンピューティング環境の一実施形態を示す図であって、ノード２が起動を待っている様子を示す図であり、（Ｂ）はノード２の起動を待機中のノード５とノード２におけるＮＣＴを示す図である。
【図１４】（Ｃ）はノード２が起動し、新たなＡＭＧ  Ａ＿２が形成されたのちの図１３（Ａ）の分散コンピューティング環境を示す図であり、（Ｄ）はノード２の起動と一致するが、更新前のノード５におけるＮＣＴとノード２におけるＮＣＴとを示す図である。
【図１５】（Ｅ）はＡＭＧ  Ａ＿２のグループ・リーダーがＧＣＭを送信し、それをノード３がノード５、６に転送している様子を示す、図１４（Ｃ）の分散コンピューティング環境を示す図であり、（Ｆ）はＧＬ１からのＧＣＭの送信に追随した、ノード５におけるＮＣＴとノード２におけるＮＣＴとを示す図である。
【図１６】（Ｇ）はＧＬ２（すなわちノード６）からのＧＣＭの送信と、ノード３による当該ＧＣＭのノード２、１への転送を示す、図１５（Ｅ）の分散コンピューティング環境を示す図であり、（Ｈ）はＧＬ２によるＧＣＭの発行に追随した、ノード５におけるＮＣＴとノード２におけるＮＣＴとを示す図である。
【図１７】本発明の原理に係るトポロジ伝達機能を実現する、グループ・リーダー用の状態遷移図である。
【符号の説明】
１０…分散コンピューティング環境、１２…ノード、１４…ネットワーク、１６…ネットワーク・アダプタ。
【図１】
0003589409.tif 000002
【図２】
0003589409.tif 000003
【図３】
0003589409.tif 000004
【図４】
0003589409.tif 000005
【図５】
0003589409.tif 000006
【図６】
0003589409.tif 000007
【図７】
0003589409.tif 000008
【図８】
0003589409.tif 000009
【図９】
0003589409.tif 000010
【図１０】
0003589409.tif 000011
【図１１】
0003589409.tif 000012
【図１２】
0003589409.tif 000013
【図１３】
0003589409.tif 000014
【図１４】
0003589409.tif 000015
【図１５】
0003589409.tif 000016
【図１６】
0003589409.tif 000017
【図１７】
0003589409.tif 000018