Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4288418B2 - 計算機システムおよび状態取得方法ならびに状態取得プログラム - Google Patents
[go: Go Back, main page]

JP4288418B2 - 計算機システムおよび状態取得方法ならびに状態取得プログラム - Google Patents

計算機システムおよび状態取得方法ならびに状態取得プログラム Download PDF

Info

Publication number
JP4288418B2
JP4288418B2 JP2003402742A JP2003402742A JP4288418B2 JP 4288418 B2 JP4288418 B2 JP 4288418B2 JP 2003402742 A JP2003402742 A JP 2003402742A JP 2003402742 A JP2003402742 A JP 2003402742A JP 4288418 B2 JP4288418 B2 JP 4288418B2
Authority
JP
Japan
Prior art keywords
processing request
processing
state
redundant
program
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
JP2003402742A
Other languages
English (en)
Other versions
JP2005165599A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2003402742A priority Critical patent/JP4288418B2/ja
Priority to US11/001,292 priority patent/US7478273B2/en
Publication of JP2005165599A publication Critical patent/JP2005165599A/ja
Application granted granted Critical
Publication of JP4288418B2 publication Critical patent/JP4288418B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は計算機システムおよび状態取得方法に関し、特に障害の原因調査のために障害発生直前の計算機状態を保存する機能を有する計算機システムおよび状態取得方法に関する。
一般に計算機の障害の原因を調査する方法には、障害発生時点のメモリ内容など障害解析に必要なデータをファイルに保存し、そのデータを解析して障害の原因を調査する方法と、障害発生直前のメモリ内容など障害の再現に必要なデータをファイルに保存し、そのデータを使って障害を再現させて原因を調査する方法とがある。前者の方法は、比較的良く利用される方法であるが、障害が発生して不安定になっている状態でデータの保存処理を行うため確実性に難がある。これに対して後者の方法は、障害発生前にデータの保存を行うためにそのような問題はない。本発明は、この後者の方法に関する。
後者の方法の一例が特許文献1に記載されている。同文献に記載された方法では、プログラムを実行するプロセッサにおいて、実行中のプログラムに何らかの障害が発生するまでの期間中、所定の間隔でチェックポイントと呼ぶリスタート用のデータを取得して保存することで、結果として障害発生時には障害発生直前のデータが保存されるようにしている。
特開平10−198578号公報
上述したように障害の再現に必要なデータを取得する従来の方法は、障害が発生するまでの期間中、所定の間隔でデータを取得して保存するため、プログラム実行時のオーバーヘッドが大きくなり、通常のプログラム処理の遅延を招くという課題がある。特に、保存するデータが主記憶の全イメージ、プログラムが利用していた外部記憶装置上のファイルなどを含む大規模なデータになればなるほど、この問題は顕著となる。
そこで本発明の目的は、通常のプログラム処理に影響を与えずに、障害が発生する直前の状態を示すデータを取得し得るようにすることにある。
本発明の第1の計算機システムは、プログラムが稼働する現用系と、前記プログラムと同じプログラムが前記現用系と同じ実行環境で遅延して稼働する冗長系と、前記現用系に障害が発生したときの前記冗長系の状態を保存する状態保存手段とを備えることを特徴とする。
本発明の第2の計算機システムは、プログラムが稼働する現用系と、前記プログラムと同じプログラムが前記現用系と同じ実行環境で稼働する冗長系と、前記現用系に与えられる処理要求と同じ処理要求を遅延させて前記冗長系に与える遅延実行制御手段と、前記現用系の障害の有無を検知する障害監視手段と、前記障害監視手段で前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存する状態保存制御手段とを備えることを特徴とする。
本発明の第3の計算機システムは、第2の計算機システムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、該バッファから処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第4の計算機システムは、第2の計算機システムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第5の計算機システムは、第2の計算機システムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第6の計算機システムは、第2の計算機システムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第7の計算機システムは、第3乃至6の計算機システムにおいて、前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換する変換手段を備えることを特徴とする。
本発明の第8の計算機システムは、第7の計算機システムにおいて、前記変換手段は、前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するものであることを特徴とする。
本発明の第9の計算機システムは、第2乃至8の計算機システムにおいて、前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元する状態復元制御手段と、前記冗長系の処理を前記復元された状態から再開させる処理再現制御手段と、再開された前記冗長系の処理結果を出力する処理結果出力手段とを備えることを特徴とする。
本発明の第1の状態取得方法は、プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを遅延実行させ、前記現用系に障害が発生したときの前記冗長系の状態を示すデータを状態データ保存部に保存することを特徴とする。
本発明の第2の状態取得方法は、a)プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを並行して実行するステップ、b)前記現用系に与えられる処理要求と同じ処理要求を遅延させて前記冗長系に与えるステップ、c)前記現用系の障害の有無を検知するステップ、d)前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存するステップ、を含むことを特徴とする。
本発明の第3の状態取得方法は、第2の状態取得方法において、前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記バッファから処理要求を読み出して前記冗長系に与える処理を含むことを特徴とする。
本発明の第4の状態取得方法は、第2の状態取得方法において、前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える処理を含むことを特徴とする。
本発明の第5の状態取得方法は、第2の状態取得方法において、前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える処理を含むことを特徴とする。
本発明の第6の状態取得方法は、第2の状態取得方法において、前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える処理を含むことを特徴とする。
本発明の第7の状態取得方法は、第3乃至6の状態取得方法において、前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換するステップを更に含むことを特徴とする。
本発明の第8の状態取得方法は、第7の状態取得方法において、前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するステップを更に含むことを特徴とする。
本発明の第9の状態取得方法は、第2乃至8の状態取得方法において、前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元するステップ、前記冗長系の処理を前記復元された状態から再開させるステップ、再開された前記冗長系の処理結果を出力するステップを更に含むことを特徴とする。
本発明の第1の状態取得プログラムは、コンピュータを、プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを遅延実行させる遅延実行制御手段、前記現用系に障害が発生したときの前記冗長系の状態を保存する状態保存手段、として機能させることを特徴とする。
本発明の第2の状態取得プログラムは、コンピュータを、プログラムが稼働する現用系に与えられる処理要求と同じ処理要求を遅延させて、前記プログラムと同じプログラムが前記現用系と同じ実行環境で稼働する冗長系に与える遅延実行制御手段、前記現用系の障害の有無を検知する障害監視手段、前記障害監視手段で前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存する状態保存制御手段、として機能させることを特徴とする。
本発明の第3の状態取得プログラムは、第2の状態取得プログラムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、該バッファから処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第4の状態取得プログラムは、第2の状態取得プログラムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第5の状態取得プログラムは、第2の状態取得プログラムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第6の状態取得プログラムは、第2の状態取得プログラムにおいて、前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える通信手段とを備えることを特徴とする。
本発明の第7の状態取得プログラムは、第3乃至6の状態取得プログラムにおいて、前記コンピュータを更に、前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換する変換手段、として機能させることを特徴とする。
本発明の第8の状態取得プログラムは、第7の状態取得プログラムにおいて、前記変換手段は、前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するものであることを特徴とする。
本発明の第9の状態取得プログラムは、第2乃至8の状態取得プログラムにおいて、前記コンピュータを更に、前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元する状態復元制御手段、前記冗長系の処理を前記復元された状態から再開させる処理再現制御手段、再開された前記冗長系の処理結果を出力する処理結果出力手段、として機能させることを特徴とする。
本発明の第1の計算機システム、状態取得方法およびプログラムによれば、通常のプログラム処理に影響を与えずに、障害が発生する直前の状態を取得することができる。その理由は、プログラムが稼働する現用系と同じ実行環境を有する冗長系で同じプログラムを遅延実行させているため、現用系に障害が発生した時点の冗長系の状態は、現用系に障害が発生する直前の状態と等価になることと、特許文献1に示されるような現用系に対する周期的な状態保存が不要になるためである。
本発明の第2の計算機システム、状態取得方法およびプログラムによれば、現用系に与えられる処理要求と同じ処理要求を遅延させて冗長系に与えることで冗長系を現用系に対して遅延実行させるため、トランザクション処理システムなど処理要求単位で処理が進行する計算機システムにおいて、通常のプログラム処理に影響を与えずに、障害が発生する直前の状態を取得することができる。
本発明の第3の計算機システム、状態取得方法およびプログラムによれば、第2の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、処理要求をバッファに一旦格納して読み出すのに必要なごく短い時間だけ冗長系を現用系に対して遅延することができ、現用系に障害が発生した時点より前記時間だけ前の時点の状態を保存することができる。
本発明の第4の計算機システム、状態取得方法およびプログラムによれば、第2の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、少なくとも予め設定された時間だけ冗長系を現用系に対して遅延することができ、現用系に障害が発生した時点より予め設定された時間だけ前の時点の状態を保存することができる。
本発明の第5の計算機システム、状態取得方法およびプログラムによれば、第2の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、予め定められた数の処理要求分だけ冗長系を現用系に対して遅延することができ、現用系に障害が発生した時点より予め設定された数の処理要求が投入される前の時点の状態を保存することができる。
本発明の第6の計算機システム、状態取得方法およびプログラムによれば、第2の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、一つの処理要求が現用系で処理される時間だけ冗長系を現用系に対して遅延することができ、現用系に障害が発生した時点より1つ前の処理要求が投入される前の時点の状態を保存することができる。
本発明の第7の計算機システム、状態取得方法およびプログラムによれば、第3乃至第6の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、冗長系に与える処理要求の所定のパラメータの値を現用系に与える処理要求の値とは別の変換値に変更することができる。
本発明の第8の計算機システム、状態取得方法およびプログラムによれば、第7の計算機システム、状態取得方法およびプログラムで得られる効果に加えて更に、冗長系に与える処理要求の所定のパラメータの値を現用系に与える処理要求のものと異なる変換値に変更する場合に、冗長系に与えた処理要求の処理結果に応じて前記変換値を設定することができる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の実施の形態にかかる計算機システムは、プログラム101が稼働する現用系102と、プログラム101と同じプログラム103が現用系102と同じ実行環境で稼働する冗長系104と、現用系102に与えられる処理要求105と同じ処理要求を遅延させて冗長系104に与える遅延実行制御部106と、現用系の障害の有無を検知する障害監視部107と、障害監視部107で現用系102の障害が検知されたときの冗長系104の状態を示すデータを状態データ保存部108に保存する状態保存制御部109とを備えている。
現用系102は、或る1つの計算機や或る1つのサーバ装置などで構成され、プログラム101を実行することにより、処理要求105を処理してその処理結果を出力する通常業務を遂行している。冗長系102は、現用系102で稼働するプログラム101と同じプログラム103を現用系102と同じ実行環境で実行する。ここで、同じ実行環境とは、プロセッサのアーキテクチャ、OS、主記憶容量、外部記憶装置上のファイルなど、ハードウェア環境、ソフトウェア環境および外部接続機器環境が実質的に同一であることを意味する。
遅延実行制御部106は、処理要求105を現用系102よりも遅くに冗長系104に投入することで、冗長系104の処理状態が現用系102の処理状態より遅れるようにする。どの程度遅延させるかは任意である。
障害監視部107は、現用系102に障害が発生していることを検知すると、その旨を状態保存制御部109に通知する。障害の検知方法は任意であり、障害の予兆の検知もここで言う障害の検知に含まれる。
状態保存制御部109は、障害監視部107から現用系102に障害が発生した旨の通知を受けると、冗長系104の処理を停止させ、冗長系104の状態を示すデータを採取し、状態データ保存部108に保存する。現用系102に障害が発生した時点の冗長系104の状態は、冗長系104が現用系102に比べて遅延しているため、現用系102に障害が発生する直前の状態と等価になる。採取するデータは、主記憶装置の全内容(主記憶イメージ)、外部記憶装置上のファイルの内容、プロセッサのレジスタの値など、障害原因の分析を行うのに必要なデータ、またはその時点の状態を後に再現するのに必要な一切のデータである。もし、その時点の状態を後に再現するのに必要な一切のデータを採取対象とする場合、状態データ保存部108に保存されたデータを用いれば、冗長系104の状態を何度でも同じ状態に復元でき、冗長系104の処理の再開による障害の再現、障害の再現による障害原因の調査が可能となる。
これら遅延実行制御部106、障害監視部107および状態保存制御部109は、コンピュータと状態取得プログラムとで実現することができる。状態取得プログラムは、磁気ディスクなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に遅延実行制御部106、障害監視部107および状態保存制御部109の各機能手段を実現する。
図2に本実施の形態の効果を示す。図2(a)に示されるように、本実施の形態によれば、冗長系104は現用系102に比べて遅延量Tだけ遅延して状態が変化する。或る時刻t1に現用系102で障害が発生したとき、冗長系104を停止させないと遅延量T経過後に同じ障害が発生する。何故なら、冗長系104は、現用系102で稼働するプログラム101と同じプログラム103を現用系102と同じ実行環境で実行しているからである。したがって、時刻t1における冗長系104の状態は、障害が発生する時点より遅延量Tだけ前の時点における現用系102の状態と等価となる。
図2(b)は特許文献1に示される方法を適用して、障害が発生するまでの期間中、所定の間隔Wで現用系102の状態を保存した場合のシーケンスを示す。状態保存のために現用系102を周期的に停止させる必要があるために通常業務に及ぼす影響が極めて大きくなる。加えて、障害が発生した時点t1とその直前の状態保存時点との間隔xは不定になり、本発明の実施の形態のように常に遅延量Tだけ前の状態を保存することはできない。
次に、本発明の実施例について図面を参照して詳細に説明する。
図3を参照すると、本発明の実施例1にかかる計算機システムはトランザクション処理システムであり、プログラム制御により動作するデータ処理装置(コンピュータ、中央処理装置、プロセッサ)で構成された第1の処理モジュール1および第2の処理モジュール2と、クライアント3と、障害監視部4と、状態保存制御部5と、状態データ保存部6とから構成されている。また、第1の処理モジュール1は、現用サーバ10と、クライアント通信手段11と、トランザクション複製手段12と、現用サーバ通信手段13とを含んで構成され、第2の処理モジュール2は、冗長サーバ20と、トランザクションバッファ手段22と、冗長サーバ通信手段23とを含んで構成される。図1との関連では、現用サーバ10が現用系102に、冗長サーバ20が冗長系104に相当し、冗長サーバ20は、現用サーバ10で稼働するトランザクション処理プログラムと同じトランザクション処理プログラムを現用サーバ10と同じ実行環境で実行する。
これらの各手段はそれぞれ概略つぎのように動作する。
第1の処理モジュール1において、クライアント通信手段11は、クライアント3との通信処理を行い、処理要求を受信し、処理結果を送信する。トランザクション複製手段12は、クライアント通信手段11の受信した処理要求を受け、複製を行い、複製を第2の処理モジュール2に送信する。処理要求の原本は、現用サーバ通信手段13へ渡される。現用サーバ10は、現用サーバ通信手段13から処理要求を受信し、受信した処理要求を処理し、その処理結果を現用サーバ通信手段13に送信するといったトランザクション処理を行う。処理結果は、さらにトランザクション複製手段12、クライアント通信手段11を介して、クライアント3に送信される。
第2の処理モジュールにおいて、トランザクションバッファ手段22は、第1の処理モジュール1から受信した処理要求の複製を一時的に保存する。冗長サーバ通信手段23は、一時的に保存された処理要求を読み出し、冗長サーバ20に送信する。冗長サーバ20は、冗長サーバ通信手段23から処理要求を受信し、受信した処理要求を処理し、その処理結果を冗長サーバ通信手段23に送信するといったトランザクション処理を行う。但し、この処理結果はクライアント3に送信されることはない。
クライアント3は、トランザクションの処理要求を第1の処理モジュール1に対して送信し、また第1の処理モジュール1からその処理結果を受信する。
障害監視部4は、第1の処理モジュール1の処理状態を監視し、処理に異常があった場合に、障害発生を検知し、状態保存制御部5に通知を行う。
状態保存制御部5は、第2の処理モジュール2の処理状態を制御し、障害監視部4の障害発生の通知を受けて、冗長サーバ20を含む処理モジュール2全体の処理状態のデータを状態データ保存部6に保存する。
次に、図3のブロック図、図4及び図5のフローチャートを参照して本実施例1の動作について説明する。
まず、障害が発生していない場合の本実施例の動作について説明する。クライアント3において、トランザクションの処理要求が発生すると(図4のS101)、第1の処理モジュール1に向けて処理要求(STX)が送信される(S102)。第1の処理モジュール1において、クライアント通信手段11は、処理要求を受信し(S103)、トランザクション複製手段12は、処理要求の複製を行い(S104)、処理要求の複製を第2の処理モジュール2に転送する(S105)。処理要求の原本は、現用サーバ通信手段13を介して、現用サーバ10に送信され、処理される(S106)。現用サーバ10で得られた処理結果(RTX)は、現用サーバ通信手段13、トランザクション複製手段12およびクライアント通信手段11を介して、クライアント3に送信される(S107)。クライアント3は、処理結果を受信する(S108)。
第2の処理モジュール2において、トランザクションバッファ手段22は、処理要求の複製を受信すると(S109)、一時的に保存する(S110)。冗長サーバ通信手段23は、定期的に、処理すべき処理要求がトランザクションバッファ手段22に存在するかどうかを調べており(S111)、もし存在すれば、その処理要求の読み出しを行い(S112)、冗長サーバ20に送信し、冗長サーバ20に処理させる(S113)。
次に、障害が発生した場合の本実施例の動作について説明する。第1の処理モジュール1の現用サーバ10において、障害が発生すると(図5のS201)、障害監視部4は、その障害発生を検知する(S202)。障害検知の手法は、例えば、第1の処理モジュール1の現用サーバ10とハートビート信号を通信し、その応答の有無で検知してもよいし、現用サーバ10を構成するプロセッサの処理量、入出力の通信量を遠隔監視してその異常により検知してもよいし、サービスプロセッサを用いるなど、さまざまな手法を用いることが可能である。
障害監視部4は障害を検知すると、障害対応指示を状態保存制御部5に通知する(S203)。状態保存制御部5は、その通知を受信すると(S204)、状態保存の処理を開始する(S205)。先ず、第2の処理モジュール2に対して、処理を一時停止させる制御を行う(S206)。そして、第2の処理モジュールの処理が完全に停止すると(S207)、状態データを採取して状態データ保存部6に保存する(S208)。状態データとは、内部記憶、外部記憶、プロセッサのレジスタ、利用しているデバイスがあればデバイスの状態である。もし、プロセッサ内のキャッシュやディスクキャッシュなどの書き込みキャッシュが有効になっているのであれば、そのキャッシュデータの更新処理を行って内部記憶、外部記憶に反映させた後に、状態データの保存を行う。
このように本実施例1では、現用の処理系とは別に、冗長の処理系を用意し、冗長の処理系では、処理要求を一時保存後に遅延して処理することで、現用系の障害検知後、冗長系において、障害が顕在化する前に、冗長系の処理状態を保存するので、障害が顕在化する前の計算機の処理状態を確実に保存することができる。
図6を参照すると、実施例2にかかるトランザクション処理システムは、実施例1にかかるトランザクション処理システムにおける第2の処理モジュール2にタイマー24を付加した点で実施例1と構成が相違する。タイマー24は、現在時刻もしくはある時点からの経過時間の値を保持し、トランザクションバッファ手段22および冗長サーバ通信手段23からの要求に応じて、その値を返す機能を持つ。
次に、図6のブロック図及び図7のフローチャートを参照して本実施例2の動作を、実施例1との相違点を中心に説明する。本実施例2の動作で、実施例1の動作と異なるのは、障害が発生していない場合の第2の処理モジュール2の動作の部分だけである。実施例1の図4のS101〜S108及び図5のS201〜S208は、本実施例でも同一の動作となる。図4のS109以降の動作に代えて、本実施例では図7のS301以降の動作が行われる。以下、詳細に説明する。
第2の処理モジュール2において、トランザクションバッファ手段22は、処理要求の複製を第1の処理モジュール1から受信すると(S301)、タイマー24から現在時刻を読み出し(S302)、その現在時刻に予め定められた遅延時間を加算した時刻を処理時刻として処理要求に付加し(S303)、バッファに保存する(S304)。例えば、予め定められた遅延時間が1分であれば、現在時刻に1分足した時刻を処理時刻として付与し、保存する。
冗長サーバ通信手段23は、定期的に、処理要求がトランザクションバッファ手段22に存在するかどうか、存在していれば、その処理要求に付加されている処理時刻がタイマー24が示す現在時刻を過ぎているかどうかを調べており(S305)、もし現在時刻を過ぎている処理時刻を持つ処理要求が存在すれば、その処理要求の読み出しを行い(S306)、冗長サーバ20に送信し、冗長サーバ20に処理させる(S307)。
このように本実施例2では、現用の処理系とは別に、冗長の処理系を用意し、冗長の処理系では、処理要求を一時保存後に、予め指定された時間だけ遅延して処理することで、現用系の障害検知後、冗長系において、障害が顕在化する前に、冗長系の処理状態を保存するので、障害が顕在化する前の計算機の処理状態を確実に保存することができる。
図8を参照すると、実施例3にかかるトランザクション処理システムは、実施例1にかかるトランザクション処理システムにおける第2の処理モジュール2にタイマー24を付加した点で実施例1と構成が相違する。タイマー24は、現在時刻もしくはある時点からの経過時間の値を保持し、トランザクションバッファ手段22からの要求に応じて、その値を返す機能を持つ。
次に、図8のブロック図及び図9のフローチャートを参照して本実施例3の動作を、実施例1との相違点を中心に説明する。本実施例3の動作で、実施例1の動作と異なるのは、障害が発生していない場合の第2の処理モジュール2の動作の部分だけである。実施例1の図4のS101〜S108及び図5のS201〜S208は、本実施例でも同一の動作となる。図4のS109以降の動作に代えて、本実施例では図9のS311以降の動が行われる。以下、詳細に説明する。
第2の処理モジュール2において、トランザクションバッファ手段22は、処理要求の複製を第1の処理モジュール1から受信すると(S311)、タイマー24から現在時刻を読み出し(S312)、その現在時刻を処理要求に付加し(S313)、バッファに保存する(S314)。
冗長サーバ通信手段23は、定期的に、トランザクションバッファ手段22に保存されている処理要求の個数が予め設定された閾値を超えているかどうかを調べており(S315)、もし閾値を超える個数の処理要求が存在した場合には、その内の最も古い処理要求、つまり付加されている時刻が最も古い処理要求の読み出しを行い(S316)、冗長サーバ20に送信し、冗長サーバ20に処理させる(S317)。
このように本実施例3では、現用の処理系とは別に、冗長の処理系を用意し、冗長の処理系では、処理要求を一時保存後に、予め指定されたトランザクション数だけ遅延して処理することで、現用系の障害検知後、冗長系において、障害が顕在化する前に、冗長系の処理状態を保存するので、障害が顕在化する前の計算機の処理状態を確実に保存することができる。
なお、実施例2と実施例3とを組み合わせ、トランザクションバッファ手段22に保存されている処理要求の個数が閾値を超えていれば最も古い処理要求を読み出して冗長サーバに送信し、閾値を超えていなければ、最も古い処理要求の処理時間が現在時刻を過ぎているかどうかを調べ、過ぎていればその処理要求を読み出して冗長サーバに送信するといった実施例も考えられる。
図10を参照すると、本実施例4にかかるトランザクション処理システムは、現用サーバ通信手段13と冗長サーバ通信手段23とが通信する構成となっている点で、実施例1と相違する。
次に、図10のブロック図及び図11のフローチャートを参照して本実施例4の動作を、実施例1との相違点を中心に説明する。本実施例4の動作で、実施例1の動作と異なるのは、障害が発生していない場合の第1の処理モジュール1および第2の処理モジュール2の動作の部分だけである。実施例1の図4のS101〜S105及びS107〜S110の処理は、本実施例でも同一の動作となる。図4のS106、S111〜S113の処理に代えて、本実施例では図11のS106A〜S106C、S411〜S413の処理が行われる。以下、詳細に説明する。
第1の処理モジュール1の現用サーバ通信手段13は、処理要求に通番Nを付与して現用サーバ10に処理させ(S106A)、通番Nの処理要求に対する処理結果が現用サーバ10から返却されると、通番Nの処理要求の完了通知を冗長サーバ通信手段23に送信する(S106B)。そして、Nに1を足して(S106C)、ステップS107の処理を行い、繰り返し処理を継続する。
第2の処理モジュール2の冗長サーバ通信手段23は、第1の処理モジュール1の現用サーバ通信手段13から、処理完了通知を受信すると(S411)、N番目の処理完了通知であれば、トランザクションバッファ手段22からN番目に保存された処理要求を読み出し(S412)、冗長サーバ20に送信して処理させる(S413)。
このように本実施例4では、現用の処理系とは別に、冗長の処理系を用意し、冗長の処理系では、処理要求を一時保存後に、現用系での処理完了を確認後に処理することで、現用系の障害検知後、冗長系において、障害が顕在化する前に、冗長系の処理状態を保存するので、障害が顕在化する前の計算機の処理状態を確実に保存することができる。
図12を参照すると、実施例5にかかるトランザクション処理システムは、実施例1にかかるトランザクション処理システムにおける第2の処理モジュール2にトランザクション変換手段30と変換テーブル31を設けた点で相違する。
トランザクション変換手段30は、トランザクションバッファ手段22と冗長サーバ通信手段23との間にあって、冗長サーバ20から返される処理結果に応じて、変換テーブル31に所定のパラメータの変換後の値を設定する機能と、トランザクションバッファ手段22に保持された処理要求が冗長サーバ23に渡されるときに、処理要求に含まれる所定のパラメータの値を変換テーブル31に設定された変換後の値に変換する機能とを持つ。変換テーブル31は、あらかじめ指定されたパラメータを一意に定める変換キーと変換後の値との組を保持するテーブルである。
図13にトランザクション変換手段30の処理例を示す。トランザクション変換手段30は、冗長サーバ通信手段23が冗長サーバ20から処理結果(RXT)を受信した際に呼び出されると、図13(a)に示す処理を開始し、変換テーブル31に設定された変換キーにマッチするキーが処理結果中に存在するかどうかを調べる(S421)。マッチするキーが存在すれば(S422)、処理結果中に存在した当該キーの値を変換テーブル31に設定する(S423)。他方、トランザクション処理手段30は、冗長サーバ通信手段23がトランザクションバッファ手段22から処理要求(STX)を読み出した際に呼び出されると、図13(b)に示す処理を開始し、変換テーブル31に設定された変換キーにマッチするキーが処理要求中に存在するかどうかを調べる(S431)。マッチするキーが存在すれば(S432)、処理要求中に存在した当該キーの値を変換テーブル31に設定された値に変換する(S433)。
本実施例において変換テーブル31を用いて変換の対象とするパラメータの代表的なものに、セッションID(SID)がある。セッションIDは、webサーバが一人のユーザによる一連のアクセスを一つのセッションとして認識できるようにwebサーバがクライアントに発行するIDである。本発明の場合、現用サーバ10で生成されたセッションIDの値を例えば「20」とすると、これがクライアント3に送られ、一連のアクセスの間、クライアント3からの次以降の処理要求にはこのセッションIDの値「20」が含まれる。現用サーバ10の場合、次以降の処理要求に自身が生成したセッションIDの値「20」が含まれるため、同じユーザによる一連のアクセスであることが認識できる。しかし、冗長サーバ20の場合、自ら生成したセッションIDの値が現用サーバ10と同じ値になるとは限らないため、このままでは冗長サーバ20においてセッション管理が行えない。そこで、例えば図14に示すように、変換テーブル31に変換キーとして「SID」を持つエントリを設けておき、図13(a)の処理により、冗長サーバ20の処理結果中に「SID=30」のような変換キーとマッチするキーがあったときに、そのキーの値「30」を図14に示すように変換テーブル31に登録しておく。そして、図13(b)の処理により、次以降の処理要求中に「SID=20」のような変換キーとマッチするキーが存在すれば、そのキーの値「20」を変換テーブル31に設定されている値「30」に変換して冗長サーバ20へ送ることで、冗長サーバ20においても現用サーバ10と同様なセッション管理が可能となる。
なお、本実施例5は実施例1を前提としたが、実施例2乃至4における第2の処理モジュール2に変換テーブル31とトランザクション変換手段30を付加する実施例も考えられる。
図15を参照すると、本実施例6にかかるトランザクション処理システムは、第2の処理モジュール2に処理再現制御部7、処理結果出力部8および状態復元制御部9が更に接続されている点で、実施例1のトランザクション処理システムと相違する。なお、図15には、図3に示される状態保存制御部5など実施例1の有する他の構成要素は図示を省略している。
状態復元制御部9は、第2の処理モジュール2の処理状態を制御し、処理再現制御部7の指示を受けて、状態データ保存部6に保存されているデータを使って、保存した時点の状態に第2の処理モジュール2を復元する。
処理再現制御部7は、利用者の入力を受け、第2の処理モジュール2の処理状態を制御する命令を発行する。命令としては、処理の再開命令、一時停止命令、冗長サーバ20の内部状態の採取命令などがある。
処理結果出力部8は、冗長サーバ20の処理結果を表示するなどの出力を行う。利用者は、処理結果出力部8に表示される冗長サーバ0の処理結果や冗長サーバ20の内部状態などを調べて、障害の原因を特定する。
次に、図15のブロック図および図16のフローチャートを参照して本実施例の動作について説明する。
利用者から状態復帰の指示が出されると、処理再現制御部7はその状態復帰の指示を状態復元制御部9に送出する(S501)。状態復元制御部9は、その指示を受けて(S502)、状態復帰を開始し(S503)、状態データ保存部6に保存されている状態データを読み出し(S504)、第2の処理モジュール2に設定する(S505)。これにより、第2の処理モジュール2のトランザクションバッファ手段22、冗長サーバ通信手段23および冗長サーバ20は、状態保存が行われた時点の状態に復帰し、処理は一時停止状態となる(S506)。処理再現制御部7は、第2の処理モジュール2の復帰が完了したことを確認すると、その旨を利用者に通知する(S507)。以後、利用者は処理再現制御部7を通じて、第2の処理モジュール2の処理を再開させたり、停止させたりして、障害に至るまでの振る舞いや障害に至った時点の状況を観察し、障害の原因を調査する。
処理再現制御部7は、利用者から処理再開の指示を受けると、処理再開の指示を第2のモジュール2に送信する(S508)。第2の処理モジュール2において、冗長サーバ通信手段23は、処理再開の指示を受けると(S509)、処理停止の指示があるまで(S510)、トランザクションバッファ手段22に保持された処理要求を順次に読み出し(S511)、冗長サーバ20において処理する(S512)。処理再現制御部7は、処理が再開されたことを確認し、その旨を利用者に通知する(S516)。また、処理再現制御部7は、利用者から処理停止の指示を受けると、処理停止の指示を第2の処理モジュールに送信し(S513)、第2の処理モジュール2は処理を一時停止する(S514)。処理再現制御部7は処理が停止されたことを確認すると、その旨を利用者に通知する(S515)。
このように本実施例では、障害が顕在化する前の、処理継続可能な処理状態のデータを用いて、その処理を再開させ、処理結果を確認することができ、障害の再現による障害原因の調査が可能となる。
なお、本実施例6は実施例1を前提としたが、実施例2乃至4における第2の処理モジュール2に処理再現制御部7と処理結果出力部8と状態復元制御部9を付加する実施例も考えられる。
以上本発明の実施例について説明したが、本発明は以上の実施例にのみ限定されずその他各種の付加変更が可能である。また、各実施例における障害監視部4、状態保存制御部5、処理再現制御部7、処理結果出力部8、状態復元制御部9、クライアント通信手段11、トランザクション複製手段12、現用サーバ通信手段13、トランザクションバッファ手段22、冗長サーバ通信手段23、タイマー24、トランザクション変換手段30などの機能手段は、コンピュータと状態取得プログラムとで実現することができる。状態取得プログラムは、磁気ディスクなどのコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に上述した各機能手段を実現する。
本発明によれば、トランザクション処理システム、特にその処理プログラムに障害があった場合に、その障害による停止直前の状態を保存し、障害原因を究明するといった用途に適用できる。
本発明の実施の形態にかかる計算機システムのブロック図である。 本発明の実施の形態の効果を説明するシーケンスチャートである。 本発明の実施例1にかかるトランザクション処理システムのブロック図である。 本発明の実施例1にかかるトランザクション処理システムにおいて障害が発生していない場合の動作を示すフローチャートである。 本発明の実施例1にかかるトランザクション処理システムにおいて障害が発生した場合の動作を示すフローチャートである。 本発明の実施例2にかかるトランザクション処理システムにおける第2の処理モジュールのブロック図である。 本発明の実施例2にかかるトランザクション処理システムにおける第2の処理モジュールの処理例を示すフローチャートである。 本発明の実施例3にかかるトランザクション処理システムにおける第2の処理モジュールのブロック図である。 本発明の実施例3にかかるトランザクション処理システムにおける第2の処理モジュールの処理例を示すフローチャートである。 本発明の実施例4にかかるトランザクション処理システムのブロック図である。 本発明の実施例4にかかるトランザクション処理システムにおいて障害が発生していない場合の動作を示すフローチャートである。 本発明の実施例5にかかるトランザクション処理システムにおける第2の処理モジュールのブロック図である。 本発明の実施例5にかかるトランザクション処理システムにおける第2の処理モジュール中のトランザクション変換手段の処理例を示すフローチャートである。 本発明の実施例5にかかるトランザクション処理システムにおける変換テーブルの内容例を示す図である。 本発明の実施例6にかかるトランザクション処理システムにおける第2の処理モジュールのブロック図である。 本発明の実施例6にかかるトランザクション処理システムにおける動作を示すフローチャートである。
符号の説明
1…第1の処理モジュール
2…第2の処理モジュール
3…クライアント
4…障害監視部
5…状態保存制御部
6…状態データ保存部
7…処理再現制御部
8…処理結果出力部
9…状態復元制御部
10…現用サーバ
11…クライアント通信手段
12…トランザクション複製手段
13…現用サーバ通信手段
20…冗長サーバ
22…トランザクションバッファ手段
23…冗長サーバ通信手段
24…タイマー
30…トランザクション変換手段
31…変換テーブル
101、103…プログラム
102…現用系
104…冗長系
105…処理要求
106…遅延実行制御部
107…障害監視部
108…状態データ保存部
109…状態保存制御部

