Nothing Special   »   [go: up one dir, main page]

JP2005050298A - 計算機システム、計算機、データ通信方法及びプログラム - Google Patents

計算機システム、計算機、データ通信方法及びプログラム Download PDF

Info

Publication number
JP2005050298A
JP2005050298A JP2004008788A JP2004008788A JP2005050298A JP 2005050298 A JP2005050298 A JP 2005050298A JP 2004008788 A JP2004008788 A JP 2004008788A JP 2004008788 A JP2004008788 A JP 2004008788A JP 2005050298 A JP2005050298 A JP 2005050298A
Authority
JP
Japan
Prior art keywords
data
node
nodes
transmission
transaction
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.)
Granted
Application number
JP2004008788A
Other languages
English (en)
Other versions
JP4551662B2 (ja
Inventor
Yoshifumi Sakai
良文 坂井
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.)
NS Solutions Corp
Original Assignee
NS Solutions 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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP2004008788A priority Critical patent/JP4551662B2/ja
Publication of JP2005050298A publication Critical patent/JP2005050298A/ja
Application granted granted Critical
Publication of JP4551662B2 publication Critical patent/JP4551662B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】 複数のノードを用いてトランザクション処理を実行している際に、或るノードがトランザクション受信時において故障した場合でも、他のノードにも同一のトランザクションを事前に発信しておくことで、処理を手戻りさせることなくシステムダウンを回避し、システムの可用性を向上させる。
【解決手段】 ノード1−1は、データ発信先として複数のノードを規定したルール表を参照することより、データ発信先となる複数のノード2−1、2−2を特定し、同一のトランザクションカプセルをノード2−1、2−2に対して発信する。
【選択図】 図1

Description

