(57)【要約】【課題】平常時のサービス提供に用いられないサーバのリソースの使用量を抑える。【解決手段】サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、前記同期制御サーバは、前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示部、を有し、前記予備系のサーバは、同期の指示を受けたことに応じて生成される処理実行部を有し、前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム、が提供される。【選択図】図４
2017167675.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、
前記同期制御サーバは、
前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる同期指示部、を有し、
前記予備系のサーバは、
同期の指示を受けたことに応じて生成される処理実行部、を有し、
前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム。
【請求項２】
前記同期制御サーバは、
前記稼働系のサーバから前記情報の更新状態を取得する取得部と、
前記情報の更新状態が、前記情報の種類毎に設定された所定の条件を満たすか否かを判断する判断部と、を有し、
前記所定の条件を満たすと判断された場合、前記同期指示部は、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる、請求項１に記載の情報処理システム。
【請求項３】
前記同期制御サーバは、
前記稼働系のサーバの異常を検知する検知部と、
異常を検知したことに応じて、前記予備系のサーバへの切替の指示を送信する切替指示部と、を有し、
前記予備系のサーバは、前記切替の指示を受信したことに応じて、前記処理実行部を生成し、
生成された前記処理実行部は、前記記憶部に記憶されている前記情報を用いて動作する、請求項１又は２に記載の情報処理システム。
【請求項４】
前記情報のいずれかが、前記所定の条件を満たす場合、前記同期指示部は、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる、請求項２に記載の情報処理システム。
【請求項５】
前記情報の種類毎に設定された前記所定の条件は、切替時に継続性が要求される情報ほど満たし易いように設定される、請求項４に記載の情報処理システム。
【請求項６】
サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバとの間で実行される情報処理方法であって、
前記同期制御サーバが、前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させるステップと、
前記予備系のサーバが、同期の指示を受けたことに応じて処理実行部を生成するステップと、
前記予備系のサーバが、前記処理実行部を用いて、前記稼働系のサーバから前記情報を取得するステップと、
前記予備系のサーバが、取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除するステップと、を有する、情報処理方法。
【請求項７】
サービスを提供する稼働系のサーバに記憶されている情報を用いて前記サービスを提供できないときに該サービスを提供する予備系のサーバの状態を、前記稼働系のサーバの状態に同期させる同期制御サーバであって、
前記予備系のサーバに、前記稼働系のサーバから前記情報を取得させる同期指示を送信する同期指示部、を有し、
前記同期指示は、
前記予備系のサーバに、同期の指示を受けたことに応じて処理実行部を生成する指示、
前記処理実行部が、前記稼働系のサーバから前記情報を取得する指示、及び、
取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除する指示を含む、同期制御サーバ。
【請求項８】
サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバであって、
前記稼働系のサーバから情報を取得する指示を受信する受信部と、
前記取得する指示を受けたことに応じて生成される処理実行部とを有し、
前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される予備系のサーバ。
【請求項９】
サービスを提供する稼働系のサーバに記憶されている情報を用いて前記サービスを提供できないときに該サービスを提供する予備系のサーバの状態を、前記稼働系のサーバの状態に同期させる同期制御サーバのプログラムであって、
前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示を送信するステップ、を同期制御サーバに実行させ、
前記同期指示は、
前記予備系のサーバに、同期の指示を受けたことに応じて処理実行部を生成する指示、
前記処理実行部が、前記稼働系のサーバから前記情報を取得する指示、及び、
取得した前記情報を記憶部に記憶させた後に、前記処理実行部を削除する指示を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、及びサーバに関する。
【背景技術】
【０００２】
ユーザが端末を用いて、各種Ｗｅｂサービスを提供するサーバにアクセスし、サービス提供を受ける形態が普及している。
【０００３】
また、平常時にサービスを提供する稼働系のサーバの故障等に備えて、予備系のサーバを配備することも実施されている。例えば、予備系のサーバを配置し、予備系のサーバに記憶される情報を、稼働系のサービス提供サーバに記憶される情報に同期させることにより、稼働系のサーバが故障した場合でも、予備系のサーバを用いてサービスの提供を継続することが提案されている（例えば、特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、故障等の非常時の使用を前提としている予備系のサーバを、常時動作させ、情報を同期させることは、サービス提供コストの増加要因となり得るため好ましくない場合がある。予備系のサービス提供サーバは、第三者が提供するクラウドインフラプラットフォーム（以下、クラウド）上に構築される場合が多い。この場合、クラウドを運営する第三者から、サーバの使用する処理能力や記憶容量等のリソースの使用量に応じて、サーバの使用料を課金されるケースが一般的である。このため、各種Ｗｅｂサービスの提供者にとっては、可能な限りクラウド上に構築されている予備系のサーバのリソースの使用量を抑えることが好ましい。
【０００５】
本発明は、上記の課題に鑑みてされたものであって、平常時のサービス提供に用いられないサーバのリソースの使用量を抑えることを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様によれば、サービスを提供する稼働系のサーバと、前記稼働系のサーバで前記サービスを提供できないときに該サービスを提供する予備系のサーバと、前記稼働系のサーバに記憶されている情報を用いて、前記予備系のサーバの状態を前記稼働系のサーバの状態に同期させる同期制御サーバと、を有する情報処理システムにおいて、前記同期制御サーバは、前記予備系のサーバに、前記稼働系のサーバから情報を取得させる同期指示部、を有し、前記予備系のサーバは、同期の指示を受けたことに応じて生成される処理実行部を有し、前記処理実行部は、前記稼働系のサーバから前記情報を取得し、取得した前記情報を記憶部に記憶させた後に、削除される情報処理システム、が提供される。
【発明の効果】
【０００７】
平常時のサービス提供に用いられないサーバのリソースの使用量を抑えることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るシステム構成の一例を示す図（その１）である。
【図２】実施形態に係るシステム構成の一例を示す図（その２）である。
【図３】実施形態に係る予備系のサーバ群への切り替え手順を示す図である。
【図４】実施形態に係る予備系のサーバ群における情報の同期手順を示す図である。
【図５】実施形態に係るコンピュータのハードウエア構成の一例を示す図である。
【図６】実施形態に係る運用制御サーバの機能構成の一例を示す図である。
【図７】実施形態に係る同期判断テーブルの一例を示す図である。
【図８】実施形態に係る稼働系のサーバ群の機能構成の一例を示す図である。
【図９】実施形態に係る予備系のサーバ群の機能構成の一例を示す図である。
【図１０】実施形態に係る動作シーケンスの一例を示す図である。
【図１１】実施形態に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【０００９】
＜システム構成＞
図１を用いて、本実施形態に係る情報処理システム１について説明する。情報処理システム１は、稼働系のサーバ群１０、予備系のサーバ群２０、端末３０、及び運用制御サーバ５０を有する。端末３０、サーバ群（１０、２０）、及び運用制御サーバ５０は、ネットワーク４０を介して接続される。ネットワーク４０は有線ネットワークと、無線ネットワークとを有する。
【００１０】
稼働系のサーバ群１０は、平常時にユーザ３５にサービスを提供するサーバ群である。稼働系のサーバ群１０は、一以上のサーバ装置を有し、ユーザ３５に各種サービスを提供する機能が配備されている。例えば、稼働系のサーバ群１０は、ユーザ３５のログイン処理を行うログインサーバ、アプリケーションの処理の実行及び端末３０へのアプリケーションの提供を行うアプリケーションサーバ、端末３０への各種コンテンツの提供を行うコンテンツサーバ、端末３０に映像配信サービスの提供を行う映像配信サーバ、ユーザ３５の情報と各種サービスを提供するために必要な情報を記憶するデータベースサーバ、及びデータベースに記憶されているデータを永続的に記憶するためのデータストアの機能を有する。
【００１１】
端末３０は、サービスの提供を受けるユーザ３５の端末であって、例えば、スマートフォン、タブレット端末、及びパソコン等である。
【００１２】
端末３０は、ユーザ３５からの指示を受けて、サービス提供要求を、稼働系のサーバ群１０に送信し、稼働系のサーバ群１０から要求信号の応答を受信する。信号４５は、サービス提供要求と応答とを示している。
【００１３】
予備系のサーバ群２０は、一以上のサーバ装置を有し、運用制御サーバ５０からの指示を受けて、稼働系のサーバ群１０と同様の機能が生成される。予備系のサーバ群２０は、稼働系のサーバ群１０の故障等により正常に動作できない場合に、ユーザ３５に、稼働系のサーバ群１０が提供するのと同様のサービスを提供する。
【００１４】
稼働系のサーバ群１０の故障時にサービスを提供するために、予備系のサーバ群２０は、所定の条件を満たす場合、稼働系のサーバ群１０で記憶している情報を取得し（信号２５）、取得した情報を記憶する。情報が取得されたタイミングでは、稼働系のサーバ群１０で記憶している情報と、予備系のサーバ群２０で記憶している情報とは、同期している。
【００１５】
所定の条件は、情報の種類毎に設定される。使用する予備系のサーバ群２０のリソースを節約するため、情報の重要度に応じて所定の条件は調整されてもよい。ここで、情報の重要度は、例えば、最新の情報を記憶しておく必要性に基づいて定められる。例えば、ユーザ３５に提供するサービスの提供に影響のあるユーザの登録情報等は、所定の数のユーザが登録される度に、同期するように所定の条件は調整されてもよい。また、サービスに影響の少ないサービスの提供状態等に関する情報（例えば、統計情報）は、1日に１回同期するように所定の条件は調整されてもよい。
【００１６】
図１に示すように、稼働系のサーバ群１０と、予備系のサーバ群２０とは、別のデータセンタに配備されることが好ましい。停電等により、データセンタに配備されている全てのサーバが、正常に動作できない場合であっても、予備系のサーバ群２０に切り替えて、ユーザにサービスを提供できるためである。
【００１７】
予備系のサーバ群２０は、第三者が提供するクラウドインフラサービスプラットフォーム（以下、クラウド）上に配備されることが想定される。この場合、クラウド上のサーバ群は、クラウドを使用する事業者が共用するため、予備系のサーバ群２０の配置コストを抑えることが可能である。
【００１８】
クラウド上に、配備されているサーバ群を使用する場合、該サーバ群の使用時間、及び使用する記憶容量等の使用リソース量に応じて、サーバ群の使用者は、クラウドの提供者に費用を支払うことが一般的である。このため、予備系のサーバ群２０の配置コストを抑えるためには、予備系のサーバ群２０が使用するクラウド上のリソース量を抑えることが好ましい。
【００１９】
運用制御サーバ５０は、稼働系のサーバ群１０に記憶されている情報を用いて、予備系のサーバ群の状態を稼働系のサーバの状態に同期させる。
【００２０】
運用制御サーバ５０は、予備系のサーバ群２０上に、稼働系のサーバ群１０が提供しているのと同様の機能を生成させる。
【００２１】
運用制御サーバ５０は、稼働系のサーバ群１０に記憶されている情報の種類毎に更新状態を取得し（信号５３）、更新状態を取得した情報の各々を予備系のサーバ群２０に記憶させる必要があるか否かを判断する。必要があると判断した場合、運用制御サーバ５０は、予備系のサーバ群２０に、稼働系のサーバ群１０から情報を取得することを指示する（信号５５）。
【００２２】
図２を用いて、稼働系のサーバ群１０が正常に動作しなくなった場合の動作について説明する。稼働系のサーバ群１０が正常に動作しなくなった場合とは、稼働系のサーバ群１０の装置故障に加えて、ネットワーク４０の異常、稼働系のサーバ群１０の電源供給の異常等のサービス提供事業者では、解決困難な場合を含む。
【００２３】
ステップＳ２０１で、運用制御サーバ５０が、稼働系のサーバ群１０の故障を検出する。
【００２４】
ステップＳ２０２で、運用制御サーバ５０は、予備系のサーバ群２０に、処理の開始を指示する。処理の開始の指示を受けて、予備系のサーバ群２０は、稼働系のサーバ群１０が提供しているのと同様の機能を生成する。具体的には、予備系のサーバ群２０は、サーバの起動処理、アプリケーションの展開処理、及びアプリケーションの稼働の事前設定処理を行う。
【００２５】
予備系のサーバ群２０の起動処理等を実行するときには、予備系のサーバ群２０は、稼働系のサーバ群１０から取得し、予備系のサーバ群２０のデータストアに記憶されている情報を用いて起動処理を行う。
【００２６】
これらの処理を実行することにより、予備系のサーバ群２０は、ユーザにサービスを提供可能な状態となる。
【００２７】
例えば、予備系のサーバ群２０は、予備系のサーバ群２０上に実行インスタンスを生成し、ユーザにサービスを提供する。ここで、実行インスタンスとは、コンピュータプログラム及びデータ構造等を、サーバのメインメモリ上に展開し、処理・実行できる状態とした仮想的なコンピュータである。
【００２８】
運用制御サーバ５０は、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）を指定、又はサーバ起動時のスクリプトを指定することにより、予備系のサーバ群２０上に、稼働系のサーバ群１０で提供する機能と同様の機能を提供する実行インスタンスを生成させてもよい。この場合に、必要に応じて、データをデータストアから読み出し予備系のサーバ群２０上のデータベースで使用してもよい。読み出しには、汎用的なデータベースミドルウエアを用いることが可能である。
【００２９】
運用制御サーバ５０は、予備系のサーバ群２０がサービスを提供可能な状態となった後に、ステップＳ２０３以降の処理を実行する。
【００３０】
ステップＳ２０３で、運用制御サーバ５０は、ＤＮＳサーバ６０にＤＮＳクエリに対する応答の変更を指示する。ここで、ＤＮＳクエリは、サービスを提供するサーバの接続先のアドレスの問い合わせである。具体的には、運用制御サーバ５０は、稼働系のサーバ群１０のＩＰアドレスから、予備系のサーバ群２０のＩＰアドレスに変更することを、ＤＮＳサーバ６０に指示する。
【００３１】
ステップＳ２０４で、端末３０は、ＤＮＳサーバ６０にサービスを提供するサーバの接続先の問い合わせを送信すると、ＤＮＳサーバ６０から接続先のＩＰアドレス、この場合は、予備系のサーバ群２０のＩＰアドレスを受信する。
【００３２】
ステップＳ２０５で、端末３０は、ステップＳ２０４で取得したＩＰアドレスを用いて、予備系のサーバ群２０にサービス提供要求を送信する。
【００３３】
＜予備系のサーバ群の起動及びデータの同期＞
図３を用いて予備系のサーバ群２０の起動処理について説明する。
【００３４】
図３の（Ａ）は、予備系のサーバ群２０が、運用制御サーバ５０から処理開始の指示を受けたときの様子を示す図である。予備系のサーバ群２０のデータストア２０１は、予備系のサーバ群２０が、稼働系のサーバ群１０から取得した情報を、取得した時刻（同期時刻）と対応付けて記憶している。図３の（Ａ）の例では、データストア２０１は、同期時刻Ｔ１に稼働系のサーバ群１０から取得した情報Ａと、情報Ｂとを記憶している。データストア２０１に記憶されている情報は、予備系のサーバ群２０上の実行インスタンスが削除された後も消去されない情報である。
【００３５】
図３の（Ｂ）は、処理の開始の指示を受けて、予備系のサーバ群２０上に実行インスタンス２０２が生成される様子を示している。実行インスタンス２０２は、データストア２０１に記憶されている情報（情報Ａ、情報Ｂ）を読出し、読み出した情報を用いて、サービスを提供するための処理を実行する。
【００３６】
次に、図４を用いて予備系のサーバ群２０の同期処理について説明する。
【００３７】
図４の（Ａ）は、予備系のサーバ群２０が、運用制御サーバ５０から同期の指示を受けたときの様子を示す図である。同期の指示には、同期すべき情報の種類（情報Ａ）を含む。
【００３８】
図４の（Ｂ）は、予備系のサーバ群２０上に実行インスタンス２０２が生成される様子を示している。同期の指示を受けたことに応じて、予備系のサーバ群２０上に実行インスタンス２０２が生成される。生成された実行インスタンス２０２は、データストア２０１から情報を読出し、前回同期処理を実行したときの稼働系のサーバ群１０と同じ状態で動作する。
【００３９】
図４の（Ｃ）は、実行インスタンス２０２が稼働系のサーバ群１０から、情報を取得する様子を示している。実行インスタンス２０２は、稼働系のサーバ群１０から、現在の時刻Ｔ３における情報（情報Ａ、情報Ｂ）を取得する。ここで、実行インスタンス２０２は、前回同期した時刻Ｔ１における情報（情報Ａ、情報Ｂ）からの差分の情報のみを、稼働系のサーバ群１０から取得してもよい。
【００４０】
図４の（Ｄ）は、実行インスタンス２０２が、取得した時刻Ｔ３における情報（情報Ａ、情報Ｂ）をデータストア２０１に書き込む様子を示している。
【００４１】
図４の（Ｅ）は、実行インスタンス２０２が、データストア２０１への書込みに完了後に、予備系のサーバ群２０から削除される様子を示している。
【００４２】
実行インスタンス２０２が同期処理の完了後に、削除されることにより、予備系のサーバ群２０上の使用リソースを削減することが可能となる。これにより、予備系のサーバ群２０の運用コストの削減に寄与することができる。
【００４３】
なお、上述した実施形態では、情報の種類毎に関わらず同じタイミングで同期の処理が実行されるケースについて説明したが、異なるタイミングで同期の処理が実行されてもよい。同じタイミングで同期の処理を行う場合、情報の状態管理が容易であるというメリットがある。
【００４４】
＜ハードウエア構成＞
運用制御サーバ５０、予備系のサーバ群２０及び稼働系のサーバ群１０に属するサーバは、一般的なコンピュータ３００により実現される。図５は、一般的なコンピュータ３００のハードウエアの構成を示す図である。コンピュータ３００は入出力部３０１、外部Ｉ／Ｆ３０２、ＲＡＭ３０３、ＲＯＭ３０４、ＣＰＵ３０５、通信Ｉ／Ｆ３０６、ＨＤＤ３０７などを備え、それぞれがバスＢで相互に接続されている。
【００４５】
入出力部３０１は、コンピュータ３００のユーザから、各種設定を受け付けると共に、設定されている情報等を表示する。
【００４６】
通信Ｉ／Ｆ３０６は、他のサーバ、端末３０等と、有線、又は無線のネットワークを介して通信を行う。
【００４７】
ＨＤＤ３０７はプログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータにはコンピュータ３００全体を制御する基本ソフトウエアであるＯＳ、ＯＳ上において各種機能を提供するアプリケーションソフトウエアなどがある。なお、コンピュータ３００は、ＨＤＤ３０７に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００４８】
外部Ｉ／Ｆ３０２は、外部装置とのインタフェースである。外部装置には、外部記録媒体３０２ａなどがある。これにより、コンピュータ３００は外部Ｉ／Ｆ３０２を介して外部記録媒体３０２ａの読み取り及び／又は書き込みを行うことができる。外部記録媒体３０２ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、及びＵＳＢメモリなどがある。
【００４９】
ＲＯＭ３０４は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ３０４にはコンピュータ３００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ３０３はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００５０】
ＣＰＵ３０５は、ＲＯＭ３０４及びＨＤＤ３０７などの記憶装置からプログラムやデータをＲＡＭ３０３上に読み出し、処理を実行することで、コンピュータ３００全体の制御やコンピュータ３００の機能を実現する演算装置である。
【００５１】
＜機能構成＞
（１）運用制御サーバ
図６を用いて運用制御サーバ５０の機能構成について説明する。運用制御サーバ５０は、送受信部５１０、情報取得部５２０、判断部５３０、同期指示部５４０、状態検知部５５０、切替制御部５６０、及び情報記憶部５７０を有する。情報記憶部５７０は、同期判断テーブル５７１を有する。
【００５２】
送受信部５１０は、他のサーバ等との間でデータの送受信を行う。
【００５３】
情報取得部５２０は、稼働系のサーバ群１０が記憶している情報の状態を、稼働系のサーバ群１０から取得する。情報の状態とは、例えば、新たに登録された顧客情報の件数、及び顧客情報の連絡先等を相互に登録する情報であるコンタクトリストに含まれるコンタクト先の件数等である。
【００５４】
判断部５３０は、取得した更新状態を基に、予備系のサーバ群２０で記憶されている情報を、稼働系のサーバ群１０で記憶されている情報に同期させるか否かを判断する。判断部５３０は、判断のときに、同期判断テーブル５７１を参照する。
【００５５】
同期指示部５４０は、予備系のサーバ群２０に同期の指示を行う。同期の指示には、同期すべき情報の種類を含んでもよいし、全ての情報を同期する旨を含んでもよい。
【００５６】
状態検知部５５０は、稼働系のサーバ群１０が正常に動作しているか否かを監視する。状態検知部５５０は、稼働系のサーバ群１０が正常に動作していない状態であることを検知した場合、切替制御部５６０に通知する。正常に動作していない状態とは、例えば、稼働系のサーバ群１０の故障している状態、及び電源断やネットワーク４０の故障により稼働系のサーバ群１０と正常にデータの送受信できない状態等である。
【００５７】
切替制御部５６０は、稼働系のサーバ群１０が正常に動作していない場合に、予備系のサーバ群２０に切り替える処理を実行する。切替制御部５６０は、予備系のサーバ群２０に、起動する指示を行う。また、切替制御部５６０は、予備系のサーバ群２０から、起動処理が完了した旨の応答を受信したことに応じて、ＤＮＳサーバ６０にＤＮＳクエリの応答を予備系のサーバ群２０のアドレスに変更することを指示する。
【００５８】
情報記憶部５７０は、情報取得部５２０が取得した情報の状態を、取得した時刻と対応付けて記憶する。情報記憶部５７０は、同期判断テーブル５７１を有する。図７は、同期判断テーブル５７１の一例である。同期判断テーブル５７１には、判断項目と設定値とが対応付けられて記憶されている。
【００５９】
判断部５３０は、情報取得部５２０が取得した情報の状態と、情報記憶部５７０が記憶している情報の状態とを比較し、情報の更新状態を算出する。例えば、情報取得部５２０が時刻Ｔ１における情報の状態を取得し、情報記憶部５７０が最新の情報の状態として時刻Ｔ２における情報の状態を記憶している場合（Ｔ１はＴ２より後の時刻）、判断部５３０は、時刻Ｔ１から時刻Ｔ２における更新状態を算出する。ここで、更新状態は取得した情報の種類毎に算出される。
【００６０】
判断部５３０は、情報の種類毎に設定された所定の条件を満たすか否かを判断する。所定の条件は、予備系のサーバ群２０に切替えたときにサービスに影響を与える情報、つまり、継続性が要求される情報ほど満たし易いように設定される。サービスに影響を与える情報が更新された場合には、なるべく早期に情報を同期させることが好ましい。一方で、サービスにあまり影響を与えない情報については、早期に情報を同期させる必要性は低い。
【００６１】
具体的には、判断部５３０は、算出した更新状態と、同期判断テーブル５７１に設定されている設定値とを比較することにより、同期させるか否かを判断する。設定値はサービスへの影響度（重要性）に基づいて、設定される。
【００６２】
例えば、算出された更新状態から、顧客情報の新規登録件数が設定値に設定されている件数を超えることが特定された場合、判断部５３０は、情報を同期させると判断してもよい（判断１）。ここで、判断部５３０は、稼働系のサーバ群１０で記憶している新規登録された顧客がログインした数を取得し、ログイン数が設定値に設定されている件数を超えることが特定された場合、情報を同期させると判断してもよい。ユーザがログイン処理をした後、実際にサービスを利用した数を基に、判断部５３０が、同期の要否を判断できるためである。
【００６３】
例えば、算出された更新状態から、コンタクトリストの新規又は更新件数（変更件数）が設定値に設定されている件数を超えることが特定された場合、判断部５３０は、情報を同期させると判断してもよい（判断２）。
【００６４】
例えば、算出された更新状態から、新規のデータベースの構造であるデータベーススキーマが登録されていることが特定された場合、判断部５３０は、情報を同期させると判断してもよい（判断３）。
【００６５】
例えば、保守運用やサービスデータの収集等に関する情報については、情報を取得した時刻と前回の同期時刻とから算出される経過時間が、設定値に設定されている時間以上の場合、判断部５３０は、情報を同期させると判断してもよい（判断４）。
【００６６】
複数の判断（判断１〜判断４）が行われ、同期が必要と判断された項目が一つでも存在する場合、判断部５３０は、同期の対象となる全ての情報の同期が必要と判断してもよい。
【００６７】
また、判断部５３０は、同期が必要と判断された項目のみを同期する必要があると判断してもよい。
【００６８】
なお、上述した判断項目の種類及び設定値は一例であり、判断項目の種類及び設定値は、サービス提供者の判断により変更される。
【００６９】
（２）稼働系のサーバ群
図８に、稼働系のサーバ群１０の機能構成を示す。稼働系のサーバ群１０は、送受信部１１０、サービス提供機能部１２０、同期制御部１３０、及び情報記憶部１４０を有する。
【００７０】
送受信部１１０は、他のサーバ等との間でデータの送受信を行う。
【００７１】
サービス提供機能部１２０は、端末３０からのサービス提供の要求を受けて、各種サービスを提供する。
【００７２】
同期制御部１３０は、運用制御サーバ５０からの要求を受けて、情報記憶部１４０で記憶している情報の状態を特定し、特定された情報の状態を、運用制御サーバ５０に送信する。
【００７３】
同期制御部１３０は、予備系のサーバ群２０から同期要求を受信する。同期制御部１３０は、情報記憶部１４０から要求された情報を取得し、予備系のサーバ群２０に通知する。
【００７４】
情報記憶部１４０は、各種情報を記憶する。
【００７５】
なお、上述した説明では、稼働系のサーバ群１０の各機能が、１つのサーバ上に配置される場合について説明したが、各機能を複数のサーバ上に配置し相互に連携させることにより、同様の機能を実現することも可能である。
【００７６】
（３）予備系のサーバ群
図９に、予備系のサーバ群２０の機能構成を示す。予備系のサーバ群２０は、送受信部２１０、サービス制御部２２０、サービス提供機能部２３０及び情報記憶部２４０を有する。
【００７７】
送受信部１１０は、他のサーバ等との間でデータの送受信を行う。
【００７８】
サービス制御部２２０は、運用制御サーバ５０からの指示を受けて、サービス提供機能部２３０を生成する。サービス制御部２２０は、サービス提供機能部２３０が同期処理を完了したときに、サービス提供機能部２３０を削除する。
【００７９】
サービス提供機能部２３０は、稼働系のサーバ群１０のサービス提供機能部１２０と同様の機能を有する。サービス提供機能部２３０は、サービス制御部２２０により生成、及び削除される。サービス提供機能部２３０は、例えば、実行インスタンスにより実現される。
【００８０】
サービス提供機能部２３０は、情報記憶部２４０の同期情報記憶テーブル２４１に記憶されているデータを用いて、ユーザにサービスを提供する。
【００８１】
予備系のサーバ群２０が、運用制御サーバ５０から同期指示を受けた場合、サービス提供機能部２３０は、同期情報記憶テーブル２４１を参照し、記憶されている情報の同期時刻を確認する。サービス提供機能部２３０は、稼働系のサーバ群１０から最後の同期時刻以降に更新された情報を取得する。
【００８２】
情報記憶部２４０は、各種情報を記憶する。同期情報記憶テーブル２４１は、稼働系のサーバ群１０から取得した情報を、取得した時刻と共に記憶する。取得した時刻は同期時刻と呼ばれてもよい。情報記憶部２４０に記憶されている情報は、サービス提供機能部２３０が削除された後も、情報記憶部２４０に記憶され、サービス提供機能部２３０が再度生成されたときに使用される。
【００８３】
なお、上述した説明では、予備系のサーバ群２０の各機能が、１つのサーバ上に配置される場合について説明したが、各機能を複数のサーバ上に配置し相互に連携させることにより、同様の機能を実現することも可能である。
【００８４】
＜動作手順＞
（１）動作シーケンス
図１０を用いて、本実施形態に係る動作シーケンスについて説明する。
【００８５】
ステップＳ１００１で、運用制御サーバ５０は、稼働系のサーバ群１０に、情報の更新状態を問い合わせる。問い合わせには、前回問い合わせた時刻又は前回予備系のサーバ群２０に同期を指示した時刻（Ｔ１とする）を含む。また、問い合わせには、問い合わせの対象となる情報を含んでもよい。
【００８６】
ステップＳ１００２で、稼働系のサーバ群１０は、情報の更新状態を特定する。
【００８７】
ステップＳ１００３で、稼働系のサーバ群１０は、運用制御サーバ５０に、情報の更新状態を応答する。
【００８８】
ステップＳ１００４で、運用制御サーバ５０は、取得した情報の更新状態を基に、情報の同期が必要か否かを判断する。
【００８９】
ここでは、情報の同期が必要と判断されたものとして説明を進める。
【００９０】
ステップＳ１００５で、予備系のサーバ群２０は、情報の同期の指示を受信する。情報の同期の指示には、予備系のサーバ群２０に、サービス提供機能部２３０を生成すること、稼働系のサーバ群１０から情報を取得すること、及び、情報記憶部２４０に取得した情報が記憶された後に、サービス提供機能部２３０を削除することを含んでもよい。
【００９１】
ステップＳ１００６で、予備系のサーバ群２０のサービス制御部２２０は、指示を受信したことに応じて、サービス提供機能部２３０を生成する。生成されたサービス提供機能部２３０は、情報記憶部２４０に記憶されている情報を読み出し、サービス提供機能部２３０が削除される直前の状態となる。サービス提供機能部２３０は、同期情報記憶テーブル２４１を参照し、前回、稼働系のサーバ群１０から情報を取得した時刻を特定する。ここでは前回情報を取得した時刻をＴ２とする。
【００９２】
ステップＳ１００７で、予備系のサーバ群２０は、情報の取得要求を、稼働系のサーバ群１０に送信する。情報の取得要求には、時刻Ｔ２を含む。
【００９３】
ステップＳ１００８で、稼働系のサーバ群１０は、取得要求を受信した時刻Ｔ３と、時刻Ｔ２との間で更新された情報を特定する。
【００９４】
ステップＳ１００９で、稼働系のサーバ群１０は、予備系のサーバ群２０に、特定された情報を送信する。
【００９５】
ステップＳ１０１０で、予備系のサーバ群２０は、受信した情報を情報記憶部２４０に書込む。書き込み処理を実行することにより、予備系のサーバ群２０で記憶されている情報は、時刻Ｔ３の稼働系のサーバ群１０で記憶されている情報と同期する。
【００９６】
受信した情報の書込み後に、オプション１、又はオプション２の処理が実行される。
【００９７】
オプション１の場合、ステップＳ１０１１で、予備系のサーバ群２０のサービス制御部２２０は、サービス提供機能部２３０を削除する。
【００９８】
オプション２の場合、ステップＳ１０１２で、運用制御サーバ５０は、同期の指示を送信してから所定の時間を経過したことを検出する。
【００９９】
ステップＳ１０１３で、運用制御サーバ５０は、予備系のサーバ群２０に同期の終了の指示を送信する。
【０１００】
ステップＳ１０１４で、同期の終了の指示を受けたことに応じて、予備系のサーバ群２０のサービス制御部２２０は、サービス提供機能部２３０を削除する。
【０１０１】
オプション２の場合、ステップＳ１００９から同期の終了までの期間、稼働系のサーバ群１０と予備系のサーバ群２０との状態を同期させてもよい。
なお、サービス提供機能部２３０が削除されるときに、記憶されている情報を、情報記憶部２４０内の永続的な情報を格納する領域に格納される。永続的な情報を格納する領域とは、例えば、データストアである。また、情報の同期の要否については、情報の種類毎に判断されてもよい。この場合、情報の同期は、情報の種類毎に実行される。
【０１０２】
（２）フローチャート
図１１を用いて本実施形態に係るフローチャートを説明する。図１１は運用制御サーバ５０が、同期の手順を実行するときのフローチャートである。
【０１０３】
ステップＳ１１０１で、運用制御サーバ５０の情報取得部５２０は、稼働系のサーバ群１０から、情報の更新状態を取得する。
【０１０４】
ステップＳ１１０２で、判断部５３０は、取得した情報の更新状態と、同期判断テーブル５７１で記憶している情報とを基に、予備系のサーバ群２０で記憶している情報を、稼働系のサーバ群１０で記憶している情報に同期させる必要があるか否かを判断する。
【０１０５】
具体的には、判断部５３０は、情報の更新状態が、判断項目に設定されている設定値の条件を満たすか否かを判断する。判断部５３０は、判断項目毎に判断を行い、同期させる必要があると判断された項目が存在する場合（ステップＳ１１０２  Ｙｅｓ）、ステップＳ１１０３に進む。一方、同期させる必要があると判断された項目が存在しない場合、処理を終了する。
【０１０６】
ステップＳ１１０３で、同期指示部５４０は、予備系のサーバ群２０に情報の同期の指示を送信し、処理を終了する。
【０１０７】
ステップＳ１１０１乃至ステップＳ１１０３の処理は所定の期間が経過した後に、再度実行される。
【０１０８】
［その他］
稼働系のサーバ群１０は、稼働系のサーバの一例である。予備系のサーバ群２０は、予備系のサーバの一例である。運用制御サーバ５０は、同期制御サーバの一例である。
【０１０９】
サービス提供機能部１２０は、処理実行部の一例である。切替制御部５６０は、切替指示部の一例である。状態検知部５５０は、検知部の一例である。
【０１１０】
上述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、稼働系のサーバ群１０、予備系のサーバ群２０、又は運用制御サーバ５０に供給してもよい。そして、稼働系のサーバ群１０、予備系のサーバ群２０、又は運用制御サーバ５０が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体である。
【０１１１】
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム（ＯＳ）等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
【０１１２】
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１１３】
１  情報処理システム
１０  稼働系のサーバ群
２０  予備系のサーバ群
３０  端末
５０  運用制御サーバ
６０  ＤＮＳサーバ
１１０  送受信部（稼働系のサーバ群）
１２０  サービス提供機能部（稼働系のサーバ群）
１３０  同期制御部（稼働系のサーバ群）
１４０  情報記憶部（稼働系のサーバ群）
２１０  送受信部（予備系のサーバ群）
２２０  サービス制御部（予備系のサーバ群）
２３０  サービス提供機能部（予備系のサーバ群）
２４０  情報記憶部（予備系のサーバ群）
２４１  同期情報記憶テーブル（予備系のサーバ群）
５１０  送受信部（運用制御サーバ）
５２０  情報取得部（運用制御サーバ）
５３０  判断部（運用制御サーバ）
５４０  同期指示部（運用制御サーバ）
５５０  状態検知部（運用制御サーバ）
５６０  切替制御部（運用制御サーバ）
５７０  情報記憶部（運用制御サーバ）
５７１  同期判断テーブル（運用制御サーバ）
【先行技術文献】
【特許文献】
【０１１４】
【特許文献１】特表２０１４−５２３５６３号
【図１】
2017167675.tif 000003
【図２】
2017167675.tif 000004
【図３】
2017167675.tif 000005
【図４】
2017167675.tif 000006
【図５】
2017167675.tif 000007
【図６】
2017167675.tif 000008
【図７】
2017167675.tif 000009
【図８】
2017167675.tif 000010
【図９】
2017167675.tif 000011
【図１０】
2017167675.tif 000012
【図１１】
2017167675.tif 000013