JP4106014B2 - 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム - Google Patents

少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム Download PDF

Info

Publication number
JP4106014B2
JP4106014B2 JP2003417234A JP2003417234A JP4106014B2 JP 4106014 B2 JP4106014 B2 JP 4106014B2 JP 2003417234 A JP2003417234 A JP 2003417234A JP 2003417234 A JP2003417234 A JP 2003417234A JP 4106014 B2 JP4106014 B2 JP 4106014B2
Authority
JP
Japan
Prior art keywords
node
disk
write access
data
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 - Fee Related
Application number
JP2003417234A
Other languages
English (en)
Other versions
JP2004199682A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004199682A publication Critical patent/JP2004199682A/ja
Application granted granted Critical
Publication of JP4106014B2 publication Critical patent/JP4106014B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

高可用性クラスタにおいては、障害が発生したリモート・ノードとネットワーク分割イベントを区別することが非常に重要である。というのはこれらのイベントが非常に異なるやり方で処理されるからである。遺憾ながらネットワーク分割は、リモート・ノードの障害が提示するものと同じ1組の症状をシステム監視ルーチンに提示する。特に、障害が発生したノードからリソースを引き継ぐことは安全だが、ネットワーク分割が原因で障害が発生したように見えるノードの場合にリソースを引き継ぐことは安全ではない。
本発明によって解決される問題を論じる前に、本発明が最も有利に用いられる状況および環境について述べておくことは有益である。具体的には、本発明は複数ノード・データ処理システムで動作する。この種の例示的なシステムは、本発明の譲受人、インターナショナル・ビジネス・マシーンズ・コーポレーションが製造販売するデータ処理マシンであるpSeriesに見られる。例示的なシステムは複数の独立したデータ処理ノードを含み、それぞれが各自の独立したメモリと各自のオペレーティング・システム・ソフトウェアを備える(ただし、特定の問題に対して大量の処理を行う典型的なノード構成においては、たいていの場合、割り当てられたすべてのノード上で同じオペレーティング・システムを用いることに留意されたい)。これらのシステムは、明確なユーザ指定のデータ処理目標を達成するために、並列式と分散式の両方で動作する。この種の例示的マシンは通常、メッセージの交換を介して、おそらくIBMのメッセージ・パッシング・インターフェース(MPI)などの公的に定義されたプロトコルを介して通信を行う。特定の問題を解決するため、あるいはより高度の可用性を提供するために、それらのノードを選択ノードのクラスタに編成することができる。pSeriesのマシンではHACMP(高可用性クラスタ多重処理)と呼ばれるプログラム製品によってこの編成を調整することができる。HACMPは、ノード、ネットワークまたはアダプタの障害、あるいはそれらの組合せに障害が発生した場合でも、アプリケーションが稼動し続けることができるようにする。また、存在するノードのいくつかまたはすべてが、随時、様々なノード・グループに参加したりグループから離れたりできることにも留意されたい。ノード障害が発生した場合には、HACMPは、障害が発生したノードの作業を他のノードが再開できる機構を提供する。しかし、特にユーザのアプリケーションがデータ処理に長い時間を要する場合、または再始動が実際的でない場合、あるいはその両方の場合は、ユーザのアプリケーション作業を続行できることが重要である。したがって、グループのメンバー構成は流動的である。この流動性によって、作業が行われている実際のノードとは無関係にデータ処理作業を続行できるようになる。したがって、分散および並列処理環境においては、グループ・メンバー構成の流動性が強力な効果をもたらすことがわかる。ただし前述のように、ネットワーク分割によって提供される流動性は、監視システム(たとえばHACMP)には、ノード障害が発生したと見えることもある。したがって、ネットワーク障害またはノードのネットワーク・アダプタすべてにおける障害によって生じた可能性があるイベントと実際のノード障害とをいかに区別するかが問題となる。
これら2つの場合の区別を示すためにいくつかの技法を使用することができる。具体的には、主要通信ネットワークに障害が発生した場合にバックアップ通信経路を提供する、共用ディスク経路を使ってノード活性検査を実行することができる。主要通信経路は、予備のIPベース(インターネット・プロトコル)のネットワーク、およびRS−232ポートおよび線などの非IPネットワークの使用も含む。
本発明では活性判定媒体として共用ディスクを用いる。分散クラスタにおいて共用ディスクを活性判定サブシステムから見て通信ネットワークとして動作させる技法を導入する。他のクラスタ・サブシステムは共用ディスクを「クォーラム装置」としてまたはバックアップ通信基板として使用するが、このディスクを「ハートビート・ネットワーク」の一部として使用するサブシステムはない。このディスクをクォーラム装置として使用しても機能するが、その場合は「分割」の両側で強制的に回復手順が実施される。他方、「ディスク・ハートビート」では、分割されたそれぞれの側はもう一方の側が活動状態にあることを知っているので、分割の両側が以前と同様に作業を続けることができる。
本発明の一実施形態によれば、活性情報を伝えるための少なくとも2つの経路が存在し、その経路の少なくとも1つが共用ディスクを含み、前記共用ディスク経路が実際上連続的にかつ他の活性判定経路と並行して使用されるデータ処理ノードのクラスタにおいて、活性を判定する方法が提供される。これにより、その使用の際に始動オーバヘッドを必要とする2次通信経路に頼って活性を判定する必然性がなくなる。そうした2次通信経路の使用は通常、異なる通信経路を介した活性障害の表示によってトリガされる。これとは異なり、本発明が提供するディスク通信経路は、実質上連続的でかつ並列な方式で動作する。ノード活性を判定するに当たり、共用ディスク通信経路は、他のより典型的な経路を介して受信した活性判定信号と同等の資格で関与することができる。
共用ディスク(または他の不揮発性記憶媒体)を通る適切な通信経路を提供するために、共用ディスクは、クラスタにおけるそれ自体のノードと関連する制御セクタおよびデータ・セクタを含む。各制御セクタは読取り部分と書込み部分を含む。その書込み部分に書き込むことができるのはそれに関連するノードだけである。読取り部分は、それを所有するノード以外のノードが読み取るためのデータを含む。この構造が連続番号とあいまって、共用ディスクは活性(または他の)情報用の独立した通信経路として動作できるようになる。
したがって、本発明の一目的は、ノード間通信用の新規で別個の独立したネットワーク経路を有効に提供するような形で共用ディスクを使用することである。
本発明の他の目的は、複数ノード・データ処理システムにおける活性判定機構として共用ディスクを使用することである。
本発明の別の目的は、共用ディスク機構を使用することによって新規で独立した通信経路を提供し、その経路が活性判定に使用される他の経路と同等と見なされるようにすることである。
本発明の別の目的は、ディスクに基づく活性判定チャネルの随時の確立に伴うオーバヘッドを回避することである。
本発明の他の目的は、共用ディスク(または他の不揮発性記憶装置)を使用するためのプロトコルを提供して、そのディスクがネットワーク通信チャネルとしても機能できるようにすることである。
本発明の別の目的は、不必要なディスク・アクセス動作を回避することによって効率的に前述の共用ディスク通信経路を使用することである。
本発明の別の目的は、データだけを含むセクタを含むデータ構造を提供するのみならず、制御情報とデータ情報の両方を含む情報のセクタを転送することもできる不揮発性記憶システムのデータ構造を提供することである。
最後に、それだけに限らないが、本発明の目的は、特に既存の共用データ記憶リソースを利用しそれらを予想外のやり方で使用することによって、複数ノード・データ処理システムの信頼性と性能を向上させることである。
以上、本発明の様々な実施形態によって実現される望ましい目的を本明細書中に列挙したが、これは、本発明の最も一般的な実施形態においてまたはそのより具体的ないずれかの実施形態において、これらの目的のいずれかまたは全部が、個別にまたは総体的に不可欠な特徴として存在することを提示または示唆するものではない。
本発明と見なされる主題は、特許請求の範囲で具体的に指摘し明確に特許請求する。ただし、本発明の構成および実施方法、ならびにそのさらなる目的および利点については、添付の図面と関連して示す以下の詳細な説明を参照することによって最も適切に理解することができる。
1−背景
前提として、「アダプタ」という用語は、本明細書中で使用する場合、ハードウェア・データ処理ノードを様々な形式の通信ネットワークまたは交換機に接続する通信装置を指すことに留意されたい。前述のpSeries製品では、あるノードから指定されたノードに、より詳細には、指定されたノードに接続されたアダプタの1つにメッセージを送信する役割を交換機またはネットワークが果たす。ノードが活性かどうか、および適切なアダプタが機能しているかどうかの判定は、特にそれが通信上の問題から発生するノード障害の現れ方に関連するため、高可用性分散クラスタ・データ処理システムの核心をなす。高可用性サービスを提供するには、システム中のどのノード、どのネットワーク、どのネットワーク・アダプタが機能しているかをクラスタ・システムが判定できなければならない。これらの構成要素のいずれかに障害が発生した場合には、それを検出し、その障害に関する情報をより高水準のソフトウェア・サブシステムに渡し、可能な場合は、クラスタ・ソフトウェアおよびアプリケーション・プログラムによって回復する必要がある。
ノード、ネットワーク、およびネットワーク・アダプタが活性かどうかの判定は、しばしば、分散システムの各ノードで実行中のデーモン・プロセスを使用することによって行われる。デーモンは分散プロトコルを実行し、データ処理システム中の異なるネットワーク経路を強制的に通過する活性メッセージを交換する。そうした活性メッセージを所定の時間内に受信しない場合は、送信側ノードまたはネットワーク・アダプタのいずれかが機能していないと想定される。すなわち、そのノードは、それ以外のノードからは「死んでいる」と見なされる。
高可用性データ処理クラスタにおいては、アダプタ、ネットワーク、およびノード・イベントの正確な判定は非常に重要である。というのは、クラスタ・マネージャ・サブシステムがそうしたイベントに反応して、エンド・ユーザにクラスタ・リソースが依然として利用可能であるように見せようとするからである。たとえば、クラスタ内のあるノードに障害が発生すると、クラスタ・マネージャは、障害が発生したノードによってホスティングされまたは制御されているリソースを、稼動中の別のノードに移動させる。(前述のpSeriesのデータ処理システムにおいては、クラスタ・マネージャのこの機能はHACMPと呼ばれるプログラム製品によって提供される。)そうした場合に、あるノードが故障している(「死んでいる」)ことが検出された場合、そのクラスタの正しい挙動は、検出された故障ノードが実際に故障していることに依存する。そうではなく、そのノードが実際には故障していない場合、クラスタ内に同じリソースを制御しようとするノードが2つ存在する可能性が極めて高い。そうしたリソースの同時並行は、特にそのリソースがディスクである場合は、クラスタに破壊的な影響を及ぼす可能性があり、その場合は、結果としてデータベースやファイル・システムが破壊される可能性がある。
図1に、本発明が用いられる複数ノードの共用記憶環境を示す。便宜上、ノードを4つだけ示す。具体的には、ノード1、ノード2、ノード3、ノード4(それぞれ参照番号101〜104)は不揮発性記憶装置110にアクセスすることができる。本発明の動作および利点をより容易に理解できるようにするには、この記憶装置が回転式磁気ディスク記憶装置を含むものであると考えると最適である。ノード101〜104はまた、ネットワーク150を介して、通常は、インターネット・プロトコル(IP)伝送を使用して通信を行う。本発明で防止し改善しようとする対象は、ノード活性情報伝送用の通常の媒体であるこの経路における障害である。ただし、本発明は単なるバックアップ経路以上のものとして動作することができ、また、ネットワーク150によって搬送されるものと同じ種類のデータを同様に伝送することができることに留意されたい。図1には具体的に、ネットワークに障害がないときにノード101〜104が通信を行うことができ共用ディスク110がノード104によって所有されている状況が示されている。大きな「X」で表す中断によって示すように、ネットワーク接続に障害が発生するとき、ノード101および102は、ノード103および104に障害が発生したと見なす。これによって、通常は、ノード102にディスクの所有権を引き受けさせることになり、その場合、ノード104がまだディスクに書込み中であるために、ディスク破壊をもたらす可能性がある。本発明は、この不測の事態を防止することができその他のサービスも提供する機構を提供する。
図1に示す状況に備えて正確なアダプタ/ノード・イベント通知を提供するために、活性サブシステムは一般に、以下の「偽のイベント」の2つの通常の原因に対処する。
(1)CPUまたはメモリ枯渇(あるいはその他の理由)のためにデーモンがブロックされて、活性メッセージが適時に送信されなくなる。
(2)活性メッセージがその宛先に到達することを妨げるネットワーク問題。
上記項目(2)のネットワーク問題が本発明の方法で扱う具体的な問題である。
対象となるネットワーク問題に対する典型的な解決策は、複数のネットワークを備える、あるいはすべて同じネットワークに接続された少なくとも複数のアダプタを各ノードに備える、クラスタを構成することである。1つのノード内に複数のアダプタを設けると、あるアダプタ内の障害が原因で、ホスティング・ノードに故障しているとフラグが立てられることが防止される。他方、複数のネットワークを設けると、複数のアダプタを設ける場合とは異なり、ネットワークの1つにおける障害が原因で、各ノードによってすべてのノードが故障しているものとして検出されることが防止される。
2−ディスク・ハートビート
複数ネットワークを使用すると、個々のネットワークおよびアダプタ内の障害の問題に対処がなされるように見えるが、IPサブシステムが単一点障害(Single Point of Failure)になるという懸念が依然として残る。IP通信に障害が発生した場合、1つまたは複数のノードが「分離」され、それらが故障しているものとして誤って検出される可能性がある。なお、IPサブシステムは、オペレーティング・システムのうちの、アプリケーション・プログラムとネットワークの間でIP情報パケットの流れを管理する部分であることに留意されたい。この不正確な検出の可能性があるために、クラスタはしばしば、活性情報を送信する際にIPに依拠しない通信媒体を使用する「非IPハートビート」に頼る。したがって「非IP」ネットワークを使用すると、クラスタ内のノード間で活性情報を伝達する際にIP通信に依存することによって生じる単一点障害が回避される。
「非IP」ネットワークの1つのタイプが、1対のノードを接続するRS−232シリアル線である。シリアル接続は比較的安価であり、RS−232シリアル接続を介してデータを送信するには、オペレーティング・システムのカーネル内にそうした接続用の基本的なサポートが通常すでに用意されている。この手法には以下の2つの欠点がある。
(1)クラスタ内のすべてのノードにおいて接続を必要とし、その必要最低限が、1つのノードがクラスタ内の他の2つのノードに接続される「デイジー・チェーン」トポロジである。
(2)システムによっては、アダプタ・カード・スロットが不足しがちであり、クラスタ活性のためだけに余分に2つのスロットを必要とすることが望ましくないと見なされることがある。
別の可能な「非IP」ネットワークは、共用ディスク経路すなわちSCSIバスを利用するものである。この手法は、追加のハードウェアを必要としないため、RS−232ネットワークの2つの欠点が解決される。しかし、これにも1つ欠点がある。それはこの手法が、各ノードがSCSIバスを使って通信できるようにするために、オペレーティング・システム内の(すべての装置の型には使用できない)専用のサポートに依存することである。
本発明が提供する代替の手法は、ディスク経路ではなく共用ディスク自体を活性情報の伝送に使用することである。一方のノードから他方のノードに送信されるデータはこの共用ディスクに書き込まれ、次いで、その宛先ノードによって取り込まれる。これが、ディスクがネットワークのように「振る舞う」ことを可能にする「基本構成単位」である。
本発明の一動作形態を図2に示す。分かりやすくするために、ノードが2つだけの場合の動作を考える。具体的には、図2は、本発明を使用すると2つの形式のデータ転送を同時に実施できるようになることを示している。図では、ネットワーク接続150は、ノード101からノード102およびその逆への「活性」情報パケットの転送専用に使用される。さらに、本発明は、共用ディスク110を介した追加の通信経路を、読取りおよび書込みプロトコルと制御情報によって提供する。
本明細書で提案する機構を、IBMのRSCT(Reliable Scalable Cluster Technology)インフラストラクチャの一部である、トポロジ・サービス・サブシステムにおけるその好ましい使用という状況において説明する。トポロジ・サービスはシステムの活性層であり、クラスタ内で稼動中の1組のノード、ネットワークおよびネットワーク・アダプタの判定を行う。ソフトウェアの階層としては、トポロジ・サービスはグループ・サービスの下で走る。グループ・サービスは、グループ通信と、(HACMPを含む)クラスタ・マネージャや並列データベースなどより高水準のサービスによって使用されるプロトコルとを提供する。
図3に既存のサービスおよびその間の関係を示す。具体的には、ノード101はその最低層においてトポロジ・サービス201(ノード102の場合は202)を使用し、トポロジ・サービス201はグループ・サービス301(ノード102の場合は302)と通信する。グループ・サービスは、共用装置110を介してノード101とノード102の間でデータを転送することを必要とするプロトコルを実際に実行するIBM供給のユーティリティ層である。グループ・サービスは、図3に示すように、プロトコル・メッセージの実際の転送を実施する。グループ・サービス・プロトコルは、ノード101と102の間でネットワーク経路150を介したIP通信が行われない場合でも続行される。この場合、グループ・サービス(302など)はローカル・トポロジ・サービス・デーモン(202など)にそのプロトコル・メッセージを引き渡し、そのデーモンがディスクを介して対等ノード102にメッセージを送信する。宛先ノードでは、そのトポロジ・サービス・デーモンがメッセージをローカルのグループ・サービス・デーモンに送信する。
3−RSCTにおけるディスク・ハートビート
3.1−トポロジ・サービスおよびネットワーク・インターフェース・モジュール
トポロジ・サービスは、稼動中で到達可能な1組のアダプタおよびノードを判定するために使用されるそのより高水準のアダプタ・メンバー構成プロトコルと、その低水準アダプタ専用通信との間の明確に定義されたインターフェースを有する。このインターフェースは、すべてのアダプタの込み入った処理が低水準のネットワーク・インターフェース・モジュール(NIM)によって取り扱われるように設計される。NIMは、活性判定ソフトウェア(たとえばトポロジ・サービス)と活性判定に使用される通信装置との間に介在するソフトウェア層である。この層が、分散システム・プロトコルを扱う活性判定ソフトウェアと共に実際のデータ転送を行う。そうした層が設けられている場合、トポロジ・サービスに新規のネットワーク・タイプのサポートを追加するには、そのアダプタ用の新規のNIMを追加するだけでよい。
この新しい機能を実行するためにNIMが実装するコマンドは、以下のタイプのものである。
−ローカル・アダプタへの接続(アダプタ専用を意味する)
−ローカル・アダプタとの切断
−メッセージの送信(所与の宛先にメッセージを送信する)
−活性メッセージの送信を開始する
−活性メッセージの送信を停止する
−活性メッセージの監視を開始する
−活性メッセージの監視を停止する
−NIM活性検査
−終了処理
NIMからトポロジ・サービスへ返す応答は以下のタイプのものである。
−「connect」コマンドへの応答
−ローカル・アダプタの稼動/非稼動状態の提供
−リモート・アダプタの稼動/非稼動状態の提供
−着信メッセージ(リモート・ノードによって送信される)
−NIM活性検査への応答
図4に見られるように、トポロジ・サービス・デーモン201a(RSCTの一部)は補助プロセス「NIM」を用いて各専用ネットワーク・アダプタとの低水準通信を処理する。トポロジ・サービス・デーモン201aによって生成されるプロトコル・パケットが各NIMに送信され、次いで各NIMがそのパケットを物理媒体に送信する。同じことが受信側でもこれとは逆向きに行われる。パケットがNIMによって受信され、次いでトポロジ・サービス・デーモン201aに転送される。IP NIM140は、標準ソケットUNIX(登録商標)プリミィティブを使用してデータ・パケットを送受信するが、ディスクNIM120はそれ自体のプロトコルを使用する。これは、宛先ノードがパケットを取り込めるようになるまで、ディスク上にそのパケットを格納することに基づくものである。
ディスクを活性通信媒体として使用できるようにするには、上記のようなコマンドおよび応答を実装するNIMを作成するだけでよい。それが行われた後は、ディスクはトポロジ・サービスが使用する他の任意のネットワークと同様に「振る舞う」。その場合、そのディスクは、活性プロトコルの実行にも、RSCTグループ・サービス・サブシステム用のメッセージのノード間伝送にも使用される。IPネットワークのすべてで故障が発生した場合でも、クラスタはそのまま動作を続行し、リモート・ノードはそのまま稼動中であると見なされ、クラスタ・マネージャ・プロトコルはディスクNIMを介して「経路指定」される。これは、トポロジ・サービスが、IPネットワークを(それらに障害が発生した場合は)迂回して任意の使用可能なディスク経路を使用するノード間経路を計算することによって実現される。
3.2 ディスク・ネットワーク・インターフェース・モジュール
共用ディスクを通信媒体として使用できるようにするには、ディスクの一部分を新規のディスクNIM専用に割り振る。ディスクのこの部分はディスクNIM専用であり、その下にあるオペレーティング・システムによる書込みアクセス用ではない。これは通常、(1)1つのディスク区画全体をそのディスクNIMだけのために割り振る、あるいは(2)特定のディスク・ブロックをオペレーティング・システムが使用しないようにしておくことを意味する。
手法(1)ではディスク・スペースが無駄になりやすく、また、データ処理システム管理者がその専用区画をセットアップする必要もあるため、クラスタを稼動させるための手作業が全体として増える。手法(2)では上記(1)の欠点はないが、新規のディスクNIMが使用できるディスク領域が通常は非常にわずかしかない。
NIMディスク領域は、ディスクNIMによって、パケットがリモート側に取り込まれる前の一時的なパケット記憶領域として使用される。ディスクは、個々のバイト・レベルではなくセクタ単位でしか読み書きすることができないため、複数のノードが同じセクタ上に書込みを行うことはできない。そうでないと、別のノードによって書き込まれたデータに上書きすることになる。したがって、セクタは各ノードによって「所有」される。すなわち、各セクタには、NIMプロトコルによってあるノードまたは別のノードへの排他的書込みアクセスを行うことができる。
図5に、本発明の目的を実行するために共用ディスク110上に提供することが可能なデータ構造を、より高水準で示す。具体的には、2つのノード、ノード1およびノード2についてのデータ構造の配置を示してある。各ノードには、制御用にもデータ用にも使用されるセクタ(ノード1には制御/データ・セクタ111、ノード2には制御/データ・セクタ121)が割り振られる。一群のセクタがノード1によって「所有」され、別の一群のセクタがノード2によって「所有」される。セクタに書き込むことができるのはそのセクタの所有者だけである。ノードが所有するそれ以外のセクタ(図に示すようにノード1の場合はデータ・セクタ112および113、ノード2の場合はデータ・セクタ122および123)はデータ送信だけに使用され、図6により詳細に示すようなポインタまたはリンクを介して制御/データ・セクタにリンクされる。少量のデータのみを送信するときは、制御/データ・セクタ111および121内の使用可能な記憶スペースが使用されるので、異なるセクタへの別のディスク・アクセス動作の必要がなくなる。したがって共有ディスク領域は、「伝送途中の」パケットの記憶に使用されるだけでなく、並行性および流れ制御情報の記憶にも使用される。
パケットを「送信する」ノードによって「所有」されるセクタもあれば、パケットを「受信する」ノードによって「所有」されるセクタもある。ディスクの「書込み側領域」は「送信中の」実際のパケットを含み、「読取り側領域」は所与のパケットがすでに読み取られたかどうかの情報を含む。
ディスク接続の両側でそれぞれパケットを送信し受信する必要があり、したがって、それぞれの側が「書込み側領域」および「読取り側領域」を所有することに留意されたい。
パケットを相互に区別するために、単調に増加するパケット連続番号を各パケットに関連付ける。書込み側ノードが新規のパケットを発信するとき、そのパケットには新規の連続番号も含まれ、そのため、読取り側は次のパケットを入手できることを知る。そのパケットを「消費」した後で、読取り側がそれ自体の領域内に直前に読み取ったパケットの連続番号を入れる。これによって書込み側は、パケットによって使用されたディスク領域を次のパケットに利用できることを知る。読取り側でパケットを受信するのが遅れたときにパケットが不必要に失われないようにするために、読取り側がそのパケットを読み込んだことを知らせるまで書込み側は以前に書き込んだパケットを上書きしない。
上記の機構は書込み側と読取り側ノードの間に流れ制御を確立する。読取り側がパケットの取り込みを停止すると、書込み側は、新規パケットのディスク上への書込みを強制的に停止する。次いで、書込み側がメモリへの新規パケットのバッファリングを開始するが、最終的にはそれらのパケットを廃棄しなければならない。NIMではそうした挙動でもそのまま受け入れられる。というのは、読取り側プロセスがパケットの消費を停止するときにオペレーティング・システムのパケット・バッファ・スペースを使い果たすIP NIMとこのNIMがさほど異ならないからである。より高水準のトポロジ・サービス・プロトコルが任意の必要なメッセージ送信を再試行するものとする。
図6に、ノード1の制御/データ・セクタ111のより詳細な図を示す。他のノードの構造も同様である。制御/データ・セクタ111は読取り部分111aと書込み部分111bとに分かれる。読取り部分111aは、別のノード、たとえばノード2などによって書き込まれたデータ・パケットに関連する「最後に読み取られた連続番号」115の表示を含む。書込み部分111bは、別のノードによってデータが読み取られる前に、所有側ノード(この例ではノード1)がデータを記憶するために使用するセクタ111の部分を指す。この領域は、転送されるデータ、または、図6に示すように、共用ディスク110上の転送されるデータの様々なセクタへのポインタ、あるいはその両方を含む。書込み部分111bは、非所有側ノードが読み取るパケットを探す際に使用する。
3.3 ディスク・アクセス回数の最少化
本発明の方法を実行するに当たり、同じ共用ディスクを使用しているクラスタ・アプリケーションの性能を犠牲にしないようにするために、ディスク・アクセスの頻度を低減させるまたは最小限に抑える、あるいはその両方を行うことが望ましい。
読取り側ノードの通常の動作は、書込み側の制御セクタを周期的に読み取り、書込み側ノードによって新規パケットが追加されるのを待つことである。新規パケットが追加されると、読取り側がそのパケットを取り込み、次いで、読み取ったパケットの連続番号でそれ自体の制御セクタを更新する。
送信する新規パケットが書込み側に発生すると、書込み側はまず、読取り側の制御セクタを読み取って最後に読み取られた連続番号を取り込む。書込み側はその連続番号情報を使って、どのパケットが読取り済みであり、ディスク内のどの領域を新規パケットに使用できるか判定する。書込み側は、この判定を行った後で、まず新規のパケットをデータ・セクタ中の適当な位置にコピーし、最後に書込み側制御セクタを新規パケットの連続番号で更新する。
上記の手順は、誤りではないが、これでは書込み側があまりに多くディスクにアクセスしなければならない。この手順は以下の知見を利用することで改善される。
(1)定常状態においては、読取り側はパケットが書き込まれた直後にそれを取り込む。これは、書込み側がパケットを書き込むための「空き」スペースを見つけるのに、通常はほぼ問題がないことを示唆する。
(2)ディスクNIMを介してリモート・ノードに送信する必要のあるパケットは通常小さい(数百バイト以下)。
これらの知見が与えられたものとして、本発明の好ましい実施形態では以下の最適化も実装される。
(1)書込み側のデータ領域に使用可能なスペースがない場合、書込み側は読取り側の制御セクタ(最後に読み取られたメッセージの連続番号)を取り込むだけでよい。
(2)小さいパケットは、データ・セクタ内ではなく、書込み側の制御セクタに書き込まれる。この手順によってディスク・アクセスが1回省かれる。
これらの最適化を使用すると、ディスク内のNIM領域がX個のパケットを収容できる場合、X回のパケット書込みのうちの約(X−1)回において、書込み側は、リモート・ノードにパケットを送信する際に1回のディスク・アクセス、すなわちそれ自体の制御セクタへの書込みを行うだけでよい。(X個のパケットのうちの)残りのパケットの書込みにおいては、書込み側は書込みスペースがないことを知り、そのため、読取り側の制御セクタを取り込み、次いで、そのパケットを書き込むのに必要なスペースを解放することができる。
最適化は読取り側でも可能である。「最後に読み取られた連続番号」フィールドは、1回のパケット読取りごとではなく、Y回のパケット読取りごとにだけ更新することができる。これは、読取り側でのディスク・アクセス回数を省くのみならず、前述の書込み側の最適化とも両立する。というのは、書込み側はまばらな時間間隔で「最後に読み取られた連続番号」値を取り込むだけでよく、したがって、この値を頻繁に更新する必要がなくなるからである。
3.4 NIM再始動および同期
また、書込み側から読取り側にパケットを伝達するために使用するプロトコルは、書込み側と読取り側の両方で(NIMにおける障害またはノード上でクラスタが停止されることが原因で)NIMプロセスが終了されないようにしなければならない。
書込み側プロセスは、それが再始動するときに、その前の「具体化(incarnation)」(呼出し)の際に書き込んだ最後の連続番号を判定する必要がある。読取り側NIMのプロセスが再始動しなかった場合、読取り側NIMは次のメッセージが次の連続番号と共に着信すると予想するので、連続番号を何らかの初期値に再設定してもうまく行かない。
どの連続番号を使用するか見つけるために、書込み側はそれ自体の制御セクタを取り込み、書込み側の以前の具体化によって書き込まれたパケットの連続番号を回復する。使用する連続番号は書込み側の制御セクタに記載される連続番号より1だけ大きい数である。
読取り側プロセスは、それが再始動するとき、通常どおり書込み側のセクタを検査してどのパケットが使用可能か判定する。しかし、パケットをトポロジ・サービス内の上層に戻してはならない。というのは、読取り側プロセスが長時間非アクティブ状態であった可能性があり、書込み側の領域内のパケットが「古くなっている」ことがあるからである。トポロジ・サービスの全体的な目標は活性判定を実施することなので、古いパケットを処理するとサブシステムの挙動に有害な影響を及ぼすことがある。したがって、読取り側の始動時に取り込まれたパケットは廃棄される。読取り側は、「最後に読み取られた連続番号」を書込み側の制御セクタ内で最大の連続番号に設定することによって、それらのパケットに「読取り済み」であるとマークする。
書込み側プロセスが開始するときに読取り側プロセスが非アクティブ状態である場合は、読取り側領域内の「最後に読み取られた連続番号」フィールドが更新されないため、書込み側プロセスがブロックされる可能性が高くなる。NIMの基本的目標はリモート・ノードとメッセージを交換することなので、NIMが有用な働きができるのはリモート・ノード(およびそのNIM)が起動してからであり、したがって、リモート・ノードが非アクティブ状態のときにメッセージを送信できなくても問題とは見なされない。
3.5−コールド・スタートおよびセクタ割当て
NIMの一番最初の始動時には、NIMメッセージ交換用に予約されたディスク領域は初期設定されない。その結果、その時点では送信されたパケットに関する有効な情報がない。これは、有効な情報が使用可能であることを示す制御セクタ内で「マジック・ナンバ」を使用することによって解決される。本明細書中で使用する場合、「マジック・ナンバ」という用語は、その番号を含むメモリ/ディスク領域全体が特定のタイプのデータを含むことを示すようにあるメモリ/ディスク位置に書き込まれる大きい数を指す。「マジック・ナンバ」のサイズおよび値は、同じ位置に書き込まれる他の種類のデータが所与の数と同じ値をもつ可能性が極めて低くなるように選択される。最初のマシン始動時にはマジック・ナンバが設定されていないので、NIMは、その領域が初期設定されていないことを「知り」、次いで、それ自体で初期設定を行う。
ディスクNIMには上層からその他のNIMに渡されるものと全く同じ情報しか供給されないと想定すると、ディスクNIMは、制御セクタおよびデータ・セクタ用にディスクのどの領域を使用するか判定するという基本的な問題に直面する。ディスク・ハートビート用に予約された1組のブロックの位置をNIMにハード・コーディングする(あるいは、ファイル・システムまたはディスク・タイプに基づいて決める)ことはできるが、ディスクNIM領域内の各部分はまだ割り当てられたままである。ノードのうちの1つはデータをある「領域1」に書き込むことができ、別のノードは「領域2」に書き込むことができるが、どのノードがどの領域に書き込むかを決定する必要がある。したがって、プロトコルを導入して各ノードにどの領域を使用するかを決定する。
このプロトコルでは、(既知の場所にある)ディスク・セクタを使用する。各ノードは自動的にそのセクタから読み取りまたはそこに書き込むことができるものとする。セクタは最小のディスク転送単位であるため、これが普通である。セクタは以下の各データを含む。
−node-unique-number
−other-side-known flag
−"magic" number
各ノードは一意の番号を生成することができる。この番号は(UNIX(登録商標)「uname」システム呼出しで提供されるものなど)マシンまたはオペレーティング・システムの識別子、あるいはその両方とすることも、クラスタ・ノード番号とすることもできる。
プロトコル:
−ループ
*{ローカルの「node-unique-number」,「unknown」,「magicnumber」}を書き込む
*ランダムな時間待機する
*セクタを読み取る
node-unique-number!=ローカルのnode-unique-numberになるまで
(これはローカル・ノードが、それがディスクに書き込んだものを読み取らなかったことを意味する)
−リモートのnode-unique-numberを取り込む。ローカルのnode-unique-numberとリモートのnode-unique-numberとを比較する。
ローカルの数値がリモートの数値より小さい場合、ローカルが「領域1」を使用し、そうでない場合は「領域2」を使用する。
−ループ
*{ローカルの「node-unique-number」,「known」,「magicnumber」}を書き込む
*ランダムな時間待機する
*セクタを読み取る
node-unique-number!=ローカルのnode-unique-numberかつ
other-side-known=knownになるまで
この時点でローカル・ノードは、それがどの領域を使用するか、およびリモート・ノードも同じ情報を持っていることを知っている。
しかし、ローカル・ノード「A」は、リモート・ノード「B」が上記のループを終了できることを確認することができない。というのは、リモート・ノードは{「Aのnode-unique-number」,「known」,「magic number」}のパターンを待っているが、ノード「B」はそのセクタを{「Bのnode-unique-number,「known」,「magicnumber」で上書きしてしまった可能性があり、上記のループを出ると、ノード「A」はそれ以上共用ディスクを更新しない。
そこで、終了処理段階を設ける。
−ループ
*このループを通るのが2回目以降である場合
−任意の時間Y(>X)秒間待機する
*{ローカルの「node-unique-number」,「known」,「magicnumber」}を書き込む(I)
*セクタ(1)を読み取る(II)
*node-unique-number=ローカルのnode-unique-numberである場合
−X秒間待機する
−セクタ(2)を読み取る
node-unique-number=ローカルのnode-unique-numberになるまで
このアルゴリズムが適切かどうかは、各ノードが上記ステップ(I)とステップ(II)の間にかかる時間がX秒未満であることにかかっている。
上記のプログラム・ループによって提供される主な機能は以下のように特徴付けることができる。すなわち、ローカル側がそのレコードを書き込んだ後でリモート側がX秒間レコードを書き込まなかった場合、ローカル・ノードによって書き込まれたものをリモート側で読み取ることができたと見なす。
さらに、リモート・ノードが依然として前述のループにあり、ローカル・ノードにループ終了処理を行わせるのに十分な時間「スリープ」している場合、これは、リモート・ノードが「書込み」を行った後、「読取り」を行う前にスリープしていることを意味する。リモート・ノードの次の読取り操作でローカル・ノードが書き込んだレコードが取り込まれ、これによってリモート・ノードはループから抜け出す。ローカル・ノードは次に、それ自体の「node-unique-number」の書込みを安全に停止し、両方のNIMが通常のプロトコルを開始し、上位のソフトウェア層からの要求に応じられるようになる。
以上本発明を、不揮発性記憶装置が回転式磁気ディスクであると想定して述べてきた。しかし、光ディスク・ドライブを含めてどんな不揮発性記憶装置でも利用可能であることに留意されたい。そうした装置に関する唯一の要件は、その装置上の別個のアドレス可能な領域に情報を書き込み、またはそこから情報を読み取ることができることである。磁気ディスク・ドライブの場合、そうした領域をセクタと呼ぶ。
本明細書中では、本発明をその特定の好ましい実施形態に従って詳細に述べたが、当技術分野の技術者であれば、本発明における多くの改変形態および変更形態を実施することができる。したがって、添付の特許請求の範囲は、すべてのそうした改変形態および変更形態を本発明の真の精神および範囲内にあるものとして包含するものである。
本発明が用いられる環境を示し、より詳細には解決される問題の性質を示す概略的構成図である。 通常の通信ネットワークを介するのみならず、本発明において「活性パケット」転送用の分離された経路としてそのディスクを使用できるように特別に定義されたプロトコルと共に使用される共用ディスクをも介する「活性パケット」の流れを示す概略的構成図である。 既存のクラスタ・サービスの階層が果たす役割をより詳細に示す、図2と同様の機能構成図である。 共用ディスク通信用に確立されたプロトコルを実行するコマンドを提供する機構としてのネットワーク・インターフェース・モジュールの使用、およびそれらと他の構成要素との対話をより詳細に示す、図2および図3と同様の機能構成図である。 一群のセクタがノード1によって「所有」され、別の一群のセクタがノード2によって「所有」され、セクタの所有者だけがそのセクタに書き込むことができるディスク・ハートビート用のディスクの配置図である 情報転送プロトコルを確立するために使用される記憶領域のデータ構造を示し、詳細には、別個の読取部分および書込み部分への分割を示す概略的構成図である。
符号の説明
101 ノード1
102 ノード2
103 ノード3
104 ノード4
110 共用ディスク(不揮発性記憶装置)
111 制御/データ・セクタ
111a 読取り部分
111b 書込み部分
121 制御/データ・セクタ
112 データ・セクタ
113 データ・セクタ
115 最後に読み取られた連続番号
120 ディスクNIM
122 データ・セクタ
123 データ・セクタ
140 IP NIM
150 ネットワーク
201 トポロジ・サービス
201a RSCTトポロジ・サービス・デーモン
202 トポロジ・サービス
301 グループ・サービス
302 グループ・サービス

Claims (7)

  1. 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法であって、
    第1のノードによる書込みアクセス用に予約された前記記憶装置の領域(以下この領域を「第1のノード用の書込みアクセス領域」と称する)が使用可能であることを前記第1のノードが判定するステップと、
    前記複数ノードのうちの前記第1のノードから前記第1のノード用の前記書込みアクセス領域に、更新された連続番号を含む前記第1のノードに関する活性情報を転送するステップと、
    前記第1のノード用の前記書込みアクセス領域に読取り専用でアクセスできる第2のノードが前記活性情報を取り込むステップと、
    前記第2のノードから前記第2のノードによる書込みアクセス用に予約された前記記憶装置の領域(以下この領域を「第2のノード用の書込みアクセス領域」と称する)前記更新された連続番号を転送し、それによって、前記第1のノードが、前記第1のノード用の前記書込みアクセス領域を活性情報の転送に使用できるのが何時かを判定することができるようにするステップと、
    前記第1のノードが生成する活性情報パケットに関連する連続番号に基づいて前記第1のノードが書込み連続番号を決定するステップと、
    前記第2のノードによって読み取られる活性情報パケットに関連する最大または最小の連続番号に基づいて前記第2のノードが読取り連続番号を決定し、それによって前記第1のノードが、前記第1のノード用の前記書込みアクセス領域が使用可能であることを判定するステップと、
    前記書込み連続番号を単調に変化させ、それを前記第1のノードに関する新規の活性情報と共に前記第1のノード用の前記書込みアクセス領域に、前記第1のノードが、転送するステップとを含む方法。
  2. 前記第1のノード用の前記書込みアクセス領域が、制御情報とデータの両方が書き込まれるセクタを含む、請求項1に記載の方法。
  3. 前記第1のノード用の前記書込みアクセス領域が、転送されるデータのための少なくとも1つの追加セクタをも含む、請求項に記載の方法。
  4. 転送用活性情報のサイズが前記セクタに収まるように制限され、それによって、前記記憶装置へのアクセス動作の回数が低減される、請求項に記載の方法。
  5. 前記判定するステップが、前記第1のノード用の前記書込みアクセス領域において活性情報転送用スペースが使用可能か否かを判定することに限定され、それによって、そうした判定のための前記記憶装置へのアクセスが回避される、請求項1に記載の方法。
  6. 前記記憶装置へのアクセスが活性ネットワーク抽象化層によって処理される、請求項1に記載の方法。
  7. 請求項1〜の何れか1つに記載の方法における各ステップの処理をコンピュータに実行させるプログラム。
JP2003417234A 2002-12-18 2003-12-15 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム Expired - Fee Related JP4106014B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/323,010 US7003645B2 (en) 2002-12-18 2002-12-18 Use of a storage medium as a communications network for liveness determination in a high-availability cluster

Publications (2)

Publication Number Publication Date
JP2004199682A JP2004199682A (ja) 2004-07-15
JP4106014B2 true JP4106014B2 (ja) 2008-06-25

Family

ID=32593089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003417234A Expired - Fee Related JP4106014B2 (ja) 2002-12-18 2003-12-15 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム

Country Status (3)

Country Link
US (1) US7003645B2 (ja)
JP (1) JP4106014B2 (ja)
CN (1) CN1278254C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6995637B2 (ja) 2018-01-16 2022-01-14 株式会社Fts 燃料タンク

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1635545B1 (en) * 2004-09-14 2013-04-10 Sony Ericsson Mobile Communications AB Method and system for transferring of digital rights protected content using USB or memory cards
US7376805B2 (en) * 2006-04-21 2008-05-20 Hewlett-Packard Development Company, L.P. Distributed storage array
US7937610B2 (en) * 2007-04-27 2011-05-03 International Business Machines Corporation Fast node failure detection via disk based last gasp mechanism
JP5096799B2 (ja) * 2007-05-29 2012-12-12 株式会社野村総合研究所 クラスタシステム、計算機、および障害対処方法
US7783813B2 (en) * 2007-06-14 2010-08-24 International Business Machines Corporation Multi-node configuration of processor cards connected via processor fabrics
US10572188B2 (en) * 2008-01-12 2020-02-25 Hewlett Packard Enterprise Development Lp Server-embedded distributed storage system
GB2459433B (en) 2008-03-07 2012-06-06 Hewlett Packard Development Co Distributed network connection policy management
GB2458157B (en) * 2008-03-07 2012-04-25 Hewlett Packard Development Co Virtual machine liveness check
US20110231602A1 (en) * 2010-03-19 2011-09-22 Harold Woods Non-disruptive disk ownership change in distributed storage systems
US8755268B2 (en) 2010-12-09 2014-06-17 International Business Machines Corporation Communicating information in an information handling system
CN103297396B (zh) * 2012-02-28 2016-05-18 国际商业机器公司 群集系统中管理故障转移的装置和方法
CN103905499B (zh) * 2012-12-27 2017-03-22 深圳市金蝶天燕中间件股份有限公司 利用共享磁盘构建通信通道的方法和系统
CN103458045B (zh) * 2013-09-13 2017-04-19 汉柏科技有限公司 分布式集群的动态部署方法和系统
US9372752B2 (en) * 2013-12-27 2016-06-21 Intel Corporation Assisted coherent shared memory
CN104394202B (zh) * 2014-11-13 2018-01-05 西安交通大学 一种移动社会网络中的节点活跃度量化方法
US11119870B2 (en) 2016-09-21 2021-09-14 Nec Corporation Calculator, cluster management system, method, and non-transitory computer readable medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695906A (ja) 1992-09-17 1994-04-08 Fujitsu Ltd Scmpシステムおけるsvpのssu制御権の自動切り替え方法
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6735200B1 (en) * 2000-03-21 2004-05-11 International Business Machines Corporation Method and apparatus for monitoring the availability of nodes in a communications network
US6915391B2 (en) 2000-12-15 2005-07-05 International Business Machines Corporation Support for single-node quorum in a two-node nodeset for a shared disk parallel file system
US7051115B2 (en) * 2001-04-19 2006-05-23 Lenovo (Singapore) Pte. Ltd. Method and apparatus for providing a single system image in a clustered environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6995637B2 (ja) 2018-01-16 2022-01-14 株式会社Fts 燃料タンク

Also Published As

Publication number Publication date
US7003645B2 (en) 2006-02-21
CN1278254C (zh) 2006-10-04
JP2004199682A (ja) 2004-07-15
CN1508714A (zh) 2004-06-30
US20040123050A1 (en) 2004-06-24

Similar Documents

Publication Publication Date Title
JP4106014B2 (ja) 少なくとも1つの不揮発性データ記憶装置を含む複数ノード・データ処理システムにおける通信方法およびプログラム
US6678788B1 (en) Data type and topological data categorization and ordering for a mass storage system
US6691209B1 (en) Topological data categorization and formatting for a mass storage system
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US7627779B2 (en) Multiple hierarichal/peer domain file server with domain based, cross domain cooperative fault handling mechanisms
US6594775B1 (en) Fault handling monitor transparently using multiple technologies for fault handling in a multiple hierarchal/peer domain file server with domain centered, cross domain cooperative fault handling mechanisms
US7219260B1 (en) Fault tolerant system shared system resource with state machine logging
US6865157B1 (en) Fault tolerant shared system resource with communications passthrough providing high availability communications
US6578160B1 (en) Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions
US7272674B1 (en) System and method for storage device active path coordination among hosts
US6883065B1 (en) System and method for a redundant communication channel via storage area network back-end
KR100232247B1 (ko) 클러스터화된 다중처리 시스템 및 시스템내 디스크 액세스 경로의 고장 회복 방법
US7003688B1 (en) System and method for a reserved memory area shared by all redundant storage controllers
US7069468B1 (en) System and method for re-allocating storage area network resources
EP1776639B1 (en) Disk mirror architecture for database appliance with locally balanced regeneration
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US7043663B1 (en) System and method to monitor and isolate faults in a storage area network
US7127633B1 (en) System and method to failover storage area network targets from one interface to another
US8498967B1 (en) Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
US7975006B2 (en) Method and device for managing cluster membership by use of storage area network fabric
US20050283641A1 (en) Apparatus, system, and method for verified fencing of a rogue node within a cluster
JP6476350B2 (ja) コンピューティングノード間の切り替え動作を実行する方法、装置、及び媒体
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US7937610B2 (en) Fast node failure detection via disk based last gasp mechanism
US20030023808A1 (en) Method and system for maintaining data coherency in a dual input/output adapter utilizing clustered adapters

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

LAPS Cancellation because of no payment of annual fees