(57)【要約】  ノードの運用コストを抑制することができるクラスタシステムを提供する。クラスタシステム１００は、アクティブノード１１０と、スタンバイノード１２０と、制御装置１３０と、記憶部１４０を備える。アクティブノード１１０は、アクティブノード１１０の記憶部１１１の記憶内容とスタンバイノード１２０の記憶部１２１の記憶内容を同期させるための同期データを生成する同期データ生成部１１２と、同期データを記憶部１４０に記憶させる同期データ送信部１１３と、起動指示を制御装置１３０へ送信する起動指示送信部１１４を有する。制御装置１３０は、起動指示を受信した場合に、スタンバイノード１２０を起動する。スタンバイノード１２０は、記憶部１４０に記憶された同期データを取得する同期データ取得部１２２と、記憶部１２１の記憶内容を更新する更新部１２３を有する。
2017047065.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部を有し、稼働系として動作する第１のノードと、
第２の記憶部を有し、待機系として動作する第２のノードと、
前記第２のノードの起動を制御する第１の制御装置と、
前記第１のノード及び前記第２のノードとは別に設けられた第３の記憶部を備え、
前記第１のノードは、
前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と前記第２の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、
前記同期データ生成手段により生成された前記同期データを前記第３の記憶部に送信して前記第３の記憶部に記憶させる同期データ送信手段と、
前記同期データ送信手段により前記同期データを送信する場合に、前記第２のノードを停止状態から起動状態へと移行するよう指示する起動指示を前記第１の制御装置へ送信する第１の起動指示送信手段を有し、
前記第１の制御装置は、前記起動指示を受信した場合に、前記第２のノードを起動し、
前記第２のノードは、
前記第３の記憶部に記憶された前記同期データを取得する同期データ取得手段と、
前記同期データ取得手段により取得された前記同期データにより示される更新内容を前記第２の記憶部の記憶内容に反映させて、前記第２の記憶部の記憶内容を更新する更新手段を有する、
クラスタシステム。
【請求項２】
前記第１のノードの動作状態を監視する監視手段と、
前記監視手段により前記第１のノードの異常が検出された場合に、前記起動指示を前記第１の制御装置へ送信する第２の起動指示送信手段を有する、
第２の制御装置を、さらに備える、
請求項１に記載のクラスタシステム。
【請求項３】
前記第１の起動指示送信手段により送信された前記起動指示に基づいて起動した際の前記第２のノードの性能は、前記第２の起動指示送信手段により送信された前記起動指示に基づいて起動した際の前記第２のノードの性能よりも低い、
請求項２に記載のクラスタシステム。
【請求項４】
前記同期データ取得手段は、前記第３の記憶部に記憶された前記同期データの取得に失敗した場合、前記第１のノードに前記同期データを要求し、
前記同期データ送信手段は、前記同期データ取得手段からの要求に応じて、前記同期データを前記第２のノードに送信する、
請求項１乃至３のいずれか１項に記載のクラスタシステム。
【請求項５】
前記同期データ取得手段による取得対象の同期データが、前記第１の記憶部の記憶内容と整合するか否かを判定する判定手段をさらに有し、
前記更新手段は、前記判定手段により、前記第１の記憶部の記憶内容と整合すると判定された同期データを用いて更新を行う、
請求項１乃至４のいずれか１項に記載のクラスタシステム。
【請求項６】
前記同期データは、前記第１の記憶部の第１の記憶内容と、該第１の記憶内容に対する更新後の前記第１の記憶部の第２の記憶内容との差分データである、
請求項１乃至５のいずれか１項に記載のクラスタシステム。
【請求項７】
第１の記憶部と、
前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、
前記同期データ生成手段により生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させる同期データ送信手段と、
前記同期データ送信手段により前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する起動指示送信手段を有する、
情報処理装置。
【請求項８】
稼働系として動作する第１のノードが有する第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と、待機系として動作する第２のノードが有する第２の記憶部の記憶内容を同期させるための同期データを生成し、
生成された前記同期データを、前記第１のノード及び前記第２のノードとは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、
前記第２のノードを停止状態から起動状態へと移行させ、
前記第３の記憶部に記憶された前記同期データを取得し、
取得された前記同期データにより示される更新内容を前記第２の記憶部の記憶内容に反映させて、前記第２の記憶部の記憶内容を更新する、
クラスタシステムの同期方法。
【請求項９】
第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、
生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、
前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する、
クラスタシステムの同期方法。
【請求項１０】
第１の記憶部を有する情報処理装置のコンピュータに、
前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、
生成された前記同期データを、前記第１の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、
前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する、ことを実行させるプログラムを格納する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体に関する。
【背景技術】
【０００２】
ＩＴ（Information Technology）サービスの可用性を向上させる方法として、ＨＡ（High Availability：高可用性）クラスタシステムを構築する方法がある。ＨＡクラスタシステムは、実際にサービスを提供するアクティブノードと、アクティブノードに障害が発生した場合にサービスを引き継いで提供するスタンバイノードで構成される。スタンバイノードがアクティブノードからサービスを引き継いで提供するためには、アクティブノードで利用していたプログラムだけではなく、プログラムが利用していたデータも引き継ぐ必要がある。【０００３】
アクティブノードからスタンバイノードへデータを引き継ぐ方法として、共有ディスクを利用する方法（共有ディスク型）、データをミラーリングする方法（データミラー型）などがある。データミラー型の場合、アクティブノードからスタンバイノードに対しネットワークを利用してデータを転送することでデータを同期するため、アクティブノード、スタンバイノードが常に起動している必要がある。【０００４】
また、特許文献１では、主系サーバと従系サーバにより構成されるクラスタリングシステムにおいて、主系サーバに接続された記憶手段に対する更新を、共通ディスクを介して従系サーバに接続された記憶手段に反映させることについて開示している。【０００５】
また、近年、クラウドサービスが広まってきており、ＩＴサービスを提供するために物理マシンを購入するのではなく、ＩａａＳ（Infrastructure as a Service）を利用するケースが増加している。【０００６】
ここで、ＩａａＳを利用してＨＡクラスタシステムを構築する場合、共有ディスクを利用することが難しいため、データを引き継ぐ方法としてデータミラー型を利用することになる。また、既存のノードとクラウドサービスを利用することによりオンプレミス環境とクラウド環境との間でのＨＡクラスタシステムを構築する場合も、データミラー型を利用することになる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３３７８５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ミラーリングによる同期方式では、同期する際にアクティブノード及びスタンバイノードの両方が同時に起動状態である必要がある。これは、アクティブノードに書き込まれたデータを常時スタンバイノードへ転送するためである。また、スタンバイノードが停止状態の際に、アクティブノードに障害が発生した場合、スタンバイノードでサービスを提供しようとしても、スタンバイノードはアクティブノードに書き込まれたデータを引き継げていないためアクティブノードと同じ状態でサービスを提供できない。さらに、アクティブノードが停止状態である場合、スタンバイノードがアクティブノードから最新データを取得できない。【０００９】
このようなことから、アクティブノード及びスタンバイノードの両方を常時起動状態にしておく必要がある。このため、ノードの運用コストを抑制することが困難となる。【００１０】
特許文献１に記載された技術においても、この点について何ら考慮されておらず、ノードの運用コストを抑制することができない。【００１１】
本発明の目的は、このような課題を解決するためになされたものであり、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一態様にかかるクラスタシステムは、第１の記憶部を有し、稼働系として動作する第１のノードと、第２の記憶部を有し、待機系として動作する第２のノードと、前記第２のノードの起動を制御する第１の制御装置と、前記第１のノード及び前記第２のノードとは別に設けられた第３の記憶部を備え、前記第１のノードは、前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と前記第２の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、前記同期データ生成手段により生成された前記同期データを前記第３の記憶部に送信して前記第３の記憶部に記憶させる同期データ送信手段と、前記同期データ送信手段により前記同期データを送信する場合に、前記第２のノードを停止状態から起動状態へと移行するよう指示する起動指示を前記第１の制御装置へ送信する第１の起動指示送信手段を有し、前記第１の制御装置は、前記起動指示を受信した場合に、前記第２のノードを起動し、前記第２のノードは、前記第３の記憶部に記憶された前記同期データを取得する同期データ取得手段と、前記同期データ取得手段により取得された前記同期データにより示される更新内容を前記第２の記憶部の記憶内容に反映させて、前記第２の記憶部の記憶内容を更新する更新手段を有する。【００１３】
また、本発明の一態様にかかる情報処理装置は、第１の記憶部と、前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、前記同期データ生成手段により生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させる同期データ送信手段と、前記同期データ送信手段により前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する起動指示送信手段を有する。【００１４】
また、本発明の一態様にかかるクラスタシステムの同期方法は、稼働系として動作する第１のノードが有する第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と、待機系として動作する第２のノードが有する第２の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、前記第１のノード及び前記第２のノードとは別に設けられた前記第３の記憶部に送信して前記第３の記憶部に記憶させ、前記第２のノードを停止状態から起動状態へと移行させ、前記第３の記憶部に記憶された前記同期データを取得し、取得された前記同期データにより示される更新内容を前記第２の記憶部の記憶内容に反映させて、前記第２の記憶部の記憶内容を更新する方法である。【００１５】
また、本発明の一態様にかかるクラスタシステムの同期方法は、第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する方法である。【００１６】
また、本発明の一態様にかかる記憶媒体に格納されたプログラムは、第１の記憶部を有する情報処理装置のコンピュータに、前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、前記第１の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信することを実行させるプログラムである。
【発明の効果】
【００１７】
本発明によれば、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態にかかるクラスタシステムの構成の概要を示すブロック図である。
【図２】実施の形態１にかかるクラスタシステムの構成を示すブロック図である。
【図３】実施の形態１にかかるアクティブノードの構成を示すブロック図である。
【図４】実施の形態１にかかるスタンバイノードの構成を示すブロック図である。
【図５】実施の形態１にかかるクラスタシステムの同期動作の一例を示すシーケンスチャートである。
【図６】実施の形態１にかかるクラスタシステムの同期動作の一例を示すシーケンスチャートである。
【図７】実施の形態２にかかるクラスタシステムの構成を示すブロック図である。
【図８】実施の形態２にかかるクラスタシステムにおけるフェールオーバーの動作の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１９】
＜本発明にかかる実施の形態の概要＞
実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。図１は、実施の形態にかかるクラスタシステム１００の構成の概要を示すブロック図である。クラスタシステム１００は、図１に示されるように、稼働系として動作する第１のノードであるアクティブノード１１０と、待機系として動作する第２のノードであるスタンバイノード１２０と、スタンバイノード１２０の起動を制御する制御装置１３０（第１の制御装置とも称される）と、記憶部１４０を備えている。
【００２０】
ここで、「ノード」とは、ソフトウェアを実行するハードウェア、又は、仮想マシン等に相当するものであり、典型的には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の動作単位に対応するものである。例えば、アクティブノード１１０とスタンバイノード１２０は、それぞれ、オンプレミス環境で実現されてもよいし、仮想マシンを使用したクラウドコンピューティング基盤を用いた環境であるクラウドサービスにより実現されてもよい。一例としては、アクティブノード１１０は、オンプレミス環境で実現され、スタンバイノード１２０はクラウドサービスにより実現される。なお、アクティブノード１１０及びスタンバイノード１２０は、情報処理装置と称されることもある。
【００２１】
クラスタシステム１００は、通常時、アクティブノード１１０により所定のサービスを提供し、アクティブノード１１０に異常が発生した際に、フェールオーバーを実施し、アクティブノード１１０に代わりスタンバイノード１２０が所定のサービスを提供するＨＡクラスタシステムである。
【００２２】
ここで、アクティブノード１１０は、記憶部１１１（第１の記憶部とも称される）を有しており、この記憶部１１１にデータを記憶している。なお、記憶部１１１が記憶するデータには、例えば、上記の所定のサービスを提供するアプリケーションソフトウェアにより書き込まれるデータ、ＯＳ（Operating System）が管理するファイルシステムの情報などが含まれる。なお、記憶部１１１には、これらに限らず、他の種々のデータが記憶されてもよい。
【００２３】
スタンバイノード１２０は、記憶部１２１（第２の記憶部とも称される）を有しており、アクティブノード１１０の記憶部１１１が記憶するデータと同じデータを記憶する。アクティブノード１１０の記憶部１１１及びスタンバイノード１２０の記憶部１２１は、アクティブノード１１０及びスタンバイノード１２０とは別に設けられた記憶部１４０（第３の記憶部とも称される）を介して、同期をとる。具体的には、アクティブノード１１０及びスタンバイノード１２０の以下の構成により、同期をとる。
【００２４】
アクティブノード１１０は、同期データ生成部１１２と、同期データ送信部１１３と、起動指示送信部１１４を有する。
【００２５】
同期データ生成部１１２は、記憶部１１１の記憶内容が更新された場合に、記憶部１１１の記憶内容と記憶部１２１の記憶内容を同期させるためのデータであって、更新内容を示す同期データを生成する。
【００２６】
同期データ送信部１１３は、同期データ生成部１１２により生成された同期データを記憶部１４０に送信し、同期データを記憶部１４０に記憶させる。
【００２７】
起動指示送信部１１４は、同期データ送信部１１３により同期データを送信する場合に、スタンバイノード１２０を停止状態から起動状態へと移行するよう指示する起動指示を制御装置１３０へ送信する。これに対し、制御装置１３０は、起動指示を受信すると、スタンバイノード１２０を起動するよう制御する。これにより、スタンバイノード１２０は、停止状態から起動状態になる。
【００２８】
一方、スタンバイノード１２０は、同期データ取得部１２２と、更新部１２３を有する。同期データ取得部１２２は、記憶部１４０に記憶された同期データを取得する。また、更新部１２３は、同期データ取得部１２２により取得された同期データにより示される更新内容を記憶部１２１の記憶内容に反映させて、記憶部１２１の記憶内容を更新する。
【００２９】
スタンバイノード１２０は、制御装置１３０の制御によって起動すると、同期データ取得部１２２により同期データを取得し、更新部１２３が取得された同期データに従って記憶部１２１の記憶内容を更新する。これにより、クラスタシステム１００は、記憶部１１１と記憶部１２１の同期をとる。なお、更新部１２３は、記憶部１２１の更新処理が終了すると、シャットダウン処理を実行し、スタンバイノード１２０を再び停止状態に移行させる。
【００３０】
クラスタシステム１００によれば、アクティブノード１１０及びスタンバイノード１２０が両方とも同時に起動状態でなくても、同期を実現することができる。このため、スタンバイノード１２０が同期データを取得する時点で、アクティブノード１１０が起動していなくても、スタンバイノード１２０は同期データを取得することができる。また、スタンバイノード１２０の起動を、同期データを取得する時に限定できる。
【００３１】
このようなことから、以下の点で運用コストを抑制することが可能となる。スタンバイノード１２０を常時稼働させる必要がないため、スタンバイノード１２０の運用コストを抑制することができる。特に、スタンバイノード１２０が、従量課金される環境により実現されている場合には、課金される利用料金を抑制することができる。ここで、運用コストは、必ずしも利用料金に限らず、運用に関わる労力などのコストも含む。また、スタンバイノード１２０が同期データを取得する際、アクティブノード１１０が起動していなくても同期は完了するため、スタンバイノード１２０が同期データを取得する際に必ずしもアクティブノード１１０が起動状態でなくてもよい。このため、アクティブノード１１０の運用コストも抑制される。
＜実施の形態１＞
以下、実施の形態１について説明する。
【００３２】
図２は、実施の形態１にかかるクラスタシステム２００の構成を示すブロック図である。図２に示すように、クラスタシステム２００は、アクティブノード２１０と、外部記憶部２４０と、クラウドサービス２０を有する。アクティブノード２１０、外部記憶部２４０、及びクラウドサービス２０は、ネットワーク２５を介して、相互に通信可能に接続されている。なお、ネットワーク２５は、有線ネットワークでもよいし、無線ネットワークでもよい。
【００３３】
本実施の形態では、アクティブノード２１０は、オンプレミス環境で実現される情報処理装置である。アクティブノード２１０の詳細な構成は、図３を用いて後述する。なお、アクティブノード２１０は、上述のアクティブノード１１０に対応している。
【００３４】
クラウドサービス２０は、仮想マシンを使用したクラウドコンピューティング基盤を用いてサービスを提供する環境であり、典型的にはサーバコンピュータから構成される情報処理システムである。クラウドサービス２０は、サービス制御部２３０と、スタンバイノード２２０を有する。したがって、本実施の形態では、サービス制御部２３０及びスタンバイノード２２０は、それぞれ、クラウドコンピューティング基盤を用いて実現された情報処理装置である。
サービス制御部２３０及びスタンバイノード２２０は、ネットワーク２５に接続されている。なお、サービス制御部２３０は、ネットワーク２５とは別のネットワークによりアクティブノード２１０と通信してもよい。スタンバイノード２２０の詳細な構成は、図４を用いて後述する。サービス制御部２３０は、上述の制御装置１３０に対応しており、スタンバイノード２２０は、上述のスタンバイノード１２０に対応している。
【００３５】
クラスタシステム２００は、このような構成により、ＨＡクラスタシステムを実現している。すなわち、クラスタシステム２００は、通常時、アクティブノード２１０により後述するアプリケーション２１３に従ったサービスを提供し、アクティブノード２１０に異常が発生した際に、フェールオーバーを実施し、アクティブノード２１０に代わりスタンバイノード２２０が後述するアプリケーション２２３に従って引き続きこのサービスを提供する。なお、アクティブノード２１０、サービス制御部２３０、及びスタンバイノード２２０は、それぞれ図示しないＣＰＵ（Central Processing Unit）及びメモリなどを有し、コンピュータとしての機能を備えている。
【００３６】
外部記憶部２４０は、図２に示されるように、アクティブノード２１０及びスタンバイノード２２０とは別に設けられた記憶装置である。なお、外部記憶部２４０は、上述の記憶部１４０に対応している。外部記憶部２４０は、クラウドサービス２０により提供されるオブジェクトストレージなどであってもよい。ストレージサービスは、一般的に、常時利用可能であるため、同期データの格納先として適していると考えられる。外部記憶部２４０には、後述するように、アクティブノード２１０とスタンバイノード２２０で記憶内容の同期を行うための同期データが格納される。
【００３７】
サービス制御部２３０は、クラウドサービス２０内の各機能を制御する。特に、本実施の形態では、サービス制御部２３０は、スタンバイノード２２０の起動を制御する。サービス制御部２３０は、後述する起動指示を受信した場合に、スタンバイノード２２０を起動するよう制御する。これにより、スタンバイノード２２０は、停止状態から起動状態へと移行する。サービス制御部２３０による制御は、例えば、ＣＰＵの制御によって、プログラムが実行されることによって実現できる。より具体的には、サービス制御部２３０の図示しない記憶装置に格納されたプログラムを、ＣＰＵの制御によって実行して実現する。また、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。
【００３８】
次に、アクティブノード２１０及びスタンバイノード２２０の具体的な構成について説明する。まず、アクティブノード２１０について説明する。
【００３９】
図３は、アクティブノード２１０の構成を示すブロック図である。図３に示されるように、記憶部２１１と、ファイルシステム２１２と、アプリケーション２１３と、クラスタウェア２１４と、データ制御部２１５と、データ転送部２１６と、スタンバイノード起動制御部２１７を有する。
【００４０】
ファイルシステム２１２、アプリケーション２１３、クラスタウェア２１４、データ制御部２１５、データ転送部２１６、及びスタンバイノード起動制御部２１７は、例えば、ＣＰＵの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば記憶部２１１などの記憶装置に格納されたプログラムを、ＣＰＵの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。
【００４１】
記憶部２１１は、上述の記憶部１１１に対応した記憶装置であり、データを記憶する。
ファイルシステム２１２は、ＯＳなどが提供するデータ管理機能であり、データ及びそのデータの管理情報（データサイズ、データへのアクセス権など）を管理する。アプリケーション２１３は、業務アプリケーションなどといった、所定のサービスを提供するアプリケーションソフトウェアである。
【００４２】
クラスタウェア２１４は、他のノードのクラスタウェア（クラスタウェア２２４：図４参照）と協働し、ノード間で連携した動作が可能なように調整する。具体的には、例えば、クラスタウェア２１４は、自ノード及び他ノードの障害などの異常の有無を監視する。
また、クラスタウェア２１４は、例えば、ネットワーク２５又は他のネットワークを利用してノード間で通信をして、各ノードの動作を調整する。例えば、クラスタウェア２１４は、アプリケーションを起動する際にどのノードで起動するかを調整したり、ハートビート通信により他のノードが起動しているかを確認したりする。
【００４３】
アクティブノード２１０に障害などの異常が発生した場合には、クラスタウェア２１４は、クラスタウェア２２４と協働し、アクティブノード２１０によるアプリケーション２１３の起動から、スタンバイノード２２０によるアプリケーション２２３（図４参照）の起動へと切り替える。このような切替は、具体的には、例えば次のような例がある。クラスタウェア２１４によるアクティブノード２１０の障害の検出後、アクティブノード２１０とスタンバイノード２２０との通信により、アクティブノード２１０上でのアプリケーション２１３の実行が停止され、スタンバイノード２２０上でのアプリケーション２２３の実行が開始される。また、アクティブノード２１０からのハートビート通信が途絶したことがスタンバイノード２２０のクラスタウェア２２４により検出され、アクティブノード２１０がダウンしたものとしてスタンバイノード２２０のアプリケーション２２３が起動される。
【００４４】
データ制御部２１５は、記憶部２１１に対する入出力を制御する。一般的に、ファイルシステム２１２の入出力はそのまま記憶部２１１に対し行われるが、本実施の形態では、ファイルシステム２１２と記憶部２１１との間の入出力処理にデータ制御部２１５の処理をフックしている。データ制御部２１５は、上述の同期データ生成部１１２に対応しており、記憶部２１１の記憶内容が更新された場合に、記憶部２１１の記憶内容とスタンバイノード２２０の後述する記憶部２２１の記憶内容を同期させるための同期データを生成する。
【００４５】
アプリケーション２１３からの書き込み要求は、ファイルシステム２１２を経てデータ制御部２１５にわたる。これにより、記憶部２１１にデータが書き込まれることとなる。
【００４６】
データ制御部２１５は、記憶部２１１に格納されているデータを基に同期データを作成する。本実施の形態では、同期データは、記憶部２１１の第１の記憶内容と、この第１の記憶内容に対する更新後の記憶部２１１の第２の記憶内容との差分データである。すなわち、同期データは、例えば、時間、又は記憶部２１１に書き込まれるデータの順番などを基準とした、２つの記憶内容間での差分データである。
【００４７】
データ転送部２１６は、上述の同期データ送信部１１３に対応しており、データ制御部２１５により生成された同期データを、ネットワーク２５を介して外部記憶部２４０に格納する。本実施の形態では、差分データが用いられるため、外部記憶部２４０に格納するデータ量を抑制することができる。
【００４８】
スタンバイノード起動制御部２１７は、上述の起動指示送信部１１４に対応しており、サービス制御部２３０にスタンバイノード２２０の起動を要求する。スタンバイノード起動制御部２１７は、データ転送部２１６が外部記憶部２４０に同期データを送信して格納する際、スタンバイノード２２０を停止状態から起動状態へと移行するよう指示する起動指示をサービス制御部２３０へ送信する。
【００４９】
次に、スタンバイノード２２０について説明する。図２に示した例では、スタンバイノード２２０は１つであるが、複数であってもよい。本実施の形態では、スタンバイノード２２０は、クラウドサービス２０が提供するＩａａＳのノードとして構成されており、使用時間等に応じて従量課金されるものとする。従量課金の場合、必要な時に、必要な時間だけノードを稼働させることで運用コストを抑えることができる。
【００５０】
図４は、スタンバイノード２２０の構成を示すブロック図である。図４に示されるように、スタンバイノード２２０は、記憶部２２１と、ファイルシステム２２２と、アプリケーション２２３と、クラスタウェア２２４と、データ転送部２２５と、データ制御部２２６を有する。
【００５１】
ファイルシステム２２２、アプリケーション２２３、クラスタウェア２２４、データ転送部２２５、及びデータ制御部２２６は、例えば、ＣＰＵの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば記憶部２２１などの記憶装置に格納されたプログラムを、ＣＰＵの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。
【００５２】
記憶部２２１は、上述の記憶部１２１に対応した記憶装置であり、アクティブノード２１０の記憶部２１１が記憶するデータと同じデータを記憶する。ファイルシステム２２２は、ファイルシステム２１２と同様のデータ管理機能である。アプリケーション２２３は、アプリケーション２１３と同様のアプリケーションソフトウェアであり、アプリケーション２１３により提供されるサービスと同じサービスを提供する。クラスタウェア２２４は、クラスタウェア２１４と同様のものであり、クラスタウェア２１４と協働し、ノード間で連携した動作が可能なように調整する。
【００５３】
データ転送部２２５は、上述の同期データ取得部１２２に対応しており、外部記憶部２４０に記憶された同期データを、ネットワーク２５を介して取得する。また、データ転送部２２５は、同期データの取得に際し、取得対象の同期データが、記憶部２２１に適用してもよい同期データであるか否かを判定する。すなわち、取得対象の同期データが、同期相手の記憶部２１１の記憶内容と整合するか否かが判定される。データ転送部２２５において、この判定処理を行う構成は、判定手段と呼ばれてもよい。このような判定により、同期相手のノードの記憶部２１１の記憶内容と自ノードの記憶部２２１の記憶内容との不整合を防ぐことができる。
【００５４】
取得対象の同期データを記憶部２２１に適用してもよいか否かは、例えば、取得対象の同期データが、現在記憶部２２１が保持しているデータよりも新しいデータであるか否かにより判定される。この場合、データが記憶部２１１に書き込まれた日時、又は、記憶部２１１における書き込み順序などにより、取得対象の同期データが、現在記憶部２２１が保持しているデータよりも新しいデータであるか否かを判定してもよい。なお、書き込み順序は、例えばデータ制御部２１５及び２２６により記録される。
【００５５】
また、取得対象の同期データを記憶部２２１に適用してもよいか否かは、例えば、データの一貫性があるか否かにより判定されてもよい。業務アプリケーションが異なる複数のノードで起動した状況下において、同じタイミングで複数のノードで書き込みが発生するとデータの流れに分岐が発生してしまう。この場合には、新しいデータであるか否かだけでは整合性を判断できない。そのため、書き込みを実施したノードを特定する履歴情報などに基づいて、書き込みを実施したノードが、同期相手のノードであるかを確認することにより判定がなされてもよい。
【００５６】
データ制御部２２６は、データ制御部２１５と同様、記憶部２２１に対する入出力を制御する。ただし、データ制御部２１５が同期データの生成を行うのに対し、データ制御部２２６は、上述の更新部１２３に対応しており、データ転送部２２５により取得された同期データにより示される更新内容を記憶部２２１の記憶内容に反映させて、記憶部２２１の記憶内容を更新する。本実施の形態では、データ制御部２２６は、データ転送部２２５により取得された差分データを、記憶部２２１の記憶内容に対し適用し、記憶内容の更新を行う。なお、データ制御部２２６は、記憶部２２１の記憶内容と整合すると判定された同期データに対し、更新処理を行う。データ制御部２２６は、記憶部２２１の更新処理が終了すると、シャットダウン処理を実行し、スタンバイノード２２０を停止状態に移行させる。
【００５７】
次に、クラスタシステム２００における同期動作について説明する。図５は、クラスタシステム２００の同期動作の一例を示すシーケンスチャートである。なお、図５に示すシーケンスチャートにおいて、スタンバイノード２２０は、ステップ１０３までの間、停止状態であるものとする。
【００５８】
ステップ１００（Ｓ１００）において、アクティブノード２１０のデータ制御部２１５は、記憶部２１１に格納されたデータから同期データを作成する。
【００５９】
次に、ステップ１０１（Ｓ１０１）において、アクティブノード２１０のデータ転送部２１６は、ステップ１００で生成された同期データを、ネットワーク２５を利用して外部記憶部２４０に送信し、外部記憶部２４０に格納する。
【００６０】
次に、ステップ１０２（Ｓ１０２）において、アクティブノード２１０のスタンバイノード起動制御部２１７が、スタンバイノード２２０の起動をサービス制御部２３０に要求する。すなわち、スタンバイノード起動制御部２１７は、起動指示をサービス制御部２３０に送信する。
【００６１】
次に、ステップ１０３（Ｓ１０３）において、サービス制御部２３０は、スタンバイノード２２０を起動するよう制御する。
【００６２】
ステップ１０４（Ｓ１０４）において、スタンバイノード２２０の起動完了後、スタンバイノード２２０のデータ転送部２２５は、外部記憶部２４０に格納されている同期データがスタンバイノード２２０の記憶部２２１に適用可能かどうかを判定する。適用可能である場合、データ転送部２２５は外部記憶部２４０から同期データを、ネットワーク２５を利用して取得する。
【００６３】
続いて、ステップ１０５（Ｓ１０５）において、スタンバイノード２２０のデータ制御部２２６は、ステップ１０４で取得した同期データを用いて、記憶部２２１の記憶内容を更新する。
【００６４】
ステップ１０６（Ｓ１０６）において、同期が完了すると、スタンバイノード２２０は、自らシャットダウンしてノードを停止する。
【００６５】
このように、クラスタシステム２００は、外部記憶部２４０を介して同期データの送受信を行っている。このため、アクティブノード２１０及びスタンバイノード２２０が同時に起動状態でなくても同期が可能となる。すなわち、アクティブノード２１０及びスタンバイノード２２０は外部記憶部２４０に対しアクセスするため、アクティブノード２１０による同期データの格納の際(ステップ１０１）、及びスタンバイノード２２０による同期データの取得の際（ステップ１０４）、相手ノードの起動状態に関わらず同期処理を実行することができる。また、同期データが外部記憶部２４０にあるため、スタンバイノード２２０が複数存在する場合にデータ同期を実施するときでも、アクティブノード２１０への負荷を抑制して同期を実現することができる。
【００６６】
また、アクティブノード２１０で運用している場合は、同期処理を行う時以外、スタンバイノード２２０を停止状態にすることが可能となる。このため、運用コストを抑えることが可能となる。特に、スタンバイノード２２０の起動を同期処理時に限定した場合のスタンバイノード２２０の運用コストと、外部記憶部２４０を常時起動させた場合の外部記憶部２４０の運用コストとの和が、スタンバイノード２２０を常時起動させた場合の運用コストよりも低いとき、アクティブノード２１０及びスタンバイノード２２０を常時起動させて両者間で直接同期する場合よりも運用コストは低くなる。
【００６７】
なお、外部記憶部２４０が障害等により利用できなくなった場合は、クラスタシステム２００は、アクティブノード２１０及びスタンバイノード２２０が直接通信して同期処理を実施する。具体的には、スタンバイノード２２０のデータ制御部２２６は、外部記憶部２４０に記憶された同期データの取得に失敗した場合、アクティブノード２１０に同期データを要求し、アクティブノード２１０のデータ制御部２１５は、この要求に応じて、同期データをスタンバイノード２２０に送信する。以下、この場合の動作について説明する。図６は、クラスタシステム２００の同期動作の一例を示すシーケンスチャートである。
【００６８】
ステップ２００（Ｓ２００）において、外部記憶部２４０において障害等の異常が発生する。
【００６９】
ステップ２０１（Ｓ２０１）において、スタンバイノード２２０のデータ転送部２２５は、外部記憶部２４０からの同期データの取得を試みるが、障害が発生しているため、取得に失敗する。
【００７０】
ステップ２０２（Ｓ２０２）において、スタンバイノード２２０のデータ転送部２２５は、アクティブノード２１０に同期データを要求する。具体的には、データ制御部２２６は、記憶部２２１が現在保持しているデータの情報をデータ制御部２２６から取得し、アクティブノード２１０に対し同期データの生成を要求する。
【００７１】
ステップ２０３（Ｓ２０３）において、アクティブノード２１０のデータ制御部２１５は、ステップ２０２の要求に従い、同期データを生成する。
【００７２】
ステップ２０４（Ｓ２０４）において、アクティブノード２１０のデータ転送部２１６は、生成した同期データをスタンバイノード２２０に送信する。
【００７３】
ステップ２０５（Ｓ２０５）において、スタンバイノード２２０のデータ転送部２２５は、アクティブノード２１０から送信された同期データを取得する。そして、データ制御部２２６は、取得した同期データを用いて、記憶部２２１の記憶内容を更新する。
【００７４】
ステップ２０６（Ｓ２０６）において、同期が完了すると、スタンバイノード２２０は、自らシャットダウンしてノードを停止する。
＜実施の形態２＞
次に、実施の形態２について説明する。実施の形態１にかかるクラスタシステム２００のようにスタンバイノード２２０を必要なときのみ起動する運用とした場合、スタンバイノード２２０が停止しているときにアクティブノード２１０がダウンしてしまうと、クラスタシステムとして業務を継続できないおそれがある。このため、本実施の形態では、アクティブノード２１０の起動状態を監視する外部制御部２６０を設ける。
【００７５】
図７は、実施の形態２にかかるクラスタシステム３００の構成を示すブロック図である。図７に示されるように、クラスタシステム３００は、外部制御部２６０（第２の制御装置）が追加されている点を除き、クラスタシステム２００と同様である。すなわち、クラスタシステム３００は、アクティブノード２１０と、外部記憶部２４０と、クラウドサービス２０と、外部制御部２６０を有する。以下、クラスタシステム３００について、クラスタシステム２００と異なる点について説明し、重複する説明を省略する。
【００７６】
外部制御部２６０は、アクティブノード起動監視部２６１及びスタンバイノード起動制御部２６２を有する情報処理装置である。外部制御部２６０は、オンプレミス環境で実現されてもよいし、仮想マシンを使用したクラウドコンピューティング基盤を用いた環境で実現されてもよい。例えば、外部制御部２６０は、クラウドサービス２０により実現されてもよい。この場合、クラウドサービス２０の最もコストが低いノードを利用してもよい。外部制御部２６０は、クラスタシステム３００が起動中は常時起動することになるが、外部制御部２６０をスタンバイノード２２０よりも低いコストで運用することにより、全体のコストを抑制することができる。
【００７７】
アクティブノード起動監視部２６１及びスタンバイノード起動制御部２６２は、例えば、ＣＰＵの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば図示しない記憶装置に格納されたプログラムを、ＣＰＵの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。
【００７８】
外部制御部２６０は、アクティブノード２１０及びサービス制御部２３０とネットワーク２５を介して通信が可能である。外部制御部２６０は、ネットワーク２５とは異なるネットワークを介して、これらと通信してもよい。なお、外部制御部２６０は、それぞれ図示しないＣＰＵ（Central Processing Unit）及びメモリなどを有し、コンピュータとしての機能を備えている。
【００７９】
アクティブノード起動監視部２６１は、アクティブノード２１０の動作状態を監視する。すなわち、アクティブノード起動監視部２６１（監視部と称されることもある）は、アクティブノード２１０が正常に起動しているか否かを監視する。アクティブノード起動監視部２６１は、アクティブノード２１０に障害等の異常が発生した場合、この異常を検出する。なお、アクティブノード起動監視部２６１による監視は、例えば、ハートビート通信により行われるが、公知の種々の監視方法が使用されてもよい。
【００８０】
スタンバイノード起動制御部２６２は、スタンバイノード起動制御部２１７と同様、サービス制御部２３０にスタンバイノード２２０の起動を要求する。具体的には、スタンバイノード起動制御部２６２は、アクティブノード起動監視部２６１により、アクティブノード２１０の異常が検出された場合に、起動指示をサービス制御部２３０へ送信する。スタンバイノード起動制御部２６２は、第２の起動指示送信部と称されることもある。
【００８１】
次に、クラスタシステム３００の動作について説明する。図８は、スタンバイノード２２０が停止中にアクティブノード２１０がダウンした場合のクラスタシステム３００におけるフェールオーバーの動作の一例を示すシーケンスチャートである。
【００８２】
ステップ３００（Ｓ３００）において、アクティブノード２１０において障害等の異常が発生し、アクティブノード２１０がダウンする。
【００８３】
ステップ３０１（Ｓ３０１）において、外部制御部２６０のアクティブノード起動監視部２６１が、アクティブノード２１０がダウンしたことを検出する。
【００８４】
次に、ステップ３０２（Ｓ３０２）において、外部制御部２６０のスタンバイノード起動制御部２６２が、スタンバイノード２２０の起動をサービス制御部２３０に要求する。
すなわち、スタンバイノード起動制御部２６２は、起動指示をサービス制御部２３０に送信する。
【００８５】
次に、ステップ３０３（Ｓ３０３）において、サービス制御部２３０は、スタンバイノード２２０を起動するよう制御する。
【００８６】
次に、ステップ３０４（Ｓ３０４）において、スタンバイノード２２０の起動が完了すると、スタンバイノード２２０のクラスタウェア２２４は、アクティブノード２１０がダウンしていることを確認する。
【００８７】
次に、ステップ３０５（Ｓ３０５）において、スタンバイノード２２０のデータ転送部２２５は、外部記憶部２４０に格納されている同期データがスタンバイノード２２０の記憶部２２１に適用可能かどうかを判定する。適用可能である場合、データ転送部２２５は外部記憶部２４０から同期データを、ネットワーク２５を利用して取得する。
【００８８】
次に、ステップ３０６（Ｓ３０６）において、スタンバイノード２２０のデータ制御部２２６は、ステップ３０５で取得した同期データを用いて、記憶部２２１の記憶内容を更新する。
【００８９】
次に、ステップ３０７（Ｓ３０７）において、同期が完了すると、クラスタウェア２２４は、アプリケーション２２３を起動する。
【００９０】
以上、動作を説明したが、既に同期が完了している場合には、記憶部２２１の更新処理は省略されてもよい。
【００９１】
このように、クラスタシステム３００によれば、スタンバイノード２２０が停止しているときにアクティブノード２１０がダウンしても、スタンバイノード２２０が起動し、クラスタシステムとして業務を継続することが可能となる。
【００９２】
ここで、スタンバイノード２２０の起動を同期処理時に限定した場合のスタンバイノード２２０の運用コストと、外部記憶部２４０を常時起動させた場合の外部記憶部２４０の運用コストと、外部制御部２６０を常時起動させた場合の外部制御部２６０の運用コストと、の和が、スタンバイノード２２０を常時起動させた場合の運用コストよりも低いとき、アクティブノード２１０及びスタンバイノード２２０を常時起動させて両者間で直接同期する場合よりも運用コストは低くなる。
【００９３】
なお、アクティブノード２１０のスタンバイノード起動制御部２１７による起動指示に基づいて起動した際のスタンバイノード２２０の性能を、外部制御部２６０のスタンバイノード起動制御部２６２による起動指示に基づいて起動した際のスタンバイノード２２０の性能よりも低くしてもよい。例えば、クラウドサービス２０においてスタンバイノード２２０を実現する際、ＣＰＵ数又はメモリ量などの性能を抑えてスタンバイノード２２０が構築されてもよい。これにより、スタンバイノード２２０が、サービスを提供するためではなく同期のために起動している際に、利用するリソース量を抑制することができるため、リソース量に応じて従量課金される場合には運用コストを抑えることが可能となる。
【００９４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、各ノード、サービス制御部２３０、又は外部制御部２６０が、物理環境において実現されてもよい。なお、物理環境におけるスタンバイノード２２０の起動は、Ｗａｋｅ ｏｎ ＬＡＮ機能などを利用することにより実現しうる。
【００９５】
また、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９６】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００９７】
この出願は、２０１５年９月１７日に出願された日本出願特願２０１５−１８３６４１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９８】
２０    クラウドサービス
２５    ネットワーク
１００、２００、３００    クラスタシステム
１１０、２１０    アクティブノード
１１１、１２１、１４０、２１１、２２１    記憶部
１１２    同期データ生成部
１１３    同期データ送信部
１１４    起動指示送信部
１２０、２２０    スタンバイノード
１２２    同期データ取得部
１２３    更新部
１３０    制御装置
２１２、２２２    ファイルシステム
２１３、２２３    アプリケーション
２１４、２２４    クラスタウェア
２１５、２２６    データ制御部
２１６、２２５    データ転送部
２１７、２６２    スタンバイノード起動制御部
２３０    サービス制御部
２４０    外部記憶部
２６０    外部制御部
２６１    アクティブノード起動監視部
【図１】
2017047065.tif 000003
【図２】
2017047065.tif 000004
【図３】
2017047065.tif 000005
【図４】
2017047065.tif 000006
【図５】
2017047065.tif 000007
【図６】
2017047065.tif 000008
【図７】
2017047065.tif 000009
【図８】
2017047065.tif 000010
【手続補正書】
【提出日】平成30年3月9日(2018.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
第１の記憶部を有する情報処理装置のコンピュータに、
前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、
生成された前記同期データを、前記第１の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、
前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する、ことを実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明はクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
本発明の目的は、このような課題を解決するためになされたものであり、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
また、本発明の一態様にかかるプログラムは、第１の記憶部を有する情報処理装置のコンピュータに、前記第１の記憶部の記憶内容が更新された場合に、前記第１の記憶部の記憶内容と他の情報処理装置が有する第２の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、前記第１の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第３の記憶部に送信して前記第３の記憶部に記憶させ、前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信することを実行させるプログラムである。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明によれば、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを提供することができる。
【国際調査報告】
2017047065.tif 000011
2017047065.tif 000012
2017047065.tif 000013
2017047065.tif 000014