(57)【要約】【課題】クラウドシステム等において死活監視のための周期通信により外部ネットワークで発生する通信量の増大を抑制する。【解決手段】  外部からのデータ処理要求を実行するアプリケーションが実装されているサーバ１０と、アプリケーションへのデータ処理要求を、外部通信ネットワーク３０を介して送出するクライアント２０とを備えた情報処理システム１である。サーバ１０とクライアント２０とは、互いにそれらが正常に動作しているかを監視する死活監視と外部通信ネットワーク３０が正常に動作しているかを監視するための周期通信データを送出し、相手方の動作を監視している。サーバ１０、クライアント２０と外部通信ネットワーク３０との間には、それぞれゲートウェイ装置１６０，２１０が設けられ、周期通信データ及び外部通信ネットワーク３０の状況から周期通信よりも低頻度のステータス情報を相手方に送信する。【選択図】図６
2015060519.tif 000002
【特許請求の範囲】
【請求項１】
外部からのデータ処理要求を受けて当該データ処理を実行するアプリケーションが実装されている第１の情報処理装置と、前記アプリケーションへのデータ処理要求を、前記第１の情報処理装置と通信可能に接続する外部通信ネットワークを介して送出する第２の情報処理装置とを備え、
前記第１の情報処理装置と前記第２の情報処理装置とは、互いにそれらが正常に動作しているかを監視する死活監視と前記外部通信ネットワークが正常に動作しているかを監視するネットワーク監視を実行するために用いられる周期通信データを送出するための周期通信部と、前記各周期通信部からの周期通信データを受信して相手方の前記第１の情報処理装置又は第２の情報処理装置、及び前記外部通信ネットワークが正常に動作しているか判定するための動作監視部とを備えている情報処理システムであって、
前記第１の情報処理装置と前記外部通信ネットワークとの間には第１の通信制御装置が、前記第２の情報処理装置と前記外部通信ネットワークとの間には第２の通信制御装置が接続されており、
前記第１の通信制御装置及び前記第２の通信制御装置の少なくとも一方は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部からの前記周期通信データを受信して、前記周期通信データよりも周期通信頻度が小さい情報に変換する周期通信変換部を備え、
当該他方の前記第１の通信制御装置又は前記第２の通信制御装置は、前記情報を受信して当該情報を基に相手方の前記第１の情報処理装置又は第２の情報処理装置が正常に動作しているか判定する周期通信再生部を備え、
前記第１の通信制御装置及び前記第２の通信制御装置は、前記第２の情報処理装置と前記第１の情報処理装置の前記アプリケーションとの間で確立されているデータ通信接続が正常であるか判定するためのネットワーク監視部を備え、
前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から受信する前記周期通信データが正常に受信されなくなった場合にそれを通知するための前記情報としてのステータス情報を相手方の前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信再生部に送信し、前記周期通信再生部は、相手方の前記第１の通信制御装置又は前記第２の通信制御装置から受信する前記ステータス情報を基に、相手方の前記第１の通信制御装置又は前記第２の通信制御装置に対応する前記第１の情報処理装置又は前記第２の情報処理装置が正常に動作していると判定し、かつ前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へその旨を通知する、
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から前記周期通信データを受信しても、当該周期通信データが正常であるかを判定することなく廃棄し、
前記周期通信再生部は、前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記周期通信データと同一の信号を生成して前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へ送出する、情報処理システム。
【請求項３】
請求項１に記載の情報処理システムであって、
前記第１の通信制御装置及び前記第２の通信制御装置には、前記周期通信変換部として、前記第１の通信制御装置と前記第１の情報処理装置との間での周期通信を含む複数のデータ通信接続に用いられる通信パケットをカプセル化して前記外部通信ネットワークに送出する処理と、前記周期通信再生部として、前記外部通信ネットワークから受信した前記カプセル化した前記通信パケットを前記カプセル化前の前記通信パケットに復元してあて先の前記第１の情報処理装置又は前記第２の情報処理装置に送出する処理とを実行する通信パケット変換部が設けられている、情報処理システム。
【請求項４】
請求項３に記載の情報処理システムであって、
前記第１の通信制御装置及び前記第２の通信制御装置と、前記第１の情報処理装置又は前記第２の情報処理装置との間のデータ通信は、ＰＰＰ（Point to Point Protocol）を含む２点間通信接続により行われており、前記外部通信ネットワークを介して実行される前記第１の通信制御装置と前記第２の通信制御装置との間でのデータ通信は、ＰＰＴＰ（Point to Point Tunneling Protocol）を含む、前記２点間通信接続の通信パケットをカプセル化して行われるデータ通信接続である、情報処理システム。
【請求項５】
請求項１に記載の情報処理システムであって、
前記第１の通信制御装置に設けられている前記周期通信変換部、前記ネットワーク監視部、及び前記周期通信再生部が有する機能の少なくとも一部が、前記第１の情報処理装置に実装されている前記アプリケーションの機能として取り込まれている、情報処理システム。
【請求項６】
請求項５に記載の情報処理システムであって、
前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から前記周期通信データを受信しても、当該周期通信データが正常であるかを判定することなく廃棄し、
前記周期通信再生部は、前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記周期通信データと同一の信号を生成して前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へ送出する、情報処理システム。
【請求項７】
外部からのデータ処理要求を受けて当該データ処理を実行するアプリケーションが実装されている第１の情報処理装置と、前記アプリケーションへのデータ処理要求を、前記第１の情報処理装置と通信可能に接続する外部通信ネットワークを介して送出する第２の情報処理装置とを備え、
前記第１の情報処理装置と前記第２の情報処理装置とは、互いにそれらが正常に動作しているかを監視する死活監視と前記外部通信ネットワークが正常に動作しているかを監視するネットワーク監視を実行するために用いられる周期通信データを送出するための周期通信部と、前記各周期通信部からの周期通信データを受信して相手方の前記第１の情報処理装置又は第２の情報処理装置、及び前記外部通信ネットワークが正常に動作しているか判定するための動作監視部とを備えている情報処理システムに用いられる通信制御装置であって、
前記第１の情報処理装置と前記外部通信ネットワークとの間、及び前記第２の情報処理装置と前記外部通信ネットワークとの間にそれぞれ接続されており、
前記通信制御装置の少なくとも一方は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部からの前記周期通信データを受信して、前記周期通信データよりも周期通信頻度が小さい情報に変換する周期通信変換部を備え、
当該他方の前記通信制御装置は、前記情報を受信して当該情報を基に相手方の前記第１の情報処理装置又は第２の情報処理装置が正常に動作しているか判定する周期通信再生部
を備え、
各前記通信制御装置は、前記第２の情報処理装置と前記第１の情報処理装置の前記アプリケーションとの間で確立されているデータ通信接続が正常であるか判定するためのネットワーク監視部を備え、
前記少なくとの一方の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から受信する前記周期通信データが正常に受信されなくなった場合にそれを通知するための前記情報であるステータス情報を相手方の前記通信制御装置の前記周期通信再生部に送信し、前記周期通信再生部は、相手方の前記通信制御装置から受信する前記ステータス情報を基に、相手方の前記通信制御装置に対応する前記第１の情報処理装置又は前記第２の情報処理装置が正常に動作していると判定し、かつ前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へその旨を通知する、
情報処理システムの通信制御装置。
【請求項８】
請求項７に記載の情報処理システムの通信制御装置であって、
前記少なくとも一方の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から前記周期通信データを受信しても、当該周期通信データが正常であるかを判定することなく廃棄し、
前記他方の通信制御装置の前記周期通信再生部は、前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記周期通信データと同一の信号を生成して前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へ送出する、情報処理システムの通信制御装置。
【請求項９】
外部からのデータ処理要求を受けて当該データ処理を実行するアプリケーションが実装されている第１の情報処理装置と、前記アプリケーションへのデータ処理要求を、前記第１の情報処理装置と通信可能に接続する外部通信ネットワークを介して送出する第２の情報処理装置とを備え、
前記第１の情報処理装置と前記第２の情報処理装置とは、互いにそれらが正常に動作しているかを監視する死活監視と前記外部通信ネットワークが正常に動作しているかを監視するネットワーク監視を実行するために用いられる周期通信データを送出するための周期通信部と、前記各周期通信部からの周期通信データを受信して相手方の前記第１の情報処理装置又は第２の情報処理装置、及び前記外部通信ネットワークが正常に動作しているか判定するための動作監視部とを備えている情報処理システムにおける通信制御方法であって、
前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部からの前記周期通信データを受信し、
前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から受信する前記周期通信データが正常に受信されなくなった場合に、前記周期通信データを、それを通知するための前記周期通信データよりも周期通信頻度が小さい情報であるステータス情報に変換して、前記外部通信ネットワークに送出し、
前記外部通信ネットワークから受信した前記ステータス情報を基に、前記第１の情報処理装置又は前記第２の情報処理装置が正常に動作していると判定し、かつ前記第２の情報処理装置と前記第１の情報処理装置の前記アプリケーションとの間で確立されているデータ通信接続が正常であると判定した場合、前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へその旨を通知する、
情報処理システムの通信制御方法。
【請求項１０】
請求項９に記載の情報処理システムの通信制御方法であって、
前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から前記周期通信データを受信しても、当該周期通信データが正常であるかを判定することなく廃棄し、
前記データ通信接続が正常であることを示していると判定した場合、前記周期通信データと同一の信号を生成して前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へ送出する、情報処理システムの通信制御方法。
【請求項１１】
外部からのデータ処理要求を受けて当該データ処理を実行するアプリケーションが実装されており、当該アプリケーションとしての情報処理を実行するためのソフトウェアが分散して実装されている複数のハードウェアを備えるクラウドシステムとして構成されている第１の情報処理装置と、前記アプリケーションへのデータ処理要求を、前記第１の情報処理装置と通信可能に接続する外部通信ネットワークを介して送出する第２の情報処理装置とを備え、
前記第１の情報処理装置と前記第２の情報処理装置とは、互いにそれらが正常に動作しているかを監視する死活監視と前記外部通信ネットワークが正常に動作しているかを監視するネットワーク監視を実行するために用いられる周期通信データを送出するための周期通信部と、前記各周期通信部からの周期通信データを受信して相手方の前記第１の情報処理装置又は第２の情報処理装置、及び前記外部通信ネットワークが正常に動作しているか判定するための動作監視部とを備えている情報処理システムであって、
前記第１の情報処理装置と前記外部通信ネットワークとの間には第１の通信制御装置が、前記第２の情報処理装置と前記外部通信ネットワークとの間には第２の通信制御装置が接続されており、
前記第１の通信制御装置及び前記第２の通信制御装置の少なくとも一方は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部からの前記周期通信データを受信して、前記周期通信データよりも周期通信頻度が小さい情報に変換する周期通信変換部を備え、
当該他方の前記第１の通信制御装置又は前記第２の通信制御装置は、前記情報を受信して当該情報を基に相手方の前記第１の情報処理装置又は第２の情報処理装置が正常に動作しているか判定する周期通信再生部を備え、
前記第１の通信制御装置及び前記第２の通信制御装置は、前記第２の情報処理装置と前記第１の情報処理装置の前記アプリケーションとの間で確立されているデータ通信接続が正常であるか判定するためのネットワーク監視部を備え、
前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から受信する前記周期通信データが正常に受信されなくなった場合にそれを通知するための前記情報としてのステータス情報を相手方の前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信再生部に送信し、前記周期通信再生部は、相手方の前記第１の通信制御装置又は前記第２の通信制御装置から受信する前記ステータス情報を基に、相手方の前記第１の通信制御装置又は前記第２の通信制御装置に対応する前記第１の情報処理装置又は前記第２の情報処理装置が正常に動作していると判定し、かつ前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へその旨を通知する、
情報処理システム。
【請求項１２】
請求項１１に記載の情報処理システムであって、
前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から前記周期通信データを受信しても、当該周期通信データが正常であるかを判定することなく廃棄し、
前記周期通信再生部は、前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記周期通信データと同一の信号を生成して前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へ送出する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理システムの通信制御装置、及び情報処理システムの通信制御方法に関する。
【背景技術】
【０００２】
ガス・電力等のエネルギー網、鉄道・高速道路等の交通網や上下水道設備など、市民の社会生活を支えるために整備された社会インフラにおいては従来、例えば変電所などの個々の施設（以下「ローカルサイト」）内に、関連する制御サーバ等の装置一式が設置されていることが多かった。こうした社会インフラの多くについては、環境問題への対応や老朽化対策、維持管理コスト低減のため、運用保守管理の高度化・効率化が急務となっている。近年ＩＣＴ分野で進展が見られるクラウドサービスでは、複数のローカルサイトに点在する制御サーバ等のＩＴ資産をデータセンタに集約し、そこで一元管理することでシステムの安定性を向上させ、維持管理コストを低減可能である。このようなクラウドサービスの活用が、社会インフラの分野でも今後広がっていくと予想されている。
【０００３】
社会インフラのうち特に制御系システムにおいては、高信頼性が要求されるため、サーバとクライアント双方の死活監視（機器のハードウェア、アプリケーション及び機器間ネットワークが正常に動作しているかについて継続的に行う監視）にハートビート（Heart Beat）通信やキープアライブ（Keep Alive）通信と呼ばれる周期通信手法が多用されてきた。
【０００４】
ここでハートビート通信とは、例えば下記に示す特許文献１の記述によれば、「フェイルオーバーすなわち業務の引き継ぎを互いに行なう関係にある複数のサーバ間で、サーバ機能が停止していないことを示すためのハートビート（監視用信号）をやり取りすることにより、互いのサーバの死活監視を行なう技術である。ハートビート通信が行なわれている間は、相手方サーバが正常に稼働しているものと判断され、フェイルオーバーは行なわれない。逆に、ハートビート通信が途切れた場合には、相手方サーバがシステムダウンしたものと判断され、相手方サーバで提供されていた業務アプリケーションを自機で引き継ぐようになっている。」とある。ここでは複数サーバ間での通信の記述を参照したが、後出の図面によって後述するように、複数サーバとクライアントとの間で通信を行い、クライアントがサーバの稼動状況を判断し、通信相手を選択する構成も可能である。
【０００５】
一方、キープアライブ通信とは、コネクション型通信の死活監視のために、一定周期でＮｕｌｌパケット（サイズが小さく、有意の情報がないパケット）を送信する技術である。ここでコネクション型通信とは、例えばＴＣＰ（Transmission Control Protocol）、ＨＴＴＰ（Hyper Text Transfer Protocol）等に従って実行される通信を指す。キープアライブ通信では、通信相手に一定周期でキープアライブ通信用のＮｕｌｌパケットを送った後、所定時間経過後も相手から応答がなければ、回線もしくは通信相手に異常が発生したと見なし、コネクションを切断するように構成される。キープアライブ通信は、通信経路上に存在する各種ネットワーク装置に対し当該コネクションを維持させる目的でも使用される。ＮＡＴ（Network Address Translation）ルータ等の、コネクション毎にアドレス変換やアドレスの動的割り当てを行うネットワーク装置は、データのやりとりがなくなってから所定時間経過後に、当該コネクションに関係するアドレス等の情報を破棄する。キープアライブ通信を行うことにより、アプリケーションで送信すべきデータが途切れても、周期的にデータがやりとりされるため、当該コネクションを維持することが可能になる。
【０００６】
これらの周期通信は、ローカルエリアに閉じたシステムでは問題にならないが、今後クラウド化が進展するにあたり、通信キャリアが運営するＷＡＮ（Wide Area Network）やインターネット、中でも携帯電話網など帯域が比較的細く、通信コストが高い回線を使用する場合、下記のような問題が生ずると予想される。
１）ＷＡＮで発生する通信遅延、パケットロス等により周期通信の所定の周期が確保されず、深刻な回線異常は発生していないにも関わらず、頻繁に異常発生が誤認される可能性がある。
２）通常のデータ通信に加えて周期通信用の有意な情報を含まないＮｕｌｌパケットが送受信されるために通信帯域が圧迫され本来の通信に支障をきたし、あるいは通信コストの増大が生じることがあり得る。
【０００７】
ここで、主として前記１）の問題に対処するため、先に言及した特許文献１では、ハートビート通信が途絶してもすぐにはフェイルオーバーせず、正常時とは異なる経路に切替えた上で通信を試みることで、ＷＡＮで発生する遅延やパケットロスの影響を軽減し、システムの可用性を向上させる技術が提案されている。
【０００８】
また、特許文献２では、前述の１）の問題への対策のため、ＷＡＮを介したハートビート通信が途絶してもすぐにはフェイルオーバーせず、遠隔ミラーストレージ上のリンクを介してハートビート通信を転送することでシステムの可用性を向上させる技術が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−２０３９４１号公報
【特許文献２】特開２００２-３１２１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１、２共に、ハートビート通信がＷＡＮで発生する通信遅延やパケットロスの影響を受けるという１）の問題に対し、別の手段で補完することでシステムの可用性を向上させているものの、周期通信用パケットがＷＡＮを通ること自体に変わりはなく、ＷＡＮを介した周期通信用パケットの送受信が通信帯域や通信コストに悪影響を与えるおそれがあるという２）の問題に関する認識は示されていない。社会インフラのうち特に制御系システムでは、従来高信頼性が最も重要視され、通信コスト等は特に問題にされない傾向が強かった。しかし近年社会インフラを所有・管理する公共機関や地方自治体も財政上の観点から、制御系システムにも、一定の信頼性を維持しながらコスト適正化を図ることが求められるようになってきている。
【００１１】
ここで、前記２）の問題をより明確化するために、周期通信の具体的な通信コストがどの程度かかるかを下記に試算する。特許文献２の中に、ハードビート通信の周期の例として１秒毎、１０秒毎、６０秒毎、の３種類が示されているのでこれに基づいて試算する。周期通信一回あたりの通信量を６０バイトと仮定すると、１ヶ月の通信量は１秒毎の場合で１５５Ｍｂｙｔｅ、６０秒毎の場合２．６Ｍｂｙｔｅとなる。いま通信費用の例として、従量課金制のＡＤＳＬサービスで１ＭＢｙｔｅあたり２０円、同じく従量課金制の３Ｇ携帯電話サービスで１Ｍｂｙｔｅあたり３０００円の現実に行われている料金プラン相当の通信料金を仮定する。この場合、前述の１秒毎に周期通信を行う場合の月額費用は、ＡＤＳＬで３１００円、３Ｇでは４６万円以上となる。６０秒毎の場合でもＡＤＳＬで５２円、３Ｇで７７５０円となる。いずれもクライアント一台あたりの額でシステム全体にクライアントがＮ台接続されているとすれば月額費用はＮ倍となること、当該周期通信のみに要する通信料金が、本来の目的であるデータ通信とは別に死活監視のためだけにかかる額であることを鑑みると、決して軽視できない金額であることが分かる。
【００１２】
そこで、本発明では、上記の問題点に鑑み、制御系システムのクラウド化に際し、周期通信がＷＡＮ等の外部通信ネットワークに与える通信負荷を極力低減させ、周期通信パケットが外部通信ネットワークの通信帯域や通信コストへ与える影響を軽減することを可能とする情報処理システム、情報処理システムの通信制御装置、及び情報処理システムの通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
前記の課題等を解決するための本発明の一態様は、外部からのデータ処理要求を受けて当該データ処理を実行するアプリケーションが実装されている第１の情報処理装置と、前記アプリケーションへのデータ処理要求を、前記第１の情報処理装置と通信可能に接続する外部通信ネットワークを介して送出する第２の情報処理装置とを備え、前記第１の情報処理装置と前記第２の情報処理装置とは、互いにそれらが正常に動作しているかを監視する死活監視と前記外部通信ネットワークが正常に動作しているかを監視するネットワーク監視を実行するために用いられる周期通信データを送出するための周期通信部と、前記各周期通信部からの周期通信データを受信して相手方の前記第１の情報処理装置又は第２の情報処理装置、及び前記外部通信ネットワークが正常に動作しているか判定するための動作監視部とを備えている情報処理システムであって、前記第１の情報処理装置と前記外部通信ネットワークとの間には第１の通信制御装置が、前記第２の情報処理装置と前記外部通信ネットワークとの間には第２の通信制御装置が接続されており、前記第１の通信制御装置及び前記第２の通信制御装置の少なくとも一方は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部からの前記周期通信データを受信して、前記周期通信データよりも周期通信頻度が小さい情報に変換する周期通信変換部を備え、当該他方の前記第１の通信制御装置又は前記第２の通信制御装置は、前記情報を受信して当該情報を基に相手方の前記第１の情報処理装置又は第２の情報処理装置が正常に動作しているか判定する周期通信再生部を備え、前記第１の通信制御装置及び前記第２の通信制御装置は、前記第２の情報処理装置と前記第１の情報処理装置の前記アプリケーションとの間で確立されているデータ通信接続が正常であるか判定するためのネットワーク監視部を備え、前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信変換部は、前記第１の情報処理装置又は前記第２の情報処理装置の前記周期通信部から受信する前記周期通信データが正常に受信されなくなった場合にそれを通知するための前記情報としてのステータス情報を相手方の前記第１の通信制御装置又は前記第２の通信制御装置の前記周期通信再生部に送信し、前記周期通信再生部は、相手方の前記第１の通信制御装置又は前記第２の通信制御装置から受信する前記ステータス情報を基に、相手方の前記第１の通信制御装置又は前記第２の通信制御装置に対応する前記第１の情報処理装置又は前記第２の情報処理装置が正常に動作していると判定し、かつ前記ネットワーク監視部が、前記データ通信接続が正常であることを示していると判定した場合、前記第１の情報処理装置又は前記第２の情報処理装置の前記動作監視部へその旨を通知する、情報処理システムである。
また、本発明の他の態様としては、前記情報処理システムに用いられる通信制御装置、及び前記情報処理システムに用いられる通信制御方法がある。
【発明の効果】
【００１４】
本発明によれば、制御系システムのクラウド化に際し、周期通信がＷＡＮ等の外部通信ネットワークに与える通信負荷を極力低減させ、周期通信パケットが外部通信ネットワークの通信帯域や通信コストへ与える影響を軽減することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による情報処理システム１の全体構成を示す図である。
【図２】図１の情報処理システム１に含まれるサーバ、クライアントとして用いられるコンピュータのハードウェア構成例を示す図である。
【図３】図１の情報処理システム１に含まれるクラウドサーバシステムＣＳ及びサーバ１０のソフトウェア構成例を示す図である。
【図４】従来の制御系システムのローカルサイトＬＳにおけるデータ通信処理について模式的に示す図である。
【図５】図４の制御系システムをクラウド化した構成の例を示す図である。
【図６】本発明の一実施形態に係る、クラウド化された情報処理システム１の構成例を示す図である。
【図７】図６の情報処理システム１においてローカル側ゲートウェイ装置２１０が実行する機器監視処理フロー例を示す図である。
【図８】図６の情報処理システム１においてローカル側ゲートウェイ装置２１０が実行する機器監視処理フロー例を示す図である。
【図９】図６の情報処理システム１においてクラウド側ゲートウェイ装置１６０が実行する機器監視処理フロー例を示す図である。
【図１０】図５のクラウド化した制御系システムに対応する他の構成を有する制御系システムの構成例を示す図である。
【図１１】本発明の他の実施形態に係る、クラウド化された情報処理システム１の構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を用いて説明する。図１は、本発明の一実施形態によるクラウド化された情報処理システム１の全体構成例を示している。情報処理システム１は、クラウドサーバシステムＣＳと、クライアント２０（第２の情報処理装置）が設置されている変電所等の制御系システムにおけるローカルサイトＬＳとが外部通信ネットワーク３０で通信可能に接続されることにより構成されている。クラウドサーバシステムＣＳには種々のアプリケーション１００が実装されており、ローカルサイトＬＳにある各クライアント２０から利用可能とされている。クラウドサーバシステムＣＳのアプリケーション１００は、後述する複数のサーバ１０（第１の情報処理装置）によって実行されており、クライアント２０のリクエストに応答して各種の処理を実行するが、あるアプリケーション１００を実行するサーバ１０に障害が発生した場合、当該クライアント２０からのリクエストは他の代替サーバ１０に送信されるように制御されるので、情報処理システム１としての可用性が確保される。なお、クラウドサーバシステムＣＳにおいて、アプリケーション１００が実装されるサーバ１０と外部通信ネットワーク３０との間には、クラウド側ゲートウェイ装置１６０（第１の通信制御装置）が設けられる。また、ローカルサイトＬＳにおいて、クライアント２０と外部通信ネットワーク３０との間には、ローカル側ゲートウェイ装置２１０（第２の通信制御装置）が設けられる。クラウド側ゲートウェイ装置１６０及びローカル側ゲートウェイ装置２１０を用いた、外部通信ネットワーク３０の通信量を軽減するための通信制御方式については後述する。
【００１７】
外部通信ネットワーク３０はＷＡＮ、インターネット、携帯電話網等の、情報処理システム１を運営する事業者及びそのユーザにとっては外部の広域通信網である。したがって、前記したように、クラウドサーバシステムＣＳのサーバ１０とローカルサイトＬＳのクライアント２０との間で周期通信による死活確認処理を行う場合、その周期通信によって発生する通信コストが問題となる。
【００１８】
次に、情報処理システム１のサーバ１０、クライアント２０、クラウド側ゲートウェイ装置１６０、及びローカル側ゲートウェイ装置２１０として使用されるコンピュータの構成例について説明する。図２に、このようなコンピュータのハードウェア構成例を示している。サーバ１０、クライアント２０、クラウド側ゲートウェイ装置１６０、及びローカル側ゲートウェイ装置２１０としては、一般的な構成を有するコンピュータを用いることができ、データ演算処理を実行するＭＰＵ（MicroProcessing Unit）、ＣＰＵ（Central Processing Unit）等のプロセッサ１１、プロセッサ１１の演算処理に用いられるプログラム、データ等を記憶する主記憶装置であって、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の記憶デバイスを有するメモリ１２、プロセッサ１１が使用するプログラム等を格納する、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の記憶デバイスを有する補助記憶装置１３、利用者からの入力データを受け付けるためのキーボード、マウス、タッチパネル等の入力デバイスを含む入力装置１４、データ出力を行うためのディスプレイデバイス、音声出力デバイス等を含む出力装置１５、外部通信ネットワーク３０とのデータ入出力インタフェースとして機能する、ＮＩＣ（Network Interface Card）等を含む通信インタフェース１６、及び以上の各機能要素間を通信可能に接続する内部バス１７を備えている。なお、サーバ１０、クライアント２０、クラウド側ゲートウェイ装置１６０、及びローカル側ゲートウェイ装置２１０に用いるコンピュータの構成としては、図２に例示した以外に、適宜の構成を採用することができる。
【００１９】
次に、サーバ１０を含むクラウドサーバシステムＣＳの構成について説明する。図３に、本実施形態の情報処理システム１に設けられているクラウドサーバシステムＣＳの構成例を示している。クラウドサーバシステムＣＳは、複数のサーバ１０を相互に通信可能に接続してなり、いわゆるクラウドシステムとして構成されている。図３のクラウドサーバシステムＣＳは、Ｎ台のサーバ１０（サーバＡ〜サーバＮ）を備えている。各サーバ１０は、図２に例示したようなそれぞれ別個のハードウェアで構成する他、公知の仮想化ソフトウェアによって提供される仮想化機構２００上に構築する仮想サーバとして構成してもよい。
【００２０】
次に、各サーバ１０の構成について説明する。図３に例示しているように、サーバ１０は、アプリケーション１００、オペレーティングシステム（ＯＳ）１１０、機器・ネットワーク監視部１２０（動作監視部）、周期通信部１３０、及びデータ通信部１４０を備えている。ＯＳ１１０はサーバ１０を構成するハードウェアの動作を制御するとともに外部機器との間でのデータ入出力処理を制御する基本ソフトウェアであり、アプリケーション１００はＯＳ１１０上で動作する。アプリケーション１００は前記のようにクライアント２０からの処理リクエストに応じてデータ処理を行うが、当該クライアント２０からは、クラウドサーバシステムＣＳに属するいずれのサーバ１０に実装されているアプリケーション１００がデータ処理を行っているかは不可視となっている。
【００２１】
機器・ネットワーク監視部１２０は、クライアント２０から周期的に送信されてくる、ハートビート信号、キープアライブ信号等の死活確認信号を継続的に受信することにより、周期通信の送信元であるクライアント２０が正常に動作しているかを判定する。周期通信部１３０は、外部通信ネットワーク３０を経由してクライアント２０に、ハートビート信号、キープアライブ信号等の死活確認信号を送信する機能を有する。死活確認信号の仕様については、情報処理システム１の管理者において適宜設定することができる。データ通信部１４０は、クライアント２０との間で外部通信ネットワーク３０を介して通常の処理データの送受信を実行する機能部である。以上のサーバ１０の機能を実現する機能部は、サーバ１０を構成するコンピュータの補助記憶装置１３にプログラムとして他の情報処理に使用するデータとともに記憶され、適時にプロセッサ１１によりメモリ１２上に読み出されて実行される。なお、アプリケーション１００は、サーバ１０に障害が発生した場合にフェイルオーバーを実行するため、同一の機能を有するものが複数のサーバ１０に実装されている。また、仮想化機構２０を用いて仮想サーバを構成する場合には、上記機能部としてのプログラムは、仮想化機構２０が実装されるハードウェアに含まれる記憶装置のいずれかに格納される。
【００２２】
図１で説明したように、クラウドサーバシステムＣＳにはクラウド側ゲートウェイ装置１６０が設けられ、各サーバ１０と外部通信ネットワーク３０との間に接続されている。クラウド側ゲートウェイ装置１６０は前記サーバ１０とほぼ同様の構成を有し、ＯＳ１６４、機器監視部１６３、ネットワーク監視部１６１、及び周期通信再生部１６２を備える。ＯＳ１６４、機器監視部１６３、ネットワーク監視部１６１、及び周期通信再生部１６２の各機能部は、サーバ１０と同様であり、機器・ネットワーク監視部１２０は、便宜的に機器監視部１６３、ネットワーク監視部１６１に分割されている。クラウド側ゲートウェイ装置１６０は情報処理システム１の通信制御に特化した装置であるため、一般データ処理用のアプリケーションは実装しなくてもよい。
【００２３】
次に、情報処理システム１のローカルサイトＬＳの構成について説明する。図１に示すように、ローカルサイトＬＳには、クライアント２０とローカル側ゲートウェイ装置２１０とが設けられている。各クライアント２０は、ローカル側ゲートウェイ装置２１０を介して外部通信ネットワーク３０に接続されている。クライアント２０は、前記のように図２に例示するようなコンピュータであり、図３のサーバ１０と同様の機能部を備えて構成することができる。クライアント２０では、機器・ネットワーク監視部１２０はサーバ１０からのハートビート信号等を監視し、周期通信部１３０はサーバ１０に対して死活確認信号を送信する。
【００２４】
ローカル側ゲートウェイ装置２１０は、ＯＳ２１４、ネットワーク監視部２１１、周期通信再生部２１２、及び機器監視部２１３（周期通信変換部）を備え、クラウドサーバシステムＣＳのクラウド側ゲートウェイ装置１６０と同等の構成を有する。ローカル側ゲートウェイ装置２１０の機能については後述する。
【００２５】
以下、ここまで説明した情報処理システム１の構成を前提として、それに適用される通信制御方式について説明する。まずそれに先立って、本実施形態における通信制御方式の作用効果をより明確にするために、ローカルサイトＬＳ内に設置されていた制御系システムの一部をデータセンタとしてのクラウドサーバシステムＣＳへ移設するクラウド化を行うにあたって生じる前記の問題について説明する。
【００２６】
図４に、従来のローカルサイトＬＳ内で完結する制御系システムの構成例を示している。図４に示すとおり、この制御系システムでは、サーバ１０（サーバＡ，Ｂ）、クライアント２０共にローカルサイトＬＳ内に設置されており、サイト内通信ネットワーク４０は全てＬＡＮ（Local Area Network）で構成されている。また、サーバ１０は機器・ネットワーク監視部１２０、周期通信部１３０、及びデータ通信部１４０を、クライアント２０はサーバ・ネットワーク監視部１２５、周期通信部１３５、及びデータ通信部１４０を備えている。
【００２７】
クライアント２０は、サーバ・ネットワーク監視部１２５において、サーバＡの周期通信部１３０からの周期通信を監視する。すなわち、サーバ・ネットワーク監視部１２５がサーバＡから周期通信パケットを一定周期で受信していると判定している間はサーバＡが正常に稼動しているものと判断し、例えば一定周期内に周期通信パケットをサーバＡから受信できないケースがＮ回連続した場合、サーバＡがシステムダウンしたものと判断し、代替手段としてサーバＢの周期通信部１３０からの周期通信を受信しようと試みる。実際にサーバＡがシステムダウンした場合は、サーバＡのアプリケーションで実行されていたデータ処理はサーバＢのアプリケーションに引継がれ、データ通信部１４０から送信されるデータの宛先もサーバＡからサーバＢに切り替えられる。
【００２８】
同様に、クライアント２０の死活監視でも周期通信が利用される。クライアント２０からのデータ処理要求がサーバＡによって実行されている場合、サーバＡは、機器・ネットワーク監視部１２０において、クライアント２０の周期通信部１３５からの周期通信を監視する。このサーバＡの機器・ネットワーク監視機能は、サーバＡからサーバＢにアプリケーションによるデータ処理が引継がれた場合、同様にサーバＢの機器・ネットワーク監視機能に引継がれる。なお、サーバ１０の死活監視とクライアント２０の死活監視はそれぞれ目的が異なるため、図４の構成例のように必ずしもペアで必要とされるものではない。クライアント２０はサーバ１０とは異なり、設置数が多いため、制御系システムにおいても冗長構成を取らない場合が多いからである。しかし例えば、無線ＬＡＮを用いて各クライアント２０とサーバ１０とを接続するシステムにおいて、クライアント２０の移動にともなってクライアント２０が無線ＬＡＮの通信可能範囲を出入りする場合、クライアント２０が無線ＬＡＮ圏内にいるか、圏外にいるかをサーバ１０側で把握する目的で死活監視を行う構成が採用されることがある。
【００２９】
次に、図４の制御系システムをクラウドシステム化した場合について説明する。図５は、図４の制御系システムをクラウドシステム化した場合のシステム構成例である。図５に示すとおり、サーバ１０をクラウドサーバシステムＣＳ（データセンタ）に設置した場合、サーバ１０の冗長切替はクラウド内で仮想的かつ自動的に実施されるため、ローカルサイトＬＳに設置されたクライアント２０からは、一台のサーバ１０が常時稼動しているように見え、クラウドサーバシステムＣＳ内でのサーバ切替はクライアント２０からは不可視である。図４の例でローカルサイトＬＳに設置されていたサーバＡとサーバＢは、この場合両方とも不要となる。また、クラウドサーバシステムＣＳに設けられるサーバ１０の周期通信部１３０による周期通信機能とクライアント２０のサーバ・ネットワーク監視部１２５による監視機能は、クラウドサーバシステムＣＳにおけるサーバ１０の死活監視の面では不要となるが、クラウドサーバシステムＣＳとローカルサイトＬＳとを接続する外部通信ネットワーク３０の監視の面では依然必要である。したがって、前記したように、図５に例示するシステム構成では、サーバ１０の周期通信部１３０による周期通信機能及びクライアント２０の周期通信部１３５による周期通信機能により生成される大量の周期通信パケットが全て外部通信ネットワーク３０を通るため、前述のように、周期通信パケットの通信量が外部通信ネットワーク３０の通信帯域を圧迫する、あるいは外部通信ネットワーク３０を利用するための通信コストが増大するといった問題が発生する。
【００３０】
次に、以上の問題を踏まえて構成した本発明の実施形態のうち、第１の実施例に係る図１に例示した情報処理システム１による通信制御について説明する。図６に、情報処理システム１に実装されている死活監視機能を模式的に示している。
【００３１】
図６に示すとおり、本実施例では、サーバ１０をクラウドサーバシステムＣＳに設置し、クライアント２０をローカルサイトＬＳに設置しているのに加え、クラウド側のサーバ１０と外部通信ネットワーク３０との間にクラウド側ゲートウェイ装置１６０、ローカルサイトＬＳ側のクライアント２０と外部通信ネットワーク３０との間にはローカル側ゲートウェイ装置２１０をそれぞれ設置する。前述のように、クラウド化した情報処理システム１では、クラウド側のサーバ１０に関するクライアント２０側からの死活監視は不要となる。サーバ１０の周期通信部１３０により生成される周期通信パケットは、クラウド側ゲートウェイ装置１６０において外部通信ネットワーク３０に送出される前に廃棄される。一方、ローカル側ゲートウェイ装置２１０のネットワーク監視部２１１では、サーバ１０とクライアント２０との間のデータ通信のコネクションで用いられるキープアライブ信号を継続的に受信することにより外部通信ネットワーク３０の状態を監視し、データ通信部１４０に関するコネクションが維持されている間はローカル側ゲートウェイ装置２１０の周期通信再生部２１２にて周期通信パケットを生成し、クライアント２０のサーバ・ネットワーク監視部１２５に送信する。キープアライブ信号の不検知によりクライアント２０のデータ通信部１４０でのコネクションが切断されたことを検知した場合、ローカル側ゲートウェイ装置２１０の周期通信再生部２１２は、前述の周期通信を中断することで、クライアント２０のサーバ・ネットワーク監視部１２５に外部通信ネットワーク３０での異常発生を通知する。本実施例の情報処理システム１では、このような構成を取ることにより、サーバ２０からの周期送信パケットを外部通信ネットワーク３０に送出することなく、クライアント２０のネットワーク監視機能を有効にしているため、外部通信ネットワーク３０を通過する周期通信パケットの増加を抑制し，通信コストの増大を防止することが可能となる。
【００３２】
一方、ローカルサイトＬＳにあるクライアント２０の周期通信部１３５により生成される周期通信パケットは、ローカル側ゲートウェイ装置２１０の機器監視部２１３により、クライアント２０の死活監視状態並びにクライアント２０とローカル側ゲートウェイ装置２１０との間を接続するＬＡＮの接続状態を表すステータス情報に変換され、周期通信の毎周期ではなくステータス情報変化時のみ、外部通信ネットワーク３０に送出される。クラウド側ゲートウェイ装置１６０のネットワーク監視部１６１では、前述のローカル側ゲートウェイ装置２１０のネットワーク監視部２１１と同様に、サーバ１０とクライアント２０との間のデータ通信コネクションで用いられるキープアライブ信号を基に外部通信ネットワーク３０の状態を監視する。クラウド側ゲートウェイ装置１６０の周期通信再生部１６２では、ネットワーク監視状況、及びローカル側ゲートウェイ装置２１０から受信するクライアントステータス情報を基に、コネクションが維持され、かつクライアントステータス情報が正常な時のみ周期通信パケットを生成し、サーバ２０の機器・ネットワーク監視部１２０に対し周期通信パケットを送信する。このような構成を取ることにより、クライアント２０からの周期通信パケットをそのまま外部通信ネットワーク３０に通すことなく、クライアント２０の死活監視及びクライアント２０とローカル側ゲートウェイ装置２１０との間のＬＡＮと外部通信ネットワーク３０を合わせたネットワーク監視機能を有効にするので、周期通信による外部通信ネットワーク３０の通信量増大と通信コスト増大とを防止することができる。
【００３３】
なお、以上説明した構成例では、サーバ１０の周期通信部１３０から送信される周期通信パケットは、受信したクラウド側ゲートウェイ装置１６０で破棄するものとしているが、図６において破線で示すように、サーバ１０の周期通信部１３０からの周期通信をクラウド側ゲートウェイ装置１６０の機器監視部１６３で受信し、サーバ１０の死活監視状態並びにサーバ１０とクラウド側ゲートウェイ装置１６０との間を接続するＬＡＮの接続状態を表すステータス情報に変換して、周期通信の毎周期ではなくステータス情報変化時のみ、外部通信ネットワーク３０に送出するようにしてもよい。
【００３４】
また、サーバ１０からの周期通信、クライアント２０からの周期通信のいずれかを、ステータス情報に変換しないで、そのまま周期通信パケットとして相手のクライアント２０あるいはサーバ１０に送信するようにすることもできる。以上の構成では、クラウド側ゲートウェイ装置１６０の周期通信再生部１６２あるいはローカル側ゲートウェイ装置２１０の周期通信再生部２１２にて、それぞれサーバ１０の周期通信部１３０あるいはクライアント２０の周期通信部１３５による周期通信を再現してクライアント２０、サーバ１０に送信しているので、サーバ１０、クライアント２０において既存の監視部１２０、１２５を構成するソフトウェアに変更を加える必要がないというメリットが得られる。
【００３５】
また、クラウド側ゲートウェイ装置１６０の周期通信再生部１６２あるいはローカル側ゲートウェイ装置２１０の周期通信再生部２１２にて、それぞれサーバ１０の周期通信部１３０あるいはクライアント２０の周期通信部１３５による周期通信を再現することなく、機器監視部１６３、２１３からのステータス情報信号をそのままクライアント２０、サーバ１０に送信する構成としてもよい。この場合には、サーバ１０の機器・ネットワーク監視部１２０、クライアント２０のサーバ・ネットワーク監視部１２５を構成するソフトウェアは、受信するステータス情報の使用に応じた変更を加えることとなる。このような構成上の変更は、本発明を適用する情報処理システム１の条件に応じて適宜行えばよいことである。
【００３６】
次に、以上説明した情報処理システム１の機能を実現するためのデータ処理について具体的に説明する。まず、本実施例の情報処理システム１におけるローカル側ゲートウェイ装置２１０が備えるネットワーク監視機能及び周期通信機能について説明する。図７は、図６の情報処理システム１にあるローカル側ゲートウェイ装置２１０のネットワーク監視機能及び周期送信機能に関するデータ処理フロー例を示す図である。
【００３７】
図７に示すとおり、図６にて前述したローカル側ゲートウェイ装置２１０のメインルーチンの中では、サーバ１０からのデータ通信が正常であるかを判定する処理に関連して２種類のタイマーが設けられている。一つはサーバ１０とクライアント２０との間のデータ通信コネクションで用いられるキープアライブ通信の周期に即したタイマー（判定ステップＳ７０１）であり、もう一つはサーバ１０の周期通信の周期に即したタイマー（判定ステップＳ７０６）である。メインルーチン内では各タイマーを確認に行った際、設定時刻と現在時刻とを比較して設定時刻を過ぎていたら処理フラグをＯＮにし、再度タイマーを設定する。メインルーチンでは複数あるフラグ確認だけを繰り返しており、各処理フラグがＯＮになっていたら、メインルーチンから分岐して各関連処理を実施するように構成されている。
【００３８】
以下、図７の処理フロー例に即して説明する。図７の処理フローは、ローカル側ゲートウェイ装置２１０のネットワーク監視部２１１及び周期通信再生部２１２によって実行される。情報処理システム１が起動されて以後、その稼働中は、図７の処理フローが継続して実行される。まず、ネットワーク監視部２１１は、サーバ１０からのキープアライブ通信のタイマーの処理フラグがＯＮになっているか判定する（Ｓ７０１）。キープアライブ通信のタイマーの処理フラグがＯＮになっていると判定した場合（Ｓ７０１、Ｙｅｓ）、ネットワーク監視部２１１は、サーバ１０とクライアント２０との間のデータ通信の受信ソケットを確認する（Ｓ７０２）。データ通信の受信ソケットを確認した結果、サーバ１０とのコネクションが切断された際に送られるメッセージが届いていると判定した場合（Ｓ７０３、Ｙｅｓ）、ネットワーク監視部２１１は、ローカル側ゲートウェイ装置２１０の適宜の個所に記憶しているネットワークステータスとしてＦａｌｓｅを記録する（Ｓ７０４）。サーバ１０とのコネクションが切断された際に送られるメッセージが届いていないと判定した場合（Ｓ７０３、Ｎｏ）、ネットワーク監視部２１１は、まだサーバ１０とのコネクションが維持されていると判定してネットワークステータスをＴｒｕｅに更新する（Ｓ７０５）。キープアライブ通信のタイマーの処理フラグがＯＮになっていないと判定した場合（Ｓ７０１、Ｎｏ）、ネットワーク監視部２１１は、周期通信再生部２１２にＳ７０６の処理を実行させる。
【００３９】
ローカル側ゲートウェイ装置２１０の周期通信再生部２１２は、サーバ１０の周期通信タイマーの処理フラグがＯＮになったか判定する（Ｓ７０６）。サーバ１０の周期通信タイマーの処理フラグがＯＮになったと判定した場合（Ｓ７０６、Ｙｅｓ）、周期通信再生部２１２は、前述の更新されたネットワークステータスを参照し、ステータスがＴｒｕｅであるか判定する（Ｓ７０７）。ステータスがＴｒｕｅであると判定した場合（Ｓ７０７）、周期通信再生部２１２は周期通信パケット（ハートビートパケット）を生成し、クライアント２０のサーバ・ネットワーク監視部１２５に送信する（Ｓ７０８）。ネットワークステータスがＴｒｕｅでないと判定した場合（Ｓ７０７、Ｎｏ）、及びサーバ１０の周期通信タイマーの処理フラグがＯＮになっていないと判定した場合（Ｓ７０６、Ｎｏ）、周期通信再生部２１２はネットワーク監視部２１１にＳ７０１の処理を実行させる。
【００４０】
なお、前記のように、クラウド側ゲートウェイ装置１６０では、サーバ１０から受信する周期通信パケットを廃棄し、外部通信ネットワーク３０に送出しないという機能を設けることができる。この場合、クラウド側ゲートウェイ装置１６０、ローカル側ゲートウェイ装置２１０の機能を合わせることで、サーバ１０、クライアント２０の既存アプリケーションには変更を加えることなく、クラウド化後も必要となるクライアント２０側のネットワーク監視機能を維持しつつ、周期通信パケットが外部通信ネットワーク３０の通信帯域や通信コストへ与える影響を軽減することができる。
【００４１】
次に、ローカル側ゲートウェイ装置２１０におけるクライアント２０の監視機能に関する処理フローについて説明する。図８は、図６の情報処理システム１におけるローカル側ゲートウェイ装置２１０の機器監視機能の処理フロー例を示す図である。この機器監視機能は、ローカル側ゲートウェイ装置２１０の機器監視部２１３が実行する。
【００４２】
図８に示すとおり、図６にて前述したローカル側ゲートウェイ装置２１０のメインルーチンの中では、クライアント２０の周期通信の周期に即したタイマー（判断ステップＳ８０１）を持つ。
【００４３】
以下、図８の処理フロー例に即して説明する。情報処理システム１が起動されて以後、その稼働中は、図８の処理フローが継続して実行される。まず、機器監視部２１３は、クライアント２０からの周期通信のタイマーの処理フラグがＯＮになっているか判定する（Ｓ８０１）。周期通信のタイマーの処理フラグがＯＮになっていると判定した場合（Ｓ８０１、Ｙｅｓ）、機器監視部２１３は、クライアント２０からの周期通信の受信ソケットを確認する（Ｓ８０２）。周期通信の受信ソケットを確認した結果、クライアント２０の周期通信部１３５からのハートビート信号を受信していると判定した場合（Ｓ８０３、Ｙｅｓ）、機器監視部２１３は、ローカル側ゲートウェイ装置２１０の適宜の個所に記憶しているクライアントステータスとしてＴｒｕｅを記録する（Ｓ８０４）。クライアント２０の周期通信部１３５からのハートビート信号を受信していないと判定した場合（Ｓ８０３、Ｎｏ）、機器監視部２１３は、クライアントステータスとしてＦａｌｓｅを記録する（Ｓ８０５）。次いで、ローカル側ゲートウェイ装置２１０の機器監視部２１３は、クライアントステータスが変更されたか判定し（Ｓ８０６）、変更されたと判定した場合（Ｓ８０６、Ｙｅｓ）、そのことをクラウド側ゲートウェイ装置１６０に通知するために、クラウド側ゲートウェイ装置１６０にステータス情報パケットを送出する（Ｓ８０７）。その後、機器監視部２１３は、Ｓ８０１の処理を実行する。機器監視部２１３が、ステータス情報が変更されていないと判定した場合（Ｓ８０６、Ｎｏ）、同様に、次いでＳ８０１の処理を実行する。
【００４４】
以上の処理により、ローカル側からクラウド側へクライアント２０からの周期通信がそのまま送出されることがないので、外部通信ネットワーク３０の通信帯域を圧迫したり、通信コストを増大させたりすることが防止される。
【００４５】
次に、クラウド側ゲートウェイ装置１６０におけるネットワーク監視及びサーバ監視機能について説明する。図９は、図６の情報処理システム１におけるクラウド側ゲートウェイ装置１６０のネットワーク監視機能及び周期送信機能の処理フロー例を示す図である。
【００４６】
図９に示すとおり、図６にて前述したクラウド側ゲートウェイ装置１６０のメインルーチンの中では、ローカル側ゲートウェイ装置２１０と同様に、クライアント２０からのデータ通信が正常であるかを判定する処理に関連して２種類のタイマーが設けられている。一つはサーバ１０とクライアント２０との間のデータ通信コネクションで用いられるキープアライブ通信の周期に即したタイマー（判定ステップＳ９０１）であり、もう一つはクライアント２０の周期通信の周期に即したタイマー（判定ステップＳ９０６）である。メインルーチン内では各タイマーを確認に行った際、設定時刻と現在時刻とを比較して設定時刻を過ぎていたら処理フラグをＯＮにし、再度タイマーを設定する。メインルーチンでは複数あるフラグ確認だけを繰り返しており、各処理フラグがＯＮになっていたら、メインルーチンから分岐して各関連処理を実施するように構成されている。
【００４７】
以下、図９の処理フロー例に即して説明する。図９の処理フローは、クラウド側ゲートウェイ装置１６０のネットワーク監視部１６１及び周期通信再生部１６２によって実行される。情報処理システム１が起動されて以後、その稼働中は、図９の処理フローが継続して実行される。まず、ネットワーク監視部１６１は、クライアント２０からのキープアライブ通信のタイマーの処理フラグがＯＮになっているか判定する（Ｓ９０１）。キープアライブ通信のタイマーの処理フラグがＯＮになっていると判定した場合（Ｓ９０１、Ｙｅｓ）、ネットワーク監視部１６１は、サーバ１０とクライアント２０との間のデータ通信の受信ソケットを確認する（Ｓ９０２）。以後、Ｓ９０３〜Ｓ９０５の処理は、図７におけるＳ７０３〜Ｓ７０５と同様である。キープアライブ通信のタイマーの処理フラグがＯＮになっていないと判定した場合（Ｓ９０１、Ｎｏ）、ネットワーク監視部１６１は、周期通信再生部１６２にＳ９０６の処理を実行させる。
【００４８】
次いで、クラウド側ゲートウェイ装置１６０の周期通信再生部１６２は、クライアント２０の周期通信タイマーの処理フラグがＯＮになったか判定する（Ｓ９０６）。クライアント２０の周期通信タイマーの処理フラグがＯＮになったと判定した場合（Ｓ９０６、Ｙｅｓ）、周期通信再生部１６２は、クライアントステータスパケットを受信しているか判定する（Ｓ９０７）。クライアントステータスパケットを受信していると判定した場合（Ｓ９０７、Ｙｅｓ）、周期通信再生部１６２は、受信したクライアントステータスパケットの内容に基づいて、クライアントステータスを更新し、次いでＳ９０９の処理を実行する。Ｓ９０７でクライアントステータスパケットを受信していないと判定した場合（Ｓ９０７、Ｎｏ）、周期通信再生部１６２は、Ｓ９０９の処理を実行する。Ｓ９０９において、周期通信再生部１６２は、前述の更新されたネットワークステータス及びクライアントステータスを参照し、いずれのステータスもＴｒｕｅであるか判定する（Ｓ９０９）。いずれのステータスもＴｒｕｅであると判定した場合（Ｓ９０９、Ｙｅｓ）、周期通信再生部１６２は周期通信パケット（ハートビートパケット）を生成し、サーバ１０の機器・ネットワーク監視部１２０に送信し（Ｓ９１０）、ネットワーク監視部１６１に再度Ｓ９０１の処理を実行させる。いずれかのステータスがＴｒｕｅでないと判定した場合にも（Ｓ９０９、Ｎｏ）、ネットワーク監視部１６１に再度Ｓ９０１の処理を実行させる。
以上のクラウド側ゲートウェイ装置１６０の処理フローによれば、ローカル側ゲートウェイ装置２１０の機能と合わせることで、サーバ１０、クライアント２０の既存アプリケーションには変更を加えることなく、クラウド化後も必要となるクライアント２０側のネットワーク監視機能を維持しつつ、周期通信パケットが外部通信ネットワーク３０の通信帯域や通信コストへ与える影響を軽減することができる。
【００４９】
次に、本発明の実施形態のうち、第２の実施例による情報処理システム１について説明する。図１０は、第２の実施例の前提となるクラウド化された情報処理システム１のシステム構成例である。
【００５０】
図１０に例示する情報処理システム１は、クラウドサーバシステムＣＳにあるサーバ１０とローカルサイトＬＳにあるクライアント２０とがＷＡＮ等の外部通信ネットワーク３０によって通信可能に接続されている。そして、サーバ１０のデータ通信部１４０とクライアント２０のデータ通信部１４０との間では、符号５１〜５３によって示す複数のコネクション型通信（例えばＰＰＰ（Point to Point Protocol）による２点間通信接続）を用いてデータ通信が行われる。
【００５１】
情報処理システム１が制御系システムとして使用される場合、ＩＰアドレス等が一連のデータ処理の途中で変更されるのを回避する目的で、キープアライブ通信により、アプリケーションでのデータ処理開始時に接続したコネクションを、そのデータ処理実行期間中継続して維持する必要が生じることがある。また、データ通信部１４０間でのコネクション接続開始時は、サーバ１０とクライアント２０との間のネゴシエーション処理に時間がかかるため、最初のパケットが送信先に送達されるまでに生じる遅延は、一般的にコネクション確立後連続的にパケットが送達される場合の遅延と比べて大きくなる。このため、例えばアラートなど、緊急性の高い信号を送る必要が生じた際、確実に低遅延で送信できるように、サーバ１０とクライアント２０間でアプリケーション開始時に予めコネクションを確立しておき、正常動作時には全くデータのやりとりがなくても、キープアライブ通信により継続的にコネクションを維持し続けるといった通信形態も考えられる。ＷＡＮ等の外部通信ネットワーク３０においては、コネクション毎に経由するルートは異なる可能性があるため、原則として維持するべきコネクションについては、それぞれにキープアライブ通信が必要となる。図１０に例示するシステム構成では、複数のコネクションのキープアライブ通信により生成される大量の周期送信パケットが全て外部通信ネットワーク３０を通るため、前述のように、周期通信パケットが外部通信ネットワーク３０の通信帯域を圧迫したり、通信コストが増大したりするといった、第１の実施例の場合と同様の問題が発生する。
【００５２】
図１１は、図１０の情報処理システム１に本実施例を適用したシステムの全体構成図である。なお、図１０、１１において、サーバ１０、クライアント２０、クラウド側ゲートウェイ装置１６０、ローカル側ゲートウェイ装置２１０は、それぞれ実施例１の場合と同等の構成を有しているが、本実施例の説明に必要ないと考えられる部分は簡単のため省略している。図１１に示すとおり、本実施例の情報処理システム１においては、図１０の前提システムと同様に、サーバ１０をクラウドサーバシステムＣＳに設置し、クライアント２０をローカルサイトＬＳに設置するのに加え、クラウドサーバシステムＣＳのサーバ１０と外部通信ネットワーク３０の間にクラウド側ゲートウェイ装置１６０（通信パケット変換部）を、ローカルサイトＬＳのクライアント２０と外部通信ネットワーク３０との間に、ローカル側ゲートウェイ装置２１０（通信パケット変換部）を、それぞれ設置している。クラウド側ゲートウェイ装置１６０とローカル側ゲートウェイ装置２１０は、互いに協働してＶＰＮ（Virtual Private Network）トンネリング機能を提供するように構成されている。本実施例でのクラウド側ゲートウェイ装置１６０とローカル側ゲートウェイ装置２１０のＶＰＮトンネリング機能は、実施例１の構成における周期通信変換部と周期通信再生部の機能に相当する。ＶＰＮトンネリング機能では、クラウド側ゲートウェイ装置１６０とローカル側ゲートウェイ装置２１０の間にコネクション型の通信５４（例えばＰＰＴＰ（Point to Point Tunneling Protocol）による２点間通信接続）を確立し、サーバ１０とクライアント２０との間の複数のコネクション５１〜５３のパケットをカプセル化した上で、コネクション５４にて送出する。本システム構成では、外部通信ネットワーク３０を通るのは全てコネクション５４のパケットとみなされ、外部通信ネットワーク３０内を経由するルートは全パケットで実質的に全て共通となる。本実施例においては、コネクション５４に対してキープアライブ通信を行い、切断されたらすぐに検出し、再接続を試みる。コネクション５４の接続性を監視することで、実質的にコネクション５１〜５３の外部通信ネットワーク３０における接続性を監視可能となるため、コネクション５１〜５３については、キープアライブ通信のための通信パケット送出頻度を下げることができる。コネクション５１〜５３については、キープアライブ通信のパケット送出頻度を、例えば１〜２時間といった長い周期に設定することで、前記周期通信によって生じるパケットが外部通信ネットワーク３０を通過する頻度および消費する通信帯域を大幅に低減可能である。これにより、外部通信ネットワーク３０を利用する通信費用も増大を防ぐことができる。
【００５３】
以上、本発明についてその実施形態に即して説明したが、本発明はこのような実施形態に限定されるものではなく、その種々の変形例及び等価物をも含むものである。
【符号の説明】
【００５４】
１  情報処理装置    １０  サーバ    １１  プロセッサ    １２  メモリ
１３  補助記憶装置    １４入力装置    １５  出力装置
１６  通信インタフェース    １７  内部バス    ２０  クライアント
３０  通信ネットワーク    ４０  サイト内通信ネットワーク
５１〜５４  データコネクション
１００  アプリケーション    １１０  ＯＳ    １２０  機器・ネットワーク監視部
１２１  機器監視部    １２２  ネットワーク監視部
１２５  サーバ・ネットワーク監視部    １３０，１３５  周期通信部
１４０  データ通信部    １６０  クラウド側ゲートウェイ装置
１６１ネットワーク監視部    １６２  周期通信部    １６３  機器監視部
１６４  ＯＳ    ２００  仮想化機構    ２１０  ローカル側ゲートウェイ装置
２１１  ネットワーク監視部    ２１２  周期通信部    ２１３  機器監視部
２１４  ＯＳ    ＣＳ  クラウドサーバシステム    ＬＳ  ローカルサイト
【図１】
2015060519.tif 000003
【図２】
2015060519.tif 000004
【図３】
2015060519.tif 000005
【図４】
2015060519.tif 000006
【図５】
2015060519.tif 000007
【図６】
2015060519.tif 000008
【図７】
2015060519.tif 000009
【図８】
2015060519.tif 000010
【図９】
2015060519.tif 000011
【図１０】
2015060519.tif 000012
【図１１】
2015060519.tif 000013