JP2008287512A - 計算機及び分散データ処理システム及びデータ処理方法及びプログラム - Google Patents
計算機及び分散データ処理システム及びデータ処理方法及びプログラム Download PDFInfo
- Publication number
- JP2008287512A JP2008287512A JP2007131905A JP2007131905A JP2008287512A JP 2008287512 A JP2008287512 A JP 2008287512A JP 2007131905 A JP2007131905 A JP 2007131905A JP 2007131905 A JP2007131905 A JP 2007131905A JP 2008287512 A JP2008287512 A JP 2008287512A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- computer
- completed
- standby
- corresponding normal
- 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.)
- Pending
Links
Images
Abstract
【課題】常用系計算機の障害発生時に待機系計算機が確実に常用系の処理を引き継ぎ、先行する常用系計算機で障害が発生した後続の常用系計算機が先行する待機系計算機の処理結果を矛盾なく取得する。
【解決手段】常用系計算機11等は、メッセージ受信時に、一貫性維持機能付き共有メモリ装置の情報を参照し、メッセージ送信元の計算機の処理が完了済か否かを判断し、完了済の場合に自計算機の処理を行い、共有メモリ装置に処理の完了を書き込み、対となる待機系計算機にメッセージ破棄を指示する。待機系計算機21等は、対となる常用系計算機に対するメッセージを受信し、常用系計算機に障害がない場合はメッセージを破棄し、障害検知時に、共有メモリ装置の情報を参照して、常用系計算機において処理が完了しているか否かを判断し、処理未完の場合に常用系の処理を行う。また、常用系の処理が完了したことを共有メモリ装置に書き込む。
【選択図】図1
【解決手段】常用系計算機11等は、メッセージ受信時に、一貫性維持機能付き共有メモリ装置の情報を参照し、メッセージ送信元の計算機の処理が完了済か否かを判断し、完了済の場合に自計算機の処理を行い、共有メモリ装置に処理の完了を書き込み、対となる待機系計算機にメッセージ破棄を指示する。待機系計算機21等は、対となる常用系計算機に対するメッセージを受信し、常用系計算機に障害がない場合はメッセージを破棄し、障害検知時に、共有メモリ装置の情報を参照して、常用系計算機において処理が完了しているか否かを判断し、処理未完の場合に常用系の処理を行う。また、常用系の処理が完了したことを共有メモリ装置に書き込む。
【選択図】図1
Description
本発明は、ネットワーク等で相互接続された計算機システムの耐故障性を高める技術に関するものである。
一般に、計算機システムの耐故障性を高めるためには構成要素のプロセスや計算機を多重化し1台を常用系計算機、その他を待機系計算機とし、障害発生時には常用系計算機の代わりに待機系計算機が処理を引き継ぐ手法が知られている(例えば特許文献1)。
また、複数の計算機を用いてパイプライン処理を行う情報処理装置(以下、パイプライン処理装置)において、それぞれの計算機を多重化し信頼性を高めることも容易に考えられる。
このような情報処理装置においては、まず外部機器からのメッセージを受信し、メッセージに対する処理を行い、処理結果を保存し、次の計算機へのメッセージ送信、または外部機器へのメッセージ送信(入力に対する応答)を連続的に行うことで目的とする処理を実施する。
このとき、各計算機へのメッセージ送信は、常用系計算機及び待機系計算機に行い、異常発生時にはすでに受信済のメッセージを元に待機系計算機において処理を引き継ぎ、情報処理装置全体としての処理を継続する。
特開2003−280939号公報
このような情報処理装置においては、まず外部機器からのメッセージを受信し、メッセージに対する処理を行い、処理結果を保存し、次の計算機へのメッセージ送信、または外部機器へのメッセージ送信(入力に対する応答)を連続的に行うことで目的とする処理を実施する。
このとき、各計算機へのメッセージ送信は、常用系計算機及び待機系計算機に行い、異常発生時にはすでに受信済のメッセージを元に待機系計算機において処理を引き継ぎ、情報処理装置全体としての処理を継続する。
図8を参照して、上記のようなパイプライン処理装置の例を考える。
図8において、常用系計算機11と待機系計算機21、常用系計算機12と待機系計算機22、常用系計算機13と待機系計算機23、常用系計算機1nと待機系計算機2nが、それぞれ対となっている。
各計算機はネットワーク100により相互に接続されていると共に、受信メッセージを保存するためのメッセージキュー(以下、キューともいう)、各計算機において処理パラメータや中間データなどを共有するための分散共有メモリ装置(以下、共有メモリ装置又は共有メモリともいう)を有している。
各計算機は外部機器200または他の計算機からメッセージを受信すると、それに応じた処理を行い、結果を外部機器200に送信するか、または他の計算機にメッセージを送信し、さらに別の処理を実行させる。
これを繰り返すことでパイプライン処理装置として意味のある処理を実行する。
図8において、常用系計算機11と待機系計算機21、常用系計算機12と待機系計算機22、常用系計算機13と待機系計算機23、常用系計算機1nと待機系計算機2nが、それぞれ対となっている。
各計算機はネットワーク100により相互に接続されていると共に、受信メッセージを保存するためのメッセージキュー(以下、キューともいう)、各計算機において処理パラメータや中間データなどを共有するための分散共有メモリ装置(以下、共有メモリ装置又は共有メモリともいう)を有している。
各計算機は外部機器200または他の計算機からメッセージを受信すると、それに応じた処理を行い、結果を外部機器200に送信するか、または他の計算機にメッセージを送信し、さらに別の処理を実行させる。
これを繰り返すことでパイプライン処理装置として意味のある処理を実行する。
図9及び図10に、常用系計算機、待機系計算機での処理のフローチャートを示す。
図9において、常用系計算機は、メッセージを受信すると、受信したメッセージをキューに蓄え(S901)、自身の動作モードを確認し、常用系計算機として動作していることを認識し(S902)、待機系計算機にメッセージ破棄を指示する(S903)。
そして、メッセージをキューから取り出して所定の処理を行い(S904)、処理結果を共有メモリに書き込み(S905)、メッセージを他の計算機又は外部機器200に送信する。
そして、メッセージをキューから取り出して所定の処理を行い(S904)、処理結果を共有メモリに書き込み(S905)、メッセージを他の計算機又は外部機器200に送信する。
一方、待機系計算機は、図10に示すように、常用系計算機が受信するメッセージと同じメッセージを受信し、受信したメッセージをキューに蓄え(S1001)、自身の動作モードを確認し、待機系計算機として動作していることを認識し(S1002)、メッセージを処理せずに待機する(S1003)。
そして、常用系計算機に異常が発生しなければ(S1004でNO)、常用系計算機からのメッセージ破棄指示(S903)を受信した際に、キューに蓄積しているメッセージを破棄する(S1005)。
一方、常用系計算機に異常が発生した場合には(S1004でYES)、常用系として動作を開始し(S1006)、メッセージをキューから取り出して所定の処理を行い(S1007)、処理結果を共有メモリに書き込み(S1008)、メッセージを他の計算機又は外部機器200に送信する。
そして、常用系計算機に異常が発生しなければ(S1004でNO)、常用系計算機からのメッセージ破棄指示(S903)を受信した際に、キューに蓄積しているメッセージを破棄する(S1005)。
一方、常用系計算機に異常が発生した場合には(S1004でYES)、常用系として動作を開始し(S1006)、メッセージをキューから取り出して所定の処理を行い(S1007)、処理結果を共有メモリに書き込み(S1008)、メッセージを他の計算機又は外部機器200に送信する。
また、3つのメッセージ(MSG1、MSG2、MSG3)を受信した場合に図9及び図10の動作フローに沿って常用系計算機と待機系計算機が動作する例を図11に示す。
次に、異常が発生するケースについて、MSG1の処理中に常用系計算機で異常が発生した場合、図12のような流れで常用系計算機から待機系計算機に切り替わるが、このときMSG1は失われてしまい、外部機器200からのメッセージに対する応答が返せなくなるという課題が存在する。
この課題を回避するため、図9のフローチャートにおいて待機系計算機へのメッセージ破棄指示を常用系計算機での処理終了後に変更した場合のフローチャートを図13に示す。つまり、図13の例では、常用系計算機は、処理を行い(S1303)、処理結果を共有メモリに書き込み(S1304)、メッセージを送信した(S1305)後に、待機系にメッセージ破棄を指示する。なお、図14の待機系の処理は、図10と同様である。
図13の処理手順の場合、MSG1がロストすることは無いが、その代わり図15のように、他の計算機または外部機器200に対して同一のメッセージを2回送信してしまうケースが発生する課題がある。
図13の処理手順の場合、MSG1がロストすることは無いが、その代わり図15のように、他の計算機または外部機器200に対して同一のメッセージを2回送信してしまうケースが発生する課題がある。
本発明は、これら2パターンの持つ課題を解決することを主な目的としており、複数の計算機から構成される分散データ処理システムにおいて、常用系計算機に障害が発生した場合にも待機系計算機が確実に常用系計算機の処理を引き継ぎ、また、先行する常用系計算機で障害が発生した後続の常用系計算機が障害が発生した常用系計算機の待機系計算機の処理結果を矛盾なく取得して、計算機間の処理を継続させることを主な目的とする。
本発明に係る計算機は、
複数の計算機が各々に割り当てられているデータ処理を行う分散データ処理システムに用いられる計算機であって、
自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得するデータ処理開始指示取得部と、
前記データ処理開始指示取得部によりデータ処理開始指示が取得された際に、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断するデータ処理完了判断部と、
前記データ処理完了判断部により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、前記データ処理完了判断部により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留するデータ処理部と、
前記データ処理部により自計算機データ処理が完了した際に、自計算機データ処理が完了したことを他の計算機に通知するデータ処理完了通知部とを有することを特徴とする。
複数の計算機が各々に割り当てられているデータ処理を行う分散データ処理システムに用いられる計算機であって、
自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得するデータ処理開始指示取得部と、
前記データ処理開始指示取得部によりデータ処理開始指示が取得された際に、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断するデータ処理完了判断部と、
前記データ処理完了判断部により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、前記データ処理完了判断部により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留するデータ処理部と、
前記データ処理部により自計算機データ処理が完了した際に、自計算機データ処理が完了したことを他の計算機に通知するデータ処理完了通知部とを有することを特徴とする。
本発明によれば、常用系計算機は、先行データ処理が完了しているか否かを判断して自計算機データ処理を行い、自計算機データ処理が完了した際に他の計算機に自計算機データ処理の完了を通知し、待機系計算機は、対応常用系計算機の障害発生時に対応常用系データ処理が完了している否かを判断して対応常用系計算機のデータ処理を行い、対応常用系計算機のデータ処理が完了した際に他の計算機に対応常用系計算機のデータ処理の完了を通知するため、常用系計算機に障害が発生した場合にも待機系計算機が確実に常用系計算機の処理を引き継ぐことができ、また、先行する常用系計算機で障害が発生した後続の常用系計算機が障害が発生した常用系計算機の待機系計算機の処理結果を矛盾なく取得することができ、計算機間の処理を継続させることができる。
実施の形態1.
図1は、この発明の実施の形態1におけるパイプライン処理装置1(分散データ処理システム)を示すものである。
図1において、常用系計算機11〜1nは、各々に割り当てられているデータ処理を行う。また、待機系計算機21〜2nは、対となる常用系計算機11〜1nの障害時に常用系計算機11〜1nに代わって常用系計算機に割り当てられているデータ処理を行う。
図1では、常用系計算機11と待機系計算機21、常用系計算機12と待機系計算機22、常用系計算機13と待機系計算機23、常用系計算機1nと待機系計算機2nが、それぞれ対となっている。
本実施の形態では、従来の共有メモリ装置の代わりに、ACID特性(原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、永続性(Durability))を持つ分散共有メモリ装置(一貫性維持機能付き共有メモリ装置)を用いて計算機間の情報の共有を行い、各計算機はネットワーク100により相互接続されていると共に、受信メッセージを保管するためのメッセージキューを持つ。
図1は、この発明の実施の形態1におけるパイプライン処理装置1(分散データ処理システム)を示すものである。
図1において、常用系計算機11〜1nは、各々に割り当てられているデータ処理を行う。また、待機系計算機21〜2nは、対となる常用系計算機11〜1nの障害時に常用系計算機11〜1nに代わって常用系計算機に割り当てられているデータ処理を行う。
図1では、常用系計算機11と待機系計算機21、常用系計算機12と待機系計算機22、常用系計算機13と待機系計算機23、常用系計算機1nと待機系計算機2nが、それぞれ対となっている。
本実施の形態では、従来の共有メモリ装置の代わりに、ACID特性(原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、永続性(Durability))を持つ分散共有メモリ装置(一貫性維持機能付き共有メモリ装置)を用いて計算機間の情報の共有を行い、各計算機はネットワーク100により相互接続されていると共に、受信メッセージを保管するためのメッセージキューを持つ。
各常用系計算機11〜1nは、自計算機に割り当てられている処理(自計算機データ処理)の開始を指示するメッセージ(データ処理開始指示)を受信し、メッセージを受信した際に、一貫性維持機能付き共有メモリ装置(分散共有メモリ装置)の情報を参照して、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断する。
そして、各常用系計算機11〜1nは、先行データ処理が完了していると判断した場合に自計算機データ処理を行い、先行データ処理が完了していないと判断した場合に自計算機データ処理を保留し、一貫性維持機能付き共有メモリ装置に情報が書き込まれた場合、情報を書き込んだ計算機が、保留したメッセージを送信した計算機の場合は、先行データ処理が完了したものとし、自計算機データ処理を行い、他方、情報を書き込んだ計算機が、保留したメッセージを送信した計算機以外の場合は、保留しているメッセージを破棄する。
また、各常用系計算機11〜1nは、自計算機データ処理が完了した際に、一貫性維持機能付き共有メモリ装置に自計算機データ処理が完了したことを書き込むことで自計算機データ処理が完了したことを他の計算機に通知し、自計算機のデータ処理が完了したことを通知した後に、対となる対応待機系計算機に対して、対応待機系計算機が受信したメッセージ(データ処理開始指示)を破棄するよう指示する。
そして、各常用系計算機11〜1nは、先行データ処理が完了していると判断した場合に自計算機データ処理を行い、先行データ処理が完了していないと判断した場合に自計算機データ処理を保留し、一貫性維持機能付き共有メモリ装置に情報が書き込まれた場合、情報を書き込んだ計算機が、保留したメッセージを送信した計算機の場合は、先行データ処理が完了したものとし、自計算機データ処理を行い、他方、情報を書き込んだ計算機が、保留したメッセージを送信した計算機以外の場合は、保留しているメッセージを破棄する。
また、各常用系計算機11〜1nは、自計算機データ処理が完了した際に、一貫性維持機能付き共有メモリ装置に自計算機データ処理が完了したことを書き込むことで自計算機データ処理が完了したことを他の計算機に通知し、自計算機のデータ処理が完了したことを通知した後に、対となる対応待機系計算機に対して、対応待機系計算機が受信したメッセージ(データ処理開始指示)を破棄するよう指示する。
また、各待機系計算機21〜2nは、対となる対応常用系計算機に対するメッセージを受信し、対応常用系計算機における障害を検知しない場合は、対応常用系計算機からのメッセージ破棄指示に基づき、対応常用系計算機に対するメッセージを破棄する。
一方、対応常用系計算機における障害を検知した場合に、各待機系計算機21〜2nは、一貫性維持機能付き共有メモリ装置の情報を参照して、対応常用系計算機において対応常用系計算機に割り当てられている処理(対応常用系データ処理)が完了しているか否かを判断し、対応常用系計算機において対応常用系データ処理が完了していないと判断した場合に対応常用系データ処理を行う。
また、対応常用系データ処理が完了した際に、対応常用系データ処理が完了したことを一貫性維持機能付き共有メモリ装置に書き込んで、他の計算機に対応常用系データ処理が完了したことを通知する。
一方、対応常用系計算機における障害を検知した場合に、各待機系計算機21〜2nは、一貫性維持機能付き共有メモリ装置の情報を参照して、対応常用系計算機において対応常用系計算機に割り当てられている処理(対応常用系データ処理)が完了しているか否かを判断し、対応常用系計算機において対応常用系データ処理が完了していないと判断した場合に対応常用系データ処理を行う。
また、対応常用系データ処理が完了した際に、対応常用系データ処理が完了したことを一貫性維持機能付き共有メモリ装置に書き込んで、他の計算機に対応常用系データ処理が完了したことを通知する。
次に、本実施の形態に係る常用系計算機及び待機系計算機の構成例を図2及び図3に示す。
図2は、本実施の形態に係る常用系計算機10の構成例を示し、図3は、本実施の形態に係る待機系計算機20の構成例を示す。
本実施の形態では、一つの計算機が常用系としても待機系としても動作可能であるため、常用系及び待機系のいずれにも対応させるために、各計算機は、図2及び図3を統合した構成を有することになるが、常用系として動作する場合、待機系として動作する場合のそれぞれにおいて必要となる構成要素、処理内容が異なるため、説明の便宜のために、別の図として示している。
また、常用系計算機10の構成は、常用系計算機11〜1nに共通であり、待機系計算機20の構成は、待機系計算機21〜2nに共通である。
図2は、本実施の形態に係る常用系計算機10の構成例を示し、図3は、本実施の形態に係る待機系計算機20の構成例を示す。
本実施の形態では、一つの計算機が常用系としても待機系としても動作可能であるため、常用系及び待機系のいずれにも対応させるために、各計算機は、図2及び図3を統合した構成を有することになるが、常用系として動作する場合、待機系として動作する場合のそれぞれにおいて必要となる構成要素、処理内容が異なるため、説明の便宜のために、別の図として示している。
また、常用系計算機10の構成は、常用系計算機11〜1nに共通であり、待機系計算機20の構成は、待機系計算機21〜2nに共通である。
図2において、通信部101は、他の計算機又は外部機器200との間でメッセージを送受信し、また、待機系計算機20に対してメッセージ破棄指示を送信する。
また、他の計算機との間で一貫性維持機能付き共有メモリ装置103の共有メモリ情報の送受信を行う。通信部101は、メッセージ(データ処理開始指示)を取得する機能を有しており、データ処理開始指示取得部の例である。
メッセージキュー102は、通信部101により受信されたメッセージを蓄積する。なお、以降、メッセージキュー102は単にキュー102ともいう。
一貫性維持機能付き共有メモリ装置103は、前述したように、計算機間の情報の共有のための分散共有メモリ装置であり、ACID特性を持つ。一貫性維持機能付き共有メモリ装置103は分散共有メモリ装置の例である。
また、他の計算機との間で一貫性維持機能付き共有メモリ装置103の共有メモリ情報の送受信を行う。通信部101は、メッセージ(データ処理開始指示)を取得する機能を有しており、データ処理開始指示取得部の例である。
メッセージキュー102は、通信部101により受信されたメッセージを蓄積する。なお、以降、メッセージキュー102は単にキュー102ともいう。
一貫性維持機能付き共有メモリ装置103は、前述したように、計算機間の情報の共有のための分散共有メモリ装置であり、ACID特性を持つ。一貫性維持機能付き共有メモリ装置103は分散共有メモリ装置の例である。
制御部104は、動作モード確認部105、動作モード切替部106、データ処理完了判断部107、データ処理部108、データ処理完了通知部109、メッセージ生成部110、破棄指示部111から構成される。
動作モード確認部105は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機の動作モードが常用系であるのか待機系であるのかを確認する。
動作モード切替部106は、計算機の動作モードを常用系と待機系の間で切り替える。
データ処理完了判断部107は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機に割り当てられている処理(自計算機データ処理)の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断する。具体的には、データ処理完了判断部107は、一貫性維持機能付き共有メモリ装置103の情報を参照して、メッセージ送信元の計算機に割り当てられているデータ処理が当該計算機で完了しているか否かを判断する。
データ処理部108は、データ処理完了判断部107により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、データ処理完了判断部107により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留し、一貫性維持機能付き共有メモリ装置に情報が書き込まれた場合、情報を書き込んだ計算機が、保留したメッセージを送信した計算機の場合は、先行データ処理が完了したものとし、自計算機データ処理を行い、他方、情報を書き込んだ計算機が、保留したメッセージを送信した計算機以外の場合は、保留しているメッセージを破棄する。
データ処理完了通知部109は、データ処理部108により自計算機データ処理が完了した際に、一貫性維持機能付き共有メモリ装置103に自計算機データ処理が完了したことを書き込んで、自計算機データ処理が完了したことを他の計算機に通知する。
メッセージ生成部110は、データ処理部108により自計算機データ処理が完了した際に、他の計算機又は外部機器200宛のメッセージを生成する。
破棄指示部111は、データ処理完了通知部109により自計算機のデータ処理が完了したことが通知された後に、対となる対応待機系計算機に対して、対応待機系計算機が取得したメッセージを破棄するよう指示するメッセージ破棄指示を生成する。
動作モード確認部105は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機の動作モードが常用系であるのか待機系であるのかを確認する。
動作モード切替部106は、計算機の動作モードを常用系と待機系の間で切り替える。
データ処理完了判断部107は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機に割り当てられている処理(自計算機データ処理)の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断する。具体的には、データ処理完了判断部107は、一貫性維持機能付き共有メモリ装置103の情報を参照して、メッセージ送信元の計算機に割り当てられているデータ処理が当該計算機で完了しているか否かを判断する。
データ処理部108は、データ処理完了判断部107により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、データ処理完了判断部107により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留し、一貫性維持機能付き共有メモリ装置に情報が書き込まれた場合、情報を書き込んだ計算機が、保留したメッセージを送信した計算機の場合は、先行データ処理が完了したものとし、自計算機データ処理を行い、他方、情報を書き込んだ計算機が、保留したメッセージを送信した計算機以外の場合は、保留しているメッセージを破棄する。
データ処理完了通知部109は、データ処理部108により自計算機データ処理が完了した際に、一貫性維持機能付き共有メモリ装置103に自計算機データ処理が完了したことを書き込んで、自計算機データ処理が完了したことを他の計算機に通知する。
メッセージ生成部110は、データ処理部108により自計算機データ処理が完了した際に、他の計算機又は外部機器200宛のメッセージを生成する。
破棄指示部111は、データ処理完了通知部109により自計算機のデータ処理が完了したことが通知された後に、対となる対応待機系計算機に対して、対応待機系計算機が取得したメッセージを破棄するよう指示するメッセージ破棄指示を生成する。
図3において、通信部201は、他の計算機又は外部機器200との間でメッセージを送受信し、また、常用系計算機10からのメッセージ破棄指示を受信する。
また、他の計算機との間で一貫性維持機能付き共有メモリ装置203の共有メモリ情報の送受信を行う。
メッセージキュー202は、通信部201により受信されたメッセージを蓄積する。なお、以降、メッセージキュー202は単にキュー202ともいう。
一貫性維持機能付き共有メモリ装置203は、前述したように、計算機間の情報の共有のための分散共有メモリ装置であり、ACID特性を持つ。一貫性維持機能付き共有メモリ装置203は分散共有メモリ装置の例である。
また、他の計算機との間で一貫性維持機能付き共有メモリ装置203の共有メモリ情報の送受信を行う。
メッセージキュー202は、通信部201により受信されたメッセージを蓄積する。なお、以降、メッセージキュー202は単にキュー202ともいう。
一貫性維持機能付き共有メモリ装置203は、前述したように、計算機間の情報の共有のための分散共有メモリ装置であり、ACID特性を持つ。一貫性維持機能付き共有メモリ装置203は分散共有メモリ装置の例である。
制御部204は、動作モード確認部205、動作モード切替部206、データ処理完了判断部207、データ処理部208、データ処理完了通知部209、メッセージ生成部210、障害検知部211から構成される。
動作モード確認部205は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機の動作モードが常用系であるのか待機系であるのかを確認する。
動作モード切替部206は、計算機の動作モードを常用系と待機系の間で切り替える。
データ処理完了判断部207は、障害検知部211により対応常用系計算機における障害が検知された際に、一貫性維持機能付き共有メモリ装置203の情報を参照して、対応常用系計算機において対応常用系計算機に割り当てられている処理(対応常用系データ処理)が完了しているか否かを判断する。
データ処理部208は、データ処理完了判断部207により対応常用系計算機において対応常用系データ処理が完了していないと判断された場合に対応常用系データ処理を行う。
データ処理完了通知部209は、データ処理部208により対応常用系データ処理が完了した際に、一貫性維持機能付き共有メモリ装置203に対応常用系データ処理が完了したことを書き込んで、対応常用系データ処理が完了したことを他の計算機に通知する。
メッセージ生成部210は、データ処理部208により対応常用系データ処理が完了した際に、他の計算機又は外部機器200宛のメッセージを生成する。
障害検知部211は、対となる対応常用系計算機における障害を検知する。
動作モード確認部205は、他の計算機又は外部機器200からメッセージを受信した場合に、自計算機の動作モードが常用系であるのか待機系であるのかを確認する。
動作モード切替部206は、計算機の動作モードを常用系と待機系の間で切り替える。
データ処理完了判断部207は、障害検知部211により対応常用系計算機における障害が検知された際に、一貫性維持機能付き共有メモリ装置203の情報を参照して、対応常用系計算機において対応常用系計算機に割り当てられている処理(対応常用系データ処理)が完了しているか否かを判断する。
データ処理部208は、データ処理完了判断部207により対応常用系計算機において対応常用系データ処理が完了していないと判断された場合に対応常用系データ処理を行う。
データ処理完了通知部209は、データ処理部208により対応常用系データ処理が完了した際に、一貫性維持機能付き共有メモリ装置203に対応常用系データ処理が完了したことを書き込んで、対応常用系データ処理が完了したことを他の計算機に通知する。
メッセージ生成部210は、データ処理部208により対応常用系データ処理が完了した際に、他の計算機又は外部機器200宛のメッセージを生成する。
障害検知部211は、対となる対応常用系計算機における障害を検知する。
このパイプライン処理装置1における常用系計算機及び待機系計算機の処理のフローチャートを図4及び図5に示す。また、処理の流れは図6に示す。
図4において、常用系計算機10の通信部101が他の計算機からメッセージを受信し、メッセージをキュー102に蓄える(S401)(データ処理開始指示取得ステップ)。
次に、動作モード確認部105が自計算機の動作モードを確認し、常用系計算機として動作していることを認識する(S402)。
次に、データ処理完了判断部107が、一貫性維持機能付き共有メモリ装置103にアクセスし、受信したメッセージの送信元の計算機における送信元処理(先行データ処理)が完了しているかを確認する(S403)(データ処理完了判断ステップ)。
次に、動作モード確認部105が自計算機の動作モードを確認し、常用系計算機として動作していることを認識する(S402)。
次に、データ処理完了判断部107が、一貫性維持機能付き共有メモリ装置103にアクセスし、受信したメッセージの送信元の計算機における送信元処理(先行データ処理)が完了しているかを確認する(S403)(データ処理完了判断ステップ)。
この確認はメッセージに一意なメッセージIDと送信元の計算機IDを付与しておき、このメッセージIDと計算機IDを元にして得られる一貫性維持機能付き共有メモリ装置の特定アドレスに、送信元処理が完了しているかを示すフラグを保存しておく、などの方法があるが、その他の方法を用いても良い。
送信元処理が完了していた場合(S403でYES)は、データ処理部108が、受信したメッセージを元に処理(自計算機データ処理)を行う(S404)(データ処理ステップ)。
データ処理部108による処理が完了したら、メッセージ生成部110が外部機器200又は他の計算機宛のメッセージを生成し、通信部101がメッセージを送信する(S405)。
また、データ処理完了通知部109が、データ処理部108による処理結果を一貫性維持機能付き共有メモリ装置103に保存する(S406)とともにデータ処理部108による処理が完了したことを一貫性維持機能付き共有メモリ装置103に記録する(S407)(データ処理完了通知ステップ)。
最後に、破棄指示部111がメッセージ破棄指示を生成し、通信部101がメッセージ破棄指示を待機系計算機20に送信する(S408)。
他方、データ処理完了判断部107が送信元処理が完了しているか確認した結果、送信元処理が完了していなかった場合(S403でNO)は、データ処理部108は受信したメッセージの取り出しを保留する(S409)。すなわち、データ処理部108は、処理(自計算機データ処理)を保留する。
そして、データ処理完了判断部107は、データ処理部108により処理(自計算機データ処理)が保留された後に、一貫性維持機能付き共有メモリ装置103にアクセスし、メッセージ送信元が一貫性維持機能付き共有メモリ装置103に処理完了を記録したか、換言すれば、送信元処理が先行の常用系計算機(他の常用系計算機)及び先行の常用系計算機と対になる待機系計算機のいずれかで完了しているか否かを判断する。
データ処理完了判断部107が、メッセージ送信元(先行の常用系計算機)が送信元処理の完了を一貫性維持機能付き共有メモリ装置103に記録していると判断した場合、すなわち、メッセージ送信元(先行の常用系計算機)で送信元処理が完了していると判断した場合(S410でYES)は、データ処理部108は、メッセージをキューから取り出し、処理(自計算機データ処理)を行い(S404)、S405以降の動作を行う。
他方、データ処理完了判断部107が、メッセージ送信元(先行の常用系計算機)が送信元処理の完了を一貫性維持機能付き共有メモリ装置103に記録していないと判断した場合、すなわち、先行の常用系計算機と対になる待機系計算機で送信元処理が完了していると判断した場合(S410でNO)は、図6に示すように、先行の常用系計算機がメッセージを送信した後であって一貫性維持機能付き共有メモリ装置103への処理完了を記録する前に当該先行の常用系計算機に異常が発生し、先行の常用系計算機と対になる先行の待機系計算機が処理を引き継いで、メッセージを送信し、一貫性維持機能付き共有メモリ装置103に処理完了を記録した状態であり、データ処理部108は、処理(自計算機データ処理)を行わずにメッセージキューにある先行の常用系計算機からのメッセージを破棄し(S411)、処理を終了する。
なお、この場合は、図6に示すように、異常のあった先行の常用系計算機を引き継いだ先行の待機系計算機から、メッセージを受信するので、この先行の待機系計算機からのメッセージに対してS401以降の手順を実施する。
データ処理部108による処理が完了したら、メッセージ生成部110が外部機器200又は他の計算機宛のメッセージを生成し、通信部101がメッセージを送信する(S405)。
また、データ処理完了通知部109が、データ処理部108による処理結果を一貫性維持機能付き共有メモリ装置103に保存する(S406)とともにデータ処理部108による処理が完了したことを一貫性維持機能付き共有メモリ装置103に記録する(S407)(データ処理完了通知ステップ)。
最後に、破棄指示部111がメッセージ破棄指示を生成し、通信部101がメッセージ破棄指示を待機系計算機20に送信する(S408)。
他方、データ処理完了判断部107が送信元処理が完了しているか確認した結果、送信元処理が完了していなかった場合(S403でNO)は、データ処理部108は受信したメッセージの取り出しを保留する(S409)。すなわち、データ処理部108は、処理(自計算機データ処理)を保留する。
そして、データ処理完了判断部107は、データ処理部108により処理(自計算機データ処理)が保留された後に、一貫性維持機能付き共有メモリ装置103にアクセスし、メッセージ送信元が一貫性維持機能付き共有メモリ装置103に処理完了を記録したか、換言すれば、送信元処理が先行の常用系計算機(他の常用系計算機)及び先行の常用系計算機と対になる待機系計算機のいずれかで完了しているか否かを判断する。
データ処理完了判断部107が、メッセージ送信元(先行の常用系計算機)が送信元処理の完了を一貫性維持機能付き共有メモリ装置103に記録していると判断した場合、すなわち、メッセージ送信元(先行の常用系計算機)で送信元処理が完了していると判断した場合(S410でYES)は、データ処理部108は、メッセージをキューから取り出し、処理(自計算機データ処理)を行い(S404)、S405以降の動作を行う。
他方、データ処理完了判断部107が、メッセージ送信元(先行の常用系計算機)が送信元処理の完了を一貫性維持機能付き共有メモリ装置103に記録していないと判断した場合、すなわち、先行の常用系計算機と対になる待機系計算機で送信元処理が完了していると判断した場合(S410でNO)は、図6に示すように、先行の常用系計算機がメッセージを送信した後であって一貫性維持機能付き共有メモリ装置103への処理完了を記録する前に当該先行の常用系計算機に異常が発生し、先行の常用系計算機と対になる先行の待機系計算機が処理を引き継いで、メッセージを送信し、一貫性維持機能付き共有メモリ装置103に処理完了を記録した状態であり、データ処理部108は、処理(自計算機データ処理)を行わずにメッセージキューにある先行の常用系計算機からのメッセージを破棄し(S411)、処理を終了する。
なお、この場合は、図6に示すように、異常のあった先行の常用系計算機を引き継いだ先行の待機系計算機から、メッセージを受信するので、この先行の待機系計算機からのメッセージに対してS401以降の手順を実施する。
待機系計算機20においては、対応する常用系計算機10が動作している間は、常用系計算機10からのメッセージ破棄指示を待ってメッセージを破棄することを繰り返す。常用系計算機にて異常が発生したことを検知した場合には常用系計算機10に置き換わって処理を開始する。切り替え後の最初のメッセージについては、メッセージの処理開始時に、上記常用系計算機のメッセージ受信時と同様に、異常発生の前に常用系計算機において処理が完了していたかを確認し、処理が完了していなかった場合のみメッセージの処理を行う。
具体的には、図5に示すように、待機系計算機20の通信部201は、対応する常用系計算機10が受信するメッセージと同じメッセージを受信し、メッセージをキュー202に蓄える(S501)。
次に、動作モード確認部205が自計算機の動作モードを確認し、待機系計算機として動作していることを認識し(S502)、メッセージを処理せずに待機する(S503)。
そして、常用系計算機10に異常が発生しなければ(S504でNO)、常用系計算機10からのメッセージ破棄指示(S409)を受信した際に、キュー202に蓄積しているメッセージを破棄する(S505)。
一方、常用系計算機10に異常が発生した場合には(S504でYES)、障害検知部211が常用系計算機10の異常を検知し(障害検知ステップ)、動作モード切替部206が動作モードを切り替えて常用系として動作を開始する(S506)。
次に、データ処理完了判断部207が、一貫性維持機能付き共有メモリ装置203にアクセスし、対応する常用系計算機10における処理(対応常用系データ処理)が完了しているかを確認する(S507)(データ処理完了判断ステップ)。
次に、動作モード確認部205が自計算機の動作モードを確認し、待機系計算機として動作していることを認識し(S502)、メッセージを処理せずに待機する(S503)。
そして、常用系計算機10に異常が発生しなければ(S504でNO)、常用系計算機10からのメッセージ破棄指示(S409)を受信した際に、キュー202に蓄積しているメッセージを破棄する(S505)。
一方、常用系計算機10に異常が発生した場合には(S504でYES)、障害検知部211が常用系計算機10の異常を検知し(障害検知ステップ)、動作モード切替部206が動作モードを切り替えて常用系として動作を開始する(S506)。
次に、データ処理完了判断部207が、一貫性維持機能付き共有メモリ装置203にアクセスし、対応する常用系計算機10における処理(対応常用系データ処理)が完了しているかを確認する(S507)(データ処理完了判断ステップ)。
この常用系計算機10における処理が完了しているか否かの判断は、常用系計算機10における送信元処理の完了確認と同様の方法で良い。
データ処理完了判断部207が常用系計算機10における処理が完了しているか確認した結果、常用系計算機10における処理が完了していた場合(S507でYES)は、待機系計算機20は、以後、常用系計算機として動作する。
他方、常用系計算機10における処理が完了していなかった場合(S507でNO)は、データ処理部208が、メッセージをキューから取り出し、常用系計算機10に割り当てられている処理(対応常用系データ処理)を行う(S508)(データ処理ステップ)。
データ処理部208による処理が完了したら、メッセージ生成部210が外部機器200又は他の計算機宛のメッセージを生成し、通信部201がメッセージを送信する(S509)。
また、データ処理完了通知部209が、データ処理部208による処理結果を一貫性維持機能付き共有メモリ装置203に保存する(S510)とともにデータ処理部208による処理が完了したことを一貫性維持機能付き共有メモリ装置203に記録する(S511)(データ処理完了通知ステップ)。
データ処理部208による処理が完了したら、メッセージ生成部210が外部機器200又は他の計算機宛のメッセージを生成し、通信部201がメッセージを送信する(S509)。
また、データ処理完了通知部209が、データ処理部208による処理結果を一貫性維持機能付き共有メモリ装置203に保存する(S510)とともにデータ処理部208による処理が完了したことを一貫性維持機能付き共有メモリ装置203に記録する(S511)(データ処理完了通知ステップ)。
なお、常用系計算機にて異常が発生したことを検知する方法としては、常用系計算機と待機系計算機の間でハートビートを行う方法や、常用系計算機においてプロセスの状態を監視するなどの方法があるが、その他の方法を用いても良い。
上記の一連の処理において、処理完了の記録と処理結果の保存を一貫性維持機能付き共有メモリ装置にしていることによって、異常時に、メッセージが送信されているが、処理結果が保存されていない、処理結果が途中までしか保存されていない、または処理結果は保存されているが処理完了が記録されていない、などの状態が発生せずに処理を継続することが可能となる。
これにより従来の方法で存在した異常発生時にメッセージがロストするという問題無しにパイプライン処理装置の耐故障性を実現できる。
これにより従来の方法で存在した異常発生時にメッセージがロストするという問題無しにパイプライン処理装置の耐故障性を実現できる。
以上、本実施の形態では、ネットワークによって接続された常用系計算機及び待機系計算機から成り一連の処理を実行するパイプライン処理装置において、一貫性維持機能付共有メモリ装置、正常時に処理の同期を取る手段、異常発生時に待機系計算機が処理を再開する手段を備えたことを主な特徴とするパイプライン処理装置について説明した。
実施の形態2.
なお、上記実施の形態1では、常用系計算機1つに対して1つの待機系計算機が対になっているが、2つ以上のm台の待機系計算機のグループを対にした構成によっても同様の動作を行わせることができる。
このとき常用系計算機の処理を引き継ぐ順番はあらかじめ決定しておいても良いし、動的に決定するようにしても良い。
これによりm−1台の計算機が同時に故障しても処理を継続することが可能となり、耐故障性をさらに高めることができる。
なお、上記実施の形態1では、常用系計算機1つに対して1つの待機系計算機が対になっているが、2つ以上のm台の待機系計算機のグループを対にした構成によっても同様の動作を行わせることができる。
このとき常用系計算機の処理を引き継ぐ順番はあらかじめ決定しておいても良いし、動的に決定するようにしても良い。
これによりm−1台の計算機が同時に故障しても処理を継続することが可能となり、耐故障性をさらに高めることができる。
以上、本実施の形態では、1台の常用系計算機に対して複数台の待機系計算機がセットになることを主な特徴とするパイプライン処理装置について説明した。
実施の形態3.
上記実施の形態1では、常用系計算機1つに対して1つの待機系計算機が対になっているが、複数の常用系計算機に対してどの常用系計算機の代わりにもなる1つの待機系計算機を対応させる構成としても同様の動作を行わせることができる。
これにより、正常実行時に使用されない計算機リソースを減らすことができる。
上記実施の形態1では、常用系計算機1つに対して1つの待機系計算機が対になっているが、複数の常用系計算機に対してどの常用系計算機の代わりにもなる1つの待機系計算機を対応させる構成としても同様の動作を行わせることができる。
これにより、正常実行時に使用されない計算機リソースを減らすことができる。
以上、本実施の形態では、複数台の常用系計算機から構成される計算機グループに対して、計算機グループの全てあるいは一部の常用系計算機のバックアップを行うことができる1台の待機系計算機を共通に持つことを主な特徴とするパイプライン処理装置について説明した。
実施の形態4.
上記実施の形態3では、複数の常用系計算機に対して1つの待機系計算機を対応させているが、複数の常用系計算機に対してどの常用系計算機の代わりにもなる複数台の待機系計算機を対応させる構成としても同様の動作を行わせることができる。
このとき、待機系計算機の台数は、常用系計算機の台数と同じでも、多くても、少なくても良い。
これにより、必要な耐故障性に応じて柔軟に待機系計算機の台数を変えられる。また、実施の形態1、2、3では、1つの常用系計算機及び同計算機に対応する待機系計算機が全て故障してしまった場合には、他の常用系計算機に対応する待機系計算機が存在したとしてもパイプライン処理装置としては処理を継続することができなくなってしまうところを、本形態であれば全ての待機系計算機が故障するまでパイプライン処理装置としての処理を継続することが可能であり、計算機リソースを有効利用することが可能である。
上記実施の形態3では、複数の常用系計算機に対して1つの待機系計算機を対応させているが、複数の常用系計算機に対してどの常用系計算機の代わりにもなる複数台の待機系計算機を対応させる構成としても同様の動作を行わせることができる。
このとき、待機系計算機の台数は、常用系計算機の台数と同じでも、多くても、少なくても良い。
これにより、必要な耐故障性に応じて柔軟に待機系計算機の台数を変えられる。また、実施の形態1、2、3では、1つの常用系計算機及び同計算機に対応する待機系計算機が全て故障してしまった場合には、他の常用系計算機に対応する待機系計算機が存在したとしてもパイプライン処理装置としては処理を継続することができなくなってしまうところを、本形態であれば全ての待機系計算機が故障するまでパイプライン処理装置としての処理を継続することが可能であり、計算機リソースを有効利用することが可能である。
以上、本実施の形態では、複数台の常用系計算機から構成される計算機グループに対して、複数台の上記待機系計算機を共通に持つことを主な特徴とするパイプライン処理装置について説明した。
実施の形態5.
上記実施の形態1、2、3、4では、計算機を相互に接続するネットワークが1つだけであったが、ネットワーク接続を多重化した構成としても同様の動作を行わせることができる。
これにより計算機の故障だけでなく、ネットワークの障害が発生した場合でもパイプライン処理装置としての処理を継続することが可能となり、耐故障性を高めることができる。
上記実施の形態1、2、3、4では、計算機を相互に接続するネットワークが1つだけであったが、ネットワーク接続を多重化した構成としても同様の動作を行わせることができる。
これにより計算機の故障だけでなく、ネットワークの障害が発生した場合でもパイプライン処理装置としての処理を継続することが可能となり、耐故障性を高めることができる。
以上、本実施の形態では、ネットワークによる接続が多重化されたことを主な特徴とするパイプライン処理装置について説明した。
実施の形態6.
上記実施の形態1、2、3、4、5では、全ての計算機から1つの一貫性維持機能付き共有メモリ装置を共有していたが、これを幾つかのメッセージの送受信を行う計算機グループ毎に1つの一貫性維持機能付き共有メモリ装置を共有するように細分化した構成としても同様の動作を行わせることができる。
これにより一貫性維持機能付き共有メモリ装置で要する排他制御などのオーバーヘッドを軽減し、パイプライン処理装置の処理能力を向上させることができる。
上記実施の形態1、2、3、4、5では、全ての計算機から1つの一貫性維持機能付き共有メモリ装置を共有していたが、これを幾つかのメッセージの送受信を行う計算機グループ毎に1つの一貫性維持機能付き共有メモリ装置を共有するように細分化した構成としても同様の動作を行わせることができる。
これにより一貫性維持機能付き共有メモリ装置で要する排他制御などのオーバーヘッドを軽減し、パイプライン処理装置の処理能力を向上させることができる。
以上、本実施の形態では、一貫性維持機能付共有メモリ装置を全ての計算機で共有する代わりに、メッセージの送受信を行う計算機グループ毎に1つの一貫性維持機能付き共有メモリ装置を共有することを主な特徴とするパイプライン処理装置について説明した。
実施の形態7.
上記実施の形態1、2、3、4、5、6では、計算機が処理を開始するトリガーとしてネットワークを介したメッセージを用いていたが、これを一貫性維持機能付き共有メモリ上でのデータ交換を併用する、または一貫性維持機能付き共有メモリ上でのデータ交換だけとしても同様の動作を行わせることができる。
これによりメッセージ送受信のためにネットワークを使用しなくなるため部品数が減り、耐故障性を高めることができる。
上記実施の形態1、2、3、4、5、6では、計算機が処理を開始するトリガーとしてネットワークを介したメッセージを用いていたが、これを一貫性維持機能付き共有メモリ上でのデータ交換を併用する、または一貫性維持機能付き共有メモリ上でのデータ交換だけとしても同様の動作を行わせることができる。
これによりメッセージ送受信のためにネットワークを使用しなくなるため部品数が減り、耐故障性を高めることができる。
以上、本実施の形態では、計算機間の通信を、ネットワーク上のメッセージ送信の代わりに、一貫性維持機能付共有メモリ装置上にメッセージを書き込んでおき受信側でポーリングする方式とすることを主な特徴とするパイプライン処理装置について説明した。
なお、上記説明において、ネットワーク接続の形態は有線接続、無線接続を問わないこと、及び外部機器200が任意の数であっても同様の動作を行うことができること、
パイプライン処理装置において複数の処理が並行動作できること、はいうまでもない。
パイプライン処理装置において複数の処理が並行動作できること、はいうまでもない。
最後に実施の形態1〜7に示した常用系計算機10及び待機系計算機20のハードウェア構成例について説明する。
図7は、実施の形態1〜7に示す常用系計算機10及び待機系計算機20のハードウェア資源の一例を示す図である。なお、図7の構成は、あくまでも常用系計算機10及び待機系計算機20のハードウェア構成の一例を示すものであり、常用系計算機10及び待機系計算機20のハードウェア構成は図7に記載の構成に限らず、他の構成であってもよい。
図7は、実施の形態1〜7に示す常用系計算機10及び待機系計算機20のハードウェア資源の一例を示す図である。なお、図7の構成は、あくまでも常用系計算機10及び待機系計算機20のハードウェア構成の一例を示すものであり、常用系計算機10及び待機系計算機20のハードウェア構成は図7に記載の構成に限らず、他の構成であってもよい。
図7において、常用系計算機10及び待機系計算機20は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態1〜7の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の確認」、「〜の更新」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の確認」、「〜の更新」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜7の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜7の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜7の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1〜7に示す常用系計算機10及び待機系計算機20は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
10 常用系計算機、20 待機系計算機、100 ネットワーク、101 通信部、102 メッセージキュー、103 一貫性維持機能付き共有メモリ装置、104 制御部、105 動作モード確認部、106 動作モード切替部、107 データ処理完了判断部、108 データ処理部、109 データ処理完了通知部、110 メッセージ生成部、111 破棄指示部、200 外部機器、201 通信部、202 メッセージキュー、203 一貫性維持機能付き共有メモリ装置、204 制御部、205 動作モード確認部、206 動作モード切替部、207 データ処理完了判断部、208 データ処理部、209 データ処理完了通知部、210 メッセージ生成部、211 障害検知部。
Claims (19)
- 複数の計算機が各々に割り当てられているデータ処理を行う分散データ処理システムに用いられる計算機であって、
自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得するデータ処理開始指示取得部と、
前記データ処理開始指示取得部によりデータ処理開始指示が取得された際に、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断するデータ処理完了判断部と、
前記データ処理完了判断部により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、前記データ処理完了判断部により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留するデータ処理部と、
前記データ処理部により自計算機データ処理が完了した際に、自計算機データ処理が完了したことを他の計算機に通知するデータ処理完了通知部とを有することを特徴とする計算機。 - 前記計算機は、更に、
前記複数の計算機間で情報を共有するための分散共有メモリ装置を有し、
前記データ処理完了判断部は、
前記分散共有メモリ装置の情報を参照して、先行データ処理が他の計算機で完了しているか否かを判断し、
前記データ処理完了通知部は、
前記分散共有メモリ装置に自計算機データ処理が完了したことを書き込むことで、他の計算機に自計算機データ処理が完了したことを通知することを特徴とする請求項1に記載の計算機。 - 前記データ処理開始指示取得部は、
前記分散共有メモリ装置から、前記分散共有メモリ装置に書き込まれたデータ処理開始指示を取得することを特徴とする請求項2に記載の計算機。 - 前記計算機は、
通常時にデータ処理を行う常用系計算機と、常用系計算機の障害時に常用系計算機に代わって常用系計算機に割り当てられているデータ処理を行う待機系計算機とが対となり、対となる常用系計算機及び待機系計算機が共通のデータ処理開始指示を取得する分散データ処理システムにおける常用系計算機であり、
前記計算機は、更に、
前記データ処理完了通知部により自計算機のデータ処理が完了したことが通知された後に、対となる対応待機系計算機に対して、前記対応待機系計算機が取得したデータ処理開始指示を破棄するよう指示する破棄指示部を有することを特徴とする請求項1〜3のいずれかに記載の計算機。 - 前記データ処理完了判断部は、
前記データ処理部により自計算機データ処理が保留された後に、先行データ処理が他の常用系計算機及び前記他の常用系計算機と対になる待機系計算機のいずれかで完了しているか否かを判断し、
前記データ処理部は、
前記データ処理完了判断部により先行データ処理が前記他の常用系計算機で完了していると判断された場合に自計算機データ処理を行い、前記データ処理完了判断部により先行データ処理が前記他の常用系計算機と対になる待機系計算機で完了していると判断された場合に自計算機データ処理を行わずに前記データ処理開始指示取得部により取得されたデータ処理開始指示を破棄することを特徴とする請求項4に記載の計算機。 - 各々に割り当てられているデータ処理を行う複数の常用系計算機と、対となる常用系計算機の障害時に常用系計算機に代わって常用系計算機に割り当てられているデータ処理を行う複数の待機系計算機とが含まれる分散データ処理システムにおいて待機系計算機として動作する計算機であって、
対となる対応常用系計算機における障害を検知する障害検知部と、
前記障害検知部により前記対応常用系計算機における障害が検知された際に、前記対応常用系計算機において前記対応常用系計算機に割り当てられている対応常用系データ処理が完了しているか否かを判断するデータ処理完了判断部と、
前記データ処理完了判断部により前記対応常用系計算機において対応常用系データ処理が完了していないと判断された場合に対応常用系データ処理を行うデータ処理部と、
前記データ処理部により対応常用系データ処理が完了した際に、対応常用系データ処理が完了したことを他の計算機に通知するデータ処理完了通知部とを有することを特徴とする計算機。 - 前記計算機は、更に、
前記複数の常用系計算機及び待機系計算機間で情報を共有するための分散共有メモリ装置を有し、
前記データ処理完了判断部は、
前記分散共有メモリ装置の情報を参照して、前記対応常用系計算機において対応常用系データ処理が完了しているか否かを判断し、
前記データ処理完了通知部は、
前記分散共有メモリ装置に対応常用系データ処理が完了したことを書き込むことで、他の計算機に対応常用系データ処理が完了したことを通知することを特徴とする請求項6に記載の計算機。 - 各々に割り当てられているデータ処理を行う複数の常用系計算機と、対となる常用系計算機の障害時に常用系計算機に代わって常用系計算機に割り当てられているデータ処理を行う一つ以上の待機系計算機とが含まれる分散データ処理システムであって、
各常用系計算機は、
自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得し、
データ処理開始指示を取得した際に、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断し、
先行データ処理が完了していると判断した場合に自計算機データ処理を行い、先行データ処理が完了していないと判断した場合に自計算機データ処理を保留し、
自計算機データ処理が完了した際に、自計算機データ処理が完了したことを他の計算機に通知し、
自計算機のデータ処理が完了したことを通知した後に、対となる対応待機系計算機に対して、前記対応待機系計算機が取得したデータ処理開始指示を破棄するよう指示し、
各待機系計算機は、
対となる対応常用系計算機に対するデータ処理開始指示を取得し、
前記対応常用系計算機における障害を検知しない場合は、前記対応常用系計算機からの破棄指示に基づき、前記対応常用系計算機に対するデータ処理開始指示を破棄し、
前記対応常用系計算機における障害を検知した場合に、前記対応常用系計算機において前記対応常用系計算機に割り当てられている対応常用系データ処理が完了しているか否かを判断し、
前記対応常用系計算機において対応常用系データ処理が完了していないと判断した場合に対応常用系データ処理を行い、
対応常用系データ処理が完了した際に、対応常用系データ処理が完了したことを他の計算機に通知することを特徴とする分散データ処理システム。 - 各計算機は、
複数の計算機間で情報を共有するための分散共有メモリ装置を有し、
各常用系計算機は、
前記分散共有メモリ装置の情報を参照して、先行データ処理が他の計算機で完了しているか否かを判断し、
前記分散共有メモリ装置に自計算機データ処理が完了したことを書き込むことで、他の計算機に自計算機データ処理が完了したことを通知し、
各待機系計算機は、
前記分散共有メモリ装置の情報を参照して、前記対応常用系計算機において対応常用系データ処理が完了しているか否かを判断し、
前記分散共有メモリ装置に対応常用系データ処理が完了したことを書き込むことで、他の計算機に対応常用系データ処理が完了したことを通知することを特徴とする請求項8に記載の分散データ処理システム。 - 前記分散データ処理システムは、
一つの常用系計算機に対して二以上の待機系計算機が対となることを特徴とする請求項8又は9に記載の分散データ処理システム。 - 前記分散データ処理システムは、
二以上の常用系計算機に対して一つの待機系計算機が対となることを特徴とする請求項8又は9に記載の分散データ処理システム。 - 前記分散データ処理システムは、
二以上の常用系計算機に対して二以上の待機系計算機が対となることを特徴とする請求項8又は9に記載の分散データ処理システム。 - 前記分散データ処理システムは、
各計算機を接続するネットワークが多重化されていることを特徴とする請求項8〜12のいずれかに記載の分散データ処理システム。 - 前記分散データ処理システムは、
二以上の常用系計算機及び前記二以上の常用系計算機と対になる待機系計算機を計算機グループとし、
計算機グループごとに、計算機グループに含まれる複数の計算機間で情報を共有するための分散共有メモリ装置が配置されていることを特徴とする請求項9に記載の分散データ処理システム。 - 各計算機は、
前記分散共有メモリ装置から、前記分散共有メモリ装置に書き込まれたデータ処理開始指示を取得することを特徴とする請求項9に記載の分散データ処理システム。 - 複数の計算機が各々に割り当てられているデータ処理を行う分散データ処理システムに用いられる計算機のデータ処理方法であって、
前記計算機が、自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得するデータ処理開始指示取得ステップと、
前記データ処理開始指示取得ステップによりデータ処理開始指示が取得された際に、前記計算機が、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断するデータ処理完了判断ステップと、
前記データ処理完了判断ステップにより先行データ処理が完了していると判断された場合に、前記計算機が、自計算機データ処理を行い、前記データ処理完了判断ステップにより先行データ処理が完了していないと判断された場合に、前記計算機が、自計算機データ処理を保留するデータ処理ステップと、
前記データ処理ステップにより自計算機データ処理が完了した際に、前記計算機が、自計算機データ処理が完了したことを他の計算機に通知するデータ処理完了通知ステップとを有することを特徴とするデータ処理方法。 - 各々に割り当てられているデータ処理を行う複数の常用系計算機と、対となる常用系計算機の障害時に常用系計算機に代わって常用系計算機に割り当てられているデータ処理を行う複数の待機系計算機とが含まれる分散データ処理システムにおいて待機系計算機として動作する計算機のデータ処理方法であって、
前記計算機が、対となる対応常用系計算機における障害を検知する障害検知ステップと、
前記障害検知ステップにより前記対応常用系計算機における障害が検知された際に、前記計算機が、前記対応常用系計算機において前記対応常用系計算機に割り当てられている対応常用系データ処理が完了しているか否かを判断するデータ処理完了判断ステップと、
前記データ処理完了判断ステップにより前記対応常用系計算機において対応常用系データ処理が完了していないと判断された場合に、前記計算機が、対応常用系データ処理を行うデータ処理ステップと、
前記データ処理ステップにより対応常用系データ処理が完了した際に、前記計算機が、対応常用系データ処理が完了したことを他の計算機に通知するデータ処理完了通知ステップとを有することを特徴とするデータ処理方法。 - 複数の計算機が各々に割り当てられているデータ処理を行う分散データ処理システムに用いられる計算機に、
自計算機に割り当てられている自計算機データ処理の開始を指示するデータ処理開始指示を取得するデータ処理開始指示取得手順と、
前記データ処理開始指示取得手順によりデータ処理開始指示が取得された際に、自計算機データ処理の前の処理となる先行データ処理が他の計算機で完了しているか否かを判断するデータ処理完了判断手順と、
前記データ処理完了判断手順により先行データ処理が完了していると判断された場合に自計算機データ処理を行い、前記データ処理完了判断手順により先行データ処理が完了していないと判断された場合に自計算機データ処理を保留するデータ処理手順と、
前記データ処理手順により自計算機データ処理が完了した際に、自計算機データ処理が完了したことを他の計算機に通知するデータ処理完了通知手順とを実行させることを特徴とするプログラム。 - 各々に割り当てられているデータ処理を行う複数の常用系計算機と、対となる常用系計算機の障害時に常用系計算機に代わって常用系計算機に割り当てられているデータ処理を行う複数の待機系計算機とが含まれる分散データ処理システムにおいて待機系計算機として動作する計算機に、
対となる対応常用系計算機における障害を検知する障害検知手順と、
前記障害検知手順により前記対応常用系計算機における障害が検知された際に、前記対応常用系計算機において前記対応常用系計算機に割り当てられている対応常用系データ処理が完了しているか否かを判断するデータ処理完了判断手順と、
前記データ処理完了判断手順により前記対応常用系計算機において対応常用系データ処理が完了していないと判断された場合に対応常用系データ処理を行うデータ処理手順と、
前記データ処理手順により対応常用系データ処理が完了した際に、対応常用系データ処理が完了したことを他の計算機に通知するデータ処理完了通知手順とを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007131905A JP2008287512A (ja) | 2007-05-17 | 2007-05-17 | 計算機及び分散データ処理システム及びデータ処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007131905A JP2008287512A (ja) | 2007-05-17 | 2007-05-17 | 計算機及び分散データ処理システム及びデータ処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008287512A true JP2008287512A (ja) | 2008-11-27 |
Family
ID=40147169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007131905A Pending JP2008287512A (ja) | 2007-05-17 | 2007-05-17 | 計算機及び分散データ処理システム及びデータ処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008287512A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170572A (ja) * | 2010-02-18 | 2011-09-01 | Hitachi Ltd | メッセージ配信システム及びメッセージ配信方法 |
JP2015095075A (ja) * | 2013-11-12 | 2015-05-18 | 富士通株式会社 | ジョブ管理プログラム、ジョブ管理方法及びジョブ管理装置 |
-
2007
- 2007-05-17 JP JP2007131905A patent/JP2008287512A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170572A (ja) * | 2010-02-18 | 2011-09-01 | Hitachi Ltd | メッセージ配信システム及びメッセージ配信方法 |
JP2015095075A (ja) * | 2013-11-12 | 2015-05-18 | 富士通株式会社 | ジョブ管理プログラム、ジョブ管理方法及びジョブ管理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5851503B2 (ja) | 高可用性仮想機械環境におけるアプリケーションの高可用性の提供 | |
US9197504B2 (en) | Enhanced remote presence | |
JP2019185371A (ja) | サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム | |
CN103677659A (zh) | 信息处理设备和复制控制方法 | |
US9798615B2 (en) | System and method for providing a RAID plus copy model for a storage network | |
CN108874441B (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
JP4322240B2 (ja) | 再起動方法、システム及びプログラム | |
CN107817951A (zh) | 一种实现Ceph集群融合的方法及装置 | |
CN110121694B (zh) | 一种日志管理方法、服务器和数据库系统 | |
US9830263B1 (en) | Cache consistency | |
CN110740145A (zh) | 消息消费方法、装置、存储介质及电子设备 | |
JP2009009448A (ja) | データ送信装置及びデータ送信方法及びプログラム | |
US10169441B2 (en) | Synchronous data replication in a content management system | |
JP2008287512A (ja) | 計算機及び分散データ処理システム及びデータ処理方法及びプログラム | |
US9081614B2 (en) | Managing shared resources in a multi-computer system with failover support | |
US8977892B2 (en) | Disk control apparatus, method of detecting failure of disk apparatus, and recording medium for disk diagnosis program | |
JP2011076344A (ja) | 情報処理装置,情報処理装置の制御方法および制御プログラム | |
JP4259390B2 (ja) | 並列演算処理装置 | |
JP2015118493A (ja) | トレース装置及びトレースプログラム | |
JP5335150B2 (ja) | 計算機装置及びプログラム | |
US8365008B2 (en) | Providing unsolicited global disconnect requests to users of storage | |
JP2012194930A (ja) | 障害解析情報収集装置 | |
JP2006079485A (ja) | 電子計算機における障害解析用情報収集方式 | |
JP2017151511A (ja) | 情報処理装置、動作ログ取得方法および動作ログ取得プログラム | |
JP2010026626A (ja) | データを記録する方法、システム及びプログラム |