JP4095139B2 - Computer system and file management method - Google Patents
Computer system and file management method Download PDFInfo
- Publication number
- JP4095139B2 JP4095139B2 JP23293097A JP23293097A JP4095139B2 JP 4095139 B2 JP4095139 B2 JP 4095139B2 JP 23293097 A JP23293097 A JP 23293097A JP 23293097 A JP23293097 A JP 23293097A JP 4095139 B2 JP4095139 B2 JP 4095139B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- checkpoint
- computer
- standby
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、たとえばネットワーク接続された複数のコンピュータにより構成されるネットワークコンピューティング環境などにおいて、高い信頼性を必要とするグループコンピューティング処理、データベース処理、およびトランザクション処理などに適用して好適なコンピュータシステムおよびファイル管理方法に関する。
【0002】
【従来の技術】
CPUによって実行されるプロセスのアドレス空間やコンテクスト、およびファイルなどの状態を定期的に採取して(これをチェックポイントと称す)、障害が発生したときに、最後に採取したチェックポイントの状態を復元し、その時点からプロセスの実行を再開始するといった障害からの回復機能を有したシステムにおいては、従来より外部入出力処理に関して課題があった。すなわち、障害が発生したときに、最後に採取したチェックポイントからプロセスを再実行させる際、プロセスのアドレス空間やプロセッサのコンテクストなどの状態は復元できるが、外部入力装置の状態の復元は容易ではなかった。
【0003】
たとえば、ファイルに対する書き込みをキャンセルすることは困難であるために、ファイルに対して書き込みを行なうときには、データをファイルに書き込む前に書き込み以前のデータを事前に読み込んで保存を行ない、その後にファイルへのデータ書き込みを行なっていた。
【0004】
図15は、ファイルに対する書き込みをキャンセルすることが困難なため、ファイルに対して書き込みを行なうときに、データをファイルに書き込む前に書き込み以前のデータを事前に読み込んで保存を行ない、その後にファイルへのデータ書き込みを行なう従来のシステムの仕組みを説明する図である。
【0005】
この例では、時刻t1のチェックポイントを採取した時点において“ABCD”の4バイトのデータからなるファイルに、時刻t2において1バイト目に“X”をwriteしている(1)。この場合、従来では、ファイルの1バイト目に“X”をwriteする前に、ファイルの1バイト目のデータ“B”をreadしておき(これをundoログとも言う)(2)、その後でファイルの1バイト目に“X”をwriteしている(3)。
【0006】
その後、時刻t3において障害が発生したために、プロセスを最後に採取されたチェックポイントの状態(t1)にロールバックする。ファイルは、チェックポイントt1以降に1バイト目が“X”に更新されているが、更新時に採取されたundoログを用いることにより、チェックポイントt1の状態を復元している。なお、このundoログは、次のチェックポイント時に不要となり廃棄される。
【0007】
また、たとえば2つのコンピュータにより構築され、その一方(プライマリコンピュータ)を運用系、他方(バックアップコンピュータ)を待機系として振り分けて2重化し、プライマリコンピュータに障害が発生したときに、バックアップコンピュータが処理を引き継くことによってシステムの可用性を高めるといったシステムも存在する。そして、このようなシステムで、前述したようにチェックポイントを定期的に採取していけば、信頼性をさらに向上させることが可能となる。
【0008】
【発明が解決しようとする課題】
この様に、プロセスのアドレス空間やコンテクスト、およびファイルなどの状態、すなわち、チェックポイントを定期的に採取していき、障害が発生したときに、最後に採取したチェックポイントの状態を復元し、その時点からプロセスの実行を再開始するといった障害からの回復機能を有したシステム(2重化されているかどうかを問わない)においては、その信頼性は向上されるが、一方で、ファイルの更新(たとえば書き込み)を行なうときに、一旦更新前のデータをファイルから読み込んで、それからファイルへの更新を行なわなければならなかったために、ファイルの更新性能を低下させるという課題があった。
【0009】
この発明は、このような実情に鑑みてなされたものであり、チェックポイントを定期的に採取して、障害が発生したときには最後に採取したチェックポイントの状況を復元し、その時点からプロセスの実行を再開始するといった障害からの回復機能を有したシステムにおいて、ファイルの更新を行なうときに、更新前のデータをファイルから読み込むなどといったことを不要とし、ファイルの更新性能を大幅に改善することを可能とするコンピュータシステムおよびファイル管理方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
この発明のコンピュータシステムは、運用系および待機系の2つのコンピュータで2重化されたコンピュータシステムであって、中断されたプロセスの処理を再開始するための、アドレス空間とプロセッサコンテクストとを含むチェックポイント情報が保存されるチェックポイントを定期的に採取し、前記運用系および待機系双方のコンピュータ上に前記チェックポイント情報を保存するコンピュータシステムにおいて、前記運用系のコンピュータ上で実行されるプロセスによって更新されるファイルを前記運用系および待機系双方のコンピュータで2重化して設けておき、前記プロセスからファイルの更新が指示されたときに、その更新情報を前記待機系のコンピュータ上に保存して運用系のファイルのみを更新し、その更新が完了した時点でその更新の要求元に対し更新完了を通知することにより、前記アドレス空間とプロセッサコンテクストを含むチェックポイント情報に基づき最後に採取されたチェックポイントにおける状態にプロセスが復元された場合に必要となる、最後に採取されたチェックポイントにおける状態に待機系のファイルを維持する第1のファイル管理手段と、前記チェックポイントが採取される毎に、前記更新情報に示される更新内容を前記待機系のファイルに反映させることにより、待機系のファイルを当該採取されたチェックポイントにおける状態に更新する第2のファイル管理手段とを具備してなることを特徴とする。
【0011】
この発明のコンピュータシステムにおいては、プロセスがファイルの更新を要求したときに、その更新内容を示す更新情報を取得して保存するとともに、運用系のコンピュータに配置されたファイル(運用系ファイル)のみを即座に更新して、その結果を要求元であるプロセスに返答する。そして、チェックポイントが採取された後に、その保存しておいた更新情報で示される更新内容を、待機系のコンピュータに配置されたファイル(待機系ファイル)に反映させる。
【0012】
一方、たとえばプロセスがアボートしたときなどには、保存しておいた更新情報に基づいて、最後に採取したチェックポイント以降に更新されたデータに対応する更新前のデータを待機系ファイルからすべて読み出し、この読み出した更新前のデータを用いて運用系ファイルをチェックポイント時点に復元する。
【0013】
すなわち、このコンピュータシステムにおいては、従来のようにファイルを更新するときに、更新前のデータを読み出して退避させておくといった処理の完了を通常処理に待機させることなく、障害時のファイルのリカバリが実現されることになり、信頼性を損なうことなくファイルの更新性能を飛躍的に向上させることが可能となる。
【0014】
また、運用系ファイルの復元に代えて、最終のチェックポイント以前に保存された更新情報で示される更新内容すべてが反映された待機系ファイルを用いたチェックポイントからのプロセスの再実行も有効である。すなわち、運用系のコンピュータの障害などにより、運用系ファイルを用いての再開始が不可能な場合などにおける処理の継続も確保されることになり、システムの可用性を向上させることになる。また、この場合には、第3のコンピュータに新たに待機系ファイルを確保すれば、システムの可用性をさらに向上させることが可能となる。
【0015】
【発明の実施の形態】
まず、図1を参照してこの発明の基本原理を説明する。図1に示すように、この発明のコンピュータシステムは、運用系システム10と待機系システム20とで多重化されたシステムを前提とする。以下にそれぞれの動作を説明する。
【0016】
(通常処理)
(1)運用系システム10でアプリケーションプログラム11がWriteシステムコールを発行する。
【0017】
(2)ジャケットルーチン12がWriteシステムコールをフックし、運用系のオペレーティングシステムにWriteシステムコールを発行するとともに、そのWrite要求を待機系システム20に送信する。ただし、待機系システム20に即座にWrite要求を送信する必要はなく、次のチェックポイントまでに送信すればよい。また、待機系システム20では、受信したWrite要求を即座に実行するのではなく、一旦未確定キュー211に格納する。
【0018】
(3)チェックポイント処理が指示されると、運用系システム10は、溜っているWrite要求をすべて待機系システム20に送信し終えなければならない。
【0019】
(4)一方、待機系システム20では、未確定キュー211に格納されたWrite要求を確定キュー212に移動する。
【0020】
(5)この確定キュー212に移されたWrite要求は、待機系システム20のオペレーティングシステムによって順次処理されていく。
【0021】
すなわち、通常処理において発生するファイル更新においては、更新前のデータを読み出して退避させておくといった処理の完了を待機することがない。
【0022】
(ロールバック処理)
(3)´障害が発生したようなときに、運用系システム10および待機系システム20の双方にロールバック処理が指示される。
【0023】
(4)´このとき、運用系システム10に残存するWrite要求を、すべて待機系システム20に送信する。また、待機系の未確定キュー211に格納されたWrite要求は、最後のチェックポイント以降に発行されたものであるので、逆にこれを参照して待機系ファイル23から更新前のデータを読み出し、この読み出した更新前のデータを用いて運用系ファイル14をロールバックする。これにより、運用系ファイル14および待機系ファイル23の双方のファイルが最後のチェックポイント時点の状態になる。
【0024】
(5)´そして、待機系システム20は、未確定キュー211に残存するWrite要求をすべてキャンセルする。
【0025】
これにより、チェックポイント時点からの再開始が可能となる。
【0026】
次に、この発明の実施の形態を説明する。
【0027】
(第1の実施形態)
まず、この発明の第1の実施形態を説明する。図2にはこの発明の第1の実施形態に係るコンピュータシステムのシステム構成が示されている。図2に示したように、本実施形態のコンピュータシステムは、コンピュータがプライマリコンピュータ30と、バックアップコンピュータ40とで2重化されており、これらはネットワーク50で接続されている。このプライマリコンピュータ30とバックアップコンピュータ40とは、前述した運用系システム10および待機系システム20双方をそれぞれに備えており、いずれかで運用系システム10が動作するときに、他方では待機系システム20が動作する。ここでは、プライマリコンピュータ30側で運用系システム10、バックアップコンピュータ40側で待機系システム20をそれぞれ説明する。
【0028】
プロセス35は、プライマリコンピュータ30上で実行され、プライマリファイル39とバックアップファイル41とで2重化されたファイルを更新する。ここで、プライマリファイル39はプライマリコンピュータ30上に、バックアップファイル41はバックアップコンピュータ40上に配置され、プライマリコンピュータ30上のファイルシステム36およびバックアップコンピュータ40上のファイルシステム48を介して更新される。
【0029】
プライマリコンピュータ30上のファイルシステム36は、プライマリファイル操作部38とプライマリファイル復元部37とを含んでいる。一方、バックアップコンピュータ40上のファイルシステム48は、バックアップファイル操作部43、未確定キュー431、確定キュー432、バックアップファイル更新部44およびプライマリファイル復元情報読み出し部42を含んでいる。
【0030】
プロセス35がこの2重化されたファイルを更新する場合、プライマリファイル操作部38およびバックアップファイル操作部43を経由して行なう。プロセス35がこの2重化されたファイルに対応するwriteを行なうと、プライマリファイル39は、そのまま即座に更新されるが、バックアップファイル41はその時点では更新されずに、「ファイル書き込み情報」がバックアップファイル操作部43を経由して、バックアップコンピュータ40上の未確定キュー431に保存される。
【0031】
また、プロセス35がチェックポイントを採取する場合には、チェックポイント制御部31が、チェックポイント情報保存部32とプライマリファイル操作部38とにその指示を出す。チェックポイント情報保存部32は、チェックポイント採取の指示を受け取ると、チェックポイント情報(アドレス空間とプロセッサコンテクスト)をプライマリコンピュータ30上およびバックアップコンピュータ40上に保存する(プライマリコンピュータ30上のチェックポイント情報34およびバックアップコンピュータ40上のチェックポイント情報45)。
【0032】
一方、プライマリファイル操作部38は、チェックポイント採取の指示を受け取ると、バックアップファイル操作部43を経由して、未確定キュー431に保存されていた「ファイル書き込み情報」を確定キュー432に移動させる。この確定キュー432に移動された「ファイル書き込み情報」は、チェックポイント採取後に、バックアップファイル更新部44によってバックアップファイル41の更新のために使用され、バックアップファイル41の更新後に廃棄される。これにより、チェックポイント以降にプライマリファイル39に対して行なわれたものと同じwrite操作が、バックアップファイル41に対しても行なわれることになる。
【0033】
プロセス35がアボートなどの障害を発生させ、プロセス35をプライマリコンピュータ30上で最後に採取したチェックポイントから再実行する場合、アドレス空間とプロセッサコンテクストとは、プライマリコンピュータ30上のチェックポイント情報復元部37によって復元される。
【0034】
ファイルに関しては、バックアップファイル41は、チェックポイント以降の更新は未だ未確定キュー431に「ファイル書き込み情報」が保存されているだけであり、実際には更新されていないので復元は不要である。しかしながら、プライマリファイル39は、チェックポイント以降にすでに更新が行なわれているので復元が必要である。したがって、未確定キュー431に保存された「ファイル書き込み情報」に基づき、プライマリファイル39の更新前データをバックアップファイル41からreadし、このreadした更新前データをプライマリファイル39にwriteすることによって復元する。そして、この後、未確定キュー431に保存された「ファイル書き込み情報」を廃棄する。なお、確定キュー432に「ファイル書き込み情報」が保存されている場合には、その「ファイル書き込み情報」のバックアップファイル41への反映が完了した後に、前述した復元処理を開始する。
【0035】
一方、プライマリコンピュータ30またはプライマリコンピュータ30を制御するオペレーティングシステムがシステムダウンなどの障害を発生させ、プロセス35をバックアップコンピュータ40上で最後に採取したチェックポイントから再実行する場合には、アドレス空間とプロセッサコンテクストとは、チェックポイント情報復元部46によってプロセス47に復元される。
【0036】
ファイルに関しては、バックアップファイル41は、チェックポイント以降の更新は未だ未確定キュー431に「ファイル書き込み情報」が保存されているだけであり、実際には更新されていないので復元は不要である。
【0037】
なお、この「ファイル書き込み情報」のプライマリコンピュータ30からバックアップコンピュータ40への転送については最適化が可能である。障害が発生したときに、プライマリコンピュータ30がダウンしなかった場合は、プライマリファイル39を復元し、プライマリファイル39を用いてチェックポイントからの処理を再開する。一方、障害が発生したときに、プライマリコンピュータ30がダウンした場合には、バックアップファイル41を用いてチェックポイントから処理を再開する。
【0038】
それゆえに、「ファイル書き込み情報」は、プライマリファイル操作部38からバックアップファイル操作部43に即時に送る必要はない。すなわち、これらの「ファイル書き込み情報」は、次のチェックポイントまでに送ればよいので、転送効率を考慮すると、一旦プライマリファイル操作部38において蓄積しておき、「一定容量蓄積された」、「一定時間経過した」および「チェックポイント採取が要求された」といった事象の発生をトリガとして、バックアップファイル操作部43にまとめて送るということが可能である。
【0039】
図3には、本実施形態を適用するコンピュータシステムの概略構成が示されている。コンピュータはプライマリコンピュータ30とバックアップコンピュータ40とで2重化されており、プライマリコンピュータ30にはディスク装置60aが、バックアップコンピュータ40にはディスク装置60bがそれぞれ接続されている。プロセス35はプライマリコンピュータ上で実行され、また、このプロセス35がアクセスするファイルは、プライマリファイル39とバックアップファイル41とで2重化されており、各々ディスク装置60aとディスク装置60bとに配置されている。
【0040】
そして、チェックポイントは、チェックポイント情報をプライマリコンピュータ30側(プライマリチェックポイント情報34)と、バックアップコンピュータ40側(バックアップチェックポイント情報45)の両方に保持する。なお、この図では、チェックポイントをディスク装置上に保持しているが、メモリ上に保持しても構わない。
【0041】
もし、プライマリコンピュータ30またはプライマリコンピュータ30を制御するオペレーティングシステムにシステムダウンなどの障害が発生した場合には、バックアップコンピュータ40側でチェックポイント情報45を用いてプロセス47を再実行する。この場合プロセス47は、バックアップファイル41を使用することになる。
【0042】
また、プライマリファイル39またはバックアップファイル41を複数個持ち、3重化以上のファイルシステムを作ることも可能である。この場合、たとえば3重化ファイルシステムならば、
(1)2個のプライマリファイルと1個のバックアップファイル
(2)1個のプライマリファイルと2個のバックアップファイル
といった組み合わせが考えられる。
【0043】
図4は、本実施形態においてファイルを更新する様子を示す図である。この例では、プライマリコンピュータ30上で動くプロセス35が、4バイトのデータ“ABCD”を持つ2重化されたファイル(プライマリコンピュータ30上のプライマリファイル39と、バックアップコンピュータ40上のバックアップファイル41)に対し、時刻t1において1バイト目に“X”をwriteしている(1)。これによってプライマリファイル39は即時に更新されるが、バックアップファイル41は即時には更新されずに、「ファイル書き込み情報」のみを保存している。
【0044】
この後、時刻t2においてチェックポイントが採取されることによって、先程の「ファイル書き込み情報」の実行が確定する(2)。そして時刻t2以降で、確定された「ファイル書き込み情報」に基づいて、バックアップファイル41の更新を実行している。
【0045】
図5は、本実施形態において障害発生時にプライマリファイルを復元する様子を示す図である。この例では、プライマリコンピュータ30上で動くプロセス35が、4バイトのデータ“ABCD”を持つ2重化されたファイル(プライマリコンピュータ30上のプライマリファイル39と、バックアップコンピュータ40上のバックアップファイル41)に対し、時刻t1において1バイト目に“X”をwriteしている(1)。これによってプライマリファイル39は即時に更新されるが、バックアップファイル41は即時には更新されずに、「ファイル書き込み情報」のみを保存している。
【0046】
この後、時刻t2において障害が発生している(2)。すなわち、時刻t1おける「ファイル書き込み情報」でプライマリファイル39は更新されているため復元の必要があるが、バックアップファイル41は未だ更新されていないため復元の必要がない。ここで時刻t1において保存された「ファイル書き込み情報」によって、プライマリファイル39の更新部分がかわる。そこで、プライマリファイル39の復元においては、未確定の「ファイル書き込み情報」に示された位置のデータをバックアップファイル41からreadし、そのreadしたデータをプライマリファイル39にwriteすることによって、プライマリファイル39を復元する。
【0047】
そして、プライマリコンピュータ30上で取られているチェックポイントを用いて、プライマリコンピュータ30上でプロセス35を再実行している。この再実行されたプロセス35は、復元されたプライマリファイル39を使用する。
【0048】
図6は、ファイル操作部が「ファイル書き込み」を指示されたときの処理の流れを示すフローチャートである。この場合、まず、「ファイル書き込み情報」を保存し、未確定キュー431にリンクする(ステップA1)。次に、「ファイル書き込み情報」にしたがって、プライマリファイル39の更新を行なう(ステップA2)。この時点で、「ファイル書き込み」操作は完了したとして、要求側に完了通知を行なう(ステップA3)。
【0049】
図7は、ファイル操作部が「チェックポイント採取」を指示されたときの処理の流れを示すフローチャートである。この場合、保存されている「ファイル書き込み情報」を未確定キュー431から確定キュー432に移動する(ステップB1)。
【0050】
図8は、バックアップファイル更新部の処理の流れを示すフローチャートである。この場合、まず、確定キュー432に「ファイル書き込み情報」がリンクされているかどうかを検査する(ステップC1)。もし、リンクされていない場合(ステップC1のN)、バックアップファイル更新部44は、この検査を続行する。一方、リンクされている場合には(ステップC1のY)、確定キュー432にリンクされている「ファイル書き込み情報」に基いて、バックアップファイル41を更新する(ステップC2)。そして、実行した「ファイル書き込み情報」を確定キュー432からはずす(ステップC3)。
【0051】
図9は、プロセス35にアボートなどの障害が発生し、プロセス35をプライマリコンピュータ30上で最後に採取したチェックポイントから再実行する場合の処理の流れを示すフローチャートである。
【0052】
プロセス35に障害が発生すると、まず、プライマリコンピュータ30上のチェックポイント情報復元部33に、「アドレス空間とプロセッサコンテクストとの復元を指示する(ステップD1)。次に、プライマリファイル復元部33に、「プライマリファイルの復元」を指示する(ステップD2)。
【0053】
図10は、プライマリコンピュータ30上のチェックポイント情報復元部が「アドレス空間とプロセッサコンテクストの復元」を指示された場合の処理の流れを示すフローチャートである。この場合、まず、プロセス35のアドレス空間を復元する(ステップE1)。次に、プロセス35のチェックポイント採取時のプロセッサコンテクストの状態を復元する(ステップE2)。
【0054】
図11は、プライマリファイル復元部37が、「プライマリファイルの復元」を指示された場合の処理の流れを示すフローチャートである。この場合、まず、未確定キュー431に、「ファイル書き込み情報」がリンクされているかどうかを検査する(ステップF1)。「ファイル書き込み情報」がリンクされている場合には(ステップF1のY)未確定キュー431にリンクされている「ファイル書き込み情報」にしたがって、プライマリファイル39の中の更新されている部分のデータをバックアップファイル41からreadし、そのReadしたデータをプライマリファイル39にwriteすることにより、プライマリファイル39のその更新されている部分のデータを復元する(ステップF2)。そして、復元に利用した「ファイル書き込み情報」を、未確定キュー431からはずす(廃棄する)(ステップF3)。この処理は、未確定キュー431にリンクた「ファイル書き込み情報」が無くなるまで繰り返される。
【0055】
プライマリコンピュータ30またはプライマリコンピュータ30を制御するオペレーティングシステムにシステムダウンなどの障害が発生した場合には、プロセス35をバックアップコンピュータ40上で最後に採取したチェックポイントから再実行する。この場合は、バックアップファイル41で処理を引き継ぐ。図12は、障害が発生したときに、バックアップファイル41で処理を引き継ぐ様子を示す図である。
【0056】
この例では、プライマリコンピュータ30上で動作するプロセス35が、4バイトのデータ“ABCD”を持つ2重化されたファイル(プライマリコンピュータ30上のプライマリファイル39と、バックアップコンピュータ40上のバックアップファイル41)に対し、時刻t1において1バイト目に“X”をwriteしている(1)。これによってプライマリファイル39は即時に更新されるが、バックアップファイル41は即時には更新されずに、「ファイル書き込み情報」のみを保存している。
【0057】
この後、時刻t2においてプライマリコンピュータ30に障害が発生している(2)。この場合、バックアップコンピュータ40上に取られたチェックポイントを用いて、バックアップコンピュータ40上でプロセス47を再実行している。このとき、プロセス47は、バックアップファイル41を用いて処理を継続するわけだが、時刻t1においてプライマリファイル39は更新されているが、バックアップファイル41は未だ更新されていないので、バックアップコンピュータ40上でのプロセス47の再実行においては、バックアップファイル42がそのまま使用できる。
【0058】
なお、障害発生によりバックアップファイルを切り離した場合には、その後に新たなバックアップファイルを作成することによって、再び図1の様な初期状態を再現することができ、再度の障害発生に対しても回復処理が可能となる。
【0059】
また、障害発生によってバックアップファイルで処理を引き継ぎ、チェックポイントから処理を再実行した場合には、その後、バックアップファイルをプライマリファイルとして新たなバックアップファイルを作成することにより、再び図1の様な初期状態を再現することができ、再度の障害発生に対しても回復処理が可能となる。この再度バックアップファイルを作成する場合には、以下の様な2つの方法がある。
【0060】
(1)バックアップファイル切り離し後のプライマリファイルの更新情報とデータとを保存しておき、バックアップファイルを再接続する場合には、バックアップファイルに前記切り離し後のプライマリファイルの更新情報とデータとを反映させる。
【0061】
(2)プライマリファイルをバックアップファイルにコピーする。ただし、コピー中にもプライマリファイルが更新され続けている場合には、コピーを始めると同時にファイルの更新情報とデータとをバックアップファイルにも反映させる。
【0062】
さらに、この2つの方法を組み合わせた以下の様な方法も有効である。
【0063】
(3)切り離されたバックアップファイル(あるいは障害発生前のプライマリファイル)を再接続することを前提に、一定時間が経過するまでは(1)の方法が取れる様に、バックアップファイル切り離し後のプライマリファイルの更新情報とデータとを保存しておく。一定時間を経過したら、(1)の方法は締め、バックアップファイル切り離し後のプライマリファイルの更新情報とデータとの保存は止めて、(2)の方法を取るようにする。また、切り離されたバックアップファイル以外のファイルで再接続する場合にも、バックアップファイル切り離し後のプライマリファイルの更新情報とデータとの保存は止めて、(2)の方法を取る。
【0064】
(第2の実施形態)
次に、この発明の第2の実施形態を説明する。第1の実施形態では、2重化されたコンピュータシステムを説明したが、この発明は、2重化されていないコンピュータ上のファイルシステムに適用しても効果がある。そこで、本実施形態では、2重化されていないコンピュータ上のファイルシステムに適用した場合を例に説明する。図13は、この発明を2重化されていないコンピュータ上のファイルシステムに適用した場合の構成図である。このシステムでは、コンピュータは2重化されておらず、コンピュータ30のみが存在する。プロセス35は、このコンピュータ30上で実行され、プライマリファイル39とバックアップファイル41とで2重化されたファイルを更新する。すなわち、これらブライマリファイル39およびバックアップファイル41は、共にコンピュータ30上に配置され、ファイルシステム36を介して更新される。
【0065】
コンピュータ30上のファイルシステム36は、プライマリファイル操作部38、プライマリファイル復元部37、バックアップファイル操作部43、未確定キュー431、確定キュー432、バックアップファイル更新部44およびプライマリファイル復元情報読み出し部42を含んでいる。
【0066】
プロセス35がこの2重化されたファイルを更新するときは、プライマリファイル操作部38およびバックアップファイル操作部43を経由して行なう。プロセス35がこの2重化されたファイルに対するwriteを行なうと、プライマリファイル39はそのまま更新されるが、バックアップファイル41は更新されずに、「ファイル書き込み情報」がバックアップファイル操作部43を経由して未確定キュー431に保存される。
【0067】
また、プロセス35がチェックポイントを採取するときには、チェックポイント制御部31が、チェックポイント情報保存部32とプライマリファイル操作部43に指示を出す。チェックポイント情報保存部32はチェックポイント採取の指示を受けると、アドレス空間とプロセッサコンテクストとをコンピュータ30上に行なう(チェックポイント情報34)。
【0068】
一方、プライマリファイル操作部38は、チェックポイント採取の指示を受けると、バックアップファイル操作部43を経由して、未確定キュー431に保存されていた「ファイル書き込み情報」を確定キュー432に移動させる。確定キュー432に移動された「ファイル書き込み情報」は、チェックポイント採取後に、バックアップファイル更新部44によってバックアップファイル41の更新のために使用され、バックアップファイル41の更新後に廃棄される。これにより、チェックポイント以降にプライマリファイル39に対して行なわれたのと同じように、write操作がバックアップファイル41に対して行なわれる。
【0069】
プロセス35にアボートなどの障害が発生し、プロセス35をコンピュータ30上で最後に採取したチェックポイントから再実行する場合、アドレス空間とプロセッサコンテクストは、コンピュータ30上のチェックポイント情報復元部33によって復元される。
【0070】
ファイルに関しては、バックアップファイル41は、チェックポイント以降の更新が未だ未確定キュー431に「ファイル書き込み情報」が保存されているだけであり、実際には更新されていないので復元は不要である。しかしながら、プライマリファイル39は、チェックポイント以降にすでに更新が行なわれているので復元が必要である。したがって、未確定キュー431に保存された「ファイル書き込み情報」に基づき、プライマリファイル39の更新前データをバックアップファイル41からreadし、このReadした更新前データをプライマリファイル39にwriteすることによって復元する。そして、この後、未確定キュー431に保存された「ファイル書き込み情報」を廃棄する。なお、確定キュー432に「ファイル書き込み情報」が保存されている場合には、その「ファイル書き込み情報」のバックアップファイル41への反映が完了した後に、前述した復元処理を開始する。
【0071】
図14には、本実施形態を適用するコンピュータシステムの概略構成が示されている。本実施形態のシステムはコンピュータ30のみで稼働し2重化されていない。コンピュータ30にはディスク装置60aとディスク装置60bとが接続されている。プロセス35はコンピュータ30上で実行され、また、このプロセス35がアクセスするファイルは、プライマリファイル39とバックアップファイル41とで2重化されており、各々ディスク装置60aとディスク装置60bとに配置されている。
【0072】
このように、この発明を適用することにより、プロセスのアドレス空間やプロセッサのコンテクストなどの状態(チェックポイント情報)を定期的に保存しながら実行を続け、障害が発生したときには最後に保存したチェックポイントからプロセスを再実行させることによる障害時対策を施したシステムにおいて、ファイルの更新を行なう際に、一旦更新前データをファイルから読み込む必要がなくなるため、ファイルの更新性能が大幅に改善される。
【0073】
なお、前述の実施形態に記載したファイルの管理方法は、コンピュータに実行させることのできるプログラムとしてフロッピィディスク、光ディスクおよび半導体メモリなどの記録媒体に格納して頒布することが可能である。
【0074】
【発明の効果】
以上詳述したように、この発明によれば、プロセスがファイルの更新を要求したときに、その更新内容を示す更新情報を取得して保存するとともにプライマリファイルのみを即座に更新し、チェックポイントが採取された後に、その保存しておいた更新情報で示される更新内容をバックアップファイルに反映させる。そして、たとえばプロセスがアボートしたときなどには、保存しておいた更新情報に基づいて、最後に採取したチェックポイント以降に更新されたデータに対応する更新前のデータをバックアップファイルからすべて読み出し、この読み出した更新前のデータを用いてプライマリファイルをチェックポイント時点に復元し、プロセスの再実行を開始する(バックアップファイルを用いたプロセスの再実行の開始も可能)。
【0075】
すなわち、このコンピュータシステムにおいては、従来のようにファイルを更新するときに、更新前のデータを読み出して退避させておくといった処理の完了を通常処理に待機させることなく、障害時のファイルのリカバリが実現されることになり、信頼性を損なうことなくファイルの更新性能を飛躍的に向上させることが可能となる。
【図面の簡単な説明】
【図1】この発明の基本原理を説明するための概念図。
【図2】この発明の第1の実施形態に係るコンピュータシステムのシステム構成を示す図。
【図3】同実施形態を適用するコンピュータシステムの概略構成を示す図。
【図4】同実施形態においてファイルを更新する様子を示す図。
【図5】同実施形態において障害発生時にプライマリファイルを復元する様子を示す図。
【図6】同実施形態のファイル操作部が「ファイル書き込み」を指示されたときの処理の流れを示すフローチャート。
【図7】同実施形態のファイル操作部が「チェックポイント採取」を指示されたときの処理の流れを示すフローチャート。
【図8】同実施形態のバックアップファイル更新部の処理の流れを示すフローチャート。
【図9】同実施形態のプロセスにアボートなどの障害が発生し、プロセスをプライマリコンピュータ30上で最後に採取したチェックポイントから再実行する場合の処理の流れを示すフローチャート。
【図10】同実施形態のプライマリコンピュータ上のチェックポイント情報復元部が「アドレス空間とプロセッサコンテクストとの復元」を指示された場合の処理の流れを示すフローチャート。
【図11】同実施形態のプライマリファイル復元部が「プライマリファイルの復元」を指示された場合の処理の流れを示すフローチャート。
【図12】同実施形態の障害が発生したときにバックアップファイルで処理を引き継ぐ様子を示す図。
【図13】この発明の第2の実施形態に係るコンピュータシステムのシステム構成を示す図。
【図14】同実施形態を適用するコンピュータシステムの概略構成を示す図。
【図15】従前のファイルに対する書き込みをキャンセルすることが困難なため、ファイルに対して書き込みを行なうときに、データをファイルに書き込む前に書き込み以前のデータを事前に読み込んで保存を行ない、その後にファイルへのデータ書き込みを行なう従来のシステムの仕組みを説明する図。
【符号の説明】
10…運用系システム、11…アプリケーションプログラム、12…ジャケットルーチン、13…OSバッファキャッシュ、14…ディスク装置、20…待機系システム、21デーモン、211…未確定キュー、212…確定キュー、22…OSバッファキャッシュ、23…ディスク装置、30…プライマリコンピュータ、31…チェックポイント制御部、32…チェックポイント情報保存部、33…チェックポイント情報復元部、34…チェックポイント情報、35…プロセス、36…ファイルシステム、37…プライマリファイル復元部、38…プライマリファイル操作部、39…プライマリファイル、40…バックアップコンピュータ、41…バックアップファイル、42…プライマリファイル復元情報読み出し部、43…バックアップファイル操作部、431…未確定キュー、432…確定キュー、44…バックアップファイル更新部、45…チェックポイント情報、46…チェックポイント情報復元部、47…プロセス、50…ネットワーク、60a,60b…ディスク装置。[0001]
BACKGROUND OF THE INVENTION
The present invention is a computer system suitable for application to group computing processing, database processing, transaction processing, etc. that require high reliability in a network computing environment composed of a plurality of computers connected to a network, for example. And a file management method.
[0002]
[Prior art]
Periodically collect the address space, context, and file status of processes executed by the CPU (this is called a checkpoint), and restore the last collected checkpoint status when a failure occurs However, in a system having a recovery function from a failure such as restarting the execution of a process from that point, there has been a problem regarding external input / output processing. In other words, when a failure occurs, when the process is re-executed from the last collected checkpoint, the state of the process address space and processor context can be restored, but the state of the external input device cannot be easily restored. It was.
[0003]
For example, since it is difficult to cancel writing to a file, when writing to a file, before writing the data to the file, read and save the data before writing, and then write to the file Data was being written.
[0004]
In FIG. 15, since it is difficult to cancel writing to the file, when writing to the file, before writing the data to the file, the data before writing is read in advance and saved, and then to the file. It is a figure explaining the mechanism of the conventional system which performs data writing of.
[0005]
In this example, “X” is written to the first byte at time t2 in the file consisting of 4-byte data “ABCD” at the time when the checkpoint at time t1 is taken (1). In this case, conventionally, before writing “X” to the first byte of the file, the data “B” of the first byte of the file is read (this is also referred to as undo log) (2), and thereafter "X" is written to the first byte of the file (3).
[0006]
Thereafter, because a failure has occurred at time t3, the process is rolled back to the last checkpoint state (t1). The first byte of the file is updated to “X” after checkpoint t1, but the state of checkpoint t1 is restored by using an undo log collected at the time of update. Note that this undo log becomes unnecessary and discarded at the next checkpoint.
[0007]
Also, for example, it is constructed by two computers, and one (primary computer) is assigned as the active system and the other (backup computer) is assigned as the standby system, and the backup computer performs processing when a failure occurs in the primary computer. Some systems increase the availability of the system by taking over. Then, with such a system, if checkpoints are periodically collected as described above, the reliability can be further improved.
[0008]
[Problems to be solved by the invention]
In this way, the status of the process address space, context, and files, that is, checkpoints are collected periodically, and when a failure occurs, the last collected checkpoint state is restored. In a system with a function of recovering from a failure such as restarting the execution of a process from the point in time (whether it is duplicated or not), its reliability is improved, but on the other hand, file update ( For example, when data is written), the data before update must be read once from the file and then updated to the file, which causes a problem of reducing the file update performance.
[0009]
The present invention has been made in view of such circumstances, and periodically collects checkpoints, restores the status of the last collected checkpoint when a failure occurs, and executes the process from that point. In a system that has a recovery function from failure such as restarting, it is not necessary to read the data before update from the file when updating the file, and greatly improve the file update performance. It is an object of the present invention to provide a computer system and a file management method that make possible.
[0010]
[Means for Solving the Problems]
The computer system of the present invention is a computer system that is duplicated by two computers of an active system and a standby system, and is interrupted. Process To restart the process Checkpoint information including address space and processor context is stored Checkpoints are periodically collected and placed on both the active and standby computers. The checkpoint information In the computer system to be stored, a file to be updated by a process executed on the active computer is provided in duplicate on both the active computer and the standby computer, and the process is instructed to update the file. The update information is saved on the standby computer, and only the active file is updated. When the update is completed, the update request source is notified of the update completion. Thus, it is necessary when the process is restored to the state at the last collected checkpoint based on the checkpoint information including the address space and the processor context. First file management to maintain files Means and the checkpoint is taken Every time Reflecting the update contents indicated in the update information in the standby file The second file management for updating the standby file to the state at the collected checkpoint Means.
[0011]
In the computer system of the present invention, when a process requests a file update, the update information indicating the update contents is acquired and stored, and only the file (operating file) placed on the operating computer is stored. Update immediately and return the result to the requesting process. After the checkpoint is collected, the update content indicated by the stored update information is reflected in the file (standby file) arranged in the standby computer.
[0012]
On the other hand, for example, when the process is aborted, all the pre-update data corresponding to the data updated after the last collected checkpoint is read from the standby file based on the saved update information, Using the read data before update, the operational file is restored to the checkpoint time.
[0013]
In other words, in this computer system, when a file is updated as in the prior art, file recovery in the event of failure can be performed without waiting for normal processing to complete processing such as reading and saving data before update. As a result, the file update performance can be dramatically improved without degrading the reliability.
[0014]
Instead of restoring the active file, it is also effective to re-execute the process from the checkpoint using the standby file that reflects all the update contents indicated by the update information saved before the last checkpoint. . In other words, continuation of processing is ensured in the case where restart using the operation system file is impossible due to a failure of the operation system computer, etc., and the system availability is improved. In this case, if a standby file is newly secured in the third computer, the availability of the system can be further improved.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
First, the basic principle of the present invention will be described with reference to FIG. As shown in FIG. 1, the computer system of the present invention is premised on a system that is multiplexed with an
[0016]
(Normal processing)
(1) In the
[0017]
(2) The
[0018]
(3) When the checkpoint process is instructed, the
[0019]
(4) On the other hand, in the
[0020]
(5) Write requests transferred to the confirmation queue 212 are sequentially processed by the operating system of the
[0021]
That is, in the file update that occurs in the normal process, there is no waiting for the completion of the process of reading and saving the data before the update.
[0022]
(Rollback processing)
(3) When a failure occurs, rollback processing is instructed to both the
[0023]
(4) ′ At this time, all the Write requests remaining in the
[0024]
(5) ′ The
[0025]
Thereby, it is possible to restart from the check point.
[0026]
Next, an embodiment of the present invention will be described.
[0027]
(First embodiment)
First, a first embodiment of the present invention will be described. FIG. 2 shows a system configuration of a computer system according to the first embodiment of the present invention. As shown in FIG. 2, in the computer system of this embodiment, the computer is duplicated by a
[0028]
The
[0029]
The
[0030]
When the
[0031]
When the
[0032]
On the other hand, when receiving the checkpoint collection instruction, the primary
[0033]
When the
[0034]
Regarding the file, the
[0035]
On the other hand, when the
[0036]
Regarding the file, the
[0037]
The transfer of the “file writing information” from the
[0038]
Therefore, the “file write information” does not need to be sent immediately from the primary
[0039]
FIG. 3 shows a schematic configuration of a computer system to which this embodiment is applied. The computer is duplicated by a
[0040]
The checkpoint holds the checkpoint information on both the
[0041]
If a failure such as a system failure occurs in the
[0042]
It is also possible to create a triple or more file system having a plurality of
(1) Two primary files and one backup file
(2) One primary file and two backup files
Such a combination is conceivable.
[0043]
FIG. 4 is a diagram showing how a file is updated in this embodiment. In this example, a
[0044]
Thereafter, a checkpoint is taken at time t2, thereby confirming the execution of the previous “file write information” (2). After time t2, the
[0045]
FIG. 5 is a diagram showing how the primary file is restored when a failure occurs in this embodiment. In this example, a
[0046]
Thereafter, a failure occurs at time t2 (2). That is, since the
[0047]
Then, the
[0048]
FIG. 6 is a flowchart showing the flow of processing when the file operation unit is instructed to “write file”. In this case, first, “file write information” is stored and linked to the indeterminate queue 431 (step A1). Next, the
[0049]
FIG. 7 is a flowchart showing a flow of processing when the file operation unit is instructed to “collect checkpoint”. In this case, the stored “file writing information” is moved from the
[0050]
FIG. 8 is a flowchart showing a processing flow of the backup file update unit. In this case, first, it is checked whether “file write information” is linked to the confirmation queue 432 (step C1). If not linked (N in Step C1), the backup file update unit 44 continues this check. On the other hand, if linked (Y in Step C1), the
[0051]
FIG. 9 is a flowchart showing a processing flow when a failure such as an abort occurs in the
[0052]
When a failure occurs in the
[0053]
FIG. 10 is a flowchart showing a processing flow when the checkpoint information restoration unit on the
[0054]
FIG. 11 is a flowchart showing the flow of processing when the primary
[0055]
When a failure such as a system failure occurs in the
[0056]
In this example, a
[0057]
After this, a failure has occurred in the
[0058]
If a backup file is disconnected due to a failure, a new backup file can be created after that, so that the initial state shown in FIG. 1 can be reproduced again, and recovery is possible even if a failure occurs again. Processing is possible.
[0059]
If the backup file is taken over due to a failure and the process is re-executed from the checkpoint, a new backup file is created with the backup file as the primary file, and the initial state as shown in FIG. Can be reproduced, and recovery processing can be performed even when a failure occurs again. There are the following two methods for creating the backup file again.
[0060]
(1) Save the update information and data of the primary file after detaching the backup file, and when reconnecting the backup file, reflect the update information and data of the primary file after detachment to the backup file .
[0061]
(2) Copy the primary file to the backup file. However, if the primary file continues to be updated during copying, the update information and data of the file are also reflected in the backup file at the same time as copying is started.
[0062]
Further, the following method combining these two methods is also effective.
[0063]
(3) Assuming that the separated backup file (or the primary file before the failure) is reconnected, the primary file after the backup file is detached so that the method (1) can be taken until a certain period of time elapses. Save the update information and data. When the predetermined time has elapsed, the method (1) is closed, the storage of the update information and data of the primary file after the backup file is cut off is stopped, and the method (2) is adopted. Also, when reconnecting with a file other than the disconnected backup file, saving the update information and data of the primary file after disconnecting the backup file is stopped and the method (2) is adopted.
[0064]
(Second Embodiment)
Next explained is the second embodiment of the invention. In the first embodiment, the duplexed computer system has been described. However, the present invention is also effective when applied to a file system on a computer that is not duplexed. Therefore, in this embodiment, a case where the present invention is applied to a file system on a computer that is not duplexed will be described as an example. FIG. 13 is a configuration diagram when the present invention is applied to a file system on a computer which is not duplicated. In this system, the computer is not duplicated, and only the
[0065]
The
[0066]
When the
[0067]
When the
[0068]
On the other hand, when the primary
[0069]
When a failure such as an abort occurs in the
[0070]
Regarding the file, the
[0071]
FIG. 14 shows a schematic configuration of a computer system to which this embodiment is applied. The system of the present embodiment operates only with the
[0072]
In this way, by applying the present invention, the state (checkpoint information) such as the address space of the process and the context of the processor is continuously saved while being periodically executed, and when a failure occurs, the last saved checkpoint In a system in which measures are taken against a failure by re-executing the process from the beginning, it is not necessary to once read the pre-update data from the file when updating the file, so that the file update performance is greatly improved.
[0073]
Note that the file management method described in the above embodiment can be stored and distributed in a recording medium such as a floppy disk, an optical disk, and a semiconductor memory as a program that can be executed by a computer.
[0074]
【The invention's effect】
As described above in detail, according to the present invention, when a process requests a file update, the update information indicating the update contents is acquired and stored, and only the primary file is immediately updated. After being collected, the update contents indicated by the saved update information are reflected in the backup file. For example, when a process is aborted, all the pre-update data corresponding to the data updated after the last collected checkpoint is read from the backup file based on the saved update information. The primary file is restored to the checkpoint using the read data before update, and the process is re-executed (the process can be re-executed using the backup file).
[0075]
In other words, in this computer system, when a file is updated as in the prior art, file recovery in the event of failure can be performed without waiting for normal processing to complete processing such as reading and saving data before update. As a result, the file update performance can be dramatically improved without degrading the reliability.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram for explaining the basic principle of the present invention.
FIG. 2 is a diagram showing a system configuration of a computer system according to the first embodiment of the present invention.
FIG. 3 is an exemplary diagram showing a schematic configuration of a computer system to which the embodiment is applied.
FIG. 4 is a view showing a state in which a file is updated in the embodiment.
FIG. 5 is a view showing a state in which a primary file is restored when a failure occurs in the embodiment.
FIG. 6 is an exemplary flowchart illustrating a process flow when the file operation unit according to the embodiment is instructed to write a file.
FIG. 7 is an exemplary flowchart illustrating a processing flow when the file operation unit according to the embodiment is instructed to “collect checkpoints”.
FIG. 8 is an exemplary flowchart showing the flow of processing of a backup file update unit of the embodiment;
FIG. 9 is an exemplary flowchart showing the flow of processing when a failure such as an abort occurs in the process of the embodiment and the process is re-executed from the last checkpoint collected on the
FIG. 10 is an exemplary flowchart showing a processing flow when the checkpoint information restoring unit on the primary computer of the embodiment is instructed to “restoration of address space and processor context”;
FIG. 11 is an exemplary flowchart illustrating a processing flow when the primary file restoring unit according to the embodiment is instructed to restore the primary file.
FIG. 12 is a view showing a state in which processing is taken over by a backup file when a failure according to the embodiment occurs.
FIG. 13 is a diagram showing a system configuration of a computer system according to a second embodiment of the present invention.
FIG. 14 is a diagram showing a schematic configuration of a computer system to which the embodiment is applied.
FIG. 15 shows that it is difficult to cancel writing to a previous file, so when writing to a file, before writing the data to the file, read and save the data before writing, and then The figure explaining the structure of the conventional system which performs the data writing to a file.
[Explanation of symbols]
DESCRIPTION OF
Claims (16)
前記運用系のコンピュータ上で実行されるプロセスによって更新されるファイルを前記運用系および待機系双方のコンピュータで2重化して設けておき、
前記プロセスからファイルの更新が指示されたときに、その更新情報を前記待機系のコンピュータ上に保存して運用系のファイルのみを更新し、その更新が完了した時点でその更新の要求元に対し更新完了を通知することにより、前記アドレス空間とプロセッサコンテクストを含むチェックポイント情報に基づき最後に採取されたチェックポイントにおける状態にプロセスが復元された場合に必要となる、最後に採取されたチェックポイントにおける状態に待機系のファイルを維持する第1のファイル管理手段と、
前記チェックポイントが採取される毎に、前記更新情報に示される更新内容を前記待機系のファイルに反映させることにより、待機系のファイルを当該採取されたチェックポイントにおける状態に更新する第2のファイル管理手段と
を具備してなることを特徴とするコンピュータシステム。Check in which checkpoint information including address space and processor context for restarting processing of an interrupted process is stored in a computer system that is duplicated by two computers of an active system and a standby system In a computer system that periodically collects points and stores the checkpoint information on both the active and standby computers,
A file to be updated by a process executed on the active computer is duplicated on both the active computer and the standby computer,
When an update of a file is instructed from the process, the update information is stored on the standby computer and only the active file is updated. When the update is completed, the update request source is By notifying the completion of the update , in the last collected checkpoint, which is necessary when the process is restored to the state at the last collected checkpoint based on the checkpoint information including the address space and the processor context. First file management means for maintaining a standby file in a state ;
For each of the checkpoint Ru are taken, the by the updates indicated in the update information to reflect the file of the standby system, a second file to update the file of the standby state at checkpoint that is the harvested A computer system comprising: management means.
前記プロセスからファイルの更新が指示されたときに、その更新情報を前記待機系のコンピュータ上に保存して運用系のファイルのみを更新し、その更新が完了した時点でその更新の要求元に対し更新完了を通知することにより、前記アドレス空間とプロセッサコンテクストを含むチェックポイント情報に基づき最後に採取されたチェックポイントにおける状態にプロセスが復元された場合に必要となる、最後に採取されたチェックポイントにおける状態に待機系のファイルを維持する第1のファイル管理ステップと、
前記チェックポイントが採取される毎に、前記更新情報に示される更新内容を前記待機系のファイルに反映させることにより、待機系のファイルを当該採取されたチェックポイントにおける状態に更新する第2のファイル管理ステップと
を具備してなることを特徴とするファイル管理方法。Periodically collect checkpoints where checkpoint information including address space and processor context is stored in order to restart processing that has been duplicated by two computers, the active system and the standby system. The checkpoint information is stored on both the active and standby computers, and a file updated by a process executed on the active computer is duplicated on both the active and standby computers. In the computer system file management method provided
When an update of a file is instructed from the process, the update information is stored on the standby computer and only the active file is updated. When the update is completed, the update request source is By notifying the completion of the update , in the last collected checkpoint, which is necessary when the process is restored to the state at the last collected checkpoint based on the checkpoint information including the address space and the processor context. A first file management step for maintaining a standby file in a state ;
For each of the checkpoint Ru are taken, the by the updates indicated in the update information to reflect the file of the standby system, a second file to update the file of the standby state at checkpoint that is the harvested A file management method comprising: a management step.
前記プロセスからファイルの更新が指示されたときに、その更新情報を前記待機系のコンピュータ上に保存して運用系のファイルのみを更新し、その更新が完了した時点でその更新の要求元に対して更新完了を通知することにより、前記アドレス空間とプロセッサコンテクストを含むチェックポイント情報に基づき最後に採取されたチェックポイントにおける状態にプロセスが復元された場合に必要となる、最後に採取されたチェックポイントにおける状態に待機系のファイルを維持し、
前記チェックポイントが採取される毎に、前記更新情報に示される更新内容を前記待機系のファイルに反映させることにより、待機系のファイルを当該採取されたチェックポイントにおける状態に更新する
ように前記コンピュータを動作させるためのプログラムを格納したコンピュータ読取可能な記憶媒体。Periodically collect checkpoints where checkpoint information including address space and processor context is stored in order to restart processing that has been duplicated by two computers, the active system and the standby system. The checkpoint information is stored on both the active and standby computers, and a file updated by a process executed on the active computer is multiplexed on both the active and standby computers. A program for managing files of a provided computer system,
When an update of a file is instructed from the process, the update information is stored on the standby computer and only the active file is updated. When the update is completed, the update request source is The last collected checkpoint is required when the process is restored to the state at the last collected checkpoint based on the checkpoint information including the address space and processor context. Keep the standby file in the state
For each of the checkpoint Ru are taken, the by reflecting the updated contents indicated in the update information file of the standby system, the file in the standby system to update the state of the checkpoint which is the sampled computer A computer-readable storage medium storing a program for operating the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23293097A JP4095139B2 (en) | 1996-09-03 | 1997-08-28 | Computer system and file management method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8-233021 | 1996-09-03 | ||
JP23302196 | 1996-09-03 | ||
JP23293097A JP4095139B2 (en) | 1996-09-03 | 1997-08-28 | Computer system and file management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10133927A JPH10133927A (en) | 1998-05-22 |
JP4095139B2 true JP4095139B2 (en) | 2008-06-04 |
Family
ID=26530741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23293097A Expired - Fee Related JP4095139B2 (en) | 1996-09-03 | 1997-08-28 | Computer system and file management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4095139B2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427213B1 (en) * | 1998-11-16 | 2002-07-30 | Lucent Technologies Inc. | Apparatus, method and system for file synchronization for a fault tolerate network |
JP2000163276A (en) * | 1998-12-01 | 2000-06-16 | Nippon Telegr & Teleph Corp <Ntt> | Network wide spare system |
JP4115060B2 (en) | 2000-02-02 | 2008-07-09 | 株式会社日立製作所 | Data recovery method for information processing system and disk subsystem |
JP4078039B2 (en) * | 2001-03-21 | 2008-04-23 | 株式会社東芝 | Snapshot image generation management method and generation management device |
JP4565860B2 (en) * | 2004-02-27 | 2010-10-20 | 日立コンピュータ機器株式会社 | Data backup system |
KR100800044B1 (en) | 2006-08-04 | 2008-01-31 | 한국과학기술정보연구원 | Method for automatic checkpoint file management |
US8436735B2 (en) | 2007-02-12 | 2013-05-07 | Radio Systems Corporation | System for detecting information regarding an animal and communicating the information to a remote location |
JP5759203B2 (en) * | 2011-02-25 | 2015-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Asynchronous checkpoint acquisition and recovery from iterative parallel computer computations |
JP5567069B2 (en) * | 2012-06-11 | 2014-08-06 | 株式会社三菱東京Ufj銀行 | Database server |
JP5820902B2 (en) * | 2014-04-25 | 2015-11-24 | 株式会社三菱東京Ufj銀行 | Database server |
-
1997
- 1997-08-28 JP JP23293097A patent/JP4095139B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10133927A (en) | 1998-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0827079B1 (en) | Checkpoint computer system | |
US7031986B2 (en) | Database system with backup and recovery mechanisms | |
US7925633B2 (en) | Disaster recovery system suitable for database system | |
US7197615B2 (en) | Remote copy system maintaining consistency | |
JP4301849B2 (en) | Information processing method and its execution system, its processing program, disaster recovery method and system, storage device for executing the processing, and its control processing method | |
US20030097611A1 (en) | Method for the acceleration and simplification of file system logging techniques using storage device snapshots | |
US8028192B1 (en) | Method and system for rapid failback of a computer system in a disaster recovery environment | |
US20070180208A1 (en) | Preventive measure against data overflow from differential volume in differential remote copy | |
JPH05210555A (en) | Method and device for zero time data-backup-copy | |
JP4095139B2 (en) | Computer system and file management method | |
EP0881569B1 (en) | File system and file management method which realize distributed replication in system having shared type raid | |
US20090248760A1 (en) | Backup method of computer system | |
US20030088814A1 (en) | Method and apparatus for logging file system operations | |
US6076095A (en) | Method of one system of a multisystem environment taking over log entries owned by another system | |
JPH06139087A (en) | Check point restart system | |
JP4428887B2 (en) | Database system | |
Strom et al. | A recoverable object store | |
JP3919274B2 (en) | Computer system having state recording reproduction function and computer-readable recording medium recording state recording reproduction program | |
KR100365891B1 (en) | Backup/recovery Apparatus and method for non-log processing of real-time main memory database system | |
JPH0991183A (en) | Data base recovery device | |
CN114253765A (en) | Data recovery method and related equipment | |
JPH0833859B2 (en) | Multiple subsystem type online system | |
JPH0827753B2 (en) | How to get checkpoint dump of online system | |
JP2569063B2 (en) | Failure recovery method for complex subsystem type online system. | |
JP2609625B2 (en) | Failure recovery method for complex subsystem type distributed database system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080205 |
|
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: 20080304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080307 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110314 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120314 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |