JP4500490B2 - コンピュータ・クラスタリング・システムにおいて「スプリット・ブレイン」を防止する方法 - Google Patents

コンピュータ・クラスタリング・システムにおいて「スプリット・ブレイン」を防止する方法 Download PDF

Info

Publication number
JP4500490B2
JP4500490B2 JP2002551706A JP2002551706A JP4500490B2 JP 4500490 B2 JP4500490 B2 JP 4500490B2 JP 2002551706 A JP2002551706 A JP 2002551706A JP 2002551706 A JP2002551706 A JP 2002551706A JP 4500490 B2 JP4500490 B2 JP 4500490B2
Authority
JP
Japan
Prior art keywords
server
communication link
communication
network
storage device
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 - Lifetime
Application number
JP2002551706A
Other languages
English (en)
Other versions
JP2004516575A (ja
Inventor
エム.プライス ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of JP2004516575A publication Critical patent/JP2004516575A/ja
Application granted granted Critical
Publication of JP4500490B2 publication Critical patent/JP4500490B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)

Description

【0001】
(発明の背景)
発明の分野
本発明は、コンピュータ・クラスタリング・システムに関し、より詳細には、コンピュータ・クラスタリング・システム・サーバ間の通信の抜け落ちの事象発生時におけるコンピュータ・クラスタリング・システム・リソースおよびデータの可用性および信頼性を向上させる方法に関する。
【0002】
関連技術の説明
一般のコンピュータ・クラスタは、コンピュータ・ネットワークを介して互いに通信する2つ以上のサーバ、および1つまたは複数のネットワーク装置を含む。コンピュータ・クラスタの通常のオペレーション中に、サーバは、コンピュータ・リソースおよびデータを格納し取り出す場所をネットワーク装置に提供する。現在のコンピュータ・クラスタ構成では、コンピュータ・クラスタ・データは、ネットワーク・サーバのいずれかからアクセスされる共有コンピュータ・ディスクに格納される。
【0003】
図1に一般のコンピュータ・クラスタを示している。図1には、コンピュータ・ネットワーク101を介してネットワーク装置130、140、150と通信する2つのネットワーク・サーバ110および120を示している。ネットワーク・サーバ110およびネットワーク・サーバ120は、それぞれ通信回線105および106を介して共有ディスク104と通信する。
【0004】
コンピュータ・クラスタを使用するとき、特に、コンピュータ・クラスタがいくつかのユーザ・ワークステーション、パーソナル・コンピュータ、または他のネットワーク・クライアント装置をサポートしている場合は、コンピュータ・クラスタ・リソースの連続的な可用性を提供することがしばしば望まれる。また、コンピュータ・クラスタリング・システムに接続されている異なるファイル・サーバの間で統一されたデータを維持すること、およびクライアント装置からのこのデータの連続的な可用性を維持することもしばしば望まれる。コンピュータ・クラスタ・リソースおよびデータの信頼性の高い可用性を達成するには、コンピュータ・クラスタがソフトウェアおよびハードウェアの問題および障害に対する耐性をもっている必要がある。一般に冗長コンピュータおよび大容量記憶装置を持つことによって、障害発生時にはバックアップ・コンピュータまたはディスク・ドライブがすぐに引き継ぐことができるというような、上述した必要事項を実行する。
【0005】
図1に示す共有ディスク構成を使用してコンピュータ・クラスタ・リソースおよびデータの信頼性の高い可用性を実装するために現在使用されている手法は、クォーラム(quorum)の概念を伴う。クォーラム(quorum)の概念は、他の任意のネットワーク・サーバからのサービスが途絶(disruption)した場合に、ひとつのネットワーク・サーバがコンピュータ・リソースおよびデータの可用性を制御する権利を有するような、そのネットワーク・サーバが指定された最小数のネットワーク装置を制御する状態に関係する。特定のネットワーク・サーバがクォーラムを獲得する方法は、各サーバおよび他のネットワーク装置が「票(votes)」を投じる観点からうまく説明することができる。例えば、図1の2つのサーバ・コンピュータ・クラスタ構成では、ネットワーク・サーバ110およびネットワーク・サーバ120がそれぞれ1票を投じてどのネットワーク・サーバがクォーラムを有するかを決定する。ネットワーク・サーバのいずれもが票の過半数を獲得していない場合、共有ディスク104は、2つのネットワーク・サーバ110および120の一方が過半数を獲得するように投票し、その結果、相互に理解し受け入れることができるようなやり方でネットワーク・サーバの一方がクォーラムを獲得する。常に1つのネットワーク・サーバのみがクォーラムを有し、これによって、ネットワーク・サーバ110と120の間の通信が途絶し場合に、必ず一方のネットワーク・サーバのみがネットワーク全体の制御を引き受けるようにする。
【0006】
次に、通信途絶時にクォーラムを使用してネットワーク・サーバを使用可能にしようと試みることについて説明する。サーバ110がサーバ120との通信の抜け落ち(loss of communication)を検出することができる理由は主に2つある。第1は、例えば破損(crash)などの、サーバ120でのイベントであり、この場合サーバ120は、もはやクライアントにネットワーク・リソースを提供することができない。第2は、2つのサーバ間のネットワーク101の通信インフラストラクチャでの通信途絶であり、この場合サーバ120は、ネットワーク内で引き続きのオペレーション動作をすることができる。サーバ110がもはやサーバ120と通信できない場合、その最初の動作は、それがクォーラムを有しているかどうかを決定することである。サーバ110は、クォーラムを有していないと決定した場合、共有ディスク104に投票するよう要求するコマンドを、その104に送信することによってクォーラムを獲得しようと試みる。共有ディスク104がサーバ110に投票しない場合、サーバ120から独立してオペレーション動作をすることを回避するために、このサーバ自体をシャットダウンする。この場合、サーバ110は、ネットワーク・サーバ120がクォーラムを有してオペレーション動作をしており、サーバ120がコンピュータ・クラスタを引き続き制御するとみなす。しかし、共有ディスク104がネットワーク・サーバ110に投票した場合、このサーバは、クォーラムおよびコンピュータ・クラスタの制御を獲得し、ネットワーク・サーバ120が正しく動作しないものとみなして、オペレーションを継続する。
【0007】
ネットワークの通信途絶時に複数のネットワーク・サーバのうちの1つがネットワーク・リソースを引き続き提供できるようにするクォーラムの使用は、多くの場合、十分であるが、共有ディスクの使用によって、ネットワーク全体およびディスクに保存されているデータが失われる危険にさらされる。例えば、共有ディスク104が、あるいはネットワーク・サーバ110および120の一方ではなく複数のサーバのどちらもが、オペレーション動作をすることができない場合に、データが永久に失われることがある。さらに、共有ディスク構成では、コンピュータ・クラスタ・サーバは一般に、互いに近接して配置される。このことで、自然災害、または停電によってコンピュータ・クラスタ全体が停止する可能性が生じる。
【0008】
(発明の概要)
本発明は、コンピュータ・クラスタリング・システムにおいてコンピュータ・クラスタ・リソースおよびデータの可用性および信頼性を向上させる方法に関する。それぞれが関連付けられたディスクを有する2つのサーバは、コンピュータ・ネットワークを介して通信する。各サーバは、コンピュータ・ネットワークに接続されたすべてのネットワーク装置のために、コンピュータ・クラスタ・リソースを提供し、コンピュータ・クラスタ・データへのアクセスを提供することができる。通信が抜け落ちた場合、各サーバは、通信の抜け落ちの理由を決定し、オペレーションを継続するべきかどうかを決定する能力を有する。
【0009】
あるネットワーク・サーバが、別のネットワーク・サーバとの通信が抜け落ちたことを検出したとき、その通信の抜け落ちは、通信回線の障害、またはもう一方のネットワーク・サーバの障害のいずれかによるものとすることができる。各ネットワーク・サーバは、ネットワーク・データのミラーされたコピーを有するため、通信の抜け落ちに続いて、ネットワーク・サーバが互いに独立してオペレーション動作を開始しないようにするために、オペレーション動作を維持しているネットワーク・サーバで一連の動作が実行される。これらの動作がなければ、互いに独立してオペレーション動作している複数のネットワーク・サーバは、望ましくない「スプリット・ブレイン(split brain)」モードで存在することになる。このモードでは、ネットワーク・サーバ間でデータのミラーリングが実行されず、その結果、データが破損する可能性がある。
【0010】
コンピュータ・クラスタのオペレーションが開始されたときに、1つのサーバに、コンピュータ・クラスタ・リソースおよびデータの制御が割り当てられ、通信回線に障害が起こった結果としてネットワーク・サーバ間の通信が失われた場合に「生き残る権利(right of survive)」が与えられる。便宜上、通常のオペレーション中に「生き残る権利」を有する1つのネットワーク・サーバを、本明細書では「1次」サーバと呼び、通常のオペレーション中に生き残る権利を有していない任意のサーバを「2次」サーバと呼ぶ。「1次」および「2次」という用語は、サーバの相対的な重要性を意味するのではなく、また、どのサーバが主にネットワーク装置にネットワーク・リソースを提供する責任を負うのかを指すものでもないことに注意されたい。通常のオペレーション中、1次サーバおよび2次サーバは、ネットワーク・リソースを提供するという見地から交換可能である。生き残る権利は、ネットワーク・サーバ間の通信が失われた場合にスプリット・ブレイン問題が確実に起きないようにするために、デフォルトのプロトコルで使用される。
【0011】
1次ネットワーク・サーバが通信の抜け落ちを検出したとき、1次ネットワーク・サーバは、もう一方の2次ネットワーク・サーバに障害が起こった、あるいは2次ネットワーク・サーバがオペレーション動作を継続しないとみなすことができるため、オペレーションを継続することができる。通信の抜け落ちを検出した後すぐに2次ネットワーク・サーバによって実行される一連の動作は、やや複雑である。2次ネットワーク・サーバは、単にオペレーションを停止するのではなく、通信の抜け落ちが1次ネットワーク・サーバの障害によるものであるか、通信回線の障害によるものであるかを推測または決定する。通信回線がオペレーション動作可能な場合、2次ネットワーク・サーバは、1次ネットワーク・サーバに障害がありオペレーション動作をしていないと結論づける。この場合、2次ネットワーク・サーバは、実質的にスプリット・ブレイン問題を引き起こす危険性なしに、引き続き動作する。しかし、2次ネットワーク・サーバは、通信回線に障害があると決定した場合、1次ネットワーク・サーバがオペレーション動作可能であるとみなす。この仮定に応答して、2次ネットワーク・サーバは、スプリット・ブレイン・モードでのオペレーション動作を回避するためにオペレーションを中止する。
【0012】
本発明による重要な利点は、最初に生き残る権利を有していない2次サーバが、1次サーバとの通信の抜け落ちが通信回線の障害によるものではないと決定した場合、オペレーション動作を継続することができることである。通信回線のどんな分析もなしに、2次サーバは、1次サーバとの通信の抜け落ちに応答して自動的にシャットダウンして、スプリット・ブレイン問題を回避することが必要とされる。サーバ間の通信の抜け落ちに応答する本発明の上記の方法では、1次サーバが障害を起こしたときに、スプリット・ブレイン・モードでオペレーション動作をする可能性によって2次サーバを強制的にオフラインにしないため、各ネットワーク・サーバが専用のミラーディスクまたは大容量記憶装置を有するコンピュータ・クラスタの信頼性および可用性が強化されることに注意されたい。
【0013】
従来の「クォーラム」規則を、各ネットワーク・サーバが専用のミラーディスクを有するコンピュータ・クラスタに適用することは、一般には最適ではない。例えば、クォーラムを有するネットワーク・サーバが障害を起こした場合、投票してクォーラムをもう一方のネットワーク・サーバに割り当て直す共有ディスクがない。その結果、従来のクォーラム規則をこの種のコンピュータ・クラスタに直接適用することは、クォーラムを有するネットワーク・サーバが障害を起こした場合に、非クォーラムのネットワーク・サーバが不必要にシャットダウンすることになる。
【0014】
個別のミラーディスクにデータを格納することによって、ネットワーク・データを失う可能性が大幅に減る。ネットワーク・データを失う可能性は、ネットワーク・サーバ間で単一のディスクを共有しているコンピュータ・クラスタでしばしば遭遇する問題であった。さらに、本発明によればサーバは単一のディスクを共有してはいないので、サーバの場所は、ディスク・ドライブ装置に関連付けられたケーブル長によって限定されない。したがって、ネットワーク・サーバおよびその関連付けられたミラーディスクは、他から離れた場所に配置することができる。これによって、自然災害または停電によってコンピュータ・クラスタ全体が使用不可になる可能性が減る。
【0015】
本発明の他の特徴および利点が、以下の説明に記載されており、一部は説明から明らかになり、あるいは本発明を実施することによって学びとることができよう。本発明の特徴および利点は、頭記の特許請求の範囲で特に指摘した手法(instrument)および組合せによって実現し取得することができる。本発明のこれらおよび他の特徴は、以下の説明および頭記の特許請求の範囲からさらに十分に明らかになり、あるいは以下に記載したように本発明を実施することによって学びとることができよう。
【0016】
上記および他の本発明の利点および特徴を取得できるやり方を説明するために、添付の図面に示した本発明の特定の実施形態を参照することによって、上記で簡単に説明した本発明のより詳細な説明を行う。これらの図面は、本発明の一般的な実施形態を示しているにすぎず、したがってその範囲を限定するものとみなされるものではないことを理解した上で、添付の図面を使用して、本発明を他の明細(specificity)および詳細について記載し説明する。
【0017】
(発明の詳細な説明)
本発明は、コンピュータ・クラスタリング・システムにおいてコンピュータ・クラスタ・リソースおよびデータの可用性および信頼性を向上させる方法に関する。コンピュータ。クラスタは、少なくとも2つのサーバを含み、それぞれが専用の大容量記憶装置を有する。サーバは、コンピュータ・ネットワークを介して互いに、また他のネットワーク装置と通信する。データは、各サーバのディスク間でミラーされ、したがってネットワーク装置は、一方のサーバが障害を起こした場合に信頼性の高いデータにアクセスすることができる。通信モジュールは、各サーバ上で動作して、サーバ間の通信が抜け落ちた場合にサーバ自体がシャットダウンするべきかどうかを決定する。
【0018】
「生き残る権利」という用語は、サーバ間の通信回線のエラーのためにサーバ間の通信の抜け落ちが検出された場合に、サーバがオペレーションを継続する権利を有しているかどうかに関連する。例えば、2つのサーバ間の通信の抜け落ちが検出され、こうした抜け落ちが通信回線における物理的破損による場合、生き残る権利を有するサーバは引き続き動作し、一方生き残る権利を有していないサーバはそれ自体でシャットダウンする。上述したように、「1次」サーバは、通信が抜け落ちる前に生き残る権利を有しているサーバであり、「2次」サーバは、サーバ間の通信が抜け落ちる前に生き残る権利を有していないサーバである。
【0019】
「スプリット・ブレイン」という用語は、ネットワーク・サーバごとに専用の大容量記憶装置を有するコンピュータ・クラスタのネットワーク・サーバが互いに独立してミラーリングなしに動作する望ましくない状態、に関連する。本発明がなければ、ネットワーク・サーバ間の通信が失われ、その際に両方のネットワーク・サーバがその後も依然として動作し続けて、もう一方が障害を起こしていると各ノードがみなしているときに、スプリット・ブレインが起こり得る。スプリット・ブレインが起こると、各サーバ上のミラー・データはもはや一致せず、破損することになる。通信回線に物理的な破損があるためにサーバが通信を失った上記の例に関連して、サーバが、その抜け落ちは物理的な破損によるものであると決定することができない場合、それぞれはオペレーション動作を継続し、それ自体のデータをその関連付けられた大容量記憶装置に書き込むことになる。しかし、通信回線が破損しているため、データはミラーされず、その結果大容量記憶装置には矛盾したデータがもたらされることになる。本発明は、通信の抜け落ちの原因が1次サーバの障害による場合に2次サーバがオペレーション動作を継続できるようにしながら、コンピュータ・クラスタがスプリット・ブレイン・モードでオペレーション動作するのを防ぐ。
【0020】
また、本発明の範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造を、含むまたは格納するコンピュータ可読媒体も含む。こうしたコンピュータ可読媒体は、汎用または専用コンピュータからアクセスでき、それらに使用可能な任意の媒体とすることができる。それだけには限定されないが、一例として、こうしたコンピュータ可読媒体には、RAM、ROM、EEPROM、CD−ROM、または他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、またはコンピュータ実行可能命令またはデータ構造の形で所望のプログラム・コード手段を含み、または格納するために使用でき、汎用または専用コンピュータからアクセスできる他の任意の媒体、を含むことができる。情報を、ネットワークまたは他の通信接続(有線、無線、または有線および無線の組合せ)を介してコンピュータに転送または提供するとき、コンピュータは、その接続をコンピュータ可読媒体として適切にみなす。したがって、こうした接続は、適切にコンピュータ可読媒体と呼ばれる。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。コンピュータ実行可能命令には、例えば、汎用コンピュータ、専用コンピュータ、または専用処理装置にある機能または機能群を実行させる命令およびデータが含まれる。
【0021】
図2および以下の説明は、本発明を実装できる適切なコンピューティング環境の簡単で一般的な説明を提供するものである。必ずしも必要ではないが、本発明は、プログラム・モジュールなど、ネットワーク環境でコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で説明する。一般にプログラム・モジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。コンピュータ実行可能命令、関連付けられたデータ構造、およびプログラム/モジュールは、本明細書に開示した方法のステップを実行するプログラム・コード手段の例を表す。こうした実行可能命令または関連付けられたデータ構造の特定のシーケンスは、こうしたステップに記載されている機能を実装するための対応する動作の例を表す。
【0022】
本発明は、パーソナル・コンピュータ、ハンドヘルド装置、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースまたはプログラム可能家庭用電化製品、ネットワークPC、ミニ・コンピュータ、メインフレーム・コンピュータなどを含む多くのタイプのコンピュータ・システム構成とともにネットワーク・コンピューティング環境で実施できることを、当分野の技術者であれば理解されよう。本発明はまた、通信ネットワークを介して(有線リンク、無線リンク、または有線リンクおよび無線リンクの組合せで)リンクされたローカル処理装置およびリモート処理装置でタスクを実行する分散コンピューティング環境でも実施できる。分散コンピューティング環境では、プログラム・モジュールを、ローカルおよびリモートのメモリ記憶装置に配置することができる。
【0023】
図2は、本発明の方法を実施できる代表的なコンピュータ・クラスタ構成を示す。コンピュータ・クラスタは、サーバA210およびサーバB220と呼ぶ2つのサーバを含む。図2にはサーバを2つのみ示しているが、本明細書に開示した一般的な原理を、2つを超えるネットワーク・サーバを有するコンピュータ・クラスタに容易に適合させることができる。サーバA210およびサーバB220は、ファイル・オペレーティング・システム(file operating system)を実行する。ファイル・オペレーティング・システムは、Microsoft Windows(登録商標)NTでもよいが、様々なオペレーティング・システムのうちのどれでも本発明で使用することができる。サーバA210は、ネットワーク・インターフェース211を介してネットワーク201に接続されたコンピュータ212、および大容量記憶装置コントローラ213を介して接続された大容量記憶装置214を含む。同様に、サーバB220は、ネットワーク・インターフェース220を介してネットワーク201に接続されたコンピュータ222、および大容量記憶装置コントローラ223を介して接続された大容量記憶装置224を含む。ネットワーク201は、Ethernet(登録商標)、トークンリング、Arcnet、またはサーバA210およびサーバB220がそれによってネットワーク装置230、240、250と通信できる他の任意のネットワークとすることができる。
【0024】
サーバA210が必ずしもサーバB220と同じ構成要素を有している必要はないが、多くの場合、実際にそうである。別の例では、サーバA210とサーバB220で、プロセッサタイプ、プロセッサ速度、大容量記憶装置のサイズが異なっていてもよく、またはその他のハードウェアの違いがいくつあってもよい。サーバA210およびサーバB220に必要なことは、ファイル・オペレーティング・システムを実行することができ、サーバの一方にあるドライブがもう一方のサーバにミラーできないほど大きくないことだけである。
【0025】
図2に示した実施形態では、サーバA210とサーバB220の間の通信は、専用リンク202を使用して確立される。コンピュータ212は、コンピュータ接続機構215を介して専用リンク202に接続され、コンピュータ222は、コンピュータ接続機構225を介して専用リンク202に接続される。専用リンク202は、当分野の技術者によく知られている様々な手法を使用して実装することができる。一実施形態では、専用リンク212は、Ethernet(登録商標)プロトコルを使用するリンクである。代替は、高速で実行するようにプログラムされたコンピュータ212および222のシリアル通信ポート、またはコンピュータ212および222のパラレル・インターフェースの使用を含む。もう1つの代替によれば、専用リンク202および通信接続機構215および225はなく、サーバA210およびサーバB220の間の通信は、ネットワーク201を介して搬送される仮想回路または仮想チャネルで確立される。専用リンク202の実装に使用するハードウェアの特定のタイプは重要ではなく、データ転送速度が、大容量記憶装置214および224でのデータ転送速度と同等であり、システムのパフォーマンスが限定されなければよい。
【0026】
ネットワーク装置230、240、250は、それぞれネットワーク・インターフェース231、241、251を介してネットワーク201に接続する。これらは、コンピュータ・システム210および220のリソースを使用して、大容量記憶装置214および224に格納されているデータにアクセスするクライアント装置である。ネットワーク装置230、240、および250は、ネットワーク201を介して通信できるものであればどんな装置でもよい。
【0027】
コンピュータ・クラスタのオペレーション中、サーバA210およびサーバB220は、ネットワーク装置230、240、または250のいずれかにリソースを提供することができる。さらに、サーバA210およびサーバB220は、専用リンク202の保全性(integrity)のエラーを感知することができる。サーバA210と通信するネットワーク装置が、大容量記憶装置214にデータを追加する、そこのデータを変更する、あるいはそこからデータを削除するとき、この更新は、専用リンク202を介して大容量記憶装置224にミラーされる。同様に、サーバB220と通信するネットワーク装置が、大容量記憶装置224にデータを追加する、そこのデータを変更する、あるいはそこからデータを削除するとき、この更新は、専用リンク202を介して大容量記憶装置214にミラーされる。図2の実施形態では、データが専用リンク202を介してミラーされるので、ネットワーク201が混雑しない。
【0028】
ミラーリングの結果、大容量記憶装置214および224は、すべてのコンピュータ・クラスタ・データの同じコピーを含んでいる。したがってコンピュータ・クラスタは、大容量記憶装置のいずれかが誤作動した場合も引き続き確実にオペレーション動作をすることができる。ネットワーク装置230、240、250は、大容量記憶装置214の誤作動の結果大容量記憶装置214のデータにアクセスできない場合、大容量記憶装置224のデータにアクセスすることができ、またその逆も可能である。サーバA210およびサーバB220が大容量記憶装置を共有していないため、シングル・ポイント障害(single point of failure)がなく、互いに離して配置することができる。サーバA210およびサーバB220をリモートに配置することによって、両方の大容量記憶装置に同時にアクセスすることを妨げる停電または自然災害の可能性が低減する。
【0029】
サーバA210およびサーバB220を初期構成するとき、オペレータによって、サーバの一方に生き残る権利が割り当てられる。この場合、生き残る権利は、ソフトウェア・フラグとして表され、「オン」または「オフ」のいずれかに設定される。一般に、コンピュータ・クラスタの通常のオペレーション中、生き残る権利のフラグは、ただ1つのサーバのみで「オン」に設定される。初期構成後、生き残る権利のフラグが「オフ」のサーバは、以下により詳しく開示するように、あるネットワーク条件に基づいて生き残る権利のフラグを「オン」にすることができる。
【0030】
サーバ間の通信が失われた場合、どのサーバがクラスタ・オペレーションを続行するためのもので、どのサーバがクラスタ・オペレーションを中止するためのものかを決定するのに「生き残る権利」を使用する。サーバA210とサーバB220の間の通信の抜け落ちが起こるのは主に2つの場合がある。第1の場合は、例えば、サーバの一方がソフトウェア・エラーまたはサーバの停電に遭遇した結果、そのサーバが専用リンク202を介した通信を中止するときに起こる。第2の場合は、専用リンク202の保全性に障害があるときに起こる。
【0031】
上述したように、サーバA210およびサーバB220は、通信障害のタイプを区別することができる。以下の考察では、サーバB220が、コンピュータ・クラスタの通常のオペレーションの初期期間中に生き残る権利を有していることを意味する1次サーバであり、一方サーバA210は、生き残り権利を初期において有していない2次サーバであると仮定する。1次サーバB220がサーバA210からの通信の抜け落ちを検出した場合、サーバB220は、通信の抜け落ちが通信リンク202の障害に起因するかあるいはサーバA210の障害に起因するかに関係なく、生き残る権利の点から見て、オペレーション動作を継続する。
【0032】
2次サーバA210は、サーバB220からの通信の抜け落ちを検出したとき、サーバA210は、それが生き残る権利を引き受けるのに安全であると決定しない場合は、オペレーションを打ち切る。サーバA210が、通信の抜け落ちは通信リンク202の障害によるものであると決定した場合、サーバA210は、1次サーバB220はオペレーション動作可能であるとみなす。したがってサーバA210は、生き残る権利を有していないため、スプリット・ブレイン・モードでのオペレーション動作を避けるためにアクティビティを中止する。しかし、2次サーバA210は、通信リンク202が障害を起こしていないと決定した場合、通信の抜け落ちは、障害を起こしている、またはそうでない場合でももはやネットワークにサービスを提供していない1次サーバ220Bに関連付けられているとみなす。この場合、2次サーバA210は、それ自体に生き残る権利を割り当て、コンピュータ・クラスタにおいてスプリット・ブレインを引き起こす危険性なしにオペレーションを継続する。後者の場合、サーバA210は、そうでない場合は障害があるサーバB220に向けられることになるネットワーク装置230、240、250からのリソースの要求に応えることができる。上記状況のいずれにおいても、1つのサーバのみが、サーバ間で通信の抜け落ちに遭遇した後に、引き続き機能し、これによってスプリット・ブレインの問題が起こるのを防ぐ。
【0033】
図3は、本発明の一実施形態による代表的なコンピュータ・ソフトウェア上で実行する様々なソフトウェア・モジュールの相互関係を示す。図3のシステムおよび構造は、サーバA210が、他のサーバとの通信の抜け落ちを検出した後、引き続き機能すべきかどうかをどのようにして決定し、生き残る権利をどのようにして引き受けるかの一例を表している。コンピュータ・クラスタのオペレーションが起動されたときに、生き残る権利のフラグ306は、自動的に、あるいはシステム管理者によって初期設定される。上述したように、生き残る権利のフラグ306が「オン」に設定されているサーバは、その原因が専用リンク202の保全性のエラーによるか、もう一方のサーバの障害によるかに関係なく、もう一方のサーバとの通信が抜け落ちた場合に引き続き機能する。本明細書で大まかに開示している本発明は、「オン」位置に初期設定された生き残る権利のフラグ306を有し、通信の抜け落ちに遭遇した後にオペレーションを継続する1次サーバにも適用されるが、図3は、生き残る権利のフラグ306が「オフ」位置に設定されている間に通信を失う2次サーバの文脈で以下に詳しく説明する。
【0034】
サーバA210は、コンピュータ・クラスタでオペレーション動作するので、サーバは、図3に示したように、コンピュータ・クラスタの構成要素間でデータを送受信する。データ308は、専用リンク202を介してサーバA210に通信するサーバB220のハートビート信号を表す。本明細書で使用するときは、「ハートビート信号(heartbeat signal)」という用語は、一方のサーバが、もう一方のサーバはオペレーション動作可能であるかどうか、を決定するために使用することができる任意の形式の任意の信号またはデータに適用される。通信接続ドライバ301は、通信接続機構215を制御し、データ308を受信するソフトウェア・モジュールである。同様に、データ309は、ネットワーク201を介して送信されるデータを表す。ネットワーク・インターフェース・ドライバ302は、ネットワーク・インターフェース211を制御し、データ309を受信する。
【0035】
サーバA210は、データ308、およびデータ308および専用リンク210を処理し分析するモジュールを使用して、生き残る権利のフラグ306が「オフ」位置に設定されているときに、サーバB220との通信がその時に失われたとの決定に応答してオペレーションを続行するか打ち切るかを決定することができる。サーバA210は、サーバB220との通信を監視して、データ308が予想通りに受信されているかどうかを決定するサーバ通信検出器を含む。リンク状態検出器304は、サーバB220との通信が失われたときに専用リンク202が障害を起こしたかどうかを決定することができる任意のハードウェア構成要素、ソフトウェア構成要素、またはそれらの任意の組合せである。サーバ通信検出器303およびリンク状態検出器304は、これら2つの構成要素の機能を組み合わせて、単一の構造にすることができるけれども、多くの場合、個別モジュールとされる。
【0036】
この例では、通信検出器303およびリンク状態検出器304は、データ308、および専用リンク202の保全性を監視する。しかし、サーバB220との通信が、専用リンク202ではなく、ネットワーク201およびネットワーク・インターフェース・ドライバ302を使用して送信される代替実施形態では、サーバ通信検出器303およびリンク状態検出器304は、データ309、およびネットワーク201の保全性を監視する。
【0037】
いずれの場合においても、サーバ通信検出器303は、サーバB220のハートビート信号が検出されるかどうかを決定する。サーバB220のハートビート信号が抜け落ちた場合、リンク状態検出器は、ハートビート信号を搬送している通信リンク(例えば、専用リンク202またはネットワーク201)の保全性を分析する。サーバB220との通信の抜け落ちに遭遇したとき、サーバ通信検出器303およびリンク状態検出器304は、この事実、およびハートビート信号を搬送している通信リンクが障害を起こしたように思われるかどうかを通信の抜け落ちのマネージャ(loss of communication manager)305に通知する。次いで通信の抜け落ちのマネージャ305によって、生き残る権利のフラグ306、サーバ通信検出器303およびリンク状態検出器304から受信した情報に基づいて、サーバA210をシャットダウンするか、あるいはサーバAがオペレーション動作を継続するのを許すかを決定する。
【0038】
通信の抜け落ちのマネージャ305によって適用される規則を要約すると、サーバA210は生き残る権利を有していることを生き残る権利のフラグ306が示している場合、サーバA210は、オペレーション動作を継続することが許される。しかし、サーバB220との通信が失われたときに、生き残る権利のフラグ306に従って、サーバA210は生き残る権利を有していない2次サーバであると仮定すると、通信の抜け落ちの原因は通信リンクの障害によるものと決定された場合、通信の抜け落ちのネージャ305によって、サーバA210のオペレーションが打ち切られる。通信の抜け落ちが通信リンクの障害によるものである場合、サーバB220がオペレーション動作可能であるとみなされ、この場合、サーバA210はオペレーションを打ち切り、それによってスプリット・ブレイン・モードでコンピュータ・クラスタをオペレーション動作させる可能性が回避される。
【0039】
一方、サーバA210がサーバB220からの通信の抜け落ちを検出し、通信リンクは障害を起こしていないと、通信の抜け落ちのマネージャ305が決定した場合、通信の抜け落ちのマネージャ305は、サーバB220が正しく動作していないと推測する。サーバA210が2次サーバであると仮定すると、次いで、生き残る権利のフラグ306は、サーバA210が生き残る権利を引き受けることを示す、「オン」位置に設定される。この場合、サーバA210は、サーバB220に以前なされた要求への対応を開始することによって、コンピュータ・クラスタを「再構成(reform)」する。サーバA210は、ネットワーク・インターフェース・ドライバ302に、ネットワーク装置がネットワーク201を介してサーバB220に送信した要求に応えさせるようにするコマンドをネットワーク・インターフェース・ドライバ302に送信することによって、それを行うことができる。
【0040】
図4は、1次サーバ(すなわち生き残る権利を初期状態で有しているサーバ)の障害時にネットワーク・リソースの可用性を向上させるために、本発明の一実施形態に従ってコンピュータ・クラスタの2次サーバ(すなわちまだ生き残る権利を有していないサーバ)で実行するステップを示す流れ図である。図5を参照して以下でより詳しく説明するように、1次サーバは一般に、それが所有する生き残る権利によって、通信の抜け落ちの理由に関係なく引き続きオペレーション動作することができるので、2次サーバとの通信が失われた後、図4に示したステップを実行する必要はないことに注意されたい。
【0041】
まず図4を参照すると、決定ブロック401で、2次サーバAは、サーバBとの信頼性の高い通信を検出しようと試みる。サーバAが、サーバBとの信頼性の高い通信を検出することができた場合、この方法はステップ402に進み、サーバAは、ある時間間隔の間待ち、次いで決定ブロック401を繰り返す。
【0042】
決定ブロック401で、サーバAがサーバBとの信頼性の高い通信を検出しなかった場合、決定ブロック403で、サーバAは、通信リンクの信頼性をチェックする。決定ブロック402で、サーバAが信頼性の高い通信リンクを検出しなかった場合、サーバAは、ステップ405で、スプリット・ブレイン・モードで動作するのを避けるためにクラスタ・アクティビティを中止する。
【0043】
しかし、決定ブロック・ステップ403で、サーバAが信頼性の高い通信リンクを検出した場合、この方法は決定ブロック407に進み、サーバBが障害を起こしたとみなすことになる前にサーバAが要求された時間間隔数の間待ったかどうかが決定される。決定ブロック407に従って、サーバAが要求された時間間隔数の間待たなかった場合、この方法は、ステップ408に進み、サーバAは、1つの時間間隔の間待つ。ステップ408の時間間隔の間待った後、決定ブロック409で、サーバAは、サーバBとの信頼性の高い通信を再度検出しようと試みる。ステップ409で、サーバAが、サーバBとの信頼性の高い通信を検出した場合、この方法はステップ402に戻る。クラスタの再構成前にステップ407、408、409によって定義されたループに従って再確立された通信があるかどうかを繰り返しチェックすることによって、サーバBにおける短時間の非致命的ソフトウェア・エラーで、サーバBの代わりにサーバAがオペレーション動作を開始することを防ぐ。
【0044】
要求された試行数の後、サーバAがサーバBから信頼性の高い通信を検出しなかった場合、サーバAは、ステップ411で、それ自体に生き残る権利を割り当て、次いでステップ412でクラスタを再構成する。ステップ412で、サーバAがクラスタを再構成した後、決定ブロック413で、サーバBから信頼性の高い通信があるかどうかのチェックを再度開始する。サーバBが非終了(non-terminating)ソフトウェア・エラーから回復した場合、クラスタが再構成された後、ハートビート信号の送信を再開したり、あるいはサーバAとの通信を再開したりするかもしれない。サーバBからの通信が検出されない限り、サーバAは、オペレーション動作を続け、決定ブロック413およびステップ414に示すループで、サーバBからの通信があるかどうかを定期的に監視する。決定ブロック413での検出時にサーバBからの通信が再確立された場合、処理はステップ415に進み、任意のディスク・アクセスが許可される前に、ステップ415でサーバBがシャットダウンし、それによってスプリット・ブレイン・モードでのオペレーション、およびサーバAおよびサーバBの大容量記憶装置での関連付けられたデータの不一致が回避される。
【0045】
生き残る権利を有する1次サーバは、図5の方法のステップを実行して、本発明の一実施形態に従ってもう一方のサーバからの通信の抜け落ちに応答する。決定ブロック501で、1次サーバBは、サーバAとの信頼性の高い通信の検出を試みる。サーバBが、サーバAとの信頼性の高い通信を検出することができる場合、この方法はステップ502に進み、サーバBは、ある時間間隔の間待ち、次いで決定ブロック501を繰り返す。
【0046】
決定ブロック・ステップ501で、サーバBがサーバAとの信頼性の高い通信を検出しなかった場合、この方法は決定ブロック507に進み、サーバAが障害を起こしたとみなすことになる前にサーバBが要求された時間間隔数の間待ったかどうかが決定される。決定ブロック507に従って、サーバBが要求された時間間隔数の間待たなかった場合、この方法は、ステップ508に進み、サーバBは、1つの時間間隔の間待つ。ステップ508の時間間隔の間待った後、決定ブロック509で、サーバBは、サーバAからの信頼性の高い通信を再度検出しようと試みる。ステップ509で、サーバBが、サーバAとの信頼性の高い通信を検出した場合、この方法はステップ502に戻る。クラスタの再構成前にステップ507、508、509によって定義されたループを使用して再確立された通信があるかどうかを繰り返しチェックすることによって、サーバAにおける短時間の非致命的ソフトウェア・エラーで、サーバAの代わりにサーバBがオペレーション動作を開始することを防ぐ。
【0047】
要求された試行数の後、サーバBがサーバAから信頼性の高い通信を検出しなかった場合、ステップ512で、サーバBは、クラスタを再構成する。ステップ512で、サーバBがクラスタを再構成した後、決定ブロック513で、サーバAから信頼性の高い通信があるかどうかのチェックを再度開始する。サーバAは、非終了ソフトウェア・エラーから回復した場合、クラスタが再構成された後、ハートビート信号の送信を再開したり、あるいはサーバBとの通信を再開したりするかもしれない。サーバAからの通信が検出されない限り、サーバBは、決定ブロック513およびステップ514に示すループで、サーバAからの通信があるかどうかを定期的に監視し続ける。決定ブロック513での検出時にサーバAからの通信が再確立された場合、処理はステップ516に進み、サーバBがクラスタを再構成して、サーバAの再開されたオペレーション動作に対応する。
【0048】
本発明は、本発明の意図または本質的特性から逸脱することなく他の特定の形態で具現化することができる。記載した実施形態は、あらゆる点で例示的なものにすぎず、制限的なものとみなされないものとする。したがって本発明の範囲は、上記の説明ではなく頭記の特許請求の範囲によって示される。特許請求の範囲の意図および均等物の範囲内のすべての変更は、その範囲内に含まれるものとする。
【図面の簡単な説明】
【図1】 1つのディスクを共有する複数のサーバを有する従来のコンピュータ・クラスタを示すブロック図である。
【図2】 本発明の適切なオペレーティング動作環境を提供するコンピュータ・クラスタの一例を示す図である。
【図3】 サーバが生き残る権利を引き受けるかどうかを決定できるようにする、サーバ内の異なるソフトウェア・モジュール間の通信を示す図である。
【図4】 サーバがそれによってもう一方のサーバとの通信の抜け落ちを検出した後で、生き残る権利を引き受けるかどうかを決定する方法を示す流れ図である。
【図5】 生き残る権利を有するサーバがそれによってコンピュータ・クラスタ内のもう一方のサーバの障害に応答する方法を示す流れ図である。

