(57)【要約】【課題】高可用性サーバを含む情報処理システムを容易に構築できる基盤装置を提供する。【解決手段】基盤装置は、複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得する同期グループ情報取得部と、同期グループ情報に基づいて、同期が必要な一組みの情報処理装置に対して、同位相のクロック信号を送信するクロック配信部と、を備える。【選択図】図１
2019159609.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得する同期グループ情報取得部と、
前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するクロック配信部と、
を備える基盤装置。
【請求項２】
前記同期グループ情報には、１台の前記情報処理装置に対して２台以上の同期相手を含めることが可能である、
請求項１に記載の基盤装置。
【請求項３】
一組みの前記情報処理装置の間におけるクロック周期での前記情報処理装置による演算結果の授受を制御するスイッチ部、
をさらに備える請求項１または請求項２に記載の基盤装置。
【請求項４】
前記同期グループ情報取得部と、
前記クロック配信部と、
前記スイッチ部と、
複数の前記情報処理装置を収納するバックプレーンと、
を備え、
前記バックプレーンは、複数の前記情報処理装置の各々と、前記同期グループ情報取得部および前記クロック配信部および前記スイッチ部とを通信可能に接続する、
請求項３に記載の基盤装置。
【請求項５】
請求項４に記載の基盤装置と、
複数の前記情報処理装置と、
を備え、
前記情報処理装置は、
前記スイッチ部を介して授受される前記演算結果を比較して一組みの前記情報処理装置の同期がとれているかどうかを判定するロックステップ制御部、
を備える情報処理システム。
【請求項６】
前記情報処理装置が、複数の前記情報処理装置のうち同期が必要な前記情報処理装置を設定した設定情報を取得し、前記設定情報に基づく前記同期グループ情報を前記クロック配信部へ送信するサーバ管理部、
を備える請求項５に記載の情報処理システム。
【請求項７】
複数の前記情報処理装置が備える前記サーバ管理部を互いに接続する通信路、
をさらに備え、
前記設定情報を取得した前記サーバ管理部は、前記通信路を介して、他の前記情報処理装置が備える前記サーバ管理部へ前記設定情報を送信する、
請求項６に記載の情報処理システム。
【請求項８】
複数の前記情報処理装置のうち、一組みの前記情報処理装置は同期して動作し、他の情報処理装置は非同期で動作する、
請求項５から請求項７の何れか１項に記載の情報処理システム。
【請求項９】
複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得するステップと、
前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するステップと、
を有する制御方法。
【請求項１０】
同期して動作することができる互いに通信可能な複数の情報処理装置と、
複数の前記情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して同位相のクロック信号を配信するクロック配信部と、を用いて、
前記同期グループ情報を設定することにより、
少なくとも１台の高可用性サーバを含む情報処理システムを構成する、
情報処理システムの構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基盤装置、情報処理システム、制御方法及び情報処理システムの構成方法に関する。
【背景技術】
【０００２】
プロセッサ、メモリ等を多重化した高可用性サーバが提供されている。例えば、特許文献１には、複数のＣＰＵ（central processing unit）モジュールの間で同期をとって、同じタイミングで同一の処理を実行させるロックステップ方式が採用された高可用性サーバにおいて、誤りが検出された場合でもロックステップを外すことなく安定した動作を実現する制御方法が記載されている。特許文献１に記載の制御方法では、１つのＣＰＵモジュールで誤りが検出された場合、その情報を他のＣＰＵモジュールへ送信する。次に全てのＣＰＵモジュールで同期してエラー訂正処理を行う。特許文献１に記載の方法によれば、誤りが検出されたＣＰＵモジュールを切り離すことがなく、エラー訂正処理を行う間も可用性を維持することができる。
【０００３】
特許文献２には、例えば、第１のサーバのデータを、第２のサーバの同期データ領域に保持するようにして複数のサーバ間でデータを同期するデータ同期システムが記載されている。このデータ同期システムでは、第１のサーバに障害が発生すると、第２のサーバを第１のサーバの代替として機能させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−７３８２８号公報
【特許文献２】特開２００９−２６５９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に高可用性が求められるシステムを構築する場合、システムの用途および重要度に応じてサーバ（高可用性サーバや一般的なサーバ）を選定し、これらを組み合わせてシステムを構築する。システムの構築時には、サーバの選定、構築、動作確認等で膨大な作業が発生する。特許文献１〜特許文献２には、高可用性システムの構築に必要な作業を軽減し、高可用性システムの構築を容易にする技術が開示されていない。
【０００６】
そこでこの発明は、上述の課題を解決する基盤装置、情報処理システム、制御方法及び情報処理システムの構成方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得する同期グループ情報取得部と、前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するクロック配信部と、を備える基盤装置である。
【０００８】
本発明の一態様によれば、上記の基盤装置と、複数の前記情報処理装置と、を備え、前記情報処理装置は、前記基盤装置が備えるスイッチ部を介して授受される前記演算結果を比較して一組みの前記情報処理装置の間の同期がとれているかどうかを判定するロックステップ制御部、を備える情報処理システムである。
【０００９】
本発明の一態様によれば、複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報を取得するステップと、前記同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して、同位相のクロック信号を配信するステップと、を有する制御方法である。
【００１０】
本発明の一態様によれば、同期して動作することができる複数の情報処理装置と、複数の前記情報処理装置のうち、同期が必要な情報処理装置の組み合わせを指定した同期グループ情報に基づいて、同期が必要な一組みの前記情報処理装置に対して同位相のクロック信号を配信するクロック配信部と、を用いて、前記同期グループ情報を設定することにより、少なくとも１台の高可用性サーバを含む情報処理システムを構成する、情報処理システムの構成方法である。
【発明の効果】
【００１１】
本発明の基盤装置によれば、多重化された高可用性サーバを含む情報処理システムの構築を容易に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態による基盤装置の最小構成を示す図である。
【図２】本発明の一実施形態による情報処理システムの構成を示すブロック図である。
【図３】本発明の一実施形態による情報処理装置の構成を示すブロック図である。
【図４】本発明の一実施形態による同期が必要なサーバの設定情報の一例を示す図である。
【図５】本発明の一実施形態による同期が必要なサーバの設定処理の一例を示す図である。
【図６】本発明の一実施形態による同期処理の一例を示す図である。
【図７】本発明の一実施形態による情報処理システムの一例を示す図である。
【発明を実施するための形態】
【００１３】
＜一実施形態＞
以下、本発明の一実施形態による情報処理システムについて図１〜図７を参照して説明する。
図１は、本発明の一実施形態による基盤装置の最小構成を示す図である。
基盤装置１００は、少なくとも１台の高可用性サーバを含む情報処理システムを容易に構築可能とする装置である。１台の高可用性サーバは、複数の情報処理装置を多重化して構成される。基盤装置１００を用いると、処理の多重化が要求される高可用性サーバを構築することが可能である。処理の多重化は、例えば、複数の情報処理装置が備えるそれぞれのＣＰＵ（central processing unit）の間でロックステップ方式の同期を実行することにより実現する。基盤装置１００は、このような要求にこたえる高可用性サーバの構築に必要な機能を提供する。また、基盤装置１００によって構成される情報処理システムは、非多重化サーバを含むことができる。基盤装置１００を用いると、高可用性サーバと非多重化サーバとが混在する情報処理システムを容易に構築することができる。
【００１４】
図示するように基盤装置１００は、同期グループ情報取得部１１０と、クロック配信部１０１と、を備える。
同期グループ情報取得部１１０は、情報処理システムに含まれる複数の情報処理装置のうち、同期が必要な情報処理装置の組み合わせを示す同期グループ情報を取得する。同期グループ情報には、１台の前記情報処理装置に対して２台以上の同期相手となる情報処理装置を設定することが可能である。
クロック配信部１０１は、同期グループ情報に基づいて、同期が必要な一組みの情報処理装置に対して同位相のクロック信号を送信する。
【００１５】
図２は、本発明の一実施形態による情報処理システムの構成を示すブロック図である。情報処理システム１は、基盤装置１００と、基盤装置１００に接続される複数の情報処理装置（サーバ２０１〜２０Ｎ）と、を含む。図２に例示する情報処理システム１は、例えば、ブレードサーバである。
基盤装置１００は、クロック配信部１０１と、スイッチ部１０２と、バックプレーン１０３と、を備えている。
クロック配信部１０１は、ＣＰＵを備えたコンピュータである。クロック配信部１０１は、同期グループ情報取得部１１０を備える。同期グループ情報取得部１１０については図１で説明したとおりである。クロック配信部１０１は、例えば、水晶振動子などの源振を備える。源振は、所定の周期でクロック信号を出力する。クロック配信部１０１は、このクロック信号を、サーバ２０１〜２０Ｎのうち、同期グループ情報に指定された一組みのサーバ群へ配信する。例えば、同期グループ情報に同期すべきサーバの組み合わせとして、サーバ２０１とサーバ２０２の組み合わせが指定されている場合、クロック配信部１０１は、同期グループ情報に基づいて、サーバ２０１とサーバ２０２に対して同位相のクロック信号を配信する。
【００１６】
スイッチ部１０２は、サーバ２０１〜２０Ｎの間の通信を制御する。例えば、スイッチ部１０２は、同期が必要な一組みのサーバ２０１等の間の演算結果の授受を仲介する。例えば、サーバ２０１とサーバ２０２を同期させる場合、スイッチ部１０２は、クロック配信部１０１が配信するクロック信号の周期（クロック周期）で、サーバ２０１が出力したサーバ２０１が備えるＣＰＵ２４１による演算結果を取得し、これをサーバ２０２へ出力する。また、スイッチ部１０２は、クロック周期で、サーバ２０２が出力したサーバ２０２が備えるＣＰＵ２４２による演算結果を取得し、これをサーバ２０１へ出力する。
【００１７】
バックプレーン１０３は、クロック配信部１０１と、スイッチ部１０２とを備える。バックプレーン１０３は、サーバ２０１〜２０Ｎを筐体１０４に収納するためのスロットを備えている。各スロットには、クロック配信部１０１およびスイッチ部１０２と、サーバ２０１〜２０Ｎとを通信可能に接続するインタフェースが設けられている。バックプレーン１０３には、各インタフェースとクロック配信部１０１やスイッチ部１０２とを接続する配線が敷設されている。サーバ２０１〜２０Ｎを、バックプレーン１０３に接続することにより、クロック配信部１０１とサーバ２０１〜２０Ｎとの通信、スイッチ部１０２とサーバ２０１〜２０Ｎとの通信、サーバ２０１〜２０Ｎの間の通信が可能となる。バックプレーン１０３は、サーバ２０１〜２０Ｎの各々とクロック配信部１０１とを接続する破線で示された通信線Ｃ１〜ＣＮを備える。バックプレーン１０３は、サーバ２０１〜２０Ｎの各々とスイッチ部１０２とを接続する実線で示された通信線Ｌ１〜ＬＮを備える。通信線Ｌ１〜ＬＮのことをロックステップインタフェースとも呼ぶ。バックプレーン１０３は、サーバ管理部２６１〜２６Ｎの各々とクロック配信部１０１とを接続する一点鎖線で示された通信線Ｈ１〜ＨＮを備える。サーバ管理部２６１〜２６Ｎは、通信線Ｌ０によって互いが通信可能に接続される。
【００１８】
図３は、本発明の一実施形態による情報処理装置の構成を示すブロック図である。図３に情報処理システム１に用いられるサーバ２０１の構成例を示す。
サーバ２０１は、メモリ２１１と、不揮発性ストレージ２２１と、ネットワークＩ／Ｆ部２３１と、ＣＰＵ２４１と、ロックステップ制御部２５１と、サーバ管理部２６１とを備える。サーバ管理部２６１は、通信ポート２７１を備えている。図３では、サーバ２０１を例に説明を行うが、他のサーバ２０Ｘ（Ｘは２〜Ｎ）についても同様である。例えば、サーバ２０２は、メモリ２１２と、不揮発性ストレージ２２２と、ネットワークＩ／Ｆ部２３２と、ＣＰＵ２４２と、ロックステップ制御部２５２と、サーバ管理部２６２とを備える。サーバ管理部２６２は、通信ポート２７２を備えている。また、各構成は、以下に説明するものと同様の機能を有している。
【００１９】
メモリ２１１、不揮発性ストレージ２２１、ネットワークＩ／Ｆ部２３１、ＣＰＵ２４１は、一般的なサーバに搭載されたものと同様の部品である。
例えば、メモリ２１１は、ＲＡＭ（random access memory）等で構成された主記憶装置である。
不揮発性ストレージ２２１はＨＤＤ（hard disk drive）やＲＯＭ（read only memory）等で構成される。不揮発性ストレージ２２１は、例えば、以下に説明する制御プログラムαを記憶する。
ネットワークＩ／Ｆ部２３１は、ＬＡＮカード等の通信用モジュールで構成される。
ＣＰＵ２４１は、ＯＳや各種ソフトウェアを実行するプロセッサである。サーバ２０１には、サーバ２０１を含む複数のサーバ２０Ｘによる多重化構成での運用を実現するために必要な制御プログラムα（図示せず）がインストールされる。例えば、サーバ２０１とサーバ２０２が多重化して同期して動作する構成の場合にサーバ２０１でハードウェアの障害などが生じると、同期ずれが生じる。制御プログラムαは、このような場合にサーバ２０１を多重化構成から論理的に切り離す縮退制御を行う機能を有している。ＣＰＵ２４１は、例えば、制御プログラムαを実行する。また、ＣＰＵ２４１は、次に説明するロックステップ制御部２５１と連携して、他のサーバ２０Ｘが備えるＣＰＵ２４Ｘとロックステップ方式による同期状態での動作が可能である。また、ＣＰＵ２４１は、他のＣＰＵ２４Ｘと同期することなく単独で動作する非同期状態での動作が可能である。
【００２０】
ロックステップ制御部２５１は、ロックステップ方式の同期を実現するための機能を有するハードウェアである。ロックステップ制御部２５１は、ＣＰＵ２４１に接続されている。ロックステップ方式の同期とは、複数のＣＰＵが、クロック周期で同じデータを用いて同じ処理を行うことをいう。ロックステップ制御部２５１には、ロックステップ方式の同期の実現に必要な機能が実装されている。例えば、ロックステップ制御部２５１は、クロック周期で、同期が必要な複数のＣＰＵ２４１等が同じ動作を行ったかどうかを確認する判定処理を行う。例えば、サーバ２０１とサーバ２０２とが同期する場合、ロックステップ制御部２５１は、ＣＰＵ２４１による演算結果（ＣＰＵ２４１のレジスタやメモリ２１１に記録された情報）と、スイッチ部１０２を介して取得したＣＰＵ２４２による演算結果（ＣＰＵ２４２のレジスタやメモリ２１２に記録された情報）とをクロック周期で比較して、両者が一致すれば同期が成功していると判定する。同期が成功している場合、サーバ２０１とサーバ２０２は、ロックステップ方式の同期を継続する。ＣＰＵ２４１による演算結果とＣＰＵ２４２による演算結果とが一致しない場合、ロックステップ制御部２５１は、同期が失敗している（同期ずれ）と判定する。同期の判定処理は、サーバ２０２でも行われる。具体的には、ロックステップ制御部２５２は、ＣＰＵ２４２による演算結果と、スイッチ部１０２を介して取得したＣＰＵ２４１による演算結果とをクロック周期で比較する。両者が一致する場合、ロックステップ制御部２５２は、同期が成功したと判定する。両者が一致しない場合、ロックステップ制御部２５２は、同期が失敗し同期ずれが生じたと判定する。
【００２１】
同期が失敗した場合、制御プログラムαが縮退制御を行う。縮退制御を行うと、残りのサーバの間だけでロックステップ方式の同期を継続する。例えば、サーバ２０５とサーバ２０６とサーバ２０７の３台を同期させる場合であって、ＣＰＵ２４５の演算結果が、ＣＰＵ２４６の演算結果およびＣＰＵ２４７の演算結果と異なる場合、サーバ２０５のロックステップ制御部２５５は、ＣＰＵ２４５およびメモリ２１５の同期が失敗したと判定し、その判定結果を、サーバ２０５の制御プログラムαへ通知する。制御プログラムαは、サーバ２０５を縮退制御する。サーバ２０５の縮退後は、サーバ２０６とサーバ２０７とが同期した動作を継続する。なお、一般的には２台のサーバで多重化することが多いが、３台のサーバを多重化すると、１台だけ演算結果が異なることに基づいて、同期の成否を判定できるので、同期失敗の原因となるサーバ（上の例ではサーバ２０５）の特定が容易である。後述するように本実施形態の基盤装置１００を用いると、比較的容易に３台のサーバ２０５〜２０７を多重化し、これら３台が同期するように構成することができる。
【００２２】
また、２台のサーバ２０１とサーバ２０２の同期中に、例えば、ロックステップ制御部２５１が同期の失敗を判定した場合、その判定の前にサーバ２０１またはサーバ２０２でハードウェアの故障が生じている可能性が高い。ロックステップ制御部２５１は、サーバ２０１に故障が生じた場合、故障を検出してログに記録する機能を有している。ロックステップ制御部２５１は、同期失敗を判定すると、ログの記録に基づき、サーバ２０１側の問題であると判定する。サーバ２０１にインストールされた制御プログラムαは、ロックステップ制御部２５１の指示により、サーバ２０１を縮退制御する。
【００２３】
サーバ管理部２６１は、サーバ２０１が備える管理用のコンピュータである。サーバ管理部２６１は、独自にＣＰＵ（図示せず）および当該ＣＰＵによって実行される管理プログラムを備え、ＣＰＵ２４１とは独立して処理を行う。サーバ管理部２６１には、電源ユニット（図示せず）から電力が供給され、常時稼働している。サーバ管理部２６１は、サーバ２０１が起動していない状態でも稼働することができる。例えば、サーバ２０１の停止中に、サーバ管理部２６１は、通信ポート２７１に接続された外部（情報処理システム１に含まれない）のＰＣ（personal computer）等と通信を行って、同期が必要なサーバの設定情報を、そのＰＣ等から取得する。サーバ管理部２６１は、取得した設定情報を記憶する。
また、サーバ管理部２６１は、他のサーバ２０Ｘ（Ｘは２〜Ｎ）が備えるサーバ管理部２６Ｘと、通信路Ｌ０を介して通信を行う。サーバ管理部２６１は、同期が必要なサーバの設定情報を他のサーバ管理部２６Ｘへ送信する。これにより、サーバ管理部２６１〜２６Ｎは、設定情報を共有する。
また、サーバ管理部２６１は、同期が必要なサーバの設定情報から、同期すべきサーバの組み合わせを示す同期グループ情報を生成する。サーバ管理部２６１は、通信路Ｈ１を介して、同期グループ情報をクロック配信部１０１へ送信する。クロック配信部１０１は、送信された同期グループ情報に基づいてクロック信号を配信する。
【００２４】
次に同期が必要なサーバの設定情報について説明する。
図４は、本発明の一実施形態による同期が必要なサーバの設定情報の一例を示す図である。
図４に例示するように設定情報は、「サーバ実装位置」、「２ｎｄＣＰＵ」、「２ｎｄＩＯ」、「３ｒｄＣＰＵ」、「３ｒｄＩＯ」の各項目を有している。「サーバ実装位置」には、基準となるサーバ２０１〜２０Ｎが収納されるスロットの情報が設定される。「２ｎｄＣＰＵ」および「２ｎｄＩＯ」の各項目には、「サーバ実装位置」に設定したスロット位置に収納されたサーバ２０ｘ（１〜Ｎのうち何れか）と同期をとる２台目のサーバ２０ｙ（ｙはｘを除く１〜Ｎのうち何れか）を収納するスロットのスロット番号が設定される。同期させる２台目のサーバが存在しない場合は０が設定される。「３ｒｄＣＰＵ」および「３ｒｄＩＯ」の各項目には、「サーバ実装位置」で設定したスロット位置に収納されたサーバ２０ｘと同期をとる３台目のサーバ２０ｚ（ｚはｘ、ｙを除く１〜Ｎのうち何れか）を収納するスロットのスロット番号が設定される。同期させる３台目のサーバが存在しない場合は０が設定される。
【００２５】
図４に例示する設定情報は、バックプレーン１０３に設けられた例えば７つのスロットにサーバ２０１〜２０７の何れかを収納する場合の設定例である。一例として、スロットＸにサーバ２０Ｘ（Ｘ：１〜７）を収納する場合を例に説明を行う。１行目のデータは、サーバ２０１に同期させる２台目のサーバにサーバ２０２を設定し、サーバ２０１に同期させる３台目のサーバを設定しないことを示している。２行目のデータには、１行目の設定と対応するデータが設定されている。つまり、２行目のデータは、サーバ２０２に同期させる２台目のサーバはサーバ２０１で、サーバ２０２に同期させる３台目のサーバは存在しないことを示している。具体的な動作については、図５〜図６を用いて説明するが、本実施形態の基盤装置１００によれば１〜２行目に例示する設定により、２台のサーバを、高い可用性（ロックステップ方式の同期）を実現しつつ、多重化することができる。
【００２６】
３行目、４行目のデータは、サーバ２０３およびサーバ２０４に対して同期させるサーバが存在しないことを示している。つまり、３行目、４行目のデータの「２ｎｄＣＰＵ」〜「３ｒｄＩＯ」には、何れも０が設定されている。本実施形態の基盤装置１００によれば、１〜４行目に例示する設定を行うことで、高可用性サーバ（サーバ２０１、２０２）と、稼働能力を重視した非多重化サーバ（サーバ２０３、２０４）とが混在する情報処理システム１を構築することができる。
【００２７】
５行目のデータは、サーバ２０５に対し、サーバ２０６（２台目）とサーバ２０７（３台目）を同期させることを示している。同様に６行目のデータは、サーバ２０６に対し、サーバ２０５（２台目）とサーバ２０７（３台目）を同期させることを示している。７行目のデータは、サーバ２０７に対し、サーバ２０５（２台目）とサーバ２０６（３台目）を同期させることを示している。このような設定を行うことで３台のサーバを多重化し、３台のサーバをロックステップ方式で同期させることができる。なお、図４に例示する設定情報では、最大３台までを同期するサーバとして設定することができるが、これに限定されない。設定情報には、４台以上同期するサーバを設定することができても良いし、２台のみ設定できてもよい。
【００２８】
次に図４の設定情報に基づいて情報処理システム１を構築する場合を例に、情報処理システム１の構成を設定して、少なくとも１台の高可用性サーバを含む情報処理システムを構築する手順や、そのときの情報処理システム１の動作について説明する。
図５は、本発明の一実施形態による同期が必要なサーバの設定処理の一例を示す図である。一例として、サーバ２０１〜２０７がバックプレーン１０３に接続されているとする。また、情報処理システム１は通電しているが、システムとしては起動していない状態であるとする。上記の通り、サーバ２０１〜２０７の起動状態にかかわらず、サーバ管理部２６１〜２６７は常時稼働している。また、クロック配信部１０１はクロック信号の配信は行わないが、配信に必要な準備処理を行うことができる。
【００２９】
まず、ユーザが、例えば、サーバ２０１のサーバ管理部２６１の通信ポート２７１に作業用のＰＣを接続する。ユーザは、ＰＣを操作することにより、図４で例示した設定情報をサーバ管理部２６１へ入力する。サーバ管理部２６１は、設定情報を取得する（ステップＳ１１）。サーバ管理部２６１は、取得した管理情報を自装置の記憶部（図示せず）に書き込んで記憶する。次にサーバ管理部２６１は、通信路Ｌ０を介して、サーバ管理部２６２〜２６７へ設定情報を送信する（ステップＳ１２）。サーバ管理部２６２〜２６７は、設定情報を取得し（ステップＳ１３）、設定情報を記憶する。次に、例えば、サーバ管理部２６１が、設定情報に基づいて、同期グループ情報を作成する。図４の設定情報の場合、サーバ管理部２６１は、例えば、同期させるサーバが収納されたスロット番号を組み合わせて（１，２）、（５，６，７）という同期グループ情報を作成する。次にサーバ管理部２６１は、作成した同期グループ情報（１，２）、（５，６，７）を、通信路Ｈ１を介して、クロック配信部１０１へ送信する（ステップＳ１４）。クロック配信部１０１では、同期グループ情報取得部１１０が、同期グループ情報（（１，２）、（５，６，７））を取得する（ステップＳ１５）。クロック配信部１０１は、同期グループ情報に基づいて、クロック信号を配信する配信先を設定する。
【００３０】
図６は、本発明の一実施形態による同期処理の一例を示す図である。図４に示す設定情報では、サーバ２０１とサーバ２０２が多重化される。また、サーバ２０５〜サーバ２０７が多重化される。図６にクロックは配信部１０１、サーバ２０１、サーバ２０２の動作の一例を示す。
ユーザが、情報処理システム１へ起動指示を入力する。情報処理システム１は、起動処理を行って起動状態となる。サーバ２０１は、起動時にサーバ管理部２６１へ同期相手の情報を問い合わせる。サーバ管理部２６１は、サーバ２０１の同期相手としてサーバ２０２が存在することをＣＰＵ２４１へ通知する。ＣＰＵ２４１は、ロックステップ制御部２５１へ同期相手の情報を通知する。サーバ２０２においても同様である。つまり、ロックステップ制御部２５２は、同期相手としてサーバ２０１の情報を取得する。
【００３１】
基盤装置１００およびサーバ２０１〜２０７が起動し、通常の運転状態となると、クロック配信部１０１は、例えば、水晶振動子の発振周期等、所定の周期でクロック信号を配信する。クロック配信部１０１は、クロック信号の配信タイミングが到来すると（ステップＳ２１；Ｙｅｓ）、同期グループ情報に示される一組みのサーバに向けて、同時に同位相のクロック信号を配信する。例えば、クロック配信部１０１は、サーバ２０１に対して通信路Ｃ１を介してクロック信号を配信する（ステップＳ２２）。それと同時にクロック配信部１０１は、サーバ２０２に対して通信路Ｃ２を介して同位相のクロック信号を配信する（ステップＳ２２´）。ＣＰＵ２４１とＣＰＵ２４２は、クロック配信部１０１から取得したクロック信号に同期して動作する。サーバ２０１とサーバ２０２は、ＣＰＵ２４１による演算結果とＣＰＵ２４２による演算結果を、スイッチ部１０２を介して授受する（ステップＳ２３）。例えば、ロックステップ制御部２５１は、クロック周期ごとにＣＰＵ２４１の演算結果を同期相手の情報と共に、通信路Ｌ１を介してスイッチ部１０２へ出力する。ロックステップ制御部２５２は、クロック周期ごとにＣＰＵ２４２の演算結果を同期相手の情報と共に、通信路Ｌ２を介してスイッチ部１０２へ出力する。スイッチ部１０２は、同期相手の情報に基づいて、ロックステップ制御部２５１から取得した演算結果をサーバ２０２へ出力する。サーバ２０２では、ロックステップ制御部２５２がこれを取得する。スイッチ部１０２は、同期相手の情報に基づいて、ロックステップ制御部２５２から取得した演算結果をサーバ２０１へ出力する。サーバ２０１では、ロックステップ制御部２５１がこれを取得する。
【００３２】
次にロックステップ制御部２５１は、ＣＰＵ２４１による演算結果とＣＰＵ２４２による演算結果とを比較して同期の判定処理を行う（ステップＳ２４）。それと同時にサーバ２０２では、ロックステップ制御部２５２が、ＣＰＵ２４２による演算結果とＣＰＵ２４１による演算結果とを比較して同期の判定処理を行う（ステップＳ２４´）。
【００３３】
ロックステップ制御部２５１による判定結果が成功の場合（ステップＳ２５；Ｙｅｓ）、同期動作を継続する。つまり、ＣＰＵ２４１は、クロック信号を所定の周期で受信しつつ、クロック信号と同期して動作し、ロックステップ制御部２５１は、クロック周期ごとに同期判定を行う。ロックステップ制御部２５２についても同様に、判定結果が成功の場合（ステップＳ２５´；Ｙｅｓ）、同期動作を継続する。
【００３４】
ロックステップ制御部２５１による判定結果が失敗（同期ずれ）の場合（ステップＳ２５；Ｎｏ）、失敗時の処理を行う。例えば、ロックステップ制御部２５１がサーバ２０１のハードウェア障害を検出しているような場合、サーバ２０１の制御プログラムαはサーバ２０１の縮退制御を行う（ステップＳ２６）。同様にロックステップ制御部２５２による判定結果が失敗（同期ずれ）の場合（ステップＳ２５´；Ｎｏ）、失敗時の処理を行う（ステップＳ２６´）。例えば、サーバ２０１が原因で同期ずれが生じた場合、サーバ２０１は論理的に切り離された状態となり、サーバ２０１とサーバ２０２で多重化されていた高可用性サーバは、サーバ２０２のみが動作する運転状態となる。
【００３５】
以上の動作は、図４の設定情報で同期するように設定されたサーバ２０５〜２０７についても同様である。つまり、クロック配信部１０１は、サーバ２０５〜２０７に対し、同時に同位相のクロック信号を所定の周期で送信し、サーバ２０５〜２０７ではＣＰＵ２４５〜２４７が、このクロック信号に同期して動作する。そして、ロックステップ制御部２５５〜２５７がスイッチ部１０２を介してクロック周期ごとのＣＰＵ２４５〜２４７による演算結果を授受して、同期の判定を行う。サーバ２０５〜２０７の３台で多重化されている場合、同期の判定で縮退するサーバを特定できる可能性が高くなる。また、１台で同期ずれが生じた場合でも、残りの２台で処理を二重化したまま運用することができる。
【００３６】
また、図４の設定情報で同期相手の設定がないサーバ２０３〜２０４について、ＣＰＵ２３３、２４３は、非同期の状態で動作する。クロック配信部１０１は、サーバ２０３〜２０４にはクロック信号を配信しなくてよい。
【００３７】
上記説明したように基盤装置１００によれば、設定情報にて、同期相手の設定を行うことで、少なくとも１台の高可用性サーバを含む情報処理システム１を構築することができる。例えば、設定情報にて同期相手に２台のサーバを設定することで、３台のサーバによる同期が可能である。さらに基盤装置１００によれば、設定情報にて、同期相手の設定を行わない（図４の例では、０を設定する）ことにより、高可用性サーバと非多重化サーバが混在する情報処理システム１を構築することができる。これにより、システム構築時のサーバ選定、システム構築、動作確認等の作業を軽減し、より短時間かつ柔軟にシステム構築を行うことができる。
【００３８】
図７は、本発明の一実施形態による情報処理システムの一例を示す図である。
図７に情報処理システム１の適用例として、フロント側に多重化したロードバランサを備えたＷｅｂシステムの構成例を示す。
Ｗｅｂシステムは、高可用性サーバ３００，４００Ａ，４００Ｂを含んで構成される。サーバ２０１Ａとサーバ２０２Ａは、同期を行う１台の高可用性サーバ３００である。高可用性サーバ３００は、ロードバランサである。サーバ２０３Ａは非多重化サーバである。サーバ２０４Ａ〜２０５Ａは、同期を行う１台の高可用性サーバ４００Ａである。サーバ２０６Ａ〜２０７Ａは、同期を行う１台の高可用性サーバ４００Ｂである。高可用性サーバ４００Ａ，４００Ｂは、アプリケーションサーバである。高可用性サーバ３００は、負荷に応じて高可用性サーバ４００Ａと高可用性サーバ４００Ｂの何れかに処理を振り分ける。図７の例のようにロードバランサが同期する２台のサーバで構成されている場合、サーバ１台の故障でシステムが停止することがない。
【００３９】
また、ロードバランサはシステムの入口にあたり、停止しないシステムを実現するうえで非常に重要である。例えば、サーバ２０１Ａ、２０２Ａにサーバ２０３Ａを加えた３台を同期させた構成とすることで、サーバ２０１Ａ、２０２Ａの２台が故障したような場合にも耐えられる非常に堅固なシステムを構築することが可能となる。また、基盤装置１００を用いれば、サーバの多重度の変更も容易である。
また、アプリケーションサーバ（高可用性サーバ４００Ａ、４００Ｂ）についても、処理の重要度に応じて、図７に示す例のように２台ずつを同期させた構成とすることができる。
【００４０】
本実施形態の基盤装置１００によれば、ロックステップ方式で同期動作を実現できるサーバ２０１等を、バックプレーン１０３に実装したクロック配信部１０１を源振として動作させる。また、基盤装置１００によれば、バックプレーン１０３に実装したスイッチ部１０２により、複数のサーバ２０１等の同期動作用のデータ通信を行う。また、基盤装置１００によれば、各サーバ２０１〜２０Ｎの多重化や非多重化の設定を、運用目的に応じてプログラムすることができる。これにより、ユーザが所望するシステム構成を実現することができる。
【００４１】
上述の基盤装置１００は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００４２】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。また、基盤装置１００の全ての機能又は一部の機能は、例えば、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）、ＦＰＧＡ（Field-Programmable Gate Array）、集積回路等で構成されたハードウェアによって実現してもよい。
【００４３】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【符号の説明】
【００４４】
１・・・情報処理システム
１００・・・基盤装置
１０１・・・クロック配信部
１０２・・・スイッチ部
１０３・・・バックプレーン
１０４・・・筐体
１１０・・・同期グループ情報取得部
２０１〜２０Ｎ・・・サーバ
２１１・・・メモリ
２２１・・・不揮発性ストレージ
２３１・・・ネットワークＩ／Ｆ部
２４１・・・ＣＰＵ
２５１・・・ロックステップ制御部
２６１・・・サーバ管理部
２７１・・・通信ポート
Ｃ１〜ＣＮ、Ｈ１〜ＨＮ、Ｌ０、Ｌ１〜ＬＮ・・・通信線
【図１】
2019159609.tif 000003
【図２】
2019159609.tif 000004
【図３】
2019159609.tif 000005
【図４】
2019159609.tif 000006
【図５】
2019159609.tif 000007
【図６】
2019159609.tif 000008
【図７】
2019159609.tif 000009