JP2003030165A - 複数の連結したデータ処理ノードからなるネットワークでのノード状態を決定するための方法及び/又はノード活性を決定する方法 - Google Patents

複数の連結したデータ処理ノードからなるネットワークでのノード状態を決定するための方法及び/又はノード活性を決定する方法

Info

Publication number
JP2003030165A
JP2003030165A JP2002124292A JP2002124292A JP2003030165A JP 2003030165 A JP2003030165 A JP 2003030165A JP 2002124292 A JP2002124292 A JP 2002124292A JP 2002124292 A JP2002124292 A JP 2002124292A JP 2003030165 A JP2003030165 A JP 2003030165A
Authority
JP
Japan
Prior art keywords
node
message
nodes
group
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002124292A
Other languages
English (en)
Other versions
JP3818647B2 (ja
Inventor
Chun-Shi Chang
チュン−シ・チャン
Felipe Knop
フェリペ・ノップ
Tseng-Hui Lin
テン−フィ・リン
Frank B Schmuck
フランク・ビー・シュムック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003030165A publication Critical patent/JP2003030165A/ja
Application granted granted Critical
Publication of JP3818647B2 publication Critical patent/JP3818647B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 分散データ処理ネットワークでのノード「活
性」状態を決定するためのシステム及び方法を提供。 【解決手段】 分散ネットワーク・データ処理システム
においてノード及び/又はアダプタ活性の決定は、第2
のメッセージ・プロトコルによって補助された第1のメ
ッセージ・プロトコルを介して実行される。第2のメッ
セージ・プロトコルは、第1のメッセージ・婦吐露こる
よりも遅延、特に他のノード上で実行されるデーモンに
よって遭遇するメモリ阻害による遅延の影響を受けるこ
とが少ない。プロトコルの切り換えは、必要とする応答
の制御された猶予期間によって達成される。このメッセ
ージ・プロトコルの柔軟性は、ノードの追加(バース)
及びノードの削除(デス)の意図的なアクティビティを
制御するためのメカニズムとしての使用にも適してい
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異なるプライオリ
ティ及び/又は異なる特性応答制限で、異なるレベルで
動作するメッセージ・プロトコルを用いることが可能な
分散データ処理システムにおけるアダプタ及びノード・
デスの決定方法に関する。本発明の重要な利点は、デー
モン阻害によって生ずる偽りの障害通知に対する優れた
障害許容力である。
【0002】
【従来の技術】アダプタ及びノード活性の決定は、特定
のアプリケーション上で動作させるために一般に用いら
れる複数のクラスタにノードを分割することが可能であ
る任意の高度に利用可能な分散データ処理ネットワーク
の核心的事項である。高可用性サービスを提供するため
に、クラスタ・システムは、どのノード、ネットワー
ク、及びシステム内のネットワーク・アダプタが働いて
いるかを決定することができなければならない。そのよ
うな任意のコンポーネントにおける障害は、早く検出し
なければならず、結果として生ずる情報は、より高水準
なソフトウェア・サブシステムに伝えられ、もし可能で
あるならば、回復動作がクラスタ回復マネージャ及びア
プリケーション・レベル・ソフトウェアによって開始さ
れなければならない。
【0003】ノード、ネットワーク、及びネットワーク
・アダプタ活性の決定は、しばしば分散システムの各ノ
ードで実行されるデーモン・プロセスの利用を介してな
される。デーモンは、分散プロトコルを実行し、システ
ムにおいて異なるネットワーク経路を通して強制される
活性メッセージを交換する。もし、そのような活性メッ
セージが所定の間隔内で受信されるならば、送信ノード
又はネットワーク・アダプタが他のものによって作動し
ていない(「デス」)と仮定される。
【0004】この活性決定方法は、対応するデーモンに
対してリアル・タイム制約を課する。すなわち、もしデ
ーモンがいずれにせよ遅れるならば、このことは誤って
デスとして検出される上位ノードで終わるかもしれない
(「誤りダウン」イベント)。誤りダウン・イベント
は、不要で、しばしば高くつく、クラスタの動作を中断
させることができる回復手順に帰着する。
【0005】しかし、基礎をなすオペレーティング・シ
ステムはめったにリアル・タイムとならないことから、
デーモンをこれらのリアル・タイム制約に従わせること
はしばしば決して取るに足らないことではない。リアル
・タイム・オペレーティング・システムはどんな状態下
でも有限の応答時間を保証することができる。
【0006】システムの複数のノードのうちの一つにあ
る負荷が、現在のメモリの量を物理的メモリが大きく上
回ることを必要とするほどのものならば、重いページン
グが起こり始め、それは時折、ほとんど進行しないプロ
セスに至る。活性決定デーモンに関しては、これらのペ
ージング動作は、時宜を得た様式で活性メッセージの送
信を防止するために作用することができる。
【0007】いくつかのオペレーション・システムは、
他のアプリケーションによって該システムのページを
「盗まれない」ようにするプロセスを可能とする基本命
令を提供するが、実際にはこの解決策は完璧ではない。
すなわち、全体のアドレス空間で働かない基本命令(例
えば、共有ライブラリと連携しない)又はオペレーティ
ング・システムそのもののいずれかがしばしばページ可
能である。
【0008】メモリ枯渇の他に、他の原因はプロセスが
取るに足らない進行となるのを防ぐことが知られてお
り、すなわち高い割り込み率、システム内での任意のプ
ロセスの実行を阻止すること、CPU利用を独占する優
先度の高いプロセスの存在である。
【0009】プロセス阻害によって引き起こされるそれ
らの「誤りダウン」を防ぐために、異なるアプローチが
使用される。すなわち、以下のアプローチが挙げられ
る。 (1)リモート・エンティティが「ダウン」を宣言する
前に失われた受信活性メッセージの数の閾値を増加させ
ること。 (2)リアル・タイム・スケジューリング優先度及びペ
ージングを防ぐオペレーティング・システム基本命令を
用いることで、可能な限りリアル・タイムでデーモンを
行わせること。 (3)活性メッセージを送信するためのコードをカーネ
ルに取り込むこと。
【0010】しかし、上記(1)〜(3)のアプローチ
は、以下のような解決すべき課題を有する。すなわち、
上記(1)は、真の障害を検出するのに時間がかかると
いう欠点を有することで、そのため長時間にわたって障
害(真の)が生じている間、クラスタによって提供され
たエンド・ユーザ・サービスが利用不可能となる。
【0011】上記(2)は、部分的に効果があるのみで
ある。オペレーティング・システムによって提供される
多数のリアル・タイム基本命令の使用を必要とするのみ
ならず、通信及びI/O等、知られている障害の原因を
避けるように注意深く設計することも必要である。それ
でも、オペレーティング・システムはプロセスが常に進
行することを約束することができないかもしれない。
【0012】上記(3)は良好な結果をもたらすが、オ
ペレーティング・システム・カーネルにコードを導入す
る必要があることから、しばしば法外な開発費がかか
り、携帯性及び便利さを著しく損なう。このアプローチ
に伴う微妙な問題は、状態を検出するのに不適当な「カ
ーネル活性」を提供することしかできないということで
あり、カーネルを実行することができるが、ユーザ・プ
ログラムではない。そのような状態下では、ノードは役
に立たなくなり、該ノードがデスを宣言することが正し
い決断となる。
【0013】
【発明が解決しようとする課題】本発明は、データ処理
ノードの接続ネットワークにおいて、「デス」であると
の宣言を該データ処理ノードが早すぎて、及び/又は誤
って行うことを防ぐメカニズムを提供する。
【0014】
【課題を解決するための手段】具体的には、本発明の好
ましい実施形態によれば、連続した複数のデータ処理ノ
ードからなるネットワークにおいてノード及び/又はノ
ード/アダプタの状態を決定する方法が提供される。複
数のノードはグループとして存在し、好ましくは特定の
機能及び権限を持つグループ・リーダが設けられる(し
かし、ここで注意すべき点は、グループ・リーダの存在
は本発明の最も広い範囲内において本発明の作用にとっ
て必須なものではないことである)。周期的に、該グル
ープの各ノードは、状態メッセージをそのグループ内の
所定のノードに対して送る。このことは、ハート・ビー
ト又はハート・ビートを伝えるメッセージに言い換えら
れ、くだけた言い方をすれば「私は生きている」という
メッセージに当てはまる。もしそれらの複数のノードが
一つの環状トポロジで連結されているならば(ここでは
好ましいインプリメンテーションである)、各ノードは
そのハート・ビートを伝えるメッセージを上記環におい
て下流に位置する隣接ノードに対して送信する。送信さ
れたメッセージは、「私は生きている」(ハート・ビー
ト)メッセージに対する応答を与える目的で指定ノード
(又は非環状トポロジのノード)上で走るデーモン・プ
ログラムに向けられる。デーモンは、所定の一つのノー
ド又は所定の複数のノードに対してハート・ビート・メ
ッセージを転送することによって応答するものではな
い。むしろ、それ自身のハート・ビート・メッセージを
指定された受信者(又は非環状トポロジのノード相互接
続が用いられるイベント内の指定された受信者)に対し
て周期的に送る。しかし、好ましくはないが、ハート・
ビート・メッセージを転送することは、このサービスを
提供する代替方法を提供するものである。各ノードは、
周期的に、ハート・ビート信号が指定した送信ノードか
ら送られたかどうかを決定する。もしいくつかのハート
・ビート信号が予想通りに受信されなければ、送信ノー
ドにおけるメモリ制約条件の問題によってその伝達に責
任あるデーモンが遅れる。このデーモンの応答を遅らす
原因は数多くあり、ローカル・オペレーション・システ
ムによってノードで実行される他のアプリケーションが
より高い実行優先度を割り当てられる状態もそのような
原因の一つとして含まれる。このような遅延現象は、単
にメモリ制約条件の問題に限られているわけではない。
本発明のメカニズムが「有利な立場にたっている」こと
を保証するために、好ましくはそれが無条件に必須なも
のとなる前に、すなわち上記したように、他のアプロー
チがすでにノードの「デス」を宣言する前に、第2のメ
ッセージを設定する。この第2のメッセージは、非応答
ノードへ送られる。しかし、上記第2のメッセージはデ
ーモンには送られないが、むしろ同一のメモリ制約条件
問題を持たないメッセージ受信ノード上で実行されるプ
ログラムへ送られる。特に、第2のメッセージは、好ま
しくは優先度処理が利用可能であるオペレーティング・
システム・カーネル部分に向けられる。さらに具体的に
は、本発明の好ましし実施形態は、Unix(R)系オペ
レーティング・システムで用いられるような「ピング」
機能を用いる。
【0015】本発明の別の実施形態にもとづいて、ノー
ドをグループに加えるプロセス、又はノード「デス」を
操作するプロセスもまた、この2段階のメッセージ送信
メカニズムが与えられる。このことは、メッセージ通信
での遅れ、特にローカル・メモリ制約問題で生ずる遅れ
が課されることなく、グループのトポロジ又は構造の修
飾が効率的な方法で変化させることができることを保証
する。特に、本発明は上記の「私は生きている」(I am
Alive: IAA)メッセージと同様に処理される「コミ
ット準備」(Prepare to Commit: PTC)メッセージ
も用いる。本発明で用いた概念を使用することで、生ず
る若干の遅れを減らす効果が得られ、その一方で主な利
点はその使用によってノードが早まって「デス」と宣告
されることを防ぐことである。
【0016】したがって、本発明の目的は、分散データ
処理ネットワークでのノード「活性」状態を決定するた
めのシステム及び方法を提供することである。
【0017】また、本発明の目的は、ノード状態、特に
ノードが生きていて機能しているかどうかを反映するメ
ッセージ処理要求で使用される阻害されたデーモンの問
題を避けることである。
【0018】本発明のさらに別の目的は、ノードが早ま
って「デス」であると宣告される状態で生じたオーバヘ
ッド及びシステム処理における遅れを取り除くことを可
能とする。
【0019】本発明のさらに別の目的は、ネットワーク
・グループに対するノードの追加を処理し、また不必要
な遅れなしにネットワーク・グループからのノード除去
を処理することである。
【0020】本発明の別の目的は、リモート・ノードに
あるメモリ制約条件の問題によって生じたメッセージ応
答遅延を取り除くことである。
【0021】本発明のさらに別の目的は、完全なネット
ワーク・システム利用を確実にすることであり、また所
望のノード全てによる完全なプロセス参加が欠けている
状態を避けることである。
【0022】本発明のさらに別の目的は、ノード及び/
又はノード・アダプタのデスを検出し、グループ・メン
バーシップの適切な再構成を与えるメカニズムを提供す
ることである。
【0023】最後に、ここでは限定されないが、メモリ
・ページング、メモリー割り当て、又は同様の遅延によ
って生ずる制約条件によっては妨げられないオペレーテ
ィング・システム・カーネル機能を利用することであ
る。
【0024】本発明の種々の実施形態に合致する一連の
所望の目的をここで列挙したことは、本発明の最も普遍
的な実施形態、又はそのより特徴的な実施形態のいずれ
かで、個々に、又は集合的のいずれにおいても、それら
の目的のいずれか、又は全てが必須事項として存在する
ことを暗に意味又は示唆するものではない。
【0025】本発明として見なされる主題は、発明の詳
細な説明の中で詳しく指摘し、また明細書の記述に加え
て特許請求の範囲において明瞭にクレームされている。
しかし、本発明は、さらなる目的とその利点と共に、構
造及び実施方法の両方に関して、添付図面と関連して以
下の記載を参照することで、最も良く理解されるだろ
う。
【0026】
【発明の実施の形態】本発明にもとづくメカニズムは、
ストレス負荷のもとで、またプロセスが阻害される他の
条件のものでのデーモン阻害によって起こる「誤りダウ
ン」を防ぐために提供される。このメカニズムは、ダウ
ンしていると疑われるノード/アダプタへ送られるイン
ターネット制御メッセージ・プロトコル(ICMP)エ
コー要求メッセージを使用する。割り込みモードにある
カーネルによってそのようなメッセージが応答されるた
め、たとえピア・デーモンが一時的に阻害されたとして
も応答される。もし「デスであると疑われた」ノード又
はアダプタからICMPエコー応答の応答受信がなされ
ると、ノード又はアダプタは、少なくとも初めのうちは
デスであることを宣言しない。
【0027】本発明にもとづくメカニズムは、すでに説
明した従来の3通りのアプローチを上回る利点を提供す
る。上記した第1の代替アプローチとは異なり、真のア
ダプタ及び/又はノード障害の検出時間は増加しない。
本発明にもとづくメカニズムは、上記した第2の代替ア
プローチよりも有効である。なぜなら、オペレーション
・システム・カーネルは、ユーザ・レベル・プロセスの
実行を許可するよりも素早くICMPエコー要求メッセ
ージに応答することができそうである。最後に、本発明
にもとづくメカニズムは、上記した第3の代替アプロー
チで行われるような書き込みカーネル・コードを必要と
するものではない。
【0028】ここで提案するメカニズムは、IBMのリ
ライアブル・スケーラブル・クラスタ・テクノロジ(R
SCT)インフラストラクチャの一部であるトポロジ・
サービス・サブシステムでのその使用のコンテキストの
中に導入される。トポロジ・サービスは、稼働している
複数のノードからなるセットを決定する役割を担うこと
から、システムの「活性層」を提供する。
【0029】ハート・ビートプロトコル メカニズムをより良く説明するために、またそれがどの
ようにしてトポロジ・サービスで使用されるかをより良
く説明するために、ここでサブシステムのアダプタ・メ
ンバーシップ(「ハート・ビート」)プロトコルを詳細
に説明する。
【0030】各ネットワークのアダプタの健全性及び連
結性をモニタするために、該ネットワークの全てのアダ
プタが「アダプタ・メンバーシップ・グループ」(AM
G)を形成することを試みる。ここで、AMOは、ネッ
トワーク内で互いに通信することができる全てのネット
ワーク・アダプタが含まれるグループである。AMGの
アダプタは、互いの「活性」をモニタする。AMGが形
成されると、全てのグループ・メンバは、独自にAMG
を識別する「AMGid」を受信する。故障したアダプ
タは、そのグループから追放され、パワー・アップされ
た新しいアダプタがグループへの参加を求められる。ど
ちらの場合も、新しいAMGを有する新しいAMOが形
成される。各AMGは、グループ・リーダ(GL)であ
る一つのメンバを有し、さらに全てのメンバはどのノー
ドがグループ・リーダであるかを知る。ここで注目すべ
き点は、一つのノードがいくつかのAMG(その複数の
ネットワーク・アダプタの各々に対応)に属していても
よいことである。
【0031】各ネットワークで活きている複数のアダプ
タからなるセットを決定するために、アダプタ・メンバ
シップ・プロトコルはネットワークの各々で実行する。
このプロトコルのメッセージは、UD/IP(ユーザ・
データグラム・プロトコル/インターネット・プロトコ
ル)を用いて送信される。このプロトコルをインターネ
ット・プロトコルと呼ぶが、この語の用法はここではい
かなるインターネット接続の存在も意味するものではな
く、またどんな形ではあれインターネットに対する依存
性を意味するものではない。それは単にデータ処理ノー
ドの通信接続ネットワーク内で有用な通信プロトコルで
あり、該プロトコルは好都合に使用され、かつ十分に特
徴づけられたものである。
【0032】活きているアダプタは、好ましくはバーチ
ャル環状トポロジにメンバが組織化されるAMGを形成
する。すべてのグループ・メンバが活きていることを確
かめるために、各メンバは周期的に「ハート・ビート」
メッセージをその「下流の隣人」へ送信し、その「上流
の隣人」からの「ハート・ビート」メッセージをモニタ
する。「ハート・ビート」メッセージは、ここでは「私
は生きている」(AYA)メッセージとも呼ばれる。デ
ス・プロトコル及び参加プロトコルは、アダプタ故障の
場合、又は新しいアダプタが機能的になり始めた時、そ
れぞれ実行される。そのようなプロトコルの目標は、保
証することである。メンバーシップ・グループは、各時
点で、互いに通信することができるネットワーク内のア
ダプタ(しかし、クラスタに属するものだけ)全て(及
びのみ)を含む。
【0033】グループ・リーダに加えて、各グループは
「クラウン・プリンス」(バックアップ・グループ・リ
ーダ)を有する。「クラウン・プリンス」モデルの詳細
については米国特許第5,805,786号及び第5,
926,619号を参照せよ。グループ・リーダは、グ
ループ・プロトコルを調整する役割を担っている。一
方、クラウン・プリンスは、もしグループ・リーダであ
るアダプタが故障した場合に該グループ・リーダに取っ
て代わる役割を担う。グループ・リーダ及びクラウン・
プリンスの選択と環内でのアダプタの位置とがともに所
定のアダプタ優先度規則によって決定される。ここで、
所定のアダプタ優先度規則は、好ましくはアダプタのI
Pアドレスとなるように選択される。このアドレスは、
好都合に入手可能で、かつ独自の識別子を提供するもの
で、その特徴のすべてによってこの規則に対して高度に
適したものとなる。
【0034】各ネットワークにおける全ての可能なアダ
プタからなるリストが構成ファイルに含まれる。この構
成ファイルは、開始時及び再構成時にノードの全てによ
って読み込まれる。
【0035】参加プロトコル 新しいメンバをグループに引きつけるために、各グルー
プのグループ・リーダは周期的に「プロクレーム」メッ
セージを、現在のところ該グループには属さないがアダ
プタ構成にあるアダプタへ送る。メッセージは、送信元
のIPアドレスよりも低いIPアドレスを有するアダプ
タへ送られる。注意すべき点は、IPアドレスの使用が
「プロクレーム」メッセージを適切に向けるための好ま
しいメカニズムである一方で、任意の他の簡便な方法も
また適用可能である。すなわち、唯一必要なものは、グ
ループ・リーダを有する複数のノードからなる十分に定
義されたセットへの送信である。
【0036】「プロクレーム」メッセージは、グループ
・リーダではない全てのアダプタによって無視される。
より高い優先度(より高いIPアドレス)ノードからの
「プロクレーム」メッセージを受信するグループ・リー
ダ・ノードは、そのグループに代わって「参加」メッセ
ージで応答する。メッセージは、「参加するグループ」
のメンバーシップ・リストを含む。
【0037】ノード(例えばGL1)は、別のノード
(例えばGL2)から「参加」メッセージを受信する
と、参加しようとするグループ内の全てのメンバに加え
て今までのメンバを含む新たなグループの形成を試み
る。
【0038】「コミット準備」メッセージを受信したノ
ードは、「PTC_ACK」(コミット準備承認)メッ
セージによって応答する。「PTC_ACK」メッセー
ジが受信されるノードの全てが新しいグループに含まれ
る。グループ・リーダ(ノードGL1)は、新たに形成
されたグループのメンバに対して、グループ・メンバー
シップ・リスト全体を含んでいる「コミット」メッセー
ジを送信する。
【0039】「コミット」メッセージを受信すること
で、新たなグループへの移行が記される。このメッセー
ジを受信した後に、グループ・メンバは該メンバの(た
ぶん新しい)下流側の隣り合うメンバへ「ハート・ビー
ト」メッセージの送信を開始し、また該メンバの上流側
の隣り合うメンバからの「ハート・ビート」メッセージ
のモニタリングを開始する。
【0040】「コミット準備」メッセージ及び「コミッ
ト」メッセージは、それらのメッセージが受信されたこ
とを確認するための承認を必要とする。もし、何ら承認
が受信されなければ、再試行が限定された回数だけ行わ
れる。再試行が全回数行われた後、「コミット準備」メ
ッセージに対する応答の失敗は、対応するアダプタが新
たなグループに含まれていないことになる。もし、「P
TC_ACK」メッセージの再試行が全回数行われた後
に、デーモンが「コミット」メッセージの受信に失敗す
ると、ローカル・アダプタは新たなグループの形成をあ
きらめ、それ自身を単一のグループに再初期化する。こ
の現象は、グループ・リーダが「コミット準備」メッセ
ージの送信と「コミット」メッセージの送信との間の短
いウィンドウで失敗するという相対的にまれな事例での
み生ずるべきである。
【0041】トポロジ・サービス・デーモンが初期化さ
れる場合、該デーモンが複数のアダプタの各々において
単一のアダプタ・グループ(ノードがグループ・リー
ダ)を形成する。そして、ノードは「プロクレーム」メ
ッセージの送信及び受信を開始する。
【0042】デス・プロトコル アノード又はアダプタ・モニタは、その「上流側の隣
人」(グループ・メンバの中で次に最も高いIPアドレ
スを有するグループのアダプタ)をモニタする。所定の
時間内に「ハート・ビート」メッセージが受信されない
と、「上流側の隣人」は故障が生じたと想定する。そし
て、「デス」メッセージをグループ・リーダに送信し、
新たなグループの形成を求める。
【0043】「デス」メッセージを受信すると、グルー
プ・リーダは、故障として検出されたアダプタをのぞく
現在のグループ内の全アダプタが含まれる新たなグルー
プの形成を試みる。グループ・リーダは、「コミット準
備」メッセージを上記新たなグループの全アダプタへ送
信する。続いて、プロトコルは、参加プロトコルに関し
てすでに記載したシーケンスと同じシーケンスに従う。
【0044】「デス」メッセージを送信した後、デーモ
ンは「コミット準備」メッセージをまもなく受け取るこ
とを予測する。再試行が数多く繰り返されるが、「コミ
ット準備」メッセージが受信されなければ、グループ・
リーダ・アダプタ(又はその上位ノード)がデス状態で
あり、また「クラウン・プリンス」アダプタもまたデス
状態であるため、グループ・リーダはグループ・リーダ
シップを取ることができないと解釈される。この場合、
アダプタはそれ自身を単一のグループに再初期化すると
ともに「解消」メッセージを送信し、グループ・メンバ
全てが同様のことを行うように促す。このことによっ
て、グループの全メンバがグループ・リーダとクラウン
・プリンスメンバとが同時にデス状態となったことを知
る。
【0045】基本メカニズム ひとたびAMGが形成されると、「上流側の隣人」によ
って送信された周期的な「ハート・ビート」メッセージ
をモニタする「下流側の隣人」によって、好ましくは
「ハート・ビート」メッセージが環状トポロジに送信さ
れる。なお、特許請求の範囲の1つ以上の請求項におい
て、「ハート・ビート」メッセージは「第1のメッセー
ジ」と呼ばれている。下流側の隣人は、その上流側の隣
人から最近「ハート・ビート」メッセージを受信したか
どうかを見るために、定期的にチェックを行う。もし、
最終チェックからメッセージの受信がなければ、「ハー
ト・ビート見落とし」カウンタがインクリメントされ
る。もし、ハート・ビート見落としカウンタが所定の閾
値S(「感度」)に達すると、精度の落ちるプロトコル
でリモート・アダプタがデス状態であると見なされ、そ
のデス状態が報告される。
【0046】本発明の範囲及び精神の範囲内で、環状で
はない形態のトポロジを用いることも可能である。任意
の簡便なトポロジを使用することができる。しかし、環
状トポロジが好ましい。その理由は、環状トポロジがイ
ンプリメントする上で単純であるということ、またノー
ドの数を増やした時により優れたスケーラビリティを示
すということからである。他のトポロジは、ここで他の
どこかに記載されているように、構造的リンクの記述が
メンバ・リストの通信に伴ってグループのメンバ又は将
来のグループ・メンバにも伝えられることを必要とす
る。このことは、一般的に望ましくない複雑化をもたら
すが、それは、それでもなお、現在の発明が基礎をなす
大まかな原則からそれることなくさらに可能である。
【0047】しかし、カウンタが値X(Bよりも小さ
い)に達すると、モニタされているアダプタに対してI
CMP(インターネット制御メッセージ・プロトコル)
エコー要求パケットが送られるように、プロトコルが変
更される。もし、リモート・ノード及びアダプタが活き
ているならば、たとえピア・デーモンが阻害されていた
としても、宛先OSカーネル、及び最も好ましくはその
割り込みハンドラがICMP「エコー応答」メッセージ
によって応答する。カウンタの値がX+1等に達する
と、その手順が繰り返される。もしモニタしたアダプタ
からICMP「エコー応答」メッセージが受信される
と、このことが「モニタしているアダプタがおそらく機
能してはいるが、対応するデーモンは阻害又はデス状態
のいずれかであるかもしれない」と解釈される。もう一
方の側で何が起きているかを知る直接的な方法がないこ
とから、猶予期間が設けられる。値Sよりも著しく大き
い値S1に達するまで、ハート・ビート見落としカウン
タがSを過ぎることを許可される。その時点で、もしモ
ニタしたアダプタから「ハート・ビート」メッセージが
受信されなければ、アダプタは最終的にデス状態である
ことを宣言する。
【0048】もし「ハート・ビート」メッセージがカウ
ントXとSiとの間のある点で再び受信されると、猶予
期間が不活性化され、カウンタはゼロにリセットされ
る。猶予期間の目的は、メモリ枯渇又は何らかの他の要
因によって阻害されているリモート・デーモンを償うこ
とである。もし、リモート・アダプタ又はノードが実際
にデス状態であるならば、ICMP「エコー応答」パケ
ットが受信されなければならず、それによって猶予期間
の設定がなされない。その結果、正当な「アダプタがデ
ス状態となるイベント」が猶予期間によって遅れるとい
う概念があてはならない。そのような遅れが生ずる唯一
の機械は、対応するデーモンがデス状態になるか、もし
くは漠然と阻害された場合であり、そのような問題は、
過剰な負荷によってデーモンが一時的に阻害されるとい
うことよりも、比較的希である問題でなければならな
い。
【0049】Siの値は、大きな負荷状態にあるシステ
ムでデーモンが阻害される「最も大きい適当な期間」を
占めるように選択される。
【0050】Unix(R)システムの異なる「フレーバ
ーズ」上では、ICMPメッセージの送受信は「生ソケ
ット」を開くプログラムが必要である。生ソケットの挙
動は、ローカル・アダプタによって受信されたICMP
パケットの全てに対して生ソケットを開く各プラグラム
が与えられるようなものである。これらのパケットを処
理するために、CPUリソースが著しく費やされ、その
多くが送信された「エコー」メッセージとは関係ないも
のである。この問題を軽減するために、猶予期間を適用
するかどうかを決定する間、「生ソケット」はただ開い
たままにする。もし受信された「ハート・ビート」が見
失われていなければ、又はもし猶予期間がすでに所定の
位置にあるならば、生ソケットが閉じられる。
【0051】コミット準備(PTC)メッセージの猶予
期間 基本ハート・ビートメカニズムと同様に、グループの改
編もまたリアルタイム制約である。すなわち、もしノー
ドが時宜を得た方法で、すなわち「コミット準備_AC
K」メッセージを待つことをグループ・リーダが諦める
までに、「コミット準備」パケットへ応答し損なうなら
ば、グループ・リーダによって対応するアダプタがデス
状態であると宣言される。したがって、「コミット準
備」メッセージを送信又は該メッセージに応答しながら
デーモンが阻害される場合にメカニズムが必要とされ
る。
【0052】「コミット準備」メッセージに応答しなが
らデーモンが阻害されるノードを償うために、同様の
「ピング及び猶予期間」メカニズムが導入される。も
し、グループ・リーダが全ての再試行の後にでさえアダ
プタからの応答をいっさい得られないならば、グループ
・リーダはICMP(インターネット制御メッセージ・
プロトコル)エコー要求メッセージをアダプタへ送信す
る。もし、「エコー応答」メッセージが受信されるなら
ば、グループ・リーダは、リモート・デーモンが阻害さ
れていると推測し、そのための猶予期間を設定する。し
かし、このメカニズムは単独で問題を提示する。すなわ
ち、「コミット」メッセージを待っている間に他のアダ
プタの全て(猶予期間については知らない)が「タイム
・アウト」し、新しいグループを諦める。この問題を打
ち消すために、他のアダプタも「ピング及び猶予期間」
メカニズムをグループ・リーダに適用する。グループ・
リーダがICMPエコー要求メッセージに応答し、かつ
猶予期間が切れていない限り、他のアダプタは「コミッ
ト」メッセージを待ち続ける。注目すべきことは、非グ
ループ・リーダ・ノードによってインプリメントされた
猶予期間もまた、グループ・リーダ・ノードにあるデー
モンがそれ自身を阻害し始める状態を取り扱うというこ
とである。異なるノードが異なる再試行で「コミット準
備」命令を受け取る「コミット準備」再試行を非グルー
プ・リーダ・ノードによって適用された猶予期間が考慮
に入れる。
【0053】「デス」メッセージを送信するデーモンに
ついても上記と同じ方法が用いられる。「コミット準
備」メッセージが到着するにはあまりにも長い(グルー
プ・リーダ・ノードにあるデーモンが阻害されたためと
考えられる)場合に、ICMPエコー要求メッセージが
グループ・リーダに送られる。
【0054】上記メカニズムが成し遂げるものは、たと
えプロトコルが実行されている間にデーモンが阻害され
たとしても、新しいプロトコル・メッセージを生成する
ことなく新しいAMOにアダプタを含む能力である。
【0055】どれが本発明の構造、環境、及び動作の完
全な説明を提供するかを示すために注意が向けられる。
特に、図1が発明で使用される環境を理解する上で有用
である。環境は、ネットワーク・アダプタ110〜11
7によって相互接続(図に示すように、一般に多経路を
介して)複数のデータ処理ノード100、101、10
2、103から構成される。本発明が適用される典型的
なノードは、もともとRS/6000SP(スケーラブ
ル・パラレル用)と呼ばれるIBMのpシリーズのサー
バ製品である。一般に、各ノードは少なくとも1つの中
央処理装置、共用メモリ、ローカル・メモリ・キャッシ
ュ、及び内蔵の不揮発性記憶装置(一般にハード・ディ
スクDASDユニット)との接続を含む。各ノードの典
型的なオペレーティング・システムは、本発明の譲受人
によって供給されるようなAIXオペレーティング・シ
ステムである。各ノードは、AIXであってもなくても
よいがそれ自身のオペレーティング・システムで走るこ
とができる。AIXは、UNIX(R)に類似したプログ
ラムであり、オペレーティング・システムのカーネル
(又はコア)に向けられ、かつ基本的な「あなたはそこ
にいますか」のようなサービスを提供するために基本的
には低いレベルで動作する「ピング」等の命令に基づい
たエコー要求をサポートする。明らかに、ノードに障害
がある場合、又は複数のネットワーク・アダプタの一つ
に障害がある場合でも、通信上の問題が生ずる。
【0056】ネットワーク・アダプタのうちの障害また
は障害さえあるとき、コミュニケーション問題は起こる
ことができる。図2は、2つのノード・グループ、すな
わち一方のグループはノード200、201、及び20
2によって構成され、他方のグループはノード300、
301、及び302によって構成される)が存在する場
合について説明する。ノード200及び300は、それ
ぞれのグループのグループ・リーダである。グループ・
リーダ#1(ノード200)から「プロクレーム」メッ
セージが右端に示したグループに送られる。このメッセ
ージは、それ自身の現在のグループ内にあるノードに送
られる必要はない。それは、ネットワーク内の全ての既
知のノードへ送信される。しかし、そのようなメッセー
ジは、グループ・リーダによってのみ応答されるため、
図2では「プロクレーム」メッセージの送信を実線及び
破線を用いて示している。グループ・リーダのみが「プ
ロクレーム」メッセージに対して応答する。グループ・
リーダが既存のグループに参加を望む場合、該「プロク
レーム」メッセージを送信したグループ・リーダへの
「参加」メッセージの送信が応答となる。図2を参照せ
よ。グループ参加のためのプロトコルは、図4に示すよ
うに、関与する全てのノードに対して「コミット準備」
メッセージを送信することも含まれる。PTC信号に対
する通常の応答は、PTCメッセージの受信を認めるメ
ッセージの送信、すなわち図4に示すように同一ノード
からのPTC_ACK信号の送信である。この後者の信
号の送信は、とりわけ図5に示されている。
【0057】 図6は、「コミット」オペレーションに
関するさらなる送信を処理するためにグループ・リーダ
200から「メイア・ノード」200への「コミット同
報通信」メッセージ送信を使用することについて説明す
るためのものである。メイア・ノードの概念は、グルー
プ・リーダからの通信負担の一部を軽減するために好ま
しくは使われる。このことは、とりわけ図7に示されて
いる。図7は、メイア・ノード202からグループ・リ
ーダ200へ「コミット同報通信承認」メッセージを返
信することも示されている。また、図7は、「コミッ
ト」メッセージの送信プロトコルも示されている。特
に、「メイア」ノードの使用は、グループ・リーダ、特
に通信負担から負荷仕事を取り除く有用なメカニズムと
して用いられるように示されている。一般に、各サブネ
ット上に一つの「メイア」があり、またメイアはグルー
プ・リーダから特定の割り当てられたメッセージをその
サブネットへ中継する役割を担う。どれに対しても出力
される必要があるいくつかのメッセージに関して、グル
ープ・リーダは各サブユニットからメイア・ノードを選
択し、そのようなメイアに対してメッセージをポイント
・ツー・ポイントで送る。次に、各メイア・ノードは、
メッセージ同報通信又はポイント・ツー・ポイント(メ
ッセージの種類及びグループの大きさに応じて)をその
サブセット上の各アダプタに送信する。グループ・リー
ダからメイア及びメイアからサブセット・メッセージ
は、承認及び再試行の対象となる。もし、メイア・ノー
ドがメッセージの承認に失敗すると、グループ・リーダ
は失敗したメイアのサブセット上で新しいメイアを選択
してプロセスを繰り返す。いずれのものに対しても到達
する必要がある全てのメッセージがメイア・ノードを中
継として用いて送られはしない。例えば、「コミット準
備」(PTC)メッセージは、「グループ・リーダ・ワ
ント・ツー・ビー」からポイント・ツー・ポイントで各
及び全ての潜在的グループ・メンバに対して送られる。
この種のメッセージ送信では、メイア・ノードは用いら
れない。
【0058】ノードを加えるために確立されたプロトコ
ルの終わりで、グループ・リーダ200は、新しいグル
ープにあるノードの全てを新しいトポロジに組織する。
図8に示すように、このトポロジは、上記した理由(特
に、簡潔性及びスケーラビリティ)により、好ましくは
環状トッポロジである。本発明の好ましい実施形態で
は、新しいグループ・リーダが最も高いIPアドレスを
持つノードとなるように選択される。しかし、プロセス
が他のものと重複しない限り、任意の他の簡便なメカニ
ズムもまたこの目的のために用いられてもよい。例え
ば、最も長い時間働いていたノードが選択されてもよ
い。また、注目すべき点は、ノードのデス状態もまた新
しいグループ・トポロジの形成を招くということであ
る。ノード及び/又はグループ負荷のための新しいトポ
ロジの構築とともに使用可能である同じメカニズムもま
たノード・デス状態のイベントで使用可能である。しか
し、ノード・デス状態の場合、リング・トポロジ状況
は、事実上、消滅したノードを単にバイパスする特に新
しいトポロジによって組み立てることが容易である。
【0059】本発明が用いる基本的なオペレーション
は、上記したハート・ビートメカニズムである。これも
また図9、図10、及び図11でより詳細に示されてい
る。図9は、ハート・ビート・メッセージが環状トポロ
ジ・グループを順に回ることを示している。図10は、
ノード201でノード又はアダプタの障害が生ずること
を示している。ハート・ビート・メッセージが周期的で
あり、かつ特定の時間に予測されることから、ノード3
00でのその存在が見失われる。このようなことが生じ
た場合、ノード「デス・メッセージ」がノード300か
らグループ・リーダ200へ送信される。そして、グル
ープ・リーダ200は、消失したノード201をのぞく
新しいグループの形成を試みることによって応答する。
そうすることで、「コミット準備」(PTC)メッセー
ジが先のグループに残るノードの全てに送られ、実際の
ところ、グループ・リーダであるノード200に対する
PTCメッセージが含まれる。新たなグループ形成が上
記した方法で進行する。
【0060】図12は、ノード#2からノード#1での
ハート・ビート・メッセージの最初の受信を模式的に示
したものである。もし所定の数のそのようなメッセージ
が受信されなければ、ICMPエコー要求メッセージが
ノード#1からノード#2へ送信される。そのようなエ
コー要求メッセージは、優先度操作が利用可能であるポ
ート及び/又はソフトウェアに向けられる。そのような
メッセージが一般に非常に単純に設計され、かつ受信側
(又は送信側でも)リソース又はプロセッサ時間を著し
く長くする必要がないことから、その優先度が提供され
る。そのようなメッセージは単純で、かつ可能な限り素
早く応答する。したがって、たとえメモリ制約条件問題
等によって、特定の予測されたメッセージがホルド・ア
ップされても、ICPM要求及びICMPエコー応答は
素早く処理され、ノードのデス状態の早まった報告及び
誤った報告を防止できる。実際、ノードは「一時的な病
気」に被るだけである。
【0061】図13は、「短期間のノードの病気」では
なく、正真正銘のノード又はアダプタの障害が存在する
イベントでのハート・ビートとメッセージとの交換を示
す。特に、方法が特定の数の見失ったハート・ビート・
メッセージを許容することがわかる。特定の数のハート
・ビート・メッセージ(好ましくは2)が見失われた場
合、ICMPエコー要求メッセージを送信するためにい
くつかの試みがなされる。もしそのような試みを所定の
回数(好ましくは2回)行った場合、ノード#2はデス
を宣言する。
【0062】図14は、図13と類似しているが、ノー
ドがほんとうに「デス」ではなく、短期間の問題にさら
されているだけである場合に生ずる本発明の利点を説明
する。そのような場合、疑わしいノードがICMPエコ
ー要求メッセージを送られ、このメッセージに対する応
答が送信ノード(ここではノード#1)へ送られる。こ
のことによって、ハート・ビート・メッセージの再設定
のための猶予期間の設定を可能とする。示した例では、
閾値はそのようなハート・ビート数が5から8までの範
囲である。ここで、短期間の病気は、ノード#2上のデ
ーモンを阻害することによって、好ましくはメモリ制約
問題によって生ずる。しかし、同様に本発明が性能及び
安定性の恩恵を与える他の原因もあると思われる。
【0063】図15は、ハート・ビート・メッセージか
ら「コミット準備」(PCT)メッセージ送信への上記
方法の拡張を説明する。この例では、かかわっているノ
ードが3つしかない(図示を簡単にするため)。すなわ
ち、ノード#1、ノード#2、及びノード#3である。
シーケンスは、ノード#1からの「コミット準備」メッ
セージの送信(他のノードの全てに対して)によって開
始する。また、このメッセージは、PTCメッセージへ
の応答が期待される時期を決定するためのメカニズムと
して「PTC再試行タイマ」を開始させる。ノード#3
からの承認メッセージの欠如によって(デス状態のノー
ド又はアダプタとは対照的に阻害されたデーモンによ
る)ノード#3に第2のPTCメッセージの送信が引き
起こされる。PCT再試行#1に対する応答の欠如によ
ってノード#3に対する低いレベルでのICMPエコー
要求の送信が引き起こされる。PTCメッセージに対す
る応答の欠如は、一時的なデーモン阻害によるのみであ
ることから、ノード#1へ送信されたICMPエコー応
答メッセージによって、ノード#3は依然としてエコー
要求メッセージに対する応答が可能である。ノード#1
でのICMPエコー応答メッセージの受信は、ノード#
3が一時的に阻害されただけであり、「デス」状態とな
ったわけではないことを意味している。このことによっ
て、ノード#3でのデーモン阻害にもかかわらず、PT
Cメッセージの承認の時間を延ばすことが可能となる。
この例では、PTCメッセージはノード#2及びノード
#3に送られる。ノード#2はPTC_ACK(承認)
メッセージによって応答する。ノード#3から元のPT
C_ACKメッセージへの応答の欠如は、ノード#3に
対するICMPエコー要求メッセージの送信を引き起こ
す。上記したように、このメッセージは、単純で、より
いっそう直接的であり、さらにノード及びそのアダプタ
・ユニットが活きているか、さもなければビジー状態で
あるイベントにいて応答する可能性がよりいっそう高
い。このメッセージ交換が最初にノード#1とノード#
3との間で起きている間、一時的に、ノード#2は元の
PTCメッセージを承認し、ノード#1からの「コミッ
ト」メッセージを待つ。もし、ノード#2が「コミッ
ト」メッセージを受信せず、その予定到着時間が過ぎた
場合、ノード#2は問題があるとまた考え、好ましくは
ICMPエコー要求メッセージをノード#1へ送信す
る。図15によれば、ノード#2から送られたICMP
エコー要求メッセージに対する応答(すなわち、ICM
Pエコー応答メッセージ)はノード#1で受信されるこ
とがわかる。したがって、認識及び延長についての類似
のデフォルト初期設定によって、コミット・メッセージ
を受信するための通常の最終期限が実質的に上記と同様
の方法で延長される。このことは、すべてのノードが最
終的にコミット・メッセージを受信し、かつ応答するこ
とを保証する。
【0064】上記のことから、上記した目的の全てが本
発明の1つ以上の実施形態において達成されることを理
解すべきである。また、ほとんどがその機能性に対して
の相対的に低い優先度のメッセージ送信に基づき、また
取って代わりうるメカニズムとして猶予期間と組み合わ
せてエコー要求メッセージを用いることで、より低い、
より高い優先度のメッセージ送信に反転することができ
るリモート・アダプタ及び/又はノード障害を検出する
ためのメカニズムが提供されることも理解すべきであ
る。特に、本発明は分散プロトコルの実行中に阻害され
たデーモンを処理するためのメカニズムを提供すること
がわかる。さらに、本発明は新たなメッセージをプロト
コルに導入する必要がないこともわかる。
【0065】以上、本発明の特定の好ましい実施形態に
もとづいて本発明を詳細に説明してきたが、当業者によ
って多くの変更及び改良が加えられるかもしれない。し
かし、それらの変更及び改良は、特許請求の範囲によっ
て明らかなように、本発明の精神及び範囲内に含まれる
ことは言うまでもない。
【0066】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)複数の連結したデータ処理ノードからなるネット
ワークでのノード状態を決定するための方法であって、
周期的に、前記少なくとも1つの他のノード上で実行さ
れるデーモン・プログラムに向けて、前記ネットワーク
内の前記ノードの1つから少なくとも1つの他のノード
へ第1のメッセージを送信するステップと、送信された
所定数の第1のメッセージが受信されていないことを前
記少なくとも1つの他のノードで決定するステップと、
前記デーモンよりも応答の遅れが生じにくい前記ノード
の1つで実行される他のプログラムに向けられた第2の
メッセージを、前記少なくとも1つの他のノードから前
記ノードの1つへ送信するステップと、を有することを
特徴とする方法。 (2)前記他のプログラムは、潜在的に障害が起こった
ノード上で実行されるオペレーティング・システム・カ
ーネルの一部分であることを特徴とする上記(1)に記
載の方法。 (3)前記デーモンは、前記ノードの1つ内でのメモリ
割り当て制約によって前記第1の所定の時間内で応答す
ることが妨げられていることを特徴とする上記(1)に
記載の方法。 (4)前記デーモンは、前記ノードの1つ内でのプログ
ラム優先度制約によって前記第1の所定の時間内で応答
することが妨げられていることを特徴とする上記(1)
に記載の方法。 (5)前記第2のメッセージに対する応答がない場合、
前記ノードの1つがデス状態であることを報告するステ
ップをさらに有することを特徴とする上記(1)に記載
の方法。 (6)前記特定の数は、2であることを特徴とする上記
(2)に記載の方法。 (7)前記第2のメッセージに対する応答がない場合、
前記第1のメッセージの応答するための猶予期間を設定
するステップをさらに有することを特徴とする上記
(1)に記載の方法。 (8)前記猶予期間の終わりで前記第1のメッセージの
続いて起こる送信に対する応答がない場合、前記少なく
とも1つのノードはデス状態であることを報告するステ
ップをさらに有することを特徴とする上記(7)に記載
の方法。 (9)連結データ処理ネットワーク内の複数のノードか
らなるグループに対して新しいメンバを加えるための方
法であって、現在のところ前記グループの一部ではない
前記ネットワーク構成の選択ノードに対して、第1のグ
ループ・リーダ・ノードからプロクレーム・メッセージ
を周期的に送信するステップと、前記第1のグループ・
リーダ・ノードからの前記プロクレーム・メッセージに
対する応答を、低いネットワーク・アドレスを持つ他の
グループのグループ・リーダから、任意の参加している
グループのメンバシップ・リストを含む参加メッセージ
によって行うステップと、前記参加しているグループの
いずれかにある前記ノードに対してコミット準備メッセ
ージを送信するステップと、前記第1のグループ・リー
ダ・ノードで、少なくとも1つのノードから、前記コミ
ット準備メッセージの承認を受信するステップと、更新
されたメンバーシップ・リストとともにコミット・メッ
セージを前記更新されたリスト上の全てのノードに対し
て送信するステップと、前記周期的な送信に続いて、所
定数の前記コミット準備メッセージが潜在的に障害が起
こったノードから受信されていないことを決定するステ
ップと、前記コミット準備メッセージよりも遅延が生じ
にくい前記潜在的に障害がおきるノード上で実行される
他のプログラムに対して向けられるエコー要求メッセー
ジを前記潜在的に障害がおきるノードに対して送信する
ステップと、を有することを特徴とする方法。 (10)前記他のプログラムは、前記潜在的に障害が起
こったノード上で実行されるオペレーティング・システ
ム・カーネルの一部であることを特徴とする上記(9)
の方法。 (11)前記潜在的に障害が起こったノードは、前記潜
在的に障害が起こったノード内のメモリ割り当て制約に
よる前記第1の特定時間内で応答することが妨げられる
ことを特徴とする上記(9)の方法。 (12)前記潜在的に障害が起こったノードは、前記潜
在的に障害が起こったノード内のプログラム優先度制約
による前記第1の特定時間内で応答することが妨げられ
ることを特徴とする上記(9)の方法。 (13)前記エコー要求メッセージに対する応答がない
場合に前記潜在的に障害が起こったノードがデス状態で
あることを報告するステップをさらに有することを特徴
とする上記(9)に記載の方法。 (14)前記エコー要求メッセージが送信される前に応
答なしで、前記プロクレーム・メッセージが3回送信さ
れることを特徴とする上記(9)に記載の方法。 (15)前記エコー要求メッセージに対する応答を受信
した場合に前記コミット準備メッセージに対する応答の
猶予期間を設定するステップをさらに有することを特徴
とする上記(9)の方法。 (16)前記猶予期間の終わりに前記コミット準備メッ
セージに対する応答がない場合に、前記潜在的に障害が
起こったノードがデス状態となっていることを報告する
ステップをさらに有することを特徴とする上記(14)
に記載の方法。 (17)データ処理のための装置であって、複数のデー
タ処理ノードからなるグループへの前記ノードの相互接
続を制御するための各ノードにおけるプログラムによる
前記ノードを一緒に制御のためのオペレーティング・シ
ステムを有する前記ノードからなる接続ネットワーク
と、前記ネットワークの少なくとも1つの他のノードに
対して、前記少なくとも1つの他のノードで周期的に受
信されることが期待され、かつ前記ノードの1つ上で実
行されるデーモン・プログラムによって送信される第1
のメッセージを、前記ノードの1つから周期的に送信す
るための前記ノードの1つ内の第1のプログラム手段
と、所定数の前記周期内で前記第1のメッセージの受信
に失敗した後に、前記ノードの1つに対して第2のメッ
セージを送信するとともに、前記ノードの1つ上で実行
され、かつ前記第1のプログラムよりも応答の遅れが生
じにくい他のプログラムに向けられた前記少なくとも1
つの他のノード内の第2のプログラムと、を有すること
を特徴とする方法。 (18)複数のデータ処理ノードからなる相互接続ネッ
トワークで使用されるプログラム手段を含む機械可読媒
体内又は該機械可読媒体上に格納されたコンピュータ・
プログラム製品であって、前記プログラム手段は、周期
的に、前記少なくとも1つの他のノード上で実行される
デーモン・プログラムに向けて、前記ネットワーク内の
前記ノードの1つから少なくとも1つの他のノードへ第
1のメッセージを送信すること、送信された所定数の第
1のメッセージが受信されていないことを前記少なくと
も1つの他のノードで決定すること、前記デーモンより
も応答の遅れが生じにくい前記ノードの1つで実行され
る他のプログラムに向けられた第2のメッセージを、前
記少なくとも1つの他のノードから前記ノードの1つへ
送信すること、に対して作用することを特徴とするコン
ピュータ・プログラム製品。
【図面の簡単な説明】
【図1】本発明が適用される環境、すなわち複数のデー
タ処理ノードからなる相互通信ネットワーク内の環境を
説明するためのブロック図である。
【図2】「プロクレーム」メッセージの送信で使用され
たノードの範囲を説明する信号フロー図である。
【図3】図2に類似した図であって、特に、「プロクレ
ーム」メッセージに対する「参加」応答に関係したノー
ドを説明するための信号フロー図である。
【図4】図2及び図3に類似した図あって、特に、新し
いノードをグループに参加させることに関係したプロト
コルの「コミット準備」(PTC)メッセージの送信を
説明するための信号フロー図である。
【図5】図4に類似した図であって、特に、「コミット
準備」メッセージ送信の承認(PTC_ACK)を説明
するための信号フロー図である。
【図6】「コミット」同報通信メッセージに関係してい
るノードを説明するための信号フロー図である。
【図7】図6に類似した図であって、特に、「コミッ
ト」メッセージの送信におけるノードの範囲を説明する
ための信号フロー図である。
【図8】複数のノードからなる新たなグループの形成に
続いて現れる環状接続を説明するためのノード・トポロ
ジ図である。
【図9】ノード・グループ内でのハート・ビート・メッ
セージの伝わる方向を説明するための信号フロー図であ
る。
【図10】図9に類似した図であって、特に、ノード・
デスのイベントにおける「デス」メッセージ送信を説明
するための信号フロー図である。
【図11】図9及び図10に類似した図であって、特
に、「コミット準備」メッセージが送信されるノードの
範囲を説明するための信号フロー図である。
【図12】より低いレベル及び/又はより高い優先度エ
コー要求メッセージが送られる前にいくつかのハート・
ビート・メッセージが見逃される概念を説明するための
時系列図である。
【図13】ノード2のトポロジ・サービス・デーモンが
一時的に阻害されている状態でのメッセージ送信を説明
するためのイベント時系列図である。
【図14】ノード2がデスとなった状態でのメッセージ
送信を説明するためのイベント時系列図である。
【図15】「コミット準備」メッセージ及びそれに対応
する承認メッセージの送信を説明するためのイベント時
系列図である。
【符号の説明】
100、101、102、103 データ処理ノード 110、111、112、113、114、115、1
16、117 ネットワーク・アダプタ 200 ノード(グループ・リーダ) 201、202 ノード 300 ノード(グループ・リーダ) 301、302 ノード
フロントページの続き (72)発明者 チュン−シ・チャン アメリカ合衆国12603 ニューヨーク州、 ポウケプシィ、 サドル・ロック・ドラ イブ 6 (72)発明者 フェリペ・ノップ アメリカ合衆国12603−6333 ニューヨー ク州、 ポウケプシィ、 ラファイエッ ト・コート 9 (72)発明者 テン−フィ・リン アメリカ合衆国12601 ニューヨーク州、 ポウケプシィ、 ハドソン・ハーバー・ ドライブ 10 #イー (72)発明者 フランク・ビー・シュムック アメリカ合衆国95008 カリフォリニア州 キャンプベル、 ユニオン・アヴェニュ ー 406−エー Fターム(参考) 5B045 BB28 BB42 GG01 JJ02 JJ07 JJ13 JJ48 5B089 GB01 GB02 KA12 MC07 MD02 ME17 5B098 AA10 GA01 GC16

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】複数の連結したデータ処理ノードからなる
    ネットワークでのノード状態を決定するための方法であ
    って、 周期的に、前記少なくとも1つの他のノード上で実行さ
    れるデーモン・プログラムに向けて、前記ネットワーク
    内の前記ノードの1つから少なくとも1つの他のノード
    へ第1のメッセージを送信するステップと、 送信された所定数の第1のメッセージが受信されていな
    いことを前記少なくとも1つの他のノードで決定するス
    テップと、 前記デーモンよりも応答の遅れが生じにくい前記ノード
    の1つで実行される他のプログラムに向けられた第2の
    メッセージを、前記少なくとも1つの他のノードから前
    記ノードの1つへ送信するステップと、 を有することを特徴とする方法。
  2. 【請求項2】前記他のプログラムは、潜在的に障害が起
    こったノード上で実行されるオペレーティング・システ
    ム・カーネルの一部分であることを特徴とする請求項1
    に記載の方法。
  3. 【請求項3】前記デーモンは、前記ノードの1つ内での
    メモリ割り当て制約によって前記第1の所定の時間内で
    応答することが妨げられていることを特徴とする請求項
    1に記載の方法。
  4. 【請求項4】前記デーモンは、前記ノードの1つ内での
    プログラム優先度制約によって前記第1の所定の時間内
    で応答することが妨げられていることを特徴とする請求
    項1に記載の方法。
  5. 【請求項5】前記第2のメッセージに対する応答がない
    場合、前記ノードの1つがデス状態であることを報告す
    るステップをさらに有することを特徴とする請求項1に
    記載の方法。
  6. 【請求項6】前記特定の数は、2であることを特徴とす
    る請求項2に記載の方法。
  7. 【請求項7】前記第2のメッセージに対する応答がない
    場合、前記第1のメッセージの応答するための猶予期間
    を設定するステップをさらに有することを特徴とする請
    求項1に記載の方法。
  8. 【請求項8】前記猶予期間の終わりで前記第1のメッセ
    ージの続いて起こる送信に対する応答がない場合、前記
    少なくとも1つのノードはデス状態であることを報告す
    るステップをさらに有することを特徴とする請求項7に
    記載の方法。
  9. 【請求項9】連結データ処理ネットワーク内の複数のノ
    ードからなるグループに対して新しいメンバを加えるた
    めの方法であって、 現在のところ前記グループの一部ではない前記ネットワ
    ーク構成の選択ノードに対して、第1のグループ・リー
    ダ・ノードからプロクレーム・メッセージを周期的に送
    信するステップと、 前記第1のグループ・リーダ・ノードからの前記プロク
    レーム・メッセージに対する応答を、低いネットワーク
    ・アドレスを持つ他のグループのグループ・リーダか
    ら、任意の参加しているグループのメンバシップ・リス
    トを含む参加メッセージによって行うステップと、 前記参加しているグループのいずれかにある前記ノード
    に対してコミット準備メッセージを送信するステップ
    と、 前記第1のグループ・リーダ・ノードで、少なくとも1
    つのノードから、前記コミット準備メッセージの承認を
    受信するステップと、 更新されたメンバーシップ・リストとともにコミット・
    メッセージを前記更新されたリスト上の全てのノードに
    対して送信するステップと、 前記周期的な送信に続いて、所定数の前記コミット準備
    メッセージが潜在的に障害が起こったノードから受信さ
    れていないことを決定するステップと、 前記コミット準備メッセージよりも遅延が生じにくい前
    記潜在的に障害がおきるノード上で実行される他のプロ
    グラムに対して向けられるエコー要求メッセージを前記
    潜在的に障害がおきるノードに対して送信するステップ
    と、 を有することを特徴とする方法。
  10. 【請求項10】前記他のプログラムは、前記潜在的に障
    害が起こったノード上で実行されるオペレーティング・
    システム・カーネルの一部であることを特徴とする請求
    項9の方法。
  11. 【請求項11】前記潜在的に障害が起こったノードは、
    前記潜在的に障害が起こったノード内のメモリ割り当て
    制約による前記第1の特定時間内で応答することが妨げ
    られることを特徴とする請求項9の方法。
  12. 【請求項12】前記潜在的に障害が起こったノードは、
    前記潜在的に障害が起こったノード内のプログラム優先
    度制約による前記第1の特定時間内で応答することが妨
    げられることを特徴とする請求項9の方法。
  13. 【請求項13】前記エコー要求メッセージに対する応答
    がない場合に前記潜在的に障害が起こったノードがデス
    状態であることを報告するステップをさらに有すること
    を特徴とする請求項9に記載の方法。
  14. 【請求項14】前記エコー要求メッセージが送信される
    前に応答なしで、前記プロクレーム・メッセージが3回
    送信されることを特徴とする請求項9に記載の方法。
  15. 【請求項15】前記エコー要求メッセージに対する応答
    を受信した場合に前記コミット準備メッセージに対する
    応答の猶予期間を設定するステップをさらに有すること
    を特徴とする請求項9の方法。
  16. 【請求項16】前記猶予期間の終わりに前記コミット準
    備メッセージに対する応答がない場合に、前記潜在的に
    障害が起こったノードがデス状態となっていることを報
    告するステップをさらに有することを特徴とする請求項
    14に記載の方法。
  17. 【請求項17】データ処理のための装置であって、 複数のデータ処理ノードからなるグループへの前記ノー
    ドの相互接続を制御するための各ノードにおけるプログ
    ラムによる前記ノードを一緒に制御のためのオペレーテ
    ィング・システムを有する前記ノードからなる接続ネッ
    トワークと、 前記ネットワークの少なくとも1つの他のノードに対し
    て、前記少なくとも1つの他のノードで周期的に受信さ
    れることが期待され、かつ前記ノードの1つ上で実行さ
    れるデーモン・プログラムによって送信される第1のメ
    ッセージを、前記ノードの1つから周期的に送信するた
    めの前記ノードの1つ内の第1のプログラム手段と、 所定数の前記周期内で前記第1のメッセージの受信に失
    敗した後に、前記ノードの1つに対して第2のメッセー
    ジを送信するとともに、前記ノードの1つ上で実行さ
    れ、かつ前記第1のプログラムよりも応答の遅れが生じ
    にくい他のプログラムに向けられた前記少なくとも1つ
    の他のノード内の第2のプログラムと、 を有することを特徴とする方法。
  18. 【請求項18】複数のデータ処理ノードからなる相互接
    続ネットワークで使用されるプログラム手段を含む機械
    可読媒体内又は該機械可読媒体上に格納されたコンピュ
    ータ・プログラム製品であって、 前記プログラム手段は、 周期的に、前記少なくとも1つの他のノード上で実行さ
    れるデーモン・プログラムに向けて、前記ネットワーク
    内の前記ノードの1つから少なくとも1つの他のノード
    へ第1のメッセージを送信すること、 送信された所定数の第1のメッセージが受信されていな
    いことを前記少なくとも1つの他のノードで決定するこ
    と、 前記デーモンよりも応答の遅れが生じにくい前記ノード
    の1つで実行される他のプログラムに向けられた第2の
    メッセージを、前記少なくとも1つの他のノードから前
    記ノードの1つへ送信すること、 に対して作用することを特徴とするコンピュータ・プロ
    グラム製品。
JP2002124292A 2001-05-08 2002-04-25 ノード状態を決定するための方法 Expired - Fee Related JP3818647B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/850809 2001-05-08
US09/850,809 US7120693B2 (en) 2001-05-08 2001-05-08 Method using two different programs to determine state of a network node to eliminate message response delays in system processing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005326925A Division JP4174057B2 (ja) 2001-05-08 2005-11-11 2つ以上のノードからなる第1のグループに対して新しいメンバを加えるための方法

Publications (2)

Publication Number Publication Date
JP2003030165A true JP2003030165A (ja) 2003-01-31
JP3818647B2 JP3818647B2 (ja) 2006-09-06

Family

ID=25309163

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002124292A Expired - Fee Related JP3818647B2 (ja) 2001-05-08 2002-04-25 ノード状態を決定するための方法
JP2005326925A Expired - Fee Related JP4174057B2 (ja) 2001-05-08 2005-11-11 2つ以上のノードからなる第1のグループに対して新しいメンバを加えるための方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005326925A Expired - Fee Related JP4174057B2 (ja) 2001-05-08 2005-11-11 2つ以上のノードからなる第1のグループに対して新しいメンバを加えるための方法

Country Status (2)

Country Link
US (5) US7120693B2 (ja)
JP (2) JP3818647B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005124171A (ja) * 2003-10-17 2005-05-12 Microsoft Corp 保証された分散型の障害通知を提供する方法
KR100780409B1 (ko) * 2005-09-21 2007-11-28 주식회사 헤코 플러그 박스 및 그 개폐장치
JP2007538306A (ja) * 2004-03-10 2007-12-27 スケールアウト ソフトウェア インコーポレイテッド 拡張可能で高度に利用可能なクラスタメンバーシップアーキテクチャ
JP2008210412A (ja) * 2003-02-12 2008-09-11 Internatl Business Mach Corp <Ibm> マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158668A (ja) * 2000-11-17 2002-05-31 Denso Corp 車両用ネットワークシステムの異常検出装置
CA2392942C (en) * 2001-07-10 2010-03-16 Tropic Networks Inc. Protection system and method for resilient packet ring (rpr) interconnection
US6889338B2 (en) * 2001-08-15 2005-05-03 Nortel Networks Limited Electing a master server using election periodic timer in fault-tolerant distributed dynamic network systems
AUPR705801A0 (en) * 2001-08-15 2001-09-06 Integrated Research Limited A node management system
US7203748B2 (en) * 2002-02-15 2007-04-10 International Business Machines Corporation Method for detecting the quick restart of liveness daemons in a distributed multinode data processing system
JP3976262B2 (ja) * 2003-01-30 2007-09-12 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバおよびプログラム
US20050021737A1 (en) * 2003-05-01 2005-01-27 Ellison Carl M. Liveness protocol
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US7496659B1 (en) * 2003-08-06 2009-02-24 Cisco Technology, Inc. Method and apparatus for monitoring the availability of network resources
US7284147B2 (en) * 2003-08-27 2007-10-16 International Business Machines Corporation Reliable fault resolution in a cluster
US7555504B2 (en) * 2003-09-23 2009-06-30 Emc Corporation Maintenance of a file version set including read-only and read-write snapshot copies of a production file
US20050108481A1 (en) * 2003-11-17 2005-05-19 Iyengar Arun K. System and method for achieving strong data consistency
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
DE102004044987A1 (de) * 2004-09-16 2006-03-30 Siemens Ag Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zur Überwachung eines Systemzustands eines Systems mit verteilten Komponenten, insbesondere eines Netzwerks mit verteilten Komponenten, Netzwerk mit verteilten Komponenten
US8126843B2 (en) 2004-11-30 2012-02-28 International Business Machines Corporation Cluster-wide read-copy update system and method
US7437595B2 (en) * 2005-02-07 2008-10-14 International Business Machines Corporation Row fault detection system
US8495411B2 (en) * 2005-02-07 2013-07-23 International Business Machines Corporation All row, planar fault detection system
US7451342B2 (en) * 2005-02-07 2008-11-11 International Business Machines Corporation Bisectional fault detection system
US8051170B2 (en) * 2005-02-10 2011-11-01 Cisco Technology, Inc. Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
US7543020B2 (en) * 2005-02-10 2009-06-02 Cisco Technology, Inc. Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups
US8050183B2 (en) * 2005-05-06 2011-11-01 Cisco Technology, Inc. System and method for implementing reflector ports within hierarchical networks
US20060268729A1 (en) * 2005-05-27 2006-11-30 Alcatel Methods and apparatus for monitoring link integrity for signaling traffic over a path traversing hybrid ATM/Ethernet infrastructure in support of packet voice service provisioning
US7496663B2 (en) * 2005-08-29 2009-02-24 International Business Machines Corporation System and method for detecting status changes in a network using virtual coordinate mapping
KR20070072709A (ko) * 2006-01-02 2007-07-05 삼성전자주식회사 무선 개인영역 통신 게임에서의 브로컨 노드 관리 방법
US7953890B1 (en) * 2006-01-27 2011-05-31 Symantec Operating Corporation System and method for switching to a new coordinator resource
US8117301B2 (en) * 2006-01-30 2012-02-14 Juniper Networks, Inc. Determining connectivity status for unnumbered interfaces of a target network device
US7852778B1 (en) 2006-01-30 2010-12-14 Juniper Networks, Inc. Verification of network paths using two or more connectivity protocols
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US20100034194A1 (en) * 2006-10-11 2010-02-11 Siemens Communications Inc. Eliminating unreachable subscribers in voice-over-ip networks
US7937610B2 (en) * 2007-04-27 2011-05-03 International Business Machines Corporation Fast node failure detection via disk based last gasp mechanism
US7940695B1 (en) 2007-06-08 2011-05-10 Juniper Networks, Inc. Failure detection for tunneled label-switched paths
US20080320071A1 (en) * 2007-06-21 2008-12-25 International Business Machines Corporation Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
US7917800B2 (en) * 2008-06-23 2011-03-29 International Business Machines Corporation Using device status information to takeover control of devices assigned to a node
US8918670B2 (en) * 2008-10-29 2014-12-23 Hewlett-Packard Development Company, L.P. Active link verification for failover operations in a storage network
US8903973B1 (en) * 2008-11-10 2014-12-02 Tanium Inc. Parallel distributed network management
US20100228824A1 (en) * 2009-03-06 2010-09-09 Cisco Technology, Inc. Distributed server selection for online collaborative computing sessions
US8307085B2 (en) * 2010-03-16 2012-11-06 Microsoft Corporation Storing state of distributed architecture in external store
US8339973B1 (en) 2010-09-07 2012-12-25 Juniper Networks, Inc. Multicast traceroute over MPLS/BGP IP multicast VPN
US8850262B2 (en) * 2010-10-12 2014-09-30 International Business Machines Corporation Inter-processor failure detection and recovery
US8639834B2 (en) 2010-11-09 2014-01-28 International Business Machines Corporation Self-adjusting application heartbeat management
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US8893008B1 (en) * 2011-07-12 2014-11-18 Relationship Science LLC Allowing groups expanded connectivity to entities of an information service
US9135097B2 (en) * 2012-03-27 2015-09-15 Oracle International Corporation Node death detection by querying
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US8751499B1 (en) 2013-01-22 2014-06-10 Splunk Inc. Variable representative sampling under resource constraints
US8902780B1 (en) 2012-09-26 2014-12-02 Juniper Networks, Inc. Forwarding detection for point-to-multipoint label switched paths
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US8910265B2 (en) 2012-09-28 2014-12-09 Sonos, Inc. Assisted registration of audio sources
US11172470B1 (en) 2012-12-21 2021-11-09 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US9246977B2 (en) 2012-12-21 2016-01-26 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US9258234B1 (en) 2012-12-28 2016-02-09 Juniper Networks, Inc. Dynamically adjusting liveliness detection intervals for periodic network communications
US8953460B1 (en) 2012-12-31 2015-02-10 Juniper Networks, Inc. Network liveliness detection using session-external communications
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9817721B1 (en) * 2014-03-14 2017-11-14 Sanmina Corporation High availability management techniques for cluster resources
US10873645B2 (en) 2014-03-24 2020-12-22 Tanium Inc. Software application updating in a local network
US9769017B1 (en) 2014-09-26 2017-09-19 Juniper Networks, Inc. Impending control plane disruption indication using forwarding plane liveliness detection protocols
US11533255B2 (en) 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
US9876714B2 (en) 2014-11-14 2018-01-23 Nicira, Inc. Stateful services on stateless clustered edge
US10044617B2 (en) * 2014-11-14 2018-08-07 Nicira, Inc. Stateful services on stateless clustered edge
US9866473B2 (en) 2014-11-14 2018-01-09 Nicira, Inc. Stateful services on stateless clustered edge
TWI561031B (en) * 2014-12-04 2016-12-01 Inventec Corp Method of determining status of serving node
US11461208B1 (en) 2015-04-24 2022-10-04 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US9910752B2 (en) 2015-04-24 2018-03-06 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10373128B2 (en) 2015-06-25 2019-08-06 Bank Of America Corporation Dynamic resource management associated with payment instrument exceptions processing
US10049350B2 (en) 2015-06-25 2018-08-14 Bank Of America Corporation Element level presentation of elements of a payment instrument for exceptions processing
US10115081B2 (en) * 2015-06-25 2018-10-30 Bank Of America Corporation Monitoring module usage in a data processing system
US10229395B2 (en) 2015-06-25 2019-03-12 Bank Of America Corporation Predictive determination and resolution of a value of indicia located in a negotiable instrument electronic image
JP6474358B2 (ja) * 2015-08-25 2019-02-27 信越化学工業株式会社 導電性ポリマー複合体及び基板
US10374936B2 (en) 2015-12-30 2019-08-06 Juniper Networks, Inc. Reducing false alarms when using network keep-alive messages
US11886229B1 (en) 2016-03-08 2024-01-30 Tanium Inc. System and method for generating a global dictionary and performing similarity search queries in a network
US10929345B2 (en) 2016-03-08 2021-02-23 Tanium Inc. System and method of performing similarity search queries in a network
US11372938B1 (en) 2016-03-08 2022-06-28 Tanium Inc. System and method for performing search requests in a network
US11153383B2 (en) 2016-03-08 2021-10-19 Tanium Inc. Distributed data analysis for streaming data sources
US11609835B1 (en) 2016-03-08 2023-03-21 Tanium Inc. Evaluating machine and process performance in distributed system
US20170288866A1 (en) * 2016-03-30 2017-10-05 AVAST Software s.r.o. Systems and methods of creating a distributed ring of trust
US10116544B2 (en) 2016-06-21 2018-10-30 Juniper Networks, Inc. Extended ping protocol for determining status for remote interfaces without requiring network reachability
US10397085B1 (en) 2016-06-30 2019-08-27 Juniper Networks, Inc. Offloading heartbeat responses message processing to a kernel of a network device
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10742408B2 (en) 2017-02-27 2020-08-11 Cord3 Innovation Inc. Many-to-many symmetric cryptographic system and method
US10824729B2 (en) 2017-07-14 2020-11-03 Tanium Inc. Compliance management in a local network
US10951584B2 (en) 2017-07-31 2021-03-16 Nicira, Inc. Methods for active-active stateful network service cluster
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
US11570092B2 (en) 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US11398965B2 (en) * 2018-01-31 2022-07-26 Hewlett Packard Enterprise Development Lp Backup node operation
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US10841365B2 (en) 2018-07-18 2020-11-17 Tanium Inc. Mapping application dependencies in a computer network
US11343355B1 (en) 2018-07-18 2022-05-24 Tanium Inc. Automated mapping of multi-tier applications in a distributed system
US11750441B1 (en) 2018-09-07 2023-09-05 Juniper Networks, Inc. Propagating node failure errors to TCP sockets
US11831670B1 (en) 2019-11-18 2023-11-28 Tanium Inc. System and method for prioritizing distributed system risk remediations
US11563764B1 (en) 2020-08-24 2023-01-24 Tanium Inc. Risk scoring based on compliance verification test results in a local network
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
JPH0624366B2 (ja) * 1988-11-24 1994-03-30 日本電気株式会社 ネットワーク障害回復方式
JPH05304528A (ja) 1992-04-24 1993-11-16 Omron Corp 多重化通信ノード
JPH06276202A (ja) 1993-03-18 1994-09-30 Fuji Xerox Co Ltd 無応答障害監視装置
TW393498B (en) * 1995-04-04 2000-06-11 Novartis Ag The preparation and use of Polysiloxane-comprising perfluoroalkyl ethers
US5805593A (en) * 1995-09-26 1998-09-08 At&T Corp Routing method for setting up a service between an origination node and a destination node in a connection-communications network
US5805578A (en) * 1995-10-27 1998-09-08 International Business Machines Corporation Automatic reconfiguration of multipoint communication channels
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5946498A (en) * 1996-11-12 1999-08-31 International Business Machines Corporation Delivery of client remote procedure calls to a server via a request queue utilizing priority and time-out
US6178327B1 (en) * 1998-05-08 2001-01-23 Motorola, Inc. Method and apparatus for providing fault tolerance in frequency reuse wireless communication systems
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6138049A (en) * 1997-08-22 2000-10-24 Honeywell International Inc. System and methods for generating and distributing alarm and event notifications
US6061723A (en) * 1997-10-08 2000-05-09 Hewlett-Packard Company Network management event correlation in environments containing inoperative network elements
US6195760B1 (en) * 1998-07-20 2001-02-27 Lucent Technologies Inc Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network
US7069320B1 (en) * 1999-10-04 2006-06-27 International Business Machines Corporation Reconfiguring a network by utilizing a predetermined length quiescent state
US6917985B2 (en) * 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6885644B1 (en) * 2000-05-30 2005-04-26 International Business Machines Corporation Topology propagation in a distributed computing environment with no topology message traffic in steady state
US7325046B1 (en) * 2000-05-31 2008-01-29 International Business Machines Corporation Method, system and program products for managing processing groups of a distributed computing environment
US6823355B1 (en) * 2000-05-31 2004-11-23 International Business Machines Corporation Synchronous replication of transactions in a distributed system
US6804712B1 (en) * 2000-06-30 2004-10-12 Cisco Technology, Inc. Identifying link failures in a network
US6968359B1 (en) * 2000-08-14 2005-11-22 International Business Machines Corporation Merge protocol for clustered computer system
US6839752B1 (en) * 2000-10-27 2005-01-04 International Business Machines Corporation Group data sharing during membership change in clustered computer system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210412A (ja) * 2003-02-12 2008-09-11 Internatl Business Mach Corp <Ibm> マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法
JP2005124171A (ja) * 2003-10-17 2005-05-12 Microsoft Corp 保証された分散型の障害通知を提供する方法
JP4633426B2 (ja) * 2003-10-17 2011-02-16 マイクロソフト コーポレーション 保証された分散型の障害通知を提供する方法
JP2007538306A (ja) * 2004-03-10 2007-12-27 スケールアウト ソフトウェア インコーポレイテッド 拡張可能で高度に利用可能なクラスタメンバーシップアーキテクチャ
KR100780409B1 (ko) * 2005-09-21 2007-11-28 주식회사 헤코 플러그 박스 및 그 개폐장치

Also Published As

Publication number Publication date
JP2006146913A (ja) 2006-06-08
JP4174057B2 (ja) 2008-10-29
US7412499B2 (en) 2008-08-12
US7409453B2 (en) 2008-08-05
US7747756B2 (en) 2010-06-29
US7120693B2 (en) 2006-10-10
US20080291837A1 (en) 2008-11-27
JP3818647B2 (ja) 2006-09-06
US20020169861A1 (en) 2002-11-14
US20060259619A1 (en) 2006-11-16
US20080288645A1 (en) 2008-11-20
US20050128960A1 (en) 2005-06-16

Similar Documents

Publication Publication Date Title
JP2003030165A (ja) 複数の連結したデータ処理ノードからなるネットワークでのノード状態を決定するための方法及び/又はノード活性を決定する方法
US6983324B1 (en) Dynamic modification of cluster communication parameters in clustered computer system
JP5826932B2 (ja) 通信ネットワークにおける電力セーブプロキシ
JP5281646B2 (ja) ネットワーク競合防止装置およびネットワーク競合防止方法
CN107919994B (zh) 实现网络服务双机热备的方法及服务器
JP2004519024A (ja) 多数のノードを含むクラスタを管理するためのシステム及び方法
JP2006253900A (ja) Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
JP2006074797A (ja) 独立したエラー回復機能を有するスレーブ装置
US20140019627A1 (en) Method and Apparatus for the Fast Detection of Connectivity Loss Between Devices in a Network
US10027563B2 (en) Using status inquiry and status response messages to exchange management information
JP3523616B2 (ja) バス最適化方法及び通信ノード
JP2009080584A (ja) プロトコル処理装置及び制御方法
US20080109545A1 (en) Method and system for two-phase mechanism for discovering web services based management service
KR100804441B1 (ko) 노드들의 지능적 타겟팅을 제공하는 인터프로세서 통신 프로토콜
US8036105B2 (en) Monitoring a problem condition in a communications system
CN111970497A (zh) 视频流处理方法、装置、sdn控制器及存储介质
JP2009217765A (ja) 複数宛先への同期送信方法、その実施システム及び処理プログラム
CN108234215B (zh) 一种网关的创建方法、装置、计算机设备及存储介质
US20070030813A1 (en) Monitoring a problem condition in a communications protocol implementation
US7039680B2 (en) Apparatus and method for timeout-free waiting for an ordered message in a clustered computing environment
JPH11296396A (ja) 切替隠蔽機能付き高可用性システム
WO2001050263A1 (en) System and method for device failure recognition
CN115065649B (zh) 业务报文转发方式的确定方法、装置、设备及存储介质
WO2023225886A1 (en) Low latency and deterministic node failure detection
JP2024503289A (ja) Bgpセッションの状態を検出する方法及び装置、並びにネットワークデバイス

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060407

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060407

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060608

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060612

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110623

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees