JP4820814B2 - スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ - Google Patents
スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ Download PDFInfo
- Publication number
- JP4820814B2 JP4820814B2 JP2007502894A JP2007502894A JP4820814B2 JP 4820814 B2 JP4820814 B2 JP 4820814B2 JP 2007502894 A JP2007502894 A JP 2007502894A JP 2007502894 A JP2007502894 A JP 2007502894A JP 4820814 B2 JP4820814 B2 JP 4820814B2
- Authority
- JP
- Japan
- Prior art keywords
- quorum
- host
- manager
- cluster
- hosts
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/1479—Generic software techniques for error detection or fault masking
-
- 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
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Description
本願は、2004年3月9日に出願された仮特許出願、出願番号第60/551425号の利点を受ける権利がある。
異なるホストまたは重複するホストにマッピングされる複数のクォーラムオブジェクトを使用することによって、処理負荷の管理(例えば、区分化されたDBMS内のデータ区分)がクラスタホストの大きなプール全体で均一に拡散できる(多くの負荷バランシング技法が周知であり、クラスタホストの集合全体でクォーラムオブジェクトを負荷分散するための特定の方法はここでは説明されていない)。クォーラムオブジェクトはデータストアの各区分を管理し、作業負荷はクォーラムオブジェクトがマッピングされるクラスタホスト全体で負荷調整される。クォーラムオブジェクトは、処理負荷のバランスを動的に取り戻すために必要に応じてクラスタホストの間で移動できる。クォーラムオブジェクトの使用は、それにより単一の一様なクラスタメンバーシップ全体で区分化されたデータストアのクォーラムをベースにした管理をスケールする問題を解決する。スーパークラスタの使用を回避することによって、それは、各ホストが、ホスト故障を検出するための冗長な機構を組み込む2つの別個のクラスタメンバーシップに参加する必要を排除する。クォーラムホストは任意のクラスタホストにマッピングできるため、それは負荷バランスに対するさらに細かな制御も可能にする。
以下のソフトウェア方法は、本発明の一実施形態がどのように実現できるのかを示す。これらの方法は3つのクラスタホストに及ぶ過半数ホストのアルゴリズムを使用して自己組織クォーラムオブジェクトを実現する(3つのクラスタホストを使用することにより、利用されるクォーラムリーダーを決定するための単純なマスタ/スレーブアルゴリズムが可能になる)。前述されたように、この実施形態は、各ホストが線形アレイ内でその隣接するホストを決定できるように、すべてのクラスタホストが一次元アレイに編成される根本的なクラスタメンバーシップの使用に依存する。クラスタメンバーシップが、隣接するホストの追加、離脱、及び故障を検出し、報告するために、各クラスタホストの中で必要な機構を組み込むことが仮定される。例えば、クラスタメンバーシップアルゴリズムは、通常、ホスト故障を検出するために周期的な「心臓鼓動」メッセージ交換を利用する。ソフトウェア方法は、これらの方法の複数のインスタンスがメッセージを送信することによって通信できるように、クラスタホスト間の信頼できるメッセージパス機構も利用する。
外部マッピングエージェントは、当初、所望されるクラスタホスト上でそのQOローカルマネージャを起動することによりクォーラムオブジェクトを作成する。このインプリメンテーションでは、このクラスタホストは、いったんクォーラムが確立された後にクォーラムリーダーとしての役割をする。マスタマネージャと呼ばれる初期のQOローカルマネージャは、図14に示されるソフトウェア方法を実行する。それは、クラスタメンバーシップに隣接するホストが存在すると判断した後に、クォーラムオブジェクトのためにスレーブマネージャを作成する、隣接するホストの実行時システムにマネージャ作成メッセージを送信することによって、スレーブマネージャと呼ばれるQOローカルマネージャを隣接するホスト上で起動する。スレーブマネージャは、起動したことを示すために作成応答メッセージを送信する。このメッセージを受信すると、マスタマネージャはクォーラムリーダーになり、Is_quorum_leader関数に対する応答をTRUEに設定する。マスタマネージャが別の隣接するホストが存在すると判断すると(それは、ホストがただちに使用可能ではない場合にはクラスタメンバーシップからの通知を待機する必要がある場合がある)、それは他の隣接するホスト上で第2のスレーブマネージャを起動するためにこのプロセスを繰り返す。3つのQOローカルマネージャを使用することにより、1つのホストが予想外に故障した場合にもホストの過半数がいるクォーラムを維持できる。
図15は、そのスレーブマネージャを実行している1つ以上のクラスタホストの故障後にマスタマネージャによって実行されるアルゴリズムを示す。クラスタメンバーシップは、クラスタホストが故障するとマスタマネージャに通知する。マスタマネージャのホストを隔離する通信故障が、すべてのリモートホストの故障にみせかけられることに留意する。両方のスレーブマネージャが失敗すると、マスタマネージャは、クォーラムが失われたので、Is_quorum_leader関数に対する応答をFALSEに設定する。マスタマネージャが実際に通信故障によってだけ隔離される場合には、スレーブマネージャは2つのホストのクォーラムを別個に形成する。次に、マスタマネージャは、スレーブマネージャを実行しているホストが回復したことをクラスタマネージャが通知するまで待機する。マスタマネージャはそれぞれの回復したスレーブマネージャにマスタアサートメッセージを送信し、応答を待機する。このメッセージは、クォーラムが存在する場合、スレーブマネージャにそれらのクォーラムを放棄するように示唆する。第1のスレーブマネージャがマスタマネージャに応答した後、マスタマネージャは再びクォーラムリーダーになり、Is_quorum_leader関数に対する応答をTRUEに設定する。スレーブマネージャのホストが恒久的に故障した場合、マスタマネージャは代替ホスト上で新しいスレーブマネージャを作成できる(これを行うための方法は図15に説明されていない)。
Claims (3)
- 複数の共用リソースに対するクラスタのアクセスを制御するためにコンピュータクラスタ内で、ホストと呼ばれる複数のコンピュータのアクションを調整するための方法であって、
ホストは、マッピングエージェントを使用して、どのホストにクォーラムオブジェクトをマッピングするのかを判断するためのクラスタメンバーシップを用いて、クラスタの他のホストと通信するためのクォーラムローカルマネージャを作成し、各クォーラムオブジェクトは独立したクォーラムアルゴリズムを使用して共用リソースへのアクセスを制御し、各クォーラムオブジェクトはクラスタ内の2つ以上のホストに割り当てられ、一つのホストが複数のクォーラムオブジェクトのメンバーとなり、
前記クォーラムオブジェクトが確立すると、各ホストのクォーラムローカルマネージャが該ホストがクォーラムオブジェクトのクォーラムリーダーであるか否かを示す値を送信することにより、クォーラムリーダーとして働くホストが決定され、
前記クォーラムリーダーとして働くマスタマネージャは、ホストのクォーラムローカルマネージャであり、該マスタマネージャが隣接するホストにマネージャ作成メッセージを送信することにより、該マネージャ作成メッセージを受信した隣接するホストでスレーブマネージャとして働くクォーラムローカルマネージャが起動し、該スレーブマネージャとしてのクォーラムローカルマネージャが作成応答メッセージを送信し、該作成応答メッセージを受信した前記マスタマネージャがクォーラムリーダーとして識別されることにより、前記クォーラムオブジェクトにホストを追加する、
ことを備える方法。 - 前記スレーブマネージャが前記マスタマネージャの故障を検出した場合、前記スレーブマネージャ間でメッセージを交換することによりクォーラムリーダーを選択する請求項1に記載の方法。
- 前記クォーラムオブジェクトの前記マスタマネージャがすべてのスレーブローカルマネージャの故障を検出した場合、クォーラムリーダーではないことを示す値を送信し、前記スレーブローカルマネージャの回復時にクォーラムリーダーであることを示す値を送信する請求項1に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55142504P | 2004-03-09 | 2004-03-09 | |
US60/551,425 | 2004-03-09 | ||
PCT/US2005/007320 WO2005086756A2 (en) | 2004-03-09 | 2005-03-07 | Scalable, software based quorum architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007528557A JP2007528557A (ja) | 2007-10-11 |
JP4820814B2 true JP4820814B2 (ja) | 2011-11-24 |
Family
ID=34976131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007502894A Expired - Fee Related JP4820814B2 (ja) | 2004-03-09 | 2005-03-07 | スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7320085B2 (ja) |
EP (1) | EP1751660A4 (ja) |
JP (1) | JP4820814B2 (ja) |
WO (1) | WO2005086756A2 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10143142A1 (de) * | 2001-09-04 | 2003-01-30 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält |
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 |
US7644305B2 (en) | 2006-05-18 | 2010-01-05 | Microsoft Corporation | Quorum establishment based on a vote from a voting device |
US7529976B2 (en) * | 2006-05-20 | 2009-05-05 | International Business Machines Corporation | Multiple subsystem error reporting |
JP4505763B2 (ja) | 2007-01-31 | 2010-07-21 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | ノードクラスタの管理 |
US8984108B2 (en) * | 2007-05-03 | 2015-03-17 | Telefonaktiebolaget L M Ericsson (Publ) | Dynamic CLI mapping for clustered software entities |
US7934117B2 (en) * | 2008-01-25 | 2011-04-26 | Microsoft Corporation | Routing token transfer and recovery protocol in rendezvous federation |
US7543046B1 (en) * | 2008-05-30 | 2009-06-02 | International Business Machines Corporation | Method for managing cluster node-specific quorum roles |
US7934118B2 (en) * | 2008-10-24 | 2011-04-26 | Microsoft Corporation | Failure notification in rendezvous federation |
US8127128B2 (en) * | 2009-05-04 | 2012-02-28 | International Business Machines Corporation | Synchronization of swappable module in modular system |
US8060773B1 (en) * | 2009-12-16 | 2011-11-15 | Symantec Corporation | Systems and methods for managing sub-clusters within a multi-cluster computing system subsequent to a network-partition event |
JP5123961B2 (ja) * | 2010-02-04 | 2013-01-23 | 株式会社トライテック | 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム |
JP4981952B2 (ja) * | 2010-06-02 | 2012-07-25 | 株式会社トライテック | 分散コンピューティングシステム |
US8443367B1 (en) | 2010-07-16 | 2013-05-14 | Vmware, Inc. | Federated management in a distributed environment |
US9710344B1 (en) * | 2010-12-13 | 2017-07-18 | Amazon Technologies, Inc. | Locality based quorum eligibility |
US8473775B1 (en) | 2010-12-14 | 2013-06-25 | Amazon Technologies, Inc. | Locality based quorums |
US8812631B2 (en) | 2011-05-11 | 2014-08-19 | International Business Machines Corporation | Method and arrangement for operating a computer cluster |
US9451045B2 (en) | 2011-12-14 | 2016-09-20 | Level 3 Communications, Llc | Content delivery network |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US20140337472A1 (en) | 2012-12-13 | 2014-11-13 | Level 3 Communications, Llc | Beacon Services in a Content Delivery Framework |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US9654353B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with rendezvous services network |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US9264516B2 (en) * | 2012-12-28 | 2016-02-16 | Wandisco, Inc. | Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment |
US10838926B2 (en) * | 2013-10-01 | 2020-11-17 | Sap Se | Transparent access to multi-temperature data |
US9817703B1 (en) * | 2013-12-04 | 2017-11-14 | Amazon Technologies, Inc. | Distributed lock management using conditional updates to a distributed key value data store |
WO2015104833A1 (ja) * | 2014-01-10 | 2015-07-16 | 株式会社日立製作所 | 情報システム及びi/o処理方法 |
WO2016106682A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 一种集群脑裂后仲裁处理方法、仲裁存储装置以及系统 |
US10320703B2 (en) * | 2015-09-30 | 2019-06-11 | Veritas Technologies Llc | Preventing data corruption due to pre-existing split brain |
US10397085B1 (en) | 2016-06-30 | 2019-08-27 | Juniper Networks, Inc. | Offloading heartbeat responses message processing to a kernel of a network device |
US10387273B2 (en) * | 2016-09-16 | 2019-08-20 | Oracle International Corporation | Hierarchical fault tolerance in system storage |
US10346191B2 (en) * | 2016-12-02 | 2019-07-09 | Wmware, Inc. | System and method for managing size of clusters in a computing environment |
US10474532B1 (en) * | 2017-07-28 | 2019-11-12 | EMC IP Holding Company LLC | Automatic fault tolerance in a computing system providing concurrent access to shared computing resource objects |
US11956770B2 (en) * | 2021-05-07 | 2024-04-09 | Verizon Patent And Licensing Inc. | Detection of group membership for coordinated connectivity |
US11595321B2 (en) | 2021-07-06 | 2023-02-28 | Vmware, Inc. | Cluster capacity management for hyper converged infrastructure updates |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314526B1 (en) * | 1998-07-10 | 2001-11-06 | International Business Machines Corporation | Resource group quorum scheme for highly scalable and highly available cluster system management |
US6487622B1 (en) * | 1999-10-28 | 2002-11-26 | Ncr Corporation | Quorum arbitrator for a high availability system |
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 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615256B1 (en) * | 1999-11-29 | 2003-09-02 | Microsoft Corporation | Quorum resource arbiter within a storage network |
US6801937B1 (en) * | 2000-05-31 | 2004-10-05 | International Business Machines Corporation | Method, system and program products for defining nodes to a cluster |
US6847993B1 (en) * | 2000-05-31 | 2005-01-25 | International Business Machines Corporation | Method, system and program products for managing cluster configurations |
US7120681B2 (en) * | 2001-01-30 | 2006-10-10 | International Business Machines Corporation | Cluster control in network systems |
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 |
US6950855B2 (en) * | 2002-01-18 | 2005-09-27 | International Business Machines Corporation | Master node selection in clustered node configurations |
US20050273571A1 (en) * | 2004-06-02 | 2005-12-08 | Lyon Thomas L | Distributed virtual multiprocessor |
-
2005
- 2005-03-07 EP EP05724790A patent/EP1751660A4/en not_active Ceased
- 2005-03-07 US US11/074,260 patent/US7320085B2/en active Active
- 2005-03-07 JP JP2007502894A patent/JP4820814B2/ja not_active Expired - Fee Related
- 2005-03-07 WO PCT/US2005/007320 patent/WO2005086756A2/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314526B1 (en) * | 1998-07-10 | 2001-11-06 | International Business Machines Corporation | Resource group quorum scheme for highly scalable and highly available cluster system management |
US6487622B1 (en) * | 1999-10-28 | 2002-11-26 | Ncr Corporation | Quorum arbitrator for a high availability system |
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 |
Also Published As
Publication number | Publication date |
---|---|
JP2007528557A (ja) | 2007-10-11 |
WO2005086756A2 (en) | 2005-09-22 |
US7320085B2 (en) | 2008-01-15 |
EP1751660A2 (en) | 2007-02-14 |
EP1751660A4 (en) | 2010-06-16 |
US20050262382A1 (en) | 2005-11-24 |
WO2005086756A3 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4820814B2 (ja) | スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ | |
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
US11770447B2 (en) | Managing high-availability file servers | |
EP3357191B1 (en) | Input/output fencing optimization | |
US10664495B2 (en) | System and method for supporting data grid snapshot and federation | |
KR101159322B1 (ko) | 오동작 허용 분산 컴퓨팅 시스템에서의 레플리카 세트의효율적인 변경 | |
JP6382454B2 (ja) | 分散ストレージ及びレプリケーションシステム、並びに方法 | |
US8195976B2 (en) | Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance | |
US7464378B1 (en) | System and method for allowing multiple sub-clusters to survive a cluster partition | |
CN106170782B (zh) | 用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法 | |
US20050283658A1 (en) | Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system | |
US9280428B2 (en) | Method for designing a hyper-visor cluster that does not require a shared storage device | |
EP2434729A2 (en) | Method for providing access to data items from a distributed storage system | |
US11586376B2 (en) | N-way active-active storage configuration techniques | |
US20180314749A1 (en) | System and method for partition-scoped snapshot creation in a distributed data computing environment | |
US7743381B1 (en) | Checkpoint service | |
US7565498B1 (en) | System and method for maintaining write order fidelity in a distributed environment | |
WO2024179427A1 (zh) | 一种双az集群下的容灾方法及相关设备 | |
JP7645085B2 (ja) | 多重系処理システム及び多重系処理システムの制御方法 | |
Balakrishnan et al. | Going beyond paxos | |
Burns | Fastpath Optimizations for Cluster Recovery in Shared-Disk Systems | |
Hasebe et al. | Self-stabilizing passive replication for internet service platforms | |
Zhang et al. | ZooKeeper+: The Optimization of Election Algorithm in Complex Network Circumstance | |
Kemme et al. | Self-Configuration and Elasticity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110209 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110809 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110905 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4820814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |