JP2002117010A - クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する装置及びその方法 - Google Patents
クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する装置及びその方法Info
- Publication number
- JP2002117010A JP2002117010A JP2001237064A JP2001237064A JP2002117010A JP 2002117010 A JP2002117010 A JP 2002117010A JP 2001237064 A JP2001237064 A JP 2001237064A JP 2001237064 A JP2001237064 A JP 2001237064A JP 2002117010 A JP2002117010 A JP 2002117010A
- Authority
- JP
- Japan
- Prior art keywords
- request
- reception
- merge
- receive
- identifier
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
Abstract
多数のパーティションを連結するためにマージ操作を行
う改善された方法、装置、プログラム製品、該プログラ
ム製品を保持する媒体を提供。 【解決手段】装置、プログラム製品、及び方法は、グル
ープにおける各パーティションの全ての保留プロトコル
が実行されるまで、一般にマージ・プロトコルの実行に
先立って各保留プログラムのキャンセル又は完了のいず
れかを保証することによって、クラスタ化グループにお
けるマージ・プロトコルの実行をずらすために、クラス
タ化コンピュータ・システムにおいて順序付けられたメ
ッセージを利用する。各グループ・メンバの観点から、
マージ・プロトコルの実行は、全ての保留中の先行受信
要求を処理した後にそのようなメンバによってマージ要
求の処理を阻害することによって変更される。
Description
したコンピュータ・システム、特に該コンピュータ・シ
ステム上でのマージ処理に関する。
クを協同して実行するために多数のコンピュータ又はノ
ードによってネットワークが構築されているコンピュー
タ・システム構成を一般に意味する。コンピュータ・ク
ラスタの重要な態様は、クラスタ内のノード全てが単一
のシステム像を示すということであり、すなわちユーザ
から見ればクラスタ内のノードが単一のコンピュータ又
は実体として集合的に現れるということである。
が高いことが重要である比較的大規模なマルチ・ユーザ
・コンピュータ・システムにおいてしばしば利用され
る。例えば、クラスタ化は冗長性又は耐故障性(フォー
ルト・トレランス)を与えるために使用することもで
き、その結果、万が一クラスタ内の任意のノードが故障
してもそのノードによって以前に実行された操作が該ク
ラスタ内の他のノードによって処理される。クラスタ化
は、多数のノードによってしばしば単一のコンピュータ
よりも多くのタスクを並行処理することができるため、
全体的なパフォーマンスの増加にも使用することができ
る。しばしば、負荷バランシングもまたタスクがノード
間に適正に分配されることを保証することで個々のノー
ドが過負荷状態になるのを防ぎ、それによって全体的な
システム・パフォーマンスを最大限にする。クラスタ化
の具体的な適用例として、例えばデータベース又は記憶
装置等の共有リソースに対するマルチ・ユーザ・アクセ
スを提供することが挙げられる。なぜなら、多数のノー
ドによって比較的多くのユーザ・アクセス要求を処理す
ることができ、またクラスタ内のノードのいずれか一つ
が故障しても共有リソースは一般に利用可能であるため
である。
「ジョブ」又は「プロセス」の実行を介してコンピュー
タ・タスクを処理する。場合によっては、異なるノード
で実行されているジョブが互いに協同して一つのコンピ
ュータ・タスクを処理する。そのような協同的ジョブ
は、一般に互いに通信することができ、「グループ」と
して知られている論理的な実体を用いてクラスタ内で一
般に管理される。グループは何らかの形の識別子が一般
に割り当てられており、そのような識別子がグループ内
の各ジョブに付けられ、該グループ内におけるメンバシ
ップを示すことになる。
順序付けられたメッセージに基づくスキームを使用して
互いに通信し合う。この際、どのメンバも他のメンバと
同一順序で他のメンバによって送られたメッセージを見
るように、他のグループ・メンバ間で送信されたメッセ
ージの順序が保たれ、ノード間の同期が確保される。グ
ループを構成するメンバによって実行される操作に対す
る要求は、しばしば「プロトコル」と呼ばれ、一般にそ
れは該グループのメンバによって協同的に複数のタスク
が実行される1つ以上のプロトコルを使用して行われ
る。
グループに加える必要、又は該グループから除去する必
要がある場合、しばしばメンバシップ変更プロトコルを
使用することでグループ・メンバシップにおける変化を
サポートする。いくつかのクラスタ化システムでは、メ
ンバシップ変更プロトコルは、ピア・プロトコルの一種
として実現され、全てのメンバがメッセージを受信し、
各メンバがどのようにそのプロトコルを処理するかを局
所的に決定し、またメッセージがそのメンバによって首
尾よく処理されたかどうかを示す承認を送り返すことが
求められる。一般に、ピア・プロトコルによって、メン
バは全てのメンバから承認を受けるまで他の仕事の進行
が妨げられる。他のシステムでは、メンバ変更プロトコ
ルは、マスタ・スレーブ・プロトコルとして処理しても
よく、該メンバの一つはリーダとして選ばれ、プロトコ
ルが適当に処理されることを確実にするために他のメン
バを制御する。
可能な構成要素変更操作として独特なものの一例として
マージが挙げられる。マージは、クラスタ内の通信損失
によってグループがパーティション化された後に必要と
なる。特に、クラスタにおける通信損失によって、該ク
ラスタ内における1つ以上のノードと他のノードとの間
の通信が妨げられると思われる。そのため、一つのグル
ープ内の異なるメンバが異なる通信損失ノード間に配置
される時は常に、グループの多数の、しかし独立したイ
ンスタンス(「パーティション」ともいう)がクラスタ
内に形成されると思われる。したがって、マージは、複
数のパーティションを再び一緒にして単一のグループに
するために通信を再構築した後、使用される。
プに関して一般に非同期的である。すなわち、マーチは
任意の時間に生ずることができる。しかし、グループが
通信損失によってパーティション化されている場合でさ
え、各区間はそれでも有用な作業を実行する。さらに、
パーティションは、一般にノード失敗例とは異なり、パ
ーティション化の結果としてパーティションを「残し
た」任意のメンバはアクティブなままであり、有用な仕
事を実行している。その結果、パーティション内の任意
に進行中の仕事は、適当な方法で処理され、さらに多数
のパーティションで実行されている進行中の作業が一貫
していることを確認するためにマージが生ずる場合はい
つでもそのことが必要であり、それによってグループの
メンバの全てがマージの完了で互いに「同期」される。
さもなければ、異なるメンバ間の対立又は矛盾は、シス
テム・エラー、データ破壊、又はシステム障害さえも引
き起こすかもしれない。
来のグループ構成を再構築するためにマージが可能な限
り素早く生ずることを保証する試みにおいて、従来のク
ラスタ化コンピュータ・システムはマージ要求を受ける
と直ちにそのような操作を行う。しかし、そのようにす
ることで多くの中間の動作を導入せざるを得ない場合が
あり、マージの時点で進行中のプロトコルが該マージの
処理後に、また要求メンバが変化することでメンバシッ
プが理解された後に、マージが完了すると思われる。
システムは、一般にマージ操作を行うために、マスタス
レーブ型プロトコルを利用する。しかし、マスタスレー
ブ型プロトコルは、多くの点で著しく制限されている。
第一に、マスタスレーブ型プロトコルは、リーダ又はマ
スタの失敗を生ずる場合が多い。第二に、マスタスレー
ブ型プロトコルは、しばしばマージ実行に使用される集
中データ構造を必要とするもので、該集中データ構造は
ノード間の補足的な通信を必要とし、地理的に分散した
ノードに関して著しく制限される。
分野において、クラスタ化コンピュータ・システムにお
いて多数のパーティションを連結するためにマージ操作
を行う改善された方法が強く求められている。
・プロトコルの実行に先立って保留されている各プロト
コルのキャンセル又は完了のいずれかを保証すること
で、一グループの各々のパーティションにおいて全ての
保留中のプロトコルが処理されるまでグループ内のマー
ジ・プロトコルの実行を保留するために順序付けられた
メッセージが使用される装置、プログラム製品、及び方
法を提供することで、上記の課題及び他の課題を解決す
ることを目的とする。各グループ・メンバの観点から、
マージ・プロトコルの実行は、以前に受信された保留中
の要求を全て処理した後にそのようなメンバによるマー
ジ要求の処理を阻害することによって保留される。
コルの通常順序付け外でマージ・プロトコルが実行され
る従来のクラスタ化コンピュータ・システムとは対照的
に、マージ・プロトコルが他のプロトコルとともに順序
付けられる。そのようにすることで、各グループ・メン
バが保留中のプロトコルが保留中のマージ・プロトコル
の前又は後のいずれかに要求されたかどうかを判断し、
それによって保留中のプロトコルを実行すること(マー
ジの前後でどのメンバがパーティション/グループに存
在するかに基づく)が可能であることから、パーティシ
ョンの同期が著しく単純化される。さらに、そのように
することで、ピア型マージ・プロトコルの使用が促進さ
れ、パーティション同期の実行にマスタ又は集中データ
構造に頼る必要がなくなる。
特徴は、特許請求の範囲に示される。しかし、本発明を
よりいっそう理解し、また本発明の実施に伴う利点及び
目的をよりいっそう理解するために、本発明の模範的な
実施形態例発明について述べた詳細な説明及び添付図面
を参照すべきである。
タ化コンピュータにおいてマージ要求を処理するため
に、例えばクラスタ化コンピュータ・システムの1つ以
上のノードに論理的に常駐するために、順序付けられた
メッセージを利用する。例えば、図1に示すように、ク
ラスタ化コンピュータ・システム8は、相互接続ネット
ワーク11を介して互いに相互接続した複数のノード1
0を有することができる。クラスタ化コンピュータ・シ
ステムで共通して利用されるいくつものネットワーク・
トポロジを本発明にもとづいて使用してもよい。さら
に、個々のノード10が他のノードに対して物理的に近
接して配置されているか、もしくは他のノードと、例え
ば当該技術分野でよく知られているように、広域ネット
ワーク(WAN)を介して地理的に分離されたものであ
ってもよい。
では、互いに通信することができる複数の協同的コンピ
ュータ・プロセス(以下、「ジョブ」とも言う)を実行
することで、少なくともいくつかのコンピュータ・タス
クが多数のノードによって協同的に実行される。そのよ
うな協同的ジョブは、グループの「メンバ」として指定
されている各協同的ジョブにより「グループ」の中に論
理的に組織される。しかし、複数のグループ・メンバが
共通のタスクを操作する必要はなく、一般に一つのグル
ープに属する複数のメンバにとって必要とされる全て
は、実行中にそのようなメンバが対外に通信することが
できるということである。
模範的なクラスタを示す。また、この図では、例示を目
的として連続する識別子1、2、3、....N、N+
1、N+2、...M(M>N)によってもノードが示
されている。このような様々なノード内に、クラスタ化
コンピュータ・システムの模範的なグループのメンバを
構成する複数のジョブJ1〜J7がそれぞれ常駐してい
る。この図に示すように、クラスタ化コンピュータ・シ
ステムのノードは、全てのグループに加わる必要はない
(例えばノード3)。さらに、所定のグループからの多
数のジョブが同一のノードに常駐してもよい(例えば、
ノード1のジョブJ1及びJ2)。
は順序付けられたメッセージを用いることで互いに通信
を行う。そのようなメッセージの一部は、ここでは「要
求」と呼ぶ。「要求」を用いることで、ユーザ(例え
ば、クラスタ化コンピュータ・システム内の一つ以上の
ノードで実行されるアプリケーション又は他のコンピュ
ータ・プロセス)による起動に応答して「プロトコル」
を開始させる。プロトコルは、一つのグループの全ての
メンバが実行するために必要とされる。一般に、プロト
コル要求に応答して、各メンバもまた特定のプロトコル
の成功又は失敗を示す肯定応答メッセージを戻すために
必要とされる。さらに、一般に全てのグループ・メンバ
から肯定応答メッセージを受信するまでどのメンバも継
続を許されず、もしメンバに障害が生ずると、障害が肯
定応答メッセージに翻訳され、プロトコルがハングアッ
プするのを防ぐ。
である必要はなく、また多くのクラスタ化コンピュータ
・システムはグループにメンバを加えたり、該グループ
からメンバを削除したりする能力をサポートする。一般
に、グループのメンバシップにおける変化は、メンバシ
ップ変更プロトコルと呼ばれる特定のプロトコルを介し
て実行され、またグループの全てのメンバに送られたメ
ンバシップ変更要求メッセージの使用を介して実行され
る。
タ・システムの実行中に生ずるかもしれない一つの現象
は、互いの通信からのグループ内のジョブのための能力
に役立つ通信損失であり、それによって2つ以上のパー
ティションに分割され始めるか、又は同一グループの独
立したインスタンスとなる。一例として、図1のジョブ
J1〜J7によって形成されたグループによって、万が
一ノードNとノードN+1との間で通信損失が生ずるな
らば、2つのパーティションP1及びP2が生成され、
パーティションP1にジョブJ1〜J4が組み込まれ、
またパーティションP2にジョブJ5〜J7が組み込ま
れる。
形態例においてマージ要求を介して開始されたマージ・
プロトコルを使用してパーティションを再結合すること
が可能である。マージ要求は、結合される各パーティシ
ョンの全てのメンバに送られ、各メンバは適当な肯定応
答メッセージを介して応答する。マージ・プロトコルは
グループに関して非同期的に開始され、そのようなプロ
トコルが他プロトコル実行中の任意の時間に開始される
可能性がある。しかし、マージが起こる時に各パーティ
ションのメンバが異なるプロトコルを処理することがで
きると仮定すると、ひとたびマージ・プロトコルが完了
するグループ・メンバ間の干渉性を保証するために適当
な方法で実行することが重要である。
ージが生じる場合に一つのパーティションでプロトコル
が実行されているならば、プロトコルに関連したメッセ
ージは他のパーティションにある他のプロトコルに対す
るメッセージと区別されなければならない。また、マー
ジに先立つ別のものではなく、一つのパーティションで
保留中であるプロトコル要求を処理することが必要であ
る。全てのパーティションが同一のプロトコルで働くよ
うに、マージ後に複数のパーティションを同期させるこ
とも必要である。
立って開始された任意のプロトコル要求の処理がマージ
・プロトコル処理に先立って完了することを保証するこ
とで、そのような干渉性を提供することを試みる。例証
した実施形態は、ある程度、順序付けられたメッセージ
を当てにするもので、それによって各プロトコル要求に
受信識別子(例えば、数字又は他の適当な一続きの標
識)が割り当てられ、該識別子は他の受信された要求に
関連するそのような要求の受信の順番を示す。他のメッ
セージ、例えば肯定応答メッセージは、例証した実施形
態例において要求識別子は割り当てられないが、そのよ
うなメッセージは一般に該メッセージが反応する特定の
要求を識別する要求ハンドルが割り当てられる。したが
って、マージ要求は、同期ポイントとして機能し、その
ポイント以降は任意の要求が全てのグループ・メンバに
送られたと見なされよう。
そのような要求が関連しているプロトコルを取り消し又
は終了のいずれかによってマージ・プロトコル要求の処
理に先立って処理される。例証した実施形態例では、マ
ージ・プロトコル要求の受信として未だ開始されていな
い実行に対する任意の保留プロトコル要求が取り消さ
れ、実行が開始された任意の保留プロトコル要求はマー
ジの処理又は実行に先立って完了することが可能とな
る。
コンピュータ・タスクの取り扱いを説明するためにここ
で具体的に使用された以外の用語を他の環境で使用して
もよいことは容易に理解されるだろう。したがって、本
発明はここで使用した特定の用語(例えばプロトコル、
要求、メッセージ、ジョブ、マージ、パーティション)
に限定されるべきではない。
タ化コンピュータ・システム8を構成するノード10の
一つの模範的なハードウェア構成を示す。ノード10
は、例えばネットワーク・サーバ、ミッドレンジ・コン
ピュータ、メインフレーム・コンピュータ等のいくつか
のマルチユーザ・コンピュータのいずれかを総称的に表
す。しかし、本発明は他のコンピュータ及びデータ処理
システム、例えばワークステーション、デスクトップ・
コンピュータ、ポータブル・コンピュータ等のスタンド
アロン又はシングルユーザ・コンピュータ、又は他のプ
ログラム可能な電子デバイス(例えば、埋込式コントロ
ーラ等)に実現可能であることを理解すべきである。
ム16内に配置された1レベル以上のキャッシュ・メモ
リを介して主記憶装置14に結合した1つ以上のシステ
ム・プロセッサ12を有する。さらに、主記憶装置14
はシステム入出力(I/O)バス18と複数のインタフ
ェース・デバイス(例えば、入出力アダプタ20、ワー
クステーション・コントローラ22、及び記憶制御装置
24に結合しており、それぞれが1つ以上の外部ネット
ワーク(例えば、クラスタ・ネットワーク11)、1つ
以上のワークステーション28、及び/又は1つ以上の
記憶装置、例えば直接アクセス記憶装置(DASD)2
6に対する外部アクセスを提供する。いくつもの代わり
のコンピュータ・アーキテクチャを代替物とすることが
できるだろう。
を実現するために、ジョブ特異的メッセージ処理機能を
欠くノードに実現されたクラスタ管理ソフトウェアに実
現してもよい。例えば、ノード10は主記憶装置14に
常駐したオペレーティング・システム30を有するもの
として図示されている。このオペレーティング・システ
ム30は、本発明に見合ったマージ・プロトコル処理を
実現するためにクラスタ・マネージャ・プログラム32
を実現する。1つ以上のジョブ又はアプリケーション3
4も図示されており、それぞれクラスタ・マネージャ・
プログラム32に実現されたクラスタ化機能にアクセス
する。しかし、ここで記載した機能はノード10におけ
る他のレイヤに実現されてもよいこと、さらにクラスタ
化コンピュータ・システム8の他のプログラム、コンピ
ュータ、又は構成要素間で割り当てられたものであって
もよいことは十分に理解されるであろう。したがって、
本発明はここに記載された特定のソフトウェア実現に限
定されるものではない。
能を実現するために利用される具体的なルーチンに焦点
を合わせて説明する。本発明の実施形態例を実現するた
めに実行されるルーチンは、オペレーティング・システ
ム又は特定のアプリケーションの一部、コンポーネン
ト、モジュール、又は一連の命令として実現されようと
も、ここでは「コンピュータ・プログラム」又は単に
「プログラム」と呼ぶことにする。コンピュータ・プロ
グラムは、一般にコンピュータの種々のメモリ及び記憶
装置に様々な時間で常駐し、コンピュータの1つ以上の
プロセッサによって読み出し及び実行される場合、本発
明の種々の態様を具体化するステップ又は要素を実行す
るのに必要なステップをコンピュータに実行させる。さ
らに、本発明は完全に機能的なコンピュータ及びコンピ
ュータ・システムであるという状況のもとで上記され、
またそのようなものとして以下においても説明される
が、本発明の種々の実施形態例が種々の形態のプログラ
ム製品として分配可能であり、また本発明が分配を実際
に実施するために使用される特定の種類の信号保持媒体
に係わりなく等しく適用されることを、当業者は容易に
理解することができるであろう。信号保持媒体は、限定
されるものでないが、数ある中でも例えば、揮発性及び
不揮発性のメモリ・デバイス、フロッピー(R)及び他
のリムーバブル・ディスク、ハード・ディスク・ドライ
ブ、光ディスク(例えば、CD−ROM及びDVD)、
さらにディジタル及びアナログ通信リンク等の送信型媒
体が挙げられる。
明の特定の実施形態例で実現されるアプリケーションに
基づいて確認することができよう。しかし、以下の特定
のプログラム名はいずれも単に便宜上用いられているに
すぎないので、本発明はそのような名称によって確認及
び/又は実現される特定のアプリケーションのみでの使
用に限定されるべきものではない。
実行に適した初期化ジョブ・ルーチン50及びプロセス
受信メッセージ・ルーチン60を、そこに実現されるマ
ージ/プロトコル処理機能とともにそれぞれ説明するた
めの図である。図3の処理化ジョブ・ルーチン50は、
ノード上でジョブが生成されるときはいつでも呼び出さ
れる。ルーチン50に含まれる機能の大部分はプロトコ
ル処理をマージすることとは関係ないが、プロトコル処
理をマージするために関連した一組の変数を初期化する
こともこのルーチンに含まれる。特に、ブロック52は
ジョブに対する構内受信(LR)変数を初期化するもの
で、該LR変数はジョブによって受信された要求に対し
て一連の受信識別子を割り当てるために使用される。ブ
ロック54は、最終マージ(LM)変数を初期化するも
ので、該LM変数はジョブによって受信された最終(最
も最近に受信した)マージ要求の受信識別子を示す。各
変数は、例えば、ゼロの値に初期化される。続いて、ブ
ロック56は、他のジョブ初期化操作を通常は従来の方
法で実行し、それによってルーチン50が完了する。
60は、一般に待ち行列にメッセージを置く順序付けら
れたメッセージ・サービスの結果として、ジョブによっ
て新たなメッセージを受信すると直ちに実行される。ル
ーチン60は、ブロック62で受信されたメッセージに
対するメッセージ要求ハンドル(RH)を得ることによ
って開始される。既に説明したように、メッセージに対
する要求ハンドルがプロトコルを確認するので、要求及
び肯定応答又は他の応答を互いに一致させることができ
る。
トコル要求に対する肯定応答又は他の応答とは対照的
に、受信メッセージがプロトコル要求であるかどうかを
判断する。もし受信メッセージがプロトコル要求である
ならば、制御がブロック65に移り、受信された要求に
対して任意の保存メッセージが存在するかどうかの判断
が行われる。以下に説明するように、肯定応答等のメッ
セージは、保留中の(しかし、まだ処理されていない)
要求に対して受信され、そのような保留中の要求が処理
されてそれに関連した保存メッセージがジョブに送り出
される場合もある。したがって、そのような環境では、
ブロック65は制御をブロック66へ移し、任意のその
ような保存メッセージをジョブへ送る。
と(もし保存メッセージが存在していなければ)、制御
はブロック67に移されてローカル受信変数を増分し、
先に受信された要求に連続的に続いて生ずる現在の要求
メッセージに対する受信識別子を生成する(例えば、単
調に増加する数列の任意の数を用いて)。次に、ブロッ
ク68は、ローカル受信変数の現在の値を要求メッセー
ジに割り当て、それによって受信識別子を要求メッセー
ジと対応付ける。
ージ要求であるかを判断する。もし要求メッセージがマ
ージ要求であるならば、制御はブロック72に移り、最
終マージ変数を要求メッセージ(すなわち、ローカル受
信変数の現在の値)と等しくする。続いて、制御がブロ
ック74に移り、現在の要求メッセージに対する受信識
別子(ローカル受信変数の現在の値によって表される)
が最終受信要求の受信識別子(最終マージ変数の現在の
値によって表される)よりも小さいかどうかを判断す
る。また、ブロック70に戻り、もし要求メッセージが
マージ要求でなければ、ブロック72を飛び越えて制御
が直接ブロック74に移る。
識別子が最終受信マージ要求の受信識別子(マージが生
じたことを示す)よりも小さければ、制御パスはブロッ
ク74からブロック76に移ってマージ・プロトコル処
理を実行する。図に示した実施形態例では、マージ・プ
ロトコル処理は、一般に要求がマージのためにキャンセ
ルされたことを示すプロトコルに関する発信主体に対し
て応答を戻すことによって、現在の要求メッセージによ
って表されたプロトコルをキャンセルすることが取り入
れられている。発信主体は、要求がキャンセルされたこ
とを知らされると、プロトコルを再試行する要求を再発
行することが可能である(必要に応じて)。マージ要求
が処理されると、各メンバは他のパーティションの全て
対するメンバシップが更新される。そのようにして、再
発行されたプロトコルを含む任意の後続プロトコルは、
単にパーティション・メンバではなく、全てのメンバか
らの応答を必要とするであろう。
セージに対する受信識別子が最終受信マージ要求(要求
が受信されたことによりマージが生じていないことを示
す)の受信識別子よりも大きければ、制御は単にブロッ
ク78に移り、従来の方法で、一般的には後続処理のジ
ョブに対してメッセージを送出することで、プロトコル
処理を継続する。また、以下の点にも留意しておくべき
である。すなわち、もし現在の要求メッセージがマージ
要求であるならば、現在の要求メッセージのローカル受
信数は最終マージ数と同一となり、そのためブロック7
4もまた制御をブロック78へ移し、メッセージをジョ
ブへ送出することでマージ要求の処理を継続させるだろ
う。それによって、受信要求の処理が完了する。
がプロトコル要求でなければ、制御はブロック80に移
り、メッセージに対する要求ハンドルが任意の保留中の
要求のものと一致するかどうかを判断する。すなわち、
受信メッセージが保留又は現在処理中のプロトコルに対
する肯定応答又は他の応答であるかどうかを判断する。
もしそうでなければ、制御はブロック82に移り、ただ
単にメッセージを破棄して受信メッセージの処理を完了
する。あるいは、メッセージを後続の処理のために保存
してもよい。
ルが保留中のものと一致するならば、ブロック80は制
御をブロック83へ移し、受信メッセージの要求ハンド
ルが現在の要求のものと一致するかどうかを判断する。
もし一致するならば、制御はブロック84に移り、メッ
セージがジョブに送出され、それによってプロトコルの
完了が可能となる。一方、もしメッセージが保留中の要
求(現在の要求ではない)に対するものであるならば、
ブロック83は制御をブロック86に移し、後での再生
のためにメッセージを保存する。次に、メッセージの処
理が完了し、ルーチン60が終了する。
トコル処理は、基本的に、マージが生じた時に既に実行
されていた要求を除いてマージの時まで全ての要求をキ
ャンセルすることが容易に理解されるだろう。マージ後
に受信された要求は、全てのメンバに送られたものと仮
定されるので、そのような要求はキャンセルされない
ロトコルを前提し、グループの全てのメンバが任意のプ
ロトコルに関係するものと仮定する。したがって、もし
プロトコル中にマージが生ずるならば、該プロトコルに
対して別のパーティションのメンバが参加することを阻
止することが必要である。したがって、マージ要求の処
理を換えることで、新たなメンバは全ての保留中のプロ
トコル(現在実行されているいっさいのものが含まれ
る)が完了(例えば、終了又はキャンセルのいずれか)
するまで認識されない。また、ピア・プロトコルの性質
上、各メンバはもし特定の要求を実行又はキャンセルす
べきかをローカルに判断することができる。しかし、本
発明に係わるマスタ・スレーブ・プロトコル環境で本発
明が実現されてもよいことを十分理解すべきである。
ジが再生することができるように、後続のプロトコルの
ためにメッセージを保存しておくことも必要であると思
われる。そのような状況は、例えば、別のパーティショ
ンが直ちにマージ・プロトコルの実行を開始したが一つ
のパーティションが前マージ・プロトコルを実行してい
る場合(例えば、パーティションが保留中の要求を有し
ていなかった場合)に、生じるだろう。後続のプロトコ
ルは、保留中の要求の要求ハンドルを操作することによ
って検出することが可能である。以前のプロトコル(す
なわち、現在のプロトコル又は後続のプロトコル以外の
プロトコル)に対するメッセージが破棄され、またもし
メッセージ要求ハンドルが保留中又は後続の要求ハンド
ルが一致しなければ(すなわち、マージに先立って要求
が別のパーティションから送られた)、そのようなメッ
セージが検出される。
びP2がそれぞれ以下の要求メッセージを所定の順番で
受信すると仮定する。
求R11からR1x及び要求R21からR2yはマージ
要求に先立って各々のパーティションによって受信さ
れ、さらに要求R3はマージ要求の後に両方のパーティ
ションによって受信される。
ーティションP1が要求R11を実行し、パーティショ
ンP2が要求P21を実行していると例のために仮定す
る。Mha最終マージ番号を修飾する。さらに、要求R
12〜R1x及びR22〜R2yが最終マージ番号より
も小さいローカル受信番号を有する。
ルを持つため、それらのメッセージは任意の他のプロト
コルによっては受信されない。さらに、Mは未だ処理さ
れていないので、P1又はP2のいずれもプロトコル・
レベル(クラスタ・マネージャ通信機構がそれらがマー
ジされたと判断することによって)でマージについて知
ることはない。ルーチン60での上記機能に基づいて、
要求R11及びR21は完了することが可能である。次
に、要求R12がパーティションP1によって処理され
る状態にあると、そのローカル受信番号が最終マージ番
号よりも小さくなり、要求がキャンセルされる。同様な
作用は、要求R13〜R1x及びR22〜R2yに関し
ても起こる。マージが処理され、さらにマージされたグ
ループの全てのメンバ上でR3が処理される。
要求R21を実行している最中にP1がマージ要求Mを
実行を開始するならば、要求P1メンバは要求P2に対
するマージ要求を肯定応答メッセージに送ることができ
る。しかし、パーティションP2の各メンバによって保
留中の要求のリストが走査され、肯定応答メッセージが
マージ要求Mに関する要求ハンドルと一致することが分
かる。その結果、パーティションP2の各メンバは、メ
ッセージを保存し、パーティションP2でマージ要求M
が処理された場合にそのようなメッセージに対して応答
する。
てのパーティションが同期する。マージ要求Mの処理は
全ての後続のプロトコルが認識するメンバシップを更新
するので、そのようなプロトコルは全パーティションの
全メンバを含む。肯定応答ラウンドが使用されるので、
処理に先立って全てのメンバが肯定応答メッセージを送
信し、かつ全てのメンバから肯定応答メッセージを受信
するまで全てのメンバが待ち状態となるだろう。したが
って、マージされたグループが同期される。次に、要求
R3がマージされたグループ上で処理される。そのロー
カル受信番号は最終マージ番号よりも大きくなるので、
プロトコルは全てのグループ・メンバで実行されるだろ
う。
・システムで実現可能である一方で、本発明の一つの実
現可能な用途は、例えばInternational Business Machi
nesCorporationから入手可能であるAS/400系クラ
スタ化コンピュータ・システムにある。そのようなイン
プリメンテーションでは、各ノードのマシン・インタフ
ェース(MI)レイヤにある要求キューに要求を保持
し、そのような要求が処理可能な状態となるとデキュー
されるようにしてもよい。要求ハンドルは、要求がグル
ープに送られる時に割り当てられる全体的に特有の識別
子(UUID)として実現してもよい。
てきたが、当業者は本発明の精神及び範囲からそれるこ
となく種々の変更及び修正が可能であることを容易に理
解するであろう。したがって、本発明の範囲はその特許
請求の範囲の欄に記載の内容によって定まるものであ
る。
の事項を開示する。 (1)クラスタ化コンピュータ・システム内のグループ
のメンバによって受信されたマージ要求を処理する方法
であって、(a)前記メンバでマージ要求を受信するス
テップと、(b)前記メンバによって保留中の先行受信
要求の処理が完了するまで前記メンバによる前記マージ
要求の処理を阻止するステップと、を有することを特徴
とする方法。 (2)(a)前記メンバによる各受信要求受信の相対的
順序を示すために前記メンバによって受信された各要求
に対して受信識別子を割り当てるステップであって、前
記メンバによって受信された保留中の先行受信要求を全
て受信後に、前記マージ要求の受信を示す前記マージ要
求に対して受信識別子を割り当てることを含むステップ
と、(b)前記受信識別子にもとづいて順番に各受信要
求を処理するステップであって、前記マージ要求の処理
を阻止することは、保留中の先行受信要求の各々を処理
した後に前記マージ要求を処理することが含まれるステ
ップと、をさらに有することを特徴とする上記(1)に
記載の方法。 (3)各受信要求を処理するステップは、各受信要求に
関して、(a)そのような受信要求に割り当てられた受
信要求を最終受信マージ要求の受信識別子と比較するス
テップと、(b)そのような受信要求に割り当てられた
前記受信識別子が前記最終受信マージ要求の前記受信識
別子に関連するそのような受信要求の先の受信を示すな
らば、そのような受信要求をキャンセルするステップ
と、をさらに有することを特徴とする上記(2)に記載
の方法。 (4)そのような受信要求に割り当てられた受信識別子
を前記最終受信マージ要求に対する受信識別子と比較す
るステップは、そのような受信要求に割り当てられた前
記受信識別子を保存された最終マージ受信識別子と比較
するステップが含まれ、さらに、該方法は、前記マージ
要求の受信に応答して、前記保存された最終マージ受信
識別子を前記マージ要求のものに更新するステップをさ
らに有することを特徴とする上記(3)に記載の方法。 (5)そのような受信要求をキャンセルするステップ
は、そのような受信要求の発信元に対してキャンセル終
了メッセージを返送するステップを含むことを特徴とす
る上記(3)に記載の方法。 (6)各受信要求を処理するステップは、さらに、各受
信要求に対して、そのような受信要求に割り当てられた
受信識別子が前記最終受信マージ要求に対する前記受信
識別子に関連したそのような受信要求の先の受信を示さ
なければそのような受信要求に関連したプロトコルを実
行するステップを有することを特徴とする上記(3)に
記載の方法。 (7)(a)要求以外のメッセージを受信するステップ
と、(b)前記メッセージに関連した要求ハンドルが前
記メンバに対する保留中の要求のものと一致するかどう
かを判断するステップと、(c)もし前記要求ハンドル
が前記メンバに対する保留中の要求のものと一致しなけ
れば、前記メッセージを破棄するステップと、をさらに
有することを特徴とする上記(1)の方法。 (8)(a)前記グループ内の複数の追加メンバで前記
マージ要求を受信するステップと、(b)各々の前記追
加メンバで保留中の先行受信要求の処理が終わるまで前
記複数の追加メンバの各々で前記マージ要求の処理をロ
ーカルに阻止するステップと、をさらに有することを特
徴とする上記(1)に記載の方法。 (9)クラスタ化コンピュータ・システム内のグループ
のメンバによって受信されたマージ要求を処理する方法
であって、(a)受信要求の受信の相対的順序を示す受
信識別子を受信要求に対して割り当てるステップと、
(b)前記受信要求に割り当てられた前記受信識別子を
最終受信マージ要求に対する受信識別子と比較するステ
ップと、(c)前記受信要求に割り当てられた前記受信
識別子が前記最終受信マージ要求の前記受信識別子に関
連する前記受信要求の先の受信を示すならば、前記受信
要求をキャンセルするステップと、を有することを特徴
とする方法。 (10)前記受信要求に割り当てられた前記受信識別子
を最終受信マージ要求に対する受信識別子と比較するス
テップは、前記受信要求に対して割り当てられた前記受
信識別子を保存された最終マージ受信識別子と比較する
ステップを含み、さらに、該方法は、(a)前記受信要
求がマージ要求であるかどうかを判断するステップと、
(b)前記受信要求がマージ要求であるならば、前記保
存された最終マージ受信識別子を前記マージ要求の受信
識別子に更新するステップと、を有することを特徴とす
る上記(9)に記載の方法。 (11)前記受信要求をキャンセルするステップは、前
記受信要求の発信元に対してキャンセル終了メッセージ
を返送するステップを含むことを特徴とする上記(9)
に記載の方法。 (12)前記受信要求に割り当てられた受信識別子が前
記最終受信マージ要求に対する前記受信識別子に関連し
た前記受信要求の先の受信を示さなければ前記受信要求
に関連したプロトコルを実行するステップを、さらに有
することを特徴とする上記(9)に記載の方法。 (13)(a)要求以外のメッセージを受信するステッ
プと、(b)前記メッセージに関連した要求ハンドルが
前記メンバに対する保留中の要求のものと一致するかど
うかを判断するステップと、(c)もし前記要求ハンド
ルが前記メンバに対する保留中の要求のものと一致しな
ければ、前記メッセージを破棄するステップと、をさら
に有することを特徴とする上記(9)の方法。 (14)(a)メモリと、(b)クラスタ化コンピュー
タ・システムのグループの各メンバによって受信された
前マージを処理するように構成され、かつ保留中の先行
受信要求の全てが処理完了となるまで、前記マージ要求
の処理を阻止する前記メモリに常駐するプログラムと、
を有することを特徴とする装置。 (15)前記プログラムは、前記メンバによる各受信要
求受信の相対的順序を示すために前記メンバによって受
信された各要求に対して受信識別子を割り当てるように
構成され、前記受信識別子は、前記メンバによって受信
された保留中の先行受信要求を全て受信後に、前記マー
ジ要求の受信を示す前記マージ要求に対して割り当てら
れ、さらに前記プログラムは、保留中の先行受信要求の
各々を処理した後に前記マージ要求の処理を阻止するよ
うにして、前記受信識別子にもとづいて順番に各受信要
求を処理するように構成されることを特徴とする上記
(14)に記載の装置。 (16)前記プログラムは、そのような受信要求に割り
当てられた受信要求を最終受信マージ要求の受信識別子
と比較し、そのような受信要求に割り当てられた前記受
信識別子が前記最終受信マージ要求の前記受信識別子に
関連するそのような受信要求の先の受信を示すならば、
そのような受信要求をキャンセルすることによって、各
受信要求を処理するように構成されていることを特徴と
する上記(15)に記載の装置。 (17)前記プログラムは、そのような受信要求に割り
当てられた前記受信識別子を保存された最終マージ受信
識別子と比較することによって、そのような受信要求に
割り当てられた受信識別子を前記最終受信マージ要求に
対する受信識別子と比較するように構成され、さらに前
記プログラムは、前記マージ要求の受信に応答して、前
記保存された最終マージ受信識別子を前記マージ要求の
ものに更新するように構成されていることを特徴とする
上記(16)に記載の装置。 (18)前記プログラムは、そのような受信要求の発信
元に対してキャンセル終了メッセージを返送するように
構成されていることを特徴とする上記(16)に記載の
装置。 (19)前記プログラムは、各受信要求に対して、その
ような受信要求に割り当てられた受信識別子が前記最終
受信マージ要求に対する前記受信識別子に関連したその
ような受信要求の先の受信を示さなければそのような受
信要求に関連したプロトコルをさらに実行することによ
って、各受信要求を処理するように構成されていること
を特徴とする上記(16)に記載の装置。 (20)前記プログラムは、要求以外のメッセージを受
信し、前記メッセージに関連した要求ハンドルが前記メ
ンバに対する保留中の要求のものと一致するかどうかを
判断し、さらにもし前記要求ハンドルが前記メンバに対
する保留中の要求のものと一致しなければ、前記メッセ
ージを破棄するように、さらに構成されていることを特
徴とする上記(14)に記載の装置。 (21)前記プログラムは、さらに前記グループ内の複
数の追加メンバで前記マージ要求を受信し、各々の前記
追加メンバで保留中の先行受信要求の処理が終わるまで
前記複数の追加メンバの各々で前記マージ要求の処理を
ローカルに阻止するように、さらに構成されていること
を特徴とする上記(14)に記載の装置。 (22)前記装置は、前記クラスタ化コンピュータ・シ
ステム内のコンピュータであることを特徴とする上記
(14)に記載の装置。 (23)クラスタ化コンピュータ・システムであって、
(a)ネットワークを介して互いに連結した複数のノー
ドと、(b)グループを限定し、前記複数のノードの少
なくとも一つによって実行されるように構成された複数
のメンバ・ジョブと、(c)保留中の全先行受信要求の
処理が完了する間でマージ要求の処理を阻止することに
よって前記複数のメンバ・ジョブからのメンバ・ジョブ
によって受信されたマージ要求を処理するために前記複
数のノードの少なくとも一つによって実行されるように
構成されたプログラムと、を有することを特徴とするク
ラスタ化コンピュータ・システム。 (24)プログラム製品であって、(a)保留中の全先
行受信要求の処理が完了する間でマージ要求の処理を阻
止することによって前記複数のメンバ・ジョブからのメ
ンバ・ジョブによって受信されたマージ要求を処理する
ように構成されたプログラムと、(b)前記プログラム
を保持する信号保持媒体と、を有することを特徴とする
プログラム製品。 (25)前記信号保持媒体は、記録可能媒体及び送信媒
体の少なくとも一つを有することを特徴とする上記(2
4)に記載のプログラム製品。
ステムのブロック図であり、模範的な通信損失とパーテ
ィションが形成されたクラスタ化コンピュータ・システ
ムとが示されている。
のノードの一つを説明するためのブロック図である。
のグループ・メンバによって実行された初期化ジョブ・
ルーチンのプログラム・フローを説明するためのフロー
チャートである。
のグループ・メンバによって実行されたプロセス受信メ
ッセージ・ルーチンのプログラム・フローを説明するた
めのフローチャートである。
Claims (25)
- 【請求項1】クラスタ化コンピュータ・システム内のグ
ループのメンバによって受信されたマージ要求を処理す
る方法であって、 (a)前記メンバでマージ要求を受信するステップと、 (b)前記メンバによって保留中の先行受信要求の処理
が完了するまで前記メンバによる前記マージ要求の処理
を阻止するステップと、 を有することを特徴とする方法。 - 【請求項2】(a)前記メンバによる各受信要求受信の
相対的順序を示すために前記メンバによって受信された
各要求に対して受信識別子を割り当てるステップであっ
て、前記メンバによって受信された保留中の先行受信要
求を全て受信後に、前記マージ要求の受信を示す前記マ
ージ要求に対して受信識別子を割り当てることを含むス
テップと、 (b)前記受信識別子にもとづいて順番に各受信要求を
処理するステップであって、前記マージ要求の処理を阻
止することは、保留中の先行受信要求の各々を処理した
後に前記マージ要求を処理することが含まれるステップ
と、 をさらに有することを特徴とする請求項1に記載の方
法。 - 【請求項3】各受信要求を処理するステップは、各受信
要求に関して、 (a)そのような受信要求に割り当てられた受信要求を
最終受信マージ要求の受信識別子と比較するステップ
と、 (b)そのような受信要求に割り当てられた前記受信識
別子が前記最終受信マージ要求の前記受信識別子に関連
するそのような受信要求の先の受信を示すならば、その
ような受信要求をキャンセルするステップと、 をさらに有することを特徴とする請求項2に記載の方
法。 - 【請求項4】そのような受信要求に割り当てられた受信
識別子を前記最終受信マージ要求に対する受信識別子と
比較するステップは、 そのような受信要求に割り当てられた前記受信識別子を
保存された最終マージ受信識別子と比較するステップが
含まれ、さらに、 該方法は、前記マージ要求の受信に応答して、前記保存
された最終マージ受信識別子を前記マージ要求のものに
更新するステップをさらに有することを特徴とする請求
項3に記載の方法。 - 【請求項5】そのような受信要求をキャンセルするステ
ップは、そのような受信要求の発信元に対してキャンセ
ル終了メッセージを返送するステップを含むことを特徴
とする請求項3に記載の方法。 - 【請求項6】各受信要求を処理するステップは、さら
に、各受信要求に対して、そのような受信要求に割り当
てられた受信識別子が前記最終受信マージ要求に対する
前記受信識別子に関連したそのような受信要求の先の受
信を示さなければそのような受信要求に関連したプロト
コルを実行するステップを有することを特徴とする請求
項3に記載の方法。 - 【請求項7】(a)要求以外のメッセージを受信するス
テップと、 (b)前記メッセージに関連した要求ハンドルが前記メ
ンバに対する保留中の要求のものと一致するかどうかを
判断するステップと、 (c)もし前記要求ハンドルが前記メンバに対する保留
中の要求のものと一致しなければ、前記メッセージを破
棄するステップと、 をさらに有することを特徴とする請求項1の方法。 - 【請求項8】(a)前記グループ内の複数の追加メンバ
で前記マージ要求を受信するステップと、 (b)各々の前記追加メンバで保留中の先行受信要求の
処理が終わるまで前記複数の追加メンバの各々で前記マ
ージ要求の処理をローカルに阻止するステップと、 をさらに有することを特徴とする請求項1に記載の方
法。 - 【請求項9】クラスタ化コンピュータ・システム内のグ
ループのメンバによって受信されたマージ要求を処理す
る方法であって、 (a)受信要求の受信の相対的順序を示す受信識別子を
受信要求に対して割り当てるステップと、 (b)前記受信要求に割り当てられた前記受信識別子を
最終受信マージ要求に対する受信識別子と比較するステ
ップと、 (c)前記受信要求に割り当てられた前記受信識別子が
前記最終受信マージ要求の前記受信識別子に関連する前
記受信要求の先の受信を示すならば、前記受信要求をキ
ャンセルするステップと、 を有することを特徴とする方法。 - 【請求項10】前記受信要求に割り当てられた前記受信
識別子を最終受信マージ要求に対する受信識別子と比較
するステップは、前記受信要求に対して割り当てられた
前記受信識別子を保存された最終マージ受信識別子と比
較するステップを含み、さらに、 該方法は、 (a)前記受信要求がマージ要求であるかどうかを判断
するステップと、 (b)前記受信要求がマージ要求であるならば、前記保
存された最終マージ受信識別子を前記マージ要求の受信
識別子に更新するステップと、 を有することを特徴とする請求項9に記載の方法。 - 【請求項11】前記受信要求をキャンセルするステップ
は、前記受信要求の発信元に対してキャンセル終了メッ
セージを返送するステップを含むことを特徴とする請求
項9に記載の方法。 - 【請求項12】前記受信要求に割り当てられた受信識別
子が前記最終受信マージ要求に対する前記受信識別子に
関連した前記受信要求の先の受信を示さなければ前記受
信要求に関連したプロトコルを実行するステップを、さ
らに有することを特徴とする請求項9に記載の方法。 - 【請求項13】(a)要求以外のメッセージを受信する
ステップと、 (b)前記メッセージに関連した要求ハンドルが前記メ
ンバに対する保留中の要求のものと一致するかどうかを
判断するステップと、 (c)もし前記要求ハンドルが前記メンバに対する保留
中の要求のものと一致しなければ、前記メッセージを破
棄するステップと、 をさらに有することを特徴とする請求項9の方法。 - 【請求項14】(a)メモリと、 (b)クラスタ化コンピュータ・システムのグループの
各メンバによって受信された前マージを処理するように
構成され、かつ保留中の先行受信要求の全てが処理完了
となるまで、前記マージ要求の処理を阻止する前記メモ
リに常駐するプログラムと、 を有することを特徴とする装置。 - 【請求項15】前記プログラムは、前記メンバによる各
受信要求受信の相対的順序を示すために前記メンバによ
って受信された各要求に対して受信識別子を割り当てる
ように構成され、前記受信識別子は、前記メンバによっ
て受信された保留中の先行受信要求を全て受信後に、前
記マージ要求の受信を示す前記マージ要求に対して割り
当てられ、さらに前記プログラムは、保留中の先行受信
要求の各々を処理した後に前記マージ要求の処理を阻止
するようにして、前記受信識別子にもとづいて順番に各
受信要求を処理するように構成されることを特徴とする
請求項14に記載の装置。 - 【請求項16】前記プログラムは、そのような受信要求
に割り当てられた受信要求を最終受信マージ要求の受信
識別子と比較し、そのような受信要求に割り当てられた
前記受信識別子が前記最終受信マージ要求の前記受信識
別子に関連するそのような受信要求の先の受信を示すな
らば、そのような受信要求をキャンセルすることによっ
て、各受信要求を処理するように構成されていることを
特徴とする請求項15に記載の装置。 - 【請求項17】前記プログラムは、そのような受信要求
に割り当てられた前記受信識別子を保存された最終マー
ジ受信識別子と比較することによって、そのような受信
要求に割り当てられた受信識別子を前記最終受信マージ
要求に対する受信識別子と比較するように構成され、さ
らに前記プログラムは、前記マージ要求の受信に応答し
て、前記保存された最終マージ受信識別子を前記マージ
要求のものに更新するように構成されていることを特徴
とする請求項16に記載の装置。 - 【請求項18】前記プログラムは、そのような受信要求
の発信元に対してキャンセル終了メッセージを返送する
ように構成されていることを特徴とする請求項16に記
載の装置。 - 【請求項19】前記プログラムは、各受信要求に対し
て、そのような受信要求に割り当てられた受信識別子が
前記最終受信マージ要求に対する前記受信識別子に関連
したそのような受信要求の先の受信を示さなければその
ような受信要求に関連したプロトコルをさらに実行する
ことによって、各受信要求を処理するように構成されて
いることを特徴とする請求項16に記載の装置。 - 【請求項20】前記プログラムは、要求以外のメッセー
ジを受信し、前記メッセージに関連した要求ハンドルが
前記メンバに対する保留中の要求のものと一致するかど
うかを判断し、さらにもし前記要求ハンドルが前記メン
バに対する保留中の要求のものと一致しなければ、前記
メッセージを破棄するように、さらに構成されているこ
とを特徴とする請求項14に記載の装置。 - 【請求項21】前記プログラムは、さらに前記グループ
内の複数の追加メンバで前記マージ要求を受信し、各々
の前記追加メンバで保留中の先行受信要求の処理が終わ
るまで前記複数の追加メンバの各々で前記マージ要求の
処理をローカルに阻止するように、さらに構成されてい
ることを特徴とする請求項14に記載の装置。 - 【請求項22】前記装置は、前記クラスタ化コンピュー
タ・システム内のコンピュータであることを特徴とする
請求項14に記載の装置。 - 【請求項23】クラスタ化コンピュータ・システムであ
って、 (a)ネットワークを介して互いに連結した複数のノー
ドと、 (b)グループを限定し、前記複数のノードの少なくと
も一つによって実行されるように構成された複数のメン
バ・ジョブと、 (c)保留中の全先行受信要求の処理が完了する間でマ
ージ要求の処理を阻止することによって前記複数のメン
バ・ジョブからのメンバ・ジョブによって受信されたマ
ージ要求を処理するために前記複数のノードの少なくと
も一つによって実行されるように構成されたプログラム
と、 を有することを特徴とするクラスタ化コンピュータ・シ
ステム。 - 【請求項24】プログラム製品であって、 (a)保留中の全先行受信要求の処理が完了する間でマ
ージ要求の処理を阻止することによって前記複数のメン
バ・ジョブからのメンバ・ジョブによって受信されたマ
ージ要求を処理するように構成されたプログラムと、 (b)前記プログラムを保持する信号保持媒体と、 を有することを特徴とするプログラム製品。 - 【請求項25】前記信号保持媒体は、記録可能媒体及び
送信媒体の少なくとも一つを有することを特徴とする請
求項24に記載のプログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/638,328 US6968359B1 (en) | 2000-08-14 | 2000-08-14 | Merge protocol for clustered computer system |
US09/638328 | 2000-08-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002117010A true JP2002117010A (ja) | 2002-04-19 |
JP3798661B2 JP3798661B2 (ja) | 2006-07-19 |
Family
ID=24559581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001237064A Expired - Fee Related JP3798661B2 (ja) | 2000-08-14 | 2001-08-03 | クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6968359B1 (ja) |
JP (1) | JP3798661B2 (ja) |
KR (1) | KR100423225B1 (ja) |
CN (1) | CN100359508C (ja) |
IL (1) | IL142019A0 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082289B2 (en) | 2006-06-13 | 2011-12-20 | Advanced Cluster Systems, Inc. | Cluster computing support for application programs |
US8402080B2 (en) | 2005-09-26 | 2013-03-19 | Advanced Cluster Systems, Inc. | Clustered computer system |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188145B2 (en) | 2001-01-12 | 2007-03-06 | Epicrealm Licensing Llc | Method and system for dynamic distributed data caching |
US7035911B2 (en) | 2001-01-12 | 2006-04-25 | Epicrealm, Licensing Llc | Method and system for community data caching |
US7120693B2 (en) * | 2001-05-08 | 2006-10-10 | International Business Machines Corporation | Method using two different programs to determine state of a network node to eliminate message response delays in system processing |
US7562156B2 (en) * | 2002-08-16 | 2009-07-14 | Symantec Operating Corporation | System and method for decoding communications between nodes of a cluster server |
US20040267910A1 (en) * | 2003-06-24 | 2004-12-30 | Nokia Inc. | Single-point management system for devices in a cluster |
US7356678B2 (en) * | 2004-01-12 | 2008-04-08 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US8375368B2 (en) * | 2006-06-20 | 2013-02-12 | Google Inc. | Systems and methods for profiling an application running on a parallel-processing computer system |
US8108844B2 (en) * | 2006-06-20 | 2012-01-31 | Google Inc. | Systems and methods for dynamically choosing a processing element for a compute kernel |
US7814486B2 (en) * | 2006-06-20 | 2010-10-12 | Google Inc. | Multi-thread runtime system |
US8146066B2 (en) * | 2006-06-20 | 2012-03-27 | Google Inc. | Systems and methods for caching compute kernels for an application running on a parallel-processing computer system |
US8136104B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
US8261270B2 (en) * | 2006-06-20 | 2012-09-04 | Google Inc. | Systems and methods for generating reference results using a parallel-processing computer system |
US8381202B2 (en) * | 2006-06-20 | 2013-02-19 | Google Inc. | Runtime system for executing an application in a parallel-processing computer system |
US8443348B2 (en) | 2006-06-20 | 2013-05-14 | Google Inc. | Application program interface of a parallel-processing computer system that supports multiple programming languages |
US8136102B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for compiling an application for a parallel-processing computer system |
US8024708B2 (en) | 2006-06-20 | 2011-09-20 | Google Inc. | Systems and methods for debugging an application running on a parallel-processing computer system |
US9152457B2 (en) * | 2009-06-05 | 2015-10-06 | International Business Machines Corporation | Processing request management |
US9361165B2 (en) * | 2009-12-03 | 2016-06-07 | International Business Machines Corporation | Automated merger of logically associated messages in a message queue |
US9477483B2 (en) * | 2013-01-03 | 2016-10-25 | Tapjoy, Inc. | Tracking mobile app installations |
TWI596612B (zh) * | 2015-12-04 | 2017-08-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
KR102112047B1 (ko) * | 2019-01-29 | 2020-05-18 | 주식회사 리얼타임테크 | 하이브리드 p2p 방식의 클러스터 시스템에서의 작업 노드 확장 방법 |
US11595321B2 (en) | 2021-07-06 | 2023-02-28 | Vmware, Inc. | Cluster capacity management for hyper converged infrastructure updates |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4709365A (en) * | 1983-10-31 | 1987-11-24 | Beale International Technology Limited | Data transmission system and method |
US5146590A (en) * | 1989-01-13 | 1992-09-08 | International Business Machines Corporation | Method for sorting using approximate key distribution in a distributed system |
US5179699A (en) * | 1989-01-13 | 1993-01-12 | International Business Machines Corporation | Partitioning of sorted lists for multiprocessors sort and merge |
US5652841A (en) * | 1990-02-06 | 1997-07-29 | Nemirovsky; Paul | Method and apparatus for aggregating terminals into clusters to assist in the construction of a distributed data communication network |
FI87290C (fi) * | 1991-01-17 | 1992-12-10 | Kone Oy | Foerfarande foer bestaemning av meddelandeidentifierare i ett foer hissar avsett datanaet |
US5528605A (en) | 1991-10-29 | 1996-06-18 | Digital Equipment Corporation | Delayed acknowledgement in an asymmetric timer based LAN communications protocol |
JPH05204811A (ja) | 1992-01-23 | 1993-08-13 | Nec Corp | 管理情報通信システム |
US5404558A (en) * | 1992-02-17 | 1995-04-04 | Sharp Kabushiki Kaisha | Data driven type information processor having a plurality of memory banks |
US5566078A (en) * | 1993-05-26 | 1996-10-15 | Lsi Logic Corporation | Integrated circuit cell placement using optimization-driven clustering |
JP3415914B2 (ja) * | 1993-10-12 | 2003-06-09 | 富士通株式会社 | 並列マージソート処理方法 |
US5729687A (en) * | 1993-12-20 | 1998-03-17 | Intel Corporation | System for sending differences between joining meeting information and public meeting information between participants in computer conference upon comparing annotations of joining and public meeting information |
JP3177117B2 (ja) | 1994-05-11 | 2001-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 複数のノード内の制御コードを更新する方法および装置 |
US5563878A (en) | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
US5973724A (en) * | 1995-02-24 | 1999-10-26 | Apple Computer, Inc. | Merging multiple teleconferences |
JP3767003B2 (ja) | 1996-03-11 | 2006-04-19 | 富士通株式会社 | グループ編成管理システムと方法 |
US5704032A (en) | 1996-04-30 | 1997-12-30 | International Business Machines Corporation | Method for group leader recovery in a distributed computing environment |
US6216150B1 (en) * | 1996-04-30 | 2001-04-10 | International Business Machines Corporation | Program product for an application programming interface unifying multiple mechanisms |
US5787249A (en) | 1996-04-30 | 1998-07-28 | International Business Machines Coporation | Method for managing membership of a group of processors in a distributed computing environment |
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 |
US5883939A (en) * | 1996-08-29 | 1999-03-16 | Cornell Research Foundation, Inc. | Distributed architecture for an intelligent networking coprocessor |
JPH10187638A (ja) * | 1996-10-28 | 1998-07-21 | Mitsubishi Electric Corp | クラスタ制御システム |
US6038216A (en) | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
US6292905B1 (en) | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6108699A (en) | 1997-06-27 | 2000-08-22 | Sun Microsystems, Inc. | System and method for modifying membership in a clustered distributed computer system and updating system configuration |
US6138251A (en) | 1997-06-30 | 2000-10-24 | Sun Microsystems, Inc. | Method and system for reliable remote object reference management |
US6049833A (en) | 1997-08-29 | 2000-04-11 | Cisco Technology, Inc. | Mapping SNA session flow control to TCP flow control |
US6115749A (en) | 1997-10-14 | 2000-09-05 | Lucent Technologies Inc. | System and method for using a window mechanism to control multicast data congestion |
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
US6065062A (en) | 1997-12-10 | 2000-05-16 | Cisco Systems, Inc. | Backup peer pool for a routed computer network |
US6545981B1 (en) | 1998-01-07 | 2003-04-08 | Compaq Computer Corporation | System and method for implementing error detection and recovery in a system area network |
US6360330B1 (en) | 1998-03-31 | 2002-03-19 | Emc Corporation | System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server |
US6449734B1 (en) * | 1998-04-17 | 2002-09-10 | Microsoft Corporation | Method and system for discarding locally committed transactions to ensure consistency in a server cluster |
CA2237264A1 (en) | 1998-05-08 | 1999-11-08 | Northern Telecom Limited | Receiver based congestion control |
JPH11328136A (ja) | 1998-05-08 | 1999-11-30 | Mitsubishi Electric Corp | 計算機ネットワークシステム |
US6421787B1 (en) * | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6343320B1 (en) | 1998-06-09 | 2002-01-29 | Compaq Information Technologies Group, L.P. | Automatic state consolidation for network participating devices |
US6392993B1 (en) | 1998-06-29 | 2002-05-21 | Microsoft Corporation | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems |
US6381215B1 (en) | 1998-06-29 | 2002-04-30 | Microsoft Corporation | Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems |
US6496481B1 (en) | 1998-07-16 | 2002-12-17 | Industrial Technology Research Institute | Data transfer method for wire real-time communications |
JP3615057B2 (ja) * | 1998-07-17 | 2005-01-26 | 株式会社東芝 | ラベルスイッチングパス設定方法及びノード装置 |
US6338092B1 (en) | 1998-09-24 | 2002-01-08 | International Business Machines Corporation | Method, system and computer program for replicating data in a distributed computed environment |
US6367029B1 (en) | 1998-11-03 | 2002-04-02 | Sun Microsystems, Inc. | File server system tolerant to software and hardware failures |
US6427148B1 (en) * | 1998-11-09 | 2002-07-30 | Compaq Computer Corporation | Method and apparatus for parallel sorting using parallel selection/partitioning |
JP2000156706A (ja) | 1998-11-19 | 2000-06-06 | Nippon Telegr & Teleph Corp <Ntt> | データ送受信方法並びにデータ送信プログラムを記憶した媒体及びデータ受信プログラムを記憶した媒体 |
US6078957A (en) * | 1998-11-20 | 2000-06-20 | Network Alchemy, Inc. | Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system |
US6006259A (en) * | 1998-11-20 | 1999-12-21 | Network Alchemy, Inc. | Method and apparatus for an internet protocol (IP) network clustering system |
JP2000196677A (ja) | 1998-12-28 | 2000-07-14 | Fujitsu Ltd | ネットワ―クシステムに用いられる中継装置 |
US6363495B1 (en) * | 1999-01-19 | 2002-03-26 | International Business Machines Corporation | Method and apparatus for partition resolution in clustered computer systems |
US6507863B2 (en) | 1999-01-27 | 2003-01-14 | International Business Machines Corporation | Dynamic multicast routing facility for a distributed computing environment |
US6317867B1 (en) * | 1999-01-29 | 2001-11-13 | International Business Machines Corporation | Method and system for clustering instructions within executable code for compression |
US6564372B1 (en) * | 1999-02-17 | 2003-05-13 | Elbrus International Limited | Critical path optimization-unzipping |
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 |
US6453426B1 (en) * | 1999-03-26 | 2002-09-17 | Microsoft Corporation | Separately storing core boot data and cluster configuration data in a server cluster |
US6757698B2 (en) | 1999-04-14 | 2004-06-29 | Iomega Corporation | Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations |
US6185666B1 (en) * | 1999-09-11 | 2001-02-06 | Powerquest Corporation | Merging computer partitions |
US6425014B1 (en) * | 1999-09-22 | 2002-07-23 | International Business Machines Corporation | Methods, systems and computer program products for providing network connection information in a cluster of data processing systems |
US6408310B1 (en) | 1999-10-08 | 2002-06-18 | Unisys Corporation | System and method for expediting transfer of sectioned audit files from a primary host to a secondary host |
US6625639B1 (en) | 1999-10-20 | 2003-09-23 | International Business Machines Corporation | Apparatus and method for processing a task in a clustered computing environment |
US6460039B1 (en) * | 1999-12-09 | 2002-10-01 | International Business Machines Corporation | Middleware support for primary component in a partitionable cluster environment |
US6847984B1 (en) | 1999-12-16 | 2005-01-25 | Livevault Corporation | Systems and methods for backing up data files |
US6574668B1 (en) | 2000-01-25 | 2003-06-03 | Cirrus Logic, Inc. | Retransmission scheme in wireless computer networks |
US6718361B1 (en) | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
US6654902B1 (en) * | 2000-04-11 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Persistent reservation IO barriers |
US20030041138A1 (en) | 2000-05-02 | 2003-02-27 | Sun Microsystems, Inc. | Cluster membership monitor |
US6578032B1 (en) * | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
US6839752B1 (en) | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
-
2000
- 2000-08-14 US US09/638,328 patent/US6968359B1/en not_active Expired - Fee Related
-
2001
- 2001-03-14 IL IL14201901A patent/IL142019A0/xx unknown
- 2001-08-03 JP JP2001237064A patent/JP3798661B2/ja not_active Expired - Fee Related
- 2001-08-03 KR KR10-2001-0046935A patent/KR100423225B1/ko not_active IP Right Cessation
- 2001-08-13 CN CNB011255560A patent/CN100359508C/zh not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8402080B2 (en) | 2005-09-26 | 2013-03-19 | Advanced Cluster Systems, Inc. | Clustered computer system |
US8849889B1 (en) | 2005-09-26 | 2014-09-30 | Advanced Cluster Systems, Inc. | Clustered computer system |
US8082289B2 (en) | 2006-06-13 | 2011-12-20 | Advanced Cluster Systems, Inc. | Cluster computing support for application programs |
US8140612B2 (en) | 2006-06-13 | 2012-03-20 | Advanced Cluster Systems, Inc. | Cluster computing support for application programs |
US8402083B2 (en) | 2006-06-13 | 2013-03-19 | Advanced Cluster Systems, Inc. | Automatic cluster node discovery and configuration |
US8676877B2 (en) | 2006-06-13 | 2014-03-18 | Advanced Cluster Systems, Inc. | Cluster computing using special purpose microprocessors |
US10333768B2 (en) | 2006-06-13 | 2019-06-25 | Advanced Cluster Systems, Inc. | Cluster computing |
US11128519B2 (en) | 2006-06-13 | 2021-09-21 | Advanced Cluster Systems, Inc. | Cluster computing |
US11563621B2 (en) | 2006-06-13 | 2023-01-24 | Advanced Cluster Systems, Inc. | Cluster computing |
US11570034B2 (en) | 2006-06-13 | 2023-01-31 | Advanced Cluster Systems, Inc. | Cluster computing |
US11811582B2 (en) | 2006-06-13 | 2023-11-07 | Advanced Cluster Systems, Inc. | Cluster computing |
Also Published As
Publication number | Publication date |
---|---|
IL142019A0 (en) | 2002-03-10 |
CN1338687A (zh) | 2002-03-06 |
US6968359B1 (en) | 2005-11-22 |
KR20020013401A (ko) | 2002-02-20 |
JP3798661B2 (ja) | 2006-07-19 |
KR100423225B1 (ko) | 2004-03-18 |
CN100359508C (zh) | 2008-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002117010A (ja) | クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する装置及びその方法 | |
US7231461B2 (en) | Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system | |
JP3910539B2 (ja) | 準備処理を取り入れたクラスタード・コンピュータ・システムにおけるリソース・アクション | |
US6839752B1 (en) | Group data sharing during membership change in clustered computer system | |
US6625639B1 (en) | Apparatus and method for processing a task in a clustered computing environment | |
US6983324B1 (en) | Dynamic modification of cluster communication parameters in clustered computer system | |
US5822531A (en) | Method and system for dynamically reconfiguring a cluster of computer systems | |
US7130897B2 (en) | Dynamic cluster versioning for a group | |
US8166097B2 (en) | Using distributed queues in an overlay network | |
JP3293839B2 (ja) | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム | |
US7870419B2 (en) | Subscription-based management and distribution of member-specific state data in a distributed computing system | |
JPH0831043B2 (ja) | コミット手順の非同期的再同期化実行装置および方法 | |
JPH0793272A (ja) | 資源の同期点管理を実行する装置および方法 | |
WO1997025673A1 (en) | Replicated resource management system for a distributed application maintaining a relativistic view of state | |
WO1997025673A9 (en) | Replicated resource management system for a distributed application maintaining a relativistic view of state | |
JPH087690B2 (ja) | コミット手順におけるエラー・コードおよびエラー記述情報の処理装置および方法 | |
US20030028594A1 (en) | Managing intended group membership using domains | |
JPH11345130A (ja) | 複数のデ―タストアの同期をとってデ―タ整合性を達成する方法 | |
US8230086B2 (en) | Hidden group membership in clustered computer system | |
KR100466140B1 (ko) | 분산 컴퓨팅 환경의 프로세싱 그룹들을 관리하는 방법, 시스템 및 기록매체 | |
US7240088B2 (en) | Node self-start in a decentralized cluster | |
US7769844B2 (en) | Peer protocol status query in clustered computer system | |
US7636821B2 (en) | Asynchronous hybrid mirroring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050329 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050531 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050929 |
|
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: 20060404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060420 |
|
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: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130428 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |