JP4282850B2 - フォールトトレーラントネットワーク用のファイル同期方法、装置、システム。 - Google Patents

フォールトトレーラントネットワーク用のファイル同期方法、装置、システム。 Download PDF

Info

Publication number
JP4282850B2
JP4282850B2 JP32602899A JP32602899A JP4282850B2 JP 4282850 B2 JP4282850 B2 JP 4282850B2 JP 32602899 A JP32602899 A JP 32602899A JP 32602899 A JP32602899 A JP 32602899A JP 4282850 B2 JP4282850 B2 JP 4282850B2
Authority
JP
Japan
Prior art keywords
file access
file
request
access request
confirmation
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
JP32602899A
Other languages
English (en)
Other versions
JP2000163301A (ja
Inventor
キエット ダオ トーマス
Original Assignee
アルカテル−ルーセント ユーエスエー インコーポレーテッド
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 アルカテル−ルーセント ユーエスエー インコーポレーテッド filed Critical アルカテル−ルーセント ユーエスエー インコーポレーテッド
Publication of JP2000163301A publication Critical patent/JP2000163301A/ja
Application granted granted Critical
Publication of JP4282850B2 publication Critical patent/JP4282850B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピューターおよび通信ネットワークに関し、特に、フォールトトレーラント通信ネットワークのためのファイル同期に関する。
【0002】
【従来の技術】
洗練された通信サービスが益々増えているので、通信ネットワークが益々普及してきている。例えば、複数のプロセッサーを有する中央コンピューターによって通信サービスを行うよりも、コンピューターとサーバーの分散されたネットワークにより通信サービスを行わせることが多くなっており、このようなコンピューターやサーバーはそれぞれ、Intel Pentium(登録商標)クラスのプロセッサーのようなシングルプロセッサー、すなわち中央プロセッサーを備える。このようなコンピューターとサーバーの分散ネットワークは通常、イーサーネットや光ファイバーケーブルの高速バスによってお互い接続され、コスト効率や段階的にネットワークを成長できるというような利点を有する。
【0003】
このような分散ネットワークコンピューターによる問題としてフォールトトレーランス(fault tolerance)の問題がある。すなわち、もし1つのコンピューターが故障すると、その故障したコンピューターがそれまで行っていた全ての機能を直ちにネットワーク上の別のコンピューターが受け継いでサービス故障を最小にすることである。例えば、もし通信サービスを提供しているプライマリーコンピューター(アクティブアプリケーションプロセッサー(アクティブAP)(ディスティングイッシュト(distinguished)アプリケーションプロセッサーとしても知られる)と呼ばれる)が、故障(クラッシュ)となると、サービスの中断を防ぐため、フォールトトレーラントシステムはセカンダリーコンピューター(スタンバイアプリケーションプロセッサー(スタンバイAP)と呼ばれる)にそれまでアクティブAPが提供していた全てのサービスのパフォーマンスを直ちに受け継ぐようにする。
【0004】
スタンバイAPがサービスの中断を最小にして直ちにオンラインに復帰させるため、すなわち、故障や大きな事態が発生しなかったように、スタンバイAPは、アクティブAPと同じ情報にアクセスでき同期状態であることが好ましい。
【0005】
従来技術において、このような同期状態を維持する試みは、アクティブAPからスタンバイAPによってファイルをコピーすることを伴っている。このようなコピープロセスは非常に時間がかかり、ギガビットのサイズのファイル群をコピーするのに何分間もかかり、サービスの損失や中断を発生させてしまう。結果として、数秒を越えるサービス中断を避けるため、このような遅れや中断を劇的に減らす必要性がある。
【0006】
同期状態を与える他の従来技術のシステムにおいて、コンピューターをオートノマス(autonomous:自律的)に動作させることは可能ではなく、ロックされたステップにおいてのみ動作する。他のフォールトトレーラントシステムはスタンバイメカニズムを用意せず、ディスクに記憶された情報を自動的にバックアップするディスクアレー(レイド:RAID)を単に用意するだけである。また他のシステムは、コンピューターの冗長性クラスタリングのために追加的ハードウェアを必要とし、またプラットフォームに依存してしまう。
【0007】
【発明が解決しようとする課題】
結果として、フォールトトレーラントネットワークにおいて情報同期状態を与える装置、方法、システムの必要性がある。このような同期状態は、サービス中断を防ぐため、非常に小さい時間フレーム内においてのみ発生されるべきである。また、このような装置、方法、システムは、追加的ハードウェアを必要とせず、プラットホームに依存せず、アプリケーションに依存しないことを必要とし、そのフォールトトレーランスがユーザーおよびアプリケーションに対して透過的(transparently)に発生すべきである。
【0008】
【課題を解決するための手段】
本発明により、フォールトトレーラントネットワークに対してファイル同期を与える装置、方法、システムが提供される。概して、通信サーバーのようなアクティブネットワークエンティティーと、およびそのアクティブネットワークエンティティーが故障した場合に、そのアクティブネットワークエンティティーの機能を受け継ぐためのスタンバイネットワークエンティティーとを備える。本発明は、数秒間のような非常に小さい時間フレームにおいてこのような情報の同期状態を与え、アクティブネットワークエンティティーが故障しスタンバイネットワークエンティティーがアクティブになった場合にサービス中断を防ぐ。また、本発明は、追加的ハードウェアを必要とせず、プラットホームおよびアプリケーションに依存せず、そのフォールトトレーラントがユーザーおよびアプリケーションに対して透過的に発生する。
【0009】
本発明の方法は、アクティブネットワークエンティティー内のファイルにアクセスすることにより始まる。これは、いずれかのネットワークアプリケーションの読み取りまたは書き込み要求によって行われる。アクティブネットワークエンティティーにてファイルアクセス要求が生成され、スタンバイネットワークエンティティーに送信され、このスタンバイネットワークエンティティーもまたファイルアクセス要求を行う。次にスタンバイネットワークエンティティーはアクティブネットワークエンティティーに対してファイルアクセス確認を生成し送信する。次にアクティブネットワークエンティティーは、アクティブネットワークエンティティーのファイルアクセス要求がスタンバイネットワークエンティティーからの対応するファイルアクセス確認を有するかどうかを判断する。
【0010】
そのファイルアクセス要求が対応するファイルアクセス確認を有するのであれば、このことはアクティブおよびスタンバイネットワークエンティティーの間でファイルが同期状態であることを意味し、次にアクティブネットワークエンティティーは、メモリーからファイルアクセス要求および対応するファイルアクセス確認を削除する。しかし、ファイルアクセス要求がファイルアクセス確認を持っていなければ、これは同期状態が失われていることを意味し、アクティブネットワークエンティティーはエラーメッセージを生成しエラーログへとファイルアクセス要求を転送する。エラーログはその後で用いる。このような後のエラーログの使用は、アラーム状態を作ること、スタンバイネットワークエンティティーをアクティブ状態へと移すことを伴うことができる。
【0011】
上述のように、本発明の方法は、ネットワークアプリケーションに対して透過性があり独立である。また本発明の方法は、アクティブおよびスタンバイネットワークエンティティーにおいて用いられる動作プラットホームに依存しない。多くのファイルアクセス要求には、読み取り要求、書き込み要求、オープン要求、クローズ要求を含み、ネットワークアプリケーションのいずれの種類のものによっても呼び出しされることができる。
【0012】
【発明の実施の形態】
本発明は多くの異なる形態の実施形態において適用することができるが、明細書や図面においては特定の実施例のみを示している。
【0013】
上述のように、フォールトトレーラントネットワークにおいて情報の同期状態を与える必要性がある。本発明に従い、フォールトトレーラントネットワークにおけるこのような情報やファイルの同期状態は数秒間のような非常に小さい時間フレーム内にて行われ、サービスの中断を避ける。また、本発明は、追加的ハードウェアを必要とせず、プラットホームに依存せず、アプリケーションに依存せず、ユーザーおよびアプリケーションに対してこのようなフォールトトレーラントを透過的にする。
【0014】
図1には、本発明の実施例の装置20およびシステム10を示したブロック図である。各装置20は、いずれの通信媒体の他のリンク(T1/E1光ファイバーケーブル、同軸ケーブルなど)やイーサーネットのような通信リンク15を介してつながった複数の装置を備える。
【0015】
図1において、各装置20(20A、20S)はプロセッサー(CPU)30、ネットワークインターフェース(NIC)35、第1メモリー40(RAMなど)、二次的な長期メモリー50(磁気ハードドライブ、光記憶デバイス、他のデータ記憶デバイスなど)を備える。各装置20はいかなる時でも、アクティブ(20A)またはスタンバイ(20S)と呼ばれる動作状態を有し、好ましい実施例において、各装置20Aおよび20Sは、対応するアクティブAPまたはスタンバイAPである。
【0016】
装置20A、20Sはお互い(および他の装置20にも)通信リンク15(イーサーネットや他のネットワーク伝送媒体など)につながれ、それらのネットワークインターフェース35を介してお互い通信し、本発明に従ってシステム10を形成する。各装置20の内部またはこれにつながれるものとして、磁気ハードドライブのような第2の長期メモリー50があり、データや他のファイルの記憶手段として用いられる。
【0017】
本発明に従い、データや他のファイルアクセス(下に詳細に説明する)がアクティブAP(装置20Aなど)とスタンバイAP(20Sなど)の間同期される。各装置20の中にて好ましい実施例において第1メモリー40が用いられ、下で説明するようにプログラム命令を記憶する。プロセッサー30は第2メモリー50へと双方向アクセスを備え、例えば、第2メモリー50に記憶されたファイルを開いたり、読み込んだり、書き込んだり、閉じたりする。
【0018】
図1において、各プロセッサー(CPU)30は、あるいは複数のICないし部品を備えることができ、これらはお互い接続されたり、お互いと構成されたり、お互いグルーピングされてもよく、マイクロプロセッサー、デジタルシグナルプロセッサー(DSP)、ASIC、対応するメモリー(RAM、ROMなど)、他のICや部品などがある。従って、本明細書において、「プロセッサー」は、1つのプロセッサー、複数のプロセッサー、マイクロプロセッサー、コントローラーの構成、あるいは下で図2、3に関連して説明するような機能を行うようなICの集合などをも意味する。これには、マイクロプロセッサーメモリー、追加的RAM、ROM、EPROM、EEPROMなども含まれる。
【0019】
下の図2、3に関連して説明するように本発明は、プロセッサー30とともに対応するメモリー(第1メモリー40など)や他の同等な部品において、プロセッサー30が動作したとき(電源がオンにされ機能しているとき)に実行プログラム命令のセットとしてプログラミングされ記憶することができる。
【0020】
下で説明するように、装置20AのようなアクティブAPにおけるアプリケーションが第2メモリー50Aにおけるファイルにアクセスすると、そのファイルアクセスは、スタンバイAP(装置20S)やその対応する第2メモリー50Sにおいて実時間で二重化される。アクティブ装置20Aにおいてファイルアクセスが発生した場合は必ず、各プロセッサー30A、30Sにおいて、「FSYNC」プロセスを用いると、アクティブプロセッサー30Aによって(ネットワークインターフェース35A、通信リンク15、ネットワークインターフェーススタンバイネットワークエンティティーを介して)スタンバイプロセッサー30Sへと対応するアクセス要求が送信される。
【0021】
次にスタンバイプロセッサー30Sは、そのファイルアクセス要求を処理し、アクティブプロセッサー30Aへと(また、通信リンク15、対応するネットワークインターフェース35Sを介して)確認を返す。FSYNCプロセスを通して、アクティブプロセッサー30Aはファイルアクセス要求(アクティブAPにおける)すべてがスタンバイAPから対応する確認を得たことからモニタリングする。従って、本発明による方法は、スタンバイAPがアクティブAPにより記憶された現在の情報全てに仮想的には直ちにアクセスすることが出きる。
【0022】
図2は、本発明の方法を示す動作流れ図であり、本発明に従ってアクティブAP100およびスタンバイAP200にて発生するプロセスにより実行される「FSYNC」と呼ばれるファイル同期プロセスの集合があり、これはアクティブAP100からスタンバイAP200へと「第2メモリーにて記憶された」選択されたファイルの同期に関連する。図2に示したように、これらのファイル同期(FSYNC)プロセスは、FSYNCオーディター105、FSYNCデーモン110、FSYNCファイルアクセスプロセス115(FSYNC(ftsp)ファイルアクセスとも呼ばれる。ここで「ftsp」はフォールトトレーラントシステムプロセスを意味する)である。
【0023】
これらFSYNCプロセスは、アクティブAP100とスタンバイAP200において同等であり、下付添字によって区別する。従って、下付添字Aは、アクティブAP100にて達成するアクティブプロセスを意味し、下付添字Bは、スタンバイAPにて発生するスタンバイプロセスを意味する。いかなる時間においても装置20(APや他のコンピューターなど)は、アクティブ状態から非アクティブないし故障APの状態へと、アクティブAPからスタンバイAPへと遷移することがある。従って、各プロセスは、アクティブAPとスタンバイAPにおいて異なるプロセスが機能していることもあるが、両方において各プロセスが備えられる。
【0024】
図2において、本発明のファイル同期方式は、図1に示した第2メモリー50のようなメモリー130に位置する情報、データあるいは他のファイル(個別および集合的に「ファイル」と呼ぶ)にいかなるアプリケーション(ないしプロセス)120がアクセスした場合に発生する。このようなメモリー130は例えば、磁気ハードドライブ、磁気テープドライブ、あるいは光記憶媒体であってもよい。
【0025】
図2に示すように、アプリケーション(ないしプロセス)120によるメモリー130へのこのようなアクセスは、アクセス140として示してあり、これは、メモリー130に記憶されたこのようなファイルに対して、ファイルを開いたり、ファイルから読み取ったり、ファイルへ書き込んだり、ファイルを閉じたりする要求とすることができる。いずれの種類の120もこれに関わり、本発明のファイル同期方式はいかなるアプリケーション120および装置20(AP)のいかなるプラットホームに完全に透過性があり依存しない。
【0026】
好ましい実施例において、このようなアプリケーション120がメモリー130へのアクセスが伴うと、必ず、機能のライブラリーが呼び出される。これは、FSYNCファイルアクセス機能115と呼ばれる。従って、ファイルがアプリケーション(ないしプロセス)120によってアクセスされると(140)、そのターゲットファイルはFSYNCファイルアクセス機能によってアクセスされ、ファイルアクセス(141)の結果が、アプリケーション(ないしプロセス)120へと返される。
【0027】
アプリケーション(ないしプロセス)120が、メモリー130におけるファイルへのアクセスを要求すると、それは、FSYNC_Disk_IO()のようなクラスないしライブラリーFSYNC115の新しいオブジェクトをインスタンス化する。コンストラクタFSYNC_Disk_IO()が実行されると、FSYNCデーモン110は、信号、すなわち中断(142)を受信し、ファイルアクセスの要求もまた要求待ち行列150において登録される(143)。現在中断しているFSYNCデーモン110は要求待ち行列150を検査し(144)、(要求待ち行列150内にあった)ファイルアクセス要求をアプリケーションプロセッサーノードマネージャー(ないし管理)(APNM)155へと送る(145)。このAPNM155は、記憶および転送ソフトウェアであり、ネットワーク上あるいは他のシステム上の他のコンピューターやサーバーへと情報を送る(ネットワークインターフェース35、通信リンク15を介して)。APNM155AはスタンバイAP200へとファイルアクセス要求を送信し(146)、これは次にスタンバイAPのAPNM155Sによって受信される。
【0028】
次にスタンバイAP200のAPNM155SはスタンバイAP200上のプロセッサー30Sないで動作しているFSYNCデーモン110Sへとファイルアクセスするためにこの遠隔要求を転送する(147)。FSYNCデーモン110Sは次に、メモリー130S(第2メモリー50Sなど)に記憶された特定のファイルを開いたり書き込んだりするファイルアクセス要求を行い(148)、「num_bytes_written」のような返し値を受信する(149)。次にFSYNCデーモン110Sはこの返られた結果を確認としてAPNM155Sへと転送し(151)、これは次にその確認をアクティブAP100へと送信する(152)(同様にネットワークインターフェース35と通信リンク15を介して)。次にアクティブAP100のAPNM155Aは、確認をFSYNCデーモン110Aへと転送し(153)、これは確認待ち行列160に受信された確認を登録する(154)。
【0029】
FSYNCオーディター105AはFSYNCデーモン110の動作状態を規則的にモニタリングし、これはFSYNCオーディター105Aとアナウンスメントないし「ハードビート」を規則的に送信する(156)。FSYNCオーディター105Aもまたファイル同期プロセスを規則的ないし同期的にモニタリングする。FSYNCオーディター105Aは、確認待ち行列160を読み取り(157)、要求待ち行列150を読み取る(158)。次にFSYNCオーディター105Aは、全ての確認を対応する要求と比較し、もしそれら両方が有効であれば、それらの対応する待ち行列150、160からそれらを削除することができる。スタンバイAP200からのマッチング確認が要求待ち行列150における対応する要求とマッチしなければ、FSYNCオーディター105Aは要求待ち行列からの要求をエラーログ170へと転送し(159)、後で状態をオーディット(監査)したり警告したりするのに用いる。
【0030】
図2に示したように、本発明の様々なプロセスは、アクティブAPにおける全てのファイルアクセスがスタンバイAPにおけるファイルアクセスによってマッチングすることを提供し、スタンバイAPがいつでも最新情報を有することを確実にする。またアクティブAPがそのような要求をスタンバイAPへと送信せず、アクティブAPによって確認が受信されなければ、スタンバイAPにおける失った情報がエラーログ170から回復させることができる。
【0031】
図3は、本発明に従う方法を示した流れ図である。この方法は、開始ステップ205において始まり、ここでは、アクティブAPにおけるプロセスがファイルへのアクセスを要求する。このファイルアクセス要求は要求待ち行列にて登録され、割り込み信号などによってFSYNCデーモンプロセスが呼び出される(210)。次に212においてFSYNCデーモンがAPNMへとファイルアクセス要求を送り(212)、APNMはこのファイルアクセス要求をスタンバイAPへと送る(214)。スタンバイAPにおけるAPNMは、このファイルアクセス要求を受信し(216)、そのファイルアクセス要求をスタンバイAPにおけるFSYNCデーモンへと送る(218)。
【0032】
スタンバイAPにおけるFSYNCデーモンはFSYNCftspファイルアクセス機能を呼び出す(220)。ターゲットファイルがアクセスされ、スタンバイAPにおけるFSYNCデーモンへと返し値が返させる(222)。次にFSYNCデーモンはその返し値から確認をスタンバイAPのAPNMを介してアクティブAPへと送る(226)。次にアクティブAPのAPNMはその確認を受け取り(228)、その確認をFSYNCデーモンへと転送する。FSYNCデーモンは確認を確認待ち行列へと送る(230)。
【0033】
FSYNCオーディターは要求待ち行列および確認待ち行列を同期的に読み取り、各確認を各要求と比較する(234)。各要求に対して有効な確認があれば(236)、対応する確認および要求をそれらそれぞれの待ち行列から削除することができる(238)。この方法のこの部分はリターンステップ242にて終わる。ステップ236にて有効な確認が対応する要求に対して対で見つけることができなければ、ファイルアクセス要求はエラーログに送られ(240)、その後に可能なアラームコンディションによって継続され、その方法は同様にリターンステップ242にて終わる。
【0034】
ファイル同期のための本発明に従って、C++言語によるプログラム例を示した。これは、アクティブおよびスタンバイAPSにおけるいかなる特定のアプリケーションないしプロセスに対して透過性であり独立である方式にて、C++派生クラスを用いている。C++言語のオブジェクト指向プログラミングを用いて、オリジナルな基礎クラスから継承して派生される。
【0035】
このような新しいクラスは、本発明に従う同期方法を含む。例えば、iofstreamを元々含むftspクラスは、fsync_iofstreamに派生される。この後者は、アクティブスタンバイの両方にてファイル書き込みが複製されることを保証する。APデーモンは、どのAPがアクティブ、スタンバイ、故障状態であるかをいかなる時間においても確実にするため用いられる。
【0036】
下のプログラム例は新しく派生したクラスsyn_Disk_IOがどのようにftspクラスDisk_IOから派生したのかを示すC++プログラム言語コードである。
【0037】
Figure 0004282850
これは、ディスク読み取り、書き込み、シークをサポートするクラスである。コンストラクタが指定されたファイルを開き、デストラクタがファイルを閉じる。ファイルサイズが指定された場合、これらルーティングは指定されたブロック数をファイルサイズが越えないように管理する。
Figure 0004282850
【0038】
同期を備える新しく発生したクラスは以下の通りである。
Figure 0004282850
【0039】
上に述べた本発明に従って、アクティブAPにおける全てのファイルアクセスが有効に、スタンバイAPにおいて実時間で二重化される。従ってスタンバイAPがアクティブAPの機能を受け継ぎアクティブモードへと移る必要が発生した場合に、スタンバイAPは、(以前にアクティブであった)アクティブAPによって用いられた全ての現在の情報にすでに直ちにアクセスすることができる。従って、フォールトトレーラントネットワークにおけるこのような遷移が発生した場合に、サービスの中断が最小化することができる。
【0040】
本発明には他の多くの利点が明らかであろう。本発明は、フォールトトレーラントネットワークにおいて情報同期を提供し、数秒間のような非常に小さな時間フレーム内にてフォールトトレーラントネットワークにこのような情報ないしファイル同期を提供しサービスの中断を避けることができる。また、本発明は、追加的なハードウェアを必要とせず(用いてもよいが)、プラットホームに依存せず、アプリケーションに依存せず、ユーザーやアプリケーションに対してこのようなフォールトトレーラントを透過的に提供する。
【図面の簡単な説明】
【図1】本発明の装置およびシステムの実施例を示すブロック図。
【図2】本発明に従うアクティブAPとスタンバイAPにおいて発生するプロセスを示した動作フロー図。
【図3】本発明に従う方法を示した流れ図。
【符号の説明】
10 システム
15 通信リンク
20 装置
30 プロセッサー(CPU)
35 ネットワークインターフェース(NIC)
40 第1メモリー
50 第2長期メモリー
100 アクティブAP
200 スタンバイAP
105 FSYNCオーディター
110 FSYNCデーモン
115 FSYNCファイルアクセス機能
120 アプリケーション
130 メモリー
140 アクセス
141 ファイルアクセス
150 ファイルアクセス要求(要求待ち行列)
155 APNM
160 確認待ち行列
205 開始:アクティブAPにおけるプロセスがファイルアクセスを要求
210 ファイルアクセス要求を要求待ち行列に登録し、FSYNCデーモンを呼び出す
212 FSYNCデーモンがAPNMへファイルアクセス要求を送る
214 APNMがスタンバイAPとファイルアクセス要求を送信する
216 スタンバイAPにおけるAPNMがファイルアクセス要求を受ける
218 スタンバイAPにおけるFSYNCデーモンへとファイルアクセス要求が送られる
220 FSYNCデーモンがFSYNC(ftsp)ファイルアクセス機能を呼び出す
222 スタンバイAPにてターゲットファイルがアクセスされFSYNCデーモンへと返し値が返される
224 FSYNCデーモンが返し値から確認を生成する
226 アクティブAPへとAPNMを介して確認が送信される
228 アクティブAPのAPNMが確認を受ける
230 FSYNCデーモンが確認待ち行列へと確認を送る
232 FSYNCオーディターが要求待ち行列および確認待ち行列を読み取る
234 FSYNCオーディターが要求を確認と比較する
236 確認と要求は有効か?
238 それらそれぞれの待ち行列から確認と要求を削除
240 エラーログへとファイルアクセス要求を送り、警告状態を示す
242 戻る

Claims (19)

  1. 少なくとも1対の装置を含むフォールトトレーラントネットワーク用のファイル同期方法であって、該少なくとも1つの対の各々を構成する一方の装置は、該対を構成する他方の装置がスタンバイ状態を有する場合にアクティブ状態を有し
    (a) アクティブ状態を有する該一方の装置においてファイルにアクセスするステップと、
    (b) アクティブ状態を有する該一方の装置内での該ファイルへのアクセスに応答してファイルアクセス要求を実時間で生成し、スタンバイ状態を有する該他方の装置に該ファイルアクセス要求を実時間で送信するステップと、該ファイルアクセス要求は、複数のファイルアクセス要求から選択され、該複数のファイルアクセス要求は、読み取り要求と、書き込み要求と、開く要求と、閉じる要求とを含み、該方法は、さらに、
    (c) スタンバイ状態を有する該他方の装置内で該ファイルアクセス要求を実行して、スタンバイ状態を有する該他方の装置内にそのファイルアクセスを実時間で二重化するステップと、
    (d) スタンバイ状態を有する該他方の装置を使用してファイルアクセス確認を生成し、該ファイルアクセス確認をアクティブ状態を有する該一方の装置に送信するステップと、
    (e) アクティブ状態を有する該一方の装置の該ファイルアクセス要求がスタンバイ状態を有する該他方の装置の対応するファイルアクセス確認を有しているかを判断するステップと、
    (f) アクティブ状態を有する該一方の装置の該ファイルアクセス要求がスタンバイ状態を有する該他方の装置の対応するファイルアクセス確認を有する場合に、該ファイルアクセス要求と該対応するファイルアクセス確認とを削除するステップと、
    (g) アクティブ状態を有する該一方の装置の該ファイルアクセス要求がスタンバイ状態を有する該他方の装置の対応するファイルアクセス確認を有していない場合に、エラーメッセージを生成し、アクティブ状態を有する該一方の装置のエラーログに該ファイルアクセス要求を転送するステップとを含む方法。
  2. 請求項1に記載の方法において、該ステップ(b)は、該ファイルアクセス要求をアクティブ状態を有する該一方の装置の要求待ち行列へと転送するステップを更に含む方法。
  3. 請求項1に記載の方法において、該ステップ(d)は、該ファイルアクセス確認をアクティブ状態を有する該一方の装置の確認待ち行列に転送するステップをさらに含む方法。
  4. 請求項1に記載の方法において、該ステップ(c)は、返し値を生成するステップを更に含む方法。
  5. 請求項1に記載の方法において、該ステップ(a)は、複数のネットワークアプリケーションのうちの1つのネットワークアプリケーションによって実行される方法。
  6. 請求項5に記載の方法において、ステップ(b)乃至(g)の実行はいずれも、該ネットワークアプリケーションに対して透過的である方法。
  7. 請求項5に記載の方法において、該ステップ(b)乃至(g)の実行はいずれも、該ネットワークアプリケーションに依存しない方法。
  8. 請求項1に記載の方法において、該ステップ(b)乃至(g)の実行はいずれも、アクティブ状態を有する該一方の装置スタンバイ状態を有する該他方の装置内の動作プラットホームに依存しない方法。
  9. 少なくとも1対の装置を含むフォールトトレーラント用にファイルを同期するシステムであって、該少なくとも1つの対の各々を構成する一方の装置は、該対を構成する他方の装置がアクティブ状態を有する場合にスタンバイ状態を有し
    (a) スタンバイ状態を有する該一方の装置は、ファイルアクセス要求を実行し、アクティブ状態を有する該他方の装置内で発生している1つ又は複数のファイルアクセスをスタンバイ状態を有する該一方の装置内に実時間で二重化して、ファイルアクセス確認を生成し送信するプログラム命令を備え、
    (b) アクティブ状態を有する該他方の装置は、通信リンクを通してスタンバイ状態を有する該一方の装置に接続され、ネットワークアプリケーションによる1つ又は複数のファイルアクセスの発生に応答してファイルアクセス要求を実時間で生成し、該生成したファイルアクセス要求をスタンバイ状態を有する該一方の装置に送信する命令を備え、該ファイルアクセス要求は、複数のファイルアクセス要求から選択され、該複数のファイルアクセス要求は、読み取り要求と、書き込み要求と、開く要求と、閉じる要求とを含み、
    アクティブ状態を有する該他方の装置は、アクティブ状態を有する該他方の装置内で発生している該1つ又は複数のファイルアクセスの該実時間での二重化に応答してスタンバイ状態を有する該一方の装置が生成した該ファイルアクセス確認を受信し、スタンバイ状態を有する該一方の装置から受信した対応するファイルアクセス確認を該ファイルアクセス要求が有するかどうかを判断し、スタンバイ状態を有する該一方の装置から受信した該対応するファイルアクセス確認を該ファイルアクセス要求が有する場合に、アクティブ状態を有する該他方の装置は、該ファイルアクセス要求と該対応するファイルアクセス確認とを削除する命令を更に備え、スタンバイ状態を有する該一方の装置から受信した対応するファイルアクセス確認を該ファイルアクセス要求が有していない場合に、エラーメッセージを生成し、アクティブ状態を有する該他方の装置のエラーログに該ファイルアクセス要求を転送する命令をさらに含むシステム。
  10. 請求項9に記載のシステムにおいて、スタンバイ状態を有する該一方の装置は、該ファイルアクセス要求の実行の際に返し値を生成するシステム。
  11. 請求項9に記載のシステムにおいて、該ファイル同期は、該ネットワークアプリケーションに対して透過的であるシステム。
  12. 請求項9に記載のシステムにおいて、該ファイル同期は、該ネットワークアプリケーションに依存しないシステム。
  13. 請求項9に記載のシステムにおいて、該ファイル同期は、アクティブ状態を有する該他方の装置スタンバイ状態を有する該一方の装置内の動作プラットホームに依存しないシステム。
  14. 少なくとも1対の装置を含むフォールトトレーラントネットワーク用のファイル同期装置であって、該少なくとも1つの対の各々を構成する一方の装置は、該対を構成する他方の装置がスタンバイ状態を有する場合にアクティブ状態を有し、該少なくとも1つの対の各々を構成する該装置の各々は、
    (a) ファイルアクセス要求の送信および受信とファイルアクセス確認の送信および受信のためのネットワークインターフェースと、
    (b) 該ファイルアクセス要求と該ファイルアクセス確認とを記憶するメモリと、
    (c) 該ネットワークインターフェースと該メモリーとにつながれたプロセッサとを含み、該プロセッサは、動作時に、1つのネットワークアプリケーションが該アクティブ状態を有する該装置内で1つ又は複数のファイルアクセスを実行した場合に、該ファイルアクセス要求を実時間で生成するように該アクティブ状態を有する装置に指示する命令を実行し、該ファイルアクセス要求は、複数のファイルアクセス要求から選択され、該複数のファイルアクセス要求は、読み取り要求と、書き込み要求と、開く要求と、閉じる要求とを含み、該プロセッサは、該装置がアクティブ状態にある時に、該ネットワークインターフェースを介して該ファイルアクセス要求を実時間で送信し、該ファイルアクセス要求が対応するファイルアクセス確認を有するか否かを判断するように指示する命令をさらに含み、該プロセッサは、該装置がアクティブ状態にある場合において、該ファイルアクセス要求が対応するファイルアクセス確認を有するときに、該メモリから該ファイルアクセス要求と該対応するファイルアクセス確認とを削除するように指示し、又は、該ファイルアクセス要求が対応するファイルアクセス確認を有しない場合に、エラーメッセージを生成し、該メモリ内のエラーログにファイルアクセス要求を転送するように指示するプログラム命令をさらに備え、該プロセッサは、該装置がスタンバイ状態にある場合において、該対を構成しアクティブ状態を有する該他方の装置のネットワークアプリケーションによる1つ又は複数のファイルアクセスに応答して実時間で生成された該ファイルアクセス要求を実行し、該他方の装置内で発生している該1つ又は複数のファイルアクセスを該スタンバイ状態を有する該装置内に実時間で二重化し、該1つ又は複数のファイルアクセスの該実時間での二重化に応答して該ファイルアクセス確認を生成し、そして、該ネットワークインターフェースを介して該ファイルアクセス確認を送信するように指示する命令をさらに含む装置。
  15. 請求項14に記載の装置において、該プロセッサは、該ファイルアクセス要求の実行の際に返し値を生成する命令を更に含む装置。
  16. 請求項14に記載の装置において、該メモリは、該ファイルアクセス要求を格納する要求待ち行列を備え、該ファイルアクセス確認を格納する確認待ち行列をさらに備える装置。
  17. 請求項14に記載の装置において、該ファイル同期は、該ネットワークアプリケーションに対して透過的である装置。
  18. 請求項14に記載の装置において、該ファイル同期は、該ネットワークアプリケーションに依存しない装置。
  19. 請求項14に記載の装置において、該ファイル同期は、動作プラットホームに依存しない装置。
JP32602899A 1998-11-16 1999-11-16 フォールトトレーラントネットワーク用のファイル同期方法、装置、システム。 Expired - Lifetime JP4282850B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/193,084 US6427213B1 (en) 1998-11-16 1998-11-16 Apparatus, method and system for file synchronization for a fault tolerate network
US09/193084 1998-11-16

Publications (2)

Publication Number Publication Date
JP2000163301A JP2000163301A (ja) 2000-06-16
JP4282850B2 true JP4282850B2 (ja) 2009-06-24

Family

ID=22712224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32602899A Expired - Lifetime JP4282850B2 (ja) 1998-11-16 1999-11-16 フォールトトレーラントネットワーク用のファイル同期方法、装置、システム。

Country Status (6)

Country Link
US (1) US6427213B1 (ja)
EP (1) EP1001344B1 (ja)
JP (1) JP4282850B2 (ja)
KR (1) KR20000035502A (ja)
CA (1) CA2283042A1 (ja)
DE (1) DE69914568T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715099B1 (en) * 1999-06-02 2004-03-30 Nortel Networks Limited High-availability architecture using high-speed pipes
KR100324275B1 (ko) * 1999-07-14 2002-02-25 서평원 이중화된 프로세서의 이중화 상태 제어 방법
US6658595B1 (en) * 1999-10-19 2003-12-02 Cisco Technology, Inc. Method and system for asymmetrically maintaining system operability
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
US6871102B2 (en) * 2000-12-07 2005-03-22 Lg Electronics Inc. Apparatus and method for verifying memory coherency of duplication processor
US20030023892A1 (en) * 2001-07-18 2003-01-30 Chiazzese Giovanni Peer-to-peer redundancy control scheme with override feature
US7490161B2 (en) * 2001-08-22 2009-02-10 Nokia Inc. Method and system for implementing OSPF redundancy
US7051053B2 (en) * 2002-09-30 2006-05-23 Dinesh Sinha Method of lazily replicating files and monitoring log in backup file system
DE102005026751B4 (de) * 2005-06-09 2008-11-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Datenverarbeitungsanlage zum Einfügen, Suchen, Auffinden und Verteilen von Datenelementen in Endgeräten
JP2009501382A (ja) * 2005-07-14 2009-01-15 ヨッタ ヨッタ, インコーポレイテッド マルチライタシステムにおける書き込み順序忠実性の維持
US7870226B2 (en) * 2006-03-24 2011-01-11 International Business Machines Corporation Method and system for an update synchronization of a domain information file
US20100229029A1 (en) * 2009-03-06 2010-09-09 Frazier Ii Robert Claude Independent and dynamic checkpointing system and method
CN101621819B (zh) * 2009-07-24 2012-02-15 中兴通讯股份有限公司 主备切换接口模块、网元系统和链路信息同步检测方法
US20180335902A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Techniques for dynamically displaying relevant files for selection
CN108184252B (zh) * 2017-11-28 2020-12-11 东南大学 一种雾无线接入网非同步请求编码缓存方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4455601A (en) * 1981-12-31 1984-06-19 International Business Machines Corporation Cross checking among service processors in a multiprocessor system
US5251299A (en) * 1985-12-28 1993-10-05 Fujitsu Limited System for switching between processors in a multiprocessor system
US4797884A (en) * 1986-09-29 1989-01-10 Texas Instruments Incorporated Redundant device control unit
JP2560510B2 (ja) * 1990-03-06 1996-12-04 日本電気株式会社 ネットワーク管理マネージャ切り替え方式
JP2708610B2 (ja) * 1990-06-08 1998-02-04 富士通株式会社 データベースのログ管理処理方式
US5278969A (en) * 1991-08-02 1994-01-11 At&T Bell Laboratories Queue-length monitoring arrangement for detecting consistency between duplicate memories
IT1255618B (it) * 1992-09-30 1995-11-09 Sits Soc It Telecom Siemens Unita' di controllo e di elaborazione duplicata per apparati di telecomunicazioni
EP0593062A3 (en) * 1992-10-16 1995-08-30 Siemens Ind Automation Inc Redundant networked database system
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5544304A (en) * 1994-03-25 1996-08-06 International Business Machines Corporation Fault tolerant command processing
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
JP4095139B2 (ja) * 1996-09-03 2008-06-04 株式会社東芝 コンピュータシステムおよびファイル管理方法
KR19980024086A (ko) * 1996-09-03 1998-07-06 니시무로 타이조 컴퓨터 시스템 및 화일 관리 방법
FR2762112B1 (fr) * 1997-04-10 1999-05-07 Alsthom Cge Alcatel Procede de synchronisation de deux memoires de masse reparties
US6148410A (en) * 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US5914919A (en) * 1997-10-30 1999-06-22 International Business Machines Corporation Switching between and simultaneous control of multiple accessors by one of dual library managers

Also Published As

Publication number Publication date
DE69914568D1 (de) 2004-03-11
EP1001344B1 (en) 2004-02-04
US6427213B1 (en) 2002-07-30
EP1001344A3 (en) 2000-09-13
JP2000163301A (ja) 2000-06-16
CA2283042A1 (en) 2000-05-16
EP1001344A2 (en) 2000-05-17
KR20000035502A (ko) 2000-06-26
DE69914568T2 (de) 2004-12-16

Similar Documents

Publication Publication Date Title
US6282610B1 (en) Storage controller providing store-and-forward mechanism in distributed data storage system
US5822531A (en) Method and system for dynamically reconfiguring a cluster of computer systems
US9916113B2 (en) System and method for mirroring data
JP4282850B2 (ja) フォールトトレーラントネットワーク用のファイル同期方法、装置、システム。
JP3759410B2 (ja) クラスタ化された計算処理環境において実行する分散ネットワークアプリケーションの管理用リクエストを処理するための方法および装置
KR100575497B1 (ko) 내고장성 컴퓨터 시스템
FI101432B (fi) Vikasietoinen tietokonejärjestelmä
US7254740B2 (en) System and method for state preservation in a stretch cluster
US7370336B2 (en) Distributed computing infrastructure including small peer-to-peer applications
US7562100B2 (en) Maintaining coherency in a symbiotic computing system and method of operation thereof
US20050193128A1 (en) Apparatus, system, and method for data access management
US7987154B2 (en) System, a method and a device for updating a data set through a communication network
JP2006500693A (ja) 動的rdfグループ
JP2005508551A (ja) 共有バスを用いたデータのミラー化
EP1214663B1 (en) Scalable file server with highly available pairs
JP2004532442A (ja) ストレージシステムにおけるフェイルオーバー処理
US7634601B1 (en) Method and apparatus for providing continuous communications between computers
US6944684B1 (en) System for selectively using different communication paths to transfer data between controllers in a disk array in accordance with data transfer size
JPH08212095A (ja) クライアントサーバ制御システム
US6961749B1 (en) Scalable file server with highly available pairs
US7526544B2 (en) Message tracking method, apparatus, and system
JP7346313B2 (ja) データベース管理システム、クラウド提供システム、データ複製システム、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051012

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051209

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

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

R150 Certificate of patent or registration of utility model

Ref document number: 4282850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130327

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140327

Year of fee payment: 5

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