本発明は、通信ネットワークを介して複数のノードを相互に接続した計算機システムに適用される技術である。
近年、ATMシステム等のミッションクリティカルな計算機システムにおいて、安価なコストで可用性を向上させるために冗長性を利用するものが提案されている。
例えば、特許文献1に開示された発明では、通常メインフレームで行うトランザクション処理を複数のノードを用いて行うことで、何れかのノードが故障した場合でも他の正常なノードがトランザクション処理を代替することによりシステムダウンを回避している。
特許第3062155号公報
しかしながら、上記従来例によれば、複数のノードに対して単一のトランザクションのみを発信しているので、例えば、トランザクションを受信したノードがその受信時において故障した場合、他のノードへのトランザクション処理の振替が不可能となる。従って、システムダウンを回避するためには、当該故障したノードの前段のノードからトランザクションを再発行させる処理の手戻りが必要であった。
従って、本発明の目的は、複数のノードを用いてトランザクション処理を実行している際に、或るノードがトランザクション受信時において故障した場合でも、他のノードにも同一のトランザクションを事前に発信しておくことで、処理を手戻りさせることなくシステムダウンを回避し、システムの可用性を向上させることにある。
斯かる目的を達成するために、本発明の計算機システムは、通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、当該計算機システムは、前記各ノードにつきデータ発信先として複数のノードを規定したルール表を備え、前記各ノードは、受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、前記ルール表を参照することによりデータ発信先となる複数のノードを特定し、前記発信用データ生成手段により生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信手段とを夫々有することを特徴とする。
また、本発明の計算機は、通信ネットワークを介して複数のノードと相互に接続された計算機であって、受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、夫々のノードにつきデータ発信先として複数のノードを規定したルール表を参照することにより、データ発信先となる複数のノードを特定し、前記発信用データ生成手段により生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信手段とを有することを特徴とする。
また、本発明のデータ通信方法は、通信ネットワークを介して複数のノードと相互に接続された計算機によるデータ通信方法であって、受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成ステップと、夫々のノードにつきデータ発信先として複数のノードを規定したルール表を参照することにより、データ発信先となる複数のノードを特定し、前記発信用データ生成ステップにより生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信ステップとを含むことを特徴とする。
さらに、本発明のプログラムは、前記データ通信方法をコンピュータに実行させることを特徴とする。
また、本発明の計算機システムの他の態様は、通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、当該計算機システムは、前記各ノード夫々が属するグループを規定するとともに、前記各ノードの一部又は全部のノード夫々について当該ノードが属するグループとは異なる予備的な一又は複数のグループを規定するルール表を備え、前記各ノードは、受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、前記ルール表上において当該ノードのデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された同一の発信用データを送信するデータ発信手段とを有し、前記データ発信手段は、当該計算機システムのデータ通信処理に係る障害状態に応じて、該当するノードを、前記ルール表上にて規定される前記予備的な一又は複数のグループのノードとして用いて同一の発信用データを送信することを特徴とする。
また、本発明の計算機システムの更に他の態様は、通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、当該計算機システムは、前記各ノードの全部のノード夫々について当該ノードが属する複数のグループを規定する、又は、前記各ノードの一部のノード夫々について当該ノードが属する複数のグループを規定するとともに前記各ノードの他のノード夫々について当該ノードが属する単数のグループを規定するルール表を備え、前記各ノードは、受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、前記ルール表上において当該ノードのデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された同一の発信用データを送信するデータ発信手段とを有し、前記データ発信手段は、当該計算機システムのデータ通信処理に係る障害状態に応じて、該当するノードを、前記ルール表上にて規定される複数のグループ間で切り替えて用いて同一の発信用データを送信することを特徴とする。
本発明によれば、各計算機から同一の発信用データを複数の計算機に対して多重化させて発信するように構成したので、複数の計算機を用いてトランザクション処理を実行している際に、或る計算機がデータ受信時において故障した場合でも、他の計算機にも同一のデータを事前に発信しておくことで、処理を手戻りさせることなくシステムダウンを回避し、システムの可用性を向上させることが可能となる。
図1は、本発明に適用可能な計算機システムの一構成例を示した図である。図1を用いて本発明の基本的な概念を説明する。
図1に示す計算機システムは、パーソナル・コンピュータ等の比較的安価な計算機(以下、ノードと称す)を複数備えて構成され、通信ネットワークを介して各ノードが相互に接続される。各ノードには、夫々属するグループが予め設定されており、グループ間でトランザクションの送受信を行う。図1の例では、ノード1−1、1−2がグループ1に属し、ノード2−1、2−2がグループ2に属する。
尚、以下の説明においては、個々の計算機を夫々ノードとして表現するが、本発明においては、トランザクション処理に係るプロセスを担う機能もノードの概念に包含してもよい。例えば、一計算機内にトランザクション処理に係るプロセスが複数存在する場合、当該計算機内にはそのプロセス数に対応した数のノードを備えることになる。
先ず、クライアント端末(不図示)からデータベースサーバ(図1中、DBと表記)に対してトランザクションが送信される際の動作について説明する。以下では、クライアント端末からデータベースサーバへトランザクションが送信されるまでの処理期間を、「送信処理時」と称す。
<送信処理時>
図1に示すように、ノード1−1は、例えば、本計算機システムの外部に設置されるクライアント端末から一本のトランザクション1(TR1)を受信すると、TR1の実データを含むトランザクションカプセル(発信用データ)を生成し、グループ2に対して同一のトランザクションカプセルを多重化させて発信する。
トランザクションカプセル内には、このトランザクションカプセルの多重化処理等を実行する上でのルールを識別するための情報が含まれており、各ノードは、該当するルールについて所定のルール表を参照し、多重化処理の内容等を特定して実行する。ここでは、ノード1−1からの同一トランザクションの送付先としてノード2−1、2−2がルール表上において規定されているものとする。従って、ノード2−1、2−2は、ノード1−1から同一のトランザクションカプセルをともに受信することになる。
従来は、ノード間において送受信されるトランザクションは常に一本であったため、トランザクションを受信したノードがその受信時において故障した場合は、そのノードからトランザクションを発信させることができず、システムダウンを来す。また、システムダウンを回避するためには、前段(データベースサーバからみて下流)のノードから同じトランザクションを再発行させる処理の手戻りが必要であった。
これに対して、本発明を適用した図1の計算機システムの例では、例えば、ノード2−1がトランザクションカプセル受信時において故障した場合、ノード2−2もともに同一のトランザクションカプセルを受信しているので、ノード2−2を用いて以降のトランザクション処理を続行することが可能となる。その反対に、ノード2−2が故障した場合でも、ノード2−1がノード2−2を代替することによりトランザクション処理の継続させることが可能となる。従って、図1に示す計算機システムの例によれば、処理を手戻させることなくシステムダウンを回避することが可能となる。
続いて、ノード2−1、2−2は、互いに他方のノードから既にTR1の実データを含むトランザクションカプセルが発信済みであるか否かを判断し、その判断結果に応じて自ノードのトランザクションカプセルの発信処理を制御する。この発信処理の制御によって、ノード2−1、2−2のうちの何れか一方がトランザクションカプセルの発信元として選ばれる。
ここでは、ノード2−1がデータベースサーバに対してトランザクションカプセルを送信したものとする。データベースサーバは、ノード2−1からトランザクションカプセルを受信すると、トランザクションカプセル内のトランザクション実データに対して所定のデータ処理を施し、その結果を内部に保持する。
<受信処理時>
以降は、データベースサーバからクライアント端末へトランザクションが返信されることになる。以下では、データベースサーバからクライアント端末へトランザクションが返信されるまでの処理期間を、「受信処理時」と称す。
データベースサーバは、処理後のトランザクション実データを含むトランザクションカプセルをノード2−1に返信する。ノード2−1は、同じく上記ルール表を参照し、トランザクションカプセルを多重化させてグループ1のノード1−1、1−2に対して送信する。
ノード1−1、1−2は、互いに他方のノードから既に処理後のTR1を含むトランザクションカプセルが発信済みであるか否かを判断し、その判断結果に応じて自ノードのトランザクションカプセルの発信処理を制御する。この発信処理の制御によって、ノード1−1、1−2のうちの何れか一方がトランザクションカプセルの発信元として選ばれる。ここでは、図1に示すように、ノード1−1からクライアント端末に対してトランザクションカプセルが送信されたものとする。
尚、ノード1−1からクライアント端末へのデータ返信時においては、トランザクションカプセルをそのまま送信し、クライアント端末側で処理後のTR1以外のデータを取り除く構成としてもよいし、予めノード1−1側で処理後のTR1以外のデータを取り除いた後にクライアント端末に対して送信するように構成してもよい。
このように、受信処理時においても、後段(データベースサーバからみて下流)のノードに対して同一トランザクションカプセルを多重化させて送信している。従って、例えば、ノード1―1がトランザクションカプセル受信時において故障した場合、ノード1−2をノード1−1の代替手段としてトランザクション処理を継続することが可能となる。その反対もまた同様である。よって、トランザクション受信時において当該ノードが故障した場合でも、処理を手戻りさせることなく、システムダウンを回避することが可能となる。
<ノード内部構成>
図2は、本発明の一実施形態に係るノードの機能構成を模式的に示した図である。
図2に示すように、各ノード201は、発信コントロールエンジン202、ディストリビュータ204、同期プロセス205及びHAエンジン206を備える。発信コントロールエンジン202は、受信データがルール番号等を含むトランザクションカプセルである場合は、トランザクションカプセルのルール番号を自ノード201固有のルール番号に更新し、受信データがトランザクションカプセルでない場合は、トランザクション実データに対して自ノード201固有のルール番号とともに当該トランザクション固有のトランザクション番号を付加してトランザクションカプセル203を生成する。
ディストリビュータ204は、トランザクションカプセル203内のルール番号に該当するルールをルール表207から参照することにより、トランザクションカプセル203の発信先となる複数のノード、自ノード201の同期先等を特定し、特定した複数のノードに対するトランザクションカプセル203の発信処理、同一グループ内の他のノードへの同期情報の送信処理等を実行する。尚、同期情報とは、同期情報の送信元となる自ノード201のデータ発信処理状況を示す情報である。
また、ノード201は、ディストリビュータ204による自らのトランザクションカプセル発信処理に関する履歴情報を記録するためのメインキュー208、及び、同一グループ内の他のノードからの同期情報を記録するためのサブキュー209を備える。このサブキュー209は、同一グループに属する他のノード毎に備えられ、データを記録するための基本的なテーブル構造はメインキュー208と同じである。
同期プロセス205は、同一グループ内の他のノードから受信した同期情報を該当するサブキュー209に登録する。サブキュー209内に登録された同期情報は、トランザクションカプセル発信処理前においてディストリビュータ204によって参照される。ディストリビュータ204は、サブキュー209を参照することにより、同一グループ内の他のノードのデータ発信処理状況を判断し、その判断結果に応じて自らのデータ発信処理を制御する。
HAエンジン206は、ディストリビュータ204によりトランザクションカプセル203が発信される前に、発信先の各ノード201に対して稼働状況を問い合わせ、その問い合わせ結果に応じてトランザクションカプセル203の発信先を切り替える。これにより、稼働状態に異変のあるノード201に対するトランザクションカプセル発信処理を事前に回避することが可能となる。
また、HA(High Availability)エンジン206は、受信処理時において、トランザ
クションカプセル203の通信状態の滞り、トランザクションカプセル203の紛失等を上流又は下流のノード201に対して問い合わせ、その問い合わせ結果に応じて、トランザクションカプセル203の再発行を要求する。
<ルール表の構成>
図11は、図2内のルール表207を概念的に示した図である。
図11に示すルール表207上では、各ノード201のルール番号が登録されている。各ルール番号には、送信処理時におけるトランザクションカプセルの送付先及びHA先、受信処理時におけるトランザクションカプセルの返信先及びHA先、同一グループ内における同期先、HAエンジン206による稼働状況の問い合わせ(確認)周期、並びに、その問い合わせ処理による異変検出時の対応方法が対応付けて登録されている。なお、図11では「送付先」や「HA先」などについては「2−1」、「2−2」などと記載しているが、実際には、各ノードを特定できるようなIPアドレス等を用いて記載しておく。
各ノード201は、図11に示すようなルール表207を自ノード201固有のルール番号について参照することにより、トランザクションカプセルの発信先や同期先等を判断する。尚、本計算機システムは、各ノードと通信ネットワークを介して不図示の通信装置と接続され、当該通信装置内において単一のルール表207が備えられている。各ノードは逐次通信装置にアクセスすることにより、ルール表207を参照することができる。
ところで、一般に、トランザクション保護を厚くすると処理速度は低下し、反対に処理速度の向上を図るとトランザクションの保護は薄くなる。本実施形態においても、トランザクションの保護を図るために、複数ノードに同一トランザクションカプセルを発信しており、それに伴って送付先グループでは同期処理等が必要となって処理速度の低下を招く虞がある。しかしながら、ルール表207を適宜変更することによって、トランザクションの保護の厚さとシステム全体の処理速度とのバランスをきめ細かく調整することが可能となる。
図11のルール表207を用いて具体的に説明すると、ノード1−1に該当するルール番号1001のルール内の送付先を、2−1、2−2から2−1の一つのノードに変更した場合、ノード1−1が受信したトランザクションに対する保護は薄くなり、その分、後段のグループ2の同期処理における負荷が低下し、処理速度は向上する。また、ノード1−2に該当するルール番号1002のルール内の送付先を、2−2、2−3に更に他のノード(例えば、ノード2−4(不図示))を追加変更した場合、ノード1−2が受信したトランザクションに対する保護は厚くなり、その分、後段のグループ2の同期処理における負荷は増加し、処理速度は低下する。このように、各ノード201に該当するルール内容を適宜変更することによって、トランザクション保護の厚さとシステム全体の処理速度とのバランスをきめ細かく調整することが可能となる。
また、図11の例では、各ノード201につき一つのルールを割り当てているが、一つのノード201につき複数種のルールをルール表207上で定義し、参照するルールを各ノード201において選択できるように構成しても良い。
図3は、送信処理時におけるノード201間のトランザクション処理の流れを示した図、図4は、受信処理時におけるノード201間のトランザクション処理の流れを示した図である。また、図12は、発信コントロールエンジン202の処理動作を示したフローチャート、図13は、ディストリビュータ204の処理動作を示したフローチャート、図14は、同期プロセスの処理動作を示したフローチャートである。
以下、図3及び図4並びに図12〜図14を参照しながら、図11のルール表207に基づく本実施形態に係るトランザクション処理の流れを説明する。
<送信処理時のグループ1の動作>
−送信処理時のノード1−1の動作−
ノード1−1は、クライアント端末(不図示)から一本のトランザクションを受信すると(図3の301、図12のステップS1201)、発信コントロールエンジン202を起動させる。発信コントロールエンジン202は、受信データがトランザクションカプセルであるか否かをトランザクション番号及びルール番号の有無により判断する(図12のステップS1202)。クライアント端末からの受信データにはトランザクション番号等は付加されていないため、発信コントロールエンジン202は、図12のステップS1203に処理を移行する。
ステップS1203では、発信コントロールエンジン202は、受信トランザクション固有のトランザクション番号(ここでは、1)とノード1−1固有のルール番号1001を受信トランザクションの実データに付加し、トランザクションカプセル203を生成する(図12のステップS1203)。
ここで、全てのトランザクションについてグループ1のノードによってトランザクション番号が付与される。トランザクション番号は夫々のトランザクション毎に固有の番号でなければならない。そのために、グループ1のノードが夫々異なるトランザクション番号表を備え、各ノードがトランザクションを受信する度にトランザクション番号表から順次トランザクション番号を選択し、トランザクションに対して付与するように構成してもよい。
続いて、発信コントロールエンジン202がトランザクションカプセル203を生成したことを受け(図13のステップS1301)、ディストリビュータ204が起動する。ディストリビュータ204は、サブキュー209を参照し、トランザクションカプセル203と同一のトランザクション番号1のキューがノード1−2、1−3用サブキュー209内に存在するか否かを判断する(図13のステップS1302)。
送信処理時におけるトランザクション番号1のトラザクションカプセル発信処理はノード1−1のみによって行われるため、ノード1−2、1−3用サブキュー209内にトランザクション番号1のキューは存在しない。従って、ディストリビュータ204は、ルール表207からルール番号1001に該当するルールを参照し(図13のステップS1304)、トランザクションカプセル203の送付先を特定する。
図11に示すように、送信処理時におけるルール番号1001に該当するルールでは、トランザクションカプセル203の送付先としてノード2−1、2−2が定められている。よって、ディストリビュータ204は、トランザクションカプセル203の送付先をノード2−1、2−2と特定する。
ディストリビュータ204によりトランザクションカプセル203の送付先が特定されると、HAエンジン205が起動し、トランザクションカプセル203の送付先として特定されたノード2−1、2−2に対して稼働状態を問い合わせる。ここでは、問い合わせの結果、稼働状態に異変が検知されなかったものとする。従って、ディストリビュータ204は、HAエンジン205により稼働状態の異変が検知されなかったことを受けて(図13のステップS1305/NO)、当初の予定通り、トランザクションカプセル203をノード2−1、2−2に対して同時に送付する(図3の302、図13のステップS1307)。
尚、HAエンジン205による上記問い合わせの結果、ノード2−1、2−2の稼働状態に異変が検知された場合に実行されるHA処理については、後述する。
続いて、ディストリビュータ204は、今回のトランザクションカプセル203の送付処理に関する履歴情報をメインキュー208内に記録する(図13のステップS1308)。図7(a)は、ノード1−1のメインキュー208及びノード1−2(1−3)のノード1−1用サブキュー209の初期状態例を示している。
ディストリビュータ204は、例えば、図7(a)に示すメインキュー208に対して、送付したトランザクションカプセルと同一内容のデータ、即ちトランザクション番号1、ルール番号1001及びトランザクションの実データ(内容)とともに、ノード2−1及びノード2−2に対するトランザクションカプセルの送信時間をメインキュー208内に登録する(図7(b))。
さらに、ディストリビュータ204は、メインキュー208内において登録(更新)したキューと同一内容のデータ(トランザクション番号1、ルール番号1001、トランザクションの実データ、送信時間)を同期情報としてノード1−2、1−3に対して送信する(図3の303、図13のステップS1309)。このデータ送信処理は、同一グループ内の他のノード1−2、1−3との同期処理として実行される。
この同期情報の送信処理は、ディストリビュータ204が事前にルール番号1001に対応するルールをルール表207から参照することによって行われている。即ち、図11のルール表207上では、ルール番号1001に関しては同期先としてノード1−2、1−3が規定されている。従って、ディストリビュータ204は、ルール表207を参照することにより、ノード1−2、1−3を同期情報の送信先として特定し、同期情報をそれらのノードに対して送信している。
−送信処理時のノード1−2、1−3の動作−
一方、ノード1−2、1−3は、ノード1−1から上記同期情報を受信すると(図14のステップS1401)、同期プロセス205を起動させる。同期プロセス205は、同期情報と同一のトランザクション番号1のキューがノード1−1用サブキュー209内に既に登録されているか否かを判断する(図14のステップS1402)。ここでは、同期情報と同一のトランザクション番号1を含むキューは未だサブキュー209内において登録されていないので、ノード1−2、1−3の同期プロセス205は、図7(c)に示すように、ノード1−1用サブキュー209内に同期情報を新規登録する(図14のステップS1403)。
<送信処理時のグループ2の動作>
−送信処理時のノード2−1、2−2の動作−
ノード2−1、2−2は、ノード1−1からトランザクションカプセルを受信する(図3の302)。トランザクションカプセルの受信を受けて(図12のステップS1201)、ノード2−1、2−2の発信コントロールエンジン202は起動し、受信データがトランザクションカプセルであるか否かをトランザクション番号及びルール番号の有無に応じて判断する(図12のステップS1202)。
いま、受信データはトランザクションカプセル203であるため、発信コントロールエンジン202は、受信トランザクションカプセル203のルール番号1001を自ノード2−1、2−2固有のルール番号2001、2002に更新する(図12のステップS1204)。即ち、ノード2−1においては、トランザクションカプセル203内のルール番号を1001から2001に更新し、ノード2−2においては、トランザクションカプセル203内のルール番号を1001から2002に更新する。
続いて、ノード2−1、2−2のディストリビュータ204が夫々起動する。先ず、ノード2−1のディストリビュータ204の動作について説明する。
ノード2−1のディストリビュータ204は、ノード2−1内のサブキュー209を参照し、トランザクションカプセル203と同一のトランザクション番号1のキューがノード2−2、2−3用サブキュー209内に存在するか否かを判断する(図13のステップS1302)。
ここでは、ノード2−2からのトランザクション番号1のトランザクションカプセル203送付処理が未だ実行されていないことを前提とするため、ノード2−2用サブキュー209内にトランザクション番号1のキューは存在しない。また、ノード2−3はノード1−1からトランザクション番号1のトランザクションカプセルを受信していないため、ノード2−3によってトランザクション番号1のトランザクションカプセルの送付処理は当然行われず、然るにノード2−3用サブキュー209内にはトランザクション番号1のキューは存在しない。従って、ディストリビュータ204は、ルール表207からルール番号2001に該当するルールを参照し(図13のステップS1304)、トランザクションカプセル203の送付先を特定する。
図11に示すように、送信処理時におけるルール番号2001に該当するルールでは、トランザクションカプセル203の送付先としてノード3−1(データベースサーバ)が規定されている。このように、ディストリビュータ204によって特定されたトランザクションカプセル203の送付先が一つのノードである場合には、HAエンジン206は、異変検知時にトランザクションカプセルの送付先を切り替えるための問い合わせ処理を実行しない。よって、ディストリビュータ204は、図13のステップS1304からステップS1307に処理を移行し、トランザクションカプセル203をノード3−1に対して送信する(図3の304)。
続いて、ディストリビュータ204は、今回のトランザクションカプセル203の発信処理に関する履歴情報をメインキュー208内に記録する(図13のステップS1308)。図8(a)は、ノード2−1のメインキュー208及びノード2−2(2−3)のノード2−1用サブキュー209の初期状態例を示している。ディストリビュータ204は、図8(a)に示すメインキュー208に対して、送付したトランザクションカプセル203と同一内容のデータ、即ちトランザクション番号1、ルール番号2001及びトランザクションの実データ(内容)とともに、ノード3−1に対するトランザクションカプセル203の送信時間をメインキュー208内に登録する(図8(b))。
さらに、ディストリビュータ204は、メインキュー208内に登録したキューと同一内容のデータ(トランザクション番号1、ルール番号2001、トランザクションの実データ、送信時間)を同期情報としてノード2−2、2−3に対して送信する(図3の305、図13のステップS1309)。同じく、このデータ送信処理は、同一グループ2内の他のノード2−2、2−3との同期処理として実行される。
−送信処理時のノード2−2、2−3の動作−
一方、ノード2−2、2−3は、ノード2−1から上記同期情報を受信すると(図3の305、図14のステップS1401)、同期プロセス205を起動させる。先ず、同期プロセス205は、同期情報と同一のトランザクション番号1のキューがノード2−1用サブキュー209内に既に登録されているか否か判断する(図14のステップS1402)。ここでは、トランザクション番号1のキューは未だノード2−1用サブキュー209内において登録されていないので、ノード2−2、2−3の同期プロセス205は、図8(c)に示すように、ノード2−1用サブキュー209に同期情報を新規登録する(図14のステップS1403)。
ノード2−2がノード1−1からトランザクション番号1のトランザクションカプセル203を受信すると(図3の302)、ノード2−2のディストリビュータ204は、サブキュー209を参照することにより、トランザクション番号1のキューがノード2−1用サブキュー209内に登録され、且つ当該キューに送信時間が登録されていることを確認することになる。従って、ノード2−2は、トランザクション番号1のトランザクションカプセル203が同一グループ2内の他のノード2−1から既に送付されているものとして、ノード1−1から受信したトランザクション番号1のトランザクションカプセル203を送付しないように制御する。
以上のように、ノード1−1から同一のトランザクションカプセル203を受信したノード2−1、2−2は、互いに上記発信処理の制御を行うことにより、同一トランザクション実データを含むトランザクションカプセル203が複数ノードから重複して発信されることを防止し、単一のトランザクションカプセルのみが上流のノード(ここでは、データベースサーバ)に対して送信されるようにしている。
ここで、例えば、ノード2−1がトランザクション番号1のトランザクションカプセル203を受信した時点において故障が生じた場合は、ノード2−1からトランザクション番号1のトランザクションカプセル203を発信することが不可能となる。この場合、ノード2−2にはノード2−1から当該トランザクションカプセル送信完了の旨の上記同期情報は送信されず、ノード2−2は、サブキュー209を参照することにより、ノード2−1が未だ当該トランザクションカプセルを送信していないことを把握することができる。従って、ノード2−2は、ノード2−1の代替手段として当該トランザクションカプセルを後段に送信し、トランザクション処理を継続させることが可能となる。
<データベースサーバの動作>
尚、データベースサーバ3−1においては、トランザクション管理の整合性を保つため、一つのトランザクション番号につき複数のトランザクションを保持することは避けなければならない。本実施形態においては、データベースサーバ3−1の前段に属するグループ2の同期処理により、一つのトランザクション番号につき単一のトランザクションカプセルがデータベースサーバ3−1に対して発信するように制御し、データベースサーバ3−1におけるトランザクション管理の整合性確保に供している。
その他に、データベースサーバ3−1の前段のグループ2から一つのトランザクション番号につき複数のトランザクションを受信することをデータベースサーバ3−1が許容し、データベースサーバ3−1側でそのうちの一つのトランザクションを保持するように構成してもよい。即ち、ノード2−1、2−2からトランザクション番号1のトランザクションカプセルを夫々データベースサーバ3−1に対して発信することが可能な状態であるため、ノード2−1、2−2からトランザクション番号1のトランザクションカプセル203が発信され、その発信処理においては、ノード2−1の方がノード2−2より先にトランザクションカプセル203を発信したものとする。
データベースサーバ3−1は、ノード2−1からトランザクションカプセルを受信すると、トランザクション番号1を保持し、以降、同一トランザクション番号1のトランザクションカプセルを受信した場合は、所定のデータ処理を施すことなく削除される。従って、ノード2−2から発信されたトランザクション番号1のトランザクションカプセルは削除されることになる。
続いて、データベースサーバ3−1内では、受信したトランザクションカプセル203のトランザクション実データに対して必要なデータ処理を施し、処理後のトランザクション実データを保持する。また、データベースサーバ3−1は、当該トランザクションカプセル203と同一のルール番号2001のルールをルール表207から参照し、当該トランザクションカプセル203がノード2−1から受信したものであることを認識する。
続いて、データベースサーバ3−1は、処理後のトランザクション実データにトランザクション番号1とルール番号2001を付加したトランザクションカプセル203を生成し、ノード2−1に対して返信する(401)。
<受信処理時のグループ2の動作>
−受信処理時のノード2−1の動作−
ノード2−1は、データベースサーバ3−1からトランザクションカプセル203を受信すると(図4の401、図12のステップS1201)、発信コントロールエンジン202を起動させる。発信コントロールエンジン202は、受信データがトランザクションカプセル203であるか否かをトランザクション番号及びルール番号の有無により判断する(図12のステップS1202)。いま、受信データは、データベースサーバ3−1によって生成されたトランザクションカプセル203であるため、発信コントロールエンジン202は、図12のステップS1204に処理を移行する。
ステップS1204では、発信コントロールエンジン202は、トランザクションカプセル203内のルール番号を自ノード2−1固有のルール番号2001に更新する(本実施形態では、データベースサーバ3−1が送信元のノード2−1に対してトランザクションカプセル203を返信する構成としたので、本ルール番号の更新処理ではルール番号は変更されない)。
続いて、発信コントロールエンジン202がトランザクションカプセル203を生成したことを受け(図13のステップS1301)、ディストリビュータ204が起動する。ディストリビュータ204は、サブキュー209を参照し、トランザクションカプセル203と同一のトランザクション番号1のキューがノード2−2、2−3用サブキュー209に存在するか否かを判断する(図13のステップS1302)。
本実施形態では、送信処理時においてノード2−2、2−3はトランザクション番号1のトランザクションカプセル203の発信処理は行っていないので、ノード2−2、2−3用サブキュー209には、トランザクション番号1のキューは存在しない。従って、ディストリビュータ204は、ルール表207からルール番号2001に該当するルールを参照し(図13のステップS1304)、トランザクションカプセル203の送付先を特定する。
図11に示すように、受信処理時におけるルール番号2001に該当するルールは、トランザクションカプセル203の送付先としてノード1−1、1−2が定められている。よって、ディストリビュータ204は、トランザクションカプセル203の送付先をノード1−1、1−2と特定する。
ディストリビュータ204によりトランザクションカプセル203の送付先が特定されると、HAエンジン205が起動し、トランザクションカプセル203の送付先として特定されたノード1−1、1−2に対して稼働状態を問い合わせる。ここでは、問い合わせの結果、稼働状態に異変が検知されなかったものとする。
ディストリビュータ204は、HAエンジン205により稼働状態の異変が検知されなかったことを受けて(図13のステップS1305)、当初の予定通り、トランザクションカプセル203をノード1−1、1−2に対して同時に返信する(図4の402、図13の1307)。尚、HAエンジン205による上記問い合わせの結果、ノード2−1、2−2の稼働状態に異変が検知された場合の動作については、後述する。
ここで、本実施形態に係る計算機システムでは、説明の簡単のため、トランザクション番号1のトランザクションカプセルのみが通信されており、他のトランザクション番号のトランザクションカプセルは送受信されていないことを前提としている。よって、図9(a)に示すノード2−1のメインキュー208及びノード2−2(2−3)のノード2−1用サブキュー209は、図8(c)と同一である。
ディストリビュータ204は、今回のトランザクションカプセル203の返信処理に関する履歴情報をメインキュー208内に記録する(図13のステップS1308)。即ち、図9(b)に示すように、ディストリビュータ204は、トランザクション番号1のキューに受信時間を登録する。
さらに、ディストリビュータ204は、メインキュー208内において更新したキューと同一内容のデータ(トランザクション番号、ルール番号、トランザクションの実データ、送信時間及び受信時間)を同期情報としてノード2−2、2−3に対して送信する(図4の403、図13のステップS1309)。このデータ送信処理は、同一グループ2内の他のノード2−2、2−3との同期処理として実行される。
−受信処理時のノード2−2、2−3の動作−
一方、ノード2−2、2−3は、ノード2−1から上記同期情報を受信すると(図4の403、図14のステップS1401)、同期プロセス205を起動させる。先ず、同期プロセス205は、同期情報と同一のトランザクション番号1のキューがノード2−1用サブキュー209内に既に登録されているか否かを判断する(図14のステップS1402)。
ここでは、送信処理時におけるノード2−1からの同期情報により、ノード2−2、2−3のノード2−1用サブキュー内に既にトランザクション番号1のキューが既に登録されている。従って、ノード2−2、2−3の同期プロセス205は、図9(c)に示すように、ノード2−1用サブキュー209内のトランザクション番号1のキュー内に受信時間を追加登録する(図14のステップS1404)。
<受信処理時のグループ1の動作>
−受信処理時のノード1−1の動作−
ノード1−1、1−2は、ノード2−1から同一のトランザクションカプセル203をともに受信する(図4の402)。先ず、ノード1−1の動作について説明すると、ノード2−1からのトランザクションカプセル203の受信を受けて(図12のステップS1201)、ノード1−1の発信コントロールエンジン202は起動し、受信データがトランザクションカプセルであるか否かを判断する(図12のステップS1202)。
いま、受信データはトランザクションカプセル203であるため、発信コントロールエンジン202は、受信トランザクションカプセル203のルール番号2001を自ノード1−1固有のルール番号1001に更新する(図12のステップS1204)。
続いて、ディストリビュータ204が起動し、ノード1−1内のサブキュー209を参照し、トランザクションカプセル203と同一のトランザクション番号1のキューがノード1−2、1−3用サブキュー内に存在するか否かを判断する(図13のステップS1302)。
ここでは、送信処理時においてノード1−2、1−3はトランザクションカプセル発信処理を実行しておらず、且つ、受信処理時における当該トランザクションカプセル203の返信処理がノード1−2によって未だ実行されていないことを前提とするため、ノード1−2、ノード1−3用サブキューには、トランザクション番号1のキューは存在しない。従って、ディストリビュータ204は、ルール表207からルール番号1001に該当するルールを参照し(図13のステップS1304)、トランザクションカプセル203の返信先を特定する。
図11に示すように、受信処理時におけるルール番号1001に該当するルールでは、トランザクションカプセル203の返信先を規定していない。これは、トランザクションカプセル203の返信先をクライアント端末としていることを示している。
このように、ルール表207上においてトランザクションカプセル203の返信先が規定されていない場合は、HAエンジン206は、異変検知時にトランザクションカプセルの返信先を切り替えるための問い合わせ処理を実行しない。よって、ディストリビュータ204は、図13のステップS1304からステップS1307に処理を移行し、トランザクションカプセル203をクライアント端末に対して送信する(図4の404)。
ここで、本実施形態に係る計算機システムでは、上記のように説明の簡単のため、トランザクション番号1のトランザクションカプセルのみが通信されていることを前提としているため、図10(a)に示すノード1−1のメインキュー208及びノード1−2及び1−3のサブキュー209は、図7(c)と同一となる。
続いて、ディストリビュータ204は、今回のトランザクションカプセル203の発信処理に関する履歴情報をメインキュー208内に記録する(図13のステップS1308)。即ち、図9(b)に示すように、ディストリビュータ204は、トランザクション番号1のキューに受信時間を登録する。
さらに、ディストリビュータ204は、メインキュー208内において更新したキューと同一内容のデータ(トランザクション番号1、ルール番号1001、トランザクションの実データ、送信時間及び受信時間)を同期情報としてノード1−2、1−3に対して送信する(図4の405)。このデータ送信処理は、同一グループ1内の他のノード1−2、1−3との同期処理として実行される。
−受信処理時のノード1−2、1−3の動作−
一方、ノード1−2、1−3は、ノード1−1から上記同期情報を受信すると(図4の405、図14のステップS1401)、同期プロセス205を起動させる。先ず、同期プロセス205は、同期情報と同一のトランザクション番号1のキューがノード1−1用サブキュー209内に既に登録されているか否かを判断する(図14のステップS1402)。
ノード1−2、1−3は、送信処理時においてノード1−1からトランザクション番号1の同期情報を受信しているため、ノード1−2、1−3内のノード1−1用サブキュー209内には既にトランザクション番号1のキューが登録されている。従って、ノード1−2、1−3の同期プロセス205は、図10(c)に示すように、ノード1−1用サブキュー209内のトランザクション番号1のキュー内に受信時間を追加登録する(図14のステップS1404)。
ノード1−2がノード2−1からトランザクション番号1のトランザクションカプセル203を受信すると(図4の402)、ノード1−2のディストリビュータ204は、サブキュー209を参照することにより、トランザクション番号1のキューがノード1−1用サブキュー209内に登録され、且つ当該キューに受信時間が登録されていることを確認することになる。従って、ノード1−2は、トランザクション番号1のトランザクションカプセル203が同一グループ1内の他のノード1−1から既に返信されているものとして、ノード2−1から受信したトランザクション番号1のトランザクションカプセル203を送付しないように制御する。
以上のように、ノード2−1から同一のトランザクションカプセル203を受信したノード1−1、1−2は、互いに上記発信処理の制御を行うことにより、同一トランザクション実データを含むトランザクションカプセル203が複数ノードから重複して発信されることを防止し、単一のトランザクションカプセルのみが下流のノード(ここでは、クライアント端末)に対して返信されるようにしている。
<HA処理>
次に、本実施形態におけるHA処理について説明する。図5は、本実施形態におけるHA処理の流れを示した図である。ここでは、ノード1−1によるHA処理を例に挙げて説明を行う。
図13に示すように、ノード1−1は、クライアント端末からトランザクションを受信すると、受信トランザクションに対してトランザクション番号1及びルール番号1001を付加したトランザクションカプセル203を生成し、ルール表207を参照することにより当該トランザクションカプセル203の送付先をノード2−1、2−2と判断する。
続いて、HAエンジン206が起動し、ノード2−1、2−2に対して稼働状態の問い合わせを行う。ここでは、ノード2−2に稼働状態の異変が検出された場合を想定する。ノード2−2の稼働状態の異変検出により、ディストリビュータ204は、図5の501に示すように、ノード2−2から上記ルール表207において規定されているHA先にトランザクションカプセル203の送付先を切り替える(図13のステップS1306)。
これにより、ノード1−1は、稼働状態に異変のあるノード2−2を回避してトランザクションカプセルを送信することが可能となる。このHA処理は、受信処理時においても各ノードにて同様に行われる。
<トランザクション紛失検出処理>
次に、本実施形態におけるトランザクション紛失検出処理について説明する。図6は、本実施形態におけるトランザクション紛失検出処理の流れを示した図であり、図15は、トランザクション紛失検出処理時におけるHAエンジン206の処理動作を示したフローチャートである。このトランザクション紛失検出処理は各ノードにおいて実行可能であるが、ここでもノード1−1を例に挙げて説明を行うものとする。
ノード1−1は、例えば定期的にトランザクションの流れに滞りが発生していないかをメインキュー208及びノード1−2、1−3用サブキュー209を参照することにより、調査する。具体的には、先ず、ノード1−1は、メインキュー208から送信時間が登録されているキューを検索する(ステップS1501)。次に、ステップS1501の検索処理により送信時間が登録されているキューが検索されたか否かを判断する(ステップS1502)。
送信時間が登録されるキューが存在しなければ、処理を終了する。送信時間が登録されているキュー(ここでは、トランザクション番号1のキューとする)がメインキュー208から検索された場合、検索したキューの何れか1つを対象として、当該キューに登録されている送信時間から一定時間が経過したか否かを判断する(ステップS1503)。
ステップS1503の判断の結果、一定時間が経過していると判断したときは、当該キューに受信時間が登録されているか否かを判断し(ステップS1504)、一定時間を経過していないと判断したときは、ステップS1501において他に検索されたキューが存在するか否かを判断する(ステップS1512)。この判断により、他に検索されたキュー存在しなければ処理を終了し、他に検索されたキューが存在すれば、そのキューを対象にステップS1503からの処理を実行する。
ステップS1504の判断の結果、当該キューに受信時間が登録されていないと判断した場合、ノード1−1は、未だ、トランザクション番号1のトランザクションカプセルをデータベースサーバ3−1から受け取り、クライアント端末に対して返信していないものとして、ノード1−2、1−3用サブキュー209からトランザクション番号1のキューを検索する(ステップS1505)。トランザクション番号1のキューがサブキュー209に存在する場合には、当該キューに受信時間が登録されているか否かを判断する(ステップS1507)。
ステップS1507の判断の結果、当該キューに受信時間が登録されていなければ、ノード1−2、1−3もトランザクション番号1のトランザクションカプセルをデータベースサーバ3−1から受け取り、クライアント端末に対して返信していないものとして、トランザクション処理の滞りを検知する。
ノード1−1は、トランザクション処理の滞りを検知すると、例えばグループ2内のノード2−1〜2−3に対してエラーメッセージの有無を問い合わせる(図6の601、図15のステップS1508)。
また、ステップS1506において、トランザクション番号1のキューがサブキュー209内に存在しないと判断した場合も、同じくトランザクション処理の滞りを検知し、グループ2内に対する同様のエラーメッセージに関する問い合わせを行う(図6の601、図15のステップS1508)。
ステップS1508の問い合わせの結果、何れかのノードからエラーメッセージが検出された場合、トランザクション番号1のトランザクションカプセル203の再発行を要求する。
ここで、エラーメッセージは、そのメッセージを発しているノードがトランザクションを紛失する等を理由に、返信処理を失敗した場合に当該ノード内において発せられるメッセージである。今回、ノード1−1がノード2−1から上記エラーメッセージを検出したと仮定すると、ノード2−1より更に前段(上流)のノード(本実施形態では、データベースサーバ3−1)にトランザクション番号1のトランザクションカプセルを再発行させるよう、ノード2−1に対して要求する(図15のステップS1510、図6の602)。
ここで、ステップS1510においては、エラーメッセージの内容により、トランザクションカプセル203を未だ返信しておらず、且つ、トランザクションカプセル203がノード2−1内に保持されていると判断される場合は、ノード2−1に対してトランザクションカプセル203の再発行を要求する。また、エラーメッセージの内容により、トランザクションカプセル203が未だ返信されておらず、且つ、ノード2−1内においてトランザクションカプセル203は紛失されていると判断される場合は、ノード2−1より更に前段のノード3−1(データベースサーバ3−1)に対してノード2−1が代わってトランザクションカプセル203の再発行を要求するように、ノード101がノード2−1に対して要求する。
一方、ステップS1509において、エラーメッセージが検出されなかった場合は、ノード1−1は、グループ2の何れかノードの対し、グループ2より更に前段(上流)のグループ3(データベースサーバ3−1)にステップS1508の問い合わせを行うよう要求する(図15のステップS1513)。
本実施形態では、グループ1からグループ3までのシステム構成を対象としているが、更に多くのグループから成るシステム構成を対象とすれば、グループ3にエラーメッセージが検出された場合には、グループ4に属するノードに対してトランザクションカプセル203の再発行を要求することができる。このように、前段のグループに順次問い合わせ処理を代行させていくことにより、トランザクションを紛失したノードの一つ前段のグループから当該トランザクションを再発行させ、トランザクション処理を復旧させることが可能となる。
また、グループ1からグループ3までのシステム構成であっても、例えばグループ3のノードにおいてエラーメッセージが検出された場合には、送信処理時のデータ発信先にまで遡ってグループ2のノードに対してトランザクションカプセルを再発行させることが可能である。
ステップS1510又はS1513の処理後は、ステップS1501において他に検索されたキューが存在するか否かを判断する(ステップS1512)。この判断により、他に検索されたキュー存在しなければ処理を終了し、他に検索されたキューが存在すれば、そのキューを対象にステップS1503からの処理を実行する。
また、トランザクションの紛失を検出したノード201は、その旨をシステム管理者に通知するための警告音を発することや、表示パネル上で警告表示を行うことも可能である。
<ノード201のハードウェア構成>
図16は、上記第1の実施形態並びに後述する第2及び第3の実施形態に係るノード201のハードウェア構成の具体例を示した図であり、図16に示すように、本発明に係るノード201はPC(パーソナル・コンピュータ)等の比較的安価な計算機に適用可能である。
1600は、ユニット間のデータ並びに制御情報を伝送する伝送路であるシステムバスである。ノード201の筐体内に存在する各ユニットはシステムバス1600によって接続される。以下、各ユニットについて説明する。中央処理装置(以下、CPUという)1601は、ROM1603から読み出されるプログラムによって本ノード201の各種制御および演算処理を行い、図2の発信コントロールエンジン202、ディストリビュータ204、同期プロセス205及びHAエンジン206に相当する機能を果たす。
ランダムアクセスメモリ(RAM)1602は、CPU1601の主メモリとして、また実行プログラムの格納領域、プログラムの実行エリアならびにデータエリアとして機能する他、図2のルール表207、メインキュー208、サブキュー209を記録する。読み取り専用メモリ(以下、ROMという)1603は、ノード201内の各ユニットの制御を行う基本プログラム、すなわちBIOS(Basic Input/Output System)や、本ノー
ド201を稼働するために必要な情報などを記憶する。
データ入出力を行うユニット群(以下、単にFDDという)1604は、フレキシブルディスクやCD−ROMなど、取り外し可能な外部記憶媒体のデータ入出力を行う。ネットワークインタフェース(以下、単にNETIFという)1605は、後述するモデム1606を介して外部ネットワークに接続し、または後述するLAN1607に接続する。NETIF1605は、ネットワークを介してノード201間のデータ転送を行うための制御や接続状況の診断を行う。
モデム1606は、外部ネットワークと本ノード201とを電話回線を介して接続するための機器であって、モデムやISDN接続用のターミナルアダプタを含む。LAN1607は、イーサネット(R)などのネットワークシステムである。本実施形態に係るノード201は、モデム1606又はLAN1607上に接続されているルータやゲートウェイ等の通信機器を用いて外部ネットワークに接続し、外部装置とのデータの送受信を可能とする。
ビデオRAM(以下、VRAMという)1608は、後述するCRT209に表示するために展開された画像データを保持する。CRT1609は、ディスプレイなどの表示装置である。
キーボードコントローラ(KBC)1610は、キーボード(KB)1611およびマウス1612からの入力信号を制御する。KB1611は、操作者がノード201に対して入力操作を行うためのキーボードである。マウス1612は、同じく操作者がノード201に対して入力操作を行うためのポインティングデバイスである。
ハードディスクドライブ(HDD)1613は、アプリケーションプログラムや各種データなどの保存に用いられる。図2のメインキュー208及びサブキュー209は、このハードディスクドライブ1613に記録しても良い。アプリケーションプログラムとは、例えば図12〜15のフローチャートに示される処理をノード210に実行させるためのソフトウェアプログラムのことをいう。外部ネットワーク等のデータの伝送媒体、CD−ROM等のデータの記録媒体等を介してノード210がアプリケーションプログラムを得る構成も本発明の技術的思想の範疇に含まれる。
コントローラ(IOC)1614は、外部に接続されるプリンタ(PRT)1615やスキャナ1616等に対する情報の入出力制御を行うことを可能とする。また本図には示していないが、IOC1614は、プリンタ1615やスキャナ1616以外に、例えば、同様に外部に接続されるHDDやMOドライブ等と情報の入出力制御を行うことが可能である。
次に本発明の第2の実施形態を説明する。
第1の実施形態では、各ノードは各々属するグループが予め設定されている例を示したが、例えば、図1において、グループ2に属するノード2−1、2−2両方が故障などしたときにはグループ1からトランザクションカプセル203を送信出来なくなってしまうことがある。そこで、第2の実施形態ではグループ1に属しているノード1−1、1−2のうち何れか1つのノードをグループ2に移行してあたかもグループ2にはじめからノードが3つ属していたかのように処理を行うことができるようにする。つまり、ノードが属するグループを動的に変更できるように構成したことを特徴とするものである。仮にノード1−2をグループ2に移行した場合、ノード1−1から送信されたトランザクションカプセル203はノード1−2が受信し、本来ノード2−1、2−2が行うべき処理をノード1−2が行う。
図17、図18は第2の実施形態を説明するための図である。図17(a)では、図1と同一のシステム中のグループ2にノード2−3(1−2)が追加されている。なお、図17は分りやすいようにトランザクション1(TR1)のみ記載している。このノード2−3(1−2)は通常はグループ1においてノード1−2として機能しているものであるが、図17(b)に示すように、グループ2のノード2−1とノード2−2両方が異常となったような時に、ノード2−3として機能するように設定されている。このような機能を果たすために図18のルール番号1002−2では、"グループ1に属するプロセス番号2"つまりノード1−2は、予備的な機能としてカッコ書きで"グループ2に属するプロセス番号3" つまりノード2−3としても設定されており、且つルール番号1001のHA先としてこのノード2−3(1−2)が設定されている。なお、第1の実施形態で説明した同期処理については説明を省略しているが、第2の実施形態でも同様に処理できる。
このように、第2の実施形態では、グループ2のノード2−1、2−2が異常となった場合、ノード1−1から受信すべきトランザクションカプセル203は、グループ1に属するノード1−2が、グループ2のノード2−3として移行して受信し、データベースサーバ3−1にトランザクションカプセル203を送信する。そして受信処理の際は、データベースサーバ3−1からのトランザクションカプセル203は再びノード2−3(1−2)が受信し、ノード1−1に送信するようになっている。
図19は第2の実施形態の別の例を説明するための図である。図19(a)では、図17と同一のシステム中のグループ1にノード1−3が追加されている。この例でもグループ1に属するノード1−2がグループ2に移行するものであり、グループ2のノード2−1、2−2が異常となった場合、ノード1−1から受信すべきトランザクションカプセル203は、グループ1に属するノード1−2がグループ2のノード2−3として移行して受信し、データベースサーバ3−1にトランザクションカプセル203を送信する。
受信処理の際、図19(b)に示すように、データベースサーバ3−1からのトランザクションカプセル203はノード2−3(1−2)が受信し、ノード1−1とノード1−3に送信するようにしている。
第2の実施形態では、グループ1に属するノードがグループ2に移行する例で示したが、移行は必ずしもこのような方向には限るものではなく、グループ2に属するノードがグループ1に移行しても良い。また、移行するノードは1つである場合で説明したが、1つに限らず複数のノードを移行してもよい。
以上説明したように、第2の実施形態に係る計算機システムでは、ノードは必ずしも固定的にグループに属するように設定する必要はなく、動的にグループを移行して処理をすることができる。これによってノード障害などによる処理の手戻りや処理の滞りに対する回避により柔軟に対応できるようになる。
次に本発明の第3の実施形態を説明する。
第1の実施形態では、各ノードは各々1つのグループに属していたが、ノードは複数のグループに属するようにしても良い。図20−1及び図20−2は第3の実施形態を説明するための図である。図20−1(a)では、図1と同一のシステム中のグループ1にノード1−3(2−3)と、グループ2にノード2−3(1−3)が追加されている。図21のルール表を参照すると、ルール番号1003としてノード1−3が設定されており、ルール番号2003としてノード2−3が設定されている。ノード1−3は、予備的な機能としてカッコ書きで"グループ2に属するプロセス番号3"としても設定されており、且つノード2−3は、予備的な機能としてカッコ書きで"グループ1に属するプロセス番号3"としても設定されている。つまりこのノード1−3(2−3)は、複数のグループに属したノードとなっており、状況によってノード1−3として機能したりノード2−3として機能できるようになっていることを特徴としている。そしてルール番号1001と1002のHA先としてこのノード2−3(1−3)が、同様にルール番号2001と2002のHA先としてノード1−3(2−3)が設定されている。
図20−1(b)では、グループ2のノード2−1とノード2−2に異常が発生した場合のTR1の処理を表したものである。この場合、ノード1−3(2−3)はノード2−1、2−2のHA先として設定されているため、グループ2のノード2−3(1−3)として機能する。つまり、ノード1−1からトランザクションカプセル203を受信したノード2−3(1−3)はルール番号2003に従ってデータベースサーバ3−1へトランザクションカプセル203を送信し、データベースサーバ3−1から受信したトランザクションカプセル203をノード1−1と1−2に送信するように機能する。
また、図20−2ではグループ1のノード1−2と、グループ2のノード2−1とに異常が発生した場合のTR1の処理を表したものである。この場合、ノード1−1から送信されたトランザクションカプセル203はルール番号1001に従って、ノード2−2に到達し、ノード2−2はルール番号2002に従ってデータベースサーバ3−1へトランザクションカプセル203を送信する。逆にデータベースサーバ3−1からトランザクションカプセル203を受信したノード2−2は、ルール番号2002に従って、ノード1−1とノード1−2に送信しようとするが、ノード1−2が異常であるため、HA先であるノード1−3(2−3)へ送信する。
以上説明したように、第3の実施形態に係る計算機システムでは、ノードは必ずしも1つのグループにだけ属する必要はなく、複数のグループに属することが許される。なお、本実施形態では1つのノードが2つのグループに属する例を示したが、3つ以上のグループに属するようにしても良い。そして本実施形態も、他の実施形態と同様に同期処理を施すことができる。
以上のように、各ノードは、属するグループを動的に変更できたり、一度に複数のグループに属することもできるので、この2つの機能を併せることで通常は図1のようにグループ1にノード1−1、1−2が、グループ2にノード2−1、2−2がそれぞれ属しているが、グループ2のノード2−1、2−2の両方が故障などしてグループ1からトランザクションカプセル203を送信することが出来なくなった時に、グループ1の何れかのノードを動的にグループ2にも属するように変更するという柔軟な対応も可能となる。
本発明の第1の実施形態に係る計算機システムの一構成例を示した図である。 本発明の一実施形態に係るノードの機能構成を模式的に示した図である。 送信処理時におけるノード間のトランザクション処理の流れを示した図である。 受信処理時におけるノード間のトランザクション処理の流れを示した図である。 HA処理の流れを示した図である。 トランザクション紛失検出処理の流れを示した図である。 ノード1−1のメインキュー及びノード1−2(1−3)のノード1−1用サブキューの構成を模式的に示した図である。 ノード2−1のメインキュー及びノード2−2(2−3)のノード2−1用サブキューの構成を模式的に示した図である。 ノード2−1のメインキュー及びノード2−2(2−3)のノード2−1用サブキューの構成を模式的に示した図である。 ノード1−1のメインキュー及びノード1−2(1−3)のノード1−1用サブキューの構成を模式的に示した図である。 本発明の第1の実施形態に係るルール表を概念的に示した図である。 本発明の第1の実施形態に係る発信コントロールエンジンの処理動作を示したフローチャートである。 本発明の第1の実施形態に係るディストリビュータの処理動作を示したフローチャートである。 本発明の第1の実施形態に係る同期プロセスの処理動作を示したフローチャートである。 本発明の第1の実施形態に係るHAエンジンのトランザクション紛失検出処理時の処理動作を示したフローチャートである。 本発明の一実施形態に係るノードのハードウェア構成の具体例を示した図である。 本発明の第2の実施形態を説明するための図である。 本発明の第2の実施形態におけるルール表の概念的に示す図である。 本発明の第2の実施形態の別の例を説明するための図である。 本発明の第3の実施形態を説明するための図である。 本発明の第3の実施形態を説明するための図である。 本発明の第3の実施形態におけるルール表を概念的に示す図である。
符号の説明
201 ノード
202 発信コントロールエンジン
203 トランザクションカプセル
204 ディストリビュータ
205 同期プロセス
206 HAエンジン
207 ルール表
208 メインキュー
209 サブキュー