Claims (22)

  1. サーバ間の唯一のミラーリング・リンクとして役目を果たす通信リンクによって接続されている第1のサーバおよび第2のサーバを含むコンピュータ・クラスタリング・システムであって、当該コンピュータ・クラスタリング・システムにおける通信途絶時に、前記第2のサーバに生き残る権利が割り当てられているコンピュータ・クラスタリング・システムの可用性および信頼性を向上させる方法であって
    前記第2のサーバから前記第1のサーバへの通信の抜け落ちを前記第1のサーバが検出する動作と、
    前記第1のサーバが、前記通信リンクを分析して、前記通信リンクが適切に機能しているかどうかを決定する動作と、
    前記通信リンクが適切に機能していると決定された場合、前記第1のサーバがオペレーションを継続し、前記生き残る権利を引き受ける動作と、
    前記通信リンクが適切に機能していないと決定された場合、前記第1のサーバがオペレーションを打ち切る動作と
    前記第1のサーバがオペレーションを打ち切った後、前記第2のサーバが、オペレーションを継続し、前記第1のサーバに対してなされたネットワーク要求に応える動作と
    を備えることを特徴とする方法。
  2. 通信の抜け落ちを検出する前記動作は、前記第2のサーバによって生成されたハートビート信号を、前記通信リンクを介して検出できないと前記第1のサーバが決定する動作を備えることを特徴とする請求項1に記載の方法。
  3. 前記通信リンクは前記第1のサーバおよび前記第2のサーバを接続する専用リンクを備えることを特徴とする請求項2に記載の方法。
  4. 前記通信リンクは、互いに相互接続され、且つ前記第1のサーバおよび前記第2のサーバに相互接続される1つまたは複数のネットワーク装置を備えるコンピュータ・ネットワークに確立された仮想チャネルを含むことを特徴とする請求項1に記載の方法。
  5. 前記第1のサーバおよび前記第2のサーバのそれぞれは、ファイル・オペレーティング・システムおよび少なくとも1つの接続された大容量記憶装置をさらに備え、
    前記第1のサーバおよび前記第2のサーバのそれぞれは、前記ファイル・オペレーティング・システムを実行して、他のネットワーク装置からの、前記第1のサーバおよび前記第2のサーバのリソースを使用する要求を備えるネットワーク要求に応える
    ことを特徴とする請求項1に記載の方法。
  6. 前記第1のサーバの前記少なくとも1つの接続された記憶装置から、前記第2のサーバの前記少なくとも1つの接続された記憶装置に、データをミラーする動作と、
    前記第2のサーバの前記少なくとも1つの接続された記憶装置から、前記第1のサーバの前記少なくとも1つの接続された記憶装置に、データをミラーする動作と
    をさらに備えることを特徴とする請求項5に記載の方法。
  7. 前記通信リンクは前記第1のサーバおよび前記第2のサーバのみを相互接続する専用通信リンクであり、通信の抜け落ちを検出する前記動作は、
    前記第1のサーバが前記通信リンクを介して前記第2のサーバとの通信を試行する動作と、
    前記第1のサーバが、前記通信リンクを介して前記試行した通信の結果を分析して、前記第1のサーバが前記第2のサーバと通信できないと決定する動作と
    を備えることを特徴とする請求項6に記載の方法。
  8. 前記通信リンクを分析して、前記通信リンクが適切に機能しているかどうかを決定する前記動作は、前記第1のサーバが前記通信リンクの伝送特性をチェックして、その伝送特性が指定するパラメータ内にあるかどうかを決定する動作をさらに備えることを特徴とする請求項1に記載の方法。
  9. 前記通信リンクが適切に機能していると前記第1のサーバが決定した場合、前記第1のサーバはネットワーク装置によって前記第2のサーバになされたネットワーク要求に応える動作をさらに含むことを特徴とする請求項1に記載の方法。
  10. 前記第2のサーバからの通信が回復されていると前記第1のサーバが決定する動作と、
    前記第2のサーバがオペレーションを打ち切る動作と
    をさらに備えることを特徴とする請求項9に記載の方法。
  11. 前記通信リンクは適切に機能していないと前記第1のサーバが決定した場合、前記第1のサーバがオペレーションを打ち切った後、前記第2のサーバが、オペレーションを継続し、前記第1のサーバに対してなされたネットワーク要求に応える動作をさらに備えることを特徴とする請求項1に記載の方法。
  12. サーバ間の唯一のミラーリング・リンクとして役目を果たす通信リンクによって相互接続されている第1のサーバおよび第2のサーバを含むコンピュータ・クラスタリング・システムであって、前記第1のサーバおよび前記第2のサーバのそれぞれは、ファイル・サーバ・オペレーティング・システム、および少なくとも1つの関連付けられた大容量記憶装置を含み、当該関連付けられた少なくとも1つの大容量記憶装置にデータが書き込まれ、またはそこからデータが読み出されることに帰着する要求を受信することができ、前記コンピュータ・クラスタリング・システムの通信途絶時に、前記第2のサーバに生き残る権利が割り当てられているコンピュータ・クラスタリング・システムの可用性および信頼性を向上させる方法であって、
    前記第2のサーバに関連付けられたハートビート信号がもはや前記通信リンクを介して検出されないと前記第1のサーバが決定する動作と、
    前記第1のサーバが、前記通信リンクを分析して、前記通信リンクの保全性のエラーがあるかどうかを決定する動作と、
    前記通信リンクについて保全性のエラーがあると前記第1のサーバが決定した場合、前記第1のサーバはオペレーションを打ち切り、そうでない場合に前記第1のサーバに向けられることになる要求に前記第2のサーバが応えられるように、前記第2のサーバは、前記コンピュータ・クラスタリング・システムを再構成する動作と、
    前記通信リンクの保全性にエラーがないと前記第1のサーバが決定した場合、前記第1のサーバはそれ自体に前記生き残る権利を割り当て、前記第1のサーバは、そうでない場合前記第2のサーバに向けられることになる要求に前記第1のサーバが応えられるように、前記第1のサーバが前記コンピュータ・クラスタリング・システムを再構成する動作と
    を備えることを特徴とする方法。
  13. 前記第2のサーバに関連付けられた前記ハートビート信号はもはや検出されていないと決定する前記動作の前に、前記第1のサーバおよび前記第2のサーバは、前記第1のサーバに属する前記少なくとも1つの大容量記憶装置、および前記第2のサーバに属する前記少なくとも1つの大容量記憶装置に格納されているデータをミラーする動作をさらに備えることを特徴とする請求項12に記載の方法。
  14. データをミラーする前記動作は、前記第1のサーバと前記第2のサーバの間に前記通信リンクを介してデータを送信する動作を備えることを特徴とする請求項13に記載の方法。
  15. 前記第1のサーバが、前記第2のサーバに関連付けられた前記ハートビート信号はもはや検出されていないと決定する前記動作は、
    前記ハートビート信号があるかどうかを前記第1のサーバが前記通信リンクを繰り返し監視する動作と、
    指定された期間の間中、前記通信リンクを繰り返し監視する前記動作中に、前記第1のサーバが前記ハートビート信号を検出しないときに、前記ハートビート信号はもはや検出されないと前記第1のサーバが決定する動作と
    を備えることを特徴とする請求項13に記載の方法。
  16. 前記第1のサーバが前記コンピュータ・クラスタリング・システムを再構成する前記動作の後、
    前記第1のサーバが前記第2のサーバに関連付けられた前記ハートビート信号を再度検出する動作と、
    前記第2のサーバが前記第2のサーバに関連付けられた前記少なくとも1つの大容量記憶装置にアクセスする前にオペレーションを打ち切る動作と
    をさらに備えることを特徴とする請求項12に記載の方法。
  17. サーバ間の唯一のミラーリング・リンクとして役目を果たす通信リンクによって相互接続されている第1のサーバおよび第2のサーバを含むコンピュータ・クラスタリング・システムであって、前記第1のサーバおよび前記第2のサーバのそれぞれは、ファイルサーバオペレーティングシステム、および少なくとも1つの関連付けられた大容量記憶装置を含み、当該関連付けられた少なくとも1つの大容量記憶装置にデータが書き込まれ、またはそこからデータが読み出されることに帰着する要求を受信することができ、前記コンピュータ・クラスタリング・システムの通信途絶時に、前記第2のサーバに生き残る権利が割り当てられているコンピュータ・クラスタリング・システムの可用性および信頼性を向上させる方法であって、
    前記コンピュータ・クラスタリング・システムの通常のオペレーション中に、前記通信リンクを使用して前記第1のサーバおよび前記第2のサーバの間にデータを送信することによって、前記第1のサーバに関連付けられた前記少なくとも1つの大容量記憶装置および前記第2のサーバに関連付けられた前記少なくとも1つの大容量記憶装置にあるデータをミラーする動作と、
    前記第2のサーバは適切に機能していないと前記第1のサーバが決定する動作であって、前記第1のサーバが指定された時間間隔で前記通信リンクを分析する動作と、前記第1のサーバが前記通信リンクを介して前記第2のサーバからの通信の検出に失敗する動作と、前記通信リンクを分析する前記動作に基づいて前記第1のサーバが前記通信リンクの適切な機能を検出する動作とを含む動作と、
    前記第1のサーバが前記コンピュータ・クラスタリング・システムの制御を獲得する動作と、
    前記第1のサーバが、前記コンピュータ・クラスタリング・システムを再構築して、そうでない場合に前記第2のサーバに向けられることになるファイル・サーバ要求を受信する動作と
    を備えることを特徴とする方法。
  18. 前記第1のサーバが前記コンピュータ・クラスタリング・システムの制御を獲得後、前記第2のサーバが適切な機能性を再確立したと前記第1のサーバが決定する動作と、
    前記第2のサーバが、前記第2のサーバに関連付けられた前記少なくとも1つの大容量記憶装置にアクセスする前にオペレーションを打ち切る動作と
    をさらに備えることを特徴とする請求項17に記載の方法。
  19. 第2のサーバおよび第1のサーバと前記第2のサーバを接続し、サーバ間の唯一のミラーリング・リンクとして役目を果たす通信リンクも含むコンピュータ・クラスタリング・システムに含まれる前記第1のサーバにおいて、前記第2のサーバの機能不全に応答して前記第1のサーバが前記コンピュータ・クラスタリング・システムの制御を引き受ける方法であって、
    前記第1のサーバが前記第2のサーバからの通信を検出することに失敗した場合に、前記第1のサーバにおいて格納されている生き残る権利のフラグを検査することを含み、最初は生き残る権利を得ていなかった前記第1のサーバが生き残る権利を有しているかどうかを決定すること、
    前記第2のサーバからの通信の抜け落ちを検出すること、
    通信の抜け落ちに応答して、通信リンクが適切に機能しているかどうかを決定すること、
    前記通信リンクが適切に機能していない場合、前記第1のサーバのオペレーションを打ち切る動作と、および
    前記通信リンクが適切に動作している場合、前記第1のサーバが、最初は生き残る権利を有していないにも関わらず、前記第1のサーバのオペレーションを続行すること
    を備えることを特徴とする方法。
  20. 前記通信リンクは、前記第1のサーバおよび前記第2のサーバの間の専用リンクを備えることを特徴とする請求項19に記載の方法。
  21. 前記通信リンクは、前記第1のサーバ、前記第2のサーバ、および複数のネットワーク装置を相互接続するネットワークに含まれる仮想チャネルを備えることを特徴とする請求項19に記載の方法。
  22. 前記コンピュータ・クラスタリング・システムの通常のオペレーション中で、同時に前記第1のサーバおよび前記第2のサーバが互いに通信している期間、前記第1のサーバに関連付けられた大容量記憶装置と前記第2のサーバに関連付けられた大容量記憶装置との間でデータをミラーすることをさらに備えることを特徴とする請求項19に記載の方法。
