(57)【要約】【課題】各アプリケーションの通信に影響を与えることなく、一時的に発生する間欠障害の検出確率を向上させる。【解決手段】ＬＡＮなどのネットワークに接続され、相互に通信が可能な複数のノード１１〜１４において、それぞれのノード１１〜１４には、自ノードが正常に稼働していることを示す生存信号を生成する帯域制御決定部を備える。この帯域制御決定部は、ネットワーク１０を介して受信した生存信号５０に基づいて、ネットワーク１０に送信する自ノードの生存信号５０の送信周期を通信品質に影響を与えない範囲で徐々に短く可変して送信する。【選択図】図１
2014178799.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、相互に通信が可能な複数のノードを有し、
前記ノードは、
自ノードが正常に稼働していることを示す生存信号を生成する生存信号制御部を有し、
前記生存信号制御部は、
前記ネットワークを介して受信した前記生存信号に基づいて、生成した前記生存信号の送信周期を可変して前記ネットワークに送信する、オンライン制御システム。
【請求項２】
請求項１記載のオンライン制御システムにおいて、
前記生存信号制御部が生成する生存信号は、
自ノードの生存信号の送信周期、および前記送信周期が前記ネットワークの帯域に対してどの程度の使用帯域となるかの割合を示す第１の使用帯域を有する第１の受信情報と、他ノードの生存信号の送信周期、および前記送信周期が前記ネットワークの帯域に対してどの程度の使用帯域となるかの割合を示す第２の使用帯域を有する第２の受信情報と、を有し、
前記生存信号制御部は、
前記第１、および前記第２の受信情報から、前記ネットワークに対して全ての前記ノードが送信している前記生存信号が使用する割合を示す生存信号使用帯域を算出し、前記生存信号使用帯域と前記生存信号が使用する使用帯域のしきい値である使用帯域しきい値とを比較し、前記生存信号使用帯域が前記使用帯域しきい値を超えている場合、前記生存信号制御部が生成する生存信号の送信周期を標準送信周期よりも小さくし、前記生存信号使用帯域が前記使用帯域しきい値を超えていない場合、前記生存信号制御部が生成する生存信号の送信周期を前記標準送信周期よりも大きくして送信する、オンライン制御システム。
【請求項３】
請求項２記載のオンライン制御システムにおいて、
前記生存信号制御部は、
前記第１、および前記第２の受信情報から、前記ノード毎に最も大きい値の最大使用帯域をそれぞれ抽出し、抽出したそれぞれの前記最大使用帯域の合計値を前記生存信号使用帯域として算出する、オンライン制御システム。
【請求項４】
請求項２記載のオンライン制御システムにおいて、
前記生存信号制御部が生成する生存信号は、
前記使用帯域しきい値を有し、
前記生存信号制御部は、
前記生存信号が有する前記使用帯域しきい値と前記生存信号使用帯域とを比較する、オンライン制御システム。
【請求項５】
請求項２記載のオンライン制御システムにおいて、
さらに、受信した前記生存信号のうち、前記第１の受信情報を管理する第１の受信情報テーブル、および受信した前記生存信号のうち、前記第２の受信情報を管理する第２の受信情報テーブルをそれぞれ生成する生存信号管理部を有し、
前記生存信号制御部は、
前記生存信号管理部が生成した前記第１、および前記第２の受信情報テーブルから、各ノード毎に最も値が大きい使用帯域を取得し、前記生存信号使用帯域を算出する、オンライン制御システム。
【請求項６】
請求項２記載のオンライン制御システムにおいて、
前記生存信号制御部は、
前記ノードが実行するアプリケーションから送信される情報を監視し、前記アプリケーションから前記情報が送信中、または前記情報の送信準備中であると判断すると、前記生存信号の送信周期を前記標準送信周期に設定して送信する、オンライン制御システム。
【請求項７】
請求項２記載のオンライン制御システムにおいて、
前記生存信号制御部は、
前記ノードの動作状態を監視し、前記ノードが起動して最初に前記生存信号を送信するタイミングと判断すると、最初に送信する前記生存信号を前記標準送信周期に設定して送信する、オンライン制御システム。
【請求項８】
ネットワークに接続され、相互に通信が可能な複数のノードを有するオンライン制御システムによる通信品質検出方法であって、
前記ノードが、
前記ネットワークを介して受信した自ノードが正常に稼働していることを示す生存信号から、前記ネットワークに対して全ての前記ノードが送信している前記生存信号が使用する割合を示す生存信号使用帯域を算出するステップと、
前記生存信号使用帯域が、使用帯域しきい値を超えているか否かを判断するステップと、
前記生存信号使用帯域が、前記使用帯域しきい値を超えている場合、前記生存信号の送信周期を標準送信周期よりも小さくして送信するステップと、
、前記生存信号使用帯域が、前記使用帯域しきい値を超えていない場合、前記生存信号の送信周期を前記標準送信周期よりも大きくして送信するステップと、を有する、通信品質検出方法。
【請求項９】
請求項８記載の通信品質検出方法において、
さらに、前記ノードが、
前記ノードが実行するアプリケーションから情報が送信されるか否かを監視するステップと、
前記アプリケーションから前記情報が送信中、または前記情報の送信準備中であると判断すると、前記生存信号の送信周期を前記標準送信周期に設定して送信するステップと、を有する、通信品質検出方法。
【請求項１０】
請求項８記載の通信品質検出方法において、
さらに、前記ノードが、
前記ノードの動作状態を監視し、前記ノードが起動して最初に前記生存信号を送信するタイミングであるかを監視するステップと、
前記ノードが起動して最初に前記生存信号を送信するタイミングであると判断すると、最初に送信する前記生存信号を前記標準送信周期に設定して送信するステップと、を有する、通信品質検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライン制御システムおよび通信品質検出方法に関し、特に、ネットワークに接続された複数のノード間における通信品質の向上に有効な技術に関する。
【背景技術】
【０００２】
昨今のオンライン制御システムでは、情報と制御の融合やサービス拡大に伴う大規模化、多様化が進み、ネットワーク構成が複雑化しており、一時的に発生するトラフィック過多や機器故障などの把握が困難な事象が発生している。これらは、障害発生、障害復旧といった事象を繰り返す傾向にあり、間欠障害となる。
【０００３】
間欠障害は、多くの場合、時間経過につれて、障害持続時間と発生頻度が増大するために、通信品質が低下して重大障害発生のリスクが大きくなる。したがって、通信品質低下を事前に把握し、早期の間欠障害を検出することが重要となる。
【０００４】
よって、オンライン制御システムでは、トラフィック過多や、機器故障などネットワーク障害を早期に検出することが求められている。この種の障害検出方法の１つとしては、例えば生存信号の欠損による検出技術が知られている。
【０００５】
この生存信号欠損による検出技術は、ＬＡＮ（Local Area Network）などのネットワークに接続された各ノード間で定期的に生存信号の送受信を行い、該生存信号の欠損を検知することで、各ノードが互いの稼動状態や通信品質を監視するものである。
【０００６】
例えば、あるノードから連続して生存信号を受信できない場合には、そのノードは生存信号が送信できないような障害が発生している、あるいは、そのノードへの通信経路上において障害が発生していることを意味する。
【０００７】
また、各ノードが送信する生存信号には、ノード毎に送信通番を付加しており、受信ノードにて、あるノードからの生存信号の通番の連続性が確認できなかった場合、生存信号が欠損し、そのノードへの通信経路上で障害が発生していることを意味する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、上記のようなネットワーク障害の検出技術では、次のような問題点があることが本発明者により見い出された。
【０００９】
上記した生存信号欠損による検出技術においては、各ノードの生存信号の送信周期を短くすることによって、一時的に発生する間欠障害を検出することが可能となる。
【００１０】
しかし、ネットワークに接続された全てのノードが全ノード宛に定期的に生存信号を送信することになるため、接続するノード数が莫大となった場合や全ノードが一斉に起動した場合、生存信号がシステム全体のネットワーク帯域を圧迫してしまうという問題がある。生存信号がネットワーク帯域を圧迫してしまうと、オンライン制御システムの各アプリケーションによる通信を阻害してしまう恐れがある。
【００１１】
そのため、各ノードが送信する生存信号は、オンライン制御システムの各アプリケーションへの通信に影響がないようにシステム毎に考慮し、必要十分に長い周期で送信しなければならない。しかしながら、生存信号の送信周期を長くすることによって、間欠障害の検出確率が低下してしまうという問題がある。
【００１２】
本発明の目的は、各アプリケーションの通信に影響を与えることなく、一時的に発生する間欠障害の検出確率を向上させることのできる技術を提供することにある。
【００１３】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１５】
代表的なオンライン制御システムは、ネットワークに接続され、相互に通信が可能な複数のノードを有する。これらノードは、自ノードが正常に稼働していることを示す生存信号を生成する生存信号制御部をそれぞれ有する。
【００１６】
生存信号制御部は、ネットワークを介して受信した生存信号に基づいて、生成した生存信号の送信周期を可変してネットワークに送信する。
【００１７】
代表的な通信品質検出方法は、ネットワークに接続され、相互に通信が可能な複数のノードを有するオンライン制御システムによるネットワークの通信品質検出技術であり、各々のノードは以下のステップを実行する。
【００１８】
（１）ネットワークを介して受信した自ノードが正常に稼働していることを示す生存信号から、ネットワークに対して全てのノードが送信している生存信号が使用する割合を示す生存信号使用帯域を算出するステップである。
【００１９】
（２）生存信号使用帯域が、使用帯域しきい値を超えているか否かを判断するステップである。
【００２０】
（３）生存信号使用帯域が、使用帯域しきい値を超えている場合、生存信号の送信周期を標準送信周期よりも小さくして送信するステップである。
【００２１】
（４）生存信号使用帯域が、使用帯域しきい値を超えていない場合、生存信号の送信周期を標準送信周期よりも大きくして送信するステップである。
【発明の効果】
【００２２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２３】
アプリケーションの通信に影響を与えることなく、間欠障害の検出確率を向上させることができる。
【００２４】
また、早期にネットワーク通信品質低下の予兆を検出することができる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態によるオンライン制御システムにおける構成の一例を示す説明図である。
【図２】図１のオンライ制御システムに設けられたノードにおける構成の一例を示すブロック図である。
【図３】ノードが有するノード情報テーブルの構成例を示す説明図である。
【図４】各ノードが送信する生存信号の内容の一例を示す説明図である。
【図５】ノードにおける制御の流れの一例を示す説明図である。
【図６】ノードの生存信号管理部による生存信号登録処理の一例を示すフローチャートである。
【図７】ノードの生存信号管理部による他ノード状態情報登録処理の一例を示すフローチャートである。
【図８】ノードの生存信号管理部による生存信号削除処理の一例を示すフローチャートである。
【図９】ノードの帯域制御決定部による送信周期決定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下の実施の形態においては、便宜上その必要があるときは、複数の実施の形態またはセクションに分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００２７】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことはいうまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００２８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２９】
〈本実施の形態の概要〉
本実施の形態では、オンライン制御システムにおけるネットワークに接続された各ノード間で生存信号を取得し、取得した生存信号の情報に基づいて、生存信号の送信間隔をリアルタイムに変更することのできる技術を提案する。
【００３０】
オンライン制御システムにおいて、ネットワークに接続している各ノードが、お互いの通信品質や使用帯域といった情報を含んだ生存信号を送受信する。各ノードは、生存信号に含まれる情報を用いてシステム全体で決められたしきい値にしたがった帯域を利用するよう生存信号の送信周期を計算する。
【００３１】
各ノードは、業務アプリケーション通信中において生存信号を予め定義された送信周期で送信し、業務アプリケーションが通信していない場合には、生存信号の送信周囲を徐々に短くして送信する。一方、システム全体における生存信号の使用帯域の合計が、システム全体で決められたしきい値を超えた場合には、生存信号の送信周囲を徐々に長くして送信する。
【００３２】
以下、上記した概要に基づいて、実施の形態を詳細に説明する。
【００３３】
〈オンライ制御システムの構成例〉
図１は、本実施の形態によるオンライン制御システムにおける構成の一例を示す説明図である。
【００３４】
オンライン制御システム１は、図示するように、複数のノード１１〜１４がネットワーク１０を介して接続されている。ネットワーク１０は、例えば、ＬＡＮなどの通信回線からなる。ノード１１〜１４は、例えば、サーバやパーソナルコンピュータなどからなる。ノード１１〜１４は、業務アプリケーションＡＰ１〜ＡＰ３をそれぞれ実行する。
【００３５】
これらノード１１〜１４には、それぞれＩＰ（Internet Protocol）アドレスが設定されている。ここで、オンライン制御システム１においては、ノード１１に、例えばＩＰアドレスＡが設定されており、ノード１２には、ＩＰアドレスＢが設定されているものとする。また、ノード１３には、例えば、ＩＰアドレスＣが設定されており、ノード１４には、ＩＰアドレスＤが設定されているものとする。
【００３６】
なお、図１では、ネットワーク１０に４つのノードが接続された構成としたが、該ネットワーク１０に接続するノード数はいくつあってもよい。また、各ノードに接続するネットワークは複数であってもよい。
【００３７】
ノード１１〜１４は、ノード情報テーブル４０〜４３をそれぞれ有している。ノード１１〜１４は、業務アプリケーションＡＰ１〜ＡＰ３の業務情報３０、および生存信号５０を送受信する。
【００３８】
生存信号５０は、自ノードが正常に稼働していることを示す信号である。ノード情報テーブル４０〜４３は、他ノードの稼働状況を示す情報を格納する。なお、ノード情報テーブル４０〜４３については、後述する図３において詳細を説明し、生存信号５０については、後述する図４にて詳細を説明する。
【００３９】
業務情報３０は、各業務アプリケーションＡＰ１〜ＡＰ３それぞれに対して独立して業務毎の制御を行う情報を含んだものである。業務情報３０は、業務アプリケーションＡＰ１〜ＡＰ３によって送受信され、業務によっては周期的に送信する場合やイベント的に送信する場合などがある。
【００４０】
〈ノードの構成例〉
図２は、図１のオンライ制御システムに設けられたノード１１における構成の一例を示すブロック図である。なお、図２では、ノード１１の構成例について示しているが、ノード１２〜１４についても同様の構成となっている。
【００４１】
ノード１１は、図示するように、揮発性記憶媒体２１、不揮発性記憶媒体２２、ＣＰＵ（Central Processing Unit）２５、入力装置２３、出力装置２４、通信インタフェース２６、生存信号管理部２７、および生存信号制御部である帯域制御決定部２８を有する。
【００４２】
これら揮発性記憶媒体２１、不揮発性記憶媒体２２、ＣＰＵ２５、入力装置２３、出力装置２４、通信インタフェース２６、生存信号管理部２７、ならびに帯域制御決定部２８は、内部バス２９を介して相互に接続されている。
【００４３】
揮発性記憶媒体２１は、例えばＲＡＭ（Randam Access Memory）などの半導体メモリからなり、不揮発性記憶媒体２２は、フラッシュメモリに例示される半導体メモリやハードディスクドライブ（ＨＤＤ：Hard Disc Drive）などからなる。
【００４４】
不揮発性記憶媒体２２には、業務アプリケーションＡＰ１〜ＡＰ３、およびノード１１の制御を司る制御プログラムなどが格納されている。不揮発性記憶媒体２２は、自ノードの設定情報を格納する。
【００４５】
ここで、不揮発性記憶媒体２２にて格納される自ノードの設定情報は、例えば、自ノードのＩＰアドレス、自ノードの名称、自ノードが生存信号５０を送信する際の標準の送信周期である標準送信周期となる基本送信周期、および自ノードの生存信号５０が使用する帯域のしきい値などである。
【００４６】
揮発性記憶媒体２１は、ノード１１の起動時において、不揮発性記憶媒体２２に格納されている設定情報を読み出し、該設定情報を図３に示すノード情報テーブル４０に登録する。
【００４７】
入力装置２３は、キーボードなどの入力装置であり、出力装置２４は、モニタなどの表示装置である。ＣＰＵ２５は、不揮発性記憶媒体２２に格納されている制御プログラムなどに基づいてノード１１の制御を司る。
【００４８】
通信インタフェース２６は、ネットワーク１０に接続されているノード１２〜１４とのインタフェースであり、図５に示すように、受信部３２と送信部３３とを有する。受信部３２は、ネットワーク１０を介して業務情報３０、および生存信号５０などを受信する。送信部３３は、業務情報３０、および生存信号５０などをネットワーク１０に送信する。
【００４９】
生存信号管理部２７は、生存信号５０に基づいて、揮発性記憶媒体２１に登録されるノード情報テーブル４０の検索、追加、削除、あるいは更新などを行う。帯域制御決定部２８は、生存信号５０と業務情報３０との送信タイミングを制御する。
【００５０】
〈ノード情報テーブルの構成例〉
図３は、ノード１１が有するノード情報テーブル４０の構成例を示す説明図である。なお、図３は、ノード１１が有するノード情報テーブル例を示したが、他のノード１２〜１４についてもノード情報テーブルは、同様のテーブル構成からなる。
【００５１】
ノード情報テーブル４０は、図３（ａ）に示す受信情報テーブル４００と図３（ｂ）に示す他ノード受信情報テーブル４１０とから構成される。
【００５２】
第１の受信情報テーブルである受信情報テーブル４００は、各ノード１１〜１４から送信された生存信号５０を受信し、該生存信号５０の情報を保存するテーブルである。この受信情報テーブル４００のテーブル構成は、例えば、ノード名称、送信元ＩＰアドレス、状態、基本送信周期、送信周期、使用帯域、およびしきい値からなる。
【００５３】
ノード名称４０１は、生存信号５０を送信したノードの名称である。例えば、ノード１１がノード１２から送信された生存信号５０を受信した場合には、ノード名称４０１は”ノード１１”となる。
【００５４】
送信元ＩＰアドレス４０２は、生存信号５０を送信したノードのＩＰアドレスである。ノード１１が生存情報５０を送信した際には、送信元ＩＰアドレス４０２は、”Ａ”となる。
【００５５】
状態４０３は、生存信号５０を送信したノードの状態である。生存信号５０を欠損なく受信している場合には、送信元ノードが稼働中であると判断できるので、”稼働中”という状態となる。また、生存信号５０の送信元ノードが計画停止などにより停止した場合には、”停止中”という状態となる。
【００５６】
計画停止以外であるのに、あるノードから生存信号５０が突然途絶えた場合は、送信元ノード、または送信元ノードへの通信経路上にて何らかの障害が発生したと判断し、”障害”という状態となる。
【００５７】
基本送信周期４０４は、停止していたノードが起動し、生存信号５０の送信を開始する際に、初めに送信する生存信号５０の周期である。この周期は、ノード毎に異なっており、前述した不揮発性記憶媒体２２に格納されている設定情報において設定されている。各ノード１１〜１４は、起動時に、不揮発性記憶媒体２２の設定情報をそれぞれ読み込むことによって、基本送信周期４０４を設定する。
【００５８】
送信周期４０５は、今現在における生存信号５０の送信周期を表す。送信周期４０５は、生存信号５０の送信元ノードが帯域制御決定部２８によって決定した送信周期であり、可変である。
【００５９】
使用帯域４０６は、生存信号５０の送信元となるノードがオンライン制御システム１全体において、どの程度ネットワーク帯域を生存信号５０の周期送信に使用しているかの割合を表す。しきい値４０７は、システム全体で一意に定義されたものであり、生存信号５０が使用する帯域のしきい値である。
【００６０】
〈情報受信テーブルの具体例〉
ここで、図３（ａ）の受信情報テーブル４００をより具体的に説明する。
【００６１】
ノード１１は、オンライン制御システム１全体、つまりネットワーク１０に接続されている全ノード１１〜１４より生存信号５０を受信しており、その内容を受信情報テーブル４００に登録する。例えば、ノード１１の場合、該ノード１１がネットワーク１０に送信した生存信号５０も受信し、登録する。
【００６２】
この図３の受信情報テーブル４００においては、例えば、ノード１４の状態４０３が”停止中”となっており、他のノード１１〜１３の状態４０３が”稼働中”となっていることを表している。
【００６３】
また、システム全体のしきい値４０７は５％であり、そのしきい値４０７を超えないように各ノード１１〜１４が送信周期４０５を変更することによって、実際に使用している帯域である使用帯域４０６を算出している。
【００６４】
〈他ノード受信情報テーブルの具体例〉
図３（ｂ）に示す第２の受信情報テーブルである他ノード受信情報テーブル４１０は、あるノードにおいて、受信した生存信号５０を送信したノードが、現状において他のノードがどのような状態になっているかを保存するテーブルである。
【００６５】
他ノード受信情報テーブル４１０において、受信元ＩＰアドレス４１１は、あるノードが受信した生存信号５０を送信したノードのＩＰアドレスである。ノード名称４１２は、あるノードが受信した生存信号５０を送信したノードからみたノード名称であり、そのノードの状態を表したものが状態４１３である。
【００６６】
同様に、送信周期４１４は、生存信号５０を送信したノードからみて、他ノードが生存信号５０を送信している周期を表す。また、使用帯域４１５は、生存信号５０を送信したノードからみて、他ノードが生存信号５０の送信に使用している帯域を表す。
【００６７】
例えば、図３（ｂ）の他ノード受信情報テーブル４１０がノード１１のものであるとする。ノード１１がノード１２より生存信号５０を受信した場合、ノード１２が受信している生存信号５０は、ノード１１、ノード１３、ノード１４からであり、ノード１１の他ノード受信情報テーブル４１０は、ノード１２が受信した情報となる。
【００６８】
よって、受信元ＩＰアドレス４１１は、ノード１２のＩＰアドレスである”Ｂ”が入り、ノード名称４１２は、それぞれノード１２が受信した生存信号５０の送信元ノード名称である”ノード１１””ノード１３””ノード１４”が入る。また、ノード１２が受信した生存信号５０の送信元ノードの状態４１３、送信周期４１４、使用帯域４１５が入る。
【００６９】
同様にしてノード１１がノード１３より生存信号５０を受信した場合、ノード１３が受信している他ノードの情報にしたがった内容が入る。
【００７０】
図３（ｂ）の例では、ノード１２とノード１３との状態４１３がお互いに”障害”となっており、このことから、ノード１２とノード１３で何らかの障害が発生していることがわかる。
【００７１】
〈生存信号の構成例〉
図４は、各ノード１１〜１４が送信する生存信号５０の内容の一例を示す説明図である。
【００７２】
生存信号５０は、図示するように、送信元ノード情報５００、および複数の他ノード状態情報５１０からなる。生存信号５０は、送信するノードが自ノードのノード情報テーブル４０を参照して作成する。
【００７３】
他ノード状態情報５１０は、自ノードが受信した生存信号５０のノード数分存在する。なお、他ノード状態情報５１０には、自ノードの情報は含めない。つまり、自ノードが送信する生存信号５０を受信していても、他ノード状態情報５１０として生存信号５０に含めない。ただし、自ノードが計画停止などで停止する場合、停止信号として、他ノード状態情報５１０に自ノードの情報を含める。
【００７４】
送信元ノード情報５００は、生存信号５０を送信するノードつまり自ノードの情報が入る。送信元ノード情報５００は、図４の下方に示すように、ノード名称５０１、ＩＰアドレス５０２、生存信号サイズ５０３、基本送信周期５０４、送信周期５０５、第１の使用帯域となる使用帯域５０６、および使用帯域しきい値となるしきい値５０７を有する。
【００７５】
ノード名称５０１は、生存信号５０を送信するノード名称であり、つまりは自ノードのノード名称である。ＩＰアドレス５０２は、生存信号５０を送信するノードのＩＰアドレスであり、つまりは自ノードのＩＰアドレスである。
【００７６】
生存信号サイズ５０３は、自ノードが送信する生存信号５０のサイズである。生存信号サイズ５０３は、他ノード状態情報５１０の数により可変となる。基本送信周期５０４は、自ノードが起動初期時に生存信号５０を送信する周期である。これは各ノードによって任意の値となる。
【００７７】
送信周期５０５は、自ノードの今現在の送信周期を表す。この送信周期は、帯域制御決定部２８によって決定した送信周期であり、可変である。使用帯域５０６は、自ノードの生存信号５０の周期送信にて、システム全体でどの程度のネットワーク帯域を使用しているかを表す。しきい値５０７は、システム全体で一意に定義されたものであり、システム全体で生存信号５０が使用してよい帯域を示すしきい値である。
【００７８】
また、他ノード状態情報５１０においては、他ノード名称５１１、状態５１２、送信周期５１３、および第２の使用帯域となる使用帯域５１４を有する。他ノード名称５１１は、自ノードが受信した生存信号５０の送信元ノードの名称である。
【００７９】
また、状態５１２は、自ノードからみた他ノードの状態を表す。同様に、送信周期５１３および使用帯域５１４もそれぞれ、自ノードからみた他ノードの送信周期と使用帯域である。
【００８０】
〈ノードにおける制御処理例〉
図５は、ノード１１における制御の流れの一例を示す説明図である。
【００８１】
ここでも、図５は、ノード１１の例について示しているが、他のノード１２〜１４についても同様の処理を行うものである。
【００８２】
ノード１１は、通信インタフェース２６の受信部３２を介して業務情報３０を受信する。受信した業務情報３０は、業務アプリケーションＡＰ１〜ＡＰ３によって処理される。ノード１１は、受信部３２を介して他ノード１２〜１４、および自ノード１１が送信した生存信号５０を受信する。受信した生存信号５０は、生存信号管理部２７に入力されて処理される。
【００８３】
生存信号管理部２７は、受信した生存信号５０に基づいて、生存信号登録処理、他ノード状態情報登録処理、および生存信号削除処理をそれぞれ実行する。
【００８４】
生存信号登録処理は、揮発性記憶媒体２１に登録されるノード情報テーブル４０に対して、受信した生存信号５０の送信元のＩＰアドレス５０２をキーとして検索を行う。そして、送信元ノードの情報が存在する場合は更新を行い、送信元ノードの情報が存在しない場合は、送信元ノードの情報を追加する処理である。
【００８５】
他ノード状態情報登録処理は、ノード情報テーブル４０に対して、生存信号５０の送信元のＩＰアドレス５０２と他ノード名称５１１とをキーとして検索を行う。同じ送信元ノードであり、同じ他ノード名称の情報が存在する場合は更新を行い、同じ送信元ノードであり、かつ同じ他ノード名称の情報が存在しない場合は、送信元ノード、および他ノードの情報を追加する処理である。
【００８６】
生存信号削除処理は、生存信号５０が途絶えた場合、ノード情報テーブル４０に対して、送信元のＩＰアドレス５０２をキーとして検索を行い、同じ送信元ノードの情報が存在する場合は削除を行う処理である。
【００８７】
帯域制御決定部２８は、図３に示したノード情報テーブル４０の情報に基づいて、自ノードであるノード１１における生存信号５０を生成し、送信周期決定処理を実行する。この送信周期決定処理は、ノード１１が送信する帯域制御決定部２８が生成した生存信号５０と業務情報３０の送信周期を算出し、自ノード１１の使用帯域を求めることで、生存信号５０と業務情報３０との送信タイミングを制御する。
【００８８】
送信周期決定処理は、ノード情報テーブル４０を参照し、現時点でのネットワーク全体の使用帯域とネットワーク全体として使用可能な上限とするしきい値、および、業務アプリケーションＡＰ１〜ＡＰ３が送信する業務情報３０の送信要求から、生存信号５０と業務情報３０の送信タイミングを計算して送信する。
【００８９】
〈生存信号登録処理の一例〉
図６は、ノード１１の生存信号管理部２７による生存信号登録処理の一例を示すフローチャートである。ここでも、図６は、ノード１１の例について示しているが、他のノード１２〜１４についても同様の処理を行うものである。
【００９０】
まず、他ノードからの生存信号５０を受信し、受信した生存信号５０に停止信号が含まれているかを判断する（ステップＳ１０１）。これは、受信した生存信号５０の他ノード状態情報５１０に生存信号５０を送信したノードの情報が含まれているか否かにより判断できる。
【００９１】
ステップＳ１０１の処理において、停止信号である場合、生存信号管理部２７は、生存信号削除処理にてノード情報テーブル４０を更新する（ステップＳ１１０）。この生存信号削除処理については、後述する図８にて説明する。
【００９２】
停止信号でない場合、すなわち生存信号５０を受信した場合には、自ノード１１の受信情報テーブル４００のレコードを一行ずつ、全レコードに対して走査する（ステップＳ１０２）。
【００９３】
そして、対象となるレコードを選択し、その対象レコードの送信元ＩＰアドレス４０２と生存信号５０の送信元ノード情報５００に含まれるＩＰアドレス５０２とを比較する（ステップＳ１０３）。ステップＳ１０３の処理において、同じＩＰアドレスではない場合には、対象レコードを次のレコードとして、ステップＳ１０２の処理に移行する。
【００９４】
ステップＳ１０３の処理において、比較した結果、同じＩＰアドレスの場合は、生存信号５０を既にその送信元ノードから受信していることを意味しており、受信情報テーブル４００の対象レコードに送信元ノード情報５００の送信周期５０５、および使用帯域５０６を上書き更新する（ステップＳ１０４）。また、生存信号５０を受信したことから、受信情報テーブル４００の状態４０３を”稼動中”として更新する（ステップＳ１０４）。
【００９５】
ここで、ステップＳ１０２の処理において、全レコードを走査し終えて、受信情報テーブル４００の送信元ＩＰアドレス４０２に、生存信号５０の送信元ノード情報５００が存在しない場合には、受信情報テーブル４００に新規レコードとして送信元ノード情報５００を登録する（ステップＳ１０５）。
【００９６】
このステップＳ１０５の処理では、送信元ノード情報５００から、ノード名称５０１、ＩＰアドレス５０２、基本送信周期５０４、送信周期５０５、使用帯域５０６、およびしきい値５０７をそれぞれ、自ノードの受信情報テーブル４００のノード名称４０１、送信元ＩＰアドレス４０２、基本送信周期４０４、送信周期４０５、使用帯域４０６、およびしきい値４０７として、新たにレコードを追加する。また、ステップＳ１０５の処理では、生存信号５０を受信したことから、受信情報テーブル４００の状態４０３を”稼動中”として追加する。
【００９７】
ステップＳ１０４の処理において、受信情報テーブル４００における更新が終了すると、生存信号５０の送信元が自ノードであるか否かを判定する（ステップＳ１０６）。生存信号５０の送信元が自ノードの場合は、生存信号登録処理が終了となる。
【００９８】
また、ステップＳ１０５の処理において受信情報テーブル４００における追加の処理が終了すると、生存信号５０の送信元が自ノードであるか否かを判定する（ステップＳ１０７）。生存信号５０の送信元が自ノードの場合は、生存信号登録処理が終了となる。
【００９９】
ステップＳ１０６の処理において、生存信号５０の送信元が自ノードではない場合には、他ノード状態情報５１０に基づいて他ノード受信情報テーブル４１０の登録更新を行う他ノード状態情報登録処理に移行し（ステップＳ１０８）、生存信号登録処理が終了となる。
【０１００】
同様に、ステップＳ１０７の処理の処理において、生存信号５０の送信元が自ノードではない場合には、他ノード状態情報５１０に基づいて他ノード受信情報テーブル４１０の追加登録を行う他ノード状態情報登録処理に移行し（ステップＳ１０９）、生存信号登録処理が終了となる。
【０１０１】
〈他ノード状態情報登録処理の一例〉
これら他ノード状態情報登録処理については、図７を用いて説明する。
【０１０２】
図７は、ノード１１の生存信号管理部２７による他ノード状態情報登録処理の一例を示すフローチャートである。ここでも、図７は、ノード１１の例について示しているが、他のノード１２〜１４についても同様の処理を行うものである。
【０１０３】
まず、生存信号５０に含まれる他ノード状態情報５１０全てに対して走査を行ったか否かを判定する（ステップＳ２０１）。ステップＳ２０１の処理において、他ノード状態情報５１０全てに対して走査を行っていない場合、対象となる他ノード状態情報５１０を比較対象として、他ノード受信情報テーブル４１０のレコードを一行ずつ、全レコードに対して走査する（ステップＳ２０２）。
【０１０４】
ステップＳ２０２の処理にて対象となるレコードを選択し、その対象レコードの受信元ＩＰアドレス４１１と生存信号５０の送信元ノード情報５００に含まれるＩＰアドレス５０２とを比較する（ステップＳ２０３）。また、他ノード受信情報テーブル４１０のノード名称４１２と生存信号５０の他ノード状態情報５１０に含まれる他ノード名称５１１を比較する（ステップＳ２０３）。ステップＳ２０３の処理において、比較条件全てを満たしていない場合、対象レコードを次のレコードとして、ステップＳ２０２の処理に移行する。
【０１０５】
また、ステップＳ２０３の処理において、比較条件全てを満たしている場合、他ノード受信情報テーブル４１０を更新する（ステップＳ２０４）。
【０１０６】
この更新は、自ノード１１の他ノード受信情報テーブル４１０の対象レコードとなる状態４１３、送信周期４１４、使用帯域４１５に、他ノード状態情報５１０の状態５１２、送信周期５１３、および使用帯域５１４をそれぞれ上書きする。
【０１０７】
ここで、ステップＳ２０２の処理において、全レコードを走査し終えて、他ノード受信情報テーブル４１０に、生存信号５０に含まれる他ノード状態情報５１０が存在しない場合には、他ノード受信情報テーブル４１０に新規レコードとして他ノード状態情報５１０の情報を登録する。
【０１０８】
他ノード状態情報５１０から、他ノード名称５１１、状態５１２、送信周期５１３、および使用帯域５１４を、自ノード１１の他ノード受信情報テーブル４１０のノード名称４１２、状態４１３、送信周期４１４、および使用帯域４１５として、新たにレコードを追加する（ステップＳ２０５）。
【０１０９】
また、受信元ＩＰアドレス４１１は、生存信号５０を送信したノードのＩＰアドレスとなり、生存信号５０の送信元ノード情報５００のＩＰアドレス５０２を登録する。生存信号５０に含まれる全ての他ノード状態情報５１０に対して、ステップＳ２０２〜Ｓ２０５の処理を行い、他ノード状態情報登録処理が終了となる。
【０１１０】
〈生存信号削除処理の一例〉
図８は、ノード１１の生存信号管理部２７による生存信号削除処理の一例を示すフローチャートである。この処理は、図６のステップＳ１０１の処理において停止信号を受信した際に生存信号管理部２７が実行する処理である。なお、図８は、ノード１１の例について示しているが、他のノード１２〜１４についても同様の処理を行うものである。
【０１１１】
まず、停止信号の送信元ノード情報５００に含まれるＩＰアドレス５０２を比較対象とし、受信情報テーブル４００の全レコードを走査する（ステップＳ３０１）。停止信号の送信元ノード情報５００に含まれるＩＰアドレス５０２と受信情報テーブル４００の送信元ＩＰアドレス４０２とを比較し、同じか否かを判定する（ステップＳ３０２）。
【０１１２】
ステップＳ３０２の処理において、ＩＰアドレス５０２と送信元ＩＰアドレス４０２とが異なる場合には、次のレコードに比較対象を移行させ、ステップＳ３０１の処理に戻るる。
【０１１３】
ステップＳ３０２の処理において、ＩＰアドレス５０２と送信元ＩＰアドレス４０２とが同じ場合には、受信情報テーブル４００の対象レコードを更新する（ステップＳ３０３）。このステップＳ３０３の処理では、自ノード１１の受信情報テーブル４００の送信周期４０５、および使用帯域４０６を０、そして状態４０３を”停止中”として上書き更新する。
【０１１４】
ステップＳ３０１の処理において、全てのレコードを検索し、ステップＳ３０２の処理において停止信号の送信元ノード情報５００に含まれるＩＰアドレス５０２と同じである受信情報テーブル４００の送信元ＩＰアドレス４０２のレコードが存在しない場合には、送信元ノード情報５００の追加登録を行う（ステップＳ３０４）。
【０１１５】
このステップＳ３０４の処理では、送信元ノード情報５００におけるノード名称５０１、ＩＰアドレス５０２、基本送信周期５０４、しきい値５０７を、自ノード１１の受信情報テーブル４００のノード名称４０１、送信元ＩＰアドレス４０２、基本送信周期４０４、およびしきい値４０７として、新たにレコードを追加する。また、自ノード１１の受信情報テーブル４００の送信周期４０５、および使用帯域４０６を０、そして状態４０３を”停止中”として追加する（ステップＳ３０４）。
【０１１６】
続いて、ステップＳ３０３の処理、またはステップＳ３０４の処理が終了すると、自ノード１１の他ノード受信情報テーブル４１０の全レコードを走査し（ステップＳ３０５）、他ノード受信情報テーブル４１０の受信元ＩＰアドレス４１１と停止信号の送信元ノード情報５００に含まれるＩＰアドレス５０２とが同じか否かを判定する（ステップＳ３０６）。
【０１１７】
ステップＳ３０６の処理おいて、受信元ＩＰアドレス４１１とＩＰアドレス５０２とが異なる場合には、次のレコードを比較対象とし、ステップＳ３０５の処理に戻る。ステップＳ３０６の処理おいて、受信元ＩＰアドレス４１１とＩＰアドレス５０２とが同じ場合には、他ノード受信情報テーブル４１０の対象レコードを削除する（ステップＳ３０７）。これらステップＳ３０５〜Ｓ３０７の処理は、自ノード１１の他ノード受信情報テーブル４１０における全レコードの走査が終了するまで行われる。
【０１１８】
〈送信周期決定処理の一例〉
図９は、ノード１１の帯域制御決定部２８による送信周期決定処理の一例を示すフローチャートである。この場合も、図９は、ノード１１の例について示しているが、他のノード１２〜１４についても同様の処理を行うものである。
【０１１９】
この帯域制御決定部２８による送信周期決定処理は、生存信号５０を送信するタイミングにて定期的に繰り返される。この送信周期決定処理において計算された、送信周期と使用帯域は次回の送信タイミングまで保持される。
【０１２０】
まず、業務アプリケーションが送信する業務情報３０が送信中か、または送信準備中かを判断する（ステップＳ４０１）。ステップＳ４０１の処理において、業務情報３０が送信中、または送信準備中のいずれでもない場合には、自ノード１１が起動して、初めて生存信号５０を送信するタイミングか否かを判定する（ステップＳ４０２）。
【０１２１】
ステップＳ４０１の処理において、業務情報３０が送信中、または送信準備中の場合、またはステップＳ４０２の処理において自ノード１１が起動して、初めて生存信号５０を送信するタイミングの場合には、自ノード１１の不揮発性記憶媒体２２に保存されている基本送信周期にて業務情報３０を送信する。例えば、基本送信周期３０００ｍｓの場合は、３秒の周期で生存信号５０を送信する。
【０１２２】
この基本送信周期にて送信を行う場合には、使用帯域を計算する（ステップＳ４０３）。この使用帯域の計算式は、式１を用いて算出される。
【０１２３】
【数１】
2014178799.tif 000003
【０１２４】
式１において、接続ＬＡＮ帯域は、自ノード１１が接続するネットワークのＬＡＮ帯域であり、生存信号サイズは、他ノード状態情報５１０の数によって可変となる。
【０１２５】
例えば、送信周期３０００ｍｓ、接続ＬＡＮ帯域が１０Ｍｂｐｓ、生存信号サイズが１０２４ｂｙｔｅとした場合、使用帯域は０．００００４％となる。ステップＳ４０３の処理によって算出された使用帯域は、生存信号５０の使用帯域５０６に付加された後、生存信号５０が基本送信周期にて送信される（ステップＳ４０４）。
【０１２６】
ステップＳ４０２の処理において、自ノード１１が起動して、初めて生存信号５０を送信するタイミングでない場合には、基本送信周期以外にて送信される。この場合、自ノード１１の受信情報テーブル４００、および他ノード受信情報テーブル４１０から、他ノード１２〜１４の使用帯域が最大となる使用帯域をそれぞれ求める（ステップＳ４０５）。
【０１２７】
そして、ステップＳ４０５の処理において求めた他ノード１２〜１４の最大の使用帯域と自ノード１１の最大使用帯域との合計を算出し、その合計値である生存信号使用帯域がノード１１の受信情報テーブル４００におけるしきい値４０７よりも大きいか否かを判断する（ステップＳ４０６）。
【０１２８】
ステップＳ４０６の処理において、生存信号使用帯域である最大使用帯域の合計値が受信情報テーブル４００におけるしきい値４０７を超えている場合には、自ノード１１の現在の使用帯域から予め設定しておいた設定帯域値分を引いた値を使用帯域として決定し、該使用帯域から送信周期を求める（ステップＳ４０７）。そして、生存信号５０は、ステップＳ４０７の処理により求められた送信周期によって送信される（ステップＳ４０８）。
【０１２９】
また、ステップＳ４０６の処理において、最大使用帯域の合計値が受信情報テーブル４００におけるしきい値４０７よりも小さい場合には、自ノード１１の現在の使用帯域から予め設定しておいた設定帯域値分を増加させた値を使用帯域として決定し、該使用帯域から送信周期を求める（ステップＳ４０９）。そして、ステップＳ４０９の処理により生存信号５０は、求められた送信周期によって送信される（ステップＳ４０８）。
【０１３０】
この帯域制御決定部２８による送信周期決定処理は、先に述べたように生存信号５０を送信するタイミングにて定期的に繰り返されるので、業務アプリケーションＡＰ１〜ＡＰ３が通信を行わない場合には、送信する生存信号５０の送信周期を徐々に短くすることが可能となり、早期に通信品質低下を検出することができる。
【０１３１】
ここで、ステップＳ４０７の処理、またはステップＳ４０９の処理において、使用帯域を減少、あるいは増加させる設定帯域値は、例えば、０．１％とする。なお、設定帯域値は、これに限定されるものではなく、０．１％以外であってもよい。
【０１３２】
また、ステップＳ４０７、またはステップＳ４０９の処理において決定された使用帯域から送信周期を算出する計算式は、例えば、式２を用いる。
【０１３３】
【数２】
2014178799.tif 000004
【０１３４】
ここで、式２において、式１と同様に接続ＬＡＮ帯域は、自ノード１１が接続するネットワークのＬＡＮ帯域であり、生存信号サイズは、他ノード状態情報５１０の数によって可変となる。
【０１３５】
このように、各ノード１１〜１４は、業務アプリケーションＡＰ１〜ＡＰ３が通信する場合、生存信号５０を基本送信周期によってそれぞれ送信し、該業務アプリケーションＡＰ１〜ＡＰ３が通信していない場合、生存信号５０の送信周期をネットワーク１０の通信品質に影響を与えない範囲で徐々に短く可変して送信することができる。
【０１３６】
以上により、オンライン制御システム１では、各業務アプリケーションＡＰ１〜ＡＰ３の通信に影響を与えることなく、一時的に発生する間欠障害の検出確率を向上させることができる。それにより、早期にネットワーク通信品質低下の予兆を検出することが可能となる。
【０１３７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１３８】
１  オンライン制御システム
１０  ネットワーク
１１  ノード
１２  ノード
１３  ノード
１４  ノード
２１  揮発性記憶媒体
２２  不揮発性記憶媒体
２３  入力装置
２４  出力装置
２５  ＣＰＵ
２６  通信インタフェース
２７  生存信号管理部
２８  帯域制御決定部
２９  内部バス
３０  業務情報
３２  受信部
３３  送信部
４０  ノード情報テーブル
５０  生存信号
４００  受信情報テーブル
４０１  ノード名称
４０２  送信元ＩＰアドレス
４０３  状態
４０４  基本送信周期
４０５  送信周期
４０６  使用帯域
４０７  しきい値
４１０  他ノード受信情報テーブル
４１１  受信元ＩＰアドレス
４１２  ノード名称
４１３  状態
４１４  送信周期
４１５  使用帯域
５００  送信元ノード情報
５０１  ノード名称
５０２  ＩＰアドレス
５０３  生存信号サイズ
５０４  基本送信周期
５０５  送信周期
５０６  使用帯域
５０７  しきい値
５１０  他ノード状態情報
５１１  他ノード名称
５１２  状態
５１３  送信周期
５１４  使用帯域
ＡＰ１〜ＡＰ３  業務アプリケーション
【図１】
2014178799.tif 000005
【図２】
2014178799.tif 000006
【図３】
2014178799.tif 000007
【図４】
2014178799.tif 000008
【図５】
2014178799.tif 000009
【図６】
2014178799.tif 000010
【図７】
2014178799.tif 000011
【図８】
2014178799.tif 000012
【図９】
2014178799.tif 000013