Claims (33)

  1. 通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、
    当該計算機システムは、
    前記各ノードにつきデータ発信先として複数のノードを規定したルール表を備え、
    前記各ノードは、
    受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、
    前記ルール表を参照することによりデータ発信先となる複数のノードを特定し、前記発信用データ生成手段により生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信手段とを夫々有することを特徴とする計算機システム。
  2. 前記各ノードには、当該ノードが属するグループが夫々予め設定され、前記データ発信手段は、前記ルール表上において当該ノードのデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された同一の発信用データを発信することを特徴とする請求項1に記載の計算機システム。
  3. 前記データ発信手段は、自らのデータ発信処理状況に応じて、当該ノードと同一グループに属する他のノードによる前記他のグループに対するデータ発信処理を制御させるべく、自らのデータ発信処理状況を示す同期情報を前記同一グループに属する他のノードに対して送信することを特徴とする請求項2に記載の計算機システム。
  4. 前記各ノードは、
    当該ノードと同一グループに属する他のノードから送信された同期情報を受信する同期情報受信手段と、
    前記同期情報受信手段により受信した同期情報を保持する同期情報保持手段とを夫々更に有し、
    前記データ発信手段は、前記同期情報保持手段にて保持される同期情報の内容に応じて、前記発信用データ生成手段により生成された発信用データを発信するか否かを制御することを特徴とする請求項3に記載の計算機システム。
  5. 前記データ発信手段は、当該ノードと同一グループに属する他のノードが既に前記同一の発信用データを発信したことを示す同期情報が前記同期情報保持手段内において少なくとも一つ保持されている場合、前記同一の発信用データを当該ノードから発信しないように制御することを特徴とする請求項4に記載の計算機システム。
  6. 前記ルール表上では、前記各ノードにつき同期情報の送信先となるノードが規定され、前記データ発信手段は、前記ルール表を参照することにより、前記ルール表上において当該ノードについて同期情報の送信先として規定されるノードに対して同期情報を送信することを特徴とする請求項3に記載の計算機システム。
  7. 前記各ノードは、
    前記データ発信手段から発信用データを発信する前に、前記複数のノード夫々に対して稼働状態を問い合わせる第1の問い合わせ手段を夫々更に有し、
    前記データ発信手段は、前記第1の問い合わせ手段による問い合わせ結果に応じて、データ発信先となるノードを切り替えることを特徴とする請求項1に記載の計算機システム。
  8. 前記ルール表上では、前記各ノードにつきデータ発信先の切り替え先となるノードが夫々規定され、前記データ発信手段は、前記ルール表を参照することによりデータ発信先となるノードを切り替えることを特徴とする請求項7に記載の計算機システム。
  9. 当該計算機システムは、
    各グループのノードを介して受信した発信用データに対して所定のデータ処理を施すとともに、前記所定のデータ処理が施された処理後のデータを保持するデータベースサーバを更に備え、
    前記各ノードは、
    前記データ発信手段によるデータ発信処理に係る履歴情報を保持する履歴情報保持手段と、
    前記同期情報保持手段及び前記履歴情報保持手段において夫々保持される同期情報及び履歴情報に基づいて、当該ノードから発信した発信用データに対して前記データベースサーバによって所定のデータ処理が施され、返信された処理後のデータを当該ノードと同一グループのノードが受信したか否かを判断する判断手段とを夫々有することを特徴とする請求項4に記載の計算機システム。
  10. 前記各ノードは、
    前記判断手段による判断結果に応じて、前記データベースサーバからのデータ返信経路の前段に該当するグループ内のノードに対してデータ返信処理に係る問い合わせを行う第2の問い合わせ手段と、
    前記第2の問い合わせ手段による問い合わせ結果に応じて、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードに対して要求し、又は、前記前段に該当するグループのさらに前段のグループ内のノードに対して、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードが要求するように、前記前段に該当するグループ内のノードに対して要求するデータ発行要求手段とを夫々更に有することを特徴とすることを特徴とする請求項9に記載の計算機システム。
  11. 前記データ発行要求手段は、前記第2の問い合わせ手段による問い合わせの結果、前記前段に該当するグループ内のノードが当該ノードの属するグループに対して前記同一の処理後のデータに基づき生成された発信用データを未だ返信しておらず、且つ、前記問い合わせ時において前記同一の処理後のデータに基づき生成された発信用データを保持している場合には、前記同一の処理後のデータに基づき生成された発信用データの再発行を、前記前段に該当するグループ内のノードに対して要求することを特徴とする請求項10に記載の計算機システム。
  12. 前記データ発行要求手段は、前記第2の問い合わせ手段による問い合わせの結果、前記前段に該当するグループのノードが当該ノードの属するグループに対して前記同一の処理後のデータに基づき生成された発信用データを未だ返信しておらず、且つ、前記問い合わせ時において前記同一の処理後のデータに基づき生成された発信用データを紛失している場合には、前記前段に該当するグループのさらに前段のグループ内のノードに対して、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードが要求するように、前記前段に該当するグループ内のノードに対して要求することを特徴とする請求項10に記載の計算機システム。
  13. 当該計算機システムは、前記各ノードより前記通信ネットワークを介して接続可能な通信装置を有し、当該計算機システムにつき単一の前記ルール表が前記通信装置内において備えられることを特徴とする請求項1に記載の計算機システム。
  14. 前記受信データは、データ送信元のノードのデータ発信手段から複数のノードに対して発信された同一の発信用データであることを特徴とする請求項1に記載の計算機システム。
  15. 前記受信データは、データ送信元の外部装置から送信された単一のトランザクションの実データであることを特徴とする請求項1に記載の計算機システム。
  16. 通信ネットワークを介して複数のノードと相互に接続された計算機であって、
    受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、
    夫々のノードにつきデータ発信先として複数のノードを規定したルール表を参照することにより、データ発信先となる複数のノードを特定し、前記発信用データ生成手段により生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信手段とを有することを特徴とする計算機。
  17. 当該計算機には、自らが属するグループが夫々予め設定され、前記データ発信手段は、前記ルール表上において当該計算機のデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された発信用データを発信することを特徴とする請求項16に記載の計算機。
  18. 前記データ発信手段は、自らのデータ発信処理状況に応じて、当該計算機と同一グループに属する他のノードによる前記他のグループに対するデータ発信処理を制御させるべく、自らのデータ発信処理状況を示す同期情報を前記同一グループに属する他のノードに対して送信することを特徴とする請求項17に記載の計算機。
  19. 当該計算機と同一グループに属する他のノードから送信された同期情報を受信する同期情報受信手段と、
    前記同期情報受信手段により受信した同期情報を保持する同期情報保持手段とを更に有し、
    前記データ発信手段は、前記同期情報保持手段にて保持される同期情報の内容に応じて、前記発信用データ生成手段により生成された発信用データを発信するか否かを制御することを特徴とする請求項18に記載の計算機。
  20. 前記データ発信手段は、当該計算機と同一グループに属する他のノードが既に前記同一の発信用データを発信したことを示す同期情報が前記同期情報保持手段内において少なくとも一つ保持されている場合、前記同一の発信用データを当該計算機から発信しないように制御することを特徴とする請求項19に記載の計算機。
  21. 前記ルール表上では、当該計算機につき同期情報の送信先となるノードが規定され、前記データ発信手段は、前記ルール表を参照することにより、前記ルール表上において当該計算機について同期情報の送信先として規定されるノードに対して同期情報を送信することを特徴とする請求項18に記載の計算機。
  22. 前記データ発信手段から発信用データを発信する前に、前記複数のノード夫々に対して稼働状態を問い合わせる第1の問い合わせ手段を更に有し、
    前記データ発信手段は、前記第1の問い合わせ手段による問い合わせ結果に応じて、データ発信先となるノードを切り替えることを特徴とする請求項16に記載の計算機。
  23. 前記ルール表上では、当該計算機につきデータ発信先の切り替え先となるノードが夫々規定され、前記データ発信手段は、前記ルール表を参照することによりデータ発信先となるノードを切り替えることを特徴とする請求項22に記載の計算機。
  24. 前記データ発信手段によるデータ発信処理に係る履歴情報を保持する履歴情報保持手段と、
    当該計算機から発信した発信用データに対してデータベースサーバによって所定のデータ処理が施され、返信された処理後のデータを当該計算機と同一グループのノードが受信したか否かを、前記同期情報保持手段及び前記履歴情報保持手段において夫々保持される同期情報及び履歴情報に基づいて判断する判断手段とを有することを特徴とする請求項19に記載の計算機。
  25. 前記判断手段による判断結果に応じて、前記データベースサーバからのデータ返信経路の前段に該当するグループ内のノードに対してデータ返信処理に係る問い合わせを行う第2の問い合わせ手段と、
    前記第2の問い合わせ手段による問い合わせ結果に応じて、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードに対して要求し、又は、前記前段に該当するグループのさらに前段のグループ内のノードに対して、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードが要求するように、前記前段に該当するグループ内のノードに対して要求するデータ発行要求手段とを更に有することを特徴とすることを特徴とする請求項24に記載の計算機。
  26. 前記データ発行要求手段は、前記第2の問い合わせ手段による問い合わせの結果、前記前段に該当するグループ内のノードが当該計算機の属するグループに対して前記同一の処理後のデータに基づき生成された発信用データを未だ返信しておらず、且つ、前記問い合わせ時において前記同一の処理後のデータに基づき生成された発信用データを保持している場合には、前記同一の処理後のデータに基づき生成された発信用データの再発行を、前記前段に該当するグループ内のノードに対して要求することを特徴とする請求項25に記載の計算機。
  27. 前記データ発行要求手段は、前記第2の問い合わせ手段による問い合わせの結果、前記前段に該当するグループのノードが当該計算機の属するグループに対して前記同一の処理後のデータに基づき生成された発信用データを未だ返信しておらず、且つ、前記問い合わせ時において前記同一の処理後のデータに基づき生成された発信用データを紛失している場合には、前記前段に該当するグループのさらに前段のグループ内のノードに対して、前記同一の処理後のデータに基づき生成された発信用データの再発行を前記前段に該当するグループ内のノードが要求するように、前記前段に該当するグループ内のノードに対して要求することを特徴とする請求項25に記載の計算機。
  28. 前記受信データは、データ送信元のノードのデータ発信手段から複数のノードに対して発信された同一の発信用データであることを特徴とする請求項16に記載の計算機。
  29. 前記受信データは、データ送信元の外部装置から送信された単一のトランザクションの実データであることを特徴とする請求項16に記載の計算機。
  30. 通信ネットワークを介して複数のノードと相互に接続された計算機によるデータ通信方法であって、
    受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成ステップと、
    夫々のノードにつきデータ発信先として複数のノードを規定したルール表を参照することにより、データ発信先となる複数のノードを特定し、前記発信用データ生成ステップにより生成された同一の発信用データを前記データ発信先となる複数のノードに対して発信するデータ発信ステップとを含むことを特徴とするデータ通信方法。
  31. 請求項30に記載のデータ通信方法をコンピュータに実行させるためのプログラム。
  32. 通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、
    当該計算機システムは、
    前記各ノード夫々が属するグループを規定するとともに、前記各ノードの一部又は全部のノード夫々について当該ノードが属するグループとは異なる予備的な一又は複数のグループを規定するルール表を備え、
    前記各ノードは、
    受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、
    前記ルール表上において当該ノードのデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された同一の発信用データを送信するデータ発信手段とを有し、
    前記データ発信手段は、当該計算機システムのデータ通信処理に係る障害状態に応じて、該当するノードを、前記ルール表上にて規定される前記予備的な一又は複数のグループのノードとして用いて同一の発信用データを送信することを特徴とする計算機システム。
  33. 通信ネットワークを介して複数のノードを相互に接続した計算機システムであって、
    当該計算機システムは、
    前記各ノードの全部のノード夫々について当該ノードが属する複数のグループを規定する、又は、前記各ノードの一部のノード夫々について当該ノードが属する複数のグループを規定するとともに前記各ノードの他のノード夫々について当該ノードが属する単数のグループを規定するルール表を備え、
    前記各ノードは、
    受信データと同一のトランザクションの実データを含む発信用データを生成する発信用データ生成手段と、
    前記ルール表上において当該ノードのデータ発信先として規定される他のグループ内の複数のノード夫々に対し、前記発信用データ生成手段により生成された同一の発信用データを送信するデータ発信手段とを有し、
    前記データ発信手段は、当該計算機システムのデータ通信処理に係る障害状態に応じて、該当するノードを、前記ルール表上にて規定される複数のグループ間で切り替えて用いて同一の発信用データを送信することを特徴とする計算機システム。
