(57)【要約】【課題】  パブリッククラウドのようなコンピューティング環境でも、一のシステムで異常が発生した場合に他のシステムに切り替えて情報処理の継続を可能にする冗長構成システム等を提供する。【解決手段】  冗長構成システムは、第１の情報処理システムと第２の情報処理システムとを切り替えて情報処理の継続を可能にするシステムであり、第１の情報処理システムが実行する情報処理を監視する監視手段と、監視結果に応じて、第１の情報処理システムにアドレス情報を割り当てた管理システムに対し、該アドレス情報を第２の情報処理システムに付け替えるように要求する要求手段と、管理システムからアドレス情報を付け替えた旨の通知を受けて、第２の情報処理システムによる情報処理を開始させる制御手段とを含む。【選択図】  図３
2018133764.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理システムと第２の情報処理システムとを切り替えて情報処理の継続を可能にする冗長構成システムであって、
前記第１の情報処理システムが実行する情報処理を監視する監視手段と、
前記監視手段の監視結果に応じて、前記第１の情報処理システムにアドレス情報を割り当てた管理システムに対し、前記アドレス情報を前記第２の情報処理システムに付け替えるように要求する要求手段と、
前記管理システムから前記アドレス情報を付け替えた旨の通知を受けて、前記第２の情報処理システムによる情報処理を開始させる制御手段とを含む、冗長構成システム。
【請求項２】
前記要求手段は、前記監視手段による監視結果に基づき、前記第１の情報処理システムと前記第２の情報処理システムとに対して設定された優先順位を決定するための情報を変更する手段と、前記変更する手段により変更された情報に基づき、前記アドレス情報を前記第２の情報処理システムに付け替えるか否かを判断する手段とを含む、請求項１に記載の冗長構成システム。
【請求項３】
前記優先順位を決定するための情報は、優先度であり、
前記変更する手段は、前記監視手段の監視結果が、前記第１の情報処理システムの稼働状況に異常が発生していないことを示す場合、前記第１の情報処理システムに対して設定された優先度を上げ、前記第１の情報処理システムの稼働状況に異常が発生したことを示す場合、前記第１の情報処理システムに対して設定された優先度を下げる処理を実行する、請求項２に記載の冗長構成システム。
【請求項４】
前記優先順位を決定するための情報は、優先度であり、
前記監視手段は、前記第２の情報処理システムの稼働状況と、前記情報処理を要求する通信端末から前記第１の情報処理システムへの通信状況とをさらに監視し、
前記変更する手段は、前記監視手段の監視結果が、前記第２の情報処理システムの稼働状況に異常が発生していないことを示す場合、前記第２の情報処理システムに対して設定された優先度を上げ、前記第２の情報処理システムの稼働状況に異常が発生したことを示す場合、前記第１の情報処理システムの情報処理に異常が発生していないことを示す場合、前記第２の情報処理システムに対して設定された優先度を下げ、前記第１の情報処理システムの情報処理に異常が発生したことを示す場合、前記第２の情報処理システムに対して設定された優先度を上げ、前記第２の情報処理システムに対して設定された優先度を下げ、前記通信状況に異常が発生していないことを示す場合、前記第２の情報処理システムに対して設定された優先度を下げ、前記通信状況に異常が発生したことを示す場合、前記第２の情報処理システムに対して設定された優先度を上げる処理を実行し、
前記判断する手段は、前記第１の情報処理システムに対する優先度と、前記第２の情報処理システムに対する優先度とを比較し、同一または前記第２の情報処理システムに対する優先度が高い場合に、前記アドレス情報を前記第２の情報処理システムに付け替えると判断する、請求項２または３に記載の冗長構成システム。
【請求項５】
前記第２の情報処理システムの情報処理が開始した後、前記変更する手段は、ユーザの操作を受けて、前記第１の情報処理システムに対する優先度と、前記第２の情報処理システムに対する優先度とを、前記第１の情報処理システムに対する優先度が前記第２の情報処理システムに対する優先度より高い初期値に戻す、請求項４に記載の冗長構成システム。
【請求項６】
前記冗長構成システムは、２つの情報処理システムを含み、前記２つの情報処理システムのうちの一方の情報処理システムが前記第１の情報処理システムとして動作し、他方の情報処理システムが前記第２の情報処理システムとして動作し、
前記アドレス情報が付け替えられ、情報処理を開始させた場合、前記他方の情報処理システムが前記第１の情報処理システムとして動作し、前記一方の情報処理システムが前記第２の情報処理システムとして動作する、請求項１〜４のいずれか１項に記載の冗長構成システム。
【請求項７】
前記２つの情報処理システムはそれぞれ前記監視手段を備え、該２つの情報処理システムは一対一で通信を行い、前記各監視手段は前記各情報処理システムを相互に監視することが可能である、請求項６に記載の冗長構成システム。
【請求項８】
前記第１の情報処理システムとして動作する情報処理システムの前記監視手段の動作が停止した場合、前記要求手段は、前記アドレス情報を前記第２の情報処理システムとして動作する情報処理システムに付け替えるように要求する、請求項７に記載の冗長構成システム。
【請求項９】
前記冗長構成システムへの情報処理の要求は、前記冗長構成システムを識別するための識別情報を前記アドレス情報に変換する変換システムを介し、前記識別情報を使用して実施される、請求項１〜８のいずれか１項に記載の冗長構成システム。
【請求項１０】
情報処理を継続するために第１の情報処理システムと第２の情報処理システムとを切り替える切替方法であって、
前記第１の情報処理システムが実行する情報処理を監視するステップと、
前記監視するステップでの監視結果に応じて、前記第１の情報処理システムにアドレス情報を割り当てた管理システムに対し、前記アドレス情報を前記第２の情報処理システムに付け替えるように要求するステップと、
前記管理システムから前記アドレス情報を付け替えた旨の通知を受けて、前記第２の情報処理システムによる情報処理を開始させるステップとを含む、切替方法。
【請求項１１】
情報処理の継続を可能にする冗長構成システムを構成する情報処理システムであって、
他の情報処理システムが実行する情報処理を監視する監視手段と、
前記監視手段の監視結果に応じて、前記他の情報処理システムにアドレス情報を割り当てた管理システムに対し、前記アドレス情報を前記情報処理システムに付け替えるように要求する要求手段と、
前記管理システムから前記アドレス情報を付け替えた旨の通知を受けて、前記情報処理システムによる情報処理を開始させる制御手段とを含む、情報処理システム。
【請求項１２】
情報処理の継続するために第１の情報処理システムと第２の情報処理システムとを切り替える処理をコンピュータに実行させるためのプログラムであって、
前記第１の情報処理システムが実行する情報処理を監視するステップと、
前記監視するステップでの監視結果に応じて、前記第１の情報処理システムにアドレス情報を割り当てた管理システムに対し、前記アドレス情報を前記第２の情報処理システムに付け替えるように要求するステップと、
前記管理システムから前記アドレス情報を付け替えた旨の通知を受けて、前記第２の情報処理システムによる情報処理を開始させるステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の情報処理システムと第２の情報処理システムとを切り替えて情報処理の継続を可能にする冗長構成システム、切替方法、該冗長構成システムを構成する情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
Webサーバ等のサービスを提供するシステムには、現用系システムと待機系システムとで構成され、現用系システムに障害が発生した場合に待機系システムが継続してサービスを提供することができるように冗長化されたものがある。
【０００３】
このような冗長構成のシステムを構築するための技術として、VRRP(Virtual Router Redundancy Protocol)やHSRP(Hot Standby Router Protocol)を使用した技術が知られている（例えば、特許文献１参照）。これらは、現用系システムと待機系システムがそれぞれもつ固有のIPアドレスとは別に、同一のネットワークセグメント内に仮想IPアドレスを作成し、仮想IPアドレスを現用系の異常発生時に待機系に振り分ける処理を行うものである。このため、サービスを要求するクライアントから見ると、仮想IPアドレスのみを認識していれば、継続してサービスの提供を受けることができる。
【０００４】
そのほか、DNS(Domain Name System)を使用した技術も知られている。この技術では、クライアントが人間の認識しやすいドメイン名を入力し、DNSサーバがDNSコンテンツサーバ機能によりドメイン名をIPアドレスに変換する名前解決を行い、その結果を応答する。クライアントは、名前解決の結果であるIPアドレスを使用して、サービスを提供するシステムにアクセスすることができる。この技術では、DNSコンテンツサーバ機能で、１つのドメイン名に対し、複数のIPアドレスを割り当てることが可能で、どのIPアドレスを優先するかを定義することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、不特定多数のクライアントが利用するパブリッククラウド等のコンピューティング環境では、クラウドサービスとして提供されていない機能や設定を利用することはできない。
【０００６】
上記のVRRPを使用した技術では、現用系と待機系の両方にアクセスすることを可能にするためにマルチキャスト通信を用いるが、パブリッククラウドではマルチキャスト通信をサポートしていないため、この技術を適用することはできない。
【０００７】
また、上記のDNSを使用した技術は、ローカルネットワーク内で管理者が設定することを前提としており、管理者が自由に操作や設定を行うことができないパブリッククラウドにはこの技術を適用することができない。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、パブリッククラウドのようなコンピューティング環境でも、一のシステムで異常が発生した場合に他のシステムに切り替えて情報処理を継続することができる冗長構成システムや方法等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、発明の一実施形態では、第１の情報処理システムと第２の情報処理システムとを切り替えて情報処理の継続を可能にする冗長構成システムであって、
第１の情報処理システムが実行する情報処理を監視する監視手段と、
監視手段の監視結果に応じて、第１の情報処理システムにアドレス情報を割り当てた管理システムに対し、該アドレス情報を第２の情報処理システムに付け替えるように要求する要求手段と、
管理システムからアドレス情報を付け替えた旨の通知を受けて、第２の情報処理システムによる情報処理を開始させる制御手段とを含む、冗長構成システムを提供する。
【発明の効果】
【００１０】
本発明によれば、パブリッククラウドのようなコンピューティング環境でも、一のシステムで異常が発生した場合に他のシステムに切り替えて情報処理を継続することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】冗長構成システムが実行する処理の概要を説明する図。
【図２】冗長構成システムのシステム構成の一例を示した図。
【図３】冗長構成システムを構成する現用系システムおよび待機系システムの機能ブロック図。
【図４】クライアントが実行する処理の一例を示したフローチャート。
【図５】正常時の現用系システムおよび待機系システムが実行する処理の一例を示したフローチャート。
【図６】現用系システムに異常が発生し、現用系システムから待機系システムに切り替える処理の一例を示したフローチャート。
【図７】現用系システムの復帰時の処理の一例を示したフローチャート。
【図８】待機系システムから現用系システムに切り替える処理の一例を示したフローチャート。
【図９】冗長構成システムが実行する処理の一例を示したフローチャート。
【図１０】現用系システムと待機系システムに設定される優先度データの一例を示したテーブル図。
【図１１】現用系システムのハードウェア構成の一例を示した図。
【図１２】MFPのハードウェア構成の一例を示した図。
【発明を実施するための形態】
【００１２】
図１は、冗長構成システムが実行する処理の概要を説明する図である。冗長構成システムは、不特定多数の通信端末（以下、クライアントとする。）が利用するパブリッククラウド１０上に構築され、現用系の情報処理システム（以下、現用系システムと呼ぶ。）１１と、待機系の情報処理システム（以下、待機系システムと呼ぶ。）１２とを含んで構成される。
【００１３】
現用系システム１１は、正常時に、クライアント１３からの要求に応じて情報処理を行い、サービスを提供する。サービスは、映画や音楽等のコンテンツ配信サービスや情報検索サービス等、いかなるサービスであってもよい。
【００１４】
待機系システム１２は、現用系システム１１に何らかの原因で故障等の異常が発生し、サービスの提供ができない状態になった場合に、情報処理を開始し、現用系システム１１に代わってサービスを提供する。
【００１５】
クライアント１３は、サービスの提供を受けるPCやMFP(Multi-Function Peripheral)等で、グローバルIPアドレス等のアドレス情報を使用して、サービスを提供する現用系システム１１にアクセスする。グローバルIPアドレスは、インターネットを経由してクライアント１３がアクセスするために使用されるIPアドレスで、パブリッククラウド１０上の管理システムにより現用系システム１１に割り当てられる。
【００１６】
冗長構成システムは、正常な状態においては現用系システム１１が動作し、クライアント１３からのサービスの提供の要求を受けて、クライアント１３に対してサービスを提供する。現用系システム１１に異常が発生し、サービスの提供を継続することができない状態になった場合、管理システムに対し、現用系システム１１に対して割り当てていたグローバルIPアドレスを、待機系システム１２に付け替えるように要求する。これにより、待機系システム１２にグローバルIPアドレスが付け替えられ、待機系システム１２が現用系システム１１に代わってクライアント１３に対してサービスを提供し、サービスの提供を継続する。
【００１７】
現用系システム１１と待機系システム１２とは、ユニキャスト通信により一対一で通信を行い、相互にシステムの稼働状況やクライアント１３等との通信状況を監視することができる。このときの通信は、グローバルIPアドレスではなく、プライベートIPアドレス等の他のアドレス情報を使用して行うことができる。また、現用系システム１１および待機系システム１２は、自身のシステムの稼働状況も監視することができる。冗長構成システムは、このようにして監視を行い、得られた監視結果に応じて、現用系システム１１から待機系システム１２にグローバルIPアドレスを付け替えるように要求し、システムの切り替えを行うことができる。
【００１８】
なお、相互監視には、上記のVRRPの仕組みを用いることができる。その際、VRRPにおいて一般的なマルチキャストレイヤ３によるネットワーク監視ではなく、ユニキャストIPレイヤ３による相互監視を用いることができる。これにより、物理的に論理ネットワークを構築することができないコンピューティング環境においても、現用系システム１１と待機系システム１２との間の相互監視を実現することができる。
【００１９】
また、グローバルIPアドレスの付け替えを要求し、付け替えてもらうことで、管理者が設定しなくても、現用系システム１１から待機系システム１２に切り替えることができる。
【００２０】
クライアント１３は、冗長構成システムにアクセスし、サービスの提供を受けるために、冗長構成システムを識別するための識別情報としてのドメイン名を使用してアクセスすることができる。グローバルIPアドレスは、パブリッククラウド管理団体にDNS登録申請を行うことで、ドメイン名をグローバルIPアドレスに変換する変換システムとしてのDNSサーバに、ドメイン名とグローバルIPアドレスとを対応付けて登録することができる。このため、クライアント１３は、ドメイン名でDNSサーバにアクセスし、DNSサーバからグローバルIPアドレスを取得し、そのグローバルIPアドレスを使用して現用系システム１１にアクセスすることができる。
【００２１】
DNSサーバは、グローバルIPアドレスとともに、グローバルIPアドレスをキャッシュに保持することができる期間(TTL)を通知することができる。クライアント１３は、通知されたTTLの間、DNSサーバにアクセスすることなく、保持したグローバルIPアドレスを使用して直接アクセスすることができる。クライアント１３は、TTLの間に待機系システム１２に切り替わったとしても、待機系システム１２にグローバルIPアドレスが付け替えられているため、保持したグローバルIPアドレスをそのまま使用し、待機系システム１２からサービスの提供を受けることができる。
【００２２】
図１では、クライアント１３が冗長構成システムにドメイン名でアクセスし、DNSサーバから取得したグローバルIPアドレスを使用して正常時には現用系システム１１にアクセスする。現用系システム１１に異常が発生した場合、矢線に示すように待機系システム１２にグローバルIPアドレスを付け替え、グローバルIPアドレスが割り当てられた待機系システム１２にアクセスする。
【００２３】
冗長構成システムは、現用系システム１１のメンテナンス等により正常な状態に復帰した場合、待機系システム１２によるサービスの提供を継続してもよいし、現用系システム１１に切り替えてもよい。現用系システム１１に切り替える場合、待機系システム１２に付け替えたグローバルIPアドレスを元の現用系システム１１に戻すことで切り替えることができる。
【００２４】
図２を参照して、冗長構成システムのシステム構成について説明する。冗長構成システムは、パブリッククラウド１０上に構築され、パブリッククラウド１０は、パブリッククラウド１０を管理するための管理システムを備える。管理システムは、クラウド管理機能２０を備え、クラウド管理機能２０は、ネットワーク管理部２１を備えている。ネットワーク管理部２１は、現用系システム１１や待機系システム１２としての各インスタンスと連携させるグローバルIPアドレス（以下、単にIPアドレスと略す。）の管理を行う。また、ネットワーク管理部２１は、一のインスタンスからの要求を受け、他のインスタンスに割り当てたIPアドレスを当該一のインスタンスに付け替える処理を行う。インスタンスは、現用系システム１１や待機系システム１２が備えるプログラム等である。
【００２５】
冗長構成システムは、インスタンス（現用系）３０とインスタンス（待機系）４０とを備える。インスタンス３０は、現用系システム１１が備えるプログラム等で、オペレーティングシステム(OS)３１と、OS３１上で稼働する監視プロセス３２と、監視プロセス３２が監視する対象である監視対象（プロセスやサービス）３３とを含む。
【００２６】
OS３１は、監視プロセス３２や監視対象３３等が共通して利用する基本的な機能を実装し、システム全体を管理し、制御する。監視プロセス３２は、監視対象３３を監視する。また、監視プロセス３２は、IPアドレスの付け替えを要求する機能（IPアドレス付替要求機能）３４を備え、監視対象３３の監視結果に応じて、クラウド管理機能２０のネットワーク管理部２１に対し、IPアドレスの付け替えを要求する。監視対象３３としてのプロセスは、OS３１からメモリの割り当てを受けて処理を実行するプログラムである。
【００２７】
インスタンス４０も、インスタンス３０と同様、OS４１と、IPアドレス付替要求機能４４を備える監視プロセス４２と、監視対象４３とを備える。インスタンス４０は、待機系システム１２が備えるプログラム等で、インスタンス３０に異常が発生した場合に切り替えて使用される。
【００２８】
図３を参照して、現用系システム１１および待機系システム１２の詳細な機能構成について説明する。現用系システム１１と待機系システム１２は相互監視することが可能であり、いずれも監視結果に応じてIPアドレスの付け替えを要求し、相互にインスタンスを切り替えることが可能である。このため、待機系システム１２と現用系システム１１とは、同じ機能構成とすることができる。ここでは、待機系システム１２の機能構成についてのみ説明する。
【００２９】
待機系システム１２は、OS４１により実現される制御部５０を備える。また、待機系システム１２は、監視プロセス４２により実現され、監視対象４３である自身のプロセスを監視するプロセス監視部（自身）５１を備える。また、待機系システム１２は、監視プロセス４２により実現され、監視対象４３である現用系システム１１のサービスを監視するサービス監視部５２と、現用系システム１１のプロセスを監視するプロセス監視部（対向）５３とを備える。
【００３０】
待機系システム１２は、監視プロセス４２が備えるIPアドレス付替要求機能４４により実現され、クラウド管理機能２０のネットワーク管理部２１に対してIPアドレスの付け替えを要求する要求部５４を備える。また、待機系システム１２は、現用系システム１１によりサービスを提供するという正常な状態（初期状態）に戻すために、プロセスリセットを行うリセット処理部５５を備えている。
【００３１】
プロセス監視部５１とサービス監視部５２は、現用系システム１１のプロセスおよびサービスの稼働状況を監視し、監視結果を、制御部５０を介して要求部５４に通知する。プロセス監視部５３は、自身のプロセスの稼働状況を監視する。プロセス監視部５３は、監視結果を、制御部５０を介して要求部５４に通知する。
【００３２】
要求部５４は、プロセス監視部５１、サービス監視部５２、プロセス監視部５３のそれぞれから通知された監視結果に基づき、現用系システム１１に割り当てられたIPアドレスを待機系システム１２に付け替えるべきか判断し、付け替えるべきと判断した場合、ネットワーク管理部２１に対して付け替えを要求する。
【００３３】
現用系システム１１も同様の機能構成を有するため、現用系システム１１が復帰時にネットワーク管理部２１に要求し、再度、現用系システム１１にIPアドレスを付け替え、自動でシステムを切り替えることができる。システムの切り替えは、自動に限らず、ユーザがリセットボタンを押下する等して操作し、手動で行うこともできる。リセット処理部５５は、このユーザの操作を受けて、監視プロセス４２を再起動する。これにより、再起動は、現用系システム１１、待機系システム１２の両方で実施され、両システムが初期状態に戻り、現用系システム１１にIPアドレスが割り当てられ、現用系として稼働し、待機系システム１２が待機状態となる。
【００３４】
ここでは、相互監視を実現するために、現用系システム１１も、サービス監視部５２やプロセス監視部５３を備えることができるが、相互切り替えを実施せず、手動で元の状態に戻すだけであれば、現用系システム１１は、サービス監視部５２やプロセス監視部５３を備えていなくてもよい。
【００３５】
次に、図４を参照して、クライアント１３が実行する処理について説明する。ステップ４００から開始し、ステップ４０５で、クライアント１３は、冗長構成システムに対し、ドメイン名、例えば[aaa.bbb.ccc.example.com]というDNS名を使用してアクセスする。クライアント１３は、ステップ４１０で、クライアント１３に設定されたDNSサーバに対し、上記のDNS名に紐付けられたIPアドレスを問い合わせる。
【００３６】
ステップ４１５で、DNSサーバは、上記の問い合わせを受けて、DNS名に紐付けられたIPアドレスを検索し、クライアント１３に対して、例えば「a」というIPアドレスを回答する。クライアント１３は、ステップ４２０で、IPアドレス「a」を使用し、「a」が割り当てられた現用系システム１１にアクセスする。DNSサーバは、クライアント１３に対し、IPアドレス「a」とともに、DNS情報であるIPアドレスを保持（キャッシュ）する時間を通知することができる。クライアント１３は、ステップ４２５で、DNS情報に基づき、自身に[aaa.bbb.ccc.example.com]が「a」であることを、DNSキャッシュと呼ばれる格納場所に通知された一定時間だけキャッシュする。
【００３７】
ステップ４３０で、通知された一定時間内は、DNSキャッシュからIPアドレスを割り出し、割り出したIPアドレスを使用して直接現用系システム１１にアクセスする。このため、その間は、クライアント１３によるDNSサーバへのアクセスは発生しない。クライアント１３は、サービスの提供を受け、現用系システム１１へのアクセスを停止したところで、ステップ４３５へ進み、この処理を終了する。
【００３８】
図５を参照して、冗長構成システムが正常時に実行する処理について説明する。ステップ５００から開始し、ステップ５０５で、待機系システム１２が、現用系システム１１に割り当てられたIPアドレス「a」を対象に、情報処理としてのサービスの稼働状況を一定時間間隔で監視する。ここでは、クライアント１３と現用系システム１１との間のIPアドレスを使用したサービス要求、その要求に対するサービスの提供が正常に行われているかを監視する。
【００３９】
現用系システム１１と待機系システム１２には、どちらを現用系のシステムとして使用するかの優先順位を決定するための情報が登録されており、監視結果に基づき、その情報を変更することができる。このため、上記の要求部５４は、その情報を変更する手段を備えることができる。その情報としては、優先順位を決めるために用いられる優先度を一例として挙げることができる。その情報は、優先度に限られるものではないが、以下、優先度として説明する。
【００４０】
現用系システム１１は、正常時に現用系として使用するため、高い優先度が設定され、待機系システム１２は、正常時に現用系として使用されないため、現用系システム１１より低い優先度が設定される。
【００４１】
待機系システム１２は、現用系システム１１のサービスの稼働状況を監視し、正常な状態であるため、現用系システム１１より優先度を低くするべく、現在設定されている優先度に維持するか、優先度をさらに下げることができる。この例では、優先度を下げている。これにより、待機系システム１２の優先度は、現用系システム１１の優先度より低いので、正常に動作する現用系システム１１によりサービスを提供することができる。
【００４２】
IPアドレスでは、通信相手のシステムを特定することはできるが、そのシステム内のどのアプリケーションにデータ等を渡すかを知ることはできない。どのアプリケーションに渡すかは、例えばTCPポートのポート番号を使用して特定することができる。
【００４３】
そこで、待機系システム１２は、ステップ５１０で、現用系システム１１のサービスの提供に必要となるTCPポートが開放されているかを監視する。TCPポートが開放されていて、監視結果が良好である場合、待機系システム１２は、自身の優先度を、現用系システム１１の優先度より低い値に維持するか、あるいは下げることができる。この例では、優先度を下げている。
【００４４】
サービスの稼働状況やポートが開放されているかは、通信状況として、例えばそのIPアドレス、ポート番号宛てに何らかのパケットを送信し、一定時間内に応答が得られるかどうかを確認することにより監視することができる。
【００４５】
待機系システム１２は、ステップ５１５で、現用系システム１１の監視だけではなく、自身のプロセスの稼働状況も監視する。待機系システム１２は、例えばIPアドレスが付け替えられた場合に即座にサービスを提供することができるように適切なプログラムが起動しているかを確認する。待機系システム１２は、適切なプログラムが起動し、適切なプロセスが稼働していて、監視結果が良好である場合、自身の優先度を上げることができる。
【００４６】
現用系システム１１は、ステップ５２０で、自身のプロセスの稼働状況を監視する。現用系システム１１は、クライアント１３からの要求を受けて、適切にサービスを提供できているかを判断するために、適切なプログラムが起動し、適切なプロセスが稼働しているかを確認する。現用系システム１１は、適切なプロセスが稼働し、監視結果が良好である場合、自身の優先度を上げることができる。現用系システム１１は、待機系システム１２が上げた優先度より高い優先度となるように、自身の優先度を上げる。
【００４７】
現用系システム１１と待機系システム１２とがそれぞれ、監視結果に基づき優先度を変更させた後、ステップ５２５で、それぞれの優先度を比較する。この比較で、高い優先度をもつシステムが現用系システムとして稼働し、グローバルIPアドレスと紐付けた構成となる。この例では、現用系システム１１の方が、優先度が高いので、ステップ５３０で、現用系システム１１がIPアドレスと紐付けられる。そして、ステップ５３５で、現用系システム１１がクライアント１３に対してサービスを提供する。なお、比較してIPアドレスを付け替えるかどうかを判断するために、要求部５４はその判断する手段を備えることができる。現用系システム１１は、要求されたサービスの提供が終了したところで、ステップ５４０へ進み、処理を終了する。
【００４８】
上記の比較するための待機系システム１２の優先度は、現用系システム１１のサービス稼働状況に対して下げ、TCPポート開放に対して下げ、自身のプロセス稼働状況に対して上げている。この場合、正常時の優先度を基準とし、この順に２回下げて１回上げた後の優先度を、比較対象の優先度として用いてもよいし、それぞれの優先度を個別に求め、その合計値を、比較対象の優先度として用いてもよい。
【００４９】
なお、合計値を用いる場合、ステップ５２０の現用系システム１１自身のプロセス稼働状況監視後の優先度は、その合計値より高くなるように自身の優先度が上げられる。
【００５０】
図６を参照して、現用系システム１１に異常が発生した場合のシステムを切り替える処理について説明する。ステップ６００から開始し、ステップ６０５で、待機系システム１２は、IPアドレス「a」を対象にサービスの稼働状況を一定時間間隔で監視し、正常に稼働していない場合、異常が発生したことを検知する。また、待機系システム１２は、現用系システム１１のTCPポートが開放されているかを監視し、開放されていない場合、異常が発生したことを検知する。
【００５１】
待機系システム１２は、ステップ６１０で、自身のプロセスの稼働状況を監視する。この例は、現用系システム１１のみに異常が発生した場合であるため、監視結果は良好であり、ステップ６１５で、待機系システム１２は、自身の優先度を上げる。
【００５２】
現用系システム１１は、ステップ６２０で、自身のプロセスの稼働状況を監視することができる場合、監視を行い、正常に稼働していないとき、異常が発生したことを検知し、自身の優先度を下げる。現用系システム１１が備えるOS等に影響がある場合、監視を行うことができないため、この場合は、優先度が正常時のままとなる。
【００５３】
現用系システム１１と待機系システム１２とがそれぞれ、監視結果に基づき優先度を変更させた後、ステップ６２５で、それぞれの優先度を比較する。この場合、同一か、もしくは待機系システム１２の優先度が高くなる。この例では、待機系システム１２の優先度が高くなっている。このため、ステップ６３０で、待機系システム１２は、現用系システム１１に割り当てられたIPアドレスを、自身に付け替えるように、ネットワーク管理部２１に対して要求する。ネットワーク管理部２１への要求は、例えば特定のIPアドレスを自身に付け替えるスクリプトと呼ばれるプログラムを動作させることにより実現することができる。
【００５４】
ステップ６３５では、待機系システム１２が、現用系システム１１に割り当てられていたIPアドレスが待機系システム１２に付け替えた旨の通知を受け、ステップ６４０において、待機系システム１２が現用系システム１１に代わってサービスを提供する。現用系システム１１は、要求されたサービスの提供が終了したところで、ステップ６４５へ進み、処理を終了する。
【００５５】
図７を参照して、現用系システム１１が復帰する場合の処理について説明する。ステップ７００から開始し、ステップ７０５で、現用系システム１１と待機系システム１２の優先度を確認する。両者の優先度は、同一か、待機系システム１２のほうが高いままである。このため、ステップ７１０では、待機系システム１２に異常が発生するまで、待機系システム１２がサービスを提供し、ステップ７１５でこの処理を終了する。
【００５６】
図８を参照して、現用系システム１１がサービス提供するように元の正常時の状態に戻す処理について説明する。ステップ８００から開始し、ステップ８０５で、現用系システム１１は、ユーザ操作を受け付ける。ステップ８１０で、現用系システム１１は、待機系システム１２に付け替えたIPアドレスを、現用系システム１１に付け替えるように要求する。すなわち、現用系システム１１に付け替えるスクリプトを動作させる。これにより、IPアドレスが現用系システム１１に付け替えられる。
【００５７】
しかしながら、現用系システム１１と待機系システム１２の優先度は同一か、待機系システム１２のほうが高いままであるため、上記の比較が行われた後、再び待機系システム１２に付け替えられてしまう。
【００５８】
そこで、ステップ８１５で、現用系システム１１と待機系システム１２のそれぞれが有する監視プロセス３２、４２を再起動し、変更された優先度をリセットし、正常時の優先度に戻す。なお、この再起動および優先度のリセットは、両システムが備えるリセット処理部５５により行うことができる。このような処理により、現用系システム１１にIPアドレスが再度付け替えられ、現用系システム１１のほうが、優先度が高くなるので、現用系システム１１がサービスを提供するという正常時の状態に戻すことができる。このため、ステップ８２０で現用系システム１１がサービスを提供し、ステップ８２５でこの処理を終了する。
【００５９】
上記では、ボタンを押下する等のユーザ操作による手動でIPアドレスの付け替えを行っているが、現用系システム１１に異常が発生した場合の処理と同様の方法で、現用系システム１１が稼働中の待機系システム１２を監視し、自動でIPアドレスの付け替えを行うようにしてもよい。
【００６０】
以上に説明してきた冗長構成システムが実行するシステムを切り替える処理をまとめると、図９に示すようなものとなる。ステップ９００から処理を開始し、ステップ９０５では、正常時の動作として、クライアント１３からサービス提供の要求を受けた場合、現用系システム１１がクライアント１３に対して要求されたサービスを提供する。ステップ９１０では、現用系システム１１が、自身のプロセスを監視し、待機系システム１２が、自身のプロセスと、現用系システム１１のサービスを監視する。
【００６１】
ステップ９１５では、各監視結果において異常が発生しているかどうかを確認する。全ての監視結果において異常が発生していない場合、ステップ９４５へ進み、処理を終了する。１以上の異常が発生している場合、ステップ９２０へ進む。ステップ９２０では、監視結果に応じて、現用系システム１１の優先度を下げる。すなわち、現用系システム１１のプロセス稼働状況に異常が発生し、その監視結果が良好でない場合に、現用系システム１１の優先度を下げる。
【００６２】
ステップ９２５では、監視結果に応じて、待機系システム１２の優先度を上げる。すなわち、現用系システム１１のサービス稼働状況に異常が発生し、その監視結果が良好でない場合、TCPポートが開放されていない場合、待機系システム１２のプロセス稼働状況に異常がなく、その監視結果が良好である場合に、待機系システム１２の優先度を上げる。
【００６３】
ステップ９３０では、現用系システム１１の優先度と、待機系システム１２の優先度とを比較し、優先度が同一か、もしくは待機系システム１２のほうが、優先度が高いことを確認する。この例では、待機系システム１２の優先度が高いことを確認している。そして、ステップ９３５で、待機系システム１２がネットワーク管理部２１に対して現用系システム１１に割り当てられているIPアドレスを、自身に付け替えるように要求する。
【００６４】
ステップ９４０では、ネットワーク管理部２１が現用系システム１１に割り当てたIPアドレスを待機系システム１２に付け替える。そして、待機系システム１２が、ネットワーク管理部２１からIPアドレスを付け替えた旨の通知を受けて、サービスの提供を開始し、ステップ９４５で処理を終了する。
【００６５】
IPアドレスの付け替えは、現用系システム１１と待機系システム１２の優先度を比較し、待機系システム１２の優先度が高くなった場合に実施される。また、待機系システム１２から現用系システム１１に自動復帰する場合には、両システムの優先度を比較し、現用系システム１１の優先度が高くなった場合に実施される。
【００６６】
この優先度の変更は、例えば図１０に示すような優先度データテーブルを使用して実施することができる。図１０に示すテーブルを参照し、各システムに設定する優先度について詳細に説明する。なお、図１０に示す各値は、一例を示すものであり、これらの値に限定されるものではない。
【００６７】
優先度は、初期値として「正常系」で示される現用系システム１１については「100」、待機系システム１２については現用系システム１１より低い値の「90」が設定される。各システムは、自身や相手のサービス、ポート、プロセスの稼働状況を監視し、異常が発生した場合、サービスやポート等の監視対象に応じて、各システムに設定された優先度に変更する。なお、稼働状況の監視は、複数のサービスやプロセスを同時に実施することができ、同時に複数の優先度に変更し、その合計値を最終的な優先度として用いることができる。
【００６８】
待機系システム１２は、現用系システム１１のIPアドレスを対象にサービスの稼働状況を監視するが、そのサービスに異常が発生した場合、待機系システム１２の優先度を上げる。図１０の「グローバルIPアドレスサービスダウン」を参照し、現用系システム１１については「正常系」と同じ「100」に維持し、待機系システム１２について「正常系」のときの「90」から「150」に上げる。
【００６９】
他の場合も同様で、現用系システム１１のTCPポートが開放されていない異常については、図１０の「現用系ポートダウン」を参照し、現用系システム１１の優先度を「100」に維持し、待機系システム１２について優先度を「90」から「110」に上げる。この場合、待機系システム１２の優先度を「90」に維持し、現用系システム１１の優先度を「100」から待機系システム１２の「90」より低い「80」に下げてもよい。いずれを採用するかは、予め設定で決定しておくことができる。
【００７０】
現用系システム１１に異常が発生し、その後復帰する場合、図１０の「現用系サービス（またはプロセス）復帰時」を参照し、現用系システム１１の優先度を「90」、待機系システム１２の優先度を「100」に設定し、待機系システム１２でのサービスの提供を継続する。手動で、監視プロセスを再起動し、優先度がリセットされたときに、「正常系」のときの現用系システム「100」、待機系システム「90」に変更することができる。
【００７１】
現用系システム１１に復帰する操作を手動で行う場合は、上記のようにして行うことができるが、自動で行うことも可能である。この場合は、図１０の「待機系プロセスダウン」を参照し、現用系システム１１の優先度を「100」に維持または上げ、待機系システム１２の優先度を「70」に下げることができる。すなわち、待機系システム１２の優先度を、現用系システム１１の優先度より低くする。
【００７２】
現用系システム１１の監視プロセス３２が停止した場合、自身のプロセス監視を行うことができなくなる。この場合は、図１０の「現用系システム監視プロセス停止時」を参照し、待機系システム１２のみ、優先度を「100」に変更することができる。同様に、待機系システム１２の監視プロセス３２が停止した場合、現用系システム１１のサービスおよびプロセス監視、自身のプロセス監視を行うことができなくなる。この場合、図１０の「待機系システム監視プロセス停止時」を参照し、現用系システム１１のみ、優先度を「100」に変更することができる。
【００７３】
「現用系システム監視プロセス停止時」に該当する場合、待機系システム１２の優先度が「正常時」の「90」から「100」に上がることになり、現用系システム１１の「正常時」の「100」と同じ値となる。同一の場合、待機系システム１２にIPアドレスを付け替え、待機系システム１２がサービスを提供することができる。一方、「待機系システム監視プロセス停止時」に該当する場合、待機系システムの優先度は「正常時」の「90」であるため、それより高い「100」に設定あるいは維持することで、現用系システム１１がそのままサービスの提供を継続することができる。
【００７４】
ここで、冗長構成システムを構成する現用系システム１１および待機系システム１２のハードウェア構成について説明しておく。なお、現用系システム１１と待機系システム１２は、同じハードウェア構成とすることができるため、ここでは現用系システム１１についてのみ説明する。
【００７５】
図１１は、現用系システム１１のハードウェア構成の一例を示した図である。現用系システム１１は、汎用的なPCと同様の構成を採用することができ、CPU６０、ROM６１、RAM６２、HDD６３、通信I/F６４、入出力I/F６５、表示装置６６、入力装置６７、バス６８を含んで構成される。
【００７６】
CPU６０は、ROM６１やHDD６３に格納されたプログラムを実行し、現用系システム１１全体の動作を制御する。ROM６１は、現用系システム１１の起動時に実行されるBIOSや各種の設定値等を格納する不揮発性メモリである。RAM６２は、CPU６０が実行するために読み出したプログラムを保持する等の作業領域を提供する揮発性メモリである。HDD６３は、OS、各種のプログラム、各種のデータを格納する不揮発性の記憶装置である。ここでは、HDD６３を用いているが、これに限られるものではなく、SSD等を用いてもよい。
【００７７】
通信I/F６４は、現用系システム１１をインターネット等のネットワークに接続し、ネットワークに接続されたクライアント１３等と通信するためのネットワークインタフェースである。入出力I/F６５は、表示装置６６への情報の出力と、入力装置６７からの情報の入力とを制御するためのインタフェースである。表示装置６６は、液晶ディスプレイや有機ELディスプレイ等とされ、クライアント１３等から送信された通知の内容等を表示する。入力装置６７は、マウスやキーボードとされ、ユーザが入力した情報を受け付ける。バス６８は、CPU６０やROM６１等と接続され、アドレス信号、データ信号、各種の制御信号を伝送する。
【００７８】
なお、クライアント１３や管理システムも、現用系システム１１と同様のハードウェア構成を採用することができる。現用系システム１１と待機系システム１２は、PC等とされ、それぞれが別個の機器で構成されていてもよいが、１つの機器で、HDD６３を複数に論理的に区切って複数のパーティションに分け、パーティション毎にOSや監視プロセス、監視対象を設け、各パーティションを現用系システム１１と待機系システム１２として利用してもよい。また、現用系システム１１と待機系システム１２はそれぞれ、１つの機器や１つのパーティションから構成されるものに限らず、２以上の機器や２以上のパーティションから構成されるものであってもよい。
【００７９】
クライアント１３も、図１１に示した現用系システム１１と同様のハードウェア構成を採用することができるが、コピー機能、印刷機能、スキャナ機能、ファックス機能等の複数の機能を備えたMFP(Multi-Function Peripheral)、電子黒板、プロジェクタ等もクライアント１３として採用することができる。そこで、図１２を参照して、クライアント１３の一例として、MFPのハードウェア構成について説明する。
【００８０】
図１２は、MFPのハードウェア構成の一例を示した図である。MFPは、本体７０と操作部８０とから構成され、本体７０は、コピー機能、スキャナ機能、ファックス機能、印刷機能等の各種の機能を実現し、操作部８０は、ユーザの操作に応じた入力を受け付ける。本体７０と操作部８０は、専用の通信路９０を介して相互に通信可能に接続される。通信路９０としては、例えばUSB(Universal Serial Bus)規格のものを用いることができるが、有線か無線かを問わず、任意の規格のものであってもよい。
【００８１】
本体７０は、操作部８０で受け付けた入力に応じた動作を行うことができる。また、本体７０は、他の機器、例えばPC等とも通信可能で、PC等から受信した指示に応じた動作を行うこともできる。
【００８２】
本体７０は、ハードウェアとして、CPU７１、ROM７２、RAM７３、HDD７４、エンジン部７５、接続I/F７６、通信I/F７７、７８を備え、これらがバス７９を介して相互に接続されている。
【００８３】
CPU７１は、本体７０の動作を総括的に制御する。CPU７１は、RAM７３を作業領域として使用し、ROM７２やHDD７４等に格納されたプログラムを実行することで、本体７０の動作を制御し、上記の各種の機能を実現する。HDD７４には、上記のプログラムのほか、文書等のデータや各種の設定情報を格納することができる。
【００８４】
エンジン部７５は、上記の各種の機能を実現するための汎用的な情報処理や通信以外の処理を実行する。エンジン部７５は、例えば、原稿の画像を読み取るスキャナ（画像読取部）、紙等のシート材への印刷を行うプロッタ（画像形成部）、ファックス通信を行うファックス部等を備えている。エンジン部７５は、そのほか、印刷済みのシート材を仕上げるフィニッシャや、原稿を自動搬送する自動原稿給送装置(ADF)等のようなオプションを備えることもできる。
【００８５】
接続I/F７６は、通信路９０を介して操作部８０と通信を行うためのインタフェースである。通信I/F７７は、ネットワークを介してサービス提供の要求等を送信し、サービスの提供を受けるためのインタフェースである。通信I/F７８は、ネットワークとは別の公衆通信網を介して、電話やファックス通信を行うためのインタフェースである。
【００８６】
操作部８０は、ハードウェアとして、CPU８１、ROM８２、RAM８３、フラッシュメモリ８４、接続I/F８５、通信I/F８６、操作パネル８７、外部接続I/F８８を備え、これらがバス８９を介して相互に接続されている。
【００８７】
CPU８１は、操作部８０の動作を総括的に制御する。CPU８１は、RAM８３を作業領域として使用し、ROM８２やフラッシュメモリ８４等に格納されたプログラムを実行することで、操作部８０の動作を制御し、各種の機能を実現する。操作部８０の機能としては、ユーザから受け付けた入力に応じた情報（例えば画像）、動作状況を示す情報、設定状態を示す情報等の表示、表示の切り替え、入力された情報の受け付け、選択の受け付け等を挙げることができる。
【００８８】
接続I/F８５は、通信路９０を介して本体７０と通信を行うためのインタフェースである。通信I/F８６は、ネットワークを介してデータ等を送受信するためのインタフェースである。操作パネル８７は、上記の入力の受け付け、情報の表示を行う。この例では、タッチパネル機能を搭載した液晶表示装置(LCD)で構成されるが、これに限られるものではなく、タッチパネル機能を搭載した有機EL表示装置等で構成されていてもよい。また、操作パネル８７に加えて、または操作パネル８７に代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００８９】
外部接続I/F８８は、ICカードリーダ等を接続することが可能で、ICカードリーダを接続した場合、MFPを利用する、ICカードに記録されているユーザの情報を読み取り、ユーザ認証を行うユーザ認証機能を実現することができる。外部接続I/F８８は、外付けHDD等の外部記憶装置や他の機器を接続してもよい。
【００９０】
現用系システム１１に異常が発生した場合、現用系システム１１に割り当てられたIPアドレスを、待機系システム１２に付け替えることができるため、マルチキャスト通信をサポートしていないコンピューティング環境にもシステムを構築することができる。また、その環境に対して何の設定を行わなくても、システムを構築することができ、サービスの継続的な提供が可能となる。
【００９１】
これまで本発明を、冗長構成システム、切替方法、情報処理システムおよびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００９２】
したがって、上記プログラムが記録された記録媒体、上記プログラムを提供する外部機器、管理システム等も提供することができるものである。
【符号の説明】
【００９３】
１０…パブリッククラウド、１１…現用系システム、１２…待機系システム、１３…クライアント、２０…クラウド管理機能、２１…ネットワーク管理部、３０、４０…インスタンス、３１、４１…OS、３２、４２…監視プロセス、３３、４３…監視対象、３４、４４…IPアドレス切替要求機能、５０…制御部、５１…第１の検知部、５２…第２の検知部、５３…第３の検知部、５４…要求部、５５…リセット処理部、６０…CPU、６１…ROM、６２…RAM、６３…HDD、６４…通信I/F、６５…入出力I/F、６６…表示装置、６７…入力装置、６８…バス、７０…本体、７１…CPU、７２…ROM、７３…RAM、７４…HDD、７５…エンジン部、７６…接続I/F、７７、７８…通信I/F、７９…バス、８０…操作部、８１…CPU、８２…ROM、８３…RAM、８４…フラッシュメモリ、８５…接続I/F、８６…通信I/F、８７…操作パネル、８８…外部接続I/F、８９…バス、９０…通信路
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】米国特許第５４７３５９９号公報
【図１】
2018133764.tif 000003
【図２】
2018133764.tif 000004
【図３】
2018133764.tif 000005
【図４】
2018133764.tif 000006
【図５】
2018133764.tif 000007
【図６】
2018133764.tif 000008
【図７】
2018133764.tif 000009
【図８】
2018133764.tif 000010
【図９】
2018133764.tif 000011
【図１０】
2018133764.tif 000012
【図１１】
2018133764.tif 000013
【図１２】
2018133764.tif 000014