JP2001521222A - 分散型コンピュータ・システムにおいてクラスタ・メンバーシップを決定する方法 - Google Patents
分散型コンピュータ・システムにおいてクラスタ・メンバーシップを決定する方法Info
- Publication number
- JP2001521222A JP2001521222A JP2000517348A JP2000517348A JP2001521222A JP 2001521222 A JP2001521222 A JP 2001521222A JP 2000517348 A JP2000517348 A JP 2000517348A JP 2000517348 A JP2000517348 A JP 2000517348A JP 2001521222 A JP2001521222 A JP 2001521222A
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- proposed membership
- proposed
- cluster
- 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; 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
- 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 operation
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/2038—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 with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
分散型コンピュータ・システムにおけるクラスタ・メンバーシップは、各ノードが通信している他のノードを決定することにより、且つ、その接続性情報をシステムのノードを介して配信することにより決定される。従って、各ノードは、接続性情報に基づいて、最適化された新しいクラスタを決定できる。特に、各ノードは、自己が通信しているノードに関する情報を有し、かつシステムの各他のノードに対する同様の情報を有している。したがって、各ノードは直接的に又は間接的に接続される全てのノードの接続性に関する完全な情報を有している。各ノードは、その接続性情報に最適化基準を適用して最適な新しいクラスタを決定する。最適な新しいクラスタを表すデータがそれぞれのノードによって同報通信される。さらに、多くのノードで決められたその最適な新しいクラスタがそれぞれのノードで集められる。各ノードによって最適であると認められたプロポーズされた新しいクラスタを表すデータを各ノードが持つことになる。各ノードはその情報を用いて多くのプロポーズされた新しいクラスタから新しいクラスタを選出する。例えば、他のクラスタより、より多くプロポーズされた新しいクラスタが新しいクラスタとして選出される。各ノードは、新しいクラスタの潜在的なメンバーのノードから同じプロポーズされた新しいクラスタを受け取るので、新しいクラスタ・メンバーシップは全員一致に達する。各ノードは新しいクラスタの潜在的なメンバーのノードに関する完全なより情報を持っているので、得られたクラスタは疑いなく相対的に最適な構成となる。
Description
【0001】 発明の背景 本発明は、分散型コンピュータ・システムの欠陥許容に関し、特に故障してい
る分散型コンピュータ・システムにおいてどのノードがクラスターを形成し、共
用資源へアクセスしているかを決定する、特に強固なメカニズムに関する。
る分散型コンピュータ・システムにおいてどのノードがクラスターを形成し、共
用資源へアクセスしているかを決定する、特に強固なメカニズムに関する。
【0002】 分散型コンピュータ・システムにおいてメンバーシップ・サービスを与えるこ
とに関する問題は学術的にも工業的にも非常に興味ある問題となってきた。分散
システムである、カリフォルニア州パロアルトのサンマイクロシステムズ社から
入手できる平行データベース(PDB)システムが、クラスタ・メンバーシップ
・モニタを用いて、クラスター・メンバーシップを変えるときに、メンバーのノ
ードのトラックを維持し、かつクラスタ・アプリケーションとサービスの再構成
を調整するメカニズムを提供している。ここで、コンピュータのクラスタにおけ
るメンバーシップの一般的な問題をクラスタのいくつかのノードが完全には接続
されていないことと定義し、ここでその解を提案する。
とに関する問題は学術的にも工業的にも非常に興味ある問題となってきた。分散
システムである、カリフォルニア州パロアルトのサンマイクロシステムズ社から
入手できる平行データベース(PDB)システムが、クラスタ・メンバーシップ
・モニタを用いて、クラスター・メンバーシップを変えるときに、メンバーのノ
ードのトラックを維持し、かつクラスタ・アプリケーションとサービスの再構成
を調整するメカニズムを提供している。ここで、コンピュータのクラスタにおけ
るメンバーシップの一般的な問題をクラスタのいくつかのノードが完全には接続
されていないことと定義し、ここでその解を提案する。
【0003】 メンバーシップの一般的な問題は、以下に概略を示すメンバーシップ・アルゴ
リズムに対する設計ゴールによってカプセル化される。それらのゴールを述べた
後アドレスを試みる問題をさらに述べる。
リズムに対する設計ゴールによってカプセル化される。それらのゴールを述べた
後アドレスを試みる問題をさらに述べる。
【0004】 1. ノード、リンク、記憶デバイスまたは通信媒体の連続的な欠陥を許容で
きるシステム・アーキテクチャに係わらない均一なかつ強固なメンバーシップ・
アルゴリズム。言い換えると、一つの欠陥でクラスタが使用不可になることはな
い。 2.データの完全性は多数の同期した欠陥によっても損なわれない。これは以
下の点によって達成される。 (a)所定の時にいつでも動作するマジョリティ・クオーラム(majority quo
rum)を備えたたった一つのクラスタを持つこと。 (b)マジョリティ・クオーラムを備えたクラスタは一致していないアグリー
メントに達することはない。 (c)一定の時間内にクラスタから孤立した、かつ欠陥ノードを除去する。 (d)共用資源からメンバーでないノードをタイムリーに遮蔽する。
きるシステム・アーキテクチャに係わらない均一なかつ強固なメンバーシップ・
アルゴリズム。言い換えると、一つの欠陥でクラスタが使用不可になることはな
い。 2.データの完全性は多数の同期した欠陥によっても損なわれない。これは以
下の点によって達成される。 (a)所定の時にいつでも動作するマジョリティ・クオーラム(majority quo
rum)を備えたたった一つのクラスタを持つこと。 (b)マジョリティ・クオーラムを備えたクラスタは一致していないアグリー
メントに達することはない。 (c)一定の時間内にクラスタから孤立した、かつ欠陥ノードを除去する。 (d)共用資源からメンバーでないノードをタイムリーに遮蔽する。
【0005】 従来のある分散型コンピュータ・システムのハードウエア・アーキテクチャは
メンバーシップ・アルゴリズムに対する特有の問題に混乱した。例えば、図1に
示す構成を考える。この図では、各ノード100A−Dは二つの交換機101−
102に接続されている。しかし、二つのリンクが故障し、ノード100Aと1
00Dが互いに通信できないようになっている。従来のメンバーシップ・アルゴ
リズムではこのような欠陥を処理する能力が無く、生き残っているマジョリティ
・クオーラムに関するアグリーメントに達することはないであろう。これらのア
ルゴリズムは、ノードは全て接続されていることを想定し、区切られたネットワ
ークの問題を処理することができない。区切られていないネットワークと同様に
区切られたネットワークの問題を処理する一般的なアルゴリズムが必要である。
メンバーシップ・アルゴリズムに対する特有の問題に混乱した。例えば、図1に
示す構成を考える。この図では、各ノード100A−Dは二つの交換機101−
102に接続されている。しかし、二つのリンクが故障し、ノード100Aと1
00Dが互いに通信できないようになっている。従来のメンバーシップ・アルゴ
リズムではこのような欠陥を処理する能力が無く、生き残っているマジョリティ
・クオーラムに関するアグリーメントに達することはないであろう。これらのア
ルゴリズムは、ノードは全て接続されていることを想定し、区切られたネットワ
ークの問題を処理することができない。区切られていないネットワークと同様に
区切られたネットワークの問題を処理する一般的なアルゴリズムが必要である。
【0006】 スプリットブレイン(split-brain)または可能なスプリットブレインの状況 について決定することが必要なときに複雑さが生じる。例えば、図2に示す構成
を考える。この構成において、同じ数のノードのサブクラスタがあるように、ノ
ード{200A、200B}とノード{200C、200D}の間の通信がなく
なると、現在のクオーラム・アルゴリズムは全体のクラスタをシャットダウンさ
せることになる。現在のアルゴリズムが処理できない他の状況は、システムの中
に二つのノードがあり、それらが外部デバイスを共用できない時も含む。
を考える。この構成において、同じ数のノードのサブクラスタがあるように、ノ
ード{200A、200B}とノード{200C、200D}の間の通信がなく
なると、現在のクオーラム・アルゴリズムは全体のクラスタをシャットダウンさ
せることになる。現在のアルゴリズムが処理できない他の状況は、システムの中
に二つのノードがあり、それらが外部デバイスを共用できない時も含む。
【0007】 上記例は、ネットワークが完全に接続されていることを仮定している従来の分
散型コンピュータ・システムのより簡単なアーキテクチャの元で不可能であるメ
ンバーシップ及びクオーラム・アルゴリズムに関する問題の新しい組み合わせを
説明している。この新しい問題を解くやり方は、メンバーシップ及びクオーラム
・アルゴリズムをより近くなるように統合し、ユーザに見えるようにクラスタの
適用性と性能を最大にした柔軟性のあるアルゴリズムを提供することである。
散型コンピュータ・システムのより簡単なアーキテクチャの元で不可能であるメ
ンバーシップ及びクオーラム・アルゴリズムに関する問題の新しい組み合わせを
説明している。この新しい問題を解くやり方は、メンバーシップ及びクオーラム
・アルゴリズムをより近くなるように統合し、ユーザに見えるようにクラスタの
適用性と性能を最大にした柔軟性のあるアルゴリズムを提供することである。
【0008】 外部デバイスの構成のインパクトは遮蔽することの失敗の問題である。クラス
タ化されたシステムにおける共用資源(多くはディスク)はクラスタの一部でな
いノードが介在することから遮られる。いくつかの分散型コンピュータ・システ
ムでは、この遮る問題は、クラスタには二つのノードしかなく、それらが全ての
共用資源に接続されているという事実によって簡単である。クラスタの中に残っ
たノードは全ての共用資源を維持し、メンバーでないノードがそれらの資源にア
クセスするのを、そのノードがクラスタの一部になるまで許さない。このような
簡単な動作は、全てのディスクが全てのノードに接続されているわけではないア
ーキテクチャに対しては行えない。SPARC格納アレイ(SSA)は二重にポ
ートされているとして、メンバーでないノードを共用資源から効果的に遮る新し
い方法が必要である。
タ化されたシステムにおける共用資源(多くはディスク)はクラスタの一部でな
いノードが介在することから遮られる。いくつかの分散型コンピュータ・システ
ムでは、この遮る問題は、クラスタには二つのノードしかなく、それらが全ての
共用資源に接続されているという事実によって簡単である。クラスタの中に残っ
たノードは全ての共用資源を維持し、メンバーでないノードがそれらの資源にア
クセスするのを、そのノードがクラスタの一部になるまで許さない。このような
簡単な動作は、全てのディスクが全てのノードに接続されているわけではないア
ーキテクチャに対しては行えない。SPARC格納アレイ(SSA)は二重にポ
ートされているとして、メンバーでないノードを共用資源から効果的に遮る新し
い方法が必要である。
【0009】 メンバーシップ、クオーラム、アルゴリズムの遮蔽の失敗に責任のあるクラス
タ・メンバーシップ・モニタすなわちCMMは、メンバーシップの変更に導く状
態遷移を処理する。それらの遷移を以下にリストする。
タ・メンバーシップ・モニタすなわちCMMは、メンバーシップの変更に導く状
態遷移を処理する。それらの遷移を以下にリストする。
【0010】 ・ ノードの欠陥:ノードが故障すると、メンバーシップにその欠陥ノードを
含まないようなクラスタ再構成を開始する。 ・ ノードの加入:再構成の後、ノードが再開始し、クラスタの他のメンバー
が新メンバーとして受け入れた後クラスタに加入することができる。 ・ 自発離脱:ノードはいつでもクラスタから離脱することができ、クラスタ
の残りのメンバーはクラスタの次の世代を再構成する。 ・ 通信欠陥:クラスタ・メンバーシップ・モニタが一つ又はそれ以上のノー
ドをマジョリティ・クオーラムを備えたノードから分離する通信欠陥を処理する
。通信欠陥の検出、すなわち通信グラフが完全に接続されていないということの
検出はメンバーシップ・モニタの一部ではない通信モニタの責任である。通信モ
ニタはメンバーシップ・モニタに通信の欠陥を知らせ、メンバーシップ・モニタ
が再構成を介してそれを処理する。
含まないようなクラスタ再構成を開始する。 ・ ノードの加入:再構成の後、ノードが再開始し、クラスタの他のメンバー
が新メンバーとして受け入れた後クラスタに加入することができる。 ・ 自発離脱:ノードはいつでもクラスタから離脱することができ、クラスタ
の残りのメンバーはクラスタの次の世代を再構成する。 ・ 通信欠陥:クラスタ・メンバーシップ・モニタが一つ又はそれ以上のノー
ドをマジョリティ・クオーラムを備えたノードから分離する通信欠陥を処理する
。通信欠陥の検出、すなわち通信グラフが完全に接続されていないということの
検出はメンバーシップ・モニタの一部ではない通信モニタの責任である。通信モ
ニタはメンバーシップ・モニタに通信の欠陥を知らせ、メンバーシップ・モニタ
が再構成を介してそれを処理する。
【0011】 システム全体が健全であることをCMMが保証しないこと並びにアプリケーシ
ョンがいずれかの所定のノードに与えられているかを知ることは重要である。C
MMによってなされる唯一の保証はシステム・ハードウエアが起動され、動作し
ていること並びに動作しているシステムが存在して、機能していることである。
ョンがいずれかの所定のノードに与えられているかを知ることは重要である。C
MMによってなされる唯一の保証はシステム・ハードウエアが起動され、動作し
ていること並びに動作しているシステムが存在して、機能していることである。
【0012】 どんな欠陥が本システムの設計で考慮されているかを正確に定義する。考慮し
ている欠陥は三つである。ノード欠陥、通信欠陥、デバイス欠陥である。クライ
アント・ノード、ターミナル・コネクタ、管理ワークステーションの欠陥は本誌
ステムでは欠陥とは考えていないということを注意すべきである。
ている欠陥は三つである。ノード欠陥、通信欠陥、デバイス欠陥である。クライ
アント・ノード、ターミナル・コネクタ、管理ワークステーションの欠陥は本誌
ステムでは欠陥とは考えていないということを注意すべきである。
【0013】 ・ ノード欠陥:ノードが周期的なハートビート・メッセージ(heart-beat m
essage)(SCI又はCMM)をクラスタの他のメンバーに送るのを中止したと
そのノードは故障したとする。さらに、ノードは悪意がないように振る舞うと考
えられており、システムによって欠陥であるとされたノードは、クラスタの他の
メンバーに衝突する情報を送らないであろうと考えられている。一次的なデッド
ロックのケースの場合のように、ノードが間欠的に故障することもあり、アダプ
タやスイッチに欠陥のあるケースのように、システムに残っている部分によって
欠陥と見られることもある。クラスタ・メンバー・モニタはそれらの全てのケー
スを処理できなければならず、所定の時間でシステムから欠陥ノードを除去しな
ければならない。 ・ 通信欠陥:プライベートな通信媒体は、交換機の欠陥、アダプター・カー
ドの欠陥、ケーブルの欠陥、多くのソフトウエア層の欠陥によって故障する。こ
れらの欠陥は、クラスタ・メンバーシップモニタが特定の欠陥を処理しないよう
に、クラスタ通信モニタ(CCM又はCIS)によってマスクされる。さらに、
クラスタ・メンバーシップ・モニタは媒体の使用可能なリンクを通してそのメッ
セージを送る。個々のリンクの欠陥はCMMの正しい動作に影響を与えない。C
MMの動作に影響を与える唯一の通信欠陥はメンバーのノードとの通信の全体的
な減損である。これはプライベート通信媒体を介してのハートビート・メッセー
ジを送る物理的な経路がないので、ノードの欠陥と実質的に同じである。Ene
rgizerの2リリースのような交換機アーキテクチャにおいては、全ての交
換機の故障は論理的にn−1のノードの同時故障と論理的に等価である。ただし
、nはシステムのノードの数である。 ・ デバイス欠陥:クラスタ・メンバーシップ・モニタの動作に影響するデバ
イスはクオーラム・デバイスである。従来は、それらは、Sparc Stpt
age Array(SSA)に関するディスク・コントローラであった。しか
し、いくつかの分散型コンピュータ・システムにおいては、ディスクをクオーラ
ム・デバイスとして用いることができる。クオーラム・デバイスの欠陥はノード
の欠陥と等価であり、いくつかの従来のシステムにおけるCMMは二つのノード
・クラスタ上で実行されない限り、クオーラム・デバイスを用いることができな
いということに注目する必要がある。
essage)(SCI又はCMM)をクラスタの他のメンバーに送るのを中止したと
そのノードは故障したとする。さらに、ノードは悪意がないように振る舞うと考
えられており、システムによって欠陥であるとされたノードは、クラスタの他の
メンバーに衝突する情報を送らないであろうと考えられている。一次的なデッド
ロックのケースの場合のように、ノードが間欠的に故障することもあり、アダプ
タやスイッチに欠陥のあるケースのように、システムに残っている部分によって
欠陥と見られることもある。クラスタ・メンバー・モニタはそれらの全てのケー
スを処理できなければならず、所定の時間でシステムから欠陥ノードを除去しな
ければならない。 ・ 通信欠陥:プライベートな通信媒体は、交換機の欠陥、アダプター・カー
ドの欠陥、ケーブルの欠陥、多くのソフトウエア層の欠陥によって故障する。こ
れらの欠陥は、クラスタ・メンバーシップモニタが特定の欠陥を処理しないよう
に、クラスタ通信モニタ(CCM又はCIS)によってマスクされる。さらに、
クラスタ・メンバーシップ・モニタは媒体の使用可能なリンクを通してそのメッ
セージを送る。個々のリンクの欠陥はCMMの正しい動作に影響を与えない。C
MMの動作に影響を与える唯一の通信欠陥はメンバーのノードとの通信の全体的
な減損である。これはプライベート通信媒体を介してのハートビート・メッセー
ジを送る物理的な経路がないので、ノードの欠陥と実質的に同じである。Ene
rgizerの2リリースのような交換機アーキテクチャにおいては、全ての交
換機の故障は論理的にn−1のノードの同時故障と論理的に等価である。ただし
、nはシステムのノードの数である。 ・ デバイス欠陥:クラスタ・メンバーシップ・モニタの動作に影響するデバ
イスはクオーラム・デバイスである。従来は、それらは、Sparc Stpt
age Array(SSA)に関するディスク・コントローラであった。しか
し、いくつかの分散型コンピュータ・システムにおいては、ディスクをクオーラ
ム・デバイスとして用いることができる。クオーラム・デバイスの欠陥はノード
の欠陥と等価であり、いくつかの従来のシステムにおけるCMMは二つのノード
・クラスタ上で実行されない限り、クオーラム・デバイスを用いることができな
いということに注目する必要がある。
【0014】 ある分散型コンピュータ・システムは欠陥の単一点を持たないとされている。
従って、システムのn−1のノードの連続した欠陥と同様に単一のノードの欠陥
を許容しなければならない。通信欠陥に関する上記議論を想定すると、本明細書
はそのシステムにおける通信媒体の全体的な減損を許容できないということを示
している。通信媒体の全体的な減損を許容することがありえないか、又はそれが
望ましいとすると、いかなる時も単一欠陥より多くの欠陥を許容することが可能
であるべきである。第1に、クラスタとは何であり、以下に様々な欠陥がそれに
影響を与えるかを定義する。
従って、システムのn−1のノードの連続した欠陥と同様に単一のノードの欠陥
を許容しなければならない。通信欠陥に関する上記議論を想定すると、本明細書
はそのシステムにおける通信媒体の全体的な減損を許容できないということを示
している。通信媒体の全体的な減損を許容することがありえないか、又はそれが
望ましいとすると、いかなる時も単一欠陥より多くの欠陥を許容することが可能
であるべきである。第1に、クラスタとは何であり、以下に様々な欠陥がそれに
影響を与えるかを定義する。
【0015】 クラスタはNノード、プライベート通信媒体、クオーラム・メカニズムを持つ
と定義され、プライベート通信媒体の全体的な欠陥はN−1のノードの欠陥と等
価であり、クオーラム・メカニズムの欠陥は一つのノードの欠陥と等価である。
と定義され、プライベート通信媒体の全体的な欠陥はN−1のノードの欠陥と等
価であり、クオーラム・メカニズムの欠陥は一つのノードの欠陥と等価である。
【0016】 クラスタ・メンバーシップ・モニタに対する以下の故障許容ゴールを示す。N
≧3でN個のノードのクラスタ、しかし、部分的に[N/2]−1のノードが欠
、プライベート通信媒体、クオーラム・メカニズムはサービスを提供できかつデ
ータへアクセスできるべきである。二つのクラスタに対して、クラスタは次の欠
陥の一つだけを許容できる。
≧3でN個のノードのクラスタ、しかし、部分的に[N/2]−1のノードが欠
、プライベート通信媒体、クオーラム・メカニズムはサービスを提供できかつデ
ータへアクセスできるべきである。二つのクラスタに対して、クラスタは次の欠
陥の一つだけを許容できる。
【0017】 ・ ノードの一つの減損。 ・ プライベート通信媒体の減損。この場合は論理的には一つのノードの減損 と等価である。 ・ クオーラム・デバイスの減損。 ・ ノードの一つとプライベート通信媒体の減損。この場合は論理的には一つ のノードの減損と等価である。
【0018】 三つ以上のノードを有するシステムでの通信媒体の全損は(双方の交換機が不
動作状態になるので)二重欠陥であり、システムはそのような欠陥を許容するこ
とを要求されない。
動作状態になるので)二重欠陥であり、システムはそのような欠陥を許容するこ
とを要求されない。
【0019】 発明の要旨 本発明によれば、各ノードが通信している他のノードを決定することにより、
かつその接続性情報をシステムのノードを介して配信することにより、分散型コ
ンピュータ・システムにおけるクラスタ・メンバーシップが決定される。したが
って、各ノードは接続性情報に基づいて最適化された新しいクラスタを決定でき
る。各ノードは、自己が通信しているノードに関する情報とシステムのそれぞれ
の他のノードに対する同様の情報を持っている。したがって、各ノードは、直接
に又は関節に接続されている全てのノードの接続性に関する完全な情報を持って
いる。
かつその接続性情報をシステムのノードを介して配信することにより、分散型コ
ンピュータ・システムにおけるクラスタ・メンバーシップが決定される。したが
って、各ノードは接続性情報に基づいて最適化された新しいクラスタを決定でき
る。各ノードは、自己が通信しているノードに関する情報とシステムのそれぞれ
の他のノードに対する同様の情報を持っている。したがって、各ノードは、直接
に又は関節に接続されている全てのノードの接続性に関する完全な情報を持って
いる。
【0020】 各ノードは接続性情報に最適化基準を適用して、最適な新しいクラスタを決定
する。最適な新しいクラスタを表しているデータは各ノードに同報通信される。
様々なクラスタによって決定された最適な新クラスタは各ノードによって収集さ
れる。各ノードは、それぞれのノードで最適と認められたプロポーズされた新ク
ラスを表すデータを有する。各ノードはそのデータを使用して、様々なプロポー
ズされた新クラスタから新クラスタを選出する。例えば、プロポーズされたある
新クラスタが他よりもより多ければそれが新しいクラスタとして選出される。各
ノードは、新しいクラスタの潜在的なメンバーのノードから同じプロポーズされ
た新しいクラスタを受け取るので、新しいクラスタ・メンバーシップが満場一致
に達する。さらに、各ノードは新クラスタの潜在的なメンバーのノードに関する
より完全な情報を持っているので、得られた新しいクラスタはまぎれもなく相対
的に最適な構成である。
する。最適な新しいクラスタを表しているデータは各ノードに同報通信される。
様々なクラスタによって決定された最適な新クラスタは各ノードによって収集さ
れる。各ノードは、それぞれのノードで最適と認められたプロポーズされた新ク
ラスを表すデータを有する。各ノードはそのデータを使用して、様々なプロポー
ズされた新クラスタから新クラスタを選出する。例えば、プロポーズされたある
新クラスタが他よりもより多ければそれが新しいクラスタとして選出される。各
ノードは、新しいクラスタの潜在的なメンバーのノードから同じプロポーズされ
た新しいクラスタを受け取るので、新しいクラスタ・メンバーシップが満場一致
に達する。さらに、各ノードは新クラスタの潜在的なメンバーのノードに関する
より完全な情報を持っているので、得られた新しいクラスタはまぎれもなく相対
的に最適な構成である。
【0021】 プロセッサがメンバーとなっている分散型システムのプロセッサの間のアグリ
ーメントは、高度に有用な分散型システムの設計における基本的な問題である。
プロセッサがシャット・ダウンし、欠陥があり、復活し、新しいプロセッサが追
加されたときメンバーシップに変更が生じる。現在プロセッサ・メンバーシップ
問題の同意された定義は存在しない。そして、既存のメンバーシップ・プロトコ
ルはそれらのサービスに実質的に異なった保証を与えている。興味のあるプロト
コルは、現在のメンバーシップのプロセッサがメンバーのノードのセットに関し
て合意し、メンバーシップの変更が異なったノードで論理的に等価なときに起き
る。
ーメントは、高度に有用な分散型システムの設計における基本的な問題である。
プロセッサがシャット・ダウンし、欠陥があり、復活し、新しいプロセッサが追
加されたときメンバーシップに変更が生じる。現在プロセッサ・メンバーシップ
問題の同意された定義は存在しない。そして、既存のメンバーシップ・プロトコ
ルはそれらのサービスに実質的に異なった保証を与えている。興味のあるプロト
コルは、現在のメンバーシップのプロセッサがメンバーのノードのセットに関し
て合意し、メンバーシップの変更が異なったノードで論理的に等価なときに起き
る。
【0022】 上述した欠陥によって、クラスタ・メンバーシップは、二つ又はそれ以上の完
全に接続された、投票のマジョリティ、投票のマイノリティ又は投票の正確な半
分を有するノードのサブセットに区切られる。最初の二つの場合は、クラスタの
次世代の形成するマジョリティ投票を持つサブセットが許可されることによって
解決される。最後の場合は、タイブレーク・メカニズムが採用されなければなら
ない。いくつかのクラスタ・メンバーシップ・アルゴリズムは、それらの問題を
解決する二つのノード・アーキテクチャによって課される制限の利点がある。三
つ以上のノードを含むアーキテクチャに対して一般化すると、次の新しい問題が
本発明によるアルゴリズムによって解決される。
全に接続された、投票のマジョリティ、投票のマイノリティ又は投票の正確な半
分を有するノードのサブセットに区切られる。最初の二つの場合は、クラスタの
次世代の形成するマジョリティ投票を持つサブセットが許可されることによって
解決される。最後の場合は、タイブレーク・メカニズムが採用されなければなら
ない。いくつかのクラスタ・メンバーシップ・アルゴリズムは、それらの問題を
解決する二つのノード・アーキテクチャによって課される制限の利点がある。三
つ以上のノードを含むアーキテクチャに対して一般化すると、次の新しい問題が
本発明によるアルゴリズムによって解決される。
【0023】 1. ノードの全ての対が共通の外部デバイスを共用しているわけでない時にク
オーラムとメンバーシップを解決する。
オーラムとメンバーシップを解決する。
【0024】 クオーラム・アルゴリズムとメンバーシップ・アルゴリズムの統合が三つ以上
のノードを備えたシステムに必要になることがある。分散型システムに三つ以上
のノードがあると外部デバイスはメンバーシップとクオーラム問題を解決する必
要は実際にはない。二つのノードしかないシステムは、外部クオーラム・メカニ
ズムを必要としない。
のノードを備えたシステムに必要になることがある。分散型システムに三つ以上
のノードがあると外部デバイスはメンバーシップとクオーラム問題を解決する必
要は実際にはない。二つのノードしかないシステムは、外部クオーラム・メカニ
ズムを必要としない。
【0025】 ある分散型コンピュータ・システムでは、この外部デバイスはディスクかSS
Aに存在するコントローラである。このクオーラム・デバイスの選択は、特にデ
ィスクに対してはクラスタの全体的な能力に逆に影響する好ましくない特性を持
っている。
Aに存在するコントローラである。このクオーラム・デバイスの選択は、特にデ
ィスクに対してはクラスタの全体的な能力に逆に影響する好ましくない特性を持
っている。
【0026】 全てのノードが全ての外部デバイスに接続されるのを許されていないアーキテ
クチャを備えた四つのノードのシステムの場合は、より複雑になる。そのアーキ
テクチャにおいては、クラスタを形成しているノードのある組み合わせは、通信
媒体以外あらゆる外部デバイスを共用しておらず、したがって、そのようなクラ
スタが存在することを許すと、他のクオーラム・メカニズムを必要とする。公衆
ネットワークは重大なセキュリティの欠点があるので、最後の手段、すなわち人
手の介在が残されているだけである。投票の多数による勝者が自動的に決まらな
かった場合には、以下に完全に述べるようにこの手段を用いる。新しいユーザ・
インターフェースは以下に詳細に述べられる。
クチャを備えた四つのノードのシステムの場合は、より複雑になる。そのアーキ
テクチャにおいては、クラスタを形成しているノードのある組み合わせは、通信
媒体以外あらゆる外部デバイスを共用しておらず、したがって、そのようなクラ
スタが存在することを許すと、他のクオーラム・メカニズムを必要とする。公衆
ネットワークは重大なセキュリティの欠点があるので、最後の手段、すなわち人
手の介在が残されているだけである。投票の多数による勝者が自動的に決まらな
かった場合には、以下に完全に述べるようにこの手段を用いる。新しいユーザ・
インターフェースは以下に詳細に述べられる。
【0027】 2. メンバーシップを変更するために採用されたマジョリティ・クオーラム
要求の許可。 三つ以上のノードで構成されたときには、マジョリティ・クオーラムに対して
は構成された投票全体の半分以上を要求することはユーザに対して柔軟性を制限
することになる。4つのノード・システムにおいては等しくない二つのノードが
クラスタを形成する。変形されたアルゴリズムは現在のメンバーシップと加入ノ
ードの投票に関するクオーラム要求に基づく。
要求の許可。 三つ以上のノードで構成されたときには、マジョリティ・クオーラムに対して
は構成された投票全体の半分以上を要求することはユーザに対して柔軟性を制限
することになる。4つのノード・システムにおいては等しくない二つのノードが
クラスタを形成する。変形されたアルゴリズムは現在のメンバーシップと加入ノ
ードの投票に関するクオーラム要求に基づく。
【0028】 3. マジョリティ・クオーラム要求が低くなることをヒントとしてクラスタ
・メンバーの「自発離脱」を取り扱う。 元のアルゴリズムは、半分を越すノードの同時クラスタ・シャットダウンはそ
れらのノードを除外した部分になると考えていた。結果としてのクオーラムの損
失と完全なクラスタのシャットダウンとを避けるために、新しいアルゴリズムは
、クオーラム要求を減少させるためにノードによる明確なシャットダウンの通知
が用いられる。
・メンバーの「自発離脱」を取り扱う。 元のアルゴリズムは、半分を越すノードの同時クラスタ・シャットダウンはそ
れらのノードを除外した部分になると考えていた。結果としてのクオーラムの損
失と完全なクラスタのシャットダウンとを避けるために、新しいアルゴリズムは
、クオーラム要求を減少させるためにノードによる明確なシャットダウンの通知
が用いられる。
【0029】 4. ノードが区分されたときの加入の処理 二つのノード構成とタイブレイク・クオーラム・デバイスでは、二つのノード
間の通信が壊れたときには二つのノードが独立のクラスタを形成することは不可
能である。三つ以上のノードと項目2における動的なクオーラム要求では、すべ
ての完全に接続されたノードのサブセットがクオーラムとともにクラスタを形成
するので、それとは相反する状態(二つまたはそれ以上の独立のクラスタ)が可
能である。本発明によるアルゴリズムは、クラスタの最初の生成とその後の加入
の間を区別する。この最初の加入を除き、加入は独立にクラスタを形成すること
はできず、ノードは既存のクラスタに加入するだけである。そのためのユーザ・
インターフェースは以下で論ずる。
間の通信が壊れたときには二つのノードが独立のクラスタを形成することは不可
能である。三つ以上のノードと項目2における動的なクオーラム要求では、すべ
ての完全に接続されたノードのサブセットがクオーラムとともにクラスタを形成
するので、それとは相反する状態(二つまたはそれ以上の独立のクラスタ)が可
能である。本発明によるアルゴリズムは、クラスタの最初の生成とその後の加入
の間を区別する。この最初の加入を除き、加入は独立にクラスタを形成すること
はできず、ノードは既存のクラスタに加入するだけである。そのためのユーザ・
インターフェースは以下で論ずる。
【0030】 5. メンバーシップ・アルゴリズムの間に生じる欠陥の処理 動的クオーラム要求では、クオーラムに対して要求された投票の数におけるノ
ードの間の不整合は欠陥が再構成の間に起こった時に起こることがある。二つま
たはそれ以上のサブセットがクオーラムを持ち、かつ独立のクラスタを形成する
可能性を避けるため、変形アルゴリズムは、加入するものに制限を課す。加入す
るものは既存のクラスタに完全にそのまま加入する。
ードの間の不整合は欠陥が再構成の間に起こった時に起こることがある。二つま
たはそれ以上のサブセットがクオーラムを持ち、かつ独立のクラスタを形成する
可能性を避けるため、変形アルゴリズムは、加入するものに制限を課す。加入す
るものは既存のクラスタに完全にそのまま加入する。
【0031】 6. 図1に示された部分的な接続状況の処理 そのようなシナリオにおいて、元のアルゴリズムはアグリーメントに達しない
。アルゴリズムは、ノードのセットが同じメンバーシップ・プロポーザルに関し
て合意したとき収斂するが、その条件は決して満たされない。本発明に係わるア
ルゴリズムにおいては、この条件が(タイムアウトを用いて)疑われるとき、あ
るノードはそれらのメンバーシップ・プロポーザルを最大に接続されたサブセッ
トへ変形する。
。アルゴリズムは、ノードのセットが同じメンバーシップ・プロポーザルに関し
て合意したとき収斂するが、その条件は決して満たされない。本発明に係わるア
ルゴリズムにおいては、この条件が(タイムアウトを用いて)疑われるとき、あ
るノードはそれらのメンバーシップ・プロポーザルを最大に接続されたサブセッ
トへ変形する。
【0032】 以下の区分において、クラスタ・デーモンが交換するメッセージのフォーマッ
トを議論し、なにが最適メンバーシップであるか、及びいかにしてそれを選択す
るかを決定し、上記でなされたことに加えてメンバーシップ・アルゴリズムでな
された仮定を特定し、メンバーシップにおける変化がいかにして生じたかを記述
し、メンバーシップ・アルゴリズムを記述し、CMMが登録されたプロセスのセ
ットをいかにして一時停止させて再開させるかを説明し、CMMが構成データベ
ースの一貫性をいかにしてチェックするかを論じ、必要とされる新しいユーザ・
インターフェースを特定する。
トを議論し、なにが最適メンバーシップであるか、及びいかにしてそれを選択す
るかを決定し、上記でなされたことに加えてメンバーシップ・アルゴリズムでな
された仮定を特定し、メンバーシップにおける変化がいかにして生じたかを記述
し、メンバーシップ・アルゴリズムを記述し、CMMが登録されたプロセスのセ
ットをいかにして一時停止させて再開させるかを説明し、CMMが構成データベ
ースの一貫性をいかにしてチェックするかを論じ、必要とされる新しいユーザ・
インターフェースを特定する。
【0033】 4.1 CMMメッセージ クラスタの異なったノードに関するメンバーシップ・モニターは、それらが生
きていることを示すために互いにメッセージを交換し、すなわちハートビートを
交換し、クラスタ再構成を開始する。メッセージのそれらの二つのタイプを区別
することができるが、実際にはそれらは同じメッセージであり、RECONF_
msgメッセージと呼ばれ、受信ノードで再構成させる。
きていることを示すために互いにメッセージを交換し、すなわちハートビートを
交換し、クラスタ再構成を開始する。メッセージのそれらの二つのタイプを区別
することができるが、実際にはそれらは同じメッセージであり、RECONF_
msgメッセージと呼ばれ、受信ノードで再構成させる。
【0034】 各RECONF_msgは、以下のフィールドを含む。 ・ 異なった再構成を区別するシーケンス番号、seq_num。 ・ ノードiのメンバーシップ投票を含むベクタ、Mi。 ・ 最も最近の安定したメンバーシップのノードiのビューを含むベクタSi 。 ・ ノードiの接続性情報を含むベクタVi。 ・ 最も最近の安定したメンバーシップが確立された時のクラスタを自発離脱
したノードのノードiのビューを含むベクタSD。 ・ ノードStiの状態。 ・ オリジナルのノードのノードid。 ・ 加入を試みているノードのノードiのビューを含むベクタJi。 ・ 元のノードがそれ自身加入ノードと見られるかどうかを示すフラグ。
したノードのノードiのビューを含むベクタSD。 ・ ノードStiの状態。 ・ オリジナルのノードのノードid。 ・ 加入を試みているノードのノードiのビューを含むベクタJi。 ・ 元のノードがそれ自身加入ノードと見られるかどうかを示すフラグ。
【0035】 4.2 定義と仮定 メンバーシップ・アルゴリズムはクラスターが同じ価値のノード、すなわち同
質のクラスタであると仮定している。メンバーシップ・アルゴリズムは以下の優
先順位で述べられた及びメンバーシップ・アルゴリズムの開発に用いられた一組
のルールに基づいている。 1. ノードはプロポーズされたセットに自分自身を含む。 2. ノードは加入しようと試みているノードに関してクラスタにすでにあるノ
ードに対して投票する。 3. ノードはそれ自身を含み完全に接続されたノードを最も多く持っているセ
ットをプロポーズする。 4. すべてのノードは、ノードの間で静的に決められた優先順位に同意する。
すなわち、低い数字のノードは高い数字のノードに優先する。
質のクラスタであると仮定している。メンバーシップ・アルゴリズムは以下の優
先順位で述べられた及びメンバーシップ・アルゴリズムの開発に用いられた一組
のルールに基づいている。 1. ノードはプロポーズされたセットに自分自身を含む。 2. ノードは加入しようと試みているノードに関してクラスタにすでにあるノ
ードに対して投票する。 3. ノードはそれ自身を含み完全に接続されたノードを最も多く持っているセ
ットをプロポーズする。 4. すべてのノードは、ノードの間で静的に決められた優先順位に同意する。
すなわち、低い数字のノードは高い数字のノードに優先する。
【0036】 上記ルールのセットは、階層の底部に静的に決めた優先権を備えたルールの階
層を定義する。上記でルールのセットは最適メンバーシップ・セット、すなわち
層を定義する。上記でルールのセットは最適メンバーシップ・セット、すなわち
【数1】 を定義する。
【0037】 一つ以上の欠陥を備えたクラスタの中で最適メンバーシップ・セット、
【数2】 を見つけることはコンピュータ的に高価なタスクである。この問題は上記ルール
から導き出される最適の定義に従って、ノードのセットの最適なサブセットを選
択する立場から述べられる。クラスタがN個のノードからなる仮定すると、
から導き出される最適の定義に従って、ノードのセットの最適なサブセットを選
択する立場から述べられる。クラスタがN個のノードからなる仮定すると、
【数3】 を見つけることはNxNサイズのマトリックスからMxMの最適なマトリックス
・サイズを見つけることと等価である。ここでM<Nである。この問題は、二項
係数としてよく知られた「N選択M」のよく知られた問題である。この問題に対
する解は、システムが均質であり、各ノードが0,1または−1のいずれかで表
すことができると仮定すると、0(2N)複素数である。最適サブセットを見つ けるコストはNが大きいと止めなければならないほど高いが、N<20であれば
、このコストは止めるほどでもない。したがって、16かそれ以下のノードのシ
ステムに対しては、網羅的なサーチ方法で最適セットを見つけることが推奨され
る。20を越すノードを有するシステムに対しては、最適解に適切な発見的アル
ゴリズムが望ましい。
・サイズを見つけることと等価である。ここでM<Nである。この問題は、二項
係数としてよく知られた「N選択M」のよく知られた問題である。この問題に対
する解は、システムが均質であり、各ノードが0,1または−1のいずれかで表
すことができると仮定すると、0(2N)複素数である。最適サブセットを見つ けるコストはNが大きいと止めなければならないほど高いが、N<20であれば
、このコストは止めるほどでもない。したがって、16かそれ以下のノードのシ
ステムに対しては、網羅的なサーチ方法で最適セットを見つけることが推奨され
る。20を越すノードを有するシステムに対しては、最適解に適切な発見的アル
ゴリズムが望ましい。
【0038】 失敗したノードがRECONF_msgを現在のクラスタの他のすべてのメン
バーに同報通信すると仮定している。また、クラスタに加入しようとするノード
は最初の状態でそれを行い、そのシーケンス番号が0にリセットされると仮定す
る。同様に、自身のシーケンス番号より高いか等しいシーケンス番号を持った、
かつ順位値でせいぜい1だけ後ろの状態のメッセージが処理される。しかしなが
ら、重大な例外がある。メッセージが‘加入するもの’フラグがットされたノー
ドから来ると、その状態が新鮮でなく(2以上後ろ)ても処理される。それらは
、クラスタに加入しようとするノードであり、それらの初期メッセージを受けな
ければならない。これらのすべての仮定は、本発明によるメンバーシップ・アル
ゴリズムの実施態様によって実施される。
バーに同報通信すると仮定している。また、クラスタに加入しようとするノード
は最初の状態でそれを行い、そのシーケンス番号が0にリセットされると仮定す
る。同様に、自身のシーケンス番号より高いか等しいシーケンス番号を持った、
かつ順位値でせいぜい1だけ後ろの状態のメッセージが処理される。しかしなが
ら、重大な例外がある。メッセージが‘加入するもの’フラグがットされたノー
ドから来ると、その状態が新鮮でなく(2以上後ろ)ても処理される。それらは
、クラスタに加入しようとするノードであり、それらの初期メッセージを受けな
ければならない。これらのすべての仮定は、本発明によるメンバーシップ・アル
ゴリズムの実施態様によって実施される。
【0039】 4.3 メンバーシップの変更 次の区分で提供されるアルゴリズムに従ってメンバーシップが変更される結果
となるようにノードが再構成される方法はいくつかある。以下はそれらのリスト
である。 1. 加入:これはノードが新しいクラスタを形成するか、既存のクラスタに参
加するときである。 (a) 最初の加入:クラスタの最初のノードに対してのみ行われ、新しいコ
マンドpdbadmin startclusterを介して実施される。その
コマンドはノードで実行しているCMMへ信号を送る。クラスタにはノードがな
いので、他のノードに聞かれることは予定していない。このコマンドはクラスタ
の一生のはじめに一度だけ発行される。クラスタの一生とはpdbadmin
startclusterが発行されてからクラスタにメンバーがいなくなるま
での期間である。もし、追加のpdbadmin startclusterコ
マンドが発行されると、最悪でシステムにデータ一貫性を妥協させ、ノードが分
離され、または最もありそうなケースは、エラーを発生し、かつこのコマンドが
間違って発行されたとしてノードを中断させることである。 (b) 最初の加入に続く加入:この加入は共通のpdbadmin sta
rtnodeコマンドによってなされ、一つのノードまたはノードのセットがク
ラスタに加入される。クラスタに加入しようとするノードはすでにクラスタのメ
ンバーになっているノードと通信し、それらがメンバーシップ・アルゴリズムで
加入できるかどうか知るようにつとめる。
となるようにノードが再構成される方法はいくつかある。以下はそれらのリスト
である。 1. 加入:これはノードが新しいクラスタを形成するか、既存のクラスタに参
加するときである。 (a) 最初の加入:クラスタの最初のノードに対してのみ行われ、新しいコ
マンドpdbadmin startclusterを介して実施される。その
コマンドはノードで実行しているCMMへ信号を送る。クラスタにはノードがな
いので、他のノードに聞かれることは予定していない。このコマンドはクラスタ
の一生のはじめに一度だけ発行される。クラスタの一生とはpdbadmin
startclusterが発行されてからクラスタにメンバーがいなくなるま
での期間である。もし、追加のpdbadmin startclusterコ
マンドが発行されると、最悪でシステムにデータ一貫性を妥協させ、ノードが分
離され、または最もありそうなケースは、エラーを発生し、かつこのコマンドが
間違って発行されたとしてノードを中断させることである。 (b) 最初の加入に続く加入:この加入は共通のpdbadmin sta
rtnodeコマンドによってなされ、一つのノードまたはノードのセットがク
ラスタに加入される。クラスタに加入しようとするノードはすでにクラスタのメ
ンバーになっているノードと通信し、それらがメンバーシップ・アルゴリズムで
加入できるかどうか知るようにつとめる。
【0040】 2. 離脱: クラスタのメンバーであったノードが自発的か又は非自発的にク
ラスタから離れるときになされる。 (a)自発離脱:オペレータはpdbadmin stopnodeコマンド
をノードへ発行する。これにより、そのノードは停止シーケンスを終える。その
結果ノードはクラスタを形成している全てのノードにそのクラスタが離脱しよう
としていることを示すメッセージを送る。この情報はメンバーシップの最適化の
ためにメンバーシップ・アルゴリズムによって使用されることができ、かつ使用
される。 (b)非自発離脱:これには異なった二つのケースがある。 i. ノードはその中止又は停止シーケンスを完了することができ、か
つその後「クリーンアップ」できる。より重要なことは、CMMに関する限り、
ノードが自発離脱の時と同じメッセージ、すなわち、そのノードがクラスタに属
しなくなるということをクラスタの他のメンバーに知らせるメッセージを送るこ
とができることである。ノードの自発離脱に対して実行された最適化がここでも
実際に実施される。ノードは固有の特権を持つアプリケーション・プログラムか
らの要求でクラスタから離れる。 ii. ノードが中止シーケンスを完結しないとシステムはパニックを起
こす。これは処理するのに最も困難な欠陥であり、通常、欠陥ノードからのハー
トビート・メッセージが無くなることを検出する。この欠陥は非同期分散型シス
テムではネットワーク欠陥と区別できない。
ラスタから離れるときになされる。 (a)自発離脱:オペレータはpdbadmin stopnodeコマンド
をノードへ発行する。これにより、そのノードは停止シーケンスを終える。その
結果ノードはクラスタを形成している全てのノードにそのクラスタが離脱しよう
としていることを示すメッセージを送る。この情報はメンバーシップの最適化の
ためにメンバーシップ・アルゴリズムによって使用されることができ、かつ使用
される。 (b)非自発離脱:これには異なった二つのケースがある。 i. ノードはその中止又は停止シーケンスを完了することができ、か
つその後「クリーンアップ」できる。より重要なことは、CMMに関する限り、
ノードが自発離脱の時と同じメッセージ、すなわち、そのノードがクラスタに属
しなくなるということをクラスタの他のメンバーに知らせるメッセージを送るこ
とができることである。ノードの自発離脱に対して実行された最適化がここでも
実際に実施される。ノードは固有の特権を持つアプリケーション・プログラムか
らの要求でクラスタから離れる。 ii. ノードが中止シーケンスを完結しないとシステムはパニックを起
こす。これは処理するのに最も困難な欠陥であり、通常、欠陥ノードからのハー
トビート・メッセージが無くなることを検出する。この欠陥は非同期分散型シス
テムではネットワーク欠陥と区別できない。
【0041】 4.4 アルゴリズム このセクションでは、メンバーシップ・アルゴリズムを、次の前提および定義
に基づいて説明する。このアルゴリズムで使用されるユーザ・インターフェイス
については後で説明し、アルゴリズムのフローを「クリーン」にする。アルゴリ
ズムの説明に入る前に、メンバーシップ・アルゴリズムの実現に必要とされるル
ールを記載する。
に基づいて説明する。このアルゴリズムで使用されるユーザ・インターフェイス
については後で説明し、アルゴリズムのフローを「クリーン」にする。アルゴリ
ズムの説明に入る前に、メンバーシップ・アルゴリズムの実現に必要とされるル
ールを記載する。
【0042】 ・各ノードは、既にクラスタの一員であるかクラスタに加わろうとしているか
にかかわらず、ただ1つの投票ができる。
にかかわらず、ただ1つの投票ができる。
【0043】 ・各ノードiは、その「接続性状態マトリクスCi」を、他のノードからの受
け取ると直ちに更新する。マトリクスCiは、システムのすべての接続性に関し
てのノードiの理解である。もし、ノードiは、ノードjから受け取らないか、
又は、ノードjがダウンしているか若しくはノードjに到達され得ないとすると
、Ciの要素eijをゼロにマークする。さらに、j番目の行のすべての要素を『
NULL』マークする。これは、ノードiには、ノードjの接続性に関する情報
がないことを暗示する。マトリクスの他の行については、ノードiは、その接続
性マトリクスのk番目の行を接続性ベクトルVkで置換することによって、更新 を行う。
け取ると直ちに更新する。マトリクスCiは、システムのすべての接続性に関し
てのノードiの理解である。もし、ノードiは、ノードjから受け取らないか、
又は、ノードjがダウンしているか若しくはノードjに到達され得ないとすると
、Ciの要素eijをゼロにマークする。さらに、j番目の行のすべての要素を『
NULL』マークする。これは、ノードiには、ノードjの接続性に関する情報
がないことを暗示する。マトリクスの他の行については、ノードiは、その接続
性マトリクスのk番目の行を接続性ベクトルVkで置換することによって、更新 を行う。
【0044】 ・各ノードiは、当初、その「RECONF_msg」におけるCiのi番目 の行を、投票しているプロポーズド・メンバーシップ・セット
【数4】 として含む。ノードiによりプロポーズされているセット
【数5】 は、ベクトルViとは異なることに留意されたい。
【数6】 は、プロポーズされたセットであって、他のノードへの投票をバイナリ・フォー
ムで記述し、一方、Viは、「状態」ベクトルであって、システムにおけるノー ドの接続性を扱う。
ムで記述し、一方、Viは、「状態」ベクトルであって、システムにおけるノー ドの接続性を扱う。
【数7】 は、ノードが安定なメンバーシップに同意できず且つViのサブセットが新しい メンバーシップ・セットとしてプロポーズされる必要があるときには、Viでは なくてそれぞれノードidおよびバイナリ投票値である、異なる要素を有してい
る。
る。
【0045】 ・各ノードiは、クラスタ・メンバーシップのカレント・ビュー中に、同意さ
れているかプロポーズされているかにかかわらず、存在するノードの全数を、ロ
ーカル変数Ni中に維持する。ローカル変数Niは、メンバーシップ・アルゴリズ
ムの実行中、次のルールに従う。 (a) Niは、
れているかプロポーズされているかにかかわらず、存在するノードの全数を、ロ
ーカル変数Ni中に維持する。ローカル変数Niは、メンバーシップ・アルゴリズ
ムの実行中、次のルールに従う。 (a) Niは、
【数8】 の個数(cardinality)に初期化される。 (b) Niは、クラスタに加わろうとするノード毎にインクリメント(増分 )される(メッセージに埋め込まれているノードidが、レシーバ・スレッドに
よってチェックされる毎に、ノード毎に1のインクリメントが強制される。) (c) Niは、セクション4.3の2(b)iに定義されているような各ノ ードの中止、または、自発的離脱に対して、デクレメント(減分)される。(レ
シーバ・スレッドによる実行) (d) メンバーシップ・アルゴリズムの終わりでクオーラム(quorum)が、N i のこの概念について決定される。
よってチェックされる毎に、ノード毎に1のインクリメントが強制される。) (c) Niは、セクション4.3の2(b)iに定義されているような各ノ ードの中止、または、自発的離脱に対して、デクレメント(減分)される。(レ
シーバ・スレッドによる実行) (d) メンバーシップ・アルゴリズムの終わりでクオーラム(quorum)が、N i のこの概念について決定される。
【0046】 ・メンバーシップ・アルゴリズムの終了時に、クラスタを形成しているノード
はメンバー・ノードの新しいセット
はメンバー・ノードの新しいセット
【数9】 に同意する。このセットは、メンバーシップ・アルゴリズムの次のランにおいて
使用され、その際には、前回に構成部分をなしていたすべてのノードは、一致し
た
使用され、その際には、前回に構成部分をなしていたすべてのノードは、一致し
た
【数10】 のセットを持っていると仮定される。
【0047】 ・各ノードiは、メンバーシップ・アルゴリズムに入る前に、カレント・クラ
スタ中の全てのノードに同一のシーケンス・ナンバーseq_numを持つこと
になる。加えて、各ノードは、その接続性状態マトリクスCiを持つことになる 。Ciはn×nのマトリクスであり、nは、カレント・クラスタ構成ファイル( 即ち、カレントcdbファイル)によって定義されるノードの最大数である。
スタ中の全てのノードに同一のシーケンス・ナンバーseq_numを持つこと
になる。加えて、各ノードは、その接続性状態マトリクスCiを持つことになる 。Ciはn×nのマトリクスであり、nは、カレント・クラスタ構成ファイル( 即ち、カレントcdbファイル)によって定義されるノードの最大数である。
【0048】 ・加入する各ノードは、変数joining_nodeを真(TRUE)にセ
ットする。ノードは、一度、
ットする。ノードは、一度、
【数11】 のメンバーになると、加入するもの(joiner)ではなくなり、joining_ nodeは偽(FALSE)にセットされる。
【0049】 ・最初の加入を達成中のノードは、変数start_clusterを真(T
RUE)にセットする。クラスタに加入しようとしているノードは、変数sta
rt_clusterを偽(FALSE)にセットする。
RUE)にセットする。クラスタに加入しようとしているノードは、変数sta
rt_clusterを偽(FALSE)にセットする。
【0050】 クラスタの全てのノードは、種々のタイムアウト値に関する情報を、構成ファ
イルから入手する。記号T1,T2,....が、可能な異なるタイムアウト値
を示すのに使用される。これらの値のすべては、全てのノードについて一致して
いなければならず、通信およびキューの遅れを導入するために妥当な値にセット
される。
イルから入手する。記号T1,T2,....が、可能な異なるタイムアウト値
を示すのに使用される。これらの値のすべては、全てのノードについて一致して
いなければならず、通信およびキューの遅れを導入するために妥当な値にセット
される。
【0051】 アルゴリズムは、各ノードiについて次のように記述できる。
【表1】
【表2】
【表3】
【表4】
【表5】
【表6】
【0052】 上記のアルゴリズムにおいて、クラスタの部分である全てのノードに対してメ
ッセージを送る手だてがあると仮定している。もし、ノードがダウンしているか
、到達され得ないとすると、以前の構成によって処理されたと考えられて、マト
リクス
ッセージを送る手だてがあると仮定している。もし、ノードがダウンしているか
、到達され得ないとすると、以前の構成によって処理されたと考えられて、マト
リクス
【数12】 中に反映される。
【0053】 上記のアルゴリズムにおいて、関数membership_proposal
()は、ダウン(DOWN)状態にない全てのノードを含むCiに基づくメンバ ーシップ・プロポーザルを返す。その関数は、プロポーザルに、
()は、ダウン(DOWN)状態にない全てのノードを含むCiに基づくメンバ ーシップ・プロポーザルを返す。その関数は、プロポーザルに、
【数13】 の全てが含まれていないときは、プロポーザルから全ての加入希望者を排除する
。重要な関数は、stable_proposal()関数である。この関数は
、プロポーズド・セット
。重要な関数は、stable_proposal()関数である。この関数は
、プロポーズド・セット
【数14】 が、当該セットの他の全てのメンバーによって同意されているか否かを、決定す
る。投票数をカウントするために、ノードiは、他のノードからのプロポーズさ
れたセット(すなわち、
る。投票数をカウントするために、ノードiは、他のノードからのプロポーズさ
れたセット(すなわち、
【数15】 と、自己のセット
【数16】 (但し、j≠i) とを比較する必要がある。関数share_quorum_dev()は、CC
Dダイナミック・ファイルの利用によって実現され、メンバーシップ・アルゴリ
ズムに、2つのノードのクラスタのような、2つのノードがクオーラム・デバイ
スを共有する場合を知らせる。バイナリ関数reserve_quorum()
は、デバイスが既に他の1つのノードによって確保されている場合に限って、偽
(フォールス)を返す。関数wait_for_user_input()につ
いては以下に詳述する。
Dダイナミック・ファイルの利用によって実現され、メンバーシップ・アルゴリ
ズムに、2つのノードのクラスタのような、2つのノードがクオーラム・デバイ
スを共有する場合を知らせる。バイナリ関数reserve_quorum()
は、デバイスが既に他の1つのノードによって確保されている場合に限って、偽
(フォールス)を返す。関数wait_for_user_input()につ
いては以下に詳述する。
【0054】 関数propose_new_membership()は、呼び出され、上
に記述した最適性条件に従って最適なサブセット
に記述した最適性条件に従って最適なサブセット
【数17】 を見いだす。その関数は、
【数18】 のサブセットの組み合わせを、最初の十分に接続されたセットが見つかるまで、
徹底的にテストする。fully_connected(prop)関数は、も
し、候補のプロポーザルpropが、propのメンバーのプロポーザルの全て
に含まれているならば、真(トゥルー)を返す。もし、
徹底的にテストする。fully_connected(prop)関数は、も
し、候補のプロポーザルpropが、propのメンバーのプロポーザルの全て
に含まれているならば、真(トゥルー)を返す。もし、
【数19】 が既に十分に接続されているなら、プロポーザルは変化しないことに留意された
い。もし、
い。もし、
【数20】 が十分に接続されていなければ、加入希望者(joiner)はプロポーザル中に存在 しないと言うことにも留意されたい。最後に、find_optimal_pr
oposal()関数およびget_next_proposal()関数は、
徹底的なサーチを行う。
oposal()関数およびget_next_proposal()関数は、
徹底的なサーチを行う。
【0055】 4.5 ユーザ・インターフェイス これまで、潜在的なスプリット・ブレイン状況にあるときに、どのようにして
ユーザ・インプットとのタイ・ブレークをするかについての説明は、まだ行って
いない。このサブセクションでは、タイ・ブレークを如何にして実現するかを明
らかにする。
ユーザ・インプットとのタイ・ブレークをするかについての説明は、まだ行って
いない。このサブセクションでは、タイ・ブレークを如何にして実現するかを明
らかにする。
【0056】 ノードのセットXおよびこれとは異なるノードのセットYの双方が丁度N/2
(Nは以前のクラスタ中のノード数)の投票を有しているという状況が、オペレ
ータの補助を必要とする場合である。もし、XおよびYの双方の候補性が1(o
ne)であって、それらがクオーラム・デバイスを共有しているならば、オペレ
ータからの入力を求める必要はない。双方の状況において、ノードは、メンバー
シップ・アルゴリズムにおいてwait_for_user_input()呼
び出し実行によってユーザ入力を待機する。wait_for_user_in
put()へのコールは、オペレータに対して潜在的タイのブレークをなすべき
ことを知らせるメッセージを継続的にプリントすることになる「print」ス
レッドを生成する。メッセージは、適切なノードに対して、シャット・ダウンさ
れねばならないか又は生かしておくとの通知をされねばならないセットXまたは
Yを特定する。オペレータは、pdbadmin stopnodeコマンドを
ノードの1セットに対して発生し、新しいコマンドpdbadmin cont
inueを他のセットに対して発生することによって、タイ・ブレークを行う。
ストップ・コマンドを受けるセットはアボートし、他のセットはメッセージのプ
リントを停止し且つその再構成を継続する。他のやり方として、オペレータは、
clustm reconfigureコマンドを発生することができる。この
コマンドは、通信のブレーク・ダウンが生じたがオペレータが修復をした場合に
、有効なオプションである。clustm reconfigureコマンドの
発生は、新しい再構成の生成を生じさせる。もし、オペレータが、pdbadm
in stopnode,clustm reconfigureまたはpdb
admin continueに加えて、この時、何か他のコマンドを発生させ
ると、コマンド・リーダー・スレッドは、それらのコマンドの1つを待機してい
るトランジションズ・スレッドに信号を送らず、コマンドを単に無視する。一方
、プリント・スレッドは、それらのメッセージを数秒に1回プリントし続けて、
何らかのアクションを即時に行うべきであることをオペレータに知らせる。
(Nは以前のクラスタ中のノード数)の投票を有しているという状況が、オペレ
ータの補助を必要とする場合である。もし、XおよびYの双方の候補性が1(o
ne)であって、それらがクオーラム・デバイスを共有しているならば、オペレ
ータからの入力を求める必要はない。双方の状況において、ノードは、メンバー
シップ・アルゴリズムにおいてwait_for_user_input()呼
び出し実行によってユーザ入力を待機する。wait_for_user_in
put()へのコールは、オペレータに対して潜在的タイのブレークをなすべき
ことを知らせるメッセージを継続的にプリントすることになる「print」ス
レッドを生成する。メッセージは、適切なノードに対して、シャット・ダウンさ
れねばならないか又は生かしておくとの通知をされねばならないセットXまたは
Yを特定する。オペレータは、pdbadmin stopnodeコマンドを
ノードの1セットに対して発生し、新しいコマンドpdbadmin cont
inueを他のセットに対して発生することによって、タイ・ブレークを行う。
ストップ・コマンドを受けるセットはアボートし、他のセットはメッセージのプ
リントを停止し且つその再構成を継続する。他のやり方として、オペレータは、
clustm reconfigureコマンドを発生することができる。この
コマンドは、通信のブレーク・ダウンが生じたがオペレータが修復をした場合に
、有効なオプションである。clustm reconfigureコマンドの
発生は、新しい再構成の生成を生じさせる。もし、オペレータが、pdbadm
in stopnode,clustm reconfigureまたはpdb
admin continueに加えて、この時、何か他のコマンドを発生させ
ると、コマンド・リーダー・スレッドは、それらのコマンドの1つを待機してい
るトランジションズ・スレッドに信号を送らず、コマンドを単に無視する。一方
、プリント・スレッドは、それらのメッセージを数秒に1回プリントし続けて、
何らかのアクションを即時に行うべきであることをオペレータに知らせる。
【0057】 トランジションズ・スレッドによって実行されている関数wait_for_
user_input()は、次のように実行される。
user_input()は、次のように実行される。
【0058】
【表7】
【0059】 アクションの上記のシーケンスは、トランジションズ・スレッドを条件変数s
tate_change_cv上でスリープさせる。その条件変数は以下の条件
下でフラッグ付けをされる。 ・ユーザが、continueコマンドを発生させる。 ・ユーザが、stopnodeコマンドを発生させる。 ・ユーザが、再構成を強制する。 ・ノードが、そのカレント・メンバーシップ・セット内のリモート・ノードの
ダウンを示すメッセージを受ける。 ・ノードが、そのカレント・メンバーシップ・セット内のリモート・ノードか
ら、node_down_timeoutのためのメッセージを受けていない。
tate_change_cv上でスリープさせる。その条件変数は以下の条件
下でフラッグ付けをされる。 ・ユーザが、continueコマンドを発生させる。 ・ユーザが、stopnodeコマンドを発生させる。 ・ユーザが、再構成を強制する。 ・ノードが、そのカレント・メンバーシップ・セット内のリモート・ノードの
ダウンを示すメッセージを受ける。 ・ノードが、そのカレント・メンバーシップ・セット内のリモート・ノードか
ら、node_down_timeoutのためのメッセージを受けていない。
【0060】 これらのアクションは全て、トランジションズ・スレッドにフラッグ付けをす
るのに適切であり、ユーザがコマンドの正しいセットを発生することを許容され
て、ただ1つの主たるグループがクラスタ内でオペレーション状態に確実にとど
まらせるようにできる。
るのに適切であり、ユーザがコマンドの正しいセットを発生することを許容され
て、ただ1つの主たるグループがクラスタ内でオペレーション状態に確実にとど
まらせるようにできる。
【0061】 5. 欠陥遮蔽(Failure Fencing)および資源移転(Resource Migration) 新しいアーキテクチャーに由来して修正が必要となる、システムの他のコンポ
ーネントの1つは、分散型コンピュータ・システムにおいて場合により採用され
る欠陥遮蔽メカニズムである。このセクションでは、資源移転の一般的問題およ
び欠陥遮蔽の特定の問題に対する解を論じる。得られる解は、種々のアレイのト
ポロジー(カスケードされた、n+1の、交差接続の(クロス−接続)、その他
のトポロジー)、ならびに、異なるソフトウエアの構成(Netdiskを持つ
CVM、スタンド・アローンのVxVM、またはその他の構成)を扱うと言う意
味で一般的である。その解は、2ノードの交差に接続されたアレイ構成をも、特
別のケースとしてではなく取り扱うものである。
ーネントの1つは、分散型コンピュータ・システムにおいて場合により採用され
る欠陥遮蔽メカニズムである。このセクションでは、資源移転の一般的問題およ
び欠陥遮蔽の特定の問題に対する解を論じる。得られる解は、種々のアレイのト
ポロジー(カスケードされた、n+1の、交差接続の(クロス−接続)、その他
のトポロジー)、ならびに、異なるソフトウエアの構成(Netdiskを持つ
CVM、スタンド・アローンのVxVM、またはその他の構成)を扱うと言う意
味で一般的である。その解は、2ノードの交差に接続されたアレイ構成をも、特
別のケースとしてではなく取り扱うものである。
【0062】 仮定および一般解を次に論じる。続けて、資源移転問題(大いに利用可能なデ
ィスク・グループ、HF/NFSファイル・システム、パブリック・ネットワー
ク上の論理IPアドレス)を如何に解決するかについての短い注解が付される。
ィスク・グループ、HF/NFSファイル・システム、パブリック・ネットワー
ク上の論理IPアドレス)を如何に解決するかについての短い注解が付される。
【0063】 5.1 仮定 CVMおよびNetdiskを持つ共有のディスク・コンフィギュレーション
(構成)では、すべてのNetDiskデバイスのためのマスタ・ノードおよび
そのバックアップ・ノードは、直接的物理アクセスを、基礎にある物理デバイス
に対して行う。
(構成)では、すべてのNetDiskデバイスのためのマスタ・ノードおよび
そのバックアップ・ノードは、直接的物理アクセスを、基礎にある物理デバイス
に対して行う。
【0064】 VxVMを持つ非共有の構成の場合には、ディスク・グループのセットの主(
プライマリイ)オーナシップを有する各ノードは、それらのディスク・グループ
に属するデバイスに対して直接的物理アクセスをすると仮定される。より具体的
には、もし、ノードNがディスク・グループGの主オーナシップを有するならば
、ディスク・グループGに属するディスクの全ては、Nに接続されていてDと表
記されるストレージ・デバイスのセット中に見いだされ得る。
プライマリイ)オーナシップを有する各ノードは、それらのディスク・グループ
に属するデバイスに対して直接的物理アクセスをすると仮定される。より具体的
には、もし、ノードNがディスク・グループGの主オーナシップを有するならば
、ディスク・グループGに属するディスクの全ては、Nに接続されていてDと表
記されるストレージ・デバイスのセット中に見いだされ得る。
【0065】 NetDiskデバイスまたは他の資源の主オーナシップおよびバックアップ
・オーナシップに関する情報が、クラスタ構成データベース(Cluster
Configuration DatabaseすなわちCCD)に維持されて
、全てのノードから一貫性をもって利用可能である、と仮定される。この仮定は
、CCDのダイナミック部分の使用によって強制化できる。特に、欠陥遮蔽およ
び資源移転のためのステップが次のサブセクションで概説する再構成プロセス中
で実行される時、CCDは、上の情報を得るために質問を受け得る。それらのス
テップは、クラスタ・メンバーシップが決定され且つクオーラムが得られた後に
おいてのみ、実行される。
・オーナシップに関する情報が、クラスタ構成データベース(Cluster
Configuration DatabaseすなわちCCD)に維持されて
、全てのノードから一貫性をもって利用可能である、と仮定される。この仮定は
、CCDのダイナミック部分の使用によって強制化できる。特に、欠陥遮蔽およ
び資源移転のためのステップが次のサブセクションで概説する再構成プロセス中
で実行される時、CCDは、上の情報を得るために質問を受け得る。それらのス
テップは、クラスタ・メンバーシップが決定され且つクオーラムが得られた後に
おいてのみ、実行される。
【0066】 5.2 欠陥遮蔽 分散型コンピュータ・システムによっては、すべてのノードにバックアップ・
ノードが設けられる。ノード(主)およびそのバックアップ・ノードは、それら
が接続されている共通のデバイス・セットを共用する。これは、B(Ni)=Nj によって示される。CVMプラスNetdiskの構成では、バックアップ・ノ
ードは、欠陥ノードにより所有されていたNetDiskデバイスのセットのマ
スターとなる。VxVM構成の場合には、バックアップ・ノードは、欠陥ノード
により所有されていたディスク・グループ資源のセットの主オーナとなる。
ノードが設けられる。ノード(主)およびそのバックアップ・ノードは、それら
が接続されている共通のデバイス・セットを共用する。これは、B(Ni)=Nj によって示される。CVMプラスNetdiskの構成では、バックアップ・ノ
ードは、欠陥ノードにより所有されていたNetDiskデバイスのセットのマ
スターとなる。VxVM構成の場合には、バックアップ・ノードは、欠陥ノード
により所有されていたディスク・グループ資源のセットの主オーナとなる。
【0067】 Niでクラスタのノードを示し、Diで(1以上のSSA及び/又はMult ipacksで構成される)ストレージ・デバイスを示すものとする。クラスタ
に4つのノードが存在すると仮定し、カスケードされた構成について次の関係が
あると仮定する。すなわち、B(N1)=N4, B(N2)=N1,B(N3)=N
2, B(N4)=N3の関係を仮定する。n+1の構成については、B(N1)= N4, B(N2)=N4, B(N3)=N4の関係が与えられる。これでは、N4 は バックアップ・ノードを持たない。最後に、交差接続では、バックアップと主(
プライマリイ)との関係は、B(N1)=N2, B(N2)=N1,B(N3)=N
4, B(N4)=N3で与えられる。2ノードの交差接続の場合には、単にB(N
1)=N2, B(N2)=N1に単純化される。
に4つのノードが存在すると仮定し、カスケードされた構成について次の関係が
あると仮定する。すなわち、B(N1)=N4, B(N2)=N1,B(N3)=N
2, B(N4)=N3の関係を仮定する。n+1の構成については、B(N1)= N4, B(N2)=N4, B(N3)=N4の関係が与えられる。これでは、N4 は バックアップ・ノードを持たない。最後に、交差接続では、バックアップと主(
プライマリイ)との関係は、B(N1)=N2, B(N2)=N1,B(N3)=N
4, B(N4)=N3で与えられる。2ノードの交差接続の場合には、単にB(N
1)=N2, B(N2)=N1に単純化される。
【0068】 5.3 一般解 ノードiが欠陥となり、この欠陥の結果、他の全てのノードが再構成されると
仮定する。生き残っているノードjは、メンバーシップおよびクオーラムが決定
された後で、次の簡単なステップを実行する。
仮定する。生き残っているノードjは、メンバーシップおよびクオーラムが決定
された後で、次の簡単なステップを実行する。
【0069】
【表8】
【0070】 「takeover these devices」は、NetDiskデバ
イスのオーナシップ取得のためにNetDiskから与えられるインターフェイ
スの何れかを、それの達成に使用できる、と言うことを含意する。
イスのオーナシップ取得のためにNetDiskから与えられるインターフェイ
スの何れかを、それの達成に使用できる、と言うことを含意する。
【0071】 欠陥ノードをマスターにしていたNetDiskデバイスが何れであるかを、
どのようにして正確にノードが決定するかについては、シンタックスの詳細に言
及することなく、次の記述をすれば十分であろう。すなわち、CCDが、そのデ
ータベースに情報を保有し、その情報と、現在再構成中のノードが欠陥ノードの
バックアップであるか否かとを引き出す質問を受ける、との記述すれば十分であ
ろう。
どのようにして正確にノードが決定するかについては、シンタックスの詳細に言
及することなく、次の記述をすれば十分であろう。すなわち、CCDが、そのデ
ータベースに情報を保有し、その情報と、現在再構成中のノードが欠陥ノードの
バックアップであるか否かとを引き出す質問を受ける、との記述すれば十分であ
ろう。
【0072】 分散型コンピュータ・システムによっては、ディスク・グループの主オーナシ
ップに関する情報が、次のフォーマットのcdbファイルに保持される。
ップに関する情報が、次のフォーマットのcdbファイルに保持される。
【0073】 cluster.node.().cdg:dg1dg2 cluster.nodc.().cdg:dg3dg4
【0074】 CCDにおいて、NetDiskデバイス構成と全く同じやり方ですべてのノ
ードから利用可能とするために、この情報の等価な表現を見つけだすことは単純
であるべきである。各ノードのために付加すべき予備の表現は、勿論、NetD
iskデバイス構成と同じやり方のバックアップ・ノードである。例えば: cdg:dg1,dg2:0.1. クラスタ・ディスク−グループdg1およびdg2の主オーナは、ノード0及
びそのバックアップ・ノード1である。
ードから利用可能とするために、この情報の等価な表現を見つけだすことは単純
であるべきである。各ノードのために付加すべき予備の表現は、勿論、NetD
iskデバイス構成と同じやり方のバックアップ・ノードである。例えば: cdg:dg1,dg2:0.1. クラスタ・ディスク−グループdg1およびdg2の主オーナは、ノード0及
びそのバックアップ・ノード1である。
【0075】 CCDまたはボリューム・マネージャに質問して、特定のNetDisk仮想
デバイスまたは特定のディスク・グループそれぞれに付随の物理デバイスのセッ
トを見つけだすこともできる。
デバイスまたは特定のディスク・グループそれぞれに付随の物理デバイスのセッ
トを見つけだすこともできる。
【0076】 最後に、これらは、欠陥ノードiがクラスタに加入希望を出せるようになった
ときに実行されるステップである。他のノードj≠iのそれぞれは、このシーケ
ンスを、再構成プロセスのある未決定のステップkにおいて、実行する。
ときに実行されるステップである。他のノードj≠iのそれぞれは、このシーケ
ンスを、再構成プロセスのある未決定のステップkにおいて、実行する。
【0077】
【表9】
【0078】 次のシーケンスが、加入希望を出しているNode Niによって、再構成プ
ロセスのステップk+1において実行される。
ロセスのステップk+1において実行される。
【0079】
【表10】
【0080】 ノードj≠iにおいて、iがクラスタに加入しようとしているのか再構成をま
さに受けようとしているのかどうか、および、既にクラスタの一部であったか否
かの判断をすることはできない。これは問題ではない。なぜなら、ノードNjが
、それに適切なアクションをとらせる、クラスタ・メンバーシップの一部を主オ
ーナとして持つ資源を、所有しているか否か、についての判断は単純な事項だか
らである。もし、アルゴリズムが正しく実装されているなら、
さに受けようとしているのかどうか、および、既にクラスタの一部であったか否
かの判断をすることはできない。これは問題ではない。なぜなら、ノードNjが
、それに適切なアクションをとらせる、クラスタ・メンバーシップの一部を主オ
ーナとして持つ資源を、所有しているか否か、についての判断は単純な事項だか
らである。もし、アルゴリズムが正しく実装されているなら、
【0081】 このセクションのアプローチを使用して、一定の分散型コンピュータ・システ
ムでの一般的な資源移転の問題を解決できる。高度に利用可能であるべき資源は
、欠陥ノードから生き残っているノードへと移転される。そのような資源の一例
は、非共用のデータベース環境におけるディスク・グループ,HA−NFSファ
イル・システムや論理IPアドレス用のディスク・グループである。任意の資源
をCCDにおいて、マスターおよびバックアップ・ノードと指定できる。例えば
、論理IPアドレスを、欠陥ノードから生き残っているノードへと移転できる。
切換え実行のために、バックアップ・ノードは、加入ノードがその資源を引き取
るワンステップ前に、加入ノードの資源を解放しなければならない。
ムでの一般的な資源移転の問題を解決できる。高度に利用可能であるべき資源は
、欠陥ノードから生き残っているノードへと移転される。そのような資源の一例
は、非共用のデータベース環境におけるディスク・グループ,HA−NFSファ
イル・システムや論理IPアドレス用のディスク・グループである。任意の資源
をCCDにおいて、マスターおよびバックアップ・ノードと指定できる。例えば
、論理IPアドレスを、欠陥ノードから生き残っているノードへと移転できる。
切換え実行のために、バックアップ・ノードは、加入ノードがその資源を引き取
るワンステップ前に、加入ノードの資源を解放しなければならない。
【0082】 5.4 ディスク・グループに対する制限(レストリクション) 分散型コンピュータ・システムによっては、クラスタのノードからアレイへの
接続を任意に行うことができない。なぜなら、幾つかのアレイにわたって分布し
ているディスク・グループは、クラスタの他の複数のノードへは移転できず、全
体として1つのノードへ移転されねばならないからである。例を挙げると、4つ
のノードN1,・・・N4および4つのアレイ・デバイスD1・・・D4が存在
する構成を考え、ノードNiがアレイDjへの物理接続を有していると仮定する
。さらに、N2がD1およびD3へ、N3がD2およびD4へ物理的に接続して
いるとし、N1およびN4には他の接続がないとする。
接続を任意に行うことができない。なぜなら、幾つかのアレイにわたって分布し
ているディスク・グループは、クラスタの他の複数のノードへは移転できず、全
体として1つのノードへ移転されねばならないからである。例を挙げると、4つ
のノードN1,・・・N4および4つのアレイ・デバイスD1・・・D4が存在
する構成を考え、ノードNiがアレイDjへの物理接続を有していると仮定する
。さらに、N2がD1およびD3へ、N3がD2およびD4へ物理的に接続して
いるとし、N1およびN4には他の接続がないとする。
【0083】 ノードN2が、アレイD1およびD3中の複数ディスクに分布されているディ
スク・グループGを有するとする。もし、N2が欠陥となると、Gは、そのディ
スクの全てがN1またはN3上で可視的であるわけでないので、その全体を、N
1またはN3にインポートできない。このような構成は、分散型コンピュータ・
システムによっては、サポートされていない。もし、ノードがディスク・グルー
プを所有していて、且つ、そのノードが欠陥になるとすると、ディスク・グルー
プの全体が、生き残っているノードの1つによって引き取られるべきである。こ
のことによって、アレイのトポロジーは制限を受けないが、データをどのように
アレイにわたっち分布させるかに対して制限が課される。
スク・グループGを有するとする。もし、N2が欠陥となると、Gは、そのディ
スクの全てがN1またはN3上で可視的であるわけでないので、その全体を、N
1またはN3にインポートできない。このような構成は、分散型コンピュータ・
システムによっては、サポートされていない。もし、ノードがディスク・グルー
プを所有していて、且つ、そのノードが欠陥になるとすると、ディスク・グルー
プの全体が、生き残っているノードの1つによって引き取られるべきである。こ
のことによって、アレイのトポロジーは制限を受けないが、データをどのように
アレイにわたっち分布させるかに対して制限が課される。
【0084】 5.5 最小の負担での移転 システムにおいて、最も時間を要する動作の1つは、データのレイアウトであ
る。これを、現に存在している2ノードのクラスタから3ノードのクラスタへの
アップグレードや、現存の3ノードのクラスタから4ノードのクラスタへのアッ
プグレードのために、最小化することを提案する。動的にこれを行うのではない
。クラスタはシャット・ダウンされて、再スタートされる。唯一の基準は、同一
ノードからのデータのミラーおよびプライマリイ・コピーに対して、そのボリュ
ームおよび/またはディスク・グループの全体を中継することなしに、アクセス
することを可能とすることである。これにはアダプタ・カードの追加が必要とな
る。
る。これを、現に存在している2ノードのクラスタから3ノードのクラスタへの
アップグレードや、現存の3ノードのクラスタから4ノードのクラスタへのアッ
プグレードのために、最小化することを提案する。動的にこれを行うのではない
。クラスタはシャット・ダウンされて、再スタートされる。唯一の基準は、同一
ノードからのデータのミラーおよびプライマリイ・コピーに対して、そのボリュ
ームおよび/またはディスク・グループの全体を中継することなしに、アクセス
することを可能とすることである。これにはアダプタ・カードの追加が必要とな
る。
【0085】 以上の記述は、例示の目的のもので限定を意図するものではない。本発明は、
それ故、請求の範囲の記載およびそれに均等の事項によってのみ記述される。
それ故、請求の範囲の記載およびそれに均等の事項によってのみ記述される。
【図1】 二つのノードの間の通信と二つのそれぞれの交換機が故障した分
散型コンピュータ・システムのブロック図である。
散型コンピュータ・システムのブロック図である。
【図2】 二重ポートデバイスを含む分散型コンピュータ・システムのブロ
ック図である。
ック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IS,JP,KE,KG, KP,KR,KZ,LC,LK,LR,LS,LT,L U,LV,MD,MG,MK,MN,MW,MX,NO ,NZ,PL,PT,RO,RU,SD,SE,SG, SI,SK,SL,TJ,TM,TR,TT,UA,U G,UZ,VN,YU,ZW (71)出願人 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ウィディヨノ,ロナルド アメリカ合衆国・94043・カリフォルニア 州・マウンテン ビュー・ライト アベニ ュ・1117 (72)発明者 モディリ,ラミン アメリカ合衆国・95148・カリフォルニア 州・サン ホゼ・ティンバーレイク アベ ニュ・3459 【要約の続き】 ば、他のクラスタより、より多くプロポーズされた新し いクラスタが新しいクラスタとして選出される。各ノー ドは、新しいクラスタの潜在的なメンバーのノードから 同じプロポーズされた新しいクラスタを受け取るので、 新しいクラスタ・メンバーシップは全員一致に達する。 各ノードは新しいクラスタの潜在的なメンバーのノード に関する完全なより情報を持っているので、得られたク ラスタは疑いなく相対的に最適な構成となる。
Claims (21)
- 【請求項1】 分散型コンピュータ・システムにおけるノードのメンバーシ
ップを決定する方法において、 (a) 分散型コンピュータ・システムのノードの接続性を表す接続データを
決定するステップと、 (b) プロポーズされた新しいクラスタのプロポーズされたメンバーシップ
・リストを形成するために接続データに最適化基準を適用するステップと、 (c) プロポーズされたメンバーシップ・リストを接続されているノードに
同報通信するステップと、 (d) 接続されているノードから他のプロポーズされたメンバーシップ・リ
ストを受け取るステップと、 (e) 他のプロポーズされたメンバーシップ・リストから選出されたプロポ
ーズされたメンバーシップ・リストを選択するステップと を有する方法。 - 【請求項2】 接続データを決定する(a)ステップが 選択されたノードが分散型コンピュータ・システムの他のノードのどのノード
と通信しているかを決定するステップと、 接続されているノードを特定するデータを他のノードに同報通信するステップ
と、 接続されているノードからノード接続データを受け取るステップと、 接続されているノードからのノード接続データと接続されているノードを特定
するデータを接続データを形成するために組み合わせるステップと を有する請求項1記載の方法。 - 【請求項3】 選出されたプロポーズされたメンバーシップ・リストを選択
する(e)ステップが プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとが一致すことを確認するステップ を含む請求項1記載の方法。 - 【請求項4】 選出されたプロポーズされたメンバーシップ・リストを選択
する(e)ステップがさらに プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとの間の不一致を検出するステップを有し、 その不一致に応じて(a)〜(d)を繰り返す請求項1記載の方法。 - 【請求項5】 選出されたプロポーズされたメンバーシップ・リストを選択
する(e)ステップが 選出されたプロポーズされたメンバーシップ・リストがまとまってクオーラム
を形成するノードを表すことを決定するステップを 含む請求項1記載の方法。 - 【請求項6】 選出されたプロポーズされたメンバーシップ・リストがまと
まってクオーラムを形成するノードを表すことを決定するステップが、 分散型コンピュータ・システムの動作しているノードの数を推測するステップ
を 含む請求項5記載の方法。 - 【請求項7】 分散型コンピュータ・システムの動作しているノードの数を
推測するステップが 最初に述べたプロポーズされたメンバーシップ・リストに表されているノード
の数を決定するステップと、 加入ノードの数を追加するステップと、 自発に離脱するノードの数を減算するステップと を有する請求項6記載の方法。 - 【請求項8】 プロセッサとメモリを含むコンピュータで使用するコンピュ
ータ可読媒体であって、 (a) 分散型コンピュータ・システムのノードの接続性を表す接続データを
決定し、 (b) プロポーズされた新しいクラスタのプロポーズされたメンバーシップ
・リストを形成するために接続データに最適化基準を適用し、 (c) プロポーズされたメンバーシップ・リストを接続されているノードに
同報通信し、 (d) 接続されているノードから他のプロポーズされたメンバーシップ・リ
ストを受け取り、 (e) 他のプロポーズされたメンバーシップ・リストから選出されたプロポ
ーズされたメンバーシップ・リストを選択する ことによって、分散型コンピュータ・システムのノードのメンバーシップをコン
ピュータに決めさせるコンピュータ命令を含むコンピュータ可読媒体。 - 【請求項9】 接続データを決定(a)する際に 選択されたノードがbpの他のノードのどのノードと通信しているかを決定し
、 接続されているノードを特定するデータを他のノードに同報通信し、 接続されているノードからノード接続データを受け取り、 接続されているノードからのノード接続データと接続されているノードを特定
するデータを接続データを形成するために組み合わせる 請求項8記載のコンピュータ可読媒体。 - 【請求項10】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとが一致すことを確認し、 を含む請求項8記載のコンピュータ可読媒体。 - 【請求項11】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に、さらに プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとの間の不一致を検出し、 その不一致に応じて(a)〜(d)を繰り返す請求項8記載のコンピュータ可
読媒体。 - 【請求項12】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に 選出されたプロポーズされたメンバーシップ・リストがまとまってクオーラム
を形成するノードを表すことを決定する請求項8記載のコンピュータ可読媒体。 - 【請求項13】 選出されたプロポーズされたメンバーシップ・リストがま
とまってクオーラムを形成するノードを表すことを決定する際に、 分散型コンピュータ・システムの動作しているノードの数を推測する請求項1
2記載のコンピュータ可読媒体。 - 【請求項14】 分散型コンピュータ・システムの動作しているノードの数
を推測する際に 最初に述べたプロポーズされたメンバーシップ・リストに表されているノード
の数を決定し、 加入ノードの数を追加し、 自発に離脱するノードの数を減算する 請求項13記載のコンピュータ可読媒体。 - 【請求項15】 プロセッサと、 プロセッサに接続されたメモリと、 (i)メモリーからプロセッサで実行し、かつ(ii)プロセッサによって実行
されたとき、コンピュータに分散型コンピュータ・システムのノードのメンバー
シップをであって (a) 分散型コンピュータ・システムのノードの接続性を表す接続データ
を決定し、 (b) プロポーズされた新しいクラスタのプロポーズされたメンバーシッ
プ・リストを形成するために接続データに最適化基準を適用し、 (c) プロポーズされたメンバーシップ・リストを接続されているノード
に同報通信し (d) 接続されているノードから他のプロポーズされたメンバーシップ・
リストを受け取り、 (e) 他のプロポーズされたメンバーシップ・リストから選出されたプロ
ポーズされたメンバーシップ・リストを選択する ことによって決定させる欠陥検出モジュールと を有するコンピュータ・システム。 - 【請求項16】 接続データを決定(a)する際に 選択されたノードがbpの他のノードのどのノードと通信しているかを決定し
、 接続されているノードを特定するデータを他のノードに同報通信し、 接続されているノードからノード接続データを受け取り、 接続されているノードからのノード接続データと接続されているノードを特定
するデータを接続データを形成するために組み合わせる 請求項15記載のコンピュータ・システム。 - 【請求項17】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとが一致すことを確認し、 を含む請求項15記載のコンピュータ・システム。 - 【請求項18】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に、さらに プロポーズされたメンバーシップ・リストと他の全てのプロポーズされたメン
バーシップ・リストとの間の不一致を検出し、 その不一致に応じて(a)〜(d)を繰り返す請求項15記載のコンピュータ
可読媒体。 - 【請求項19】 選出されたプロポーズされたメンバーシップ・リストを選
択する(e)際に 選出されたプロポーズされたメンバーシップ・リストがまとまってクオーラム
を形成するノードを表すことを決定する請求項15記載のコンピュータ・システ
ム。 - 【請求項20】 選出されたプロポーズされたメンバーシップ・リストがま
とまってクオーラムを形成するノードを表すことを決定する際に、 分散型コンピュータ・システムの動作しているノードの数を推測する請求項1
9記載のコンピュータ・システム。 - 【請求項21】 分散型コンピュータ・システムの動作しているノードの数
を推測する際に 最初に述べたプロポーズされたメンバーシップ・リストに表されているノード
の数を決定し、 加入ノードの数を追加し、 自発に離脱するノードの数を減算する 請求項20記載のコンピュータ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/955,885 | 1997-10-21 | ||
US08/955,885 US5999712A (en) | 1997-10-21 | 1997-10-21 | Determining cluster membership in a distributed computer system |
PCT/US1998/022161 WO1999021098A2 (en) | 1997-10-21 | 1998-10-20 | Determining cluster membership in a distributed computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001521222A true JP2001521222A (ja) | 2001-11-06 |
Family
ID=25497484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000517348A Pending JP2001521222A (ja) | 1997-10-21 | 1998-10-20 | 分散型コンピュータ・システムにおいてクラスタ・メンバーシップを決定する方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US5999712A (ja) |
EP (1) | EP1025506A2 (ja) |
JP (1) | JP2001521222A (ja) |
AU (1) | AU1105499A (ja) |
CA (1) | CA2306718A1 (ja) |
WO (1) | WO1999021098A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109726A (ja) * | 1999-08-31 | 2001-04-20 | Internatl Business Mach Corp <Ibm> | 分散コンピュータ・システム内のプロセッサを再構成する方法、システム、および、記憶装置 |
JP2002049601A (ja) * | 2000-05-31 | 2002-02-15 | Internatl Business Mach Corp <Ibm> | コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品 |
JP2006004434A (ja) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | 分散障害許容型コンピューティングシステムにおける効率のよいレプリカセットの変更 |
JP2006004433A (ja) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | Cheappaxos |
JP2010186472A (ja) * | 2009-02-12 | 2010-08-26 | Nhn Corp | スプリットブレイン状況におけるメジャーグループを決定するための方法、システム、及びコンピュータ読み取り可能な記録媒体 |
JP2015057696A (ja) * | 2013-09-16 | 2015-03-26 | アクシス アーベー | 分散制御システムにおけるアプリケーションデータの管理 |
KR20150058280A (ko) * | 2012-09-07 | 2015-05-28 | 아비질론 코포레이션 | 멀티플 서버 노드를 갖는 시설 보안시스템 |
Families Citing this family (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
US6279032B1 (en) * | 1997-11-03 | 2001-08-21 | Microsoft Corporation | Method and system for quorum resource arbitration in a server cluster |
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 |
US6421787B1 (en) * | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6243744B1 (en) * | 1998-05-26 | 2001-06-05 | Compaq Computer Corporation | Computer network cluster generation indicator |
US6311217B1 (en) * | 1998-06-04 | 2001-10-30 | Compaq Computer Corporation | Method and apparatus for improved cluster administration |
US6438582B1 (en) * | 1998-07-21 | 2002-08-20 | International Business Machines Corporation | Method and system for efficiently coordinating commit processing in a parallel or distributed database system |
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 |
US6687754B1 (en) * | 1998-08-27 | 2004-02-03 | Intel Corporation | Method of detecting a device in a network |
US6272526B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Netsolutions, Inc. | Distributed processing systems having self-advertising cells |
US6275847B1 (en) * | 1999-01-07 | 2001-08-14 | Iq Net Solutions, Inc. | Distributed processing systems incorporating processing zones which communicate according to both streaming and event-reaction protocols |
US6272525B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems including processing zones which subscribe and unsubscribe to mailing lists |
US6272524B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Netsolutions Inc. | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
US6424990B1 (en) | 1999-01-07 | 2002-07-23 | Jeffrey I. Robinson | Distributed processing systems incorporating a plurality of cells which process information in response to single events |
US6272527B1 (en) * | 1999-01-07 | 2001-08-07 | Iq Net Solutions, Inc. | Distributed processing systems incorporating nodes having processing cells which execute scripts causing a message to be sent internodally |
US6453426B1 (en) | 1999-03-26 | 2002-09-17 | Microsoft Corporation | Separately storing core boot data and cluster configuration data in a server cluster |
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 |
US6745241B1 (en) * | 1999-03-31 | 2004-06-01 | International Business Machines Corporation | Method and system for dynamic addition and removal of multiple network names on a single server |
US6968390B1 (en) | 1999-04-15 | 2005-11-22 | International Business Machines Corporation | Method and system for enabling a network function in a context of one or all server names in a multiple server name environment |
US6502203B2 (en) * | 1999-04-16 | 2002-12-31 | Compaq Information Technologies Group, L.P. | Method and apparatus for cluster system operation |
US6871222B1 (en) | 1999-05-28 | 2005-03-22 | Oracle International Corporation | Quorumless cluster using disk-based messaging |
US7020695B1 (en) | 1999-05-28 | 2006-03-28 | Oracle International Corporation | Using a cluster-wide shared repository to provide the latest consistent definition of the cluster (avoiding the partition-in time problem) |
US6532494B1 (en) * | 1999-05-28 | 2003-03-11 | Oracle International Corporation | Closed-loop node membership monitor for network clusters |
US7076783B1 (en) * | 1999-05-28 | 2006-07-11 | Oracle International Corporation | Providing figure of merit vote from application executing on a partitioned cluster |
WO2001035278A1 (en) * | 1999-11-10 | 2001-05-17 | Fakhouri Sameh A | A decision based system for managing distributed resources and modeling the global optimization problem |
US6745240B1 (en) * | 1999-11-15 | 2004-06-01 | Ncr Corporation | Method and apparatus for configuring massively parallel systems |
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 |
US6658470B1 (en) * | 1999-12-17 | 2003-12-02 | International Business Machines Corporation | Centralized logging of global reliability, availability, and serviceability (GRAS) services data for a distributed environment and backup logging system and method in event of failure |
US6862613B1 (en) * | 2000-01-10 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for managing operations of clustered computer systems |
US6769008B1 (en) * | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
US6789213B2 (en) | 2000-01-10 | 2004-09-07 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
US6751616B1 (en) | 2000-01-28 | 2004-06-15 | Oracle International Corp. | Techniques for DLM optimization with re-mapping responsibility for lock management |
US6920454B1 (en) * | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US7246120B2 (en) | 2000-01-28 | 2007-07-17 | Oracle International Corporation | Techniques for achieving higher availability of resources during reconfiguration of a cluster |
US6636982B1 (en) * | 2000-03-03 | 2003-10-21 | International Business Machines Corporation | Apparatus and method for detecting the reset of a node in a cluster computer system |
US6691244B1 (en) | 2000-03-14 | 2004-02-10 | Sun Microsystems, Inc. | System and method for comprehensive availability management in a high-availability computer system |
US20020198996A1 (en) * | 2000-03-16 | 2002-12-26 | Padmanabhan Sreenivasan | Flexible failover policies in high availability computing systems |
US6775703B1 (en) * | 2000-05-01 | 2004-08-10 | International Business Machines Corporation | Lease based safety protocol for distributed system with multiple networks |
US7325046B1 (en) * | 2000-05-31 | 2008-01-29 | International Business Machines Corporation | Method, system and program products for managing processing groups of a distributed computing environment |
US6807557B1 (en) * | 2000-05-31 | 2004-10-19 | International Business Machines Corporation | Method, system and program products for providing clusters of a computing environment |
US6847993B1 (en) | 2000-05-31 | 2005-01-25 | International Business Machines Corporation | Method, system and program products for managing cluster configurations |
US6801937B1 (en) * | 2000-05-31 | 2004-10-05 | International Business Machines Corporation | Method, system and program products for defining nodes to a cluster |
US6968359B1 (en) * | 2000-08-14 | 2005-11-22 | International Business Machines Corporation | Merge protocol for clustered computer system |
US7113995B1 (en) * | 2000-10-19 | 2006-09-26 | International Business Machines Corporation | Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system |
US6915338B1 (en) * | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US6907395B1 (en) | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US7093288B1 (en) | 2000-10-24 | 2006-08-15 | Microsoft Corporation | Using packet filters and network virtualization to restrict network communications |
US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US6839752B1 (en) | 2000-10-27 | 2005-01-04 | International Business Machines Corporation | Group data sharing during membership change in clustered computer system |
US7185099B1 (en) | 2000-11-22 | 2007-02-27 | International Business Machines Corporation | Apparatus and method for communicating between computer systems using a sliding send window for ordered messages in a clustered computing environment |
US7769844B2 (en) | 2000-12-07 | 2010-08-03 | International Business Machines Corporation | Peer protocol status query in clustered computer system |
US7035938B2 (en) * | 2000-12-07 | 2006-04-25 | Telcordia Technologies, Inc. | Determination of connection links to configure a virtual private network |
US7502857B2 (en) * | 2000-12-15 | 2009-03-10 | International Business Machines Corporation | Method and system for optimally allocating a network service |
US6785678B2 (en) * | 2000-12-21 | 2004-08-31 | Emc Corporation | Method of improving the availability of a computer clustering system through the use of a network medium link state function |
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 |
US7305450B2 (en) * | 2001-03-29 | 2007-12-04 | Nokia Corporation | Method and apparatus for clustered SSL accelerator |
US6918051B2 (en) * | 2001-04-06 | 2005-07-12 | International Business Machines Corporation | Node shutdown in clustered computer system |
US6675264B2 (en) * | 2001-05-07 | 2004-01-06 | International Business Machines Corporation | Method and apparatus for improving write performance in a cluster-based file system |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US8010558B2 (en) | 2001-06-05 | 2011-08-30 | Silicon Graphics International | Relocation of metadata server with outstanding DMAPI requests |
US7617292B2 (en) | 2001-06-05 | 2009-11-10 | Silicon Graphics International | Multi-class heterogeneous clients in a clustered filesystem |
US7016946B2 (en) * | 2001-07-05 | 2006-03-21 | Sun Microsystems, Inc. | Method and system for establishing a quorum for a geographically distributed cluster of computers |
US6880100B2 (en) * | 2001-07-18 | 2005-04-12 | Smartmatic Corp. | Peer-to-peer fault detection |
US20030028594A1 (en) * | 2001-07-31 | 2003-02-06 | International Business Machines Corporation | Managing intended group membership using domains |
US6925582B2 (en) * | 2001-08-01 | 2005-08-02 | International Business Machines Corporation | Forwarding of diagnostic messages in a group |
US7239606B2 (en) * | 2001-08-08 | 2007-07-03 | Compunetix, Inc. | Scalable configurable network of sparsely interconnected hyper-rings |
US7243374B2 (en) | 2001-08-08 | 2007-07-10 | Microsoft Corporation | Rapid application security threat analysis |
DE10143142A1 (de) * | 2001-09-04 | 2003-01-30 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält |
US7231461B2 (en) * | 2001-09-14 | 2007-06-12 | International Business Machines Corporation | Synchronization of group state data when rejoining a member to a primary-backup group in a clustered computer system |
US7277952B2 (en) * | 2001-09-28 | 2007-10-02 | Microsoft Corporation | Distributed system resource protection via arbitration and ownership |
EP1451687B1 (en) * | 2001-11-30 | 2019-01-23 | Oracle International Corporation | Real composite objects for providing high availability of resources on networked systems |
US6950855B2 (en) * | 2002-01-18 | 2005-09-27 | International Business Machines Corporation | Master node selection in clustered node configurations |
US20030177213A1 (en) * | 2002-01-18 | 2003-09-18 | Wallace Chris E. | Determining connectivity in communication networks |
US7240088B2 (en) * | 2002-01-25 | 2007-07-03 | International Business Machines Corporation | Node self-start in a decentralized cluster |
US7203748B2 (en) * | 2002-02-15 | 2007-04-10 | International Business Machines Corporation | Method for detecting the quick restart of liveness daemons in a distributed multinode data processing system |
US8321543B2 (en) * | 2002-03-04 | 2012-11-27 | International Business Machines Corporation | System and method for determining weak membership in set of computer nodes |
US7631066B1 (en) * | 2002-03-25 | 2009-12-08 | Symantec Operating Corporation | System and method for preventing data corruption in computer system clusters |
US7379970B1 (en) * | 2002-04-05 | 2008-05-27 | Ciphermax, Inc. | Method and system for reduced distributed event handling in a network environment |
US7051102B2 (en) * | 2002-04-29 | 2006-05-23 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US7093010B2 (en) * | 2002-05-20 | 2006-08-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Operator-defined consistency checking in a network management system |
US6925541B2 (en) * | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US6965957B1 (en) * | 2002-07-12 | 2005-11-15 | 3Pardata, Inc. | Automatic cluster join protocol |
US7590985B1 (en) | 2002-07-12 | 2009-09-15 | 3Par, Inc. | Cluster inter-process communication transport |
US20040027155A1 (en) * | 2002-08-08 | 2004-02-12 | Schlansker Michael S. | System and method for self configuration of reconfigurable systems |
JP3800158B2 (ja) * | 2002-09-27 | 2006-07-26 | ブラザー工業株式会社 | データ送信システム、端末装置、及びプログラム |
US20040181707A1 (en) * | 2003-03-11 | 2004-09-16 | Hitachi, Ltd. | Method and apparatus for seamless management for disaster recovery |
US7447786B2 (en) | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US7085897B2 (en) * | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Memory management for a symmetric multiprocessor computer system |
US7376724B2 (en) * | 2003-05-30 | 2008-05-20 | Oracle International Corporation | Dynamic reconfiguration of nodes in a cluster file system |
US7467168B2 (en) * | 2003-06-18 | 2008-12-16 | International Business Machines Corporation | Method for mirroring data at storage locations |
US7562154B2 (en) * | 2003-06-30 | 2009-07-14 | International Business Machines Corporation | System and method for filtering stale messages resulting from membership changes in a distributed computing environment |
US7739541B1 (en) * | 2003-07-25 | 2010-06-15 | Symantec Operating Corporation | System and method for resolving cluster partitions in out-of-band storage virtualization environments |
US7165189B1 (en) * | 2003-12-19 | 2007-01-16 | Sun Microsystems, Inc. | Distributed test framework for clustered systems |
US7370101B1 (en) | 2003-12-19 | 2008-05-06 | Sun Microsystems, Inc. | Automated testing of cluster data services |
US8005888B2 (en) * | 2003-12-30 | 2011-08-23 | Microsoft Corporation | Conflict fast consensus |
US7379952B2 (en) * | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
JP2005310243A (ja) * | 2004-04-20 | 2005-11-04 | Seiko Epson Corp | メモリコントローラ、半導体集積回路装置、半導体装置、マイクロコンピュータ及び電子機器 |
US20050268151A1 (en) * | 2004-04-28 | 2005-12-01 | Nokia, Inc. | System and method for maximizing connectivity during network failures in a cluster system |
US20050289228A1 (en) * | 2004-06-25 | 2005-12-29 | Nokia Inc. | System and method for managing a change to a cluster configuration |
US7590737B1 (en) | 2004-07-16 | 2009-09-15 | Symantec Operating Corporation | System and method for customized I/O fencing for preventing data corruption in computer system clusters |
US20070291772A1 (en) * | 2004-09-29 | 2007-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Installing A New View Of A Cluster Membership |
EP1805946A1 (en) * | 2004-09-29 | 2007-07-11 | Telefonaktiebolaget LM Ericsson (publ) | Maintaining a view of a cluster's membership |
US8185776B1 (en) * | 2004-09-30 | 2012-05-22 | Symantec Operating Corporation | System and method for monitoring an application or service group within a cluster as a resource of another cluster |
US20060074940A1 (en) * | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | Dynamic management of node clusters to enable data sharing |
US7730220B2 (en) * | 2004-10-22 | 2010-06-01 | Microsoft Corporation | Broadcasting communication within a rendezvous federation |
US8090880B2 (en) | 2006-11-09 | 2012-01-03 | Microsoft Corporation | Data consistency within a federation infrastructure |
US7958262B2 (en) * | 2004-10-22 | 2011-06-07 | Microsoft Corporation | Allocating and reclaiming resources within a rendezvous federation |
US8014321B2 (en) * | 2004-10-22 | 2011-09-06 | 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 |
US8392515B2 (en) * | 2004-10-22 | 2013-03-05 | Microsoft Corporation | Subfederation creation and maintenance in a federation infrastructure |
US8095601B2 (en) | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US20110082928A1 (en) | 2004-10-22 | 2011-04-07 | Microsoft Corporation | Maintaining consistency within a federation infrastructure |
US20060090003A1 (en) * | 2004-10-22 | 2006-04-27 | Microsoft Corporation | Rendezvousing resource requests with corresponding resources |
US8095600B2 (en) * | 2004-10-22 | 2012-01-10 | Microsoft Corporation | Inter-proximity communication within a rendezvous federation |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US20060242453A1 (en) * | 2005-04-25 | 2006-10-26 | Dell Products L.P. | System and method for managing hung cluster nodes |
US7373545B2 (en) * | 2005-05-06 | 2008-05-13 | Marathon Technologies Corporation | Fault tolerant computer system |
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 |
US8812501B2 (en) * | 2005-08-08 | 2014-08-19 | Hewlett-Packard Development Company, L.P. | Method or apparatus for selecting a cluster in a group of nodes |
US7941537B2 (en) * | 2005-10-03 | 2011-05-10 | Genband Us Llc | System, method, and computer-readable medium for resource migration in a distributed telecommunication system |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US7953890B1 (en) * | 2006-01-27 | 2011-05-31 | Symantec Operating Corporation | System and method for switching to a new coordinator resource |
US7979460B2 (en) | 2006-02-15 | 2011-07-12 | Sony Computer Entainment America Inc. | Systems and methods for server management |
GB0622553D0 (en) * | 2006-11-11 | 2006-12-20 | Ibm | A method, apparatus or software for managing partitioning in a cluster of nodes |
US7613947B1 (en) * | 2006-11-30 | 2009-11-03 | Netapp, Inc. | System and method for storage takeover |
JP4505763B2 (ja) * | 2007-01-31 | 2010-07-21 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | ノードクラスタの管理 |
US8209417B2 (en) * | 2007-03-08 | 2012-06-26 | Oracle International Corporation | Dynamic resource profiles for clusterware-managed resources |
US7890555B2 (en) * | 2007-07-10 | 2011-02-15 | International Business Machines Corporation | File system mounting in a clustered file system |
US8275866B2 (en) * | 2007-11-13 | 2012-09-25 | At&T Intellectual Property I, L.P. | Assigning telecommunications nodes to community of interest clusters |
US20090265450A1 (en) * | 2008-04-17 | 2009-10-22 | Darren Helmer | Method and apparatus for managing computing resources of management systems |
US8706858B2 (en) * | 2008-04-17 | 2014-04-22 | Alcatel Lucent | Method and apparatus for controlling flow of management tasks to management system databases |
US8892689B1 (en) * | 2008-04-30 | 2014-11-18 | Netapp, Inc. | Method and apparatus for a storage server to automatically discover and join a network storage cluster |
US8498647B2 (en) * | 2008-08-28 | 2013-07-30 | Qualcomm Incorporated | Distributed downlink coordinated multi-point (CoMP) framework |
WO2010044096A2 (en) * | 2008-09-12 | 2010-04-22 | Computational Research Laboratories Limited | Cluster computing |
US8443062B2 (en) * | 2008-10-23 | 2013-05-14 | Microsoft Corporation | Quorum based transactionally consistent membership management in distributed storage systems |
US8675511B2 (en) * | 2008-12-10 | 2014-03-18 | Qualcomm Incorporated | List elimination for distributed downlink coordinated multi-point (CoMP) framework |
US8903917B2 (en) * | 2009-06-03 | 2014-12-02 | Novell, Inc. | System and method for implementing a cluster token registry for business continuity |
CN101925183A (zh) * | 2009-06-15 | 2010-12-22 | 中兴通讯股份有限公司 | 一种基于协作多点传输的数据传输方法及装置 |
US8437282B2 (en) | 2009-06-21 | 2013-05-07 | Clearone Communications Hong Kong Limited | System and method of multi-endpoint data conferencing |
US8108712B1 (en) * | 2009-10-30 | 2012-01-31 | Hewlett-Packard Development Company, L.P. | Method and apparatus for removing a computer from a computer cluster observing failure |
US8910176B2 (en) * | 2010-01-15 | 2014-12-09 | International Business Machines Corporation | System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance |
US8560365B2 (en) | 2010-06-08 | 2013-10-15 | International Business Machines Corporation | Probabilistic optimization of resource discovery, reservation and assignment |
US9646271B2 (en) | 2010-08-06 | 2017-05-09 | International Business Machines Corporation | Generating candidate inclusion/exclusion cohorts for a multiply constrained group |
US8370350B2 (en) | 2010-09-03 | 2013-02-05 | International Business Machines Corporation | User accessibility to resources enabled through adaptive technology |
US8968197B2 (en) | 2010-09-03 | 2015-03-03 | International Business Machines Corporation | Directing a user to a medical resource |
US8726274B2 (en) * | 2010-09-10 | 2014-05-13 | International Business Machines Corporation | Registration and initialization of cluster-aware virtual input/output server nodes |
US9292577B2 (en) | 2010-09-17 | 2016-03-22 | International Business Machines Corporation | User accessibility to data analytics |
US8429182B2 (en) | 2010-10-13 | 2013-04-23 | International Business Machines Corporation | Populating a task directed community in a complex heterogeneous environment based on non-linear attributes of a paradigmatic cohort member |
US9443211B2 (en) | 2010-10-13 | 2016-09-13 | International Business Machines Corporation | Describing a paradigmatic member of a task directed community in a complex heterogeneous environment based on non-linear attributes |
US8949828B2 (en) | 2011-01-11 | 2015-02-03 | International Business Machines Corporation | Single point, scalable data synchronization for management of a virtual input/output server cluster |
US9201685B2 (en) | 2011-01-28 | 2015-12-01 | Oracle International Corporation | Transactional cache versioning and storage in a distributed data grid |
US9063852B2 (en) | 2011-01-28 | 2015-06-23 | Oracle International Corporation | System and method for use with a data grid cluster to support death detection |
US9081839B2 (en) | 2011-01-28 | 2015-07-14 | Oracle International Corporation | Push replication for use with a distributed data grid |
US9063787B2 (en) | 2011-01-28 | 2015-06-23 | Oracle International Corporation | System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster |
US9164806B2 (en) | 2011-01-28 | 2015-10-20 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
JP5839041B2 (ja) * | 2011-10-13 | 2016-01-06 | 富士通株式会社 | ノード装置および通信方法 |
GB2496840A (en) | 2011-11-15 | 2013-05-29 | Ibm | Controlling access to a shared storage system |
US10176184B2 (en) | 2012-01-17 | 2019-01-08 | Oracle International Corporation | System and method for supporting persistent store versioning and integrity in a distributed data grid |
US20140075170A1 (en) * | 2012-09-12 | 2014-03-13 | International Business Machines Corporation | Automated firmware voting to enable multi-enclosure federated systems |
US9667496B2 (en) * | 2013-12-24 | 2017-05-30 | International Business Machines Corporation | Configuration updates across peer storage systems |
CN103995750B (zh) * | 2014-06-04 | 2017-03-22 | 重庆大学 | 一种多Agent系统非对称分布式约束优化方法 |
US9742692B2 (en) * | 2014-06-23 | 2017-08-22 | Microsoft Technology Licensing, Llc | Acquiring resource lease using multiple lease servers |
US10664495B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | System and method for supporting data grid snapshot and federation |
WO2016106682A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 一种集群脑裂后仲裁处理方法、仲裁存储装置以及系统 |
US9959109B2 (en) | 2015-04-10 | 2018-05-01 | Avigilon Corporation | Upgrading a physical security system having multiple server nodes |
US10860378B2 (en) | 2015-07-01 | 2020-12-08 | Oracle International Corporation | System and method for association aware executor service in a distributed computing environment |
US10798146B2 (en) | 2015-07-01 | 2020-10-06 | Oracle International Corporation | System and method for universal timeout in a distributed computing environment |
US11163498B2 (en) | 2015-07-01 | 2021-11-02 | Oracle International Corporation | System and method for rare copy-on-write in a distributed computing environment |
US10585599B2 (en) | 2015-07-01 | 2020-03-10 | Oracle International Corporation | System and method for distributed persistent store archival and retrieval in a distributed computing environment |
US10341252B2 (en) * | 2015-09-30 | 2019-07-02 | Veritas Technologies Llc | Partition arbitration optimization |
WO2017149354A1 (en) * | 2016-03-01 | 2017-09-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Neighbor monitoring in a hyperscaled environment |
US10049011B2 (en) * | 2016-05-03 | 2018-08-14 | International Business Machines Corporation | Continuing operation of a quorum based system after failures |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11550820B2 (en) | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US10769019B2 (en) | 2017-07-19 | 2020-09-08 | Oracle International Corporation | System and method for data recovery in a distributed data computing environment implementing active persistence |
US10721095B2 (en) | 2017-09-26 | 2020-07-21 | Oracle International Corporation | Virtual interface system and method for multi-tenant cloud networking |
US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
US10671494B1 (en) * | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10572293B2 (en) | 2017-12-15 | 2020-02-25 | Nicira, Inc. | Node in cluster membership management protocol |
US10476744B2 (en) * | 2017-12-15 | 2019-11-12 | Nicira, Inc. | Coordinator in cluster membership management protocol |
JP6714037B2 (ja) * | 2018-04-26 | 2020-06-24 | 株式会社日立製作所 | 記憶システム、及び、クラスタ構成制御方法 |
US11106509B2 (en) | 2019-11-18 | 2021-08-31 | Bank Of America Corporation | Cluster tuner |
US11429441B2 (en) | 2019-11-18 | 2022-08-30 | Bank Of America Corporation | Workflow simulator |
US11392423B2 (en) * | 2019-12-13 | 2022-07-19 | Vmware, Inc. | Method for running a quorum-based system by dynamically managing the quorum |
CN112003916B (zh) * | 2020-08-14 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种基于异构存储的集群仲裁的方法、系统、设备及介质 |
US11372553B1 (en) | 2020-12-31 | 2022-06-28 | Seagate Technology Llc | System and method to increase data center availability using rack-to-rack storage link cable |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62197860A (ja) * | 1986-02-10 | 1987-09-01 | テラデータ・コーポレーション | マルチプロセツサシステム及び同システムによるデ−タ処理方法 |
JPH02125544A (ja) * | 1988-11-04 | 1990-05-14 | Mitsubishi Electric Corp | 同報通信方法 |
JPH05216845A (ja) * | 1991-10-31 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | ネットワーク内のコンピュータを操作する方法 |
JPH0793265A (ja) * | 1993-09-20 | 1995-04-07 | Agency Of Ind Science & Technol | 並列計算機システム |
JPH0844690A (ja) * | 1994-03-30 | 1996-02-16 | Internatl Business Mach Corp <Ibm> | 複数のプロセッサを有するデータ処理システムにおける構成定義を制御する方法及び装置 |
JPH09171502A (ja) * | 1995-06-23 | 1997-06-30 | Data General Corp | マルチプロセッサ・クラスタ・メンバシップ・マネージャ・フレームワーク |
JPH1093655A (ja) * | 1996-08-23 | 1998-04-10 | Internatl Business Mach Corp <Ibm> | 着信メッセージを経路指定する方法及びシステム |
JPH10301905A (ja) * | 1997-04-25 | 1998-11-13 | Fuji Xerox Co Ltd | 情報共有装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3003418B2 (ja) * | 1992-09-25 | 2000-01-31 | 株式会社日立製作所 | プロセッサ間データ通信方法 |
US5799305A (en) * | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
US6151688A (en) * | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
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 |
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
-
1997
- 1997-10-21 US US08/955,885 patent/US5999712A/en not_active Expired - Lifetime
-
1998
- 1998-10-20 CA CA002306718A patent/CA2306718A1/en not_active Abandoned
- 1998-10-20 EP EP98953773A patent/EP1025506A2/en not_active Withdrawn
- 1998-10-20 JP JP2000517348A patent/JP2001521222A/ja active Pending
- 1998-10-20 WO PCT/US1998/022161 patent/WO1999021098A2/en not_active Application Discontinuation
- 1998-10-20 AU AU11054/99A patent/AU1105499A/en not_active Abandoned
-
1999
- 1999-03-16 US US09/268,793 patent/US6449641B1/en not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62197860A (ja) * | 1986-02-10 | 1987-09-01 | テラデータ・コーポレーション | マルチプロセツサシステム及び同システムによるデ−タ処理方法 |
JPH02125544A (ja) * | 1988-11-04 | 1990-05-14 | Mitsubishi Electric Corp | 同報通信方法 |
JPH05216845A (ja) * | 1991-10-31 | 1993-08-27 | Internatl Business Mach Corp <Ibm> | ネットワーク内のコンピュータを操作する方法 |
JPH0793265A (ja) * | 1993-09-20 | 1995-04-07 | Agency Of Ind Science & Technol | 並列計算機システム |
JPH0844690A (ja) * | 1994-03-30 | 1996-02-16 | Internatl Business Mach Corp <Ibm> | 複数のプロセッサを有するデータ処理システムにおける構成定義を制御する方法及び装置 |
JPH09171502A (ja) * | 1995-06-23 | 1997-06-30 | Data General Corp | マルチプロセッサ・クラスタ・メンバシップ・マネージャ・フレームワーク |
JPH1093655A (ja) * | 1996-08-23 | 1998-04-10 | Internatl Business Mach Corp <Ibm> | 着信メッセージを経路指定する方法及びシステム |
JPH10301905A (ja) * | 1997-04-25 | 1998-11-13 | Fuji Xerox Co Ltd | 情報共有装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109726A (ja) * | 1999-08-31 | 2001-04-20 | Internatl Business Mach Corp <Ibm> | 分散コンピュータ・システム内のプロセッサを再構成する方法、システム、および、記憶装置 |
JP2002049601A (ja) * | 2000-05-31 | 2002-02-15 | Internatl Business Mach Corp <Ibm> | コンピューティング環境のクラスタを自動的に構成するための方法、システム、およびプログラム製品 |
JP2006004434A (ja) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | 分散障害許容型コンピューティングシステムにおける効率のよいレプリカセットの変更 |
JP2006004433A (ja) * | 2004-06-18 | 2006-01-05 | Microsoft Corp | Cheappaxos |
JP2010186472A (ja) * | 2009-02-12 | 2010-08-26 | Nhn Corp | スプリットブレイン状況におけるメジャーグループを決定するための方法、システム、及びコンピュータ読み取り可能な記録媒体 |
KR20150058280A (ko) * | 2012-09-07 | 2015-05-28 | 아비질론 코포레이션 | 멀티플 서버 노드를 갖는 시설 보안시스템 |
JP2015535970A (ja) * | 2012-09-07 | 2015-12-17 | アビジロン コーポレイション | 複数のサーバノードを有する物理的セキュリティシステム |
KR102108595B1 (ko) * | 2012-09-07 | 2020-05-08 | 아비질론 코포레이션 | 멀티플 서버 노드를 갖는 시설 보안시스템 |
JP2015057696A (ja) * | 2013-09-16 | 2015-03-26 | アクシス アーベー | 分散制御システムにおけるアプリケーションデータの管理 |
Also Published As
Publication number | Publication date |
---|---|
WO1999021098A2 (en) | 1999-04-29 |
US5999712A (en) | 1999-12-07 |
US6449641B1 (en) | 2002-09-10 |
CA2306718A1 (en) | 1999-04-29 |
WO1999021098A3 (en) | 1999-07-01 |
AU1105499A (en) | 1999-05-10 |
EP1025506A2 (en) | 2000-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001521222A (ja) | 分散型コンピュータ・システムにおいてクラスタ・メンバーシップを決定する方法 | |
US11265216B2 (en) | Communicating state information in distributed operating systems | |
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
US7039694B2 (en) | Cluster membership monitor | |
US7016946B2 (en) | Method and system for establishing a quorum for a geographically distributed cluster of computers | |
EP3340053B1 (en) | Organizing execution of distributed operating systems for network devices | |
JP4307673B2 (ja) | マルチクラスタ化コンピュータ・システムを構成及び管理する方法及び装置 | |
US8332501B2 (en) | High availability for intelligent applications in storage networks | |
US7984155B2 (en) | Consistent cluster operational data in a server cluster using a quorum of replicas | |
US6279032B1 (en) | Method and system for quorum resource arbitration in a server cluster | |
US6163855A (en) | Method and system for replicated and consistent modifications in a server cluster | |
US6757836B1 (en) | Method and apparatus for resolving partial connectivity in a clustered computing system | |
US7975006B2 (en) | Method and device for managing cluster membership by use of storage area network fabric | |
US8417899B2 (en) | System and method for controlling access to shared storage device | |
US8091092B2 (en) | Locally providing globally consistent information to communications layers | |
EP3340054A1 (en) | Maintaining coherency in distributed operating systems for network devices | |
JPH11167558A (ja) | 低信頼度分散型コンピュータ・システムにおけるメンバーシップ | |
WO2002088946A2 (en) | Resource action in clustered computer system incorporating prepare operation | |
CN107918570B (zh) | 一种双活系统共享仲裁逻辑盘的方法 | |
JP2007528557A (ja) | スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ | |
JP2005512190A (ja) | ネットワーク化システムにおけるリソースの高可用性をもたらす実複合オブジェクト | |
US20110238959A1 (en) | Distributed controller, distributed processing system, and distributed processing method | |
US20030145050A1 (en) | Node self-start in a decentralized cluster | |
WO2003054711A9 (en) | A system and method for management of a storage area network | |
CN116781489A (zh) | 一种存储控制方法及装置、存储介质、集群系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070626 |