JPH09237226A - マルチコンピュータ・システムにおける信頼性の高いディスク・フェンシングのための方法および装置 - Google Patents
マルチコンピュータ・システムにおける信頼性の高いディスク・フェンシングのための方法および装置Info
- Publication number
- JPH09237226A JPH09237226A JP8307544A JP30754496A JPH09237226A JP H09237226 A JPH09237226 A JP H09237226A JP 8307544 A JP8307544 A JP 8307544A JP 30754496 A JP30754496 A JP 30754496A JP H09237226 A JPH09237226 A JP H09237226A
- Authority
- JP
- Japan
- Prior art keywords
- node
- membership
- value
- disk
- resource
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
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)
- Storage Device Security (AREA)
Abstract
(57)【要約】
【課題】 ネットワーク化システム上の共用ディスクな
どの資源の高速かつ確実な分離のための方法および装置
を提供する。 【解決手段】 システム上のノードと資源からなる新し
い構成ごとに、新しいメンバシップ・リストを生成し、
それに基づいて、それが存在する時期と相関関係にある
メンバシップを明確に識別する新しいエポック番号を生
成する。エポック番号に基づく制御キーが生成され、シ
ステム上の各資源制御装置およびノードで格納される。
あるノードが障害が発生したものと識別されると、それ
はメンバシップ・リストから除去され、新しいエポック
番号と制御キーが生成される。ノードが資源に対してア
クセス要求を送ると、資源制御装置は、ローカルに格納
されたその制御キーと、ノードで格納された制御キー
(アクセス要求とともに伝送されたもの)とを比較す
る。2つのキーが一致した場合のみ、アクセス要求が実
行される。
どの資源の高速かつ確実な分離のための方法および装置
を提供する。 【解決手段】 システム上のノードと資源からなる新し
い構成ごとに、新しいメンバシップ・リストを生成し、
それに基づいて、それが存在する時期と相関関係にある
メンバシップを明確に識別する新しいエポック番号を生
成する。エポック番号に基づく制御キーが生成され、シ
ステム上の各資源制御装置およびノードで格納される。
あるノードが障害が発生したものと識別されると、それ
はメンバシップ・リストから除去され、新しいエポック
番号と制御キーが生成される。ノードが資源に対してア
クセス要求を送ると、資源制御装置は、ローカルに格納
されたその制御キーと、ノードで格納された制御キー
(アクセス要求とともに伝送されたもの)とを比較す
る。2つのキーが一致した場合のみ、アクセス要求が実
行される。
Description
【0001】
【発明の属する技術分野】本発明は、複数のコンピュー
タ(ノード)が共用ディスクに対して並行アクセス可能
なマルチコンピュータ・システム、たとえば、クラスタ
における共用ディスクの信頼性の高いディスク・フェン
シング(disk fencing)のためのシステムに関する。具
体的には、このシステムは、共用アクセス・ディスクを
備えた高可用性のシステムに対処するものである。
タ(ノード)が共用ディスクに対して並行アクセス可能
なマルチコンピュータ・システム、たとえば、クラスタ
における共用ディスクの信頼性の高いディスク・フェン
シング(disk fencing)のためのシステムに関する。具
体的には、このシステムは、共用アクセス・ディスクを
備えた高可用性のシステムに対処するものである。
【0002】
【従来の技術】クラスタ化コンピュータ・システムで
は、他のノードが従う任意の定義済み基準により、所与
のノードで「障害が発生する」、すなわち、それが使用
不能になることがある。たとえば、所与のノードが任意
の所定の時間より短時間の間に要求に応答できなかった
可能性が考えられる。したがって、異常にゆっくり実行
しているノードは障害が発生したと見なされる可能性が
あり、それに応じて残りのノードが応答することにな
る。
は、他のノードが従う任意の定義済み基準により、所与
のノードで「障害が発生する」、すなわち、それが使用
不能になることがある。たとえば、所与のノードが任意
の所定の時間より短時間の間に要求に応答できなかった
可能性が考えられる。したがって、異常にゆっくり実行
しているノードは障害が発生したと見なされる可能性が
あり、それに応じて残りのノードが応答することにな
る。
【0003】1つのノード(または複数のノード)で障
害が発生すると、残りのノードはシステム再構成を実行
して、障害が発生したノード(複数も可)をシステムか
ら除去しなければならず、その場合、残りのノードは障
害が発生したノード(複数も可)が提供していたサービ
スを提供することが好ましい。
害が発生すると、残りのノードはシステム再構成を実行
して、障害が発生したノード(複数も可)をシステムか
ら除去しなければならず、その場合、残りのノードは障
害が発生したノード(複数も可)が提供していたサービ
スを提供することが好ましい。
【0004】障害が発生したノードをできるだけ迅速に
共用ディスクから分離することが重要である。そうでな
い場合、システム再構成が完了するまでに障害が発生し
た(またはゆっくり実行している)ノードが分離されな
いと、そのノードが共用ディスクに対して読み書き要求
を出し続ける可能性があり、それにより、共用ディスク
上のデータを破壊する恐れがある。
共用ディスクから分離することが重要である。そうでな
い場合、システム再構成が完了するまでに障害が発生し
た(またはゆっくり実行している)ノードが分離されな
いと、そのノードが共用ディスクに対して読み書き要求
を出し続ける可能性があり、それにより、共用ディスク
上のデータを破壊する恐れがある。
【0005】この種の問題に対処するために、ディスク
・フェンシングプロトコルが開発されている。たとえ
ば、VAXクラスタ・システムでは、「デッドマン・ブ
レーキ」機構を使用する。参照により本明細書に組み込
まれるDavis,R.J.のVAX cluster
Principles(Digital Pres
s,1993)を参照されたい。VAXクラスタ・シス
テムでは、障害が発生したノードが新しい構成から分離
され、新しい構成内のノードは、ディスクへのアクセス
が許可されるまでの所与の所定のタイムアウト期間中、
待機しなければならない。分離したノード上のデッドマ
ン・ブレーキ機構により、タイムアウト期間の終了ま
で、分離したノードが「アイドル」状態になることが保
証される。
・フェンシングプロトコルが開発されている。たとえ
ば、VAXクラスタ・システムでは、「デッドマン・ブ
レーキ」機構を使用する。参照により本明細書に組み込
まれるDavis,R.J.のVAX cluster
Principles(Digital Pres
s,1993)を参照されたい。VAXクラスタ・シス
テムでは、障害が発生したノードが新しい構成から分離
され、新しい構成内のノードは、ディスクへのアクセス
が許可されるまでの所与の所定のタイムアウト期間中、
待機しなければならない。分離したノード上のデッドマ
ン・ブレーキ機構により、タイムアウト期間の終了ま
で、分離したノードが「アイドル」状態になることが保
証される。
【0006】VAXクラスタ・システム内の分離したノ
ード上のデッドマン・ブレーキ機構は、ハードウェアと
ソフトウェアの両方を含む。分離したノード上のソフト
ウェアは、共用ディスクとクラスタ相互接続との間に結
合されるクラスタ相互接続アダプタ(CI)に対して、
そのノードが「健全」であることを定期的に通知しなけ
ればならない。このソフトウェアは、そのノードが新し
い構成の一部ではないことを限られた時間内に検出する
ことができる。このような状態が検出されると、ソフト
ウェアはディスク入出力をブロックし、その結果、障害
が発生したノードによる共用ディスクへのすべてのアク
セスを防止するソフトウェア「フェンス」がセットアッ
プされる。このソフトウェア・フェンスがもたらす欠点
は、ソフトウェアが信頼性の高いものでなければならな
いことであり、「フェンス」ソフトウェアの障害(また
はバグ)が発生すると、その結果、表面上分離したノー
ドによる共用ディスクへのアクセスをブロックできなく
なる。
ード上のデッドマン・ブレーキ機構は、ハードウェアと
ソフトウェアの両方を含む。分離したノード上のソフト
ウェアは、共用ディスクとクラスタ相互接続との間に結
合されるクラスタ相互接続アダプタ(CI)に対して、
そのノードが「健全」であることを定期的に通知しなけ
ればならない。このソフトウェアは、そのノードが新し
い構成の一部ではないことを限られた時間内に検出する
ことができる。このような状態が検出されると、ソフト
ウェアはディスク入出力をブロックし、その結果、障害
が発生したノードによる共用ディスクへのすべてのアク
セスを防止するソフトウェア「フェンス」がセットアッ
プされる。このソフトウェア・フェンスがもたらす欠点
は、ソフトウェアが信頼性の高いものでなければならな
いことであり、「フェンス」ソフトウェアの障害(また
はバグ)が発生すると、その結果、表面上分離したノー
ドによる共用ディスクへのアクセスをブロックできなく
なる。
【0007】ソフトウェアの実行速度が遅すぎ、かつ適
切にソフトウェア・フェンスがセットアップされない場
合、CIハードウェアはそのノードを相互接続から遮断
し、それにより、ハードウェア・フェンス、すなわち、
障害が発生したノードが共用ディスクにアクセスできな
いようにするハードウェア障害物をセットアップする。
このハードウェア・フェンスは、CIホスト・アダプタ
上の健全タイマにより実現される。ソフトウェアは、そ
のソフトウェアが「健全」であることをCIハードウェ
アに定期的に通知しなければならない。所与のタイムア
ウト期間内にこれを行わないと、CI内の健全タイマが
起動されることになる。これが「デッドマン・ブレー
キ」機構である。
切にソフトウェア・フェンスがセットアップされない場
合、CIハードウェアはそのノードを相互接続から遮断
し、それにより、ハードウェア・フェンス、すなわち、
障害が発生したノードが共用ディスクにアクセスできな
いようにするハードウェア障害物をセットアップする。
このハードウェア・フェンスは、CIホスト・アダプタ
上の健全タイマにより実現される。ソフトウェアは、そ
のソフトウェアが「健全」であることをCIハードウェ
アに定期的に通知しなければならない。所与のタイムア
ウト期間内にこれを行わないと、CI内の健全タイマが
起動されることになる。これが「デッドマン・ブレー
キ」機構である。
【0008】このノード分離システムには、上記以外に
次のような欠点がある。 ・ハードウェア・フェンスを実現するために内部タイマ
を使用する相互接続アダプタが必要である。 ・ノードとディスクとの間の相互接続がスイッチまたは
その他のバッファ装置を含む場合、この解決策は機能し
ない。分離したノードからのディスク要求は本来、この
ようなスイッチまたはバッファによって遅延され、新し
い構成がすでにディスクにアクセスした後にディスクに
送られるはずである。このような要求の遅延によって、
ファイルまたはデータベースが破壊される恐れがある。 ・様々なタイムアウト値によっては、新しい構成のメン
バがディスクにアクセスできるようになるまで待機しな
ければならない時間が長くなりすぎる場合があり、その
結果、システム全体のパフォーマンスが低下し、高可用
性の原則に反することになる。
次のような欠点がある。 ・ハードウェア・フェンスを実現するために内部タイマ
を使用する相互接続アダプタが必要である。 ・ノードとディスクとの間の相互接続がスイッチまたは
その他のバッファ装置を含む場合、この解決策は機能し
ない。分離したノードからのディスク要求は本来、この
ようなスイッチまたはバッファによって遅延され、新し
い構成がすでにディスクにアクセスした後にディスクに
送られるはずである。このような要求の遅延によって、
ファイルまたはデータベースが破壊される恐れがある。 ・様々なタイムアウト値によっては、新しい構成のメン
バがディスクにアクセスできるようになるまで待機しな
ければならない時間が長くなりすぎる場合があり、その
結果、システム全体のパフォーマンスが低下し、高可用
性の原則に反することになる。
【0009】アーキテクチャ・レベルで見た場合、上記
のノード分離方法の重大な欠点は、そのノードが端末間
特性を備えていないことであり、フェンスがディスク制
御装置上ではなく、ノード上にセットアップされること
である。
のノード分離方法の重大な欠点は、そのノードが端末間
特性を備えていないことであり、フェンスがディスク制
御装置上ではなく、ノード上にセットアップされること
である。
【0010】ディスク制御装置で障害が発生したディス
クの分離を迅速にセットアップしながら高可用性を提示
するシステムを用意すると、有利であると思われる。
クの分離を迅速にセットアップしながら高可用性を提示
するシステムを用意すると、有利であると思われる。
【0011】UNIXベースのその他のクラスタ化シス
テムでは、クラスタ化ノードの不要なサブセットが共用
ディスクにアクセスできないようにするために、SCS
I(small computer systems ubterface 小型コンピュ
ータ・システム・インタフェース)の「ディスク予約」
を使用する。たとえば、情報システムに関するANSI
SCSI−2規格案(1990年3月9日付け、Gl
obal Engineering Document
sが配布)を参照されたい。これは参照により本明細書
に組み込まれるものである。ディスク予約にはいくつか
の欠点がある。たとえば、ディスク予約プロトコルは、
2つのノードを有するシステムにしか適用できない。と
いうのは、ノードが1つだけの場合、一度に1枚ずつデ
ィスクを予約できる(すなわち、他のどのノードも同時
にそのディスクにアクセスすることができない)からで
ある。もう1つは、SCSIシステムでは、SCSIバ
ス・リセット動作によりディスク予約が除去され、ソフ
トウェア・ディスク・ドライバがいつでもSCSIバス
・リセットを出すことができることである。したがっ
て、SCSIのディスク予約は、信頼性の高いディスク
・フェンシング技法ではない。
テムでは、クラスタ化ノードの不要なサブセットが共用
ディスクにアクセスできないようにするために、SCS
I(small computer systems ubterface 小型コンピュ
ータ・システム・インタフェース)の「ディスク予約」
を使用する。たとえば、情報システムに関するANSI
SCSI−2規格案(1990年3月9日付け、Gl
obal Engineering Document
sが配布)を参照されたい。これは参照により本明細書
に組み込まれるものである。ディスク予約にはいくつか
の欠点がある。たとえば、ディスク予約プロトコルは、
2つのノードを有するシステムにしか適用できない。と
いうのは、ノードが1つだけの場合、一度に1枚ずつデ
ィスクを予約できる(すなわち、他のどのノードも同時
にそのディスクにアクセスすることができない)からで
ある。もう1つは、SCSIシステムでは、SCSIバ
ス・リセット動作によりディスク予約が除去され、ソフ
トウェア・ディスク・ドライバがいつでもSCSIバス
・リセットを出すことができることである。したがっ
て、SCSIのディスク予約は、信頼性の高いディスク
・フェンシング技法ではない。
【0012】もう1つのノード分離方法は「毒薬」を含
む。すなわち、再構成中にシステムから1つのノードが
除去されると、残りのノードの1つが障害が発生したノ
ードに対して「毒薬」すなわち停止要求を送るのであ
る。障害が発生したノードが活動状態にある(たとえ
ば、ゆっくり実行している)場合、そのノードは毒薬を
摂取し、所定の時間内にアイドル状態になる。
む。すなわち、再構成中にシステムから1つのノードが
除去されると、残りのノードの1つが障害が発生したノ
ードに対して「毒薬」すなわち停止要求を送るのであ
る。障害が発生したノードが活動状態にある(たとえ
ば、ゆっくり実行している)場合、そのノードは毒薬を
摂取し、所定の時間内にアイドル状態になる。
【0013】この毒薬は、障害が発生したノードのホス
ト・アダプタ・カードまたは障害が発生したノード上の
割込みハンドラのいずれかによって処理される。これが
ホスト・アダプタ・カードによって処理される場合、こ
の方法を実現するためにシステムは特別に設計したホス
ト・アダプタ・カードを必要とするという欠点がもたら
される。障害が発生したノード上の割込みハンドラによ
って処理される場合は、ノード分離が信頼できなくなる
という欠点がある。たとえば、上記のVAXクラスタの
場合のように、ノードのソフトウェア自体が信頼できな
いものになる可能性があり、タイムアウト遅延が発生
し、やはり共用ディスクではなくノードで分離が行われ
る。
ト・アダプタ・カードまたは障害が発生したノード上の
割込みハンドラのいずれかによって処理される。これが
ホスト・アダプタ・カードによって処理される場合、こ
の方法を実現するためにシステムは特別に設計したホス
ト・アダプタ・カードを必要とするという欠点がもたら
される。障害が発生したノード上の割込みハンドラによ
って処理される場合は、ノード分離が信頼できなくなる
という欠点がある。たとえば、上記のVAXクラスタの
場合のように、ノードのソフトウェア自体が信頼できな
いものになる可能性があり、タイムアウト遅延が発生
し、やはり共用ディスクではなくノードで分離が行われ
る。
【0014】
【発明が解決しようとする課題】したがって、分離した
ノードが共用ディスクにアクセスするのを迅速かつ確実
にブロックし、ディスク・アクセスへの防止をするのに
分離したノードに依存しない機構を使用して、共用ディ
スクへのアクセスをそのディスク側で防止するシステム
が要求されている。
ノードが共用ディスクにアクセスするのを迅速かつ確実
にブロックし、ディスク・アクセスへの防止をするのに
分離したノードに依存しない機構を使用して、共用ディ
スクへのアクセスをそのディスク側で防止するシステム
が要求されている。
【0015】
【課題を解決するための手段】本発明は、共用ディスク
などの入出力装置を含む、障害が発生した資源を迅速か
つ確実に分離するための方法および装置で、コンピュー
タ・システムまたはネットワーク上のほぼすべての共用
資源に適用可能である。本発明のシステムは、すべての
活動状態の共用資源のメンバシップ・リストを維持し、
資源が追加されるかまたは障害が発生した場合(その結
果、機能的に除去しなければならない場合)など、新し
い構成のたびに、システムは、その時点でその構成を明
確に識別する新しいエポック番号またはその他の値を生
成する。したがって、異なる時点で生成した同一のメン
バシップは、特に、中間に異なるメンバシップ・セット
が発生した場合には、エポック番号が異なることにな
る。
などの入出力装置を含む、障害が発生した資源を迅速か
つ確実に分離するための方法および装置で、コンピュー
タ・システムまたはネットワーク上のほぼすべての共用
資源に適用可能である。本発明のシステムは、すべての
活動状態の共用資源のメンバシップ・リストを維持し、
資源が追加されるかまたは障害が発生した場合(その結
果、機能的に除去しなければならない場合)など、新し
い構成のたびに、システムは、その時点でその構成を明
確に識別する新しいエポック番号またはその他の値を生
成する。したがって、異なる時点で生成した同一のメン
バシップは、特に、中間に異なるメンバシップ・セット
が発生した場合には、エポック番号が異なることにな
る。
【0016】新しいエポック番号が生成されるたびに、
それから制御キー値が導出され、システム内のノードに
送られる。それぞれのノードは、それ専用のノード・キ
ーとしてその制御キーをローカルに格納する。資源用の
制御装置(ディスク制御装置など)も制御キーをローカ
ルに格納する。その後、共用資源アクセス要求が資源制
御装置に送られると、それとともに必ずノード・キーが
送られる。次に制御装置は、そのノード・キーが制御装
置が格納しているバージョンの制御キーと一致するかど
うかを検査し、2つのキーが一致する場合のみ、資源ア
クセス要求を許可する。
それから制御キー値が導出され、システム内のノードに
送られる。それぞれのノードは、それ専用のノード・キ
ーとしてその制御キーをローカルに格納する。資源用の
制御装置(ディスク制御装置など)も制御キーをローカ
ルに格納する。その後、共用資源アクセス要求が資源制
御装置に送られると、それとともに必ずノード・キーが
送られる。次に制御装置は、そのノード・キーが制御装
置が格納しているバージョンの制御キーと一致するかど
うかを検査し、2つのキーが一致する場合のみ、資源ア
クセス要求を許可する。
【0017】資源ファイルで障害が発生した場合、たと
えば、資源ファイルが所定の期間内に要求に応答しない
場合(ハードウェアまたはソフトウェア欠陥の可能性を
示す)、システムのメンバシップは新規と判定され、障
害が発生した資源が除去される。新しいエポック番号が
生成され、そこから新しい制御キーが生成され、システ
ム上のすべての資源制御装置およびノードに伝送され
る。新しい制御キーの生成された後でアクセス要求が資
源制御装置に到達した場合、そのアクセス要求には、現
行制御キーとは異なるノード・キーが付けられ、したが
って、その要求は実行されないことになる。これは、ノ
ードが現行メンバシップ・セットに含まれない資源にア
クセス要求を出すのを防止することと結合すると、処理
するためにはすべてのノード要求が現行制御キー(およ
びその結果のメンバシップ)情報を有していなければな
らないと要求することにより、障害が発生した資源が迅
速にアクセスから除去されることになる。
えば、資源ファイルが所定の期間内に要求に応答しない
場合(ハードウェアまたはソフトウェア欠陥の可能性を
示す)、システムのメンバシップは新規と判定され、障
害が発生した資源が除去される。新しいエポック番号が
生成され、そこから新しい制御キーが生成され、システ
ム上のすべての資源制御装置およびノードに伝送され
る。新しい制御キーの生成された後でアクセス要求が資
源制御装置に到達した場合、そのアクセス要求には、現
行制御キーとは異なるノード・キーが付けられ、したが
って、その要求は実行されないことになる。これは、ノ
ードが現行メンバシップ・セットに含まれない資源にア
クセス要求を出すのを防止することと結合すると、処理
するためにはすべてのノード要求が現行制御キー(およ
びその結果のメンバシップ)情報を有していなければな
らないと要求することにより、障害が発生した資源が迅
速にアクセスから除去されることになる。
【0018】それぞれのノードは、本発明の諸機能を実
行するためにプログラム・モジュール、たとえば、ディ
スク(または資源)マネージャ・モジュール、分散ロッ
ク・マネージャ・モジュール、メンバシップ・モジュー
ルを格納している。このようなモジュールの分散によっ
て、どのノードも、障害が発生したものとして資源を識
別し、残りのノードにそれを連絡し、新しいメンバシッ
プ・リスト、エポック番号、制御キーを生成できるよう
になる。
行するためにプログラム・モジュール、たとえば、ディ
スク(または資源)マネージャ・モジュール、分散ロッ
ク・マネージャ・モジュール、メンバシップ・モジュー
ルを格納している。このようなモジュールの分散によっ
て、どのノードも、障害が発生したものとして資源を識
別し、残りのノードにそれを連絡し、新しいメンバシッ
プ・リスト、エポック番号、制御キーを生成できるよう
になる。
【0019】したがって、上記のシステムは、障害が発
生した資源のハードウェアまたはソフトウェアに依存せ
ず、高速の端末間(すなわち、資源側での)資源分離を
可能にする。
生した資源のハードウェアまたはソフトウェアに依存せ
ず、高速の端末間(すなわち、資源側での)資源分離を
可能にする。
【0020】
【発明の実施の形態】本発明のシステムは、一般に、複
数のノード20〜40(この例ではノード1〜3)と1
組または複数組の共用ディスク50とを含む、図1に示
すシステム10などのクラスタ化システムに適用可能で
ある。ノード20〜40のそれぞれは、1つまたは複数
のプロセッサを有し、メモリ、大容量記憶装置、ユーザ
入出力装置(モニタ、キーボード、マウスなど)、その
他の従来のコンピュータ・システム要素(図1にすべて
示されているわけではない)を含む、従来のプロセッサ
ベースのシステムにすることができ、クラスタ化環境で
動作するように構成することができる。
数のノード20〜40(この例ではノード1〜3)と1
組または複数組の共用ディスク50とを含む、図1に示
すシステム10などのクラスタ化システムに適用可能で
ある。ノード20〜40のそれぞれは、1つまたは複数
のプロセッサを有し、メモリ、大容量記憶装置、ユーザ
入出力装置(モニタ、キーボード、マウスなど)、その
他の従来のコンピュータ・システム要素(図1にすべて
示されているわけではない)を含む、従来のプロセッサ
ベースのシステムにすることができ、クラスタ化環境で
動作するように構成することができる。
【0021】ディスク50はディスク制御装置60によ
りアクセスされ制御されるが、この制御装置は従来のデ
ィスク制御装置のハードウェアとソフトウェアを含むこ
とができ、以下に記載する特徴に加え、ディスク制御機
能を実行するためにプロセッサとメモリ(個別に図示せ
ず)とを含む。
りアクセスされ制御されるが、この制御装置は従来のデ
ィスク制御装置のハードウェアとソフトウェアを含むこ
とができ、以下に記載する特徴に加え、ディスク制御機
能を実行するためにプロセッサとメモリ(個別に図示せ
ず)とを含む。
【0022】一般に、本発明のシステムは、ノード20
〜40およびディスク制御装置のメモリに格納されたソ
フトウェア・モジュールによって実現することができ
る。このソフトウェア・モジュールは、本発明のディス
ク・フェンシングシステムを実現するための適当な要素
に関する以下の教示に基づいて、従来のソフトウェア・
エンジニアリングによって構築することができる。した
がって、一般に以下の説明では、記載する各機能は、ノ
ードまたは資源(たとえば、ディスク)制御装置のいず
れか該当する方に格納された個別のプログラム・モジュ
ールによって実現することができ、また、このような機
能のいくつかは、単一の多目的モジュールによって効果
的に実現することもできる。
〜40およびディスク制御装置のメモリに格納されたソ
フトウェア・モジュールによって実現することができ
る。このソフトウェア・モジュールは、本発明のディス
ク・フェンシングシステムを実現するための適当な要素
に関する以下の教示に基づいて、従来のソフトウェア・
エンジニアリングによって構築することができる。した
がって、一般に以下の説明では、記載する各機能は、ノ
ードまたは資源(たとえば、ディスク)制御装置のいず
れか該当する方に格納された個別のプログラム・モジュ
ールによって実現することができ、また、このような機
能のいくつかは、単一の多目的モジュールによって効果
的に実現することもできる。
【0023】図2は、本発明を実現するクラスタ化シス
テム70をより詳細に示している。システム70は、4
つのノード80〜110(ノードA〜D)と、少なくと
も1つの共用ディスク・システム120とを含む。ノー
ド80〜110は、従来のどのようなクラスタ・ノード
(ノード20〜40またはその他の適切なクラスタ・ノ
ードのように、ワークステーション、パーソナル・コン
ピュータ、その他のプロセッサベースのシステムなど)
にすることもでき、ディスク・システムは、図1に関連
して述べたように、ディスク・システム50を含む、適
切な共用ディスク・アセンブリにすることができる。
テム70をより詳細に示している。システム70は、4
つのノード80〜110(ノードA〜D)と、少なくと
も1つの共用ディスク・システム120とを含む。ノー
ド80〜110は、従来のどのようなクラスタ・ノード
(ノード20〜40またはその他の適切なクラスタ・ノ
ードのように、ワークステーション、パーソナル・コン
ピュータ、その他のプロセッサベースのシステムなど)
にすることもでき、ディスク・システムは、図1に関連
して述べたように、ディスク・システム50を含む、適
切な共用ディスク・アセンブリにすることができる。
【0024】各ノード80〜110は、少なくとも以下
のソフトウェア・モジュールを含む。すなわち、ディス
ク・マネージャ(DM)、任意の分散ロック・マネージ
ャ(DLM)、メンバシップ・モニタ(MM)である。
これらのモジュールは、大部分はクラスタ化コンピュー
ティングの分野に従来からあるものでよく、本発明の特
徴を実現するために必要な修正を加えたものにすること
ができる。4つのMMモジュールMMA〜MMDは、図
2に示すように互いに連絡した状態で接続されており、
ディスク・マネージャ・モジュールDMA〜DMDのそ
れぞれはディスク・システム120のディスク制御装置
(個別に図示せず)に結合されている。
のソフトウェア・モジュールを含む。すなわち、ディス
ク・マネージャ(DM)、任意の分散ロック・マネージ
ャ(DLM)、メンバシップ・モニタ(MM)である。
これらのモジュールは、大部分はクラスタ化コンピュー
ティングの分野に従来からあるものでよく、本発明の特
徴を実現するために必要な修正を加えたものにすること
ができる。4つのMMモジュールMMA〜MMDは、図
2に示すように互いに連絡した状態で接続されており、
ディスク・マネージャ・モジュールDMA〜DMDのそ
れぞれはディスク・システム120のディスク制御装置
(個別に図示せず)に結合されている。
【0025】従来のクラスタ化システムのノードは、上
記のVAX cluster Principlesに
記載されているような「メンバシップ・プロトコル」に
関与する。メンバシップ・プロトコルは、障害の認知に
よって所与のノードが脱落したときに新しい構成を形成
するノードの組について合意を確立するために使用する
ものである。メンバシップ・プロトコルを使用すると、
(a)システムの現行メンバであると見なされるノード
のサブセットと、(b)システムの現行状況を反映した
「エポック番号」(EN)とを含む出力が得られる。E
Nに代わるものとしては、所与の時間のシステムの状況
を明確に反映する時間値または状況値がある。本システ
ムでは、このようなメンバシップ・プロトコルを使用す
ることができる。
記のVAX cluster Principlesに
記載されているような「メンバシップ・プロトコル」に
関与する。メンバシップ・プロトコルは、障害の認知に
よって所与のノードが脱落したときに新しい構成を形成
するノードの組について合意を確立するために使用する
ものである。メンバシップ・プロトコルを使用すると、
(a)システムの現行メンバであると見なされるノード
のサブセットと、(b)システムの現行状況を反映した
「エポック番号」(EN)とを含む出力が得られる。E
Nに代わるものとしては、所与の時間のシステムの状況
を明確に反映する時間値または状況値がある。本システ
ムでは、このようなメンバシップ・プロトコルを使用す
ることができる。
【0026】メンバシップ・プロトコルにより、メンバ
シップ・セットが変わると、新しい固有のエポック番号
が必ず生成され、新しいメンバシップ・セットと関連付
けられる。たとえば、システムが(図2のように)4つ
のノードA〜Dからなるメンバシップで始まり、エポッ
ク番号100が現行構成に割り当てられている場合、こ
れは<A,B,C,D;#100>または<MEM=
A,B,C,D;EN=100>として表すことができ
る。ただし、MEMは「メンバシップ」を表す。これ
は、図3(a)に表されている構成であり、4つのノー
ドすべてが活動状態で、クラスタ内の関与ノードになっ
ている。
シップ・セットが変わると、新しい固有のエポック番号
が必ず生成され、新しいメンバシップ・セットと関連付
けられる。たとえば、システムが(図2のように)4つ
のノードA〜Dからなるメンバシップで始まり、エポッ
ク番号100が現行構成に割り当てられている場合、こ
れは<A,B,C,D;#100>または<MEM=
A,B,C,D;EN=100>として表すことができ
る。ただし、MEMは「メンバシップ」を表す。これ
は、図3(a)に表されている構成であり、4つのノー
ドすべてが活動状態で、クラスタ内の関与ノードになっ
ている。
【0027】ノードDがクラッシュするかまたは誤動作
しているものとして検出された場合、新しいメンバシッ
プは<MEM=A,B,C;EN=101>になる。す
なわち、ノードDがメンバシップ・リストから除去さ
れ、エポック番号が101に増分されて、Dがほんの最
近までメンバーだったというエポックが終了したことを
示す。新しいメンバシップに関与するすべてのノードは
新しいメンバシップ・リストと新しいエポック番号を格
納するが、障害が発生したノードD(および障害が発生
したその他のノード)は古いメンバシップ・リストと古
いエポック番号を維持する。これは図3(b)に示す通
りであり、ノードA〜Cのメモリはいずれも<MEM=
A,B,C;EN=101>を格納しているが、障害が
発生し分離されたノードDは<MEM=A,B,C,
D;EN=100>を格納している。
しているものとして検出された場合、新しいメンバシッ
プは<MEM=A,B,C;EN=101>になる。す
なわち、ノードDがメンバシップ・リストから除去さ
れ、エポック番号が101に増分されて、Dがほんの最
近までメンバーだったというエポックが終了したことを
示す。新しいメンバシップに関与するすべてのノードは
新しいメンバシップ・リストと新しいエポック番号を格
納するが、障害が発生したノードD(および障害が発生
したその他のノード)は古いメンバシップ・リストと古
いエポック番号を維持する。これは図3(b)に示す通
りであり、ノードA〜Cのメモリはいずれも<MEM=
A,B,C;EN=101>を格納しているが、障害が
発生し分離されたノードDは<MEM=A,B,C,
D;EN=100>を格納している。
【0028】本発明では、この事実、すなわち、現行情
報は活動状態のノードによって格納され、時代遅れの情
報は分離したノード(複数も可)によって格納されると
いうことを利用して、ディスク・フェンシングを達成す
る。これは、ノードと共用ディスク・システムの制御装
置(たとえば、ディスク制御装置の揮発性メモリ)によ
って格納された「制御キー」(CK)変数の値を使用す
ることによって行われる。
報は活動状態のノードによって格納され、時代遅れの情
報は分離したノード(複数も可)によって格納されると
いうことを利用して、ディスク・フェンシングを達成す
る。これは、ノードと共用ディスク・システムの制御装
置(たとえば、ディスク制御装置の揮発性メモリ)によ
って格納された「制御キー」(CK)変数の値を使用す
ることによって行われる。
【0029】図4は、ノード410〜440と、ディス
ク452〜456(システム450)と462〜466
(システム460)を含む2つの共用ディスク・システ
ム450〜460とを含む、4ノード・クラスタ化・シ
ステム400のブロック図である。ディスク・システム
450および460はそれらとクラスタ相互接続490
との間に接続されたそれぞれ用のディスク制御装置47
0および480によって制御される。この相互接続はデ
ィスク制御装置とノードとの間に設けられている。
ク452〜456(システム450)と462〜466
(システム460)を含む2つの共用ディスク・システ
ム450〜460とを含む、4ノード・クラスタ化・シ
ステム400のブロック図である。ディスク・システム
450および460はそれらとクラスタ相互接続490
との間に接続されたそれぞれ用のディスク制御装置47
0および480によって制御される。この相互接続はデ
ィスク制御装置とノードとの間に設けられている。
【0030】ノード410〜440は、前述のようにプ
ロセッサベースのシステムにすることができ、ディスク
制御装置も前述の通りであるので、ノード、共用ディス
ク・システム(制御装置あり)、クラスタ相互接続は、
当技術分野で従来のものにここに記載する特徴を追加し
たものにすることができる。
ロセッサベースのシステムにすることができ、ディスク
制御装置も前述の通りであるので、ノード、共用ディス
ク・システム(制御装置あり)、クラスタ相互接続は、
当技術分野で従来のものにここに記載する特徴を追加し
たものにすることができる。
【0031】各ノードは、「ノード・キー」(NK)変
数とメンバシップ情報の両方を格納する。NK値は、方
法1〜3として以下に記載するいくつかの代替機能の1
つによって、現行メンバシップから計算される。図4
は、いずれかのノードで障害が発生し、そのノードがメ
ンバシップ・セットから除外された場合に、そのノード
が残りのノードとは異なるCK番号を有する可能性があ
ることを考慮に入れた汎用状況を示している。
数とメンバシップ情報の両方を格納する。NK値は、方
法1〜3として以下に記載するいくつかの代替機能の1
つによって、現行メンバシップから計算される。図4
は、いずれかのノードで障害が発生し、そのノードがメ
ンバシップ・セットから除外された場合に、そのノード
が残りのノードとは異なるCK番号を有する可能性があ
ることを考慮に入れた汎用状況を示している。
【0032】しかし、原則として、すべてのノードが活
動状態の場合、それぞれの格納NK値とディスク制御装
置で格納されたCK値はすべて等しくなる。
動状態の場合、それぞれの格納NK値とディスク制御装
置で格納されたCK値はすべて等しくなる。
【0033】ノード・キー値および制御キー値を使用す
るノード/ディスク制御装置の動作 ディスク制御装置にアクセスするためのノードによる各
読み書き要求はNK値を含む。すなわち、ノードが共用
ディスクへの読取りまたは書込みアクセスを要求する場
合、必ずその要求の一部としてNK値が渡される。した
がって、このように読み書き要求にNK値を含めること
がノードと制御装置(複数も可)との間のプロトコルの
一部を構成する。
るノード/ディスク制御装置の動作 ディスク制御装置にアクセスするためのノードによる各
読み書き要求はNK値を含む。すなわち、ノードが共用
ディスクへの読取りまたは書込みアクセスを要求する場
合、必ずその要求の一部としてNK値が渡される。した
がって、このように読み書き要求にNK値を含めること
がノードと制御装置(複数も可)との間のプロトコルの
一部を構成する。
【0034】ノードとディスク制御装置との間のプロト
コルは、制御装置上でCK値を操作する2つの動作も含
む。すなわち、現行CK値を読み取るためのGetKe
yと、CKの値を新しい値に設定するSetKeyであ
る。GetKeyでは、NK値、CK値、EN値を供給
する必要はないが、SetKeyプロトコルでは、NK
値を入力として使用し、さらに制御装置が採用すべき新
しいCK値「new.CK」を供給する。
コルは、制御装置上でCK値を操作する2つの動作も含
む。すなわち、現行CK値を読み取るためのGetKe
yと、CKの値を新しい値に設定するSetKeyであ
る。GetKeyでは、NK値、CK値、EN値を供給
する必要はないが、SetKeyプロトコルでは、NK
値を入力として使用し、さらに制御装置が採用すべき新
しいCK値「new.CK」を供給する。
【0035】上記の4通りの要求とそれぞれの入出力引
数は、次のように表し、まとめることができる。 Read(NK,...) Write(NK,...) GetKey(...) SetKey(NK,new.CK)
数は、次のように表し、まとめることができる。 Read(NK,...) Write(NK,...) GetKey(...) SetKey(NK,new.CK)
【0036】GetKey(...)動作は、CKの現
行値を返す。この動作が制御装置によって拒否されるこ
とはない。
行値を返す。この動作が制御装置によって拒否されるこ
とはない。
【0037】SetKey(NK,new.CK)動作
は、まず、要求のNKフィールドが制御装置内の現行C
K値と一致するかどうかを検査する。一致する場合、制
御装置内のCK値は(SetKey要求の)「new.
CK」フィールド内の値に等しくなるように設定され
る。要求側ノードからのNKが制御装置に格納された現
行CK値と一致しない場合、この動作が拒否され、要求
側ノードにエラー表示が送られる。
は、まず、要求のNKフィールドが制御装置内の現行C
K値と一致するかどうかを検査する。一致する場合、制
御装置内のCK値は(SetKey要求の)「new.
CK」フィールド内の値に等しくなるように設定され
る。要求側ノードからのNKが制御装置に格納された現
行CK値と一致しない場合、この動作が拒否され、要求
側ノードにエラー表示が送られる。
【0038】パケット内のNKフィールドがCKの現行
値と一致する場合のみディスクにアクセスするために、
Read(NK,...)動作とWrite(N
K,...)動作が許可される。それ以外の場合、この
動作は制御装置によって拒否され、要求側ノードにエラ
ー表示が送られる。
値と一致する場合のみディスクにアクセスするために、
Read(NK,...)動作とWrite(N
K,...)動作が許可される。それ以外の場合、この
動作は制御装置によって拒否され、要求側ノードにエラ
ー表示が送られる。
【0039】制御装置を始動したときに、CK値が0に
初期設定されることが好ましい。
初期設定されることが好ましい。
【0040】ノードの障害時の手順 障害が発生した1つまたは複数のノードがシステムから
除去されるためにメンバシップが変わる場合、残りのノ
ードは、(後述するように)新しいメンバシップ情報か
らCKの新しい値を計算する。ノードの1つは、Set
Key(NK,new.CK)動作を使用してディスク
制御装置に新しいCK値を連絡する。新しいCK値が設
定された後、新しい構成のすべてのメンバ(活動)ノー
ドがそれぞれのNK値をこの新しいCK値に設定する。
除去されるためにメンバシップが変わる場合、残りのノ
ードは、(後述するように)新しいメンバシップ情報か
らCKの新しい値を計算する。ノードの1つは、Set
Key(NK,new.CK)動作を使用してディスク
制御装置に新しいCK値を連絡する。新しいCK値が設
定された後、新しい構成のすべてのメンバ(活動)ノー
ドがそれぞれのNK値をこの新しいCK値に設定する。
【0041】ノードが新しい構成の一部ではない(たと
えば、障害が発生したノード)場合、そのNKを変更す
ることができない。このようなノードがディスクの読取
りまたは書込みを試みると、制御装置は、新しいCK値
と古いNK値との不一致を検出する。
えば、障害が発生したノード)場合、そのNKを変更す
ることができない。このようなノードがディスクの読取
りまたは書込みを試みると、制御装置は、新しいCK値
と古いNK値との不一致を検出する。
【0042】ノードを始動すると、そのNKが0値に初
期設定される。
期設定される。
【0043】制御キー(CK)の値を計算するための手
順 制御キーCKはいくつかの方法で設定することができ
る。選択した計算は、少なくとも制御装置側で格納また
は搭載されるソフトウェアまたはファームウェアに反映
される。一般に、CK値の計算は、次のようなメンバシ
ップ情報を考慮に入れる必要がある。 CK=func(MEM,EN) 式中、MEMは活動状態のメンバシップ・リストに関す
る情報を含み、ENはエポック番号である。
順 制御キーCKはいくつかの方法で設定することができ
る。選択した計算は、少なくとも制御装置側で格納また
は搭載されるソフトウェアまたはファームウェアに反映
される。一般に、CK値の計算は、次のようなメンバシ
ップ情報を考慮に入れる必要がある。 CK=func(MEM,EN) 式中、MEMは活動状態のメンバシップ・リストに関す
る情報を含み、ENはエポック番号である。
【0044】方法1.CK値が新しいメンバシップ・セ
ット(複数ノードの符号化セット)のリストとエポック
番号の両方を明示的に含むことが理想的であると思われ
る。しかし、ノードの数が大きい場合、これは不要であ
ると思われる。というのは、CKの値が各ノードの情報
の少なくとも1ビット分を含む必要があるはずだからで
ある。すなわち、4ノード構成では、少なくとも4ビッ
ト・シーケンスBBBB(ただし、B=0または1)を
使用する必要があり、各ビットBは、所与の関連ノード
が活動状態か非活動状態(障害が発生した状態)かを示
すはずである。さらに、エポック番号ENのためにいく
つかのビットが必要であり、そのため、変数CKの全長
が非常に長くなる可能性がある。
ット(複数ノードの符号化セット)のリストとエポック
番号の両方を明示的に含むことが理想的であると思われ
る。しかし、ノードの数が大きい場合、これは不要であ
ると思われる。というのは、CKの値が各ノードの情報
の少なくとも1ビット分を含む必要があるはずだからで
ある。すなわち、4ノード構成では、少なくとも4ビッ
ト・シーケンスBBBB(ただし、B=0または1)を
使用する必要があり、各ビットBは、所与の関連ノード
が活動状態か非活動状態(障害が発生した状態)かを示
すはずである。さらに、エポック番号ENのためにいく
つかのビットが必要であり、そのため、変数CKの全長
が非常に長くなる可能性がある。
【0045】以下の方法2と方法3は、CK値を計算す
るときのメンバシップ情報を圧縮するために設計された
ものである。
るときのメンバシップ情報を圧縮するために設計された
ものである。
【0046】方法2では、エポック番号ENのみを使用
し、メンバシップ・リストMEMを無視する。例えば、
CK値はエポック番号ENと等しくなるように設定され
る。
し、メンバシップ・リストMEMを無視する。例えば、
CK値はエポック番号ENと等しくなるように設定され
る。
【0047】メンバシップ・プロトコルが(たとえば、
多数決により)ネットワークの区分化を防止する場合、
方法2が最も実用的である。ハードウェア障害の場合な
ど、メンバシップの区分化が許される場合、クラスタの
実際のメンバシップを反映せずにCK値を使用すると、
区分のいずれかの側のノード間で競合が発生する可能性
がある。
多数決により)ネットワークの区分化を防止する場合、
方法2が最も実用的である。ハードウェア障害の場合な
ど、メンバシップの区分化が許される場合、クラスタの
実際のメンバシップを反映せずにCK値を使用すると、
区分のいずれかの側のノード間で競合が発生する可能性
がある。
【0048】方法3は、区分に関する方法2の課題を解
決するものである。この方法では、新しい構成の最高ノ
ードのIDによってCK値が符号化される。たとえば、
CK値は、ノードID(最高ノードに割り当てられる番
号)とエポック番号の連結にすることができる。この方
法は、メンバシップ・モニタ自体がネットワークの区分
化を防止しない場合でも安全なディスク・フェンシング
を可能にする。というのは、所与の区分内の最高ノード
の番号が別の区分のそれとは異なるからであり、このた
め、各種サブクラスタ用のENが偶然同じになった場合
でも、各種区分内のノードからの要求間で競合が発生す
ることがない。
決するものである。この方法では、新しい構成の最高ノ
ードのIDによってCK値が符号化される。たとえば、
CK値は、ノードID(最高ノードに割り当てられる番
号)とエポック番号の連結にすることができる。この方
法は、メンバシップ・モニタ自体がネットワークの区分
化を防止しない場合でも安全なディスク・フェンシング
を可能にする。というのは、所与の区分内の最高ノード
の番号が別の区分のそれとは異なるからであり、このた
め、各種サブクラスタ用のENが偶然同じになった場合
でも、各種区分内のノードからの要求間で競合が発生す
ることがない。
【0049】上記の方法のうち、ノードの数が少ない場
合は方法1が好ましい。というのは、クラスタ化システ
ムの状態に関する最も明示的な情報が含まれるからであ
る。しかし、ノードの数が多い場合は方法3が好ましく
なる。システムがネットワークの区分化を防止する場合
は、方法2が適当である。
合は方法1が好ましい。というのは、クラスタ化システ
ムの状態に関する最も明示的な情報が含まれるからであ
る。しかし、ノードの数が多い場合は方法3が好ましく
なる。システムがネットワークの区分化を防止する場合
は、方法2が適当である。
【0050】本発明の方法 前記の構造および機能ならびにそれらを実現するための
適切なモジュールの場合、本発明のディスク・フェンシ
ングシステムは、図5の流れ図に示す方法510に従う
ことによって実施される。ボックス(ステップ)520
では、クラスタ化システムのメンバシップが従来通りに
決定され、メンバシップ・セット(またはリスト)の値
がMEMの値として格納される。エポック番号EN(ま
たはその他の固有の状態ID)はボックス530で生成
される。この2つの機能はメンバシップ・モニタ(M
M)モジュールによって実行されるが、このモジュール
は、どのノードがシステム内に存在するかを判定し、E
Nの値をその構成に割り当てるために、メンバ・ノード
間で実現される。このようにMMモジュールを使用する
システムの一例としては、出願人であるSun Mic
rosystems,Inc.のSparcClust
er PDB(パラレル・データベース)がある。
適切なモジュールの場合、本発明のディスク・フェンシ
ングシステムは、図5の流れ図に示す方法510に従う
ことによって実施される。ボックス(ステップ)520
では、クラスタ化システムのメンバシップが従来通りに
決定され、メンバシップ・セット(またはリスト)の値
がMEMの値として格納される。エポック番号EN(ま
たはその他の固有の状態ID)はボックス530で生成
される。この2つの機能はメンバシップ・モニタ(M
M)モジュールによって実行されるが、このモジュール
は、どのノードがシステム内に存在するかを判定し、E
Nの値をその構成に割り当てるために、メンバ・ノード
間で実現される。このようにMMモジュールを使用する
システムの一例としては、出願人であるSun Mic
rosystems,Inc.のSparcClust
er PDB(パラレル・データベース)がある。
【0051】現行システムでは、所与のメッセージまた
はデータ・パケットが古くなっているかどうかをノード
が判定できるように、エポック番号が使用される。すな
わち、エポック番号が時代遅れになっている場合、メッ
セージは、そのクラスタの以前の別の構成中に作成され
たものであると認識される。たとえば、T.Mann他
の「An Algorithm for Data R
eplication」という1989年6月のDEC
SRCリサーチ・レポートを参照されたい。これは参
照により本明細書に組み込まれるものであり、同書に
は、分散システム内でファイル複製にスタンプする際に
使用するものとしてエポック番号が記載されている。
はデータ・パケットが古くなっているかどうかをノード
が判定できるように、エポック番号が使用される。すな
わち、エポック番号が時代遅れになっている場合、メッ
セージは、そのクラスタの以前の別の構成中に作成され
たものであると認識される。たとえば、T.Mann他
の「An Algorithm for Data R
eplication」という1989年6月のDEC
SRCリサーチ・レポートを参照されたい。これは参
照により本明細書に組み込まれるものであり、同書に
は、分散システム内でファイル複製にスタンプする際に
使用するものとしてエポック番号が記載されている。
【0052】本システムでは、まったく新しいやり方で
エポック番号を使用するが、これはエポック番号の従来
システムの使い方とは無関係である。Sun Micr
osystems,Inc.のシステムにおけるクラス
タ・メンバシップ・モニタの好ましい使い方の例につい
ては、本明細書に付属の付録Aを参照されたい。その場
合の再構成シーケンス番号はエポック番号と類似のもの
である。したがって、本発明により積年の問題が解決さ
れるという明確な利点がもたらされる。すなわち、新し
い出力を生成してプロセスを制御するのに新しい手順を
必要とせずに、障害が発生したノードを迅速かつ確実に
クラスタ・メンバシップから除去し、そのノードが共用
ディスクにアクセスし続けるのを防止する。また、すで
に生成されたタイプの情報を本発明によるモジュールと
ともに使用すると、所望の機能を実施することができ、
その結果、信頼性の高い高可用性のシステムが得られ
る。
エポック番号を使用するが、これはエポック番号の従来
システムの使い方とは無関係である。Sun Micr
osystems,Inc.のシステムにおけるクラス
タ・メンバシップ・モニタの好ましい使い方の例につい
ては、本明細書に付属の付録Aを参照されたい。その場
合の再構成シーケンス番号はエポック番号と類似のもの
である。したがって、本発明により積年の問題が解決さ
れるという明確な利点がもたらされる。すなわち、新し
い出力を生成してプロセスを制御するのに新しい手順を
必要とせずに、障害が発生したノードを迅速かつ確実に
クラスタ・メンバシップから除去し、そのノードが共用
ディスクにアクセスし続けるのを防止する。また、すで
に生成されたタイプの情報を本発明によるモジュールと
ともに使用すると、所望の機能を実施することができ、
その結果、信頼性の高い高可用性のシステムが得られ
る。
【0053】ボックス540に移行すると、上記の方法
1〜3のいずれか1つまたは他の適当な方法により、ノ
ード・キーNK(活動ノード用)と制御キーCKが生成
される。
1〜3のいずれか1つまたは他の適当な方法により、ノ
ード・キーNK(活動ノード用)と制御キーCKが生成
される。
【0054】ボックス550では、ノードが使用不能に
なっているかどうかが判定される。このステップはほぼ
連続して(または、少なくとも比較的高い頻度、たとえ
ば、入出力要求の頻度より高い頻度で)実行される。た
とえば、ほぼいつでも、所与のノードは、他のノードが
要求に応答するための許容時間を超えていることを判定
し、後者のノードで障害が発生しているのでそれをクラ
スタのメンバシップ・セットから除去する必要があると
決定することができる。したがって、ボックス550の
ステップは、この方法の実行中のほぼどこでも行うこと
ができる。
なっているかどうかが判定される。このステップはほぼ
連続して(または、少なくとも比較的高い頻度、たとえ
ば、入出力要求の頻度より高い頻度で)実行される。た
とえば、ほぼいつでも、所与のノードは、他のノードが
要求に応答するための許容時間を超えていることを判定
し、後者のノードで障害が発生しているのでそれをクラ
スタのメンバシップ・セットから除去する必要があると
決定することができる。したがって、ボックス550の
ステップは、この方法の実行中のほぼどこでも行うこと
ができる。
【0055】ボックス560は、クラスタに接続された
ノードの1つが入出力要求(ディスク・アクセス要求な
ど)を生成するという事象を表している。そのような場
合、ボックス570では、要求側ノードからのNKの現
行値が入出力アクセス要求とともに送られ、ボックス5
80では、これが制御装置によって格納されたCKの値
と一致するかどうかが判定される。一致しない場合、方
法はステップ600に移行し、そこで要求が拒否され
(アクションなしで単に制御装置によって落とされるこ
とを意味する場合もある)、方法はボックス520に戻
る。
ノードの1つが入出力要求(ディスク・アクセス要求な
ど)を生成するという事象を表している。そのような場
合、ボックス570では、要求側ノードからのNKの現
行値が入出力アクセス要求とともに送られ、ボックス5
80では、これが制御装置によって格納されたCKの値
と一致するかどうかが判定される。一致しない場合、方
法はステップ600に移行し、そこで要求が拒否され
(アクションなしで単に制御装置によって落とされるこ
とを意味する場合もある)、方法はボックス520に戻
る。
【0056】ノードのNK値が制御装置のCK値と一致
する場合、ボックス590で要求が実行される。
する場合、ボックス590で要求が実行される。
【0057】あるノードで障害が発生した場合、方法は
ボックス550からボックス520に戻り、そこで障害
が発生したノードが従来通りメンバシップ・セットから
除去され、その結果、MEMの値がこれを反映するよう
に変化する。この時点で、新しいエポック番号ENが生
成され(ボックス530)、格納されて、新たに改訂し
たメンバシップ・リストを反映する。さらに、ボックス
540では、新しい制御キー値CKが生成され、活動ノ
ードのNK値が新しいCK値の値を獲得し、方法はもう
一度ボックス550〜560に移行してさらにディスク
・アクセスが行われる。
ボックス550からボックス520に戻り、そこで障害
が発生したノードが従来通りメンバシップ・セットから
除去され、その結果、MEMの値がこれを反映するよう
に変化する。この時点で、新しいエポック番号ENが生
成され(ボックス530)、格納されて、新たに改訂し
たメンバシップ・リストを反映する。さらに、ボックス
540では、新しい制御キー値CKが生成され、活動ノ
ードのNK値が新しいCK値の値を獲得し、方法はもう
一度ボックス550〜560に移行してさらにディスク
・アクセスが行われる。
【0058】上記により、クラスタ化システム内の所与
のノードの障害の結果、クラスタ・メンバシップからそ
のノードが除去されるとともに、重要なことに、障害が
発生したノードが共用ディスクに対してさらにディスク
・アクセスするのを確実に防止することが分かるだろ
う。障害が発生したノードを共用ディスク・アクセスか
ら無効化することは、障害が発生したノードのハードウ
ェアまたはソフトウェアのいずれにも依存せずに適切に
機能するが、むしろ、障害が発生したノードとはまった
く無関係である。
のノードの障害の結果、クラスタ・メンバシップからそ
のノードが除去されるとともに、重要なことに、障害が
発生したノードが共用ディスクに対してさらにディスク
・アクセスするのを確実に防止することが分かるだろ
う。障害が発生したノードを共用ディスク・アクセスか
ら無効化することは、障害が発生したノードのハードウ
ェアまたはソフトウェアのいずれにも依存せずに適切に
機能するが、むしろ、障害が発生したノードとはまった
く無関係である。
【0059】CK値はディスク制御装置に格納され、障
害が発生したノードが共用ディスク・アクセスを獲得す
るのを防止するためにアクセス制御モジュールによって
使用されるので、本発明のディスク・フェンシングシス
テムは、ディスク管理ソフトウェア自体と同程度に信頼
できるものである。したがって、クラスタ化システム
は、障害が発生したノードを迅速かつ確実に除去するこ
とができ、その共用ディスク上に格納されているデータ
の保全性を損なうという危険は最小限になる。
害が発生したノードが共用ディスク・アクセスを獲得す
るのを防止するためにアクセス制御モジュールによって
使用されるので、本発明のディスク・フェンシングシス
テムは、ディスク管理ソフトウェア自体と同程度に信頼
できるものである。したがって、クラスタ化システム
は、障害が発生したノードを迅速かつ確実に除去するこ
とができ、その共用ディスク上に格納されているデータ
の保全性を損なうという危険は最小限になる。
【0060】本発明には、従来のシステムに比べ、その
端末間特性によってそれがディスク相互接続ネットワー
クまたはバス構成とは無関係になるという重要な利点が
ある。したがって、エポック番号またはその他の固有の
状況値を決定する際にノード構成だけが考慮される。す
なわち、いかなる低レベル機構(転送機構など)とは無
関係である。
端末間特性によってそれがディスク相互接続ネットワー
クまたはバス構成とは無関係になるという重要な利点が
ある。したがって、エポック番号またはその他の固有の
状況値を決定する際にノード構成だけが考慮される。す
なわち、いかなる低レベル機構(転送機構など)とは無
関係である。
【0061】本発明のシステムは、マルチプロセッサ・
システム内の複数のノードによってアクセスされる他の
周辺装置にも適用可能であることに留意されたい。たと
えば、上記の共用ディスクの代わりに、他の入出力装置
またはメモリ装置を使用することもできる。また、ディ
スク制御装置470および480に対応する制御装置が
使用され、分離動作を実行するためのソフトウェア・モ
ジュールを装備しているはずである。
システム内の複数のノードによってアクセスされる他の
周辺装置にも適用可能であることに留意されたい。たと
えば、上記の共用ディスクの代わりに、他の入出力装置
またはメモリ装置を使用することもできる。また、ディ
スク制御装置470および480に対応する制御装置が
使用され、分離動作を実行するためのソフトウェア・モ
ジュールを装備しているはずである。
【0062】さらに、クラスタのメンバであるノード、
すなわち、プロセッサベースのシステムは、様々なプロ
セッサベースの装置のいずれでもよく、特に、パーソナ
ル・コンピュータやワークステーションにする必要はな
いが、共用ディスクなどの周辺装置にアクセス要求を出
すことができる他のプロセッサ駆動装置にすることもで
きる。
すなわち、プロセッサベースのシステムは、様々なプロ
セッサベースの装置のいずれでもよく、特に、パーソナ
ル・コンピュータやワークステーションにする必要はな
いが、共用ディスクなどの周辺装置にアクセス要求を出
すことができる他のプロセッサ駆動装置にすることもで
きる。
【図1】 1組の共用ディスクへのアクセスが設けられ
た複数のノードを示す最上位ブロック図である。
た複数のノードを示す最上位ブロック図である。
【図2】 図1のそれと同様のシステムのより詳細なブ
ロック図であるが、ディスク・フェンシングを達成する
ためにやりとりする本発明のシステムの諸要素を示す図
である。
ロック図であるが、ディスク・フェンシングを達成する
ためにやりとりする本発明のシステムの諸要素を示す図
である。
【図3】 ノードDが使用不能の場合に再構成の前後の
図2または図3の各ノードの構造の諸要素を示す図であ
る。
図2または図3の各ノードの構造の諸要素を示す図であ
る。
【図4】 ノードが複数組の共用ディスクにアクセスす
る場合の本発明のシステムのブロック図である。
る場合の本発明のシステムのブロック図である。
【図5】 本発明の方法を示す流れ図である。
10 システム 20 ノード 30 ノード 40 ノード 50 共用ディスク 60 ディスク制御装置
Claims (2)
- 【請求項1】 マルチノード・システム内のプロセッサ
ベースのノードによる共用周辺装置へのアクセスを防止
するための方法において、 (1)マルチノード・システムの第1の構成を表す第1
の固有の値を周辺装置側で格納するステップと、 (2)マルチノード・システムの第2の構成を表す第2
の固有の値を含むアクセス要求を、ノードから周辺装置
へ送るステップと、 (3)前記第1の値と第2の値が同一であるかどうかを
判定するステップと、 (4)第1および第2の値が同一である場合、周辺装置
側でアクセス要求を実行するステップとを含むことを特
徴とする方法。 - 【請求項2】 周辺資源が制御装置メモリを含む資源制
御装置によってマルチノード・システムに結合されてお
り、そのシステムの複数のプロセッサベースのノードの
それぞれが諸機能を実行するように構成されたプログラ
ム・モジュールを格納するノード・メモリに結合された
プロセッサを含むときに、マルチノード・システム内の
ノードによる少なくとも1つの共用周辺資源へのアクセ
スを防止する装置において、 システムのメンバシップが変更された時期を少なくとも
含む所定の時期にマルチノード・システム上の前記資源
を含むノードのメンバシップ・リストを判定するように
構成されたメンバシップ・モニタ・モジュールと、 資源が障害状態になったときを判定するように構成さ
れ、資源の障害を前記メンバシップ・モニタに連絡し
て、新しいメンバシップ・リストを生成するようにメン
バシップ・モニタに指示する資源マネージャ・モジュー
ルと、 前記新しいメンバシップ・リストに基づいて固有の値を
生成し、マルチノード・システム上の各ノード側で前記
固有の値をローカルに格納するように構成された構成値
モジュールと、 前記制御装置メモリ側で格納され、前記要求側ノードで
ローカルに格納された固有の値が前記資源制御装置で格
納された固有の値と等しくないときに少なくとも1つの
前記要求側ノードによる前記資源へのアクセス要求をブ
ロックするように構成されたアクセス制御モジュールと
を含むことを特徴とする装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/552316 | 1995-11-02 | ||
| US08/552,316 US5996075A (en) | 1995-11-02 | 1995-11-02 | Method and apparatus for reliable disk fencing in a multicomputer system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09237226A true JPH09237226A (ja) | 1997-09-09 |
| JPH09237226A5 JPH09237226A5 (ja) | 2004-11-04 |
Family
ID=24204832
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8307544A Pending JPH09237226A (ja) | 1995-11-02 | 1996-11-05 | マルチコンピュータ・システムにおける信頼性の高いディスク・フェンシングのための方法および装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5996075A (ja) |
| EP (2) | EP0772126A2 (ja) |
| JP (1) | JPH09237226A (ja) |
| DE (1) | DE69638312D1 (ja) |
| WO (1) | WO1997016744A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014170394A (ja) * | 2013-03-04 | 2014-09-18 | Nec Corp | クラスタシステム |
| JPWO2013108351A1 (ja) * | 2012-01-16 | 2015-05-11 | 株式会社日立製作所 | 計算機システム及び論理記憶領域管理方法 |
| JP2020529668A (ja) * | 2017-08-02 | 2020-10-08 | セールスフォース ドット コム インコーポレイティッド | 分散クラスタシステムにおけるノードのフェンシングアウト |
Families Citing this family (130)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH096706A (ja) * | 1995-06-22 | 1997-01-10 | Hitachi Ltd | 疎結合計算機システム |
| US7168088B1 (en) * | 1995-11-02 | 2007-01-23 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
| US6421704B1 (en) * | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
| US6272559B1 (en) * | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
| US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
| US6185611B1 (en) * | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
| US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
| US6466947B2 (en) * | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
| US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
| US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
| US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
| 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 |
| US6021508A (en) * | 1997-07-11 | 2000-02-01 | International Business Machines Corporation | Parallel file system and method for independent metadata loggin |
| US6092213A (en) * | 1997-09-30 | 2000-07-18 | Tandem Computers Incorporated | Fault tolerant method of maintaining and distributing configuration information in a distributed processing system |
| US6957427B1 (en) | 1997-10-15 | 2005-10-18 | Sun Microsystems, Inc. | Remote object activation in a distributed system |
| US6192483B1 (en) * | 1997-10-21 | 2001-02-20 | Sun Microsystems, Inc. | Data integrity and availability 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 |
| US6092220A (en) * | 1997-11-17 | 2000-07-18 | International Business Machines Corporation | Method and apparatus for ordered reliable multicast with asymmetric safety in a multiprocessing system |
| US7930278B2 (en) * | 1998-02-13 | 2011-04-19 | Oracle International Corporation | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
| AU3297199A (en) * | 1998-02-26 | 1999-09-15 | Sun Microsystems, Inc. | Dynamic lookup service in a distributed system |
| EP1057272A2 (en) * | 1998-02-26 | 2000-12-06 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
| US6654881B2 (en) * | 1998-06-12 | 2003-11-25 | Microsoft Corporation | Logical volume mount manager |
| US6336187B1 (en) * | 1998-06-12 | 2002-01-01 | International Business Machines Corp. | Storage system with data-dependent security |
| US6212595B1 (en) * | 1998-07-29 | 2001-04-03 | International Business Machines Corporation | Computer program product for fencing a member of a group of processes in a distributed processing environment |
| US6192443B1 (en) * | 1998-07-29 | 2001-02-20 | International Business Machines Corporation | Apparatus for fencing a member of a group of processes in a distributed processing environment |
| US6205510B1 (en) * | 1998-07-29 | 2001-03-20 | International Business Machines Corporation | Method for fencing a member of a group of processes in a distributed processing environment |
| US7392945B1 (en) | 1998-09-11 | 2008-07-01 | Lv Partners, L.P. | Portable scanner for enabling automatic commerce transactions |
| US7386600B1 (en) | 1998-09-11 | 2008-06-10 | Lv Partners, L.P. | Launching a web site using a personal device |
| US7370114B1 (en) | 1998-09-11 | 2008-05-06 | Lv Partners, L.P. | Software downloading using a television broadcast channel |
| US6745234B1 (en) | 1998-09-11 | 2004-06-01 | Digital:Convergence Corporation | Method and apparatus for accessing a remote location by scanning an optical code |
| US6636896B1 (en) | 1998-09-11 | 2003-10-21 | Lv Partners, L.P. | Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet |
| US7284066B1 (en) | 1998-09-11 | 2007-10-16 | Lv Partners, Lp | Method and apparatus for matching a user's use profile in commerce with a broadcast |
| US7536478B2 (en) | 1998-09-11 | 2009-05-19 | Rpx-Lv Acquisition Llc | Method and apparatus for opening and launching a web browser in response to an audible signal |
| US7440993B1 (en) | 1998-09-11 | 2008-10-21 | Lv Partners, L.P. | Method and apparatus for launching a web browser in response to scanning of product information |
| US7159037B1 (en) | 1998-09-11 | 2007-01-02 | Lv Partners, Lp | Method and apparatus for utilizing an existing product code to issue a match to a predetermined location on a global network |
| US7379901B1 (en) | 1998-09-11 | 2008-05-27 | Lv Partners, L.P. | Accessing a vendor web site using personal account information retrieved from a credit card company web site |
| US6823388B1 (en) | 1998-09-11 | 2004-11-23 | L.V. Parners, L.P. | Method and apparatus for accessing a remote location with an optical reader having a programmable memory system |
| US7191247B1 (en) | 1998-09-11 | 2007-03-13 | Lv Partners, Lp | Method for connecting a wireless device to a remote location on a network |
| US6757715B1 (en) * | 1998-09-11 | 2004-06-29 | L.V. Partners, L.P. | Bar code scanner and software interface interlock for performing encrypted handshaking and for disabling the scanner in case of handshaking operation failure |
| US6868433B1 (en) | 1998-09-11 | 2005-03-15 | L.V. Partners, L.P. | Input device having positional and scanning capabilities |
| US6704864B1 (en) | 1999-08-19 | 2004-03-09 | L.V. Partners, L.P. | Automatic configuration of equipment software |
| US7065540B2 (en) | 1998-11-24 | 2006-06-20 | Oracle International Corporation | Managing checkpoint queues in a multiple node system |
| 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 |
| US6442713B1 (en) * | 1999-03-30 | 2002-08-27 | International Business Machines Corporation | Cluster node distress signal |
| US6587860B1 (en) * | 1999-03-31 | 2003-07-01 | International Business Machines Corporation | Apparatus and method for tracking access to data resources in a cluster environment |
| US7756830B1 (en) | 1999-03-31 | 2010-07-13 | International Business Machines Corporation | Error detection protocol |
| US6901518B1 (en) | 1999-04-08 | 2005-05-31 | Sun Microsystems, Inc. | Method and system for establishing trust in downloaded proxy code |
| 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 |
| US6871222B1 (en) * | 1999-05-28 | 2005-03-22 | Oracle International Corporation | Quorumless cluster using disk-based messaging |
| US6845393B1 (en) | 1999-06-14 | 2005-01-18 | Sun Microsystems, Inc. | Lookup discovery service in a distributed system having a plurality of lookup services each with associated characteristics and services |
| US6754661B1 (en) * | 1999-07-13 | 2004-06-22 | Microsoft Corporation | Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems |
| US6553389B1 (en) * | 1999-09-13 | 2003-04-22 | Hewlett-Packard Company | Resource availability determination mechanism for distributed data storage system |
| US6553387B1 (en) * | 1999-11-29 | 2003-04-22 | Microsoft Corporation | Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers |
| US6684231B1 (en) * | 1999-11-29 | 2004-01-27 | Microsoft Corporation | Migration of friendly volumes |
| EP1107119A3 (en) * | 1999-12-02 | 2005-07-20 | Sun Microsystems, Inc. | Extending cluster membership and quorum determinations to intelligent storage systems |
| US6487680B1 (en) * | 1999-12-03 | 2002-11-26 | International Business Machines Corporation | System, apparatus, and method for managing a data storage system in an n-way active controller configuration |
| US6970941B1 (en) * | 1999-12-10 | 2005-11-29 | Sun Microsystems, Inc. | System and method for separating addresses from the delivery scheme in a virtual private network |
| 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 |
| US6742034B1 (en) | 1999-12-16 | 2004-05-25 | Dell Products L.P. | Method for storage device masking in a storage area network and storage controller and storage subsystem for using such a method |
| US6546403B1 (en) * | 2000-01-19 | 2003-04-08 | International Business Machines Corporation | Mechanism to resubmit queries in a parallel database system |
| US6460113B1 (en) | 2000-01-25 | 2002-10-01 | Dell Products L.P. | System and method for performing backup operations using a fibre channel fabric in a multi-computer environment |
| US6654902B1 (en) * | 2000-04-11 | 2003-11-25 | Hewlett-Packard Development Company, L.P. | Persistent reservation IO barriers |
| US6775703B1 (en) * | 2000-05-01 | 2004-08-10 | International Business Machines Corporation | Lease based safety protocol for distributed system with multiple networks |
| US7243356B1 (en) * | 2000-05-09 | 2007-07-10 | Sun Microsystems, Inc. | Remote method invocation with secure messaging in a distributed computing environment |
| US6915391B2 (en) * | 2000-12-15 | 2005-07-05 | International Business Machines Corporation | Support for single-node quorum in a two-node nodeset for a shared disk parallel file system |
| US7296275B2 (en) | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
| US7792977B1 (en) * | 2001-02-28 | 2010-09-07 | Oracle International Corporation | Method for fencing shared resources from cluster nodes |
| US6952766B2 (en) * | 2001-03-15 | 2005-10-04 | International Business Machines Corporation | Automated node restart in clustered computer system |
| US6918051B2 (en) * | 2001-04-06 | 2005-07-12 | International Business Machines Corporation | Node shutdown in clustered computer system |
| US6889253B2 (en) | 2001-04-30 | 2005-05-03 | International Business Machines Corporation | Cluster resource action in clustered computer system incorporation prepare operation |
| US6708175B2 (en) * | 2001-06-06 | 2004-03-16 | International Business Machines Corporation | Program support for disk fencing in a shared disk parallel file system across storage area network |
| US6965929B2 (en) | 2001-06-29 | 2005-11-15 | Intel Corporation | Configuring a network device |
| US6925582B2 (en) * | 2001-08-01 | 2005-08-02 | International Business Machines Corporation | Forwarding of diagnostic messages in a group |
| US20030051029A1 (en) | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
| US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
| US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
| US7694303B2 (en) * | 2001-09-25 | 2010-04-06 | Sun Microsystems, Inc. | Method for dynamic optimization of multiplexed resource partitions |
| US7277952B2 (en) * | 2001-09-28 | 2007-10-02 | Microsoft Corporation | Distributed system resource protection via arbitration and ownership |
| US20030101160A1 (en) * | 2001-11-26 | 2003-05-29 | International Business Machines Corporation | Method for safely accessing shared storage |
| JP2005512190A (ja) * | 2001-11-30 | 2005-04-28 | オラクル・インターナショナル・コーポレイション | ネットワーク化システムにおけるリソースの高可用性をもたらす実複合オブジェクト |
| US8086579B1 (en) | 2002-01-22 | 2011-12-27 | Oracle International Corporation | Semantic response to lock requests to reduce coherence overhead in multi-node systems |
| US20030187927A1 (en) * | 2002-02-22 | 2003-10-02 | Winchell David F. | Clustering infrastructure system and method |
| US7631066B1 (en) * | 2002-03-25 | 2009-12-08 | Symantec Operating Corporation | System and method for preventing data corruption in computer system clusters |
| JP2003330905A (ja) * | 2002-05-14 | 2003-11-21 | Nec Corp | コンピュータシステム |
| US20040039816A1 (en) * | 2002-08-23 | 2004-02-26 | International Business Machines Corporation | Monitoring method of the remotely accessible resources to provide the persistent and consistent resource states |
| US20040103193A1 (en) * | 2002-11-08 | 2004-05-27 | Pandya Suketu J. | Response time and resource consumption management in a distributed network environment |
| DE10256148A1 (de) * | 2002-11-29 | 2004-06-17 | Basf Ag | Gegenstand der vorliegenden Erfindung sind Zusammensetzungen enthaltend mindestens ein Copolymer (A) und mindestens ein Copolymer (B) sowie deren Verwendung in kosmetischen Zubereitungen |
| US7379444B2 (en) | 2003-01-27 | 2008-05-27 | International Business Machines Corporation | Method to recover from node failure/recovery incidents in distributed systems in which notification does not occur |
| US7030739B2 (en) * | 2003-01-27 | 2006-04-18 | Audiovox Corporation | Vehicle security system and method for programming an arming delay |
| US7376744B2 (en) | 2003-05-09 | 2008-05-20 | Oracle International Corporation | Using local locks for global synchronization in multi-node systems |
| US20050120616A1 (en) * | 2003-12-05 | 2005-06-09 | Joe Stugan | Bird abatement system for boats |
| US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
| US7584382B2 (en) * | 2004-02-19 | 2009-09-01 | Microsoft Corporation | Method and system for troubleshooting a misconfiguration of a computer system based on configurations of other computer systems |
| US7392295B2 (en) | 2004-02-19 | 2008-06-24 | Microsoft Corporation | Method and system for collecting information from computer systems based on a trusted relationship |
| US8255422B2 (en) | 2004-05-28 | 2012-08-28 | Microsoft Corporation | Highly reliable and scalable architecture for data centers |
| US20110082928A1 (en) * | 2004-10-22 | 2011-04-07 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
| US8095600B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
| US8392515B2 (en) * | 2004-10-22 | 2013-03-05 | Microsoft Corporation | Subfederation creation and maintenance in a federation infrastructure |
| US8014321B2 (en) * | 2004-10-22 | 2011-09-06 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
| US20060090003A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
| US7694167B2 (en) * | 2004-10-22 | 2010-04-06 | Microsoft Corporation | Maintaining routing consistency within a rendezvous federation |
| US8549180B2 (en) * | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
| US7958262B2 (en) * | 2004-10-22 | 2011-06-07 | Microsoft Corporation | Allocating and reclaiming resources within a rendezvous federation |
| US8090880B2 (en) | 2006-11-09 | 2012-01-03 | Microsoft Corporation | Data consistency within a federation infrastructure |
| US7730220B2 (en) * | 2004-10-22 | 2010-06-01 | Microsoft Corporation | Broadcasting communication within a rendezvous federation |
| US8095601B2 (en) | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
| US7613774B1 (en) * | 2005-03-01 | 2009-11-03 | Sun Microsystems, Inc. | Chaperones in a distributed system |
| JP2006318012A (ja) * | 2005-05-10 | 2006-11-24 | Hitachi Ltd | ディスク制御システム |
| 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 |
| JP4414961B2 (ja) * | 2005-12-13 | 2010-02-17 | 株式会社日立製作所 | 管理サーバによる管理方法、管理サーバ、計算機システムおよび管理プログラム |
| US7584182B2 (en) * | 2005-12-19 | 2009-09-01 | Microsoft Corporation | Determining cardinality of a parameter using hash values |
| US20080022157A1 (en) * | 2006-07-24 | 2008-01-24 | Shannon Hsinhen Chang | 'isolating a tape drive from communication' |
| US7913050B2 (en) * | 2007-06-26 | 2011-03-22 | Oracle International Corporation | Fencing using a hierarchical relationship |
| US7882389B2 (en) * | 2008-11-18 | 2011-02-01 | International Business Machines Corporation | Dynamic reassignment of devices attached to redundant controllers |
| US8145938B2 (en) * | 2009-06-01 | 2012-03-27 | Novell, Inc. | Fencing management in clusters |
| US8510334B2 (en) * | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
| US9847907B2 (en) * | 2012-11-26 | 2017-12-19 | Amazon Technologies, Inc. | Distributed caching cluster management |
| US9602614B1 (en) | 2012-11-26 | 2017-03-21 | Amazon Technologies, Inc. | Distributed caching cluster client configuration |
| US9529772B1 (en) | 2012-11-26 | 2016-12-27 | Amazon Technologies, Inc. | Distributed caching cluster configuration |
| US9262323B1 (en) | 2012-11-26 | 2016-02-16 | Amazon Technologies, Inc. | Replication in distributed caching cluster |
| US10528752B2 (en) | 2014-08-13 | 2020-01-07 | Hewlett Packard Enterprise Development Lp | Non-volatile storage of management data |
| US11290486B1 (en) * | 2015-12-28 | 2022-03-29 | Amazon Technologies, Inc. | Allocating defective computing resources for honeypot services |
| US10320841B1 (en) | 2015-12-28 | 2019-06-11 | Amazon Technologies, Inc. | Fraud score heuristic for identifying fradulent requests or sets of requests |
| US10097581B1 (en) | 2015-12-28 | 2018-10-09 | Amazon Technologies, Inc. | Honeypot computing services that include simulated computing resources |
| US10437517B2 (en) | 2018-02-15 | 2019-10-08 | International Business Machines Corporation | Enhanced soft fence of devices |
| US10620856B2 (en) * | 2018-03-06 | 2020-04-14 | Vmware, Inc. | Input/output (I/O) fencing with persistent reservation information in shared virtual storage environments |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
| US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
| US4805134A (en) * | 1986-01-09 | 1989-02-14 | International Business Machines Corporation | Electronic system for accessing graphical and textual information |
| DE3688136T2 (de) * | 1986-04-04 | 1993-10-07 | Ibm | Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation. |
| US5003464A (en) * | 1988-05-23 | 1991-03-26 | Bell Communications Research, Inc. | Methods and apparatus for efficient resource allocation |
| JPH0213197A (ja) * | 1988-06-30 | 1990-01-17 | Fujitsu Ltd | 蓄積プログラム制御システムにおけるオフィスデータの自動編集方式 |
| US4961224A (en) * | 1989-03-06 | 1990-10-02 | Darby Yung | Controlling access to network resources |
| US5187790A (en) * | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
| US5202923A (en) * | 1989-11-30 | 1993-04-13 | Kabushiki Kaisha Toshiba | Portable electronic device capable of registering subprograms |
| US5469556A (en) * | 1989-12-12 | 1995-11-21 | Harris Corporation | Resource access security system for controlling access to resources of a data processing system |
| US5214778A (en) * | 1990-04-06 | 1993-05-25 | Micro Technology, Inc. | Resource management in a multiple resource system |
| US5204961A (en) * | 1990-06-25 | 1993-04-20 | Digital Equipment Corporation | Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols |
| US5347648A (en) * | 1990-06-29 | 1994-09-13 | Digital Equipment Corporation | Ensuring write ordering under writeback cache error conditions |
| US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
| AU1893392A (en) * | 1991-05-03 | 1992-12-21 | Storage Technology Corporation | Knowledge based resource management |
| US5257379A (en) * | 1991-09-04 | 1993-10-26 | International Business Machines Corporation | Establishing synchronization of hardware and software I/O configuration definitions |
| EP0543560B1 (en) * | 1991-11-19 | 1999-12-22 | Sun Microsystems, Inc. | Arbitrating multiprocessor accesses to shared resources |
| US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
| JPH0713838A (ja) * | 1993-06-14 | 1995-01-17 | Internatl Business Mach Corp <Ibm> | エラーの回復方法及び装置 |
| US5416921A (en) * | 1993-11-03 | 1995-05-16 | International Business Machines Corporation | Apparatus and accompanying method for use in a sysplex environment for performing escalated isolation of a sysplex component in the event of a failure |
| US5619497A (en) * | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
-
1995
- 1995-11-02 US US08/552,316 patent/US5996075A/en not_active Expired - Lifetime
-
1996
- 1996-10-23 EP EP96307676A patent/EP0772126A2/en not_active Withdrawn
- 1996-11-04 EP EP96937105A patent/EP0801746B1/en not_active Expired - Lifetime
- 1996-11-04 WO PCT/US1996/017603 patent/WO1997016744A1/en not_active Ceased
- 1996-11-04 DE DE69638312T patent/DE69638312D1/de not_active Expired - Lifetime
- 1996-11-05 JP JP8307544A patent/JPH09237226A/ja active Pending
-
1998
- 1998-02-13 US US09/023,074 patent/US6243814B1/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2013108351A1 (ja) * | 2012-01-16 | 2015-05-11 | 株式会社日立製作所 | 計算機システム及び論理記憶領域管理方法 |
| JP2014170394A (ja) * | 2013-03-04 | 2014-09-18 | Nec Corp | クラスタシステム |
| JP2020529668A (ja) * | 2017-08-02 | 2020-10-08 | セールスフォース ドット コム インコーポレイティッド | 分散クラスタシステムにおけるノードのフェンシングアウト |
Also Published As
| Publication number | Publication date |
|---|---|
| US6243814B1 (en) | 2001-06-05 |
| EP0801746B1 (en) | 2010-12-22 |
| US5996075A (en) | 1999-11-30 |
| EP0801746A1 (en) | 1997-10-22 |
| EP0801746A4 (en) | 2005-05-25 |
| WO1997016744A1 (en) | 1997-05-09 |
| DE69638312D1 (de) | 2011-02-03 |
| EP0772126A2 (en) | 1997-05-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH09237226A (ja) | マルチコンピュータ・システムにおける信頼性の高いディスク・フェンシングのための方法および装置 | |
| JP4567125B2 (ja) | データ・ストレージとデータ処理システムにおける書き込みキャッシュデータの転送方法及びその装置 | |
| US6105122A (en) | I/O protocol for highly configurable multi-node processing system | |
| US7739541B1 (en) | System and method for resolving cluster partitions in out-of-band storage virtualization environments | |
| US6256740B1 (en) | Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric | |
| US6081812A (en) | Identifying at-risk components in systems with redundant components | |
| US6247077B1 (en) | Highly-scalable parallel processing computer system architecture | |
| US6934878B2 (en) | Failure detection and failure handling in cluster controller networks | |
| US6279032B1 (en) | Method and system for quorum resource arbitration in a server cluster | |
| US6078990A (en) | Volume set configuration using a single operational view | |
| US6148349A (en) | Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification | |
| US6594698B1 (en) | Protocol for dynamic binding of shared resources | |
| WO1997016744A9 (en) | Method and apparatus for reliable disk fencing in a multicomputer system | |
| JP5185483B2 (ja) | ストレージネットワーク内のクォーラムリソースアービタ | |
| US6965936B1 (en) | Method for detecting and resolving a partition condition in a cluster | |
| EP0575067A2 (en) | Shared, distributed lock manager for loosely coupled processing systems | |
| US20030065782A1 (en) | Distributed system resource protection via arbitration and ownership | |
| JP2003515813A5 (ja) | ||
| KR20040015223A (ko) | 클러스터형 컴퓨터 시스템의 자원 작용 수행 방법,클러스터형 컴퓨터 시스템 및 그의 수행을 위한 컴퓨터프로그램 | |
| JP2000155729A (ja) | 改良したクラスタ管理方法及び装置 | |
| US7168088B1 (en) | Method and apparatus for reliable disk fencing in a multicomputer system | |
| US7590811B1 (en) | Methods and system for improving data and application availability in clusters | |
| US20030182479A1 (en) | Implementing clustering in raid controllers | |
| Cardoza et al. | Overview of digital UNIX cluster system architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081021 |