JP2002551706A 2000-12-21 2001-12-19 コンピュータ・クラスタリング・システムにおいて「スプリット・ブレイン」を防止する方法 Expired - Lifetime JP4500490B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25747800P 2000-12-21 2000-12-21
US09/855,592 US6785678B2 (en) 2000-12-21 2001-05-14 Method of improving the availability of a computer clustering system through the use of a network medium link state function
PCT/US2001/049600 WO2002050678A1 (en) 2000-12-21 2001-12-19 Method of 'split-brain' prevention in computer cluster systems

Publications (2)

Publication Number Publication Date
JP2004516575A JP2004516575A (ja) 2004-06-03
JP4500490B2 true JP4500490B2 (ja) 2010-07-14

Family

ID=26945994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002551706A Expired - Lifetime JP4500490B2 (ja) 2000-12-21 2001-12-19 コンピュータ・クラスタリング・システムにおいて「スプリット・ブレイン」を防止する方法

Country Status (10)

Country Link
US (2) US6785678B2 (ja)
EP (1) EP1344133B1 (ja)
JP (1) JP4500490B2 (ja)
KR (1) KR100557399B1 (ja)
CN (1) CN1264092C (ja)
AT (1) ATE415661T1 (ja)
AU (2) AU3116702A (ja)
CA (1) CA2428251A1 (ja)
DE (1) DE60136739D1 (ja)
WO (1) WO2002050678A1 (ja)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
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
US6877107B2 (en) * 2001-07-05 2005-04-05 Softwired Ag Method for ensuring operation during node failures and network partitions in a clustered message passing server
US7685126B2 (en) * 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
US7146524B2 (en) * 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
DE10143142A1 (de) * 2001-09-04 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
JP4434543B2 (ja) * 2002-01-10 2010-03-17 株式会社日立製作所 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US7181489B2 (en) * 2002-01-10 2007-02-20 International Business Machines Corporation Method, apparatus, and program for distributing a document object model in a web server 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
US7127512B2 (en) * 2002-02-19 2006-10-24 Qualcomm Inc. Method and apparatus for two-phase commit in data distribution to a web farm
CA2377649C (en) * 2002-03-20 2009-02-03 Ibm Canada Limited-Ibm Canada Limitee Dynamic cluster database architecture
US7631066B1 (en) * 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US7058850B2 (en) * 2002-07-31 2006-06-06 Hewlett-Packard Development Company, L.P. Method and system for preventing data loss within disk-array pairs supporting mirrored logical units
US7076687B2 (en) * 2002-10-16 2006-07-11 Hitachi, Ltd. System and method for bi-directional failure detection of a site in a clustering system
EP2299375A3 (en) 2002-11-14 2012-02-01 EMC Corporation Systems and methods for restriping files in a distributed file system
US20040181707A1 (en) * 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
JP2004302512A (ja) * 2003-03-28 2004-10-28 Hitachi Ltd クラスタコンピューティングシステム、および、そのフェールオーバー方法
US7401254B2 (en) * 2003-04-23 2008-07-15 Dot Hill Systems Corporation Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
US7627780B2 (en) * 2003-04-23 2009-12-01 Dot Hill Systems Corporation Apparatus and method for deterministically performing active-active failover of redundant servers in a network storage appliance
US7334064B2 (en) 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
US7565566B2 (en) * 2003-04-23 2009-07-21 Dot Hill Systems Corporation Network storage appliance with an integrated switch
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法
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
US7475134B2 (en) * 2003-10-14 2009-01-06 International Business Machines Corporation Remote activity monitoring
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
US6859811B1 (en) * 2004-01-15 2005-02-22 Oracle International Corporation Cluster database with remote data mirroring
US7299378B2 (en) * 2004-01-15 2007-11-20 Oracle International Corporation Geographically distributed clusters
US7293198B2 (en) * 2004-03-25 2007-11-06 Emc Corporation Techniques for maintaining operation of data storage system during a failure
US7610373B2 (en) * 2004-05-27 2009-10-27 International Business Machines Corporation Voting mechanism for session invalidation processing in an application server cluster
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8051425B2 (en) * 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
GB0428105D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting and disk failure protection
GB0428108D0 (en) * 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
US8191078B1 (en) * 2005-03-22 2012-05-29 Progress Software Corporation Fault-tolerant messaging system and methods
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
US20060230245A1 (en) * 2005-04-08 2006-10-12 Microsoft Corporation Data storage safety indicator and expander
JP5066080B2 (ja) * 2005-05-06 2012-11-07 マラソン テクノロジーズ コーポレイション 耐障害性コンピュータ・システム
US20060271695A1 (en) * 2005-05-16 2006-11-30 Electronics Line 3000 Ltd. System for remote secured operation, monitoring and control of security and other types of events
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
US7996608B1 (en) 2005-10-20 2011-08-09 American Megatrends, Inc. Providing redundancy in a storage system
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US7551572B2 (en) * 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
KR100877470B1 (ko) * 2005-11-22 2009-01-07 인터내셔널 비지네스 머신즈 코포레이션 소프트웨어 제품 사용 제어 방법과 시스템 및 컴퓨터 판독 가능한 저장 매체
US7979460B2 (en) 2006-02-15 2011-07-12 Sony Computer Entainment America Inc. Systems and methods for server management
US7848261B2 (en) * 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) * 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
JP2007304687A (ja) * 2006-05-09 2007-11-22 Hitachi Ltd クラスタ構成とその制御手段
US7519855B2 (en) * 2006-06-15 2009-04-14 Motorola, Inc. Method and system for distributing data processing units in a communication network
US7822932B2 (en) * 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) * 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7680842B2 (en) * 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7899800B2 (en) * 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7882071B2 (en) * 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7953704B2 (en) 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7770063B2 (en) * 2006-08-26 2010-08-03 International Business Machines Corporation Simulation of failure recovery within clustered systems
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) * 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US7509448B2 (en) * 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7908448B1 (en) 2007-01-30 2011-03-15 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems with write-back cache
US8498967B1 (en) * 2007-01-30 2013-07-30 American Megatrends, Inc. Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
JP4505763B2 (ja) * 2007-01-31 2010-07-21 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ノードクラスタの管理
US7900015B2 (en) * 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US8271757B1 (en) 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US11212733B2 (en) * 2007-10-08 2021-12-28 Qualcomm Incorporated Control of wireless transmission based on node status
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US7984324B2 (en) * 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
CN101299201B (zh) 2008-05-08 2010-06-02 成都市华为赛门铁克科技有限公司 存储系统数据备份方法及装置
US8006129B2 (en) * 2008-10-03 2011-08-23 Cisco Technology, Inc. Detecting and preventing the split-brain condition in redundant processing units
CN101729412B (zh) * 2009-11-05 2012-03-14 北京超图软件股份有限公司 地理信息服务的分布式层次集群方法和系统
US8108715B1 (en) * 2010-07-02 2012-01-31 Symantec Corporation Systems and methods for resolving split-brain scenarios in computer clusters
US8438277B1 (en) * 2010-12-08 2013-05-07 Symantec Corporation Systems and methods for preventing data inconsistency within computer clusters
CN103262046A (zh) * 2010-12-10 2013-08-21 日本电气株式会社 服务器管理装置、服务器管理方法和程序
CN102308559B (zh) * 2011-07-26 2014-04-02 华为技术有限公司 一种用于集群计算机系统的投票仲裁方法及装置
CN102281159A (zh) * 2011-09-06 2011-12-14 曙光信息产业(北京)有限公司 集群系统的恢复方法
US10054933B2 (en) * 2012-03-27 2018-08-21 Sirqul, Inc. Controlling distributed device operations
US20140173330A1 (en) * 2012-12-14 2014-06-19 Lsi Corporation Split Brain Detection and Recovery System
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
CN103647820B (zh) * 2013-12-09 2016-11-23 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
US9639437B2 (en) * 2013-12-13 2017-05-02 Netapp, Inc. Techniques to manage non-disruptive SAN availability in a partitioned cluster
US9965363B2 (en) * 2013-12-14 2018-05-08 Netapp, Inc. Techniques for LIF placement in SAN storage cluster synchronous disaster recovery
CN105849702A (zh) * 2013-12-25 2016-08-10 日本电气方案创新株式会社 集群系统,服务器设备,集群系统管理方法和计算机可读记录介质
US9483369B2 (en) * 2014-01-24 2016-11-01 Verizon Patent And Licensing Inc. Method and apparatus for failover detection and recovery using gratuitous address resolution messages
WO2015162634A1 (en) 2014-04-21 2015-10-29 Hitachi, Ltd. Information storage system
JP2016115239A (ja) * 2014-12-17 2016-06-23 日本電気株式会社 フォールトトレラントシステム、フォールトトレラント方法、及び、プログラム
JP6472508B2 (ja) * 2015-04-06 2019-02-20 株式会社日立製作所 管理計算機およびリソース管理方法
JP6409812B2 (ja) * 2016-04-01 2018-10-24 横河電機株式会社 冗長化装置、冗長化システム、及び冗長化方法
US10205782B2 (en) 2016-04-29 2019-02-12 Netapp, Inc. Location-based resource availability management in a partitioned distributed storage environment
US10671038B2 (en) * 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
US10594553B2 (en) 2016-12-21 2020-03-17 Mastercard International Incorporated Systems and methods for dynamically commissioning and decommissioning computer components
US10503427B2 (en) * 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
CN107147528A (zh) * 2017-05-23 2017-09-08 郑州云海信息技术有限公司 一种存储网关智能防脑裂系统及方法
DE112018003011T5 (de) 2017-06-14 2020-03-05 Hitachi Automotive Systems, Ltd. Steuervorrichtung für fahrzeugmontierte Einrichtung
CN115396752B (zh) * 2022-07-29 2023-05-26 国电南京自动化股份有限公司 一种基于Redis的双平面采集数据方法及系统
CN116743550B (zh) * 2023-08-11 2023-12-29 之江实验室 一种分布式存储集群的故障存储节点的处理方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5978565A (en) * 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5753034A (en) * 1996-09-27 1998-05-19 W. R. Grace & Co. -Conn. Composition and method to remove asbestos
US5892895A (en) * 1997-01-28 1999-04-06 Tandem Computers Incorporated Method an apparatus for tolerance of lost timer ticks during recovery of a multi-processor system
US5991518A (en) * 1997-01-28 1999-11-23 Tandem Computers Incorporated Method and apparatus for split-brain avoidance in a multi-processor system
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
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
US6615258B1 (en) * 1997-09-26 2003-09-02 Worldcom, Inc. Integrated customer interface for web based data management
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6192483B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. Data integrity and availability in a distributed computer system
US6279032B1 (en) * 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
US6145089A (en) * 1997-11-10 2000-11-07 Legato Systems, Inc. Server fail-over system
JPH11175488A (ja) 1997-12-16 1999-07-02 Toshiba Corp サーバシステムおよびフェールオーバ制御方法
US6058400A (en) * 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
US6421787B1 (en) * 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
JP2000040986A (ja) 1998-07-23 2000-02-08 Toshiba Corp 通信ネットワークの異常検出装置
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6983317B1 (en) * 2000-02-28 2006-01-03 Microsoft Corporation Enterprise management system
US6618737B2 (en) * 2000-03-09 2003-09-09 International Business Machines Corporation Speculative caching of individual fields in a distributed object system
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
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

Also Published As

Publication number Publication date
AU2002231167B2 (en) 2005-10-06
US20020083036A1 (en) 2002-06-27
DE60136739D1 (de) 2009-01-08
WO2002050678A8 (en) 2002-09-19
CN1483163A (zh) 2004-03-17
ATE415661T1 (de) 2008-12-15
EP1344133B1 (en) 2008-11-26
KR20030067712A (ko) 2003-08-14
EP1344133A1 (en) 2003-09-17
EP1344133A4 (en) 2007-08-15
CA2428251A1 (en) 2002-06-27
KR100557399B1 (ko) 2006-03-06
JP2004516575A (ja) 2004-06-03
WO2002050678A1 (en) 2002-06-27
US6785678B2 (en) 2004-08-31
US7409395B2 (en) 2008-08-05
US20050033778A1 (en) 2005-02-10
AU3116702A (en) 2002-07-01
CN1264092C (zh) 2006-07-12

Similar Documents

Publication Publication Date Title
JP4500490B2 (ja) コンピュータ・クラスタリング・システムにおいて「スプリット・ブレイン」を防止する方法
US6496942B1 (en) Coordinating persistent status information with multiple file servers
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
US7739541B1 (en) System and method for resolving cluster partitions in out-of-band storage virtualization environments
US6279032B1 (en) Method and system for quorum resource arbitration in a server cluster
US7016946B2 (en) Method and system for establishing a quorum for a geographically distributed cluster of computers
US5996086A (en) Context-based failover architecture for redundant servers
KR100336729B1 (ko) 클러스터형 컴퓨터 시스템을 관리하기 위한 방법 및 장치
US6715098B2 (en) System and method for fibrechannel fail-over through port spoofing
KR100232247B1 (ko) 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법
US20050283641A1 (en) Apparatus, system, and method for verified fencing of a rogue node within a cluster
US20050080895A1 (en) Remote activity monitoring
US20140173330A1 (en) Split Brain Detection and Recovery System
US20030187991A1 (en) System and method for facilitating communication between network browsers and process instances
US20030074596A1 (en) System and method for state preservation in a stretch cluster
JP2009025965A (ja) フェールオーバにおける引き継ぎ先を自律的に変更する計算機システム及び方法
US7533295B2 (en) Two node virtual shared disk cluster recovery
US7003645B2 (en) Use of a storage medium as a communications network for liveness determination in a high-availability cluster
US6594709B1 (en) Methods and apparatus for transferring data using a device driver
US7120821B1 (en) Method to revive and reconstitute majority node set clusters
EP1107119A2 (en) Extending cluster membership and quorum determinations to intelligent storage systems
JPH11353292A (ja) クラスタシステムおよび同システムのフェールオーバ制御方法
JP2002185478A (ja) コンピュータシステムにおける共有資源の排他利用方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040225

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040225

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20041007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20041007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070125

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20070125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070126

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070406

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070914

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20091028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091028

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: 20100419

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4500490

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term