JPH11167558A - 低信頼度分散型コンピュータ・システムにおけるメンバーシップ - Google Patents

低信頼度分散型コンピュータ・システムにおけるメンバーシップ

Info

Publication number
JPH11167558A
JPH11167558A JP10182998A JP18299898A JPH11167558A JP H11167558 A JPH11167558 A JP H11167558A JP 10182998 A JP10182998 A JP 10182998A JP 18299898 A JP18299898 A JP 18299898A JP H11167558 A JPH11167558 A JP H11167558A
Authority
JP
Japan
Prior art keywords
node
cluster
nodes
computer
quorum
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.)
Pending
Application number
JP10182998A
Other languages
English (en)
Inventor
Hossein Moiin
ホセイン・モイン
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH11167558A publication Critical patent/JPH11167558A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】 分散型コンピュータ・システムでメンバーシ
ップを障害発生時に判定できる特に効率的なメカニズム
を提供する。 【解決手段】 分散型コンピュータ・システムのすべて
のノードに再構成メッセージをブロードキャストするこ
とにより、複数のノードが分散型コンピュータ・システ
ムのノードのクラスタ内でメンバーシップを同時に取得
できる。クラスタに接合するために関与するノード、ま
たはクラスタから離れるノードから生じる再構成要求に
応じて、各ノードは分散型コンピュータ・システムのど
のノードに、ノードを接続するのか、すなわちどれが再
構成ノードを送信し、どのノードが受信するのかを判断
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は分散型コンピュータ
・システムに関し、特に、分散型コンピュータ・システ
ムにおけるメンバーシップをコンピュータ・システムの
障害発生時に判定できる特に効率的なメカニズムに関す
る。
【0002】
【従来の技術】分散型コンピュータ・システムは、スー
パーコンピュータの処理能力にも劣らないものであり、
スーパーコンピュータの処理能力を上回ることすらあ
る。これは、わずか数年前のこの技術分野の状態を表し
ていた。分散型コンピュータ・システムは、タスクをさ
らに小さなコンポーネントに分割し、これらのコンポー
ネントを分散型コンピュータ・システムのメンバーのコ
ンピュータに分散させることで、このような処理能力を
達成していた。各メンバーのコンピュータがタスクのそ
れぞれのコンポーネントを処理し、他方では他のメンバ
ーのコンピュータがタスクの他のコンポーネントを同時
に処理する。さらに大規模な分散型コンピュータ・シス
テムは、既存のものよりもコストを削減しつつ処理能力
を高めるものとなる可能性が高い。
【0003】分散型コンピュータ・システムは優れた処
理能力を発揮するが、このようなシステムは特にコンピ
ュータのハードウェアおよびソフトウェアにおける障害
の影響を受けやすい。分散型コンピュータ・システム
は、プロセッサ、メモリおよび格納装置などの複数の冗
長なコンポーネントを有するコンピュータを複数台備え
るものであり、システム・ソフトウェアおよび以降のも
のは、分散型コンピュータ・システムの複数のメンバー
のコンピュータを接続する通信媒体を含んでいる。分散
型コンピュータ・システムの多くの構成要素のうちいず
れかにおいて障害が発生した場合、分散型コンピュータ
・システム自体が利用できなくなる可能性もある。した
がって、どの分散型コンピュータ・システムでも、極め
て重要なコンポーネントは独立した障害または同時に発
生する複数の障害を許容できるシステム機能である。分
散型コンピュータ・システムの上記のようなフォールト
・トレランスによって、かかるシステムは大半の単独の
コンピュータよりも信頼性の高いものとなる。具体的に
は、分散型コンピュータ・システムの実質的な部分での
障害は許容され、処理能力こそ落ちるが分散型コンピュ
ータ・システムによる処理は継続される。
【0004】
【発明が解決しようとする課題】本発明は分散型コンピ
ュータ・システムに関し、特に、分散型コンピュータ・
システムにおけるメンバーシップをコンピュータ・シス
テムでの障害発生時に判定できる特に効率的なメカニズ
ムに関する。一般に、分散型コンピュータ・システム
は、障害を適宜許容して正しく機能するよう多数の基準
を満たす必要がある。第1に、「ノード」と呼ばれるこ
ともある分散型コンピュータ・システムの全ての構成要
素では、どのノードがクラスタのメンバーであるかに関
して互いに認識が一致していなければならない。クラス
タは、一般に集合協働して分散処理を実施する分散型コ
ンピュータ・システムの多数のノードである。分散型コ
ンピュータ・システムのノード間でクラスタのメンバー
シップに関して認識の違いが発生すると、どのノードに
定足数があってどのノードが共用のリソースおよびデー
タに対するアクセス権を持っているかについてもノード
間で認識の違いが生じる可能性がある。その場合、共用
のリソースおよびデータに対して矛盾した同時アクセス
がなされ、よってデータが破壊されてしまう可能性が高
い。第2に、クラスタ内の1カ所で障害が発生してもク
ラスタが完全に利用不能になってしまうことはない。こ
のように障害に対して影響されやすいことは一般に許容
されないものである。第3に、定数を持つクラスタのノ
ードは、クラスタの状態という点から見れば認識にずれ
が生じることはあり得ない。定数を持つクラスタは、排
他的な利用がなければクラスタのノードが分散型コンピ
ュータ・システムの他のノードと共用できるリソースに
対して排他的なアクセス権を有している。第4に、クラ
スタの分離された障害ノードを例えば1分などの限られ
た時間内にクラスタから取り除かなければならない。
【0005】現在利用できる分散型コンピュータ・シス
テムの中には、システムのいずれかのノードまたは通信
リンクで一度に最大1つの障害しか許容できず、各ノー
ド、しかし1つだけの連続した障害を許容できるものも
ある。分散型コンピュータ・システムで同時に発生する
複数の障害を許容できるようになれば、このような分散
型コンピュータ・システムの信頼性は大幅に改善される
ことになる。
【0006】
【課題を解決するための手段】本発明によれば、複数の
ノードが同時にクラスタに加わることができる。具体的
には、クラスタに加わることを希望している1個以上の
ノードが各々、現在のクラスタにおけるノード各々のメ
ンバーシップとは関係なく、分散型コンピュータ・シス
テムのどのノードに対して自ノードが接続されるか、す
なわち、参加希望ノードが受信するメッセージを送信し
ているのがどのノードであるかを判断する。参加希望ノ
ードは、この参加希望ノードが接続される全てのノード
のメンバーを含む新しいクラスタを提案する、再構成メ
ッセージを送信する。
【0007】提案されたクラスタは、参加希望ノードに
接続され、現在のクラスタのメンバーではないノードを
メンバーとして含むことも可能である。したがって、複
数のノードが実質的に同時にクラスタに加わることので
きる待機状態となった場合に、1回の再構成で2個以上
のノードをクラスタに加え、クラスタを再構成する回数
を減らすこともできる。これは、後に復旧される1本の
通信リンクに障害が発生し、複数のノードが利用できな
くなった場合にも可能である。再構成メッセージを受信
している各ノードは、参加希望ノードと呼ばれ、このノ
ードが接続される他の全てのノードを同様に判断し、こ
のようなノード全てを含むそれぞれの新しいクラスタを
提案する再構成メッセージに応答する。参加希望ノード
と参加済ノードは全ての再構成メッセージを収集し、全
ての再構成メッセージが同じ提案したクラスタを一致し
て推薦すると、提案したクラスタが新たなものとして受
入られる。このように、クラスタのメンバーシップに関
する完全合意が保証される。
【0008】さらに本発明によれば、複数のノードが同
時にクラスタを離れることもできる。予め定められた時
間内に特定のノードからメッセージを受信しなかった場
合には、ノードの障害であるとして検出される。障害が
検出されたことに応答して、障害を検出したノードが再
構成メッセージを送出する。再構成メッセージを受信し
た各ノードはこれに応答して再構成メッセージを全ての
ノードに同報通信し、この再構成メッセージがどのノー
ドから受信されたものであるのか判断する。このよう
に、自ノードと作用的に接続されるのは他のどのノード
であるのか各ノードが判断し、被接続ノードをメンバー
として含む、提案された新たなクラスタを構成する。複
数のノードで実質的に同時に障害が発生した場合には、
動作を継続している各ノードは、障害が発生した各ノー
ドからは何のメッセージも受信せず、障害の発生したノ
ードを提案された新たなクラスタから外す。このよう
に、複数の同時障害発生は1回の再構成で処理される。
【0009】ノードの障害は、ノード自体の障害である
か、または分散型コンピュータ・システムの他の部分と
ノードとを接続している通信リンクの障害であるかのい
ずれかが考えられるため、提案された新しいクラスタが
クラスタの前のメンバーに対して定数を構築できるので
なければ、提案されたクラスタは新しいクラスタとして
受け入れられない。前のクラスタにメンバー・ノードが
2個しか含まれていない場合には、定数は競合メカニズ
ム(race mechanism)によって構築され
る。前のクラスタの2個のメンバー・ノードが定数装置
を共用しない場合には、他のメカニズムを用いて定数を
構築する。前のクラスタが3個以上のメンバー・ノード
を含んでいる場合には、タイになった定数投票を解決す
るために前のクラスタのメンバー・ノードのうちの1つ
がクラウン・プリンスに指定される投票メカニズムによ
って定数が構築される。
【0010】したがって、本発明による分散型コンピュ
ータ・システムは、最大でクラスタのメンバー・ノード
の1/2までの同時障害を許容することができる。クラ
スタのメンバー・ノードの1/2を超える障害が発生す
ると、クラスタの定数達成は防止される。しかしなが
ら、定数は前のクラスタのメンバーシップに関して構築
されるものであって分散型コンピュータ・システムの全
ノードに対して構築されるものではないため、分散型コ
ンピュータ・システムは、複数のノードでの障害の各々
が、1つのノードが動作状態で残るまで、前の複数のノ
ードの障害を免れているノードの1/2を超えない障害
である限りは、一連の複数のノード障害を許容すること
ができる。したがって、本発明による分散型コンピュー
タ・システムは特に丈夫であり、同時に発生する複数の
障害または一連の複数の障害には関係なく、分散型コン
ピュータ・システムによって提供される機能を継続して
提供できる尤度を大幅に改善する。
【0011】
【発明の実施の形態】本発明によれば、分散型コンピュ
ータ・システムにおけるノードのクラスタのメンバーシ
ップは、複数のノードが同時にクラスタに加わったりク
ラスタから離れたりできるようにする方法によって求め
られる。この結果、分散型コンピュータ・システムは複
数のノードで同時に障害が発生しても継続して動作をす
ることができる。
【0012】図1は、ノード0〜5を含む分散型コンピ
ュータ・システム100の好適な実施例を示すものであ
る。ノード0〜5は完全に相互接続されている。すなわ
ち、分散型コンピュータ・システム100は各ノード0
〜5間の直接通信リンクを含むと共に、ノード0〜5の
他のものに対する直接通信リンクも含んでいる。また、
分散型コンピュータ・システム100は、一実施形態で
は各々定数装置として機能する複数の格納装置(102
A〜F)も含んでいる。格納装置102Aはノード0と
3との間に接続され、これらのノードによって共用され
る。格納装置102Bはノード3と5との間に接続さ
れ、これらのノードによって共用される。格納装置10
2Cはノード5と1との間に接続され、これらのノード
によって共用される。格納装置102Dはノード1と4
との間に接続され、これらのノードによって共用され
る。格納装置102Eはノード4と2との間に接続さ
れ、これらのノードによって共用される。格納装置10
2Fはノード2と0との間に接続され、これらのノード
によって共用される。ノード0〜5については後に詳細
に説明する。
【0013】クラスタ・メンバーシップは、各ノードが
同一の結果に到達し、同時に発生する複数の障害を検出
し、適宜処理できるような方法で、各ノード0〜5によ
って個々に判断される。ノード0〜5は各々、ノード0
〜5の各々において実行されるコンピュータ処理である
クラスタ・メンバーシップ・モニタ(CMM)を含んで
いる。本発明を明確にしやすくするために、ノード0〜
5の多数のコンポーネントおよび各CMMの動作環境に
ついて説明する。
【0014】図2にはノード0と3が示されている。ノ
ード1〜5は、ノード3も含めて、各々ノード0に極め
て類似しているものであり、ノード0についての以下の
説明はノード1〜5にも同様に適用できるものとする。
ノード0は、相互接続206Aを介してメモリ204A
からコンピュータ命令を検索し、検索したコンピュータ
命令を各々が実行する1個以上のプロセッサ202Aを
含んでいる。検索したコンピュータ命令を実行するにあ
たり、各プロセッサ202Aはメモリ204Aからデー
タを検索したり、メモリ204Aにデータを書き込んだ
りすることができ、共用の格納装置102Aおよび21
2A〜Cに対しても相互接続206Aを介して同様にす
ることができる。相互接続206は一般に、コンピュー
タ・システムのコンポーネント用の相互接続機構であれ
ばどのようなものであってもよく、例えば、バス、クロ
スバー、メッシュ、トーラス、ハイパーキューブなどが
挙げられる。メモリ204Aは、ランダム・アクセス・
メモリ(RAM)、読出専用メモリ(ROM)、磁気お
よび/光ディスクなどの磁気および/または光学記録媒
体を利用する格納装置を含むがこれに限定されるもので
はない、どのようなタイプのコンピュータ・メモリを含
むこともできる。共用の格納装置102Aおよび212
A〜Cは、各々2個以上のコンピュータに同時に接続可
能な格納装置または格納装置のアレイである。図2に示
されるように、共用の格納装置102Aおよび212A
〜Cは各々、ノード0の相互接続206Aとノード3の
相互接続206Bとに接続されている。共用の格納装置
102Aおよび212A〜Cの各々は、単一の装置とし
てノード0〜3の各々によってアクセスされるが、共用
の格納装置102Aおよび212A〜Cの各々が格納装
置のアレイであってもよい。例えば、共用の格納装置1
02Aおよび212A〜Cのいずれかが、米国カリフォ
ルニア州Mountain ViewのSun Mic
rosystems社から入手可能なSPARC St
orage Arrayであってもよい。
【0015】Sun、Sun Microsystem
sおよびSunのロゴは、米国および他の国におけるS
un Microsystems社の商標または登録商
標である。SPARC商標は全て、米国および他の国に
おけるSPARC International社の商
標であり、同社からのライセンスのもとで用いられるも
のである。SPARC商標が付された製品は、Sun
Microsystems社によって開発されたアーキ
テクチャに基づくものである。
【0016】共用の格納装置102Aおよび212A〜
Cの各々をノード0またはノード3によって確保するこ
とができる。例えば、プロセッサ202Aのいずれかが
相互接続206Aを介して共用の格納装置212Cに制
御信号を送り、これによって格納装置212Cを確保す
る。制御信号に応答して、共用の格納装置212Cは、
例えばフラグの状態または共用の格納装置212Cのレ
ジスタに示されている現在の確保状態のホルダの表示な
どの、共用の格納装置212Cの物理状態で示された状
態で自装置が既に確保されているか否か判断する。ノー
ド0によって確保されるとき、共用の格納装置212C
が現時点では確保されていなければ、共用の格納装置2
12Cは自己の物理状態を変更し、共用の格納装置21
2Cが今はノード0によって確保されたことを示す。逆
に、共用の格納装置212Cが現時点で確保されてしま
っていた場合には、共用の格納装置212Cは、意図さ
れた確保が拒否されたことを示す信号を相互接続206
Aを介してプロセッサ202Aに供給する。
【0017】また、プロセッサ202Aは各々、ネット
ワークアクセス装置208Aに対して制御信号を発行
し、ネットワークアクセス装置208Aに対して、ノー
ド0のネットワークアクセス装置208Aとノード3の
ネットワークアクセス装置208Bとの間のネットワー
ク210を介して従来の方法でデータの転送をさせるこ
とができる。ネットワーク210は、図1および図2に
示すノード0〜5の間の全ての通信リンクを含んでい
る。一実施形態では、ネットワーク210(図2)は周
知のイーサネットネットワークであり、ネットワークア
クセス装置208Aおよび208Bは従来のイーサネッ
ト・コントローラ回路である。
【0018】ノード0は、メモリ204Aからプロセッ
サ202Aで実行されるコンピュータ処理であるクラス
タ・メンバーシップ・モニタ(CMM)220Aを含ん
でいる。CMM220Aは、分散型コンピュータ・シス
テム100(図1)に鑑みたノード0の状態と、分散型
コンピュータ・システム100の現在のクラスタとを示
すものを含むステート・オートメーションを利用してい
る。CMM220Aについては図3により詳細に示す
が、このCMM220Aはノード0〜5(図1)のクラ
スタの状態を集合的に表す複数のフィールドを含んでい
る。フィールドは、情報のコンポーネントを集合的に示
すデータである。具体的には、CMM220A(図3)
は、識別フィールド302と、クラスタ・サイズ・フィ
ールド304と、クラスタ・ベクトル・フィールド30
6と、次クラスタ・サイズ・フィールド308と、次ク
ラスタ・ベクトル・フィールド310とを含む。
【0019】識別フィールド302は、ノード0を固有
に識別してノード0をノード1〜5(図1)から区別す
るデータを含む。本願明細書では、識別フィールド30
2(図3)に格納されているデータ全体をノード0の識
別子とも呼ぶ。クラスタ・サイズ・フィールド304
(図3)は、ノード0がメンバーであるクラスタに含ま
れるノードの数を特定するデータを含む。クラスタ・ベ
クトル・フィールド306は、ノード0がメンバーであ
るクラスタの各メンバー・ノードを識別するデータを含
む。したがって、クラスタ・ベクトル・フィールド30
6はノード0の識別子を含む他、ノード1〜4(図1)
の各々についての識別子を含むこともできる。次クラス
タ・サイズ・フィールド308および次クラスタ・ベク
トル・フィールド310は、全体として後述するような
再構成時の予定クラスタの状態を示し、それぞれクラス
タ・サイズ・フィールド304およびクラスタ・ベクト
ル・フィールド306と類似のものである。
【0020】ノード0のCMM220A(図2)が初期
化されると、CMM220Aは、論理流れ図400(図
4)の各ステップに従ってノード1〜5(図1)のいず
れかを含むクラスタに加わろうと試みる。論理流れ図4
00に沿った処理は、CMM220A(図3)がクラス
タ・サイズ・フィールド304およびクラスタ・ベクト
ル・フィールド306をゼロに初期化し、現時点ではど
のノードも現在のクラスタのメンバーではないことを示
す空セットを表すステップ402から開始される。処理
はステップ404(図4)に移り、CMM220A(図
3)が再構成メッセージをノード1〜5に同報通信す
る。再構成信号は一般に、メッセージが再構成メッセー
ジであることを示すメッセージ・タイプ・フィールドを
含んでいる他、再構成メッセージを送出したノードの識
別子と、再構成メッセージを送出したノードのクラスタ
・サイズおよびベクトル・フィールドを含んでいる。C
MM220Aは、各ノードのメンバーシップが現在どの
クラスタにあるかとは無関係に、新しいクラスタのメン
バーになる可能性のある全てのノード、すなわちノード
1〜5(図1)に再構成メッセージを同報通信する。
【0021】ステップ406(図4)では、ステップ4
04から処理が移り、CMM220A(図3)が予め定
められた時間だけ待機状態となってノード1〜5から再
構成メッセージを受信する。一実施形態では、この時間
は30秒である。後にステップ504(図5)の部分で
より詳細に説明するように、クラスタの各メンバー・ノ
ードは、応答用再構成メッセージの同報通信によってメ
ンバーではないノードから受信した再構成メッセージに
応答する。全てのノードから再構成メッセージが受信さ
れるのを待つことで、CMM220A(図3)は、ノー
ド1〜5のうちどれが動作しているか、どのノードがノ
ード0と通信状態にあるかを判断する。全てのノード1
〜5からの再構成メッセージをCMM220Aが受信す
るか、予め定められた時間が経過するかのいずれか早い
方の時点で、処理はステップ408(図4)に移る。ス
テップ408では、CMM220A(図3)は次クラス
タ・サイズ・フィールド308および次クラスタ・ベク
タ310を更新し、ノード0を含むクラスタと、ステッ
プ406(図4)においてCMM220Aが再構成メッ
セージを受信した全てのノードを示す。このように、ス
テップ406および408において、CMM220A
(図3)は、動作状態でノード0と適宜接続されると思
われるノードを全て含む予定クラスタを構築する。
【0022】この時点で、複数のノードが1回の再構成
でクラスタに加わることができることに注意されたい。
例えば、ノード0が論理流れ図400のステップを実行
している間にノード2(図1)も平行かつ独立に論理流
れ図400のステップを実行することができる。したが
って、ステップ404(図4)の独立した類似のパフォ
ーマンスによってノード0および2によって同報通信さ
れる再構成メッセージは、ステップ406(図4)の独
立した類似のパフォーマンスにおいてノード0(図1)
および2によって受信される。したがって、ノード0お
よび2は、ステップ408(図4)の独立した類似のパ
フォーマンスにおいて新しい予定クラスタに互いに含ま
れることになる。
【0023】ステップ410(図4)および412にお
いて、CMM220A(図3)は予定クラスタが適切な
ものであるか否かを判断する。具体的には、判断ステッ
プ410(図4)において、CMM220A(図3)
は、クラスタ・サイズ・フィールド304に示されるク
ラスタ・サイズと1の値とを比較し、ノード0以外で予
定クラスタのメンバーになっているノードがあるか否か
を判断する。クラスタ・サイズが1より大きければ、処
理は後述するステップ414(図4)に移る。逆に、ク
ラスタ・サイズが1より大きくなければ、処理はステッ
プ412に移る。
【0024】判断ステップ412では、CMM220A
(図3)はノード0が孤立しているか否か、すなわち分
散型コンピュータ・システム100(図1)のノード0
と他のノードとの通信リンク全てに障害があるか否かを
判断する。ノード0が孤立はしていないがクラスタの唯
一のメンバーであるような場合には、ノード0は定足数
についての競争に安全に参加することができるが、これ
については後により完全に説明する。さらに、他のノー
ドもノード0が唯一のメンバーであるクラスタに順次加
わることができる。一般に、孤立したノードについて
は、共用のデータ上で動作しないようにすることが好ま
しい。孤立したノードを共用のデータ上で動作させる
と、孤立したノードまたは孤立したノードと通信してい
ない他のノードによってデータが破壊されてしまう危険
性が大きいためである。しかしながら、クラスタの唯一
のメンバーであるノードは処理を継続することができ
る。
【0025】ノード0のCMM220A(図2)から見
ると、ノード0が孤立しているのか、単一ノード・クラ
スタで唯一のメンバーシップになっているのかを区別す
ることはできない。一実施形態では、ノード0が孤立し
ているのか否かを判断するには人間が介在する必要があ
る。人間のオペレータは一般に、従来の技術を用いてノ
ード0のユーザの入力装置(図示せず)を物理的に操作
してデータを供給し、これによってノード0が孤立して
いるか否かを示す。このデータを予め供給してノード構
成フィールド(図示せず)に格納し、CMM220A
(図3)がそこからデータを検索できるようにしておく
ことも可能である。あるいは、従来のユーザインタフェ
ース技術を用いてCMM220Aからプロンプトによっ
てデータを供給するようオペレータに指示してもよい。
ノード0が孤立している場合、処理は判断ステップ41
2(図4)からステップ420に移る。ここではノード
0はクラスタに加わることができず、CMM220A
(図3)は以下においてより完全に説明するような方法
で処理を強制終了する。逆に、ノード0が孤立していな
かった場合には、ノード0は自ノードが唯一のメンバー
になるクラスタを形成し、処理はステップ414(図
4)に移る。
【0026】ステップ414では、CMM220A(図
3)は、次クラスタ・サイズ・フィールド308(図
3)および次クラスタ・ベクトル・フィールド310に
おいて示される予定クラスタ・サイズおよびベクトルを
含む再構成メッセージを同報通信することによって、分
散型コンピュータ・システム100(図1)の現在のク
ラスタの再構成を要求する。CMM220Aは、次クラ
スタ・ベクトル310において識別されたノード1〜5
の各々に再構成メッセージを同報通信する。論理流れ図
400(図4)の内容では、このようなノードは各々、
参加済ノードと呼ばれている。処理はステップ416
(図4)に移り、CMM220A(図3)は、全参加済
ノードから再構成メッセージを受信するのを予め定めら
れた時間だけ待つ。一実施形態では予め定められた時間
は30秒である。参加済ノードがノード0のCMM22
0Aから再構成メッセージを受信し、他の再構成メッセ
ージに返答する方法については、論理流れ図500(図
5)の説明と合わせて以下においてより完全に説明す
る。CMM220A(図3)が各参加済ノードから再構
成メッセージを受信するか、あるいは予め定められた時
間が経過するかのいずれか早い方の時点で、CMM22
0Aの処理はステップ418(図4)に移る。
【0027】判断ステップ418では、CMM220A
(図3)は再構成メッセージが全ての参加済ノードから
受信されたか否か判断する。ステップ416においてC
MM220Aがいずれかの参加済ノードから再構成メッ
セージを受信しなかった場合には、処理は判断ステップ
418からステップ420に移り、再構成は失敗とな
る。ステップ420では、CMM220A(図3)は処
理を強制終了し、予定クラスタを示すクラスタ・サイズ
・フィールド304およびクラスタ・ベクトル・フィー
ルド306を更新しない。ステップ420の後、論理流
れ図400(図4)による処理は終了する。
【0028】逆に、CMM220A(図3)が判断ステ
ップ418(図4)において全ての参加済ノードから再
構成メッセージをステップ416で受信したと判断した
場合には、処理は判断ステップ422に移る。判断ステ
ップ422では、CMM220A(図3)は受信した再
構成メッセージ同士を比較し、受信した再構成メッセー
ジが全て同一のクラスタを示しているか、すなわち、受
信した全ての再構成メッセージが予定クラスタのクラス
タ・メンバーシップに関して合意しているか否かを判断
する。受信した再構成メッセージの中にクラスタ・メン
バーシップに関して合意のないものが存在した場合に
は、処理は判断ステップ422(図4)からステップ4
20に移り、上述したような形でクラスタの再構成は失
敗となる。逆に、受信した再構成メッセージが全て予定
クラスタにおけるメンバーシップの点で合意している場
合には、処理は判断ステップ422からステップ424
に移る。ステップ424では、予定クラスタが受け入れ
られ、ノード0は、次クラスタ・サイズ・フィールド3
08(図3)および次クラスタ・ベクトル・フィールド
310から、それぞれクラスタ・サイズ・フィールド3
04およびクラスタ・ベクトル・フィールド306にデ
ータをコピーすることによって、予定クラスタを現在の
クラスタとして保存する。ステップ424(図4)の
後、論理流れ図400による処理は終了する。
【0029】このように、新しいクラスタの構成は、利
用可能な全てのノードに対して利用可能な全ての通信リ
ンクを介して再構成メッセージを同報通信し、各参加済
ノードから確認を受信することによって交渉協議され
る。利用可能な全ての通信リンクを介して利用可能な全
てのノードに再構成メッセージを同報通信することは、
ノード数の多い分散型コンピュータ・システムでは比較
的大きな負荷になることに注意されたい。しかしなが
ら、各ノードおよび各通信リンクは比較的安定していて
信頼できるものであるのが好ましいため、ノードのクラ
スタの再構成はさほど頻繁に起こるものではない。
【0030】論理流れ図500(図5)は、再構成が行
われなかった場合に再構成メッセージを受信したことに
応答して参加済ノードが行う処理を示している。再構成
メッセージを受信したノードは全て、論理流れ図500
の各ステップをほぼ平行かつ独立して実行する。上述し
たように、ノード0〜5は互いにほぼ類似している。し
たがって、ノード0を例に挙げた論理流れ図500につ
いての後述する説明は、ノード0〜5(図1)の他の参
加済ノードによって実施される論理流れ図500の各ス
テップの場合でも同様に適用できる。論理流れ図500
の内容において、ノード0は参加済ノードであり、再構
成メッセージを送信しているノード1〜5のうちの1つ
のノード、例えばノード1は、参加希望ノードと呼ばれ
る。論理流れ図500による処理はステップ502(図
5)から開始される。
【0031】ステップ502では、例えばノード0など
の参加済ノードのCMM220A(図3)は参加希望ノ
ードから再構成メッセージを受信する。CMM220A
は、参加希望ノード、すなわち再構成メッセージの発信
源が現在のクラスタのメンバーではないことを判断し、
これによって再構成メッセージが現在のクラスタに加わ
ることを希望するものであることを確認する。上述した
ように、1回の再構成で複数のノードがクラスタのメン
バーシップを申請することができる。したがって、参加
済ノードはステップ502で2個以上の再構成メッセー
ジを受信しうる。以下の説明を分かりやすくするため
に、クラスタでのメンバーシップを現時点で申請してい
るノードは1つしかないものと仮定する。
【0032】処理はステップ504(図5)に移り、C
MM220A(図3)は、現在のクラスタの全メンバー
および参加希望ノードを含む、予定クラスタの全予定メ
ンバーに再構成メッセージを同報通信する。再構成メッ
セージを同報通信することで、CMM220Aは予定ク
ラスタの全予定メンバーに対してノード0が動作して接
続されることの通知を行う。
【0033】ステップ504からの処理が移るステップ
506(図5)では、CMM220A(図3)は参加希
望ノード以外の予定クラスタの全予定メンバーから再構
成メッセージが受信されるのを予め定められた時間だけ
待つ。参加希望ノードを除外するのは、ステップ502
(図5)において、例えばノード0などの参加済ノード
では過去に再構成メッセージが受信されているためであ
る。具体的には、ステップ506で受信される再構成メ
ッセージには、ステップ504で類似かつ独立した処理
を行っている他の参加済ノードによって同報通信された
再構成メッセージが含まれている。一実施形態では、予
め定められた時間は30秒である。
【0034】予定クラスタの全予定メンバーから受信さ
れる再構成メッセージがCMM220A(図3)によっ
て受信されるか、または予め定められた時間が経過する
かのいずれか早い方の時点で、処理はステップ508
(図5)に移る。ステップ508では、CMM220A
(図3)は、例えばノード0などの参加済ノードを含
み、ステップ506(図5)において再構成メッセージ
が受信された全てのノードがメンバーシップに含まれる
クラスタを示すデータを、次クラスタ・サイズ・フィー
ルド308および次クラスタ・ベクトル・フィールド3
10に格納する。したがって、次クラスタ・サイズ・フ
ィールド308(図3)および次クラスタ・ベクトル・
フィールド310は、動作して参加済ノードと通信状態
にある全てのノードをメンバーとして含む予定クラスタ
を示すデータを格納することになる。
【0035】CMM220Aは、クラスタのどのノード
が接続され、どのノードが機能しているかをステップ5
02(図5)およびステップ506において判断し、ス
テップ508においてこれらのノードから新たな予定ク
ラスタを形成するため、複数のノードを同時にクラスタ
に加えることができるということが重要である。このた
め、ステップ404〜408(図4)および502〜5
08(図5)において、新たな予定クラスタの全メンバ
ー・ノードは、他のノードのうちどれが動作してメンバ
ー・ノードと通信しているかを独立に判断し、これによ
って新たな予定クラスタのメンバーシップを確認する。
したがって、複数のノードが同時にクラスタに加わるこ
とができるのである。また、再構成メッセージに応答し
損ない、結果としてステップ406(図4)またはステ
ップ506(図5)における独立したパフォーマンスに
おいて予定クラスタの各メンバーによって再構成メッセ
ージが受信されなかった1個以上のノードは、予定クラ
スタのメンバーシップからは除外されていることにも注
意されたい。したがって、クラスタの再構成1回で特定
のノードだけをクラスタに加えて他のノードを排除する
ことも可能なのである。
【0036】ステップ510〜512は、参加済ノード
が各々、予定クラスタの他のメンバー全てが予定クラス
タのメンバーシップに関して完全に合意しているか否か
判断するという点で、ステップ414〜424(図4)
とほぼ同様である。具体的には、処理はステップ508
(図5)からステップ510に移り、CMM220A
(図3)は予定クラスタの全メンバーに対して再構成メ
ッセージを同報通信する。この再構成メッセージには、
予定クラスタを特定する、すなわち予定クラスタの数お
よびアイデンティティを特定するデータが含まれてい
る。ステップ512(図5)において、CMM220A
(図3)は、予定クラスタの全メンバーから再構成メッ
セージを受信するのを予め定められた時間だけ待つ。一
実施形態では予め定められた時間は30秒である。予定
クラスタの全メンバーから再構成メッセージを受信する
か、あるいは予め定められた時間が経過するかのいずれ
か早い方の時点で、処理はステップ514(図5)に移
る。このステップでは、CMM220A(図3)は、予
定クラスタのメンバーがこの予定クラスタのメンバーシ
ップに関して完全に合意しているか否かを判断する。
【0037】ステップ514において、CMM220A
(図3)は、ステップ512(図5)において予定クラ
スタの各メンバーから再構成メッセージが受信されたか
否かを判断する。ステップ512で予め定められた時間
の間にCMM220A(図3)で再構成メッセージを受
信しなかった予定クラスタのメンバーがある場合には、
処理は判断ステップ514からステップ516へと移
る。ステップ516では、参加希望ノードがクラスタの
メンバーシップを拒否され、クラスタは変わらずに残
る。すなわち、次クラスタ・サイズ・フィールド308
(図3)および次クラスタ・ベクトル・フィールド31
0に格納されたデータがクラスタ・サイズ・フィールド
304およびクラスタ・ベクトル・フィールド306に
移動されることはない。ステップ516(図5)の後、
論理流れ図500による処理は終了する。
【0038】逆に、判断ステップ514(図5)におい
て予定クラスタの全メンバーから再構成メッセージを受
信したとCMM220A(図3)が判断した場合には、
処理は判断ステップ514からステップ518へと移
る。ステップ518では、CMM220A(図3)は受
信した再構成メッセージ同士を比較し、受信した再構成
メッセージが全て、ステップ510(図5)でCMM2
20Aから送信された再構成メッセージで特定される同
一のクラスタを示しているかを判断する。受信した再構
成メッセージの中に異なるクラスタを特定したものが存
在した場合には、新たなクラスタ・メンバーシップに関
する合意はなされず、処理はステップ516に移り、上
述したような形でノードのクラスタでのメンバーシップ
は拒絶される。逆に、再構成メッセージが全て同一のク
ラスタを特定している場合には、新たなクラスタ・メン
バーシップに関する合意がなされ、処理はステップ51
8からステップ520に移る。
【0039】ステップ520では、参加希望ノードがク
ラスタのメンバーシップを認められ、次クラスタ・サイ
ズ・フィールド308(図3)および次クラスタ・ベク
トルフィールド310から、それぞれクラスタ・サイズ
・フィールド304およびクラスタ・ベクトル・フィー
ルド306にデータをコピーすることによって、予定ク
ラスタは現在のクラスタになる。ステップ520(図
5)の後、論理流れ図500による処理は終了する。
【0040】クラスタを離れる クラスタが一度構築されると、クラスタ内のノードは協
働して処理を分散させ、従来の方法で分散処理を実行
し、これによって分散処理に関する効率および利益を享
受する。時には、1個以上のノードをクラスタから切り
離さなければならないこともある。例えば、あるノード
で正確な処理を保証できなくなり、自発的にクラスタか
ら離れようと判断する場合がある。あるいは、ノードに
障害が発生し、障害が発生したノードが再構成メッセー
ジを送信している、クラスタの他のノードによってこの
障害が検出されることもある。2個のノード間の全通信
リンクに障害が発生すれば、これも同様に検出され、ノ
ード自体に障害が発生した場合と同様に処理されること
に注意されたい。障害を検出したノードは、クラスタの
再構築を開始し、障害のあるノードを含まない形で新た
にクラスタを形成する。いずれの場合も、ノードは再構
成メッセージをクラスタ内の全ノードに同報通信する。
【0041】このような再構成メッセージに応答してク
ラスタからノードを取り除くことについて、処理が60
2から開始される論理流れ図600(図6)を用いて説
明する。クラスタの全てのノードが論理流れ図600の
各ステップをほぼ平行かつ独立して実施する。上述した
ように、ノード0〜5は互いにほぼ類似している。した
がって、ノード0を例に挙げた論理流れ図600につい
ての後述する説明は、ノード0〜5(図1)の他の参加
済ノードによって実施される論理流れ図600の各ステ
ップの場合でも同様に適用できる。
【0042】ステップ602(図6)において、ノード
0のCMM220A(図3)は再構成メッセージを受信
する。処理はステップ604(図6)に移り、CMM2
20A(図3)は現在のクラスタに含まれる全てのノー
ド、すなわち、クラスタ・ベクトル・フィールド306
によって識別される全てのノードに対して再構成メッセ
ージを同報通信する。ノード0のCMM220Aは、ス
テップ606(図6)において、現在のクラスタの全ノ
ードから再構成メッセージを受信するのを予め定められ
た時間だけ待ち、クラスタ内のどのノードがノード0と
通信して動作しているか判断する。一実施形態では予め
定められた時間は30秒である。
【0043】クラスタから切り離されるノードは、ステ
ップ602において再構成メッセージを受信した後は何
らメッセージを送信しない。したがって、CMM220
A(図3)は、ステップ606において既に切り離され
ているノードからは再構成メッセージを受信しない。し
かしながら、あるノードでの障害を別のノードが検出
し、障害のあるノードを排除する形で新たなクラスタを
形成すべく再構成メッセージを送信した場合には、処理
は若干異なる。このような状況では、前者すなわち障害
を検出したノードが、ステップ602(図6)で再構成
メッセージを受信する代わりに再構成メッセージを送信
するが、ステップ604〜612について説明したよう
な形で実施する。したがって、障害を検出したノード
は、障害のあるノードを排除した後に障害を検出した側
のノードも新たな予定クラスタに含まれるよう、ステッ
プ606において受信される第2の再構成メッセージを
同報通信する。
【0044】CMM220A(図3)が現在のクラスタ
の全ノードから再構成メッセージを受信するか、あるい
は予め定められた時間が経過するかのいずれか早い方の
時点で、処理はステップ608(図6)に移る。ステッ
プ608では、CMM220A(図3)は、ステップ6
06(図6)においてCMM220Aが再構成メッセー
ジを受信した全てのノードを含む新たな予定クラスタを
形成する。新たな予定クラスタは、CMM220A(図
3)の次クラスタ・サイズ・フィールド308(図3)
および次クラスタ・ベクトル・フィールド310におい
て示される。
【0045】CMM220Aは、クラスタのどのノード
が動作してノード0と通信状態にあるかをステップ60
6(図6)において判断し、これらのノードから新たな
予定クラスタを形成するので、クラスタから複数のノー
ドを同時に取り除けるということが重要である。換言す
れば、本発明によるクラスタ交渉協議メカニズムは、同
時に発生する複数の障害をも許容できるのである。
【0046】ステップ608(図6)から、処理はCM
M220A(図3)が新たな予定クラスタに対する定足
数を交渉協議するステップ610に移る。クラスタ内の
1個以上のノードで障害が発生した場合に、クラスタ内
の1個以上のノードから他のノードまでを結ぶ通信リン
クに発生する障害と区別できない可能性があるため、一
般に定足数を交渉協議しなければならない。ノード自体
に障害が発生してこのノードをクラスタから切り離した
場合には、切り離されるノードは一般に処理を中断し、
クラスタの残りのノードが共用しているリソースにはア
クセスしない。しかしながら、通信リンクでの障害によ
ってノードがクラスタから切り離される場合には、この
ノードは処理を継続し、同じように処理を継続している
他のノードとの協働アクセスに失敗することで、共用の
リソースを破壊してしまう可能性がある。したがって、
新たな予定クラスタのメンバー・ノードは、処理を継続
して1個以上の切り離されるノードと共用していたリソ
ースにアクセスする前に定足数を構築することが重要で
ある。
【0047】処理が判断ステップ702から開始される
論理流れ図610(図7)として、ステップ610(図
6)をさらに詳細に示す。判断ステップ702におい
て、CMM220A(図3)は、クラスタ・サイズ・レ
コード304に格納されたデータと値2を示すデータと
を比較することによって、現在のクラスタすなわち1個
以上のノードが切り離されるクラスタが3個以上のメン
バー・ノードを有しているか否か判断する。現在のクラ
スタにメンバー・ノードが2個以下しか含まれていない
場合には、処理は判断ステップ702(図7)からステ
ップ704に移り、定足数の競合によって定足数が交渉
協議される。逆に、現在のクラスタに3個以上のメンバ
ー・ノードが含まれている場合には、処理は判断ステッ
プ702からステップ706に移り、定足数の投票によ
って定足数が交渉協議される。結果として、ノード2個
で構成されるクラスタは、定足数競合によって定足数を
交渉協議することになる。定足数の投票ではノード数が
2個のクラスタで不確実または望ましくない結果につな
がる可能性があるためである。同様に3個以上のノード
を有するクラスタでは、定足数の競合では大きなクラス
タで最適な状態ではない形になる可能性があるため、定
足数投票によって定足数を交渉協議する。各メカニズム
に従って定足数を定めることについては、後にさらに詳
細に説明する。ステップ704またはステップ706の
後、論理流れ図610に沿った処理、従ってステップ6
10(図6)が完了する。
【0048】ステップ610から、処理はステップ61
2に移り、CMM220A(図3)が新たな予定クラス
タが定足数を構築したと判断した場合に、CMM220
Aは、定足数を達成していないクラスタの前のメンバー
・ノードを排除し、これらのノードによってさらに処理
がなされるのを防止する。具体的には、CMM220A
は現在のクラスタの前のメンバー・ノードと共用した全
ての装置を確保し、このようなノードが共用の装置にア
クセスするのを防止する。ステップ610の後、クラス
タから切り離されるノードはこのようなノードと新たな
クラスタのメンバー・ノードとの間で共用していた装置
にはアクセスすることはできない。しかしながら、構成
に誤りのあるノードによって新たなクラスタのメンバー
・ノードと共用されている装置が破壊される可能性もあ
る。
【0049】競合による定足数 現在のクラスタに含まれる2個のメンバー・ノードが定
足数装置を共用していない場合には、定足数競合によっ
て定足数を求めるのは困難である。ステップ704を論
理流れ図704(図8)として詳細に示す。論理流れ図
704に沿った定足数競合を実施するには、人間のオペ
レータが介在する必要がある。
【0050】論理流れ図704(図8)による処理は、
判断ステップ802から開始される。判断ステップ80
2において、CMM220A(図3)は、クラスタ・ベ
クトル・フィールド306によって示されるような現在
のクラスタに含まれるメンバー・ノードが、定足数装置
を共用しているか否か判断する。簡単に言うと、定足数
装置は、装置を共用するノードのいずれかによって確保
可能な共用装置であり、定足数競合に用いられる装置と
して予め選択されている。CMM220Aは、ノード0
〜5のそれぞれの対についてどの装置が定足数装置であ
るか特定する定足数データベース312を含んでいる。
定足数データベース312を参照することで、CMM2
20Aは、ノード0と現在のクラスタの他のノードとが
定足数装置を共用しているか否か判断する。現在のクラ
スタのノードが定足数装置を共用している場合には、定
足数競合はステップ804(図8)に進む。逆に、ノー
ドが定足数装置を共用していない場合には、処理は後述
するステップ812に移る。
【0051】ステップ804では、CMM220A(図
3)が現在のクラスタの他のノードと共用している定足
数装置を確保しようと試みる。このとき、他のノードが
ステップ804(図8)の同様のパフォーマンスにおい
て定足数装置を確保してしまっていない場合に限って、
上記の確保の試みは成功する。処理は判断ステップ80
6に移り、CMM220A(図3)は定足数装置の確保
が成功したか否か判断する。ステップ804(図8)に
おいて定足数装置の確保に成功していた場合には、処理
は判断ステップ806からステップ808に移り、定足
数が構築され、次クラスタ・サイズ・フィールド308
および次クラスタ・ベクトル・フィールド310に格納
されているデータを、それぞれクラスタ・サイズ・フィ
ールド304およびクラスタ・ベクトル・フィールド3
06にコピーすることによって、新たな予定クラスタが
新たに受け入れられる。ステップ808の後、論理流れ
図704Aに沿った処理、従ってステップ704(図
7)は完了する。
【0052】逆に、ステップ804(図8)において定
足数装置の確保に失敗した場合には、処理は判断ステッ
プ806からステップ810に移る。ステップ810で
は、定足数が構築されていないためCMM220A(図
3)は処理を強制終了する。ステップ810の後、論理
流れ図704Aに沿った処理、従ってステップ704
(図7)は完了する。
【0053】上述したように、CMM220A(図3)
が判断ステップ802(図8)において現在のクラスタ
のメンバー・ノードが定足数装置を共用していないと判
断した場合には、処理はステップ812に移る。ステッ
プ812では、人間のコンピュータ・オペレータが現在
のクラスタのメンバー・ノードから勝者ノードを選択す
る。CMM220A(図3)は、現在のクラスタのメン
バー・ノードの一覧から勝者ノードを選択するよう人間
のコンピュータ・オペレータにプロンプトで指示する。
人間のコンピュータ・オペレータは、従来のユーザイン
タフェース技術を用いてユーザ入力装置を物理的に操作
し、勝者ノードを示す信号を生成する。
【0054】処理は判断ステップ814(図8)に移
り、CMM220Aはノード0がステップ812で選択
された勝者ノードであるか否かを判断する。ノード0が
勝者ノードとして選択された場合、処理はステップ80
8に移り、定足数が構築されて新たな予定クラスタが上
述したような方法で現在のものとして受け入れられる。
それ以外のノード0が勝者ノードとして選択されていな
い場合には、処理はステップ810に移り、定足数が構
築されていないためCMM220A(図3)は処理を強
制終了する。
【0055】このように、論理流れ図704(図8)に
よれば、現在のクラスタであったものにメンバー・ノー
ドが2個しか含まれず、これら2個のメンバー・ノード
が定足数装置を共用している場合に、定足数は単純な競
合によって定められる。
【0056】投票による定足数 論理流れ図706(図9)として詳細に示されるステッ
プ706において、ノード0のCMM220A(図3)
および現在のクラスタのメンバー・ノードの同様のCM
Mは、投票によって定足数を構築する。処理はステップ
902(図9)から開始され、CMM220A(図3)
は、次クラスタ・サイズ・レコード308において示さ
れる新たな予定クラスタに含まれるメンバー・ノードの
数と、クラスタ・サイズ・レコード304において示さ
れる現在のクラスタにおけるメンバー・ノードの数の1
/2の値とを比較する。新たな予定クラスタに含まれる
メンバー・ノードの数が現在のクラスタのメンバー・ノ
ードの数の1/2未満である場合には、処理はステップ
904に移る。それ以外の場合には処理は判断ステップ
906に移るが、これについては後述する。ステップ9
04では、新たに提案されたクラスタは定足数を構築し
ておらず、切り離された1個以上のノードと共用してい
たリソースが破壊されないよう、CMM220Aによっ
て処理が強制終了される。ステップ904の後、論理流
れ図706に沿った処理、従ってステップ706(図
7)は完了する。
【0057】判断ステップ906では、CMM220A
(図3)は新たな予定クラスタのメンバー・ノードの数
と現在のクラスタのメンバー・ノードの数の1/2とを
比較し、新たな予定クラスタにクラウン・プリンスが含
まれているか否か判断する。クラウン・プリンスは現在
のクラスタのメンバー・ノードの中から選択されるもの
である。一般に、各クラスタのメンバー・ノードのうち
の1つがクラウン・プリンスとして指定され、タイとな
る定足数投票を解決する。一実施形態では、相対優先度
が最も高いメンバー・ノードがクラスタのクラウン・プ
リンスとして指定される。例えば、各ノードの相対優先
度は、CMM220Aの識別フィールド302(図3)
などに格納されているノード識別子に組み込むことがで
きる。図示の実施形態では、各ノード識別子は固有の数
であり、各ノード識別子の数値が相対優先度を示してい
る。このうち特定のクラスタ識別子において最も優先度
が高いものがクラスタのクラウン・プリンスになる。C
MM220Aは、次クラスタ・ベクトル・レコード31
0に格納されたノード識別子と、現在のクラスタのクラ
ウン・プリンスのノード識別子とを比較することによっ
て、新たな予定クラスタが現在のクラスタのクラウン・
プリンスを含むか否か判断する。新たな予定クラスタの
メンバー・ノードの数が現在のクラスタのメンバー・ノ
ードの数の1/2と等しく、新たな予定クラスタに現在
のクラスタのクラウン・プリンスが含まれていない場合
には、処理はステップ904に移り、上述したように新
たな予定クラスタによる定足数の構築は行われない。
【0058】逆に、(i)新たな予定クラスタのメンバ
ー数が現在のクラスタのメンバー・ノードの数よりも大
きいか、あるいは(ii)(a)新たな予定クラスタの
メンバー数が現在のクラスタのメンバー・ノード数の1
/2と等しく、(b)新たな予定クラスタに現在のクラ
スタのクラウン・プリンスが含まれている場合には、処
理は判断ステップ906からステップ908に移る。ス
テップ908では、新たな予定クラスタが定足数を構築
し、CMM220A(図3)は、次クラスタ・サイズ・
フィールド308および次クラスタ・ベクトル・フィー
ルド310から、それぞれクラスタ・サイズ・フィール
ド304およびクラスタ・ベクトル・フィールド306
にデータをコピーすることによって、新たな予定クラス
タを現在のクラスタとして受け入れる。ステップ906
の後、論理流れ図706に沿った処理、従ってステップ
706は完了する。
【0059】このように、ステップ706では、新たな
予定クラスタのメンバー・ノードは独立かつ完全に合意
してクラスタから外された1個以上のノードと投票によ
って定足数を交渉協議する。
【0060】マルチスレッド環境におけるCMM 一実施形態において、CMM2220A(図3)はマル
チスレッド・コンピュータ処理である。CMM220A
は、メイン・スレッド1002(図10)と、1個以上
の送信者スレッド1004と、1個以上の受信者スレッ
ド1006と、コマンド・リーダー・スレッド1008
と、遷移スレッド1010と、通信タイムアウト・スレ
ッド1012と、キープ・アライブ・スレッド1014
と、強制終了スレッド1016とを含んでいる。メイン
・スレッド1002は上述したような方法でフィールド
302〜312において示されるCMM220Aの状態
の変化を処理し、CMM220Aの他のスレッドを協働
処理する。送信者スレッド1004および受信者スレッ
ド1006は、それぞれ、CMM220Aにどのノード
が動作してどのノードがCMM220Aと通信している
かを示す再構成メッセージと、現在のクラスタの協働再
構成に対する再構成メッセージとを送受信する。コマン
ド・リーダー・スレッド1008は、遠隔処理呼び(R
PC)として機能し、CMM220Aがメンバーになっ
ている現在のクラスタのメンバー・ノードのいずれかに
おいて実行されるアプリケーション用のサーバとなる。
遷移スレッド1010は、論理流れ図400(図4)、
500(図5)および600(図6)に沿って現在のク
ラスタの再構成を処理し、送信者スレッド1004およ
び受信者スレッド1006を用いて、それぞれ上述した
ような方法で再構成メッセージを送受信する。通信タイ
ムアウト・スレッド1012は、受信スレッド1006
によって受信されたメッセージを監視すると共に、現在
のクラスタのメンバー・ノードとの通信の障害、又はロ
スを検出する。通信タイムアウト・スレッド1012
は、現在のクラスタのメンバー・ノードのそれぞれの状
態を示すデータを格納するグローバル・フィールド10
18を含む。キープ・アライブ・スレッド1014は再
構成メッセージを生成し、送信者スレッド1004から
現在のクラスタのそれぞれのメンバー・ノードに対して
再構成メッセージを送信させる。強制終了スレッド10
16は、CMM220Aによる処理が強制終了されると
生成される。
【0061】一実施形態では、CMM220Aの複数の
スレッドがノード0のオペレーティング・システムのカ
ーネルに実装され、パフォーマンスを改善すると共に簡
単に実装できるようにしている。例えば、キープ・アラ
イブ・スレッド1014、通信タイムアウト・スレッド
1012、受信者スレッド1006は、カーネル・タイ
ムアウト割込を使用して、従来の鼓動メッセージを周期
的に送受信し、ノード0が動作して現在のクラスタの各
ノードと通信状態にあることを周期的に示す。
【0062】上述した説明は一例にすぎず、本発明を限
定するものではない。本発明は添付の特許請求の範囲に
よってのみ限定されるものである。
【図面の簡単な説明】
【図1】 本発明実施形態による分散型コンピュータ・
システムのブロック図である。
【図2】 複数の装置を共用し、各々が本発明実施形態
によるクラスタ・メンバーシップ・モニタを含む、図1
の分散型コンピュータ・システムの2つのノードを示す
ブロック図である。
【図3】 図2のクラスタ・メンバーシップ・モニタの
ブロック図である。
【図4】 図1の分散型コンピュータ・システムにおい
てクラスタに加わるノードが加わろうとしていることを
示す、本発明による論理流れ図である。
【図5】 図4に示す加わろうとしていることに応答し
てノードを処理し、新たなクラスタにおけるメンバーシ
ップを判断することを示す、本発明による論理流れ図で
ある。
【図6】 ノードがクラスタから離れることを示す、本
発明実施形態による論理流れ図である。
【図7】 前に既存のクラスタのメンバーシップに基づ
いた定足数の交渉を示す、本発明実施形態による論理流
れ図である。
【図8】 2個のメンバー・ノードを有するクラスタか
ら1個のノードが離れたことに応答した定足数の競合を
示す論理流れ図である。
【図9】 3個以上のノードを有するクラスタから1個
以上のノードが離れたことに応答した定数の投票を示す
論理流れ図である。
【図10】 本発明の一実施形態による、図3のクラス
タ・メンバーシップ・モニタの個々のスレッドを示すブ
ロック図である。
【符号の説明】
0〜5 ノード 100 分散型コンピュータ・システム 102A〜F 格納装置 202A プロセッサ 204A メモリ 206A 相互接続
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年10月23日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図10】
【図7】
【図8】
【図9】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A.

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1個のメンバー・ノードを含
    み、少なくとも1個のサブジェクト・ノード・コンピュ
    ータを含むクラスタに少なくとも1個の新たなノードを
    追加するために、分散型コンピュータ・システムのサブ
    ジェクト・ノード・コンピュータによって実施される方
    法であって、 (a)分散型コンピュータ・システムの他のノードに接
    続されているもののうち、動作していてサブジェクト・
    ノード・コンピュータと通信状態にあるものを判断し、 (b)接続されているノードを含む提案された新たなク
    ラスタを特定する再構成メッセージを生成し、 (c)再構成メッセージを他のノード各々に送信し、 (d)それぞれの再構成メッセージを他のノード各々か
    ら受信し、 (e)各応答再構成メッセージが各々、再構成メッセー
    ジによって指定されたメンバーシップと等しい提案され
    た新たなクラスタのメンバーシップを指定していること
    を判断することを特徴とする方法。
  2. 【請求項2】 ステップ(a)が、分散型コンピュータ
    ・システムの少なくとも1個のメンバー・ノードからメ
    ッセージを受信するのを予め定められた時間だけ待ち、 予め定められた時間内にメッセージを受信した分散型コ
    ンピュータ・システムの少なくとも1個のメンバー・ノ
    ードの各々が動作し、サブジェクト・ノード・コンピュ
    ータと通信状態にあることを判断する請求項1に記載の
    方法。
  3. 【請求項3】 少なくとも1個のメンバー・ノードを含
    み、少なくとも1個のサブジェクト・ノード・コンピュ
    ータと切り離されるノードを含む古いクラスタから少な
    くとも1個の切り離されるノードを除去するために、分
    散型コンピュータ・システムのサブジェクト・ノード・
    コンピュータによって実施される方法であって、 分散型コンピュータ・システムの少なくとも1個のメン
    バー・ノードの他のノードに接続されているもののう
    ち、動作していてサブジェクト・ノード・コンピュータ
    と通信状態にあるものを判断し、 接続されている他のノードを含む新たな予定クラスタを
    構成し、 古いクラスタに対して提案された新たなクラスタについ
    ての定足数の構築を試みることを特徴とする方法。
  4. 【請求項4】 判断するステップが、分散型コンピュー
    タ・システムの少なくとも1個のメンバー・ノードから
    メッセージを受信するのを予め定められた時間だけ待
    ち、 予め定められた時間内にメッセージを受信した分散型コ
    ンピュータ・システムの少なくとも1個のメンバー・ノ
    ードの各々が動作し、サブジェクト・ノード・コンピュ
    ータと通信状態にあることを判断する請求項3に記載の
    方法。
  5. 【請求項5】 定足数の構築を試みるステップが、 古いクラスタのメンバー・ノードの数を判断し、 古いクラスタのメンバー・ノードの数が2である場合に
    競合メカニズムによって定足数の構築を試み、 古いクラスタのメンバー・ノードの数が2より大きい場
    合に投票メカニズムによって定足数の構築を試みる請求
    項3に記載の方法。
  6. 【請求項6】 競合メカニズムによって定足数の構築を
    試みるステップが、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータとが定足数装置を共用しているか否か判断し、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータとが定足数装置を共用していなかった場合に他のメ
    カニズムを使用して定足数を構築することを試みる請求
    項5に記載の方法。
  7. 【請求項7】 他のメカニズムが、人間のオペレータに
    対して、切り離されるノードとサブジェクト・ノード・
    コンピュータとからなる群からユーザインタフェース技
    術を用いて勝者ノードを選択するよう指示するステップ
    の実行を含む請求項6に記載の方法。
  8. 【請求項8】 少なくとも1個のプロセッサとメモリと
    を含むサブジェクト・ノード・コンピュータにおいて利
    用するコンピュータ読取可能な記録媒体であって、サブ
    ジェクト・ノード・コンピュータによって少なくとも1
    個の新たなノードを少なくとも1個のメンバー・ノード
    を含むと同時に少なくとも1個のサブジェクト・ノード
    ・コンピュータを含むクラスタに追加する命令を含む記
    録媒体において、 (a)分散型コンピュータ・システムの他のノードに接
    続されているもののうち、クラスタ内の接続されている
    ノードのメンバーシップとは関係なく動作していてサブ
    ジェクト・ノード・コンピュータと通信状態にあるもの
    を判断し、 (b)接続されているノードを含む提案された新たなク
    ラスタを特定する再構成メッセージを生成し、 (c)再構成メッセージを他のノード各々に送信し、 (d)それぞれの再構成メッセージを他のノード各々か
    ら受信し、 (e)各応答再構成メッセージが、再構成メッセージに
    よって指定されたメンバーシップと等しい提案された新
    たなクラスタのメンバーシップを指定していることを判
    断することを実施させるコンピュータ命令を含むコンピ
    ュータ読取可能な記録媒体。
  9. 【請求項9】 上記(a)が、分散型コンピュータ・シ
    ステムの少なくとも1個のメンバー・ノードからメッセ
    ージを受信するのを予め定められた時間だけ待ち、 予め定められた時間内にメッセージを受信した分散型コ
    ンピュータ・システムの少なくとも1個のメンバー・ノ
    ードの各々が動作し、サブジェクト・ノード・コンピュ
    ータと通信状態にあることを判断することを含む請求項
    8に記載のコンピュータ読取可能な記録媒体。
  10. 【請求項10】 少なくとも1個のプロセッサとメモリ
    とを含むサブジェクト・ノード・コンピュータにおいて
    利用するコンピュータ読取可能な記録媒体であって、 分散型コンピュータ・システムの他のノードに接続され
    ているもののうち古いクラスタ中で接続されている他の
    ノードのメンバーシップとは関係なく、動作していてサ
    ブジェクト・ノード・コンピュータと通信状態にあるも
    のを判断し、 接続されている他のノードを含む新たな予定クラスタを
    構成し、 古いクラスタに対して提案された新たなクラスタについ
    ての定足数の構築を試みることを実施して、サブジェク
    ト・ノード・コンピュータに、少なくとも1個のメンバ
    ー・ノードを含むと同時に少なくとも1個のサブジェク
    ト・ノード・コンピュータと切り離されるノードとを含
    む古いクラスタから、少なくとも1個の切り離されるノ
    ードを除去させるコンピュータ命令を含むコンピュータ
    読取可能な記録媒体。
  11. 【請求項11】 通信状態を判断するとき、分散型コン
    ピュータ・システムの少なくとも1個のメンバー・ノー
    ドからメッセージを受信するのを予め定められた時間だ
    け待ち、 予め定められた時間内にメッセージを受信した分散型コ
    ンピュータ・システムの少なくとも1個のメンバー・ノ
    ードの各々が動作し、サブジェクト・ノード・コンピュ
    ータと通信状態にあることを判断する請求項10に記載
    のコンピュータ読取可能な記録媒体。
  12. 【請求項12】 定足数の構築を試みるとき、 古いクラスタのメンバー・ノードの数を判断し、 古いクラスタのメンバー・ノードの数が2である場合に
    競合メカニズムによって定足数の構築を試み、 古いクラスタのメンバー・ノードの数が2より大きい場
    合に投票メカニズムによって定足数の構築を試みる請求
    項10に記載のコンピュータ読取可能な記録媒体。
  13. 【請求項13】 競合メカニズムによって定足数の構築
    を試みるとき、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータとが定足数装置を共用しているか否か判断し、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータとが定足数装置を共用していなかった場合に他のメ
    カニズムを使用して定足数を構築することを試みる請求
    項12に記載のコンピュータ読取可能な記録媒体。
  14. 【請求項14】 他のメカニズムが、人間のオペレータ
    に対して、切り離されるノードとサブジェクト・ノード
    ・コンピュータとからなる群からユーザインタフェース
    技術を用いて勝者ノードを選択するようプロンプト指示
    するステップの実行を含む請求項13に記載のコンピュ
    ータ読取可能な記録媒体。
  15. 【請求項15】 少なくとも1個の処理装置と、 少なくとも1個の処理装置に接続されたメモリとを備
    え、 (a)分散型コンピュータ・システムの他のノードに接
    続されているもののうち、クラスタ中で接続しているノ
    ードのメンバーシップとは関係なく動作していてサブジ
    ェクト・ノード・コンピュータと通信状態にあるものを
    判断し、 (b)接続されているノードを含む提案された新たなク
    ラスタを特定する再構成メッセージを生成し、 (c)再構成メッセージを他のノード各々に送信し、 (d)応答再構成メッセージを他のノード各々から受信
    し、 (e)各応答再構成メッセージが、再構成メッセージに
    よって指定されたメンバーシップと等しい提案された新
    たなクラスタのメンバーシップを指定していることを判
    断することによって、 少なくとも1個のメンバー・ノードを含み、サブジェク
    ト・ノード・コンピュータ・システムによって、少なく
    とも1個のサブジェクト・ノード・コンピュータを含む
    クラスタに少なくとも1個の新たなノードを追加させる
    クラスタ・メンバーシップ・モジュールをさらに備える
    サブジェクト・ノード・コンピュータ・システム。
  16. 【請求項16】 ステップ(a)が、再構成メッセージ
    を受信するのを予め定められた時間だけ待ち、 予め定められた時間内に再構成メッセージをそこから受
    信したノードの各々が動作し、サブジェクト・ノード・
    コンピュータと通信状態にあることを判断する請求項1
    5に記載のサブジェクト・ノード・コンピュータ・シス
    テム。
  17. 【請求項17】 少なくとも1個の処理装置と、 少なくとも1個の処理装置に作用的に接続されたメモリ
    と、 分散型コンピュータ・システムの他のノードに接続され
    ているもののうち古いクラスタ中で接続されている他の
    ノードのメンバーシップにかかわらず、動作していてサ
    ブジェクト・ノード・コンピュータと通信状態にあるも
    のを判断し、 接続されている他のノードを含む新たな予定クラスタを
    構成し、 古いクラスタに対して提案された新たなクラスタについ
    ての定足数の構築を試みること実施することによって、
    サブジェクト・ノード・コンピュータに、少なくとも1
    個のメンバー・ノードを含むと同時に少なくとも1個の
    サブジェクト・ノード・コンピュータと切り離されるノ
    ードとを含む古いクラスタから、少なくとも1個の切り
    離されるノードを除去させるように構成されたクラスタ
    ・メンバー・モジュールを備えるサブジェクト・ノード
    ・コンピュータ・システム。
  18. 【請求項18】 判断するステップが、再構成メッセー
    ジを受信するのを予め定められた時間だけ待ち、 予め定められた時間内に再構成メッセージを受信した分
    散型コンピュータ・システムの少なくとも1個のメンバ
    ー・ノードの各々が動作し、サブジェクト・ノード・コ
    ンピュータと通信状態にあることを判断する請求項17
    に記載のサブジェクト・ノード・コンピュータ・システ
    ム。
  19. 【請求項19】 定足数の構築を試みるとき、 古いクラスタのメンバー・ノードの数を判断し、 古いクラスタのメンバー・ノードの数が2である場合に
    競合メカニズムによって定足数の構築を試み、 古いクラスタのメンバー・ノードの数が2より大きい場
    合に投票メカニズムによって定足数の構築を試みる請求
    項17に記載のサブジェクト・ノード・コンピュータ・
    システム。
  20. 【請求項20】 競合メカニズムによって定足数の構築
    を試みるとき、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータ・システムとが定足数装置を共用しているか否か判
    断し、 切り離されるノードとサブジェクト・ノード・コンピュ
    ータ・システムとが定足数装置を共用していなかった場
    合に他のメカニズムを使用して定足数を構築することを
    試みる請求項19に記載のサブジェクト・ノード・コン
    ピュータ。
  21. 【請求項21】 他のメカニズムが、人間のオペレータ
    に対して、切り離されるノードとサブジェクト・ノード
    ・コンピュータ・システムとからなる群からユーザイン
    タフェース技術を用いて勝者ノードを選択するようプロ
    ンプト指示するステップのパフォーマンスを含む請求項
    20に記載のサブジェクト・ノード・コンピュータ・シ
    ステム。
JP10182998A 1997-06-27 1998-06-29 低信頼度分散型コンピュータ・システムにおけるメンバーシップ Pending JPH11167558A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/884,097 1997-06-27
US08/884,097 US6108699A (en) 1997-06-27 1997-06-27 System and method for modifying membership in a clustered distributed computer system and updating system configuration

Publications (1)

Publication Number Publication Date
JPH11167558A true JPH11167558A (ja) 1999-06-22

Family

ID=25383945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10182998A Pending JPH11167558A (ja) 1997-06-27 1998-06-29 低信頼度分散型コンピュータ・システムにおけるメンバーシップ

Country Status (4)

Country Link
US (1) US6108699A (ja)
EP (1) EP0887731B1 (ja)
JP (1) JPH11167558A (ja)
DE (1) DE69811148T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109726A (ja) * 1999-08-31 2001-04-20 Internatl Business Mach Corp <Ibm> 分散コンピュータ・システム内のプロセッサを再構成する方法、システム、および、記憶装置
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
KR100358663B1 (ko) * 1999-03-30 2002-10-30 인터내셔널 비지네스 머신즈 코포레이션 클러스터 노드 디스트레스 신호
JP2006004434A (ja) * 2004-06-18 2006-01-05 Microsoft Corp 分散障害許容型コンピューティングシステムにおける効率のよいレプリカセットの変更
JP2006004433A (ja) * 2004-06-18 2006-01-05 Microsoft Corp Cheappaxos
US7395327B2 (en) 2003-12-19 2008-07-01 International Business Machines Corporation Persistent group membership in a distributed computing system
JP2011164719A (ja) * 2010-02-04 2011-08-25 Tritech Inc 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
JP2016510448A (ja) * 2012-12-28 2016-04-07 ワンディスコ,インク. 分散型コンピューターシステム内のメンバーシップを開始し、形成し、及びメンバーシップに参加する方法、装置、及びシステム

Families Citing this family (227)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449730B2 (en) * 1995-10-24 2002-09-10 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6192401B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6279032B1 (en) 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
US6243744B1 (en) * 1998-05-26 2001-06-05 Compaq Computer Corporation Computer network cluster generation indicator
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
US6314526B1 (en) * 1998-07-10 2001-11-06 International Business Machines Corporation Resource group quorum scheme for highly scalable and highly available cluster system management
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6687754B1 (en) * 1998-08-27 2004-02-03 Intel Corporation Method of detecting a device in a network
JP3980768B2 (ja) * 1998-09-02 2007-09-26 株式会社日立製作所 分散処理システム及びその協調方法
US6389551B1 (en) * 1998-12-17 2002-05-14 Steeleye Technology, Inc. Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
US6401120B1 (en) 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6453426B1 (en) 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6871222B1 (en) * 1999-05-28 2005-03-22 Oracle International Corporation Quorumless cluster using disk-based messaging
US7020695B1 (en) * 1999-05-28 2006-03-28 Oracle International Corporation Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem)
US7076783B1 (en) 1999-05-28 2006-07-11 Oracle International Corporation Providing figure of merit vote from application executing on a partitioned cluster
US7139790B1 (en) * 1999-08-17 2006-11-21 Microsoft Corporation Weak leader election
US6487678B1 (en) * 1999-08-31 2002-11-26 International Business Machines Corporation Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system
US7069320B1 (en) * 1999-10-04 2006-06-27 International Business Machines Corporation Reconfiguring a network by utilizing a predetermined length quiescent state
US6990668B1 (en) * 1999-10-20 2006-01-24 International Business Machines Corporation Apparatus and method for passively monitoring liveness of jobs in a clustered computing environment
US7039680B2 (en) * 1999-10-20 2006-05-02 International Business Machines Corporation Apparatus and method for timeout-free waiting for an ordered message in a clustered computing environment
US6662219B1 (en) * 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6757836B1 (en) * 2000-01-10 2004-06-29 Sun Microsystems, Inc. Method and apparatus for resolving partial connectivity in a clustered computing system
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6658587B1 (en) 2000-01-10 2003-12-02 Sun Microsystems, Inc. Emulation of persistent group reservations
US6862613B1 (en) 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6769008B1 (en) * 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US6851005B1 (en) * 2000-03-03 2005-02-01 International Business Machines Corporation Apparatus and method for implementing raid devices in a cluster computer system
US6460149B1 (en) * 2000-03-03 2002-10-01 International Business Machines Corporation Suicide among well-mannered cluster nodes experiencing heartbeat failure
US6636982B1 (en) 2000-03-03 2003-10-21 International Business Machines Corporation Apparatus and method for detecting the reset of a node in a cluster computer system
US7225243B1 (en) * 2000-03-14 2007-05-29 Adaptec, Inc. Device discovery methods and systems implementing the same
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
US6950963B1 (en) * 2000-05-30 2005-09-27 Agere Systems Inc. Control method and apparatus for testing of multiple processor integrated circuits and other digital systems
US6801937B1 (en) * 2000-05-31 2004-10-05 International Business Machines Corporation Method, system and program products for defining nodes to a cluster
US6847993B1 (en) * 2000-05-31 2005-01-25 International Business Machines Corporation Method, system and program products for managing cluster configurations
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
US6807557B1 (en) * 2000-05-31 2004-10-19 International Business Machines Corporation Method, system and program products for providing clusters of a computing environment
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US6968359B1 (en) 2000-08-14 2005-11-22 International Business Machines Corporation Merge protocol for clustered computer system
US7272643B1 (en) * 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US7487232B1 (en) 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7389358B1 (en) * 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US7111072B1 (en) * 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US6934768B1 (en) * 2000-10-23 2005-08-23 International Business Machines Corporation Dynamic modification of fragmentation size cluster communication parameter in clustered computer system
US6983324B1 (en) * 2000-10-23 2006-01-03 International Business Machines Corporation Dynamic modification of cluster communication parameters in clustered computer system
US7113900B1 (en) 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6915338B1 (en) * 2000-10-24 2005-07-05 Microsoft Corporation System and method providing automatic policy enforcement in a multi-computer service application
US7093288B1 (en) 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US6907395B1 (en) 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US6839752B1 (en) * 2000-10-27 2005-01-04 International Business Machines Corporation Group data sharing during membership change in clustered computer system
JP2002152265A (ja) * 2000-11-15 2002-05-24 Tadashi Yamamoto 通信回線網の接続経路選択方法と装置及び該接続経路選択プログラムを記録した記録媒体
US7185099B1 (en) 2000-11-22 2007-02-27 International Business Machines Corporation Apparatus and method for communicating between computer systems using a sliding send window for ordered messages in a clustered computing environment
US7249170B2 (en) 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
US20020069367A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Network operating system data directory
US7769844B2 (en) 2000-12-07 2010-08-03 International Business Machines Corporation Peer protocol status query in clustered computer system
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US20020124069A1 (en) * 2000-12-28 2002-09-05 Hatalkar Atul N. Broadcast communication system with dynamic client-group memberships
US20020129095A1 (en) * 2000-12-29 2002-09-12 Hatalkar Atul N. Broadcast communication system with dynamic client-group memberships
JP4404493B2 (ja) * 2001-02-01 2010-01-27 日本電気株式会社 計算機システム
US20020099787A1 (en) * 2001-01-12 2002-07-25 3Com Corporation Distributed configuration management on a network
US6952766B2 (en) 2001-03-15 2005-10-04 International Business Machines Corporation Automated node restart in clustered computer system
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US6832346B2 (en) * 2001-04-13 2004-12-14 Lockheed Martin Corporation System and method for managing and communicating state changes of a complex system
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US7392546B2 (en) * 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US6711573B2 (en) 2001-06-20 2004-03-23 International Business Machines Corporation Method and apparatus for application execution of distributed database service updates
US7181547B1 (en) * 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US6965929B2 (en) * 2001-06-29 2005-11-15 Intel Corporation Configuring a network device
US7016946B2 (en) * 2001-07-05 2006-03-21 Sun Microsystems, Inc. Method and system for establishing a quorum for a geographically distributed cluster of computers
US20030028594A1 (en) * 2001-07-31 2003-02-06 International Business Machines Corporation Managing intended group membership using domains
US6925582B2 (en) * 2001-08-01 2005-08-02 International Business Machines Corporation Forwarding of diagnostic messages in a group
US7243374B2 (en) 2001-08-08 2007-07-10 Microsoft Corporation Rapid application security threat analysis
US7200548B2 (en) 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7389332B1 (en) * 2001-09-07 2008-06-17 Cisco Technology, Inc. Method and apparatus for supporting communications between nodes operating in a master-slave configuration
US7231461B2 (en) 2001-09-14 2007-06-12 International Business Machines Corporation Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system
US7788381B2 (en) * 2001-09-17 2010-08-31 Foundry Networks, Inc. System and method for router keep-alive control
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
WO2003039071A1 (en) * 2001-10-29 2003-05-08 Sun Microsystems, Inc. Method to manage high availability equipments
US20030088659A1 (en) * 2001-11-08 2003-05-08 Susarla Hanumantha Rao System and method for distributed state management
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US6904448B2 (en) * 2001-12-20 2005-06-07 International Business Machines Corporation Dynamic quorum adjustment
US7130905B2 (en) * 2002-01-10 2006-10-31 Sun Microsystems, Inc. System and method for coordinating access to data for a distributed application
US20030135552A1 (en) * 2002-01-14 2003-07-17 Blackstock Michael A. Method for discovering and discriminating devices on local collaborative networks to facilitate collaboration among users
US7240088B2 (en) * 2002-01-25 2007-07-03 International Business Machines Corporation Node self-start in a decentralized cluster
US20030154202A1 (en) * 2002-02-12 2003-08-14 Darpan Dinker Distributed data system with process co-location and out -of -process communication
US7320035B2 (en) * 2002-03-01 2008-01-15 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US7370329B2 (en) 2002-03-01 2008-05-06 Sun Microsystems, Inc. System and method for state saves in a distributed data system
US7421478B1 (en) 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US7631066B1 (en) * 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US7587465B1 (en) 2002-04-22 2009-09-08 Cisco Technology, Inc. Method and apparatus for configuring nodes as masters or slaves
US7415535B1 (en) 2002-04-22 2008-08-19 Cisco Technology, Inc. Virtual MAC address system and method
US7165258B1 (en) 2002-04-22 2007-01-16 Cisco Technology, Inc. SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US7200610B1 (en) 2002-04-22 2007-04-03 Cisco Technology, Inc. System and method for configuring fibre-channel devices
US7188194B1 (en) * 2002-04-22 2007-03-06 Cisco Technology, Inc. Session-based target/LUN mapping for a storage area network and associated method
US7433952B1 (en) 2002-04-22 2008-10-07 Cisco Technology, Inc. System and method for interconnecting a storage area network
NZ518575A (en) * 2002-04-24 2004-08-27 Open Cloud Ltd Distributed application server using a peer configuration
US7139925B2 (en) * 2002-04-29 2006-11-21 Sun Microsystems, Inc. System and method for dynamic cluster adjustment to node failures in a distributed data system
US7024483B2 (en) * 2002-04-29 2006-04-04 Sun Microsystems, Inc. System and method for topology manager employing finite state automata for dynamic cluster formation
US7240098B1 (en) 2002-05-09 2007-07-03 Cisco Technology, Inc. System, method, and software for a virtual host bus adapter in a storage-area network
US7509436B1 (en) 2002-05-09 2009-03-24 Cisco Technology, Inc. System and method for increased virtual driver throughput
US7385971B1 (en) 2002-05-09 2008-06-10 Cisco Technology, Inc. Latency reduction in network data transfer operations
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7116665B2 (en) * 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7376125B1 (en) * 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
EP1514183A2 (en) 2002-06-20 2005-03-16 BRITISH TELECOMMUNICATIONS public limited company Distributed computer
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7464145B2 (en) 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US7058957B1 (en) 2002-07-12 2006-06-06 3Pardata, Inc. Cluster event notification system
US6965957B1 (en) * 2002-07-12 2005-11-15 3Pardata, Inc. Automatic cluster join protocol
US7590985B1 (en) 2002-07-12 2009-09-15 3Par, Inc. Cluster inter-process communication transport
US7613772B2 (en) * 2002-07-25 2009-11-03 Colligo Networks, Inc. Method for context based discovery and filtering of portable collaborative networks
US20040028069A1 (en) * 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7366893B2 (en) * 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US20040030771A1 (en) * 2002-08-07 2004-02-12 John Strassner System and method for enabling directory-enabled networking
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7558847B2 (en) * 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US7239605B2 (en) * 2002-09-23 2007-07-03 Sun Microsystems, Inc. Item and method for performing a cluster topology self-healing process in a distributed data system cluster
US7206836B2 (en) * 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US7363534B1 (en) * 2002-09-30 2008-04-22 Cisco Technology, Inc. Method and system for stateful switch-over in a high-availability point to point system
US20040068667A1 (en) * 2002-10-03 2004-04-08 International Business Machines Corporation Method and apparatus for securing and managing cluster computing in a network data processing system
US8005979B2 (en) * 2002-10-28 2011-08-23 Oracle America, Inc. System and method for uniquely identifying processes and entities in clusters
US7266120B2 (en) * 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
GB0230331D0 (en) 2002-12-31 2003-02-05 British Telecomm Method and apparatus for operating a computer network
US7831736B1 (en) 2003-02-27 2010-11-09 Cisco Technology, Inc. System and method for supporting VLANs in an iSCSI
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7295572B1 (en) 2003-03-26 2007-11-13 Cisco Technology, Inc. Storage router and method for routing IP datagrams between data path processors using a fibre channel switch
US7433300B1 (en) 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7904599B1 (en) 2003-03-28 2011-03-08 Cisco Technology, Inc. Synchronization and auditing of zone configuration data in storage-area networks
US7526527B1 (en) 2003-03-31 2009-04-28 Cisco Technology, Inc. Storage area network interconnect server
US8001142B2 (en) 2003-04-02 2011-08-16 Oracle America, Inc. Distributed data system with incremental data updates
US7178065B2 (en) * 2003-04-02 2007-02-13 Sun Microsystems, Inc. System and method for measuring performance with distributed agents
US7281050B2 (en) * 2003-04-08 2007-10-09 Sun Microsystems, Inc. Distributed token manager with transactional properties
US7197632B2 (en) * 2003-04-29 2007-03-27 International Business Machines Corporation Storage system and cluster maintenance
US7379418B2 (en) * 2003-05-12 2008-05-27 International Business Machines Corporation Method for ensuring system serialization (quiesce) in a multi-processor environment
US7451208B1 (en) 2003-06-28 2008-11-11 Cisco Technology, Inc. Systems and methods for network address failover
US7120821B1 (en) * 2003-07-24 2006-10-10 Unisys Corporation Method to revive and reconstitute majority node set clusters
US7379989B2 (en) * 2003-07-31 2008-05-27 International Business Machines Corporation Method for dual agent processes and dual active server processes
US7720095B2 (en) * 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
DE10345535B4 (de) * 2003-09-30 2005-10-06 Siemens Ag Überprüfung der Verfügbarkeit eines Servers
US8099481B2 (en) * 2003-12-16 2012-01-17 Alcatel Lucent System and method for resolving hubs and like devices in network topology
US7730207B2 (en) * 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
JP2005310243A (ja) * 2004-04-20 2005-11-04 Seiko Epson Corp メモリコントローラ、半導体集積回路装置、半導体装置、マイクロコンピュータ及び電子機器
US7249280B2 (en) * 2004-06-18 2007-07-24 Microsoft Corporation Cheap paxos
US20050289228A1 (en) * 2004-06-25 2005-12-29 Nokia Inc. System and method for managing a change to a cluster configuration
EP1632854A1 (en) * 2004-08-23 2006-03-08 Sun Microsystems France S.A. Method and apparatus for using a serial cable as a cluster quorum device
EP1748361A1 (en) * 2004-08-23 2007-01-31 Sun Microsystems France S.A. Method and apparatus for using a USB cable as a cluster quorum device
US7386753B2 (en) * 2004-09-02 2008-06-10 International Business Machines Corporation Subscription-based management and distribution of member-specific state data in a distributed computing system
US7499419B2 (en) 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US20070115979A1 (en) * 2004-11-18 2007-05-24 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US7808904B2 (en) 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US20060161469A1 (en) 2005-01-14 2006-07-20 Weatherbank, Inc. Interactive advisory system
US8832121B2 (en) 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
US7698390B1 (en) 2005-03-29 2010-04-13 Oracle America, Inc. Pluggable device specific components and interfaces supported by cluster devices and systems and methods for implementing the same
US7690037B1 (en) * 2005-07-13 2010-03-30 Symantec Corporation Filtering training data for machine learning
US20070022314A1 (en) * 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum
WO2007038445A2 (en) 2005-09-26 2007-04-05 Advanced Cluster Systems, Llc Clustered computer system
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US20070174655A1 (en) * 2006-01-18 2007-07-26 Brown Kyle G System and method of implementing automatic resource outage handling
US8229467B2 (en) 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US8078907B2 (en) * 2006-01-19 2011-12-13 Silicon Graphics, Inc. Failsoft system for multiple CPU system
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US7770063B2 (en) * 2006-08-26 2010-08-03 International Business Machines Corporation Simulation of failure recovery within clustered systems
TWI417737B (zh) * 2006-10-25 2013-12-01 Hewlett Packard Development Co 資產模型之即時識別與資產分類以協助電腦網路安全
US8108550B2 (en) * 2006-10-25 2012-01-31 Hewlett-Packard Development Company, L.P. Real-time identification of an asset model and categorization of an asset to assist in computer network security
US8634814B2 (en) 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
US8209417B2 (en) * 2007-03-08 2012-06-26 Oracle International Corporation Dynamic resource profiles for clusterware-managed resources
US8334787B2 (en) 2007-10-25 2012-12-18 Trilliant Networks, Inc. Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit
EP2257884A4 (en) 2007-11-25 2011-04-20 Trilliant Networks Inc SYSTEM AND METHOD FOR TRANSMITTING AND RECEIVING INFORMATION ABOUT A NEIGHBORHOOD ZONAL NETWORK
US8171364B2 (en) 2007-11-25 2012-05-01 Trilliant Networks, Inc. System and method for power outage and restoration notification in an advanced metering infrastructure network
US8332055B2 (en) 2007-11-25 2012-12-11 Trilliant Networks, Inc. Energy use control system and method
WO2009067255A1 (en) 2007-11-25 2009-05-28 Trilliant Networks, Inc. Point-to-point communication within a mesh network
US8138934B2 (en) 2007-11-25 2012-03-20 Trilliant Networks, Inc. System and method for false alert filtering of event messages within a network
JP5377898B2 (ja) * 2008-07-10 2013-12-25 株式会社日立製作所 クラスタリングを構成する計算機システムの系切替方法、及びシステム
WO2010027495A1 (en) 2008-09-04 2010-03-11 Trilliant Networks, Inc. A system and method for implementing mesh network communications using a mesh network protocol
US8443062B2 (en) * 2008-10-23 2013-05-14 Microsoft Corporation Quorum based transactionally consistent membership management in distributed storage systems
US20100114826A1 (en) * 2008-10-24 2010-05-06 Microsoft Corporation Configuration management in distributed data systems
US8289182B2 (en) 2008-11-21 2012-10-16 Trilliant Networks, Inc. Methods and systems for virtual energy management display
US8891338B2 (en) 2009-01-29 2014-11-18 Itron, Inc. Measuring the accuracy of an endpoint clock from a remote device
US8319658B2 (en) 2009-03-11 2012-11-27 Trilliant Networks, Inc. Process, device and system for mapping transformers to meters and locating non-technical line losses
US8145938B2 (en) * 2009-06-01 2012-03-27 Novell, Inc. Fencing management in clusters
US8781462B2 (en) 2009-09-28 2014-07-15 Itron, Inc. Methodology and apparatus for validating network coverage
US9274851B2 (en) 2009-11-25 2016-03-01 Brocade Communications Systems, Inc. Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines
US20110228772A1 (en) 2010-03-19 2011-09-22 Brocade Communications Systems, Inc. Providing multicast services without interruption upon a switchover
US8769155B2 (en) 2010-03-19 2014-07-01 Brocade Communications Systems, Inc. Techniques for synchronizing application object instances
US8381017B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Automated node fencing integrated within a quorum service of a cluster infrastructure
US8495418B2 (en) 2010-07-23 2013-07-23 Brocade Communications Systems, Inc. Achieving ultra-high availability using a single CPU
US9104619B2 (en) 2010-07-23 2015-08-11 Brocade Communications Systems, Inc. Persisting data across warm boots
CA2809034A1 (en) 2010-08-27 2012-03-01 Randy Frei System and method for interference free operation of co-located tranceivers
WO2012037055A1 (en) 2010-09-13 2012-03-22 Trilliant Networks Process for detecting energy theft
WO2012068045A2 (en) 2010-11-15 2012-05-24 Trilliant Holdings Inc. System and method for securely communicating across multiple networks using a single radio
US8943082B2 (en) 2010-12-01 2015-01-27 International Business Machines Corporation Self-assignment of node identifier in a cluster system
US8788465B2 (en) 2010-12-01 2014-07-22 International Business Machines Corporation Notification of configuration updates in a cluster system
US9069571B2 (en) 2010-12-01 2015-06-30 International Business Machines Corporation Propagation of unique device names in a cluster system
WO2012097204A1 (en) 2011-01-14 2012-07-19 Trilliant Holdings, Inc. Process, device and system for volt/var optimization
WO2012103072A2 (en) 2011-01-25 2012-08-02 Trilliant Holdings, Inc. Aggregated real-time power outages/restoration reporting (rtpor) in a secure mesh network
WO2012173667A2 (en) 2011-02-10 2012-12-20 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
WO2012122310A1 (en) 2011-03-08 2012-09-13 Trilliant Networks, Inc. System and method for managing load distribution across a power grid
US8887006B2 (en) * 2011-04-04 2014-11-11 Microsoft Corporation Proactive failure handling in database services
US9143335B2 (en) 2011-09-16 2015-09-22 Brocade Communications Systems, Inc. Multicast route cache system
US9001787B1 (en) 2011-09-20 2015-04-07 Trilliant Networks Inc. System and method for implementing handover of a hybrid communications module
US10581763B2 (en) 2012-09-21 2020-03-03 Avago Technologies International Sales Pte. Limited High availability application messaging layer
US9967106B2 (en) 2012-09-24 2018-05-08 Brocade Communications Systems LLC Role based multicast messaging infrastructure
US9203690B2 (en) 2012-09-24 2015-12-01 Brocade Communications Systems, Inc. Role based multicast messaging infrastructure
US9146790B1 (en) * 2012-11-02 2015-09-29 Symantec Corporation Performing fencing operations in multi-node distributed storage systems
US9183148B2 (en) 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
US9619349B2 (en) 2014-10-14 2017-04-11 Brocade Communications Systems, Inc. Biasing active-standby determination
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
JP6934754B2 (ja) * 2017-06-15 2021-09-15 株式会社日立製作所 分散処理システム、分散処理システムの管理方法、及び分散処理システム管理プログラム
US10671494B1 (en) * 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3687400T2 (de) * 1985-11-04 1993-07-15 Ibm Digitale nachrichtenuebertragungsnetzwerke und aufbau von uebertragungswegen in diesen netzwerken.
US5062055A (en) * 1986-09-02 1991-10-29 Digital Equipment Corporation Data processor performance advisor
US5138615A (en) * 1989-06-22 1992-08-11 Digital Equipment Corporation Reconfiguration system and method for high-speed mesh connected local area network
US5216675A (en) * 1990-05-23 1993-06-01 The United States Of America As Represented By The Secretary Of The Air Force Reliable broadcast protocol
US5129080A (en) * 1990-10-17 1992-07-07 International Business Machines Corporation Method and system increasing the operational availability of a system of computer programs operating in a distributed system of computers
US5469575A (en) * 1992-10-16 1995-11-21 International Business Machines Corporation Determining a winner of a race in a data processing system
US5574860A (en) * 1993-03-11 1996-11-12 Digital Equipment Corporation Method of neighbor discovery over a multiaccess nonbroadcast medium
JPH0713838A (ja) * 1993-06-14 1995-01-17 Internatl Business Mach Corp <Ibm> エラーの回復方法及び装置
US5692120A (en) * 1994-08-08 1997-11-25 International Business Machines Corporation Failure recovery apparatus and method for distributed processing shared resource control
US5996075A (en) * 1995-11-02 1999-11-30 Sun Microsystems, Inc. Method and apparatus for reliable disk fencing in a multicomputer system
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100358663B1 (ko) * 1999-03-30 2002-10-30 인터내셔널 비지네스 머신즈 코포레이션 클러스터 노드 디스트레스 신호
JP2001109726A (ja) * 1999-08-31 2001-04-20 Internatl Business Mach Corp <Ibm> 分散コンピュータ・システム内のプロセッサを再構成する方法、システム、および、記憶装置
JP2002049601A (ja) * 2000-05-31 2002-02-15 Internatl Business Mach Corp <Ibm> コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品
US7395327B2 (en) 2003-12-19 2008-07-01 International Business Machines Corporation Persistent group membership in a distributed computing system
US7953837B2 (en) 2003-12-19 2011-05-31 International Business Machines Corporation Persistent group membership in a distributing computing system
JP2006004434A (ja) * 2004-06-18 2006-01-05 Microsoft Corp 分散障害許容型コンピューティングシステムにおける効率のよいレプリカセットの変更
JP2006004433A (ja) * 2004-06-18 2006-01-05 Microsoft Corp Cheappaxos
JP2011164719A (ja) * 2010-02-04 2011-08-25 Tritech Inc 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
JP2016510448A (ja) * 2012-12-28 2016-04-07 ワンディスコ,インク. 分散型コンピューターシステム内のメンバーシップを開始し、形成し、及びメンバーシップに参加する方法、装置、及びシステム

Also Published As

Publication number Publication date
EP0887731A1 (en) 1998-12-30
EP0887731B1 (en) 2003-02-05
US6108699A (en) 2000-08-22
DE69811148T2 (de) 2004-04-29
DE69811148D1 (de) 2003-03-13

Similar Documents

Publication Publication Date Title
JPH11167558A (ja) 低信頼度分散型コンピュータ・システムにおけるメンバーシップ
US5999712A (en) Determining cluster membership in a distributed computer system
JP4820814B2 (ja) スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ
JP4976661B2 (ja) Cheappaxos
US7548973B2 (en) Managing a high availability framework by enabling and disabling individual nodes
US7555516B2 (en) Fast Paxos recovery
US6618805B1 (en) System and method for simplifying and managing complex transactions in a distributed high-availability computer system
US6145089A (en) Server fail-over system
US7698465B2 (en) Generalized Paxos
EP0750256B1 (en) Framework for managing cluster membership in a multiprocessor system
US7711820B2 (en) High availability for intelligent applications in storage networks
US7558883B1 (en) Fast transaction commit
US8812501B2 (en) Method or apparatus for selecting a cluster in a group of nodes
US7373545B2 (en) Fault tolerant computer system
US8005888B2 (en) Conflict fast consensus
US5799146A (en) Communications system involving groups of processors of a distributed computing environment
JP2001509291A (ja) 多重プロセッサシステムにおけるプロセッサメンバーシップの分散形取り決め
JP3589378B2 (ja) 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム
JPH05108392A (ja) データ処理システム
US5790772A (en) Communications method involving groups of processors of a distributed computing environment
JPH1040222A (ja) 分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するための方法
US6912713B2 (en) Program product for an application programming interface unifying multiple mechanisms
JPH1040229A (ja) 分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するためのシステム
US6629260B1 (en) Automatic reconnection of partner software processes in a fault-tolerant computer system
US5764875A (en) Communications program product involving groups of processors of a distributed computing environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080422