JP2004008788A 2003-07-11 2004-01-16 計算機システム、計算機、データ通信方法及びプログラム Expired - Fee Related JP4551662B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004008788A JP4551662B2 (ja) 2003-07-11 2004-01-16 計算機システム、計算機、データ通信方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003273560 2003-07-11
JP2004008788A JP4551662B2 (ja) 2003-07-11 2004-01-16 計算機システム、計算機、データ通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005050298A true JP2005050298A (ja) 2005-02-24
JP4551662B2 JP4551662B2 (ja) 2010-09-29

Family

ID=34277484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004008788A Expired - Fee Related JP4551662B2 (ja) 2003-07-11 2004-01-16 計算機システム、計算機、データ通信方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4551662B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510232A (ja) * 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
JP2008242685A (ja) * 2007-03-27 2008-10-09 Nec Corp フェイルオーバ方法、クラスタシステム、情報処理装置、プログラム
JP2009009371A (ja) * 2007-06-28 2009-01-15 Hitachi Electronics Service Co Ltd 自動通報処理システム及びセンタ用装置
JP2011210106A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2011210107A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2022521412A (ja) * 2019-03-04 2022-04-07 ヒタチ ヴァンタラ エルエルシー 分散システムにおける非同期ストレージ管理
US11474997B1 (en) 2021-09-22 2022-10-18 Hitachi, Ltd. Distributed transaction system and distributed transaction processing method in distributed transaction system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05160876A (ja) * 1991-12-09 1993-06-25 Oki Electric Ind Co Ltd 通信制御プロセッサの管理方法
JPH07306794A (ja) * 1994-05-12 1995-11-21 Mitsubishi Electric Corp 分散システム及び分散システムの高信頼化方法
JPH086910A (ja) * 1994-06-23 1996-01-12 Hitachi Ltd クラスタ型計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05160876A (ja) * 1991-12-09 1993-06-25 Oki Electric Ind Co Ltd 通信制御プロセッサの管理方法
JPH07306794A (ja) * 1994-05-12 1995-11-21 Mitsubishi Electric Corp 分散システム及び分散システムの高信頼化方法
JPH086910A (ja) * 1994-06-23 1996-01-12 Hitachi Ltd クラスタ型計算機システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510232A (ja) * 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
JP2008242685A (ja) * 2007-03-27 2008-10-09 Nec Corp フェイルオーバ方法、クラスタシステム、情報処理装置、プログラム
JP2009009371A (ja) * 2007-06-28 2009-01-15 Hitachi Electronics Service Co Ltd 自動通報処理システム及びセンタ用装置
JP4638468B2 (ja) * 2007-06-28 2011-02-23 日立電子サービス株式会社 自動通報処理システム及びセンタ用装置
JP2011210106A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2011210107A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2022521412A (ja) * 2019-03-04 2022-04-07 ヒタチ ヴァンタラ エルエルシー 分散システムにおける非同期ストレージ管理
JP7322161B2 (ja) 2019-03-04 2023-08-07 ヒタチ ヴァンタラ エルエルシー 分散システムにおける非同期ストレージ管理
US11474997B1 (en) 2021-09-22 2022-10-18 Hitachi, Ltd. Distributed transaction system and distributed transaction processing method in distributed transaction system

