(57)【特許請求の範囲】
【請求項１】
それぞれが処理リクエストに応じた処理を実行する複数の計算サーバにおける同期方法において、
前記複数の計算サーバそれぞれが、クライアント装置からの処理リクエストに応じた処理を実行し、
前記複数のサーバそれぞれに対応した同期サーバが、
実行された前記処理の結果を、自身が対応する計算サーバに接続された第1のキューサーバおよび他の計算サーバに接続された第2のキューサーバから受信し、
前記第1のキューサーバから受信した処理の結果および前記第2のキューサーバから受信した処理の結果を比較し、それぞれの処理順序が異なることにより同期が必要かを判断し、同期処理が必要な場合、他の同期サーバであって前記第2のキューサーバに接続された同期サーバに対して、同じ識別番号が付与されている旨の情報を通知することを特徴とする複数の計算サーバにおける同期方法。
【請求項２】
請求項１に記載の複数の計算サーバにおける同期方法において、
前記他の情報処理装置は、前記複数のサーバのうち、いずれのサーバでの処理結果を優先させるかの裁定処理を実行することを特徴とする複数の計算サーバにおける同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置（サーバ）で同期処理を行う際のデータ処理の整合性を保つための技術に関する。
【背景技術】
【０００２】
現在、クライアントからの指示に応じて複数のサーバで所定の処理を実行させることは行われている。このように複数のサーバで処理をさせようとすると、それぞれの処理結果に不整合を生じることがあり得る。この問題を解決するための技術として、特許文献１がある。この特許文献１には、「複数の中央処理コンプレックス（ＣＰＣ）を相互接続すると共にそれらにより共用される構造づけられた電子的記憶手段（ＳＥＳ）からなる本発明の好適な実施例に含まれる。（課題を解決するための手段参照）」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−８３７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、複数の計算機を相互接続すると共にそれらにより共用される構造づけられた電子的記憶手段で不整合を防止するための技術の例が記載されている。しかし、特許文献１の電子的記憶手段が障害等により機能しなくなった場合、複数の計算機間でデータの同期を行うことができない。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、複数の計算機により共用される構造づけられた電子記憶手段を二重化し、複数の計算機からそれぞれの電子記憶手段に接続することで、片方の電子記憶手段が障害等により機能しなくなった場合にも、複数の計算機間でのデータの同期が可能となる。すなわち、本発明では、複数のサーバにおいて、処理を実行した場合、それぞれに対応する同期サーバのいずれかにおいて、複数のサーバそれぞれの処理について異なるリクエスト（要求）に対して同じ識別情報(連番)が付与されている場合、他の同期サーバに通知を行うものである。この際、通知に応じて、いずれのサーバでの処理結果を優先させるかの裁定処理を実行するとより好適である。
【０００６】
なお、以下、本発明の一態様をより具体的な表現で記載する。以下の構成を有する情報処理装置(システム)１であって、
計算サーバへ処理リクエストを送信し、処理結果の応答を受ける制御部１０２を備えたクライアント端末１００と、
前記クライアント端末１００からの前記処理リクエストを、第1計算サーバ３００および１以上の第２計算サーバ４００へ送信するリクエスト複製部２０２と、
前記第１計算サーバ３００および前記第２計算サーバ４００からの処理結果の応答を、前記クライアント端末１００へ送信する応答・破棄判定部２０４と、
を備えたリクエスト複製サーバ２００と、
前記クライアント端末１００からの処理リクエストを受け取り、前記第１計算サーバ３００と前記第２計算サーバ４００とで同期が必要な処理リクエストの場合は第１同期サーバ７００および１以上の第２同期サーバ８００に同期処理を依頼した上で、前記処理リクエストの計算処理を実行し、処理結果を返信する第１計算部３０２を備えた前記第１計算サーバ３００と、
前記クライアント端末１００からの処理リクエストを受け取り、前記第１計算サーバ３００と前記第２計算サーバ４００とで同期が必要な処理リクエストの場合は第１同期サーバ７００および１以上の第２同期サーバ８００に同期処理を依頼した上で、前記処理リクエストの計算処理を実行し、処理結果を返信する第２計算部４０２を備えた前記１以上の第２計算サーバ４００と、
を有し、
前記第１同期サーバ７００は、前記第１計算サーバ３００および前記第２計算サーバ４００からの同期要求の処理を行い、前記同期要求の処理結果を前記１以上の第２同期処理サーバ８００が備える比較通知部８０８に通知する比較処理部７０８を備えるものである。
【発明の効果】
【０００７】
本発明によれば、複数の計算機により共用される１つの電子的記憶手段が障害等により機能しなくなった場合にも、もう一方の電子的記憶手段が機能することにより、複数の計算機間でのデータの同期が可能となる。
【０００８】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００９】
【図１】本実施例の情報処理装置の構成図である。
【図２】分散処理システムの概略図である。
【図３】クライアント端末のハードウェア構成図である。
【図４】第1同期サーバの比較通知部の処理を説明するフローチャートである。
【図５】第１同期サーバの比較通知部の処理を説明するフローチャートである。
【図６】要求キュー処理部、複製キュー処理部で扱うキューデータの例である。
【図７】要求キュー処理部、複製キュー処理部で扱うキューデータの例である。
【図８】第２同期サーバの比較通知部の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施例を図面を用いて説明する。
【実施例１】
【００１１】
本実施例では、同期サーバを２重化したデュアルシステムの例を説明する。
図２は、本実施例にかかる情報処理装置１を示す図である。
【００１２】
本情報処理装置１は、クライアント端末１００と、リクエスト複製サーバ２００と、複数の計算サーバ３００、４００と、複数のキューサーバ５００、６００と、複数の同期サーバ７００、８００とを含んで構成され、各端末、サーバは、ネットワーク１５０を介して互いに通信可能である。
【００１３】
ネットワーク１５０は、通常はＬＡＮ（Local Area Network）等の利用者の組織が管理する通信網である。ただし、これに限らず、ネットワーク１５０は、インターネット等の公衆通信網、ＷＡＮ（Wide Area Network）またはＶＰＮ（Virtual Private Network）等の一般公衆回線を一部に用いた通信網であってもよい。
【００１４】
図１は、情報処理装置１において、同期サーバを２重化したデュアルシステム構成となっていることを示す図である。
【００１５】
クライアント端末１００は制御部１０２を備え、制御部１０２は計算サーバへ処理リクエストを送信し、処理結果の応答を受ける。
【００１６】
クライアント端末１００の制御部１０２が送信した処理リクエストは、デュアル構成となっている計算サーバ群それぞれに送信するため、まず、リクエスト複製サーバ２００のリクエスト複製部２０２が受信する。リクエスト複製部２０２は、リクエスト状態データ２０６に当該処理リクエストを「処理中」として登録し、第１計算サーバと第２計算サーバとに当該リクエストを送信する。
【００１７】
計算サーバはデュアル構成となっており、それぞれ複数サーバからなる第１計算サーバ３００と第２計算サーバ４００とから構成される。
【００１８】
リクエスト複製部２０２が第１計算サーバ３００へ送信した処理リクエストは、第１計算サーバ３００を構成するいずれかのサーバの第１計算処理部３０２が受信し、リクエストされた処理を実行する。同様に、処理リクエストは、第２計算サーバ４００を構成するいずれかのサーバの第２計算処理部４０２も受信し、リクエストされた同じ処理を実行する。
【００１９】
上述の処理リクエストによる処理が同期処理を必要としない場合、第１計算部３０２、第２計算部４０２は、それぞれ処理結果をリクエスト複製サーバ２００の応答・破棄判定部２０４に送信する。
【００２０】
応答・破棄判定部２０４は、受信した処理結果に対応する処理リクエストの状態をリクエスト状態データ２０６を参照して確認し、「処理中」であれば、「応答済」に状態を変更し、処理結果をクライアント端末１００に送信する。すでに「応答済」であれば、当該処理結果を送信せずに破棄する。
【００２１】
以上述べたように、本実施例におけるデュアルシステムは、計算サーバ群を多重化することにより、可用性を向上するとともに、先に処理を終えた応答をクライアント端末１００に送信することで、高速応答を実現する。
【００２２】
次に、本実施例で同期処理が必要な場合の処理について説明する。
【００２３】
同期処理が必要な場合とは、例えば以下のような場合である。本実施例では、各計算サーバが複数のサーバから構成される分散システムであるため、処理リクエストの処理される順番が第１計算サーバ３００と第２計算サーバ４００とで異なる可能性がある。処理順序が最終的な結果に影響を与える場合、第１計算サーバ３００と第２計算サーバ４００とで処理リクエストの処理順序を同期させる必要がある。
【００２４】
本実施例では、同期サーバにおいて上述の同期処理を行う。また、同期サーバを第１同期サーバ７００と第２同期サーバに２重化することにより、同期サーバが単一障害点となることを回避する。
【００２５】
処理リクエストを受信した第１計算部３０２は、当該処理リクエストが同期処理の必要なものの場合、処理を行う前に、第１キューサーバ５００の第１整列キュー処理部５０２へ送信する。第１整列キュー処理部５０２は受信した順序で、処理リクエストを順次、第１同期サーバ７００の第１要求キュー処理部７０２と第２同期サーバ８００の第２複製キュー処理部８０４とに送信する。
【００２６】
同様に、処理リクエストを受信した第２計算部４０２は、当該処理リクエストが同期処理の必要なものの場合、処理を行う前に、第２キューサーバ６００の第２整列キュー処理部６０２へ送信する。第２整列キュー処理部６０２は受信した順序で、処理リクエストを順次、第１同期サーバ７００の第１複製キュー処理部７０４と第２同期サーバ８００の第２要求キュー処理部８０２とに送信する。
【００２７】
ここで、各整列キュー処理部の処理により、第１要求キュー処理部７０２が受信している処理リクエストの順序と、第２複製キュー処理部８０４が受信している処理リクエストの順序とは同一である。また、第１複製キュー処理部７０４が受信している処理リクエストの順序と、第２要求キュー処理部８０２が受信している処理リクエストの順序とは同一である。
【００２８】
ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。
【００２９】
比較通知部７０８は、第１要求キュー処理部７０２と第１複製キュー７０４とから、それぞれ先頭の処理リクエストを取り出し、比較する。同一の処理リクエストの場合、当該リクエストへの採番を採番処理部７０６に依頼し、応答された番号を当該処理リクエストに付加して、第１計算サーバ３００に送信する。また、採番結果を第２同期サーバ８００の比較処理部８０８に通知する。
【００３０】
第２同期サーバ８００の比較処理部８０８は、通知された採番結果に従って処理リクエストへの番号の付加を行い、第２計算サーバ４００に送信する。
【００３１】
第１計算サーバ３００、第２計算サーバ４００では、処理リクエストに付加された番号に従った順序で処理を行い、計算結果を返信する。
【００３２】
第１要求キュー処理部７０２と第１複製キュー７０４とから取り出した処理リクエストが異なる場合、比較通知部７０８は、所与の方法によりどちらかの処理リクエストを採番対象として選択し、当該リクエストへの採番を採番処理部７０６に依頼し、応答された番号を当該処理リクエストに付加して、第１計算サーバ３００に送信する。また、採番結果を第２同期サーバ８００の比較処理部８０８に通知する。さらに、選択しなかった処理リクエストを保持し、次の比較通知処理時に比較対象とする。
【００３３】
第２同期サーバでの通知受信後の処理は同様であり、選択しなかった処理リクエストを保持し、次の比較通知処理時に比較対象とする。
【００３４】
図３は同期サーバのハードウェア構成図である。
本実施例においては、クライアント端末１００は、例えば、ＰＣ（パーソナルコンピュータ）や、ワークステーション、サーバ装置、各種携帯電話端末、ＰＤＡ（Personal Digital Assistant）などの計算機である。
【００３５】
クライアント端末１００は、入力装置１１１と、出力装置１１２と、演算装置１１３と、主記憶装置１１４と、外部記憶装置１１５と、通信装置１１６と、それぞれの装置を互いに接続するバス１１７と、を有する。
【００３６】
入力装置１１１は、例えばキーボードやマウス、あるいはタッチペン、その他ポインティングデバイスなどの入力を受け付ける装置である。
出力装置１１２は、例えばディスプレイなどの、表示を行う装置である。
【００３７】
演算装置１１３は、例えばＣＰＵ（Central Processing Unit）などの演算装置である。   
主記憶装置１１４は、例えばＲＡＭ（Random Access Memory）などのメモリ装置である。   
外部記憶装置１１５は、例えばハードディスク装置やフラッシュメモリなどの不揮発性記憶装置である。   
通信装置１１６は、アンテナを介して無線通信を行う無線通信装置、又はネットワークケーブルを介して有線通信を行う有線の通信装置である。
【００３８】
クライアント端末１００の制御部１０２は、クライアント端末１００の演算装置１１３に処理を行わせるプログラムによって実現される。
このプログラムは、主記憶装置１１４または外部記憶装置１１５内に記憶され、実行にあたって主記憶装置１１４上にロードされ、演算装置１１３により実行される。
【００３９】
なお、図示しないが、リクエスト複製サーバ２００、第１計算サーバ３００、第２計算サーバ４００、第１キューサーバ５００、第２キューサーバ６００、第１同期サーバ７００および第２同期サーバ８００についても、クライアント端末１００と同様のハードウェア構成を備える。ただし、リクエスト複製サーバ２００、第１計算サーバ３００、第２計算サーバ４００、第１キューサーバ５００、第２キューサーバ６００、第１同期サーバ７００および第２同期サーバ８００については、クライアント端末１００の入力装置１１１と、出力装置１１２と、に対応する装置、すなわち使用者との入出力機能を受け持つハードウェアデバイスを有しないものであってもよい。
【００４０】
また、リクエスト複製サーバ２００のリクエスト複製部２０２と、応答・破棄判定部２０４とは、リクエスト複製サーバ２００の演算装置１１３に処理を行わせるプログラムによって実現される。
【００４１】
このプログラムは、主記憶装置１１４または外部記憶装置１１５内に記憶され、実行にあたって主記憶装置１１４上にロードされ、演算装置１１３により実行される。また、リクエスト状態データ２０６は主記憶装置１１４または外部記憶装置１１５内に記憶される。
【００４２】
また、第１計算サーバ３００の第１計算部３０２、第２計算サーバ４００の第２計算部４０２、第１キューサーバ５００の第１キュー整列部５０２および第２キューサーバ６００の第２キュー整列部６０２は、各サーバの演算装置１１３に処理を行わせるプログラムによって実現される。
【００４３】
このプログラムは、主記憶装置１１４または外部記憶装置１１５内に記憶され、実行にあたって主記憶装置１１４上にロードされ、演算装置１１３により実行される。
【００４４】
さらに、第１同期サーバ７００の各処理部、第２同期サーバ８００の各処理部についても、上記と同様である。
【００４５】
以上説明したデュアルシステムにおいては、同期サーバを多重化したことにより、同期サーバが単一障害点となることを回避し、可用性を向上させることができる。
【実施例２】
【００４６】
実施例１において、第１要求キュー処理部７０２と第１複製キュー７０４とから取り出した処理リクエストが異なる場合、比較通知部７０８は、どちらかの処理リクエストを採番対象として選択する必要がある。
【００４７】
本実施例では、同期サーバを２重化したデュアルシステムにおいて、比較通知部での処理において、処理リクエストの選択において、優先するキューを予め決めておく同期処理の例を説明する。
【００４８】
図６は要求キュー処理部、複製キュー処理部で扱うキューデータの１例である。図は第１同期サーバ７００の例を示している。
【００４９】
第１要求キュー６０１０には、第１キューサーバ５００からの処理リクエストが、先頭である右側から、処理リクエストＡ６０１１、処理リクエストＢ６０１２、処理リクエストＣ６０１３の順で処理リクエストが格納されている。また、第１複製キュー６０２０には、第２キューサーバ６００からの処理リクエストが、先頭である右側から、処理リクエストＡ６０２１、処理リクエストＣ６０２２、処理リクエストＢ６０２３の順で処理リクエストが格納されている。
【００５０】
上述のように、第２複製キューと第２要求キューにも、それぞれ図６に示す第１要求キュー６０１０、第１複製キュー６０２０と同じ順序で、処理リクエストが格納されている。ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。
【００５１】
図７は要求キュー処理部、複製キュー処理部で扱うキューデータの別の例である。図は第１同期サーバ７００の例を示している。
【００５２】
この例では、第１要求キュー６０１０には、第１キューサーバ５００からの処理リクエストが、先頭である右側から、処理リクエストＢ６０１２、処理リクエストＣ６０１３、処理リクエスト６０１４の順で処理リクエストが格納されている。また、第１複製キュー６０２０には、第２キューサーバ６００からの処理リクエストが、先頭である右側から、処理リクエストＣ６０２２、処理リクエストＢ６０２３、処理リクエストＤ６０２４の順で処理リクエストが格納されている。
【００５３】
この例においても、第２複製キューと第２要求キューにも、それぞれ図７に示す第１要求キュー６０１０、第１複製キュー６０２０と同じ順序で、処理リクエストが格納されている。ただし、キューサーバの処理負荷、ネットワークの負荷などの状況などにより、各要求キュー、各複製キューへの処理リクエストの到達タイミングは異なる可能性がある。
【００５４】
図４は、予め優先キューを決めておく方法での第１同期サーバの比較通知部７０８の処理を示したフローチャートである。図４、および図６、図７のキューデータの例を用いて、比較通知部７０８が行う処理の流れを説明する。
【００５５】
処理が開始すると、まず比較通知部７０８は、第１要求キュー処理部７０２と第１複製キュー処理部７０４に依頼し、それぞれのキューの先頭データを取り出す（ステップＳ００１）。
【００５６】
比較通知部７０８は、優先キューとする第１要求キュー処理部７０２からの処理リクエストがあるかどうか判定し（ステップＳ００２）、処理リクエストがない場合（ステップＳ００２にて「ＮＯ」）、ステップＳ００３に進む。
【００５７】
第１要求キュー処理部７０２からの処理リクエストがある場合（ステップＳ００２にて「Ｙｅｓ」）、前回までの比較通知部７０８の処理で保持していた処理リクエストと第１要求キュー処理部７０２からの処理リクエストが同一の場合、比較通知部７０８は、保持していた処理リクエストを破棄する（ステップＳ００４）。
【００５８】
第１複製キュー処理部７０４からの処理リクエストが第１要求キュー処理部７０２からの処理リクエストと異なる場合、比較通知部７０８は、第１複製キュー処理部７０４からの処理リクエストを保持する（ステップＳ００５）。
【００５９】
図７に示すようなキューデータの状態の場合、取り出した処理リクエストＢ６０１２と処理リクエストＣ６０２２が異なるので、処理リクエストＣ６０２２を保持しておく。次回の比較通知部７０８の処理で第１要求キューから処理リクエストＣ６０１３が取り出され、この処理リクエストと、ここで保持した処理リクエストＣが一致するので、ステップＳ００４において、保持していた処理リクエストＣは破棄される。
【００６０】
第１要求キュー処理部７０２からの処理リクエストが採番済みでなければ、比較通知部７０８は、採番処理部７０６に採番を依頼し、応答を受ける（ステップＳ００６）。
【００６１】
比較通知部７０８は、第１要求キュー処理部７０２からの処理リクエストに採番処理部７０６から応答を受けた番号を付加し、第１計算サーバ３００に送信する（ステップＳ００７）。
【００６２】
さらに、比較通知部７０８は、前記の採番結果を記録し、第２同期サーバ８００の比較通知部８０８に採番結果を通知し（ステップＳ００８）、処理を終了する。
【００６３】
ステップＳ００２において「ＮＯ」の場合、比較通知部の今回の処理の開始からの経過時間が、所与の時間以内であるか判定する（ステップＳ００３）。
【００６４】
所与の時間以内であれば（ステップＳ００３にて「ＹＥＳ」）、ステップＳ００１に戻り、第１要求キュー処理部７０２からの処理リクエストを取り出す。
【００６５】
ステップＳ００３において「ＮＯ」の場合、第１複製キューからの処理リクエストが採番済みでなければ、比較通知部７０８は、採番処理部７０６に採番を依頼し、応答を受け（ステップＳ００９）、ステップＳ００７に進む。
【００６６】
以上説明した第１同期サーバ７００における優先キューを予め決めておく比較通知部７０８の処理によれば、処理リクエストが各キューに滞りなく、高速に到着する場合、それぞれのキューからの処理リクエストから採番対象を選択する処理の負荷が小さく、高速な応答が可能である。
【実施例３】
【００６７】
実施例２の方法において、ネットワーク帯域不足による遅延等により、優先キューとする第１要求キュー処理部７０２への送信が、第１複製キュー処理部７０４よりも恒常的遅くなった場合、処理リクエストへの応答も遅延してしまう。
【００６８】
本実施例では、同期サーバを２重化したデュアルシステムにおいて、比較通知部での処理において、キューへの到着時刻に基づいて処理リクエストの選択を行う同期処理の例を説明する。
【００６９】
図５はキューへの到着時刻に基づいて処理リクエストの選択を行う方式での第１同期サーバの比較通知部７０８の処理を示したフローチャートである。
【００７０】
処理が開始すると、まず比較通知部７０８は、第１要求キュー処理部７０２と第１複製キュー処理部７０４に依頼し、それぞれのキューの先頭データを取り出す（ステップＳ１０１）。
【００７１】
比較通知部７０８は、第１要求キュー処理部７０２、第１複製キュー処理部７０４からの処理リクエスト両方があるかどうか判定し（ステップＳ１０２）、両方の処理リクエストがない場合（ステップＳ１０２にて「ＮＯ」）、ステップＳ１０５に進み、両方の処理リクエストがある場合（ステップＳ１０２にて「ＹＥＳ」）、ステップＳ１０３に進む。
【００７２】
ステップＳ１０３において、比較通知部７０８は、両方の処理リクエストが同一のものか判定し、同一の場合（ステップＳ１０３にて「ＹＥＳ」）、ステップＳ１０５に進み、同一でない場合、ステップＳ１０４に進む。
【００７３】
ステップＳ１０４で、比較通知部７０８は、両方の処理リクエストの第１要求キュー処理部７０２、第１複製キュー処理部７０４への到着時刻を比較し、到着時刻が早い処理リクエストを採番対象に選択し、他方の処理リクエストを保持する。
【００７４】
続いて、処理リクエストが採番済みでなければ、比較通知部７０８は、採番処理部７０６に採番を依頼し、応答を受ける（ステップＳ１０５）。
【００７５】
比較通知部７０８は、処理リクエストに採番処理部７０６から応答を受けた番号を付加し、第１計算サーバ３００に送信する（ステップＳ１０６）。
【００７６】
さらに、比較通知部７０８は、前記の採番結果を記録し、第２同期サーバ８００の比較通知部８０８に採番結果を通知し（ステップＳ１０７）、処理を終了する。
【００７７】
以上説明した第１同期サーバ７００におけるキューへの到着時刻に基づいて処理リクエストの選択を行う比較通知部７０８の処理によれば、処理リクエストの各キューへの到着に不規則性が比較的高く、優先と設定されたキューへの処理リクエストが滞った場合も、どちらかのキューへ処理リクエストが到着した時点で採番処理を行うことができ、高速な応答が可能である。
【実施例４】
【００７８】
以上説明してきた実施例１〜３では、第１同期サーバ７００の採番結果を第２同期サーバ８００へ通知することで、双方の採番結果の同期を取っている。このため、第１同期サーバに障害が発生した場合、処理リクエストへの応答が滞ってしまうことがある。
【００７９】
本実施例では、同期サーバを２重化したデュアルシステムにおいて、第１同期サーバに障害が発生しても、処理リクエストへの応答を継続することのできる同期処理の例を説明する。
【００８０】
図８は第１同期サーバ７００の障害の際にも処理を継続できる、第２同期サーバ８００の比較通知処理８０８の処理を示したフローチャートである。
【００８１】
処理が開始すると、比較通知処理８０８は、第２要求キュー処理部８０２と、第２複製キュー処理部８０４とから取り出した処理リクエストが異なる場合、継続の処理を保留し、第１同期サーバ７００の比較通知部７０８からの採番結果の通知を待つ（ステップＳ２０１）。
【００８２】
比較通知部８０８は比較通知部７０８から通知があったか判定し（ステップＳ２０２）、未通知であれば（ステップＳ２０２にて「ＮＯ」）、ステップＳ２０３へ進む。
【００８３】
ステップＳ２０３では、比較通知部８０８は、比較通知部８０８の処理開始からの経過時間が所与の時間以内か判定し、時間内であれば（ステップＳ２０３にて「ＹＥＳ」）、ステップＳ２０２に戻り、通知を待つ。
【００８４】
ステップＳ２０２で通知があれば（ステップＳ２０２にて「ＹＥＳ」）、比較通知部８０８は、通知された採番対象の処理リクエストへの採番を採番処理部８０６に依頼し、番号の応答を受ける（ステップＳ２０４）。
【００８５】
比較通知部８０８は、採番対象にならなかった処理リクエストを保持する（ステップＳ２０５）。
【００８６】
さらに、比較通知部８０８は、採番処理部８０６から受信した番号を対象の処理リクエストに付加し、第２計算サーバ４００に送信する（ステップＳ２０６）。そして、採番結果を記録し（ステップＳ２０７）、処理を終了する。
【００８７】
ステップＳ２０３にて、経過時間が所与の時間を超えた場合（ステップＳ２０３にて「ＮＯ」）、比較通知部８０８は、第１同期サーバ７００に再起動および第２同期サーバへの役割切り替えを指示する（ステップＳ２０８）。
さらに、比較通知部８０８は、第１同期サーバ７００の比較通知部７０８の役割を担うように処理方法の切り替えを行う（ステップＳ２０９）。
【００８８】
図４または図５に示す処理により、比較通知部８０８は、採番対象の処理リクエストを選択し、採番処理部８０６へ採番を依頼し、番号の応答を受け（ステップ）、ステップ２０５へ進む。
【００８９】
移行は、第２同期サーバ８００が従前の第１同期サーバの役割を担って処理を継続し、第１同期サーバが再起動後は、第１同期サーバが従前の第２同期サーバの役割を担うことで、同期サーバの２重化を継続することができる。
【００９０】
以上説明した、第１同期サーバに障害が発生した場合、第１同期サーバと第２同期サーバの役割を入れ替える処理により、第１同期サーバに障害が発生した場合でも、処理を継続し、かつ同期サーバの２重化構成を回復することが可能である。
【００９１】
なお、上述した各実施例では、計算サーバ、キューサーバ、同期サーバをそれぞれ２重化した構成となっているが、本発明はこの実施例に限定されるものではなく、３以上の多重度を持たせた構成であってもよい。
【００９２】
さらに、本発明は、例示した適用例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、フラッシュメモリ（例えばＳＤカード）、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００９４】
１  情報処理装置
１００  クライアント端末
２００  リクエスト複製サーバ
３００  第１計算サーバ
４００  第２計算サーバ
７００  第１同期サーバ
８００  第２同期サーバ
【図１】
0005879159.tif 000002
【図２】
0005879159.tif 000003
【図３】
0005879159.tif 000004
【図４】
0005879159.tif 000005
【図５】
0005879159.tif 000006
【図６】
0005879159.tif 000007
【図７】
0005879159.tif 000008
【図８】
0005879159.tif 000009