Claims (27)

  1. プログラムが稼働する現用系と、前記プログラムと同じプログラムが前記現用系と同じ実行環境で遅延して稼働する冗長系と、前記現用系に障害が発生したときの前記冗長系の状態を保存する状態保存手段とを備えることを特徴とする計算機システム。
  2. プログラムが稼働する現用系と、前記プログラムと同じプログラムが前記現用系と同じ実行環境で稼働する冗長系と、前記現用系に与えられる処理要求と同じ処理要求を遅延させて前記冗長系に与える遅延実行制御手段と、前記現用系の障害の有無を検知する障害監視手段と、前記障害監視手段で前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存する状態保存制御手段とを備えることを特徴とする計算機システム。
  3. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、該バッファから処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項2記載の計算機システム。
  4. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項2記載の計算機システム。
  5. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項2記載の計算機システム。
  6. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項2記載の計算機システム。
  7. 前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換する変換手段を備えることを特徴とする請求項3乃至6の何れか1項に記載の計算機システム。
  8. 前記変換手段は、前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するものであることを特徴とする請求項7記載の計算機システム。
  9. 前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元する状態復元制御手段と、前記冗長系の処理を前記復元された状態から再開させる処理再現制御手段と、再開された前記冗長系の処理結果を出力する処理結果出力手段とを備えることを特徴とする請求項2乃至8の何れか1項に記載の計算機システム。
  10. プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを遅延実行させ、前記現用系に障害が発生したときの前記冗長系の状態を示すデータを状態データ保存部に保存することを特徴とする状態取得方法。
  11. a)プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを並行して実行するステップ、
    b)前記現用系に与えられる処理要求と同じ処理要求を遅延させて前記冗長系に与えるステップ、
    c)前記現用系の障害の有無を検知するステップ、
    d)前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存するステップ、
    を含むことを特徴とする状態取得方法。
  12. 前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記バッファから処理要求を読み出して前記冗長系に与える処理を含むことを特徴とする請求項11記載の状態取得方法。
  13. 前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える処理を含むことを特徴とする請求項11記載の状態取得方法。
  14. 前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える処理を含むことを特徴とする請求項11記載の状態取得方法。
  15. 前記ステップbは、前記現用系に与えられる処理要求と同じ処理要求をバッファに保存し、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える処理を含むことを特徴とする請求項11記載の状態取得方法。
  16. 前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換するステップを更に含むことを特徴とする請求項11乃至15の何れか1項に記載の状態取得方法。
  17. 前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するステップを更に含むことを特徴とする請求項16記載の状態取得方法。
  18. 前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元するステップ、前記冗長系の処理を前記復元された状態から再開させるステップ、再開された前記冗長系の処理結果を出力するステップを更に含むことを特徴とする請求項11乃至17の何れか1項に記載の状態取得方法。
  19. コンピュータを、プログラムが稼働する現用系と同じ実行環境を有する冗長系で前記プログラムと同じプログラムを遅延実行させる遅延実行制御手段、前記現用系に障害が発生したときの前記冗長系の状態を保存する状態保存手段、として機能させることを特徴とする状態取得プログラム。
  20. コンピュータを、プログラムが稼働する現用系に与えられる処理要求と同じ処理要求を遅延させて、前記プログラムと同じプログラムが前記現用系と同じ実行環境で稼働する冗長系に与える遅延実行制御手段、前記現用系の障害の有無を検知する障害監視手段、前記障害監視手段で前記現用系の障害が検知されたときの前記冗長系の状態を示すデータを状態データ保存部に保存する状態保存制御手段、として機能させることを特徴とする状態取得プログラム。
  21. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、該バッファから処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項20記載の状態取得プログラム。
  22. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、各処理要求を少なくとも予め設定された時間だけ前記バッファに保存させた後に読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項20記載の状態取得プログラム。
  23. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記バッファに保存された処理要求の数が予め定められた数を超える場合に、そのうちの最も古い処理要求を読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項20記載の状態取得プログラム。
  24. 前記遅延実行制御手段は、前記現用系に与えられる処理要求と同じ処理要求を保存するバッファと、前記現用系に与えられた処理要求の処理が完了したとき、その処理要求と同じ処理要求を前記バッファから読み出して前記冗長系に与える通信手段とを備えることを特徴とする請求項20記載の状態取得プログラム。
  25. 前記コンピュータを更に、前記バッファに保存された処理要求を読み出して前記冗長系に与える前に、予め定められたパラメータの変換後の値を保持する変換テーブルを参照して、処理要求に含まれる前記パラメータの値を変換後の値に変換する変換手段、として機能させることを特徴とする請求項21乃至24の何れか1項に記載の状態取得プログラム。
  26. 前記変換手段は、前記冗長系に与えた処理要求の処理結果に応じて、前記変換テーブルの前記変換後の値を設定するものであることを特徴とする請求項25記載の状態取得プログラム。
  27. 前記コンピュータを更に、前記状態データ保存部に保存されたデータを用いて前記冗長系の状態を復元する状態復元制御手段、前記冗長系の処理を前記復元された状態から再開させる処理再現制御手段、再開された前記冗長系の処理結果を出力する処理結果出力手段、として機能させることを特徴とする請求項20乃至26の何れか1項に記載の状態取得プログラム。
JP2003402742A 2003-12-02 2003-12-02 計算機システムおよび状態取得方法ならびに状態取得プログラム Expired - Fee Related JP4288418B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003402742A JP4288418B2 (ja) 2003-12-02 2003-12-02 計算機システムおよび状態取得方法ならびに状態取得プログラム
US11/001,292 US7478273B2 (en) 2003-12-02 2004-12-02 Computer system including active system and redundant system and state acquisition method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003402742A JP4288418B2 (ja) 2003-12-02 2003-12-02 計算機システムおよび状態取得方法ならびに状態取得プログラム

Publications (2)

Publication Number Publication Date
JP2005165599A JP2005165599A (ja) 2005-06-23
JP4288418B2 true JP4288418B2 (ja) 2009-07-01

Family

ID=34696788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003402742A Expired - Fee Related JP4288418B2 (ja) 2003-12-02 2003-12-02 計算機システムおよび状態取得方法ならびに状態取得プログラム

Country Status (2)

Country Link
US (1) US7478273B2 (ja)
JP (1) JP4288418B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4831599B2 (ja) 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US9043640B1 (en) * 2005-08-26 2015-05-26 Open Invention Network, LLP System and method for event-driven live migration of multi-process applications
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8301700B1 (en) 2010-08-06 2012-10-30 Open Invention Network Llc System and method for event-driven live migration of multi-process applications
US8589953B1 (en) 2010-08-06 2013-11-19 Open Invention Network, Llc System and method for transparent consistent application-replication of multi-process multi-threaded applications
US9141481B1 (en) 2010-08-06 2015-09-22 Open Invention Network, Llc System and method for reliable non-blocking messaging for multi-process application replication
US8281184B1 (en) 2010-08-06 2012-10-02 Open Invention Network Llc System and method for reliable non-blocking messaging for multi-process application replication
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US7434096B2 (en) * 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US7480827B2 (en) * 2006-08-11 2009-01-20 Chicago Mercantile Exchange Fault tolerance and failover using active copy-cat
US8041985B2 (en) 2006-08-11 2011-10-18 Chicago Mercantile Exchange, Inc. Match server for a financial exchange having fault tolerant operation
JP4822000B2 (ja) 2006-12-12 2011-11-24 日本電気株式会社 フォールトトレラントコンピュータ
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
JP5373659B2 (ja) * 2010-02-18 2013-12-18 株式会社日立製作所 電子機器
US9135127B1 (en) 2010-08-06 2015-09-15 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
WO2012063306A1 (ja) * 2010-11-08 2012-05-18 三菱電機株式会社 仮想計算機制御装置、仮想計算機制御システム、仮想計算機制御装置の仮想計算機制御方法および仮想計算機制御プログラム
JP2015146116A (ja) * 2014-02-03 2015-08-13 富士通株式会社 制御プログラム、制御方法および情報処理装置
JP6357787B2 (ja) * 2014-02-07 2018-07-18 日本電気株式会社 データ処理装置
JP6676790B2 (ja) * 2017-01-31 2020-04-08 日本電信電話株式会社 リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム
CN110045712B (zh) * 2019-03-06 2020-10-16 吉利汽车研究院(宁波)有限公司 一种控制器故障处理方法、装置及终端

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367949A (ja) 1991-06-14 1992-12-21 Nippon Denki Computer Syst Kk 遅延処理可能データ転送制御方式
JPH0991183A (ja) 1995-09-27 1997-04-04 Toshiba Corp データベースリカバリ装置
JPH09130446A (ja) 1995-11-01 1997-05-16 Hitachi Ltd 内部監視装置
GB9601584D0 (en) * 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
US5896523A (en) * 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
JPH10198578A (ja) 1998-01-29 1998-07-31 Toshiba Corp デバッグ方式およびデバッグ方法
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6757811B1 (en) * 2000-04-19 2004-06-29 Hewlett-Packard Development Company, L.P. Slack fetch to improve performance in a simultaneous and redundantly threaded processor
JP2001333141A (ja) 2000-05-22 2001-11-30 Hitachi Ltd 通信制御装置における通信中電文の決着方法
JP2003114811A (ja) 2001-10-05 2003-04-18 Nec Corp 自動障害復旧方法及びシステム並びに装置とプログラム

Also Published As

Publication number Publication date
US20050144513A1 (en) 2005-06-30
JP2005165599A (ja) 2005-06-23
US7478273B2 (en) 2009-01-13

Similar Documents

Publication Publication Date Title
JP4288418B2 (ja) 計算機システムおよび状態取得方法ならびに状態取得プログラム
US7793060B2 (en) System method and circuit for differential mirroring of data
TW476877B (en) Method for monitoring fault of operating system and application program
US9189348B2 (en) High availability database management system and database management method using same
US6836881B2 (en) Remote tracing of data processing nodes in an asynchronous messaging network
JP4560074B2 (ja) 仮想計算機システム及び同システムにおける仮想計算機復元方法
US7454655B2 (en) Autonomic recovery of PPRC errors detected by PPRC peer
US7634625B2 (en) Storage system and method for copying volumes by inspection of data security
KR101024249B1 (ko) 실시간 데이터 복제 시스템
JP2010067115A (ja) データ記憶システム、データ記憶方法
JP5459389B2 (ja) コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ、プログラム
JPH0341522A (ja) メッセージ紛失検出処理方式
JP4795388B2 (ja) 電子計算機装置及びソフトウェア処理遅延検出時のデータ保存方法
US11392438B2 (en) Responding to unresponsive processing circuitry
JP5939053B2 (ja) リモートバックアップ装置、リモートバックアップシステム、方法およびプログラム
JP7263206B2 (ja) 情報処理システム、情報処理システムの制御方法、情報処理装置、及びプログラム
JP3335779B2 (ja) プラント性能監視システム
JP2005293325A (ja) データベースの即時レプリケーション性能監視システム
JP7282287B1 (ja) 制御装置、制御方法及びプログラム
JP2007233891A (ja) プラント監視制御装置
JP3985530B2 (ja) 不正行為監視システム
CN109815064A (zh) 节点隔离方法、装置、节点设备及计算机可读存储介质
JP2522610B2 (ja) 生産監視システムの復帰方式
JP2006048249A (ja) 制御装置及び監視端末
US9223666B2 (en) Disaster recovery for databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090203

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4288418

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees