JP2006508470A - クラスタシステムのためのハートビート機構 - Google Patents
クラスタシステムのためのハートビート機構 Download PDFInfo
- Publication number
- JP2006508470A JP2006508470A JP2004557239A JP2004557239A JP2006508470A JP 2006508470 A JP2006508470 A JP 2006508470A JP 2004557239 A JP2004557239 A JP 2004557239A JP 2004557239 A JP2004557239 A JP 2004557239A JP 2006508470 A JP2006508470 A JP 2006508470A
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- node
- file
- constant
- heartbeat
- 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.)
- Withdrawn
Links
- 230000007246 mechanism Effects 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000036541 health Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003862 health status Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- 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/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Cardiology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
クラスタシステムのためのハートビートシステムおよび方法を提供する。クラスタは複数のノードを含む。ノードは、ネットワークを介して1つ以上のデータ記憶装置上のファイルにアクセスする。当該システムは定数ファイルを含み、当該定数ファイルは、複数のノードから、それらがアクティブであることを示すハートビートメッセージを受信しかつ記憶する。ネットワークコントローラは、IEEE1394通信プロトコルに従って定数ファイルを複数のノードに接続する。
Description
発明の分野
この発明はクラスタリング技術に関する。この発明は、ハートビートシステムおよび方法を有するクラスタリングシステムへの特定の用途を見出す。
この発明はクラスタリング技術に関する。この発明は、ハートビートシステムおよび方法を有するクラスタリングシステムへの特定の用途を見出す。
発明の背景
クラスタは単一のシステムとして協働する独立したサーバのグループである。主要なクラスタ構成要素はプロセッサノード、クラスタ相互接続(専用ネットワーク)およびディスクサブシステムである。クラスタはディスクアクセスや、データを管理するリソースを共有するが、別個の各ハードウェアクラスタノードはメモリを共有しない。各ノードはそれ自体の専用のシステムメモリ、ならびにそれ自体のオペレーティングシステム、データベースインスタンスおよびアプリケーションソフトウェアを有する。クラスタは、単一の対称的なマルチプロセッサシステムにわたって高度な障害許容力およびモジュールの増分システム成長を提供し得る。サブシステムが故障した場合には、クラスタリングにより高い可用性が確実にされる。冗長なハードウェア構成要素、たとえば付加的なノード、相互接続および共有ディスクはより高い可用性を提供する。このような冗長なハードウェアアーキテクチャにより単一障害点が避けられ、障害許容力が与えられる。
クラスタは単一のシステムとして協働する独立したサーバのグループである。主要なクラスタ構成要素はプロセッサノード、クラスタ相互接続(専用ネットワーク)およびディスクサブシステムである。クラスタはディスクアクセスや、データを管理するリソースを共有するが、別個の各ハードウェアクラスタノードはメモリを共有しない。各ノードはそれ自体の専用のシステムメモリ、ならびにそれ自体のオペレーティングシステム、データベースインスタンスおよびアプリケーションソフトウェアを有する。クラスタは、単一の対称的なマルチプロセッサシステムにわたって高度な障害許容力およびモジュールの増分システム成長を提供し得る。サブシステムが故障した場合には、クラスタリングにより高い可用性が確実にされる。冗長なハードウェア構成要素、たとえば付加的なノード、相互接続および共有ディスクはより高い可用性を提供する。このような冗長なハードウェアアーキテクチャにより単一障害点が避けられ、障害許容力が与えられる。
データベースクラスタにおいては、各ノードに対するCPUおよびメモリ要件がデータベースアプリケーションごとに異なり得る。性能および費用の要件もデータベースアプリケーションごとに異なる。性能に寄与する1つの要因は、クラスタにおける各ノードがその健康状態および構成を当該クラスタにおける他のノードに知らせ続ける必要があることである。これは、ハートビートと称されるネットワークメッセージをネットワークにわたって定期的に同報通信することによってなされてきた。ハートビート信号は通常、専用のネットワーク、すなわちノード間通信に用いられるクラスタ相互接続を介して送信される。しかしながら、ハートビートメッセージが損失または遅延したりすると、ノードが機能していないという誤った報告がなされるおそれがある。
先行技術のシステムにおいては、クラスタ相互接続は、各ノードにネットワークカードを取付け、適切なネットワークケーブルでこれらを接続し、ワイヤ全体にわたらせるようソフトウェアプロトコルを構成することによって構築されてきた。相互接続は、典型的には、TCP/IPもしくはUDPを実行する低コスト/低速のイーサネット(登録商標)カード、または、RDG(Reliable DataGram)を実行するコンパック(Compaq)のメモリチャネル(Memory Channel)もしくはHMP(Hyper Messaging Protocol)を用いるヒューレット・パッカード(Hewlett-Packard)のHyperfabric/2のような高コスト/高速のプロプラエタリの相互接続であった。低コスト/高速の相互接続はユーザのためにクラスタリングのコストを下げ、実行中の待ち時間を短くするだろう。
この発明は、上述の問題に対処するクラスタリングの新しく有用な方法およびシステムを提供する。
発明の概要
一実施例においては、複数のノードを含むクラスタシステムのためのハートビート機構が提供される。一局面においては、当該システムは、複数のノードからハートビートメッ
セージを受信する定数ファイルを含む。ネットワークコントローラは定数ファイルを複数のノードに接続し、ここで、当該ネットワークコントローラがIEEE1394プロトコルに従って定数ファイルと通信を行なう。
一実施例においては、複数のノードを含むクラスタシステムのためのハートビート機構が提供される。一局面においては、当該システムは、複数のノードからハートビートメッ
セージを受信する定数ファイルを含む。ネットワークコントローラは定数ファイルを複数のノードに接続し、ここで、当該ネットワークコントローラがIEEE1394プロトコルに従って定数ファイルと通信を行なう。
この発明の別の実施例に従うと、クラスタにおけるノードを監視する方法が提供される。定数ファイルは、クラスタにおけるノードから受取った状態メッセージを記憶するために割当てられる。ノードがアクティブであることを示す状態メッセージがクラスタにおけるノードから定期的に受信される。この場合、状態メッセージはIEEE1394通信プロトコルに基づいて受信される。
明細書に援用され、明細書の一部を構成する添付の図面においてシステムおよび方法の実施例が示されるが、当該実施例は、下記の詳細な説明とともに当該システムおよび方法の具体的な実施例を説明するのに役立つ。図面に示される要素の境界(たとえば箱または箱のグループ)が境界の一例を表わすことが理解されるだろう。1つの要素が複数の要素として設計され得るかまたは複数の要素が1つの要素として設計され得ることを当業者は理解するだろう。別の要素の内部の構成要素として示される要素が外部の構成要素として実現され得、逆の場合も同様に実現され得る。
図示される実施例の詳細な説明
以下は、開示全体を通じて用いられる選択された用語の定義を含む。すべての用語の単数形および複数形はともに各々の意味の範囲内である。
以下は、開示全体を通じて用いられる選択された用語の定義を含む。すべての用語の単数形および複数形はともに各々の意味の範囲内である。
この明細書中で用いられる「コンピュータ読取可能媒体」は、信号、命令および/またはデータを実行のために直接的または間接的にプロセッサに供給することに関わるいかなる媒体をも指す。このような媒体は、不揮発性媒体、揮発性媒体および伝送媒体を含むが、これらに限定されない多くの形を取り得る。不揮発性媒体はたとえば光ディスクまたは磁気ディスクを含み得る。揮発性媒体は動的メモリを含み得る。伝送媒体は同軸ケーブル、銅ワイヤおよび光ファイバケーブルを含み得る。伝送媒体はまた、電波および赤外線データ通信中に生成されるような音波または光波の形を取り得る。コンピュータ読取可能媒体の一般的な形は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは他のいずれかの磁気媒体、CD−ROM、他のいずれかの光学媒体、パンチカード、紙テープ、孔のパターンを備えた他のいずれかの物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、他のいずれかのメモリチップもしくはカートリッジ、搬送波/パルス、またはコンピュータが読取ることのできる他のいずれかの媒体を含む。
この明細書中で用いられる「ロジック」は、機能もしくは動作を実行するために、および/または別の構成要素から機能もしくは動作を引起すためにハードウェア、ファームウェア、ソフトウェアおよび/または各々の組合せを含むが、これらには限定されない。たとえば、所望の用途または必要性に基づき、ロジックはソフトウェア制御のマイクロプロセッサ、特定用途向け集積回路(ASIC)などのディスクリートロジックまたはプログラミングされた他の論理素子を含み得る。ロジックはまたソフトウェアとして十分に具体化され得る。
この明細書中で用いられる「信号」は、1つ以上の電気信号、アナログもしくはデジタル信号、信号状態の変化(たとえば電圧上昇/降下)、1つ以上のコンピュータ命令、メッセージ、ビットもしくはビットストリーム、または受信、伝送および/もしくは検出が可能な他の手段を含むが、これらに限定されない。
この明細書中で用いられる「ソフトウェア」は、コンピュータまたは他の電子素子に所望の態様で機能を実行させたり、動作を実行させたり、および/または作動させたりする1つ以上のコンピュータ読取可能および/または実行可能な命令を含むが、これらに限定されない。命令は、動的にリンクされたライブラリからの別個のアプリケーションまたはコードを含むルーチン、アルゴリズム、モジュールまたはプログラムなどのさまざまな形で実現され得る。ソフトウェアはまた、独立プログラム、関数呼出、サーブレット、アプレット、メモリに記憶された命令、オペレーティングシステムの一部、または他の種類の実行可能な命令などのさまざまな形で実現され得る。ソフトウェアの形がたとえば所望のアプリケーションの要件、それが実行される環境、および/または設計者/プログラマの要望などに依存することを当業者は理解するだろう。
図1には、この発明の一実施例に従った単純なクラスタ化されたデータベースシステム100の一実施例が示される。2つのノード、すなわちノード105およびノード110がこの例において示されるが、異なる数のノードが用いられてもよく、異なる構成でクラスタ化されてもよい。データベースクラスタが一例として用いられるが、当該システムは他の種類のクラスタ化されたシステムにも適用可能である。各ノードは、ソフトウェアを実行しかつ情報を処理するコンピュータシステムである。コンピュータシステムはパーソナルコンピュータ、サーバまたは他の計算装置であってもよい。各ノードはさまざまな構成要素および装置、たとえば、1つ以上のプロセッサ115、オペレーティングシステム120、メモリ、データ記憶装置、データ通信バスおよびネットワーク通信装置を含み得る。各ノードは他のノードとは異なる構成を有し得る。一種のクラスタリングシステムの一例が、「1つのノードのキャッシュから別のノードのキャッシュにデータを転送するための方法および装置(“Method and Apparatus for Transferring Data from the Cache of One Node to the Cache of Another Node”)」と題され、この発明の譲渡人に譲渡され、その全体がすべての目的のために引用によりこの明細書中に援用される米国特許第6,353,836号に記載される。
図1をさらに参照すると、ノード105が、クラスタ化されたデータベースシステム100におけるノードの構成例を説明するために用いられる。この実施例においては、ノードは、各ノードが1つ以上のデータ記憶装置125にアクセスできるデータ共有構成でネットワーク接続される。データ記憶装置125は、クラスタにおいて接続されたノードによって共有され得るデータベースファイルなどのさまざまなファイルを保持し得る。ネットワークコントローラ130はノード105をネットワーク135に接続する。オペレーティングシステム120は、ノード105上で実行するソフトウェアアプリケーションとネットワークコントローラ130との間の通信インターフェイスを含む。たとえば、当該インターフェイスは、ネットワーク135の選択された通信プロトコルに従ってプログラミングされたネットワークデバイスドライバ140であってもよい。
ネットワークコントローラ130およびネットワーク135のために用いられ得る通信プロトコルの例には、ファイバチャネル(Fibre Channel)ANSI規格X3.230および/またはSCSI−3 ANSI規格X3.270が含まれる。ファイバチャネルアーキテクチャは、シリアル通信およびストレージI/Oの両方に高速のインターフェイスリンクをもたらす。ネットワークコントローラ130の他の実施例は、とりわけ、Fast−40(Ultra-SCSI)、シリアル・ストレージ・アーキテクチャ(SSA)、IEEE規格1394、非同期転送モード(ATM)、スケーラブル・コヒーレント・インターフェイス(SCI)IEEE規格1596−1992または上述のいくつかの組合せを利用する実施例などの記憶装置125とノード105、110とを接続する他の方法をサポートし得る。
ノード105はさらに、1つ以上の記憶装置125において保持されるデータへのアク
セスを管理および制御するデータベースインスタンス145を含む。クラスタ化されたデータベースシステム100における各ノードがデータベースインスタンスを実行することにより、その特定のノードが記憶装置125において共有データベース上のデータにアクセスしかつ当該データを処理することが可能となるので、ロックマネージャ150が設けられる。当該ロックマネージャ150は、記憶装置125に格納される共有データベースなどの1つ以上のリソース上のロックを認可したり、待ち行列に入れたり、追跡したりすることを担うエンティティである。プロセスが共有データベース上で動作を実行し得る前に、当該プロセスは、データベース上で所望の動作を実行する権利を当該プロセスに与えるロックを得る必要がある。ロックを得るために、プロセスはロックの要求をロックマネージャに伝送する。ネットワークシステムにおけるリソースの使用を管理するために、ロックマネージャがネットワークにおける1つ以上のノード上で実行される。
セスを管理および制御するデータベースインスタンス145を含む。クラスタ化されたデータベースシステム100における各ノードがデータベースインスタンスを実行することにより、その特定のノードが記憶装置125において共有データベース上のデータにアクセスしかつ当該データを処理することが可能となるので、ロックマネージャ150が設けられる。当該ロックマネージャ150は、記憶装置125に格納される共有データベースなどの1つ以上のリソース上のロックを認可したり、待ち行列に入れたり、追跡したりすることを担うエンティティである。プロセスが共有データベース上で動作を実行し得る前に、当該プロセスは、データベース上で所望の動作を実行する権利を当該プロセスに与えるロックを得る必要がある。ロックを得るために、プロセスはロックの要求をロックマネージャに伝送する。ネットワークシステムにおけるリソースの使用を管理するために、ロックマネージャがネットワークにおける1つ以上のノード上で実行される。
ロックは、特定のプロセスがリソースに関する或る権利を与えられたことを示すデータ構造である。多くの種類のロックがある。多くのプロセスで共有され得る種類のロックもあれば、同じリソース上で他のいずれかのロックが認可されるのを妨げる種類のロックもある。ロック管理システムの一例のより詳細な説明が、「ロック管理システムにおける予期ロックモード変換(“Anticipatory Lock Mode Conversions in a Lock Management System”)」と題され、この発明の譲渡人に譲渡され、その全体がすべての目的のために引用によりこの明細書中に援用される米国特許第6,405,274 B1号に見出される。
記憶装置125にアクセスし得るノードをネットワーク上で追跡しかつ管理するために、クラスタ構成ファイル155が保持される。クラスタ構成ファイル155はクラスタにおけるアクティブなノードの現在のリストを含み、これにはノードアドレス、ノードIDおよび接続構造(たとえば隣接ノード、親子ノード)などの識別情報が含まれる。当然、他の種類の情報がこのような構成ファイルに含まれてもよく、その種類のネットワークシステムに基づいて異なっていてもよい。トポロジ変化がクラスタにおいて発生すると、ノードが識別され、クラスタ構成ファイル155がクラスタノードの現在の状態を反映するよう更新される。トポロジ変化の例は、ノードがいつ追加されるか、いつ除去されるかまたはいつ動作を停止させるかを含む。
図1をさらに参照すると、データベースクラスタシステム100はさらに、ノード105とノード110との間にノード間通信をもたらす相互接続ネットワーク160を含む。相互接続ネットワーク160は、ネットワーク上のすべてのノードが互いに双方向通信することを可能にするバスを備える。相互接続160は、同じバスを介して各ノードとメッセージおよびデータのやりとりを行なうためのアクティブな通信プロトコルを提供する。相互接続ネットワーク160に接続されるように、各ノードは、ノードのPCIスロットに差込まれる周辺カードであり得る相互接続バスコントローラ165を含む。コントローラ165はノード間でケーブルを接続するための1つ以上の接続ポート170を含む。3つの接続ポートがポート170に図示されているが、異なる数のポートが用いられてもよい。
一実施例においては、相互接続バスコントローラ165は、ファイアワイヤまたはi.LINKとしても公知であるIEEE1394プロトコルに従って動作する。データベースインスタンス145またはノード105上で実行する他のアプリケーションを相互接続バス160と通信させるために、バスデバイスドライバ175が設けられる。バスデバイスドライバ175はオペレーティングシステム120と作動して、相互接続バスコントローラ165とアプリケーションとのインターフェイスを取る。たとえば、データベースインスタンス145からのデータベースコマンドが、バスデバイスドライバ165によってIEEE1394コマンドまたはオープン・ホスト・コントローラ・インターフェイス(
OHCI)コマンドに翻訳される。IEEE1394OHCI規格は、IEEE1394バスに接続するための標準的なハードウェアおよびソフトウェアを規定する。OHCIは、標準的なレジスタアドレスおよび機能、データ構造、ならびにダイレクトメモリアクセス(DMA)モデルを規定する。
OHCI)コマンドに翻訳される。IEEE1394OHCI規格は、IEEE1394バスに接続するための標準的なハードウェアおよびソフトウェアを規定する。OHCIは、標準的なレジスタアドレスおよび機能、データ構造、ならびにダイレクトメモリアクセス(DMA)モデルを規定する。
IEEE1394は、使いやすく低コストで高速の通信を提供するバスプロトコルである。当該プロトコルは非常に拡張可能であり、非同期アプリケーションおよび等時性アプリケーション(isochronous application)の両方を備え、大量のメモリマップドアドレス空間へのアクセスを可能にし、ピアツーピア通信を可能にする。相互接続バスコントローラ165がIEEE1394a、1394bなどの他のバージョンのIEEE1394プロトコルや、他の将来の変更および増強に対応するよう変更可能であることを当業者は理解するだろう。
IEEE1394プロトコルは、ポイント・ツー・ポイントシグナリング環境を備えたピアツーピアネットワークである。バス160上のノードは、それらの上にいくつかのポート、たとえばポート170を有し得る。これらのポートの各々は中継器として機能し、ノード内の他のポートが受信するいずれのデータパケットをも再伝送する。各ノードは、ネットワークトポロジ/構成の現在の状態を追跡するノードマップ180を保持する。IEEE1394プロトコルは、その現在の形では、単一のバス上で63個までの装置をサポートし、装置への接続は電話機のプラグ差込口に差込むのと同じくらい容易である。ノードおよび他の装置は、最初にノードの電源を切ったりネットワークを再起動したりしなくても直ちに接続され得る。データベースクラスタトポロジの管理が以下により詳細に記載される。
相互接続ネットワーク160を用いれば、ノード105におけるデータベース145は、ノード110またはクラスタにおける他のノード上の実行中のデータベースアプリケーションに対し直接データを要求するかデータを送受信するかまたはメッセージを送信し得る。これにより、1つ以上の中間ステップや付加的なディスクI/Oが必要になったり、待ち時間が増えたりするような、メッセージまたはデータパケットを記憶装置125に送信せざるを得ない状態が回避される。
図2には、IEEE1394規格に基づいた相互接続バスコントローラ165の例が示される。これは3つのISOプロトコル層、すなわちトランザクション層200、リンク層205および物理層210を含む。当該層は、上述において規定されハードウェア、ソフトウェアまたはこれらの両方を含むロジックで実現され得る。トランザクション層200は、3つの基本的な動作、すなわち読出、書込およびロックを用いてバストランザクションを実行するための完全な要求−応答プロトコルを規定する。リンク層205は中間レベル層であり、トランザクション層200および物理層210の両方と相互作用して、データパケットのために非同期および等時性転送サービスを提供する。データ転送を制御する構成要素はデータパケット送信機、データパケット受信機およびクロックサイクルコントローラを含む。
物理層210は、コントローラ165と相互接続バス160の一部を形成するケーブルとの間に電気的および機械的なインターフェイスを提供する。これは物理ポート170を含む。当該物理層210はまた、すべてのノードがアービトレーション機構を用いてバスに公平にアクセスできることを確実にする。たとえば、ノードは、バスにアクセスする必要がある場合、その親ノードに要求を送信し、当該親ノードが当該要求をルートノードに転送する。当該ルートが受信した第1の要求が受入れられると、他のすべての要求が拒否され取消される。ノードがルートに近ければ近いほど受入れられる可能性が高くなる。結果として生ずるアービトレーションの不公平性を解決するために、バスアクティビティの
期間がいくつかの間隔に分割される。ある間隔中に各ノードが一度伝送され、次の間隔まで待機する。当然、アービトレーションのために他の方法が用いられてもよい。
期間がいくつかの間隔に分割される。ある間隔中に各ノードが一度伝送され、次の間隔まで待機する。当然、アービトレーションのために他の方法が用いられてもよい。
物理層210の他の機能は、データ再同期、符号化および復号化、バス初期設定ならびに信号レベルの制御を含む。上述のとおり、各ノードの物理層はまた中継器として機能し、ポイント・ツー・ポイント接続を仮想の同報通信バスに翻訳する。標準的なIEEE1394ケーブルは1.5アンペアまでのDC電力を供給して、遠隔装置を、それらの電源が切られているときでも「認識している(aware)」状態に維持する。物理層はまた、IEEE1394に基づいて、ノードが単一の媒体上でさまざまな速度でデータを伝送することを可能にする。データレート能力が異なるノードまたは他の装置はより遅い装置速度で通信する。
IEEE1394プロトコルに基づいて動作する相互接続バスコントローラ165はアクティブなポートであり、自己監視/自己構成シリアルバスを備える。これは、たとえバスがアクティブであってもユーザが装置を追加したり取除いたりすることを可能にするホットプラグアンドプレイとして公知である。こうして、ノードおよび他の装置が、ネットワーク動作を遮らずに接続および切断され得る。自己監視/自己構成ロジック215は、相互接続バス信号における変化に基づいてクラスタシステムにおけるトポロジ変化を自動的に検出する。ノードのバスコントローラ165は、当該ノードがバスに接続されると、相互接続バス160上にバイアス信号を配置する。自己監視ロジック215を介する隣接ノードが、電圧の変化として現われ得るバイアス信号を自動的に検出する。こうして、検出されたバイアス信号は、ノードが追加されたことおよび/またはノードが依然としてアクティブであることを示す。逆に、バイアス信号がないということは、ノードが除去されたかまたは機能を停止したことを示す。この態様では、トポロジ変化は、ノード間で伝送されるポーリングメッセージを用いなくても検出することができる。ロジック215の自己構成局面が図6および図7に関連してより詳細に説明される。
アプリケーションプログラムインターフェイス(API)層220は、バスデバイスドライバ175へのインターフェイスとしてバスコントローラ165に含まれ得る。これは概して、データ、エンドシステム設計およびアプリケーションをまとめるより高いレベルのシステムガイドライン/インターフェイスを含む。API層220は、データベースインスタンス145(および他のアプリケーション)と相互接続バスコントローラ165との間の通信をカスタマイズするよう所望の特徴でプログラミングされ得る。随意には、API層220の機能は、トランザクション層200またはバスデバイスドライバ175内で全体または一部が実現され得る。
図3を参照すると、この発明のシステムおよび方法が実現され得るデータベースクラスタアーキテクチャ300の一実施例が示される。当該アーキテクチャ300は共有ディスクアーキテクチャとして一般に公知であり、付加的なノードが示されている以外は図1に類似している。概して共有ディスクデータベースアーキテクチャにおいては、ファイルおよび/またはデータはノード間で論理的に共有され、各々のデータベースインスタンスはすべてのデータにアクセスできる。共有ディスクアクセスが、たとえばファイルを保持する1つ以上の記憶装置305への直接的なハードウェア接続性によって達成される。随意には、接続は、すべてのノード上におけるすべての記憶装置305の単一のビューを提供するオペレーティングシステム抽象層を用いることによって実行され得る。ノードA〜Dはまた、ノード相互接続160を介して接続されてノード間通信を提供する。共有ディスクアーキテクチャにおいては、ノード内のいずれかのデータベースインスタンス上で実行されるトランザクションは、記憶装置305上のデータベースのいずれかの部分を直接読出すかまたは変更することができる。アクセスは、上述のように1つ以上のロックマネージャによって制御される。
図4を参照すると、この発明のシステムおよび方法を組込み得るクラスタアーキテクチャの別の実施例が示される。クラスタアーキテクチャ400は典型的には非共有アーキテクチャと称される。非共有アーキテクチャの一例が、「ハイブリッド非共有/共有ディスクデータベースシステム(“Hybrid Shared Nothing/Shared Disk Database System”)」と題され、この発明の譲渡人に譲渡され、その全体がすべての目的のために引用によりこの明細書中に援用される米国特許第6,321,218号に記載される。純粋な非共有アーキテクチャにおいては、データベースファイルは、たとえば、ノードA〜D上で実行するデータベースインスタンス間で分割される。各データベースインスタンスまたはノードはデータの別個のサブセットの所有権を有し、このデータへの全アクセスがこの「所有」インスタンスによって排他的に実行される。ノードはまた相互接続160と接続される。
たとえば、記憶装置A〜Dに記憶されるデータファイルが従業員ファイルを含む場合、当該データファイルは、ノードAが文字A〜Gで始まる従業員名に対する従業員ファイルを制御し、ノードBが従業員名H〜Nに対する従業員ファイルを記憶装置B上で制御し、ノードCが名前「O〜U」に対する従業員ファイルを記憶装置C上で制御し、ノードDが記憶装置D上で従業員ファイル名「V〜Z」を制御するように分割され得る。他のノードからデータにアクセスするために、このようなデータを要求するメッセージが送られるだろう。たとえば、ノードDがノードAによって制御される従業員ファイルを所望する場合、データファイルを要求するメッセージがノードAに送られるだろう。次いで、ノードAが記憶装置Aからデータファイルを検索し、データをノードDに伝送するだろう。この発明のシステムおよび方法が、ツリー構造などの他のクラスタアーキテクチャおよび構成上で、かつ特定の用途に対し所望のとおりに他のデータアクセス権および/または制限で実現され得ることが理解されるだろう。
図5には、図3または図4のクラスタシステムに関連付けられる方法論の一実施例が示される。当該実施例は、相互接続バス160を用いたノード間におけるデータの直接的な送受信を説明する。例示された要素は「処理ブロック」を示し、コンピュータに動作を実行させかつ/または決定を下させるコンピュータソフトウェア命令または命令のグループを表わす。代替的には、処理ブロックは、デジタル信号プロセッサ回路または特定用途向け集積回路(ASIC)などの機能的に同等の回路によって実行される機能および/または動作を表わし得る。図ならびに他の例示された図はいずれかの特定のプログラミング言語の構文を示すものではない。むしろ、当該図は、回路を製作し、コンピュータソフトウェアまたはハードウェアおよびソフトウェアの組合せを作成して例示された処理を実行するために当業者が使用し得る関数情報を例示する。電子的アプリケーションおよびソフトウェアアプリケーションが動的かつフレキシブルなプロセスを含み得るので、例示されたブロックが図示されるものとは異なる他のシーケンスで実行され得、および/またはブロックが組合され得るかもしくは付加的な構成要素に分けられ得ることが理解されるだろう。これらはまた、機械語、手続き型、オブジェクト指向および/または人工知能技術などのさまざまなプログラミング手法を用いて実現され得る。上述のことは、この明細書中に記載されるすべての方法論に適用される。
図5を参照すると、図500は、ノード間相互接続ネットワーク160を用いてノード間でデータを伝達する一例である。ノード(要求ノード)が別のノードからのデータを所望する場合、データ要求メッセージが相互接続バス160を介して宛先ノードに伝送される(ブロック505)。当該データ要求は、ノード名および/またはアドレスを当該要求に添付することによって1つ以上の選択された宛先ノードに直接送信され得る。要求されたデータの位置が未知である場合、データ要求が相互接続ネットワークにおける各ノードに同報通信され得る。
データ要求が適切なノードによって受信されると、データベースインスタンスは、データがそのノード上で利用可能であるかどうかを判断する(ブロック510)。データが利用可能でない場合、データが利用可能でないというメッセージが要求ノードに伝送される(ブロック515)。データが利用可能である場合、データはダイレクトメモリアクセスによってローカルメモリから検索され(ブロック520)、相互接続バスを介して要求ノードに伝送される(ブロック525)。リモートダイレクトメモリアクセスがまた、直接的なメモリ間転送を実行するよう実現され得る。この態様では、メッセージおよびデータは、メッセージまたはデータを共有記憶装置に伝送する必要なしにノード間で直接伝送され得る。ノード間通信は待ち時間を減らし、ディスク入出力の数を減らす。
図6には、IEEE1394バスプロトコルに基づいたクラスタアーキテクチャを再構成する例示的な方法論が示される。データベースクラスタにおけるノードが追加されるか、除去されるかまたは機能を停止する場合、データベースクラスタは変更を検出し、ノードを識別する必要があり、当該クラスタは適切に再構成される必要がある。上述のように、IEEE1394プロトコルに基づいて動作する相互接続バスコントローラ165(図1)はアクティブなポートであり、自己構成シリアルバスを備える。こうして、ノードおよび他の装置がネットワーク動作を遮らずに接続および切断され得る。
たとえば、ノードがバスに追加されると、当該バスがリセットされる(ブロック605)。追加されたノードの相互接続コントローラ165はバス上でバイアス信号を自動的に送信し、隣接ノードがそのバイアス信号を検出し得る(ブロック610)。同様に、ノードが除去されるときにノードのバイアス信号がないことが検出され得る。すなわち、隣接ノードの相互接続コントローラ165は、ノードを追加するかまたは除去することによって引起されるバス信号強度の変化などの相互接続バス160上の信号の変化を検出し得る。次いで、トポロジ変化が、データベースクラスタにおける他のすべてのノードに伝送される。バスノードマップが当該変化に応じて再構築される(ブロック615)。一実施例においては、ノードマップは当該変化に応じて更新され得る。データベースインスタンスが通知され、これが、ロックマネージャに対するアクティブなノードを追跡するようクラスタ構成ファイルを更新する(ブロック620)。当然、図示されたシーケンスの順は他のやり方で実現されてもよい。
IEEE1394プロトコルを用いれば、相互接続コントローラ165は上述の自己監視/自己構成機構を含むアクティブなポートとなる。この機構を用いる場合、データベースクラスタシステムは、ポーリング機構に伴うさらなる待ち時間なしに再構成され得る。というのも、ノードがトポロジにおける変化を実質的に直ちに検出し得るからである。アクティブなポートはまた、ネットワークの電源を切る必要なしにクラスタの再構成を可能にする。
図7には、クラスタを検出および再構成する別の実施例が示される。各ノードは、バイアス信号の有無などのバス信号の変化を検出するために相互接続バスを監視する(ブロック705)。ノードがトポロジ変化を検出すると(ブロック710)、当該ノードはバスを介してバスリセット信号を送信し、自己構成機構を開始する。物理層210によって管理されるこの機構は3つの段階、すなわち、バス初期設定、ツリー識別および自己識別を含み得る。バス初期設定中にアクティブなノードが識別され、樹状の論理トポロジが構築される(ブロック715)。各々のアクティブなノードはアドレスが割当てられ、ルートノードが動的に割当てられ、ノードマップが新しいトポロジで再構築または更新される(ブロック720)。バス自体が構成されると、ノードはバスにアクセスできる。各ノード上のデータベースインスタンスがトポロジ変化について通知される(ブロック725)と、データベースロックマネージャは、共有データベースがクラスタ全体にわたって適切に
管理され得るように当該変化に応じて再構成される(ブロック730)。
管理され得るように当該変化に応じて再構成される(ブロック730)。
ネットワーク135などのネットワーク接続が他の方法で実現され得ることが理解されるだろう。たとえば、これは、ノベル(Novell)、マイクロソフト(Microsoft)、アーティソフト(Artisoft)および他の販売業者から入手できるソフトウェアなどの通信またはネットワーキングソフトウェアを含み得、TCP/IP、SPX、IPX、ならびにツイストペア、同軸もしくは光ファイバケーブル、電話線、衛星、マイクロ波中継装置、無線周波数信号、変調されたAC電力線、および/または当業者に公知の他のデータ伝送線を介する他のプロトコルを用いて動作し得る。ネットワーク135は、ゲートウェイまたは類似の機構を介して他のネットワークに接続可能であり得る。相互接続バス160のプロトコルが無線バージョンを含み得ることも理解されるだろう。
図8を参照すると、データベースクラスタ800のためのハートビートシステムの一実施例が示される。ハートビートシステムは、ノードが、それらがアクティブであり機能していることを示す信号またはメッセージを周期的に生成する機構である。当該機構はまた、ノードが、生成された信号に基づいてクラスタにおける他のノードの健康状態または状態を判断することを可能にする。図示のとおり、クラスタ800はノード805および810を含むが、ノードがいくつクラスタに接続されてもよい。例示されたノードは図1に示されるノードと類似の構成を有し得る。しかしながら、例示の目的で簡略化された構成が示される。
ノード805、810は、データベースファイルなどのファイルを保持する記憶装置815へのアクセスを共有する。当該ノードは、共有ストレージネットワーク820によって記憶装置815に接続される。一実施例においては、ネットワーク820はIEEE1394通信プロトコルに基づいている。互いに通信するために、ノード805、810および記憶装置815はIEEE1394ネットワークコントローラ825を含む。ネットワークコントローラ825は相互接続バスコントローラ165に類似しており、一実施例においては、各々の装置に差込まれるネットワークカードである。代替的には、コントローラはノード内に固定され得る。ネットワークコントローラ825は、ケーブルが各装置間に接続され得るように1つ以上のポートを含む。加えて、他の種類のネットワーク接続、たとえばIEEE1394プロトコルまたは他の類似のプロトコル規格に基づいた無線接続が用いられてもよい。
図8をさらに参照すると、各ノードは、記憶装置815上のファイルへのアクセスを制御するデータベースインスタンス830を含む。リソースがデータベースクラスタ800におけるノード間で共有されるので、各ノードはそれらの健康状態を他のノードに知らせるためのロジックを含み、ネットワーク上の他のノードの健康状態を判断するためのロジックを含む。たとえば、ハートビートロジック835は、予め定められた時間間隔内でハートビートメッセージを生成しかつ伝送するようプログラミングされる。ハートビートメッセージは状態信号とも称される。予め定められた時間間隔は選択されたいかなる間隔であってもよいが、典型的には、数ミリ秒から数秒のオーダ、たとえば300ミリ秒から5秒のオーダである。このため、当該間隔が1秒である場合、各ノードは1秒ごとにハートビートメッセージを伝送するだろう。
一実施例においては、ネットワークロードはハートビート時間間隔を決定する際に要因として用いられる。たとえば、ハートビートメッセージが同じネットワーク上でデータとして伝送される場合、ネットワーク上のハートビートメッセージの周波数が高いことにより、データ伝送プロセスに遅延がもたらされる可能性がある。図8は、この状況によって影響を受ける可能性のあるネットワークを示し、図9は、異なるネットワーク上でハートビートシステムを実現することによりネットワークトラフィックの量を減ずるネットワー
クを示す。図8および図9のネットワークも非共有アーキテクチャとして構成され得ることがさらに理解されるだろう。
クを示す。図8および図9のネットワークも非共有アーキテクチャとして構成され得ることがさらに理解されるだろう。
図8をさらに参照すると、各ノードからのハートビートメッセージが集められ、定数ファイル840に記憶される。この実施例においては、定数ファイル840は、記憶装置815内に規定される1つ以上のファイルまたは区域であり、当該記憶装置815は共有ファイルも保持する。クラスタ800における各ノードは定数ファイル840内にアドレス空間が割当てられて、そこにそのハートビートメッセージが記憶される。定数ファイル840の空間は典型的には等しく分割され、各ノードに割当てられるが、他の構成も可能であり得る。こうして、定数ファイル840は、ファイルが1つのデータ構造として論理的に規定され得るにもかかわらず、クラスタ全体に対する1つのファイルとしてではなく各ノードに対する別個のファイルとして実現され得る。定数ファイルは、1つ以上の記憶場所、レジスタまたは他の種類の記憶区域に記憶されるスタック、アレイ、表、リンクされたリスト、テキストファイルまたは他の種類のデータ構造として実現され得る。ノードの定数空間が一杯になれば、新しいメッセージが受信されるとその空間における最も古いメッセージが押出されるかまたは上書きされる。
図9には、データベースクラスタ900およびハートビートシステムの別の実施例が示される。この実施例においては、ノード905および910は定数ネットワーク920を介して定数装置915と通信する。定数ネットワーク920は共有ストレージネットワーク925とは別個のネットワークである。こうして、ノードは、定数ネットワークとは異なるネットワークバスを用いて記憶装置930上の共有ファイルにアクセスする。定数ネットワーク920は、上述のようにノード間相互接続ネットワークの一部であり得る。定数装置915は、クラスタにおけるノードから受取ったハートビートメッセージを記憶するために定数ファイルを保持するよう構成されたデータストレージを含む。
図9をさらに参照すると、ノード905、910は定数装置915に接続され、IEEE1394通信プロトコルに従って互いに通信する。各ノードおよび定数装置915は、先述のコントローラに類似のIEEE1394コントローラ935を含む。別個のネットワークがファイルとのデータ通信のために構成されるので、各ノードは、記憶装置930と通信を行なう別個の共有ネットワークコントローラ940を含む。共有ネットワークコントローラ940はIEEE1394コントローラであり得るかまたはファイバチャネルプロトコルなどの他のネットワークプロトコルであり得る。各ノード内のデータベースインスタンス945は共有ネットワークコントローラ940を介してデータ要求を処理する。
ハートビートロジック950はハートビート機構を制御し、IEEE1394コントローラ935を用いて定数装置915と通信する。このアーキテクチャを用いると、既存のデータベースクラスタ900内における定数装置915の追加または交換は、既存のネットワークへの影響を最小限に抑えて容易に実行可能である。また、ハートビート機構が別個のネットワークを介して処理されるので、共有ストレージネットワーク925上のトラフィックを減らすことにより、データ処理要求に対するより迅速な応答が可能となる。図8および図9のクラスタがノード間相互接続ネットワークを含み得ることも理解されるだろう。
図10には、以下において共に定数ファイルと称される定数ファイル840または定数装置915で実行されるハートビートシステムの例示的な方法論1000が示される。定数ファイルがデータベースクラスタ内で構成されかつ起動されると、定数ファイル内のメモリがクラスタにおけるノードの各々に割当てられる(ブロック1005)。定数ファイルは等しく分割され得、さらに、各ノードに割当てられ得るかまたは他の割当が規定され
得る。定数ファイルがアクティブになると、当該定数ファイルはIEEE1394プロトコルに従って各ノードからハートビートメッセージを受信する(ブロック1010)。各ハートビートメッセージはノード識別子を含み、当該ノード識別子が、メッセージと当該メッセージの時間を示すタイムスタンプとを送信するノードを識別する。次いで、定数ファイルが受信した各メッセージがそのノードの割当てられた位置に記憶され(ブロック1015)、受信された各々のハートビートメッセージのために当該プロセスが繰返される。
得る。定数ファイルがアクティブになると、当該定数ファイルはIEEE1394プロトコルに従って各ノードからハートビートメッセージを受信する(ブロック1010)。各ハートビートメッセージはノード識別子を含み、当該ノード識別子が、メッセージと当該メッセージの時間を示すタイムスタンプとを送信するノードを識別する。次いで、定数ファイルが受信した各メッセージがそのノードの割当てられた位置に記憶され(ブロック1015)、受信された各々のハートビートメッセージのために当該プロセスが繰返される。
各ノードのために、ハートビートメッセージが、受信される順序で定数ファイルに記憶される。こうして、最後に受信されたタイムスタンプと現在の時間とを比較することにより、当該システムは、どのノードがそれらのハートビートメッセージをアクティブに送信しているかを決定することができる。この情報は、ノードがアクティブであるか否かを示し得る。たとえば、ノードが予め定められた数の連続したタイムスタンプを見落とした場合、問題が起り得ると想定され得る。1つのメッセージを含む各ノードのために任意の数のメッセージが記憶され得る。上述のように、各ノードのハートビートロジックは、予め定められた間隔でハートビートメッセージを生成および伝送するようプログラミングされる。こうして、定数ファイルからデータを読出すことにより、当該ロジックは、いくつかの間隔が見落とされたかどうかを判断することができる。この種類の状態チェックロジックはハートビートロジック835または950の一部であってもよく、図11に関連してより詳細に説明される。
図11は、ノードの健康状態または状態を判断するための方法論の例を示す。上述のとおり、ハートビートロジックは、予め定められた時間間隔で各ハートビートメッセージを生成し、かつ当該メッセージを定数ファイルに伝送するためのロジックを含む。いかなる所望のときにも、ノードのハートビートロジックはそのクラスタ構成ファイルを更新して、アクティブなノードの現在の組を決定し、いずれかのノードが機能を停止したかまたはさもなければネットワークから除去されたかどうかを決定し得る。また、クラスタ全体に亘ってこの決定の同期を取ることもできる。状態チェックロジック(図示せず)が、以下のとおりにこのタスクを実行するようハートビートロジックの一部としてプログラミングされ得る。
状態チェックを開始するために、定数ファイルが、ノードの各々に対するタイムスタンプされた情報を検査するために読出される(ブロック1105)。各ノードのために記憶されるタイムスタンプされたデータに基づき、ロジックは、特定のノードが定数ファイルに書込まれた最後のメッセージの時間に基づいて依然として機能しているかどうかを判断し得る(ブロック1110)。しきい値が設定されることにより、問題が存在し得ることが当該決定によって示される前に予め定められた数のタイムスタンプを見落とすことが可能となる。たとえば、ノードは2つの連続したタイムスタンプを見落としてもよいが、第3のスタンプが見落とされた場合、当該ノードは適切に機能し得ない。しきい値は、他の値、たとえば1の値に設定されてもよい。
ノードが指定された量のタイムスタンプメッセージを見落とした場合(ブロック1120)、それは必ずしもノードが機能を停止したことを意味するものではないかもしれない。ノードがIEEE1394規格に従って定数ファイルに接続されるので、付加的な状態チェックを実行することができる。先に説明したとおり、IEEE1394バスはアクティブであり、当該バスに接続された各装置は、隣接するノードが機能を停止しているかどうかまたはネットワークから取除かれているかどうかを検出し得る。この付加的な情報は、ノードの健康状態をよりよく判断するのに役立ち得る。状態ロジックは、定数ファイルからのタイムスタンプ情報とIEEE1394コントローラによって保持されるノードマップデータとを比較し得る。
たとえば、ノードがそのタイムスタンプを見落とし(ブロック1120)、当該ノードがノードマップにおいてアクティブなノードでない(ブロック1125)場合、当該ノードがダウンしていると推定されるかまたはネットワークから除去されたと判断される(ブロック1130)。しかしながら、ノードがそのタイムスタンプを見落とすが当該ノードがノードマップにおいて依然としてアクティブである場合、ことによると当該ノードがハングアップするか、または他の何らかの遅延がクラスタに存在する可能性がある(ブロック1135)。この場合には、プロセスは、そのノードに対する定数ファイルを随意に再チェックして、新しいタイムスタンプが受信されたかどうか、起こり得る遅延を示すメッセージが生成され得るかどうか、および/またはノードがアクティブなノードのリストから除去され得るかどうかを判断し得る。
判断ブロック1120を再び参照すると、ノードがそのタイムスタンプを見落とさなければ、当該ノードはおそらく適切に機能している。しかしながら、ノードがノードマップにおいてアクティブであるかどうかをチェックすることにより追加の決定が下され得る(ブロック1140)。ノードがアクティブであれば(ブロック1145)、当該ノードは適切に機能している。ノードがアクティブでなければ(ブロック1150)、ネットワークバスのエラーが存在する可能性がある。こうして、定数ファイルおよびIEEE1394バスのノードマップの両方からの情報を用いて、ノードの健康状態のより詳細な分析が決定され得る。さらに、共有ストレージネットワーク925がIEEE1394バスでもある実施例における図9に示されるクラスタ構成においては、2つの別個のネットワークノードマップが保持される。付加的なノードマップがまた、上述の比較プロセスおよび状態チェックに含まれてもよい。
図11を再び参照すると、簡略化された実施例が実現され得る。判断ブロック1120では、ノードがそのタイムスタンプを書込むのに失敗した場合、ロジックはそのノードが機能していないことを宣言し、データベースインスタンスのクラスタ構成ファイルからそれを除去し得る。このプロセスにおいてはノードマップは検査されない。
この明細書中に記載されるさまざまな記憶装置が定数ファイルを割当てるための定数装置を含み、多数の方法で実現され得ることが理解されるだろう。たとえば、記憶装置は、磁気ディスクドライブまたは光ディスクドライブ、テープドライブ、電子メモリなどの1つ以上の専用の記憶装置を含み得る。記憶装置はまた、コンピュータ、サーバ、携帯用処理装置、または、データを保持するためのストレージ、メモリもしくはこれらの組合せを含む類似の装置を含み得る。記憶装置はまた、いかなるコンピュータ読取可能媒体であってもよい。
この発明のシステムおよび方法のさまざまな構成要素を実現するための好適なソフトウェアは、ここに呈示される教示やプログラミング言語およびツール、たとえばJava(登録商標)、Pascal、C++、C、CGI、Perl、SQL、API、SDK、アセンブリ、ファームウェア、マイクロコードならびに/または他の言語およびツールなどを用いて当業者によって容易に提供される。ソフトウェアとして具体化される構成要素は、コンピュータを所定の態様で動作させるコンピュータ読取可能/実行可能な命令を含む。当該ソフトウェアは製品としてであってもよく、および/または、先に規定したようにコンピュータ読取可能媒体に記憶されてもよい。
この発明がその実施例を説明することにより例示され、その実施例がかなり詳細に説明されてきたが、出願人の意図は、添付の特許請求の範囲をこのような詳細に制限するかまたは何らかの方法で限定することではない。付加的な利点および変形例が当業者には容易に明らかとなるだろう。したがって、この発明は、そのより広範な局面においては、特定
の詳細、代表的な装置ならびに図示および説明される具体例には限定されない。したがって、出願人の一般的な発明の概念の精神または範囲から逸脱せずにこのような詳細からの逸脱が可能である。
の詳細、代表的な装置ならびに図示および説明される具体例には限定されない。したがって、出願人の一般的な発明の概念の精神または範囲から逸脱せずにこのような詳細からの逸脱が可能である。
Claims (35)
- 複数のノードを含むクラスタのためのハートビート機構であって、システムは、
前記複数のノードからハートビートメッセージを受信するための定数ファイルと、
前記定数ファイルを前記複数のノードに接続するためのネットワークコントローラとを含み、前記ネットワークコントローラは、IEEE1394プロトコルに従って前記定数ファイルとの通信を提供する、ハートビート機構。 - 前記ネットワークコントローラはIEEE1394カードである、請求項1に記載のハートビート機構。
- 前記定数ファイルは記憶装置内に割当てられるメモリを含む、請求項1に記載のハートビート機構。
- 前記記憶装置は前記定数ファイルと前記複数のノードによって共有されるファイルとをともに含む、請求項3に記載のハートビート機構。
- 前記ネットワークコントローラによって保持され、前記IEEE1394プロトコルに基づいてアクティブなノードを識別するためのノードマップをさらに含む、請求項1に記載のハートビート機構。
- 前記ノードマップによって書込まれた前記定数ファイルにおけるハートビートメッセージと前記ノードとを比較することにより前記複数のノードからノードの状態を決定するための状態ロジックをさらに含む、請求項5に記載のハートビート機構。
- 前記ハートビートメッセージはタイムスタンプを含む、請求項1に記載のハートビート機構。
- 前記クラスタはデータベースクラスタである、請求項1に記載のハートビートシステム。
- クラスタ化されたシステムであって、
1つ以上の共有ファイルと、
ともにクラスタ化され、前記共有ファイルへの通信アクセスを有する複数のノードと、
IEEE1394プロトコルに基づいて前記複数のノードの各々と通信するよう構成された定数ファイルとを含み、前記定数ファイルは前記複数のノードの各々からの状態メッセージを記憶する、クラスタ化されたシステム。 - 前記定数ファイルは1つ以上の第1の記憶装置上に保持され、前記共有ファイルは前記第1の記憶装置とは別個の1つ以上の第2の記憶装置上で保持される、請求項9に記載のクラスタ化されたシステム。
- 前記定数ファイルおよび前記共有ファイルは1つ以上の共通の記憶装置上で保持される、請求項9に記載のクラスタ化されたシステム。
- 前記共有ファイルと前記複数のノードとの間に通信を提供するための第1のネットワークと、
前記定数ファイルと前記複数のノードとの間に通信を提供するための第2のネットワークとをさらに含む、請求項9に記載のクラスタ化されたシステム。 - 前記第1のネットワークおよび前記第2のネットワークはIEEE1394プロトコルに基づいてデータを通信する、請求項12に記載のクラスタ化されたシステム。
- 前記第1のネットワークおよび前記第2のネットワークは同じネットワークである、請求項12に記載のクラスタ化されたシステム。
- 前記状態メッセージはタイムスタンプを含む、請求項9に記載のクラスタ化されたシステム。
- 前記1つ以上の共有ファイルと前記定数ファイルとの両方に前記複数のノードを接続するための共通ネットワークをさらに含む、請求項9に記載のクラスタ化されたシステム。
- 前記複数のノードの各々に保持され、状態メッセージを定期的に生成し、前記IEEE1394プロトコルに従って前記状態メッセージを前記定数ファイルに伝送するハートビートロジックをさらに含む、請求項9に記載のクラスタ化されたシステム。
- 前記クラスタ化されたシステムはデータベースクラスタを含む、請求項9に記載のクラスタ化されたシステム。
- クラスタにおけるノードを監視する方法であって、
前記クラスタにおけるノードから受取った状態メッセージを記憶するための定数ファイルを割当てるステップと、
ノードがアクティブであることを示す状態メッセージを前記クラスタにおけるノードから定期的に受信するステップとを含み、前記状態メッセージはIEEE1394通信プロトコルに基づいて受信される、方法。 - 前記IEEE1394通信プロトコルに基づいて前記クラスタにおいてアクティブなノードのノードマップを保持するステップをさらに含む、請求項19に記載の方法。
- 前記定数ファイルにおける状態メッセージと前記ノードマップとを比較することによりノードがアクティブであるかどうかを判断するステップをさらに含む、請求項20に記載の方法。
- 選択された時間間隔で状態メッセージを生成し、前記IEEE1394通信プロトコルに従って前記状態メッセージを前記定数ファイルに伝送するステップをさらに含む、請求項19に記載の方法。
- 前記割当てるステップは、前記定数ファイルの部分を前記ノードの各々に等しく割当てるステップを含む、請求項19に記載の方法。
- 前記割当てるステップは、前記ノードによってアクセスされるファイルを含む記憶装置において前記定数ファイルを規定するステップを含む、請求項19に記載の方法。
- 前記割当てるステップは、IEEE1394コントローラを含む定数装置において前記定数ファイルを規定するステップを含む、請求項19に記載の方法。
- ハートビートシステムであって、
複数のノードと、
前記複数のノードから送信されたハートビートメッセージ情報を記憶するための定数区域と、
前記定数ファイルを前記複数のノードに伝達するためのネットワークコントローラとを含み、前記ネットワークコントローラはIEEE1394プロトコルに従って前記定数ファイルとの通信を提供する、ハートビートシステム。 - 前記定数区域は前記複数のノードとは異なるネットワーク上で保持される、請求項26に記載のハートビートシステム。
- 前記定数区域は定数ファイルを割当てるための手段を含む、請求項26に記載のハートビートシステム。
- 前記複数のノードの各々に保持され、ハートビートメッセージ情報を定期的に生成し、これを前記IEEE1394プロトコルに従って前記定数区域に伝送するハートビートロジックをさらに含む、請求項26に記載のハートビートシステム。
- 前記複数のノードは共有ディスクアーキテクチャまたは非共有アーキテクチャにおいてクラスタ化される、請求項26に記載のハートビートシステム。
- クラスタにおけるノードを監視する方法であって、
前記クラスタにおけるノードから受取った状態メッセージを記憶するための定数ファイルを割当てるステップと、
前記ノードがアクティブであることを示す状態メッセージを前記クラスタにおけるノードから定期的に受信するステップとを含み、前記状態メッセージはIEEE1394通信プロトコルに基づいて受信される、方法。 - アクティブなノードのノードマップを保持するステップをさらに含む、請求項31に記載の方法。
- 前記定数ファイルにおける状態メッセージと前記ノードマップとを比較することによりノードがアクティブであるかどうかを判断するステップをさらに含む、請求項32に記載の方法。
- 前記割当てるステップは、前記ノードによってアクセスされるファイルを含む記憶装置において前記定数ファイルを規定するステップを含む、請求項31に記載の方法。
- 前記割当てるステップは、前記クラスタにおける前記ノードとは別個のネットワーク上で保持される記憶装置において前記定数ファイルを規定するステップを含む、請求項31に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/305,483 US7451359B1 (en) | 2002-11-27 | 2002-11-27 | Heartbeat mechanism for cluster systems |
PCT/US2003/037172 WO2004051479A2 (en) | 2002-11-27 | 2003-11-19 | Heartbeat mechanism for cluster systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006508470A true JP2006508470A (ja) | 2006-03-09 |
JP2006508470A5 JP2006508470A5 (ja) | 2006-12-14 |
Family
ID=32467763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004557239A Withdrawn JP2006508470A (ja) | 2002-11-27 | 2003-11-19 | クラスタシステムのためのハートビート機構 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7451359B1 (ja) |
EP (1) | EP1565823B1 (ja) |
JP (1) | JP2006508470A (ja) |
CN (1) | CN1717658A (ja) |
AU (1) | AU2003294409A1 (ja) |
CA (1) | CA2505155A1 (ja) |
DE (1) | DE60328515D1 (ja) |
WO (1) | WO2004051479A2 (ja) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451359B1 (en) * | 2002-11-27 | 2008-11-11 | Oracle International Corp. | Heartbeat mechanism for cluster systems |
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 |
JP2005196467A (ja) | 2004-01-07 | 2005-07-21 | Hitachi Ltd | ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置 |
WO2005101837A1 (en) | 2004-04-09 | 2005-10-27 | Warner Bros. Entertainment Inc. | Motion picture distribution system and related method |
WO2006023934A1 (en) * | 2004-08-20 | 2006-03-02 | Warner Bros. Entertainment Inc. | Video delivery system and related method |
US7664994B2 (en) | 2004-09-08 | 2010-02-16 | Hewlett-Packard Development Company, L.P. | High-availability cluster node removal and communication |
DE102004062034A1 (de) * | 2004-12-23 | 2006-07-13 | Robert Bosch Gmbh | Repeaterknoten für ein Netzwerk |
US20060242453A1 (en) * | 2005-04-25 | 2006-10-26 | Dell Products L.P. | System and method for managing hung cluster nodes |
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 |
US7610345B2 (en) | 2005-07-28 | 2009-10-27 | Vaporstream Incorporated | Reduced traceability electronic message system and method |
US9282081B2 (en) | 2005-07-28 | 2016-03-08 | Vaporstream Incorporated | Reduced traceability electronic message system and method |
WO2007105271A1 (ja) * | 2006-03-10 | 2007-09-20 | Fujitsu Limited | ネットワーク・システム |
US7539755B2 (en) * | 2006-04-24 | 2009-05-26 | Inventec Corporation | Real-time heartbeat frequency regulation system and method utilizing user-requested frequency |
US8122108B2 (en) * | 2006-05-16 | 2012-02-21 | Oracle International Corporation | Database-less leasing |
US7661015B2 (en) * | 2006-05-16 | 2010-02-09 | Bea Systems, Inc. | Job scheduler |
US9384103B2 (en) * | 2006-05-16 | 2016-07-05 | Oracle International Corporation | EJB cluster timer |
US20080201440A1 (en) * | 2007-02-15 | 2008-08-21 | Void Communications, Inc. | Electronic Messaging Recordlessness Warning and Routing System and Method |
US20080281959A1 (en) * | 2007-05-10 | 2008-11-13 | Alan Robertson | Managing addition and removal of nodes in a network |
US8156219B2 (en) * | 2007-08-03 | 2012-04-10 | At&T Intellectual Property I, L.P. | System and method of health monitoring and fault monitoring in a network system |
US8880585B1 (en) | 2007-12-27 | 2014-11-04 | Amazon Technologies, Inc. | Peer-to-peer quorum sensing |
CN101234018B (zh) * | 2008-02-26 | 2010-07-14 | 中兴通讯股份有限公司 | 心跳检测方法、系统和中央处理单元 |
US8010832B2 (en) * | 2008-07-25 | 2011-08-30 | International Business Machines Corporation | Transitional replacement of operations performed by a central hub |
US9128770B2 (en) * | 2008-11-25 | 2015-09-08 | Citrix Systems, Inc. | Systems and methods for GSLB auto synchronization |
US9235448B2 (en) * | 2008-11-25 | 2016-01-12 | Citrix Systems, Inc. | Systems and methods for batchable hierarchical configuration |
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 |
US8341231B2 (en) * | 2010-01-07 | 2012-12-25 | Fujitsu Limited | Systems and methods for processing heartbeat messages |
US8694625B2 (en) | 2010-09-10 | 2014-04-08 | International Business Machines Corporation | Selective registration for remote event notifications in processing node clusters |
US20120066694A1 (en) | 2010-09-10 | 2012-03-15 | International Business Machines Corporation | Event overflow handling by coalescing and updating previously-queued event notification |
US8850262B2 (en) * | 2010-10-12 | 2014-09-30 | International Business Machines Corporation | Inter-processor failure detection and recovery |
EP2629399A1 (en) * | 2010-10-15 | 2013-08-21 | Sanyo Electric Co., Ltd. | Management system and system controller |
US8984119B2 (en) | 2010-11-05 | 2015-03-17 | International Business Machines Corporation | Changing an event identifier of a transient event in an event notification system |
DE102010043659B4 (de) * | 2010-11-09 | 2012-06-21 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren zum Betreiben eines Bussystems, Bussystem und Haushaltsgerät mit einem Bussystem |
US8667126B2 (en) | 2010-12-03 | 2014-03-04 | International Business Machines Corporation | Dynamic rate heartbeating for inter-node status updating |
US8634328B2 (en) | 2010-12-03 | 2014-01-21 | International Business Machines Corporation | Endpoint-to-endpoint communications status monitoring |
US8433760B2 (en) | 2010-12-03 | 2013-04-30 | International Business Machines Corporation | Inter-node communication scheme for node status sharing |
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 |
US8634330B2 (en) | 2011-04-04 | 2014-01-21 | International Business Machines Corporation | Inter-cluster communications technique for event and health status communications |
US8683170B1 (en) | 2011-09-23 | 2014-03-25 | Netapp, Inc. | Consistent distributed storage communication protocol semantics in a clustered storage system |
US9203900B2 (en) * | 2011-09-23 | 2015-12-01 | Netapp, Inc. | Storage area network attached clustered storage system |
US8930064B2 (en) * | 2011-10-27 | 2015-01-06 | Snap-On Incorporated | Method and system for automated and manual data capture configuration |
CN102325196A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 分布式集群存储系统 |
US8769089B2 (en) | 2011-11-15 | 2014-07-01 | International Business Machines Corporation | Distributed application using diagnostic heartbeating |
US8874974B2 (en) * | 2011-11-15 | 2014-10-28 | International Business Machines Corporation | Synchronizing a distributed communication system using diagnostic heartbeating |
US9244796B2 (en) | 2011-11-15 | 2016-01-26 | International Business Machines Corporation | Diagnostic heartbeat throttling |
US8756453B2 (en) | 2011-11-15 | 2014-06-17 | International Business Machines Corporation | Communication system with diagnostic capabilities |
US8903893B2 (en) * | 2011-11-15 | 2014-12-02 | International Business Machines Corporation | Diagnostic heartbeating in a distributed data processing environment |
US20150169598A1 (en) | 2012-01-17 | 2015-06-18 | Oracle International Corporation | System and method for providing a persistent snapshot of a running system in a distributed data grid |
JP6168052B2 (ja) * | 2012-05-31 | 2017-07-26 | 株式会社ニコン | 移動電子機器およびプログラム |
US8965921B2 (en) * | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
US8756708B2 (en) | 2012-07-13 | 2014-06-17 | NETFLIX Inc. | System and method for detecting active streams using a heartbeat and secure stop mechanism |
DE102012218429A1 (de) | 2012-10-10 | 2014-04-10 | Zumtobel Lighting Gmbh | System zur Funktionsüberwachung einer Stromschleife |
US9742877B2 (en) | 2012-12-04 | 2017-08-22 | International Business Machines Corporation | Clustering support across geographical boundaries |
RU2543316C2 (ru) * | 2012-12-25 | 2015-02-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ отказоустойчивого выполнения задач по расписанию в распределенных средах |
US9178772B2 (en) * | 2013-06-25 | 2015-11-03 | Cisco Technology, Inc. | Cumulative node heartbeat relay agents in constrained computer networks |
US9742685B2 (en) * | 2013-09-26 | 2017-08-22 | International Business Machines Corporation | Enhanced mechanisms for granting access to shared resources |
CN103684929B (zh) * | 2013-12-27 | 2017-01-25 | 乐视云计算有限公司 | 服务器状态的监控系统及方法 |
CN104503871A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮电子信息产业股份有限公司 | 一种基于小型机系统全冗余模型的实现方法 |
CN105991720B (zh) * | 2015-02-13 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 配置变更方法、设备及系统 |
US10810179B2 (en) * | 2015-09-25 | 2020-10-20 | Microsoft Technology Licensing, Llc | Distributed graph database |
US10341252B2 (en) * | 2015-09-30 | 2019-07-02 | Veritas Technologies Llc | Partition arbitration optimization |
CN106936662B (zh) | 2015-12-31 | 2020-01-31 | 杭州华为数字技术有限公司 | 一种实现心跳机制的方法、装置及系统 |
CN106940671B (zh) * | 2016-01-05 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
CN106027623A (zh) * | 2016-03-14 | 2016-10-12 | 中国科学院计算技术研究所 | 分布式集群状态管理的方法及其系统 |
US10652125B2 (en) * | 2016-04-05 | 2020-05-12 | Vmware, Inc. | System and method for managing multiple remote-office and branch-office (ROBO) sites |
US10417839B2 (en) | 2016-05-25 | 2019-09-17 | Navigation Research Company | System and method for vehicle assessment and uses thereof |
CN106446031A (zh) * | 2016-08-31 | 2017-02-22 | 天津南大通用数据技术股份有限公司 | 一种大规模集群数据库快速节点替换方法 |
US10114633B2 (en) * | 2016-12-08 | 2018-10-30 | International Business Machines Corporation | Concurrent I/O enclosure firmware/field-programmable gate array (FPGA) update in a multi-node environment |
CN106873918A (zh) * | 2017-02-27 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种虚拟化系统中的存储设置方法及装置 |
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 |
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 |
US10459782B2 (en) | 2017-08-31 | 2019-10-29 | Nxp Usa, Inc. | System and method of implementing heartbeats in a multicore system |
US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
DE102018101103A1 (de) * | 2018-01-18 | 2019-07-18 | Volkswagen Aktiengesellschaft | Verfahren und Computerprogramme für eine Überwachungsinstanz und eine Kommunikationskomponente, Überwachungsinstanz, Kommunikationskomponente, System und Fahrzeug |
CN108958984B (zh) * | 2018-08-13 | 2022-02-11 | 深圳市证通电子股份有限公司 | 基于ceph的双活同步在线热备方法 |
US11108730B2 (en) | 2018-09-27 | 2021-08-31 | Hewlett Packard Enterprise Development Lp | Group heartbeat information in a domain name system server text record |
US10826812B2 (en) | 2018-10-07 | 2020-11-03 | Hewlett Packard Enterprise Development Lp | Multiple quorum witness |
US10628242B1 (en) | 2018-12-24 | 2020-04-21 | Lendingclub Corporation | Message stream processor microbatching |
US10819622B2 (en) * | 2018-12-24 | 2020-10-27 | Lendingclub Corporation | Batch checkpointing for inter-stream messaging system |
US10778530B2 (en) * | 2018-12-27 | 2020-09-15 | Intel Corporation | Device discovery using heartbeat signals |
CN109857344B (zh) * | 2019-01-30 | 2022-05-20 | 平安科技(深圳)有限公司 | 基于共享内存的心跳状态判断方法、装置和计算机设备 |
CN110018932B (zh) * | 2019-03-26 | 2023-12-01 | 中国联合网络通信集团有限公司 | 一种容器磁盘的监控方法及装置 |
CN110677493B (zh) * | 2019-10-11 | 2022-04-01 | 深圳市网心科技有限公司 | 服务状态确定方法及装置、计算机装置及存储介质 |
US11457065B1 (en) * | 2020-09-25 | 2022-09-27 | Amazon Technologies, Inc. | Service fleet rate adjustment |
US11397632B2 (en) * | 2020-10-30 | 2022-07-26 | Red Hat, Inc. | Safely recovering workloads within a finite timeframe from unhealthy cluster nodes |
CN114143175B (zh) * | 2021-10-15 | 2024-08-02 | 湖南麒麟信安科技股份有限公司 | 主备集群实现方法及系统 |
CN114167845B (zh) * | 2021-12-23 | 2023-12-05 | 广东嘉腾机器人自动化有限公司 | 一种plc与设备的通讯离线诊断方法和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151688A (en) * | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US5890154A (en) * | 1997-06-06 | 1999-03-30 | International Business Machines Corp. | Merging database log files through log transformations |
US6353836B1 (en) | 1998-02-13 | 2002-03-05 | Oracle Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
US6393485B1 (en) | 1998-10-27 | 2002-05-21 | International Business Machines Corporation | Method and apparatus for managing clustered computer systems |
US6405274B1 (en) | 1998-12-30 | 2002-06-11 | Oracle Corporation | Anticipatory lock mode conversions in a lock management system |
US6321218B1 (en) | 1999-02-24 | 2001-11-20 | Oracle Corporation | Automatically determining data that is best suited for index tuning |
US6779039B1 (en) * | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
US6754171B1 (en) * | 2000-05-18 | 2004-06-22 | Enterasys Networks, Inc. | Method and system for distributed clock failure protection in a packet switched network |
US6553836B2 (en) * | 2000-07-21 | 2003-04-29 | John T. Williams | Surface acoustic wave (SAW) accelerometer |
US7076553B2 (en) * | 2000-10-26 | 2006-07-11 | Intel Corporation | Method and apparatus for real-time parallel delivery of segments of a large payload file |
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 |
US20030061340A1 (en) * | 2001-09-25 | 2003-03-27 | Mingqiu Sun | Network health monitoring through real-time analysis of heartbeat patterns from distributed agents |
US7451359B1 (en) * | 2002-11-27 | 2008-11-11 | Oracle International Corp. | Heartbeat mechanism for cluster systems |
-
2002
- 2002-11-27 US US10/305,483 patent/US7451359B1/en active Active
-
2003
- 2003-11-19 AU AU2003294409A patent/AU2003294409A1/en not_active Abandoned
- 2003-11-19 EP EP03789892A patent/EP1565823B1/en not_active Expired - Lifetime
- 2003-11-19 DE DE60328515T patent/DE60328515D1/de not_active Expired - Lifetime
- 2003-11-19 JP JP2004557239A patent/JP2006508470A/ja not_active Withdrawn
- 2003-11-19 CA CA002505155A patent/CA2505155A1/en not_active Abandoned
- 2003-11-19 WO PCT/US2003/037172 patent/WO2004051479A2/en active Application Filing
- 2003-11-19 CN CNA2003801044280A patent/CN1717658A/zh active Pending
-
2008
- 2008-09-30 US US12/286,464 patent/US7590898B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1717658A (zh) | 2006-01-04 |
WO2004051479A3 (en) | 2004-11-11 |
CA2505155A1 (en) | 2004-06-17 |
US7590898B2 (en) | 2009-09-15 |
AU2003294409A1 (en) | 2004-06-23 |
US7451359B1 (en) | 2008-11-11 |
EP1565823B1 (en) | 2009-07-22 |
WO2004051479A2 (en) | 2004-06-17 |
DE60328515D1 (ja) | 2009-09-03 |
EP1565823A2 (en) | 2005-08-24 |
US20090043887A1 (en) | 2009-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006508470A (ja) | クラスタシステムのためのハートビート機構 | |
US7069349B2 (en) | IPMI dual-domain controller | |
US6934878B2 (en) | Failure detection and failure handling in cluster controller networks | |
JP4618654B2 (ja) | 並列処理コンピュータ・システムにおけるデータ通信方法 | |
US6065037A (en) | Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system | |
JPH11316748A (ja) | 並列処理コンピュ―タ・システムにおけるデ―タの転送方法 | |
JPH11316746A (ja) | 拡張可能な並列処理コンピュ―タ・システムにおけるデ―タ通信方法 | |
US20040243769A1 (en) | Tree based memory structure | |
JPH11316749A (ja) | デ―タ・ストレ―ジ・システムにおける冗長デ―タの識別方法 | |
US20030158933A1 (en) | Failover clustering based on input/output processors | |
JPH11328135A (ja) | 並列処理コンピュ―タ・システム | |
JP2000187560A (ja) | メモリ・システムの構成方法 | |
KR20060040684A (ko) | 인피니밴드(InfiniBand)분산형 시스템-영역네트워크 집중 관리 제공 방법, 시스템, 컴퓨터 프로그램제품 | |
US8103754B1 (en) | Reserving a shared volume in a multiple node data storage system | |
US7409432B1 (en) | Efficient process for handover between subnet managers | |
JP4653490B2 (ja) | 相互接続を有するクラスタリングシステムおよび方法 | |
US6823397B2 (en) | Simple liveness protocol using programmable network interface cards | |
US7499987B2 (en) | Deterministically electing an active node | |
US8819200B2 (en) | Automated cluster node configuration | |
JP2004199682A (ja) | 高可用性クラスタにおける活性判定用通信ネットワークとしての記憶媒体の使用 | |
CN112527192A (zh) | 数据获取方法、装置及服务设备 | |
US7284001B2 (en) | Data file system, data access node, brain node, data access program storage medium and brain program storage medium | |
KR100361076B1 (ko) | 이중화 시스템의 메모리 공유 방법 및 이를 이용한 이중화 시스템 | |
Farazdel et al. | Understanding and using the SP Switch | |
US20030182479A1 (en) | Implementing clustering in raid controllers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061026 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061026 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081016 |