Also Published As

Publication number Publication date
JP4551662B2 (ja) 2010-09-29

Similar Documents

Publication Publication Date Title
CN112099918B (zh) 容器化环境中的集群的实时迁移
JP4900982B2 (ja) サーバ・クラスタにおいてフェイルオーバを管理するための方法、フェイルオーバ・サーバ及びコンピュータ・プログラム
USRE47501E1 (en) Application program interface access to hardware services for storage management applications
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
JP4503225B2 (ja) 適応ディスパッチャを有する仮想ネットワーク
JP4956314B2 (ja) イベント通知装置、イベント通知方法及びイベント通知プログラム
CN114003349B (zh) 一种虚拟机迁移方法及设备
JP4551662B2 (ja) 計算機システム、計算機、データ通信方法及びプログラム
CN106411945A (zh) 一种Web的访问方法和装置
CN114553900B (zh) 一种分布式块存储管理系统、方法及电子设备
GB2406929A (en) Storage device control unit
CN113259408B (zh) 数据传输方法和系统
EP2519884B1 (en) Communication method, system, and program
US5894547A (en) Virtual route synchronization
JP5148441B2 (ja) 計算機間相互結合網における通信経路の冗長化と切り替え方法、この方法を実現するサーバ装置、そのサーバモジュール、および、そのプログラム
JPH0378659B2 (ja)
JP2000132519A (ja) 分散シミュレーションシステム
WO2014203728A1 (ja) メッセージ制御システム、メッセージ制御装置、メッセージ制御方法及びプログラム
JP2001216174A (ja) アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体
US20070030813A1 (en) Monitoring a problem condition in a communications protocol implementation
JPH11110365A (ja) ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法
CN115567459B (zh) 一种基于缓冲区的流量控制系统与方法
JP7223591B2 (ja) データ移行管理装置、データ移行管理プログラム、およびデータ移行管理方法
US11880580B1 (en) Non-disruptive migration of NVMe-of attached virtual volumes using log-based signaling and confirmation for cutover
JP2820942B2 (ja) 通信プロトコル処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100609

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